Создать тихий mp3 из командной строки
Я пытаюсь создать тихий / пустой mp3 (х) секунд, используя командную строку. Довольно простая задача, я думал!
Кажется, хромой способен сделать что-то подобное, но я не могу найти ничего, что могло бы привести к этому.
Кто-нибудь смог сделать что-то подобное?
3 ответа
Отказ от ответственности: Это ориентированный на Unix подход (хотя sox является кроссплатформенным и должен делать это только на Windows).
Вам понадобится сокс - "кроссплатформенный швейцарский армейский нож программ обработки звука".
Этот скрипт Perl-оболочки помогает вам генерировать любые секунды молчания: http://www.boutell.com/scripts/silence.html
$ perl silence.pl 3 silence.wav
silence.pl
довольно короткий, поэтому я включаю его здесь, так как это общедоступные домены:
#!/usr/bin/perl
$seconds = $ARGV[0];
$file = $ARGV[1];
if ((!$seconds) || ($file eq "")) {
die "Usage: silence seconds newfilename.wav\n";
}
open(OUT, ">/tmp/$$.dat");
print OUT "; SampleRate 8000\n";
$samples = $seconds * 8000;
for ($i = 0; ($i < $samples); $i++) {
print OUT $i / 8000, "\t0\n";
}
close(OUT);
# Note: I threw away some arguments, which appear in the original
# script, and which did not worked (on OS X at least)
system("sox /tmp/$$.dat -c 2 -r 44100 -e signed-integer $file");
unlink("/tmp/$$.dat");
Тогда просто lame
Это:
$ lame silence.wav silence.mp3
Вы можете использовать эту команду.
ffmpeg -f lavfi -i anullsrc=r=44100:cl=mono -t <seconds> -q:a 9 -acodec libmp3lame out.mp3
+ Изменить <seconds>
на число, указывающее количество секунд тишины, которое вам требуется (например, 60
создам минуту).
sox -n -r 44100 -c 2 silence.wav trim 0.0 3.0
- это создаст 3-секундный файл стерео тишины. Здесь n для обработчика пустых файлов, r - частота дискретизации, а c - количество каналов.
Тогда просто убей это
$ lame silence.wav silence.mp3
Избегайте неудобств создания заголовка wav и позвольте lame обработать необработанный файл:
dd if=/dev/zero bs=1M count=? | lame -r - - > silence.mp3
установка?=2 дает 11 секундный файл (@ стандартные 44 кГц, и т.д... параметры).
Примечание: это было проверено на Unix; Я понимаю, что для окон тоже есть dd и lame.