windows - para - tag editor download




Crea un mp3 silencioso desde la línea de comando (2)

Estoy tratando de crear un mp3 silencioso / vacío de (x) segundos usando la línea de comando. ¡Una tarea sencilla, pensé!

Parece cojo es capaz de hacer algo así, pero no puedo encontrar nada que conduzca a lograr esto.

¿Alguien ha sido capaz de hacer algo como esto?


Evite la molestia de crear un encabezado wav y deje que lame maneje un archivo sin formato:

dd if=/dev/zero bs=1M count=? | lame -r - - > silence.mp3

setting? = 2 da un archivo de 11 segundos (@ standard 44KhZ, etc ... parámetros).

Nota: esto fue probado en Unix; Entiendo que también hay dd y cojo para Windows.


Descargo de responsabilidad: este es un enfoque orientado a Unix (aunque sox es multiplataforma y también debe hacerlo en Windows).

  • Necesitarás sox - "la navaja suiza [multiplataforma] de programas de procesamiento de sonido".

  • Esta secuencia de comandos perl de envoltura te ayuda a generar segundos de silencio: http://www.boutell.com/scripts/silence.html

    $ perl silence.pl 3 silence.wav
    

silence.pl es bastante corto, así que lo silence.pl aquí, ya que son dominios públicos:

#!/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");

Entonces simplemente lo lame :

$ lame silence.wav silence.mp3






lame