我找到了 pyDub,它似乎正是我所需要的:
唯一的问题是产生沉默。pyDub 可以做到这一点吗?
基本上我想要的工作流程是:
- 获取目录中的所有 WAV 文件
- 按文件名顺序将它们拼凑在一起,中间有 1 秒的静音
- 生成结果的单个 MP3
这可能吗?我意识到我可以创建一个静音 WAV 并这样做(间隔 GIF 闪回,有人吗?),但我更喜欢以编程方式生成静音,因为我可能想试验静音的持续时间和/或比特率MP3 的。
我非常感谢任何回应。
pydub 序列由pydub.AudioSegment
实例组成。pydub快速入门文档仅显示如何从文件创建 AudioSegments。
但是,阅读源代码,或者更容易的是,运行pydoc pydub.AudioSequence
显示
pydub.AudioSegment = class AudioSegment(__builtin__.object)
| AudioSegments are *immutable* objects representing segments of audio
| that can be manipulated using python code.
…
| silent(cls, duration=1000) from __builtin__.type
| Generate a silent audio segment.
| duration specified in milliseconds (default: 1000ms).
这将被称为(按照快速入门指南中的用法):
from pydub import AudioSegment
second_of_silence = AudioSegment.silent() # use default
second_of_silence = AudioSegment.silent(duration=1000) # or be explicit
现在second_of_silence
将是一个 AudioSegement 就像song
在示例中一样
song = AudioSegment.from_wav("never_gonna_give_you_up.wav")
并且可以在不需要空白音频文件的情况下进行操作、组合等。