如何在将wav转换为mp3时使用pysox指定比特率

时间:2014-01-26 07:05:00

标签: python audio

我可以使用pysox将wav转换为mp3,使用以下代码:

def process_audio(in_name_wav):
    sox_in_file = pysox.CSoxStream(in_name_wav)
    tof = tempfile.NamedTemporaryFile(delete=False, suffix='.mp3')
    temp_out_file_name = tof.name
    tof.close()
    sox_signal = sox_in_file.get_signal()
    sox_out_file = pysox.CSoxStream(temp_out_file_name, 'w', sox_signal)
    chain = pysox.CEffectsChain(sox_in_file, sox_out_file)
    chain = normalize(chain)
    chain = make_louder(chain)
    chain.flow_effects()
    sox_out_file.close()

我检查了pysox用于生成输出文件的默认比特率是128kbps:

#mp3check -l a.mp3 
a.mp3:
mpeg 1.0 layer 3 44.1kHz 128kbps joint stereo no emph --- orig ----     4:27.46

如何指定我对pysox的比特率选择?

提前致谢。

1 个答案:

答案 0 :(得分:0)

似乎可以通过传递它来通过CEncodingInfo类来完成

http://pythonhosted.org/pysox/reference.html#pysox.CEncodingInfo

使用CEncodingInfo.set_param函数。

您可以创建编码信息,然后将其传递给CSoxStream。