PyDub:结合音频大小错误?

时间:2014-04-15 22:28:56

标签: python python-2.7 audio pydub

我是一名新手程序员,目前正在处理一些代码,其中音频片段被重叠并连接在一起。到目前为止,加入工作完全正常,但是有关叠加的错误似乎存在。

我实际上是从另一个stackoverflow问题中跟随以下代码:

from pydub import AudioSegment

sound1 = AudioSegment.from_file("/path/to/my_sound.wav")
sound2 = AudioSegment.from_file("/path/to/another_sound.wav")

combined = sound1.overlay(sound2)

combined.export("/path/to/combined.wav", format='wav')

并收到以下错误(切除了不重要的部分):

    combined = sound1.overlay(sound2)
  File "C:\Python27\pydub\audio_segment.py", line 565, in overlay
    sample_width))
audioop.error: Size should be 1, 2 or 4
[Finished in 13.0s with exit code 1]

音频文件都是.wav格式,24位(I.E.非立体声),44100 Hz,并且长度相同(2秒长),所以我不确定发生了什么。我检查了所有地方(我通常会想到)的尺寸提及,但我找不到任何东西。 话虽如此,有人能给我一些关于错误信息发生了什么的线索吗?

提前非常感谢。

1 个答案:

答案 0 :(得分:1)

Pydub使用Python StdLib中的波形模块 - 遗憾的是它不支持24位波。

您需要传入8位,16位或32位波形文件:/

当错误消息显示“大小应为1,2或4”时,它指的是每个样本应该是的字节数(1字节== 8位)。 24位是3个字节