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

标签 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的比特率选择?

提前致谢。

最佳答案

似乎可以通过将其传递给CEncodingInfo类来完成

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

使用CEncodingInfo.set_param函数。

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

关于python - 将wav转换为mp3时如何使用pysox指定比特率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21360712/

相关文章:

python - 将 4500 万行文本文件与大约 20 万行文本文件进行比较并从较小的文件中生成不匹配项的最有效方法是什么?

haskell - 使用 Haskell 绑定(bind)保存脉冲音频流

audio - 通过比较测量噪声水平/声音质量

java - 将波形( float 组)作为声音播放

python - Python WinSound:写入wav后出现运行时错误

python - "AssertionError: Torch not compiled with CUDA enabled"尽管升级到 CUDA 版本

python - 在自定义 ansible 模块中隐藏变量输出

python - 如何从 FlaskWTF 的 View 中以自定义方式引发字段错误

audio - sencha Touch中的音频

Python string.join ( list ) 最后一个条目为 "and"