Как обрезать тишину и объединить два аудиофайла, используя FFMPEG в одной команде? - PullRequest
0 голосов
/ 16 октября 2018

Я бы хотел обрезать тишину с конца audio1.wav и начала audio2.wav и объединить их, добавив тишину заданной длительности?


ОБНОВЛЕНИЕ


Следующая команда ffmpeg добавляет тишину между двумя файлами wav (из answer ):

ffmpeg -y -i $ in_wav_0 -i $ in_wav_1 -filter_complex "aevalsrc = exprs =0: d = $ pause [тишина], [0: a] [тишина] [1: a] concat = n = 3: v = 0: a = 1 [outa] "-map [outa] $ out_wav

Эта команда обрезает тишину с конца (из ответ ):

ffmpeg -i input.wav -af silenceremove = 1: 0: -50dB input.wav

Как объединить эти две команды с тем, чтобы конкатенация давала фиксированный интервал паузы длительности независимо от молчания, присутствующего в конце и начале оригинальных аудиофайлов соответственно?И желательно одной командой.

1 Ответ

0 голосов
/ 22 октября 2018

Команда принимает in_a_0.wav и in_a_1.wav в качестве ввода и out.wav в качестве вывода.Следующая команда обрезает тишину в конце и начиная с входных файлов соответственно и добавляет 1,5-секундную тишину между ними.

ffmpeg -loglevel verbose -y -i in_a_0.wav -i in_a_1.wav -filter_complex "[0:a] silenceremove=stop_periods=1:stop_duration=1:stop_threshold=-50dB [first], [1:a] silenceremove=start_periods=1:start_duration=0:start_threshold=-50dB [second],aevalsrc=exprs=0:d=1.5[silence],[first] [silence] [second] concat=n=3:v=0:a=1[outa]" -map [outa] out.wav
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...