Me gustaría tener un flujo de trabajo de Automator que convierta FLAC a Mp3. Ahora mismo estoy usando este shell script que funciona bien y preserva las etiquetas ID3:
#!/bin/bash
for f in "$@"; do
[[ "$f" != *.flac ]] && continue
album="$(metaflac --show-tag=album "$f" | sed 's/[^=]*=//')"
artist="$(metaflac --show-tag=artist "$f" | sed 's/[^=]*=//')"
date="$(metaflac --show-tag=date "$f" | sed 's/[^=]*=//')"
title="$(metaflac --show-tag=title "$f" | sed 's/[^=]*=//')"
year="$(metaflac --show-tag=date "$f" | sed 's/[^=]*=//')"
genre="$(metaflac --show-tag=genre "$f" | sed 's/[^=]*=//')"
tracknumber="$(metaflac --show-tag=tracknumber "$f" | sed 's/[^=]*=//')"
flac --decode --stdout "$f" | lame --preset extreme --add-id3v2 --tt "$title" --ta "$artist" --tl "$album" --ty "$year" --tn "$tracknumber" --tg "$genre" - "${f%.flac}.mp3"
done
Desafortunadamente, si pongo esto en "Run Shell script" de Automator no funciona. Primero se queja de unknown command
para metaflac
así que exporté mi PATH
en el script. Si inicio el flujo de trabajo ahora se ejecuta durante un segundo y se hace al instante sin convertir los archivos. Está configurado para esperar Archivos y Carpetas en el Finder.
También encontré esta respuesta Conversión de WAV a MP3 con LAME y Automator pero esto tampoco funciona. Sospecho que find
no tiene en cuenta los espacios en la ruta. Esto tampoco conserva las etiquetas ID3. ¿Podría alguien ayudarme con esto? No tengo mucha experiencia con Automator. No quiero usar iTunes u otras aplicaciones de terceros. Sólo necesito un servicio que pueda ser utilizado con archivos o carpetas.