问题描述:
在python代码中,用 sox 包将双通道的 mp3 格式的 音频拆分成单通道时,执行会出错。不过如果是 wav 格式的音频就不会出错。
python代码如下:
import sox
remix_dictionary = {1: [1]}
tfm = sox.Transformer()
tfm.remix(remix_dictionary)
is_success = tfm.build(input_filepath=wav_path, output_filepath=out_path)
输出报错如下:
2022-06-10 11:29:25,448 WARNING /usr/local/lib/python3.7/site-packages/sox/file_info.py:255 -
[PID:107]This install of SoX cannot process .mp3 files.
原因分析:
在 mac 中运行改python代码就没有这个问题。不过在 Linux 中运行就会报错,报错的原因就是 Linux 系统的 sox 不支持 .mp3 格式的文件。
解决方案:
在查找了一些资料后,发现安装上 libsox-fmt-mp3 这个库就可以解决这个问题,具体指令如下:
sudo apt-get install sox # 如果本地有sox,就不用再安装
sudo apt-get install libsox-fmt-mp3