我正在尝试使用命令行创建(x)秒的静音/空mp3文件。我认为这很简单!
LAME似乎可以执行类似的操作,但是我找不到任何可以实现此操作的内容。
有人能做这样的事吗?
最佳答案
免责声明:这是一种面向unix的方法(尽管sox是跨平台的,并且也应该仅在Windows上完成)。
$ perl silence.pl 3 silence.wav
silence.pl
很短,由于它是公共(public) Realm ,因此我将其包含在此处:#!/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