如何在 Python 中将 WAV 从立体声转换为单声道?
Posted
技术标签:
【中文标题】如何在 Python 中将 WAV 从立体声转换为单声道?【英文标题】:How can I convert a WAV from stereo to mono in Python? 【发布时间】:2011-07-04 11:33:58 【问题描述】:我不想使用任何其他应用程序(如 sox) - 我想在纯 Python 中执行此操作。安装所需的 Python 库就可以了。
【问题讨论】:
【参考方案1】:如果 WAV 文件是 PCM 编码的,那么您可以使用 wave
。打开源文件和目标文件,读取样本,平均通道,然后写出。
【讨论】:
在我的尝试中似乎不再安装,但能够让 Jiaaro 的 pydub 工作。 没有什么要安装的。它带有 Python。 不需要设置参数。它们将从文件中读取。【参考方案2】:我维护了一个开源库pydub,它使这变得非常简单
from pydub import Audiosegment
sound = AudioSegment.from_wav("/path/to/file.wav")
sound = sound.set_channels(1)
sound.export("/output/path.wav", format="wav")
一个警告:它使用 ffmpeg 来处理音频格式转换,但如果你只使用 wav 它可以是纯 python。
【讨论】:
谢谢!当然应该 set_channels(1) 用于立体声->单声道? 我喜欢简洁的包装。尝试在单声道输出上使用 Google Speech API。与使用 scipy 拆分通道相比,使用 pydub 的转录较低。虽然没有经过系统测试。以上是关于如何在 Python 中将 WAV 从立体声转换为单声道?的主要内容,如果未能解决你的问题,请参考以下文章
在 Python 中用 24 位数据从立体声 wav 文件 wav 中读取单个通道的数据
如何在 iOS 中将 2 个单声道文件转换为一个立体声文件?