¿Alguien sabe de una herramienta de línea de comandos * ID3, con soporte para ID3v2 , que puede trabajar en Mac OS X con un esfuerzo razonable? Debe admitir tanto la lectura como la escritura de etiquetas.
( * Quiero poder llamarlo, por ejemplo, desde algunos scripts de Python, por lo que una herramienta GUI no funcionará).
La utilidad id3tool es buena, pero no es compatible con ID3v2 (y, por lo tanto, no funciona tan bien con iTunes). Tuve que compilarlo desde la fuente, pero eso fue bastante sencillo en una Mac con Xcode y herramientas de desarrollo (incluido, en particular, un compilador de C). De todos modos, me gustaría especialmente algo con opciones de línea de comandos similares a id3tool. Aquí hay un ejemplo de etiquetar un archivo:
id3tool -t "Song Title" -r Artist -a "Album Name" -c 2 track-02.mp3
Respuestas:
Si tiene instalado Homebrew (muy recomendable), puede hacer lo siguiente:
Esto instala varias herramientas ID3 de línea de comandos, incluyendo
id3tag
,id3convert
,id3cp
yid3info
. No hay necesidad de python o perl scripting; solo usa comandos de shell regulares.fuente
id3v2
, que es el comando "hacer todo". Le permitirá escribir cualquier etiqueta arbitraria en un archivo.Hay una versión compatible con OS X de la biblioteca id3lib disponible aquí en GitHub . Afirma que admite ID3v1 e ID3v2.
fuente
configure
,make
ymake install
. id3lib consta de 4 archivos binarios separados: id3info (para leer etiquetas), id3tag (para escribir etiquetas), id3convert e id3cp. Todo funciona bien (e iTunes honra las etiquetas v2 escritas con id3tag).add-track-names.py *mp3
oadd-track-numbers.py *mp3
. Las cosas comunes (la mayoría del código) están en un archivo .py separado. Tampoco soy realmente un codificador de Python, por lo que el código probablemente esté lejos de ser "pitónico". :) Pero (re) aprendí mucho cuando lo escribí, y probablemente sea fácil de ampliar si sus necesidades de etiquetado son similares a las mías.El módulo de Python Mutágeno se envía con la herramienta de línea de comandos ID3 llamado mid3v2 reemplazo para id3lib es.
De la documentación de uso:
fuente
sudo pip install mutagen
después de instalar pip consudo easy_install pip
.sudo easy_install mutagen
tambiénEs posible que desee probar id3v2 . Se basa en el id3lib que mencionó Huyz, pero parece ser una mejor herramienta de línea de comandos que aquellos con id3lib. Vuelca fácilmente las etiquetas ID3V2 de los archivos MP3 producidos por iTunes, pero no iTunes produce archivos M4A (como con Apple Lossless).
Si necesita archivos M4A, otra opción es ffmpeg . Su herramienta de línea de comando ffprobe imprime metadatos en los archivos y creo que puede escribir metadatos a través de ffmpeg. Funciona con archivos MP3 y M4A producidos por iTunes. ffprobe puede no mostrar todos los metadatos; mp4v2 es otra buena opción.
Los tres programas se instalan fácilmente a través de Homebrew. En este momento (enero de 2012) ffmpeg requiere gcc para compilar, entonces
brew install --use-gcc ffmpeg
.fuente
Parece que este viejo hilo en Mac OS X Hints podría ser un buen lugar para comenzar. Es de 2003, así que no estoy seguro de si la herramienta de la que están hablando todavía se está desarrollando. También es posible que deba compilarlo usted mismo.
fuente
Siempre hay AppleScript. No soy un gran admirador, pero iTunes es programable y puedes manipular todas las etiquetas mp3 desde allí. Puede invocar Applescript desde la línea de comando utilizando osascript.
fuente
Este sitio: http://dougscripts.com/itunes/ tiene muchas buenas secuencias de comandos y herramientas de línea de comandos que se superponen a iTunes para hacer cosas con su biblioteca de música. Algunos de ellos pueden hacer lo que quieras. Algunas de las herramientas son gratuitas y otras tienen licencia.
fuente
Como se siente cómodo con cli y Python, puedo recomendar algunos módulos Perl en CPAN. MP3 :: Tag, (así como MP3 :: Tag :: ID3v1 y :: ID3v2 y :: Utils), MP3 :: Info, MP3 :: ID3Lib están disponibles para leer y manipular etiquetas ID3.
Si va a search.cpan.org y busca "MP3", ¡encontrará un mundo * de opciones!
(* Donde "mundo" es un conjunto pequeño y limitado de opciones ...)
fuente
Después de haber tenido varios problemas de 'abortar trampa' con id3v2, descubrí eyeD3 , que es un módulo de Python que también existe como herramienta de línea de comandos. Parece que se actualizó más recientemente que algunos de los otros programas mencionados anteriormente.
fuente