2
對於一個項目,我解碼wav文件並使用數據通道中的值。我正在使用節點包「node-wav」。從我所理解的數值應該是成千上萬,但我看到的值在-1和1之間。如果我想要實際值,我是否需要將縮放值乘以某個數字?WAV頻道數據值如何縮放?
我問的部分原因是我還沒有完全理解WAV文件如何存儲必要的數據。
對於一個項目,我解碼wav文件並使用數據通道中的值。我正在使用節點包「node-wav」。從我所理解的數值應該是成千上萬,但我看到的值在-1和1之間。如果我想要實際值,我是否需要將縮放值乘以某個數字?WAV頻道數據值如何縮放?
我問的部分原因是我還沒有完全理解WAV文件如何存儲必要的數據。
我不知道究竟如何Node.js的是,但通常的音頻數據存儲在浮點值,因此它是有道理的,看看它在-1和1
我從網站上拉到什麼之間縮放:
數據格式
數據總是返回Float32Arrays。在支持讀寫64位浮點WAV文件的同時,數據被截斷爲32位浮點數。
和比特序,如果你需要它的一些原因:
字節序
該模塊假定小端的CPU,這對於幾乎每一個處理器這些天是真(特別是英特爾和ARM)。
如果您需要將其從浮點數縮放到固定點整數,則需要將該值乘以位數。例如,如果你想轉換爲16位整數, y = (2^15 - 1) * x
,其中x
是數據值,y
是縮放值。