如何在 Python 中将 4 声道立体声文件转换为单声道,最好使用 pydub?提前致谢
问问题
1849 次
2 回答
3
从 pydub 文档中,我想你可以尝试这样的事情:
from pydub import AudioSegment
song = AudioSegment.from_wav("example.wav") #read wav
song.export("out.wav", parameters=["-ac", "1"]) # export wav (1 channel)
据我了解文档,“参数”的值基于 ffmpeg 文档(音频选项)。因此,您可以使用 ffmpeg 中的所有参数。在这里,我只是将音频通道数设置为 1。
于 2018-01-24T12:18:29.180 回答
1
除了@Patrice 的回答,根据关于repo 的讨论github
pydub
,如果 format 为,则导出返回而不ffmpeg
使用参数执行wav
。
您可能需要进行pydub.AudioSegment
如下修改,以便ffmpeg
使用导出中提供的可选参数实际执行。
换行 600
if format == "wav":
data = out_f
else:
data = NamedTemporaryFile(mode="wb", delete=False)
至:
if format == "wav" and parameters is None:
data = out_f
else:
data = NamedTemporaryFile(mode="wb", delete=False)
第 616 行:
if format == 'wav':
return out_f
至:
if format == 'wav' and parameters is None:
return out_f
然后ffmpeg
接受参数并进行相应的处理。
我没有“quadropphonic”音频样本来测试这个“理论”,如果你可以上传到你的github
问题跟踪器,上面可以测试。让我知道。
于 2018-01-25T16:05:28.200 回答