[Python][Moviepy] 如何在音频末尾添加短暂的静音?

Posted

技术标签:

【中文标题】[Python][Moviepy] 如何在音频末尾添加短暂的静音?【英文标题】:[Python][Moviepy] How to add a short silence in the end of an audio? 【发布时间】:2021-05-10 09:31:25 【问题描述】:

我想在音频剪辑的末尾添加一段短暂的静音持续时间。我在 Moviepy 文档中没有找到任何特定的功能,所以我求助于创建一个 500 毫秒的静音音频文件并将其与原始音频文件连接。

在某些情况下,这种串联会在交叉路口引入明显的故障,我还没有弄清楚原因。通过将连接的音频文件导入 Audacity,我还意识到,Moviepy 在连接时实际上会创建两个音轨。

您是否知道在剪辑末尾添加静音的更好方法,或者有时会出现此故障的原因(根据我的经验,大约每 4 次出现 1 次)?

这是我的代码:

from moviepy.editor import *

temp_audio = "original audio dir"
silence = "silence audio dir"

audio1 = AudioFileClip(temp_audio)                      #original audio file
audio2 = AudioFileClip(silence)                         #silence audio file
final_audio = concatenate_audioclips([audio1,audio2])
final_audio.write_audiofile(output)

我目前正在使用 Python 3.9.5 和 Moviepy 1.0.3

【问题讨论】:

你可以创建一个AudioClip,传入一个只返回0的函数 谢谢,我不知道我能做到这一点!我试过了,但不幸的是我仍然遇到同样的音频故障。这是我使用的代码:silence = AudioClip(make_frame = lambda t: 0, duration = 0.5, fps = 24)。然后我像以前的代码一样连接起来。也许问题在于连接函数 看来使用ffmpeg直接修复了音频故障,所以我暂时使用它: os.system('ffmpeg -i "concat:'+temp_audio+'|'+silence+'" '+输出) 是的,ffmpeg 更适合简单的连接:) 【参考方案1】:

可能是 fps=44100 将工作 。 mp3文件的频率

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于[Python][Moviepy] 如何在音频末尾添加短暂的静音?的主要内容,如果未能解决你的问题,请参考以下文章

在moviepy中组合音频剪辑时的音频帧重复

如何使用Python来提取视频中的音频

如何在moviepy中的图像剪辑上设置音频剪辑?

python moviepy 从视频中提取音频

python moviepy 从视频中提取音频

Python pydub音频处理