我希望將波形文件解構爲小塊,以不同的順序重新組合它,然後將其寫入磁盤。 我似乎在重新編譯組件之後出現問題,因此現在我只是嘗試調試此部分,稍後再考慮其他問題。 基本上我讀取原稿的wav成2D numpy的陣列,將其分爲100塊存儲更小的2D numpy的陣列的列表內,然後垂直使用vstack堆疊這些陣列:構建一個wav文件並使用scipy將其寫入磁盤
import scipy.io.wavfile as sciwav
import numpy
[sr,stereo_data] = sciwav.read('filename')
nparts = 100
stereo_parts = list()
part_length = len(stereo_data)/nparts
for i in range(nparts):
start = i*part_length
end = (i+1)*part_length
stereo_parts.append(stereo_data[start:end])
new_data = numpy.array([0,0])
for i in range(nparts):
new_data = numpy.vstack([new_data, stereo_parts[i]])
sciwav.write('new_filename', sr, new_data)
到目前爲止我證實NEW_DATA看起來類似於stereo_data,但有兩個例外: 1.它在開頭填充[0,0]。 2.因爲len(stereo_data)/ nparts沒有餘數沒有分割,所以它縮短了88個樣本。
當我試圖聽到由此產生的new_data eave文件時,我聽到的所有內容都是沉默,我認爲這沒什麼意義。
感謝您的幫助! omer
'stereo_data'和'new_data'的形狀是什麼? – Jaime