使用pyDub生成静默

use*_*227 9 python audio mp3 wav pydub

我找到了pyDub,看起来就像我需要的那样:

http://pydub.com/

唯一的问题是产生沉默.pyDub可以这样做吗?

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

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

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

我非常感谢任何回复.

msw*_*msw 17

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).
Run Code Online (Sandbox Code Playgroud)

这将被称为(遵循快速入门指南中的用法):

from pydub import AudioSegment
second_of_silence = AudioSegment.silent() # use default
second_of_silence = AudioSegment.silent(duration=1000) # or be explicit
Run Code Online (Sandbox Code Playgroud)

现在second_of_silence将是一个AudioSegement,就像song在示例中一样

song = AudioSegment.from_wav("never_gonna_give_you_up.wav")
Run Code Online (Sandbox Code Playgroud)

并且可以操作,编写等,不需要空白音频文件.

  • 作为pydub的作者,我可以验证这应该是接受的答案:) (7认同)
  • @Jiaaro 作为一个刚刚了解 pydub 的人,请允许我补充一下 API 的清晰度;这让我希望能够进行音频合成。 (2认同)