python - PyDub:结合音频大小错误?

标签 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 位(即非立体声)、44100 Hz,并且长度相同(2 秒长),所以我不确定发生了什么。我到处检查(我通常会想到的)提到尺寸,但我找不到。
话虽如此,有人可以给我一些关于错误消息发生了什么的线索吗?

非常感谢提前。

最佳答案

Pydub 使用 Python StdLib 中的 wave 模块 - 不幸的是,它不支持 24 位 wave。

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

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

关于python - PyDub:结合音频大小错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23095712/

相关文章:

python - sys.argv 无输出

python - Matplotlib;使用不同的轴标签制作不同的子图

python - 生成 JSON 输出而不是 key=value CSV

python - 更改 Python 语音识别中的语言

python - Airflow HiveOperator 不工作

audio - Ableton 扭曲算法是如何工作的?

python - Python中的费马大定理算法

Python 对象检查器 GUI

java - 在Java中将.wav文件读取到字节数组

html - 在Chrome和Firefox中播放实时流音频时出现问题