1
我有一個程序循環遍歷一個for循環,並將正弦波保存爲wav文件以創建鍵盤的一系列音調。循環從-int到+ int,並在每次迭代中保存這些WAV文件。唯一的問題是,當它到達x = 2左右時,文件順序會混亂。我不知道爲什麼會發生這種情況,或者如何解決這個問題。以錯誤的順序保存WAV文件
out_int = 0
for x in xrange(-43, 47, 1):
CFreq = CFreq * 2**(x/12.)
out_int += 1
.
.
.
wavdata = np.zeros(len(data), np.int16)
wavdata[:] = data/max(data) * 2**15
wavfile = wave.open("WavFiles/Modes_%02d_.wav" % (out_int), "wb")
Theres很多數據進入這些文件的,這就是爲什麼我猜測它需要更長的時間來產生一些筆記和保存之前的樣品前將其保存。 每個樣品的輸出頻率是正確的,但它們發出聲音。
無論如何要確保代碼先寫入並保存每個文件,然後再進入下一個文件?我嘗試改變循環的順序,從正值變爲負值,但是負值迭代中的樣本被搞亂了。
我意識到,我的文件播放器是不是在玩正確的文件,以及訂單被罰款! –