13

我找到了 pyDub,它似乎正是我所需要的:

http://pydub.com/

唯一的问题是产生沉默。pyDub 可以做到这一点吗?

基本上我想要的工作流程是:

  1. 获取目录中的所有 WAV 文件
  2. 按文件名顺序将它们拼凑在一起,中间有 1 秒的静音
  3. 生成结果的单个 MP3

这可能吗?我意识到我可以创建一个静音 WAV 并这样做(间隔 GIF 闪回,有人吗?),但我更喜欢以编程方式生成静音,因为我可能想试验静音的持续时间和/或比特率MP3 的。

我非常感谢任何回应。

4

1 回答 1

30

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")

并且可以在不需要空白音频文件的情况下进行操作、组合等。

于 2014-05-16T04:12:18.587 回答