2013-06-12 75 views
2

我正嘗試在Python中使用wav文件。 我下載了據說可以完成這項工作的SciPy庫。 要看到它的工作原理,我正在嘗試讀取一個wav文件,然後再次將其寫入磁盤。 出於某種原因,創建的新wav文件與舊版本不相似。使用scipy.io.wavfile讀取wav文件,然後編寫不會重現原始文件

import scipy.io.wavfile as wav 
(rate,sample) = wav.read("/vocal.wav") 
wav.write("/temp.wav", rate, sample) 
+0

有什麼區別?質量? – pypat

+0

如果您讀取'/ temp.wav'文件然後將其寫入另一個臨時文件會發生什麼? –

+0

區別在於temp.wav包含強烈的白噪聲和原始vocal.wav –

回答

1

scipy.io.wavfile.write(文件名,速率,數據):寫一個簡單 壓縮的WAV文件。 (From here

我懷疑你的輸入文件有某種壓縮。

+0

壓縮應該引發異常([wavfile.py源文件(https://github.com/scipy/scipy/blob/v0.17.0/scipy/io/wavfile.py#L39)) –

0

我沒有與SciPy的多少經驗,但根據scipy.io.wavfile.write陣列也被寫入文件預計的int類型值的數組。 scipy.io.wavfile.read表示數組的類型由文件中的數據類型決定。他們可能不一樣。

如果再次讀取寫入的文件並檢查從原始數據讀取的數組是否在轉換爲int後包含相同的日期,那將是件好事。

相關問題