2013-05-31 27 views
2

我想在python 2.6中將16khz的wav文件縮減爲8khz。該文件具有RIFF標題並且處於mulaw格式,並且必須保持該格式。Downsample wav使用python的RIFF文件

我瞥了一眼this big list of python stuff中的一些東西,似乎無法找到一個簡單的庫,它只會改變音頻文件的採樣率。

關於一個好的python庫的任何建議嗎?

+1

在幕後,這是否任何工具將真正從mulaw轉換爲pcm,然後進行SR轉換,然後轉換爲pcm回到mulaw。因此,當你說它必須「保持」在mulaw格式時,你的意思是它必須轉換回那種格式。 (請原諒我揀n) –

回答

1

我結束了在安裝sox,然後通過子進程調用它的採樣率:

from subprocess import Popen, PIPE, STDOUT 
soxCall = '/usr/local/bin/sox ' + infileName + \ 
       ' ' + outfileName + ' rate 8k' 
p = Popen(soxCall, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True) 
0

audioop外觀設計,以滿足您的需求。

支持μ律和看起來像它可以調整audioop.ratecv