Convertir WAV a MP3 usando LAME y Automator

6

Me gustaría convertir muchos archivos WAV a archivos MP3 usando LAME y Automator. Necesito un script que pueda hacer clic con el botón derecho 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 un script que encontré aquí para archivos individuales. Aquí es una pregunta similar pero en lugar de usar " Ejecutar Applescript "usa" Ejecutar shell script ". He intentado reemplazar los parámetros LAME entre "hacer" y "hecho", pero no he logrado convertir nada.

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

    
pregunta nqw1 22.08.2011 - 14:22

3 respuestas

4

El automatizador se 'cuelga' cuando intenta utilizar el codificador LAME desafortunadamente Tampoco es eficiente o recomendable probar y usar un proceso de subprocesos múltiples como un Servicio Automator. Para tareas como esta, es mejor ejecutar un script simple o usar un método alternativo.

El script a continuación codificará un .wav de 20Mb a .mp3 en ¡3 segundos! (con la configuración de calidad más alta)

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 instalar, descargar, luego abrir el terminal:

sudo install encode-mp3 /usr/local/bin

Para usar, navegue a la carpeta de conversión deseada y escriba:

encode-mp3

Esto codificará tus archivos .wav a .mp3

Convierta .wav a .mp3 | LAME Codificador Shell Script [md5: 72d4e24f14ea9139136900f2c4281a7f]

  

[original]

     

Acabo de escribir una sola línea que hará esto por ti en la Terminal, solo   Cd al directorio de archivos que desea convertir e ingrese:

find ./ -name "*.wav" -execdir lame -V 3 -q 0 {} \;
    
respondido por el l'L'l 22.08.2011 - 16:02
3

Puede usar lo siguiente en la acción "Ejecutar el script de shell" de Automator (asegúrese de cambiar "Pasar entrada" a "como argumentos"):

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

Esto encontrará todos los archivos .wav en la carpeta seleccionada, incluidas las subcarpetas (y omitir cualquier archivo que no sea wav). Si no desea que se vea en subcarpetas, puede cambiarlo a esto:

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

Por supuesto, cambiarías -V 0 -q 0 a las opciones lame que prefieras.

Si desea que se le notifique cuando haya terminado, puede agregar un comando say , usar la acción "Mostrar notificación de crecimiento" (si tiene Growl instalado), o use un comando 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 comando extra say y la notificación de Growl. También tenga en cuenta que cambié la opción "El servicio recibe seleccionado" en la parte superior a "carpetas" (será "texto" de forma predeterminada).

    
respondido por el joelseph 22.08.2011 - 18:42
3

El hilo está un poco actualizado, pero para aquellos que lo encuentren útil,

Utilicé la configuración de Automator que se describe aquí, y pude evitar que se atasque 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 ejecutivo cojo está en otro lugar)

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

    
respondido por el Oleg 26.03.2012 - 19:08

Lea otras preguntas en las etiquetas