如何在Python中将音频立体声转换为单声道

3

我不知道如何操作。我需要将立体声音频转换为单声道。

有人能帮助我吗?

我正在使用pygame播放歌曲。

from pygame import mixer  
mixer.init()
mixer.music.load('meh.wav')
mixer.music.play()

1
单声道? 还是立体声 > 单声道左和单声道右? - GiovaniSalazar
是的,完全就是这样... - Davidfranca9
需要使用Python吗?因为你可以像这样仅使用sox:https://www.nesono.com/node/275 - GiovaniSalazar
是的,这是为了大学工作。 - Davidfranca9
如果使用 mixer.init(channels=1) 初始化混音器模块会发生什么? - CodeSurgeon
@Davidfranca9,这些建议对你有用吗? - Lukasz Tracewski
2个回答

3
一般来说,您可以将音频加载到一个形状为 (n, k) 的数组中,其中 n 是通道数,k 是已加载的样本数。通过沿着通道轴进行平均(求和并除以通道数量),您将得到单声道信号。
pygame 中至少有两种方法:
- 如 @CodeSurgeon 所指出的那样,执行 mixer.init(channels=1) -> 文档。 - 使用 mixer.set_num_channels 属性。

0

你可以使用 Praat 的 Python 接口,即 Parselmouth,从立体声音频中得到很好的单声道音频估计。

import parselmouth
from parselmouth import call
monoSound = call(sound,'convert To mono')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接