【问题标题】:Generating Silence with pyDub使用 pyDub 产生沉默
【发布时间】:2014-07-04 17:28:59
【问题描述】:

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

http://pydub.com/

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

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

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

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

我非常感谢任何回复。

【问题讨论】:

  • +1 我确实有间隔 gif 的闪回

标签: python audio mp3 wav pydub


【解决方案1】:

pydub 序列由pydub.AudioSegment 实例组成。 pydub quickstart documentation 只展示了如何从文件中创建 AudioSegments。

但是,阅读the source,或者更容易运行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")

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

【讨论】:

  • 作为 pydub 的作者,我可以验证这应该是公认的答案:)
  • @Jiaaro 作为刚刚了解 pydub 的人,请允许我补充一下 API 的清晰性;这让我希望我有音频合成要做。
  • 非常感谢,msw(以及 Jiaaro 确认答案)!
  • @msw 是否可以将此静音添加到现有音频中?
猜你喜欢
  • 1970-01-01
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多