2009-06-25 20 views
16

Cuando ejecuto sox directamente desde la línea de comando como;¿Cómo convierto un archivo wav a formato mp3 usando sox?

sox -r 8000 -c 1 <wavfilename> <mp3filename> 

me sale el siguiente mensaje de error:

Medias: formato de archivo de salida desconocida para '747a.mp3': Tipo de archivo 'mp3' no sabe

Mi la máquina está ejecutando el sistema operativo CentOS.

+0

Así que supongo que esto significa que la cuestión es de ninguna manera relacionada con Perl? – innaM

+0

@Manni correcto. –

+0

Entonces, ¿también creo que esto no está relacionado con la programación? – innaM

Respuesta

10

Deberá instalar un codificador de MP3 adecuado, p. LAME, o recompile Sox con soporte liblame.

Esto es independiente de su programación Perl :)

+1

Guess one necesita averiguar cómo hacerlo ... – Scott

4

para CentOS tendrá que volver a compilar SOX (el repositorio de base tiene la srpm SOX) con las bibliotecas libmad y lame-devel instalados (rpmforge tiene los). Una vez eso está hecho, sox -h listará formatos compatibles. Cuando se instalan las bibliotecas mp3,

sox -t wav -r 8000 -c 1 <wavfilename> -t mp3 <mp3filename> 
+3

Consejos para habilitar RpmForge (para instalar libmad-devel y lame-devel): http://wiki.centos.org/AdditionalResources/Repositories/RPMForge Usted También necesitará alsa-lib-devel y libvorbis-devel y alguna información sobre SRPM: http://wiki.centos.org/HowTos/RebuildSRPM –

+1

¿CentOS siempre es un dolor en la parte trasera? – Scott

+0

@SashaYanovets Gracias, gracias ¡gracias! que arregló el "Sox fue compilado sin soporte de codificación mp3" gracias de nuevo –

9

Como alternativa (si todo lo que necesita es para codificar un archivo WAV a MP3) sólo se puede utilizar LAME para lograr los mismos resultados, por ejemplo:

lame -b 32 --resample 8 -a <wavefilename> <mp3filename> 

LAME se puede instalar en CentOS sin problemas usando yum. Primero tendrá el repositorio RPMForge:

rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm 

continuación:

yum install lame 
+0

Muchas gracias. Traté de hacer que los sox trabajaran durante una eternidad, pero esto salió bien de la caja sin complicaciones. Me ahorró probablemente horas tratando de descubrir por qué las soluciones de nadie más funcionaron para mí. – Morgan

Cuestiones relacionadas