用Python通过多个通道播放音频
有没有办法在Python中通过左右声道播放两个不同的单声道mp3文件?
我有两个mp3文件,我想把一个通过左边的扬声器播放,另一个通过右边的扬声器播放,想用Python来实现。任何解决方案都可以。如果能跨平台使用那就更好了。有没有人有什么建议?
1 个回答
2
如果你想要一个简单的解决方案,可以下载并试试audiere这个模块。这个模块会打开第一个可用的音频设备:
import audiere
ds = audiere.open_device()
os = ds.open_array(input_array, sampling_frequency)
os.play()
在这里,你的 input_array
应该是一个二维的 numpy 数组,里面的内容是浮点数。比如,你可以把输入的 mp3 文件解压成两个一维数组,分别叫 left
和 right
,然后用 input_array = np.c_[left, right]
把它们合并在一起。因为数据是原始数组,所以你需要指定输入的 sampling_frequency
(采样频率)。如果这两个数组的长度不一样,你需要用零来填充其中一个数组,使它们的长度一致。