是否有任何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
现在应该是由声音0
和1
组成的12秒音频,如果声音0
超过2秒,它将重叠。
问:那里有类似的东西吗?
答案 0 :(得分:2)
首先,您几乎可以只使用标准库。
wave
可以解析并创建WAV文件。它不能做MP3(或你可能关心的AAC或其他文件格式);如果这是一个关键功能,你需要转向第三方库,但有很多选择。 (pymad
是第一个出现在搜索中的人,但您应该在PyPI和/或Google上进行自己的搜索,因为SO不太适合获取推荐和意见。)
audioop
允许您对音频缓冲区执行简单操作 - 没有什么太花哨,但足以规范化,缩放和合并。而且你可以轻松地构建你想要的东西。
如果您想在更高级别执行某些操作,则会对sox
,libavcodec
/ ffmpeg
等知名工具进行绑定。根据我的经验,每次我都有我需要写一些超越快速破解的东西,我找不到任何满足相关许可要求的足够完整,稳定足够的绑定,但同样,你必须自己搜索。或者,也可以使用subprocess
调用命令行工具,这通常要简单得多。