8 votos

Conversión de WAV a MP3 con LAME y Automator

Me gustaría convertir muchos archivos WAV a archivos MP3 utilizando LAME y Automator. Necesito un script que pueda hacer clic con el botón derecho del ratón en una carpeta y convertir todos los archivos WAV dentro de la carpeta a archivos MP3. He podido encontrar un script para convertir un solo archivo pero no sé cómo modificarlo para poder convertir muchos archivos con un solo clic.

He estado usando script que he encontrado aquí para archivos individuales. Aquí es una pregunta similar pero en vez de usar "Ejecutar Applescript" usa "Ejecutar Shell script". He intentado sustituir los parámetros LAME entre "do" y "done" pero no he conseguido convertir nada.

Entonces, ¿cómo puedo convertir una carpeta llena de archivos WAV en archivos MP3? Para mí no importa si se hace usando Applescript o Shell script en Automator si ambas formas son posibles.

5voto

Jordan W. Puntos 1083

Desgraciadamente, Automator se "cuelga" al intentar utilizar el codificador LAME. Tampoco es eficiente ni aconsejable intentar utilizar un proceso multihilo como servicio de Automator. Para tareas como esta es mejor ejecutar un simple script o utilizar un método alternativo.

El script siguiente codificará un .wav de 20Mb a .mp3 en ¡3 segundos! (con los ajustes de calidad más altos)

file="$1"

find . -name '*.wav' -maxdepth 1 -exec /usr/local/bin/lame -V 0 -q 0 '{}' \;

for file in *.mp3
do
  mv "$file" "${file/wav./}"
done

Para instalarlo, descárgalo y abre el terminal:

sudo install encode-mp3 /usr/local/bin

Para utilizarlo, navegue hasta la carpeta de conversión deseada y escriba:

encode-mp3

Esto codificará tus archivos .wav a .mp3

Convertir .wav a .mp3 | LAME Encoder Shell script [md5: 72d4e24f14ea9139136900f2c4281a7f]


[original]

Acabo de escribir un one-liner que hará esto para usted en la Terminal, sólo cd al directorio de los archivos que desea convertir y entrar:

find ./ -name "*.wav" -execdir lame -V 3 -q 0 {} \;

4voto

Brian Puntos 11

Puede utilizar lo siguiente en la acción "Ejecutar Shell script" de Automator (asegúrese de cambiar "Pasar entrada" por "como argumentos"):

find "$1" -name "*.wav" -execdir /usr/local/bin/lame -V 0 -q 0 {} \;

Esto buscará todos los archivos .wav en la carpeta seleccionada, incluidas las subcarpetas (y omitirá cualquier archivo que no sea wav). Si no quieres que busque en las subcarpetas, puedes cambiarlo por esto:

find "$1" -name "*.wav" -maxdepth 1 -execdir /usr/local/bin/lame -V 0 -q 0 {} \;

Por supuesto, usted cambiaría -V 0 -q 0 a cualquier lame opciones que prefiera.

Si quieres que se te notifique cuando haya terminado, puedes añadir un say utilice una acción "Mostrar notificación de Growl" (si tiene Gruñido instalado), o utilizar un beep en una acción "Ejecutar AppleScript".

A continuación se muestra una captura de pantalla de cómo se ve mi flujo de trabajo con el extra say y la notificación de Growl. También note que cambié la opción "Servicio recibe seleccionado" en la parte superior a "carpetas" (será "texto" por defecto).

Lame WAV to MP3 Batch Conversion

3voto

John M Puntos 6468

El hilo está un poco actualizado, pero para aquellos que puedan encontrarlo útil,

Utilicé la configuración de Automator descrita aquí, y pude evitar que se atascara con la opción -S de lame, por lo que mi comando "Ejecutar Shell script" se ve así:

    find "$1" -name "*.wav" -maxdepth 1 -execdir /usr/bin/lame -b 160 -q 0 -S {} \;

(además, mi cojo ejecutor está en otro lugar)

La opción -S desactiva el informe de progreso de Lames

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X