我是一名新手程序员,目前正在处理一些代码,其中音频片段被重叠并连接在一起。到目前为止,加入工作完全正常,但是有关叠加的错误似乎存在。
我实际上是从另一个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秒长),所以我不确定发生了什么。我检查了所有地方(我通常会想到)的尺寸提及,但我找不到任何东西。 话虽如此,有人能给我一些关于错误信息发生了什么的线索吗?
提前非常感谢。
答案 0 :(得分:1)
Pydub使用Python StdLib中的波形模块 - 遗憾的是它不支持24位波。
您需要传入8位,16位或32位波形文件:/
当错误消息显示“大小应为1,2或4”时,它指的是每个样本应该是的字节数(1字节== 8位)。 24位是3个字节