使用ffmpeg在音频文件中的单词之间添加静音

Adding silence between words in audio file using ffmpeg

我想做的是 concat wav 包含短音频的文件。 我可以 concat 将它们合并到一个文件中,但我试图在特定时间设置每个文件。

目前,我可以 concat 这些文件,但我无法在需要的特定时间放置每个文件。我想也许我可以在他们之间添加适量的沉默并以这种方式解决问题。我是 ffmpeg

的新手

我有一个文件名为 text.txt

的文本文件
file a.wav
file b.wav
file c.wav

我使用这个命令:

ffmpeg -f concat -i text.txt out.mp3

这可行,但是有没有办法在它们之间添加指定的静音分钟数?

我试图将其放入文本文件中,但没有成功:

file a.wav
inpoint 5
outpoint 10
file b.wav
inpoint 10
outpoint 20
file c.wav
inpoint 20
outpoint 25

您可以使用 aevalsrc 过滤器来生成静音音频。然后使用 concat 过滤器将它们全部合并。

这是一个简单的例子:

E:\video\tmp>ffmpeg -i a.wav -i b.wav -filter_complex "aevalsrc=exprs=0:d=5[silence], [0:a] [silence] [1:a] concat=n=3:v=0:a=1[outa]" -map [outa] out.mp3

对于 aevalsrc 过滤器,aevalsrc=exprs=0:d=5[silence]exprs 指定输出值。 d 表示以秒为单位的持续时间。 [silence] 是您的输出标签。此过滤器还支持指定采样率、样本数等。

查看此页面了解详情:

http://www.ffmpeg.org/ffmpeg-filters.html