2016-11-15 79 views
-2

我在尋找的東西產生一個「常數」音頻波形,它看起來像這樣:A constant waveform使用python生成「恆定」音頻波形?

我有一組模擬DATAS的:

12766:149 
12786:0 
13339:149 
13359:0 
13721:57 
13741:0 
15249:255 
15269:0 
15822:87 

凡格式爲time_in_ms:amplitue。我嘗試從耳機插孔輸出它們。

我認爲上面顯示的「恆定波形」可以被看作是多個方波的組合,具有不同幅度的非常小的頻率,並且持續20ms。

這可能嗎?有什麼我可以做到這一點?

回答

1

我想你可以簡單地使用wave模塊將原始PCM音頻幀寫入.wav文件... https://docs.python.org/3/library/wave.html如果你的幅度範圍從0到255,那麼創建一個帶寬爲1的wav文件可能是最容易的字節),並將幅度作爲字節寫入採樣幀。

with wave.open("test.wav","w") as w: 
    w.setnchannels(1) 
    w.setsampwidth(1) 
    w.setframerate(4000) # 4000 samples/sec 
    w.writeframes(bytearray([100]*4000)) # 4000 samples of amplitude 100 

上面創建一個小的文件「test.wav」是恆定幅度100變化的單8位的音頻波形的代碼相應地寫入從輸入文件的振幅值,調整採樣率要求