Python中的连接和重叠声音

Python中的连接和重叠声音,python,audio,wav,Python,Audio,Wav,是否有任何Python工具/库允许我操作声音文件(wav/mp3) 所需的操作包括: 创建一个新的音频文件 将声音放置在具有指定音量级别的时间线上,允许它们重叠 理想工具的使用方式如下: result = AudioFile(12) # New 12 sec audio file sounds = [load_sound(fname) for fname in soundfiles] result.add(sounds[0], start_time=0) result.add(sou

是否有任何Python工具/库允许我操作声音文件(
wav
/
mp3

所需的操作包括:

  • 创建一个新的音频文件
  • 将声音放置在具有指定音量级别的时间线上,允许它们重叠
理想工具的使用方式如下:

result = AudioFile(12)   # New 12 sec audio file

sounds = [load_sound(fname) for fname in soundfiles]

result.add(sounds[0], start_time=0)
result.add(sounds[1], start_time=2, volume_level=0.6)

result.save('result.wav')
result.wav
现在应该是一个12秒的音频,由声音
0
1
组成,如果声音
0
超过2秒,它们将重叠


Q:有类似的东西吗?

首先,您几乎可以只使用标准库就可以做到这一点

可以解析和创建WAV文件。它不能播放MP3(或AAC或其他你可能关心的文件格式);如果这是一个关键特性,您需要求助于第三方库,但有很多选择。(这是第一个出现在搜索中的,但你应该在PyPI和/或谷歌上自己搜索,因为这样不太适合获得推荐和意见。)

允许您在音频缓冲区上执行简单的操作—没有什么特别之处,但足以进行规范化、缩放和合并。你可以很容易地从中构建出你想要的东西

如果你想在更高的层次上做事情,有一些著名工具的绑定,比如
sox
libavcodec
/
ffmpeg
,等等。根据我的经验,每次我需要写一些超出快速破解的东西时,我都找不到足够完整的东西,足够稳定的绑定满足相关的许可要求,但同样,您必须自己搜索。或者,也可以通过
子流程
调用命令行工具,这通常要简单得多