Me gustaría tener un flujo de trabajo de Automator que convierte FLAC a Mp3. Ahora mismo estoy usando este script de shell 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 "Ejecutar Shell Script" de Automator, no funcionará.
Primero se quejó de unknown command
para metaflac
, así que exporté mi PATH
en el script. Si comienzo el flujo de trabajo, ahora se ejecuta por un segundo y se realiza de forma instantánea 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 conocimiento de los espacios en la ruta. Esto también no conserva las etiquetas ID3.
¿Alguien podría ayudarme con esto? No tengo mucha experiencia con Automator en absoluto. No quiero usar iTunes u otras aplicaciones de terceros. Solo necesito un servicio que pueda usarse con archivos o carpetas.