我已經使用scipy.io.wavfile的寫入功能來生成.wav文件。寫入.wav文件
final_out = np.int16(stereo_out/np.max(np.abs(stereo_out)) * 32767)
write('final.wav', fs, final_out)
是否有任何替代函數用於寫入,允許超過32767個採樣?
我已經使用scipy.io.wavfile的寫入功能來生成.wav文件。寫入.wav文件
final_out = np.int16(stereo_out/np.max(np.abs(stereo_out)) * 32767)
write('final.wav', fs, final_out)
是否有任何替代函數用於寫入,允許超過32767個採樣?
有不限於可以寫入wav文件scipy.io.wavfile
的樣本數量。採樣數的actual limitation是2^32(4,294,967,296),但它來自這樣一個事實,即標頭將採樣數存儲爲32位無符號整數。
然而,WAV格式將每個採樣的幅度存儲在16位中。
對於有符號整數的16位數字,只能存儲[-32768,32767]範圍內的數字,因此需要相應地縮放信號以適應該範圍。
您可以將該數字視爲系統可產生的最高振幅的分數(比率)。
您可以查看Python標準庫中的wave module。它可能允許您編寫超過32767個樣本,但我不確定在嘗試使用它時可能遇到什麼限制。
感謝您的詳細解釋! :) – Pallavi