GoGPT Best VPN GoSearch

icono de página de OnWorks

mp3info2p - En línea en la nube

Ejecute mp3info2p en el proveedor de alojamiento gratuito OnWorks sobre Ubuntu Online, Fedora Online, el emulador en línea de Windows o el emulador en línea de MAC OS

Este es el comando mp3info2p que se puede ejecutar en el proveedor de alojamiento gratuito OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, el emulador en línea de Windows o el emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


mp3info2 - obtener/establecer etiquetas MP3; utiliza MP3::Tag para obtener los valores predeterminados.

SINOPSIS


# Imprimir la información en etiquetas e información autodeducida
mp3info2 *.mp3

# Además, establezca el campo del año en 1981
mp3info2 -y 1981 *.mp3

# Lo mismo sin impresión de información, recursivamente en el directorio actual
mp3info2 -R -p "" -y 1981 .

# No deduzca ningún campo, imprima información (normalizada) solo de las etiquetas
mp3info2 -C autoinfo=ID3v2,ID3v1 *.mp3

# Como arriba, pero sin normalización/autocompletar, la información sin procesar en las etiquetas
mp3info2 -N *.mp3

# Como arriba, pero solo con lectura de etiqueta ID2v1
mp3info2 -NC autoinfo=ID3v1 *.mp3

# Obtenga el artista de CDDB_File, deduzca automáticamente otra información, escríbala en las etiquetas
mp3info2 -C artista=CDDB_Archivo -u *.mp3

# Para título, prefiera información del archivo .inf; autodeducir resto, actualizar
mp3info2 -C title=Inf,ID3v2,ID3v1,nombre de archivo -u *.mp3

# Lo mismo, y obtenga el artista del archivo CDDB
mp3info2 -C title=Inf,ID3v2,ID3v1,nombre de archivo -C artista=CDDB_File -u *.mp3

# Escribir un script para la conversión de .wav a .mp3, etiquetas autodeducibles
mp3info2 -p "lame -h --vbr-nuevo --tt '%t' --tn %n --ta '%a' --tc '%c' --tl '%l' --ty '% y' '%f'\n" *.wav >xxx.sh

DESCRIPCIÓN


El programa imprime un mensaje que resume la información de la etiqueta (obtenida a través del módulo MP3::Tag) para
archivos especificados.

También puede actualizar la información en las etiquetas ID3. Esto sucede en tres casos diferentes.

· Si la información suministrada en las opciones de la línea de comandos "talygcn" difiere de la
contenido de las etiquetas ID3 correspondientes (o no hay etiquetas ID3 correspondientes).

· Si se dieron las opciones "-d" o "-F".

· si "MP3::Tag" obtiene la información de otros medios que no sean etiquetas MP3, y "-u" fuerza la
actualización de las etiquetas ID3.

(Todas estas formas están deshabilitadas por la opción "-D"). La etiqueta ID3v2 se escribe si es necesario, o si "-2"
se da la opción. (Relleno automático de campos deducibles (a través del método
id3v2_frames_autocompletar()) se realiza a menos que se den las opciones "-d" o "-N".)

La opción "-u" escribe ("u" actualiza) la información obtenida en las etiquetas MP3 ID3. Esta
se asume la opción si hay opciones de línea de comando que establecen explícitamente elementos de etiqueta
("-a", "-t", etc., y "-F", "-d"). (Los efectos de esta opción pueden anularse dando
opción "-D".) Si también se proporciona la opción "-2", fuerza la escritura de la etiqueta ID3v2 incluso si la información
se ajusta a la etiqueta ID3v1 (además, esta opción permite la actualización automática de "nombre personal"
campos y títulos correspondientes según los valores de "translate_person",
"person_frames" etc. ajustes de configuración; ver "Normalización de campos"). Esta opción
se ignora si no se detecta ningún cambio en las etiquetas; sin embargo, uno puede forzar una actualización repitiendo
esta opción (útil si espera cambiar el "formato" de la etiqueta, a diferencia de su
"contenido").

La opción "-p" imprime un mensaje usando el siguiente argumento como formato (por defecto "\\", "\t",
"\n" se reemplazan por barra invertida, tabulador y nueva línea; regido por el valor de la opción "-E");
consulte "interpolar" en MP3::Tag para obtener detalles sobre el formato de sprintf ()-como escapes. Si no
se da la opción "-p", se emitirá el mensaje en el formato predeterminado. El valor de la opción "-e"
es la codificación utilizada para la salida; si el valor es un número, la codificación específica del sistema es
adivinado (y utilizado para la salida si se establece el bit 0x1); si se establece el bit 0x2, entonces, línea de comando
se supone que las opciones están en la codificación adivinada; si se establece el bit 0x4, entonces, línea de comando
Se supone que los argumentos están en la codificación adivinada. Use el valor "binario" para hacer binario
salida.

Con la opción "-D" (ejecución en seco) no se realiza ninguna actualización, sin importar cuáles sean las otras opciones.
Con esta opción, no se realiza ningún análisis de etiquetas a menos que sea necesario.

Opciones de uso

talygcn

para sobrescribir la información (título artista álbum año género comentario pista-número) obtenida
a través de la heurística "MP3::Tag" (el interruptor "-u" está implícito si alguno de estos argumentos difiere
de lo que se encontraría de otro modo; use el interruptor "-D" para deshabilitar la actualización automática). Por defecto,
los valores de estas opciones no están interpolados en "%"; esto se puede cambiar con la opción "-E".

La opción "-d" debe contener la lista separada por comas de marcos ID3v2 para eliminar. A
la especificación de fotogramas es la misma que se podría dar a la interpolación de fotogramas "%{...}"
comando, por ejemplo, "TIT3", "COMM03", "COMM(fra)[título abreviado]"; la diferencia con modificar-
el acceso es ese TODO (y no el first de) los marcos coincidentes se eliminan. (La opción -d puede ser
repetido.)

Por ejemplo, "-d APIC" eliminaría todos los marcos de imagen. Además, si la lista contiene
"ID3v1" ​​o "ID3v2", se eliminarán las etiquetas completas.

Asimismo, la opción "-F" permite configurar tramas "ID3v2" arbitrarias: si se necesita configurar
un marco, use la directiva "FRAME_spec=VALUE":

-F TIT2=El_nuevo_Título

De nuevo, al modificar, TODO los marcos coincidentes se eliminan primero, así que tenga cuidado con

-F COMM=MiComentario

La opción "-F" se puede repetir para establecer más de un cuadro. Si la variable de configuración
"empty-F-deletes" es VERDADERO (predeterminado), los argumentos vacíos eliminarán el marco.

Se puede reemplazar "FRAME_spec=VALOR" por "FRAME_spec < ARCHIVO"; en este caso el valor a establecer
se lee del archivo llamado ARCHIVO; si el marco es solo de texto (es decir: como máximo
Los campos "[codificado] Descripción de idioma de URL de texto" están presentes), el archivo se lee en texto
(y con los espacios en blanco iniciales/posteriores eliminados), de lo contrario, se lee en binario
modo. (Se requieren espacios en blanco sobre los signos "<".) Si "<" se reemplaza por "?<", el
el valor se establece solo si el marco aún no está presente y si el archivo existe; si se reemplaza por ">",
el valor (si está presente) se escribe en ARCHIVO (la creación de directorios intermedios es
controlado por la opción de configuración "frames_write_creates_dirs", el valor predeterminado es FALSO).

Además, "FRAME_spec" puede ser uno de "ID3v1" ​​o "ID3v2" o "TAGS"; en este caso, entero
las etiquetas se escriben o se leen. Por ejemplo, para "ETIQUETAS < ARCHIVO", "título artista álbum año género
la información de la pista de comentarios se calcula a partir de ARCHIVO, que pueden ser etiquetas sin procesar, como se produce con ">",
o un archivo MP3 válido; si Image::ExifTool está presente, los datos pueden leerse de forma arbitraria
archivo multimedia. (Del mismo modo, para "ID3v1 < ARCHIVO", se extrae la misma información de "ID3v1"
solo la etiqueta.) Después de esto, en el caso de "ID3v2" o "ETIQUETAS", los marcos "ID3v2" se copian de la
Etiqueta "ID3v2" una por una. (Con modificaciones adecuadas para "?<".)

De forma predeterminada, el "VALOR" para "-F" está interpolado en "%"; esto se puede cambiar con la opción "-E".
Para comodidad del usuario, formas más amigables para los humanos "compositor, text_by, orquesta, director,
disk_n" se puede utilizar en lugar de "TCOM, TEXT, TPE2, TPE3, TPOS".

La opción "-P RECETA" es una generalización muy poderosa de lo que se puede hacer con las opciones
"-F", "-d" y "-t -a -l -y -g -c -n". Puede repetirse; los valores deben contener el
analizar recetas. Se convierten en el elemento de configuración "parse_data" de "MP3::Tag"; finalmente
esta información es procesada por el módulo MP3::Tag::ParseData (si este último está presente en
la cadena de heurísticas; ver opción "-C"). La "RECETA" se divide en "$flags, $string,
@patterns" en su primer carácter no alfanumérico; el primero de @patterns que coincide
$string se ejecutará (para efectos secundarios). (Ver ejemplos: "EJEMPLOS: analizar
reglas".)

Si se especifica la opción "-G", los nombres de archivo en la línea de comando se consideran globales.
patrones. Esto puede ser útil si la longitud máxima de la línea de comandos es demasiado baja. Con el
Los argumentos de la opción "-R" pueden ser directorios, que se buscan recursivamente para audio
(defecto * .mp3) archivos a procesar; use la opción "-r" para restablecer la expresión regular para buscar
para (el valor predeterminado es "(?i:\.mp3$)").

La opción "-E" controla la expansión de los caracteres de escape. Debe contener las letras de
las opciones de la línea de comandos donde se interpolan "\\, \n, \t"; uno puede agregar las letras
de opciones "talygcn F" que requieren interpolación "%" después del separador "/i:" (por
"-F", solo se interpolan los valores). El valor predeterminado es "p/i:Fp": solo "-p" es
"\" interpolado, y solo "-F" y "-p" están sujetos a la interpolación "%". si todo uno
quiere es add a los valores predeterminados, preceda el valor de "-E" (que contiene opciones añadidas) por
"+". (Algunas partes del valor de la opción "-P" están interpoladas, pero esto debería ser
gobernado por banderas, no "-E"; hacer ponga "P" en la parte interpolada "%" de "-E".)

Si se da la opción "-@", todos los caracteres "@" en las opciones se reemplazan por "%". Esta
puede ser conveniente si el shell trata "%" de manera especial (por ejemplo, shells DOSISH).

Si se da la opción "-I", no hay que hacer conjeturas para artista el campo se realiza al teclear.

La opción "-C CONFIG_OPT=VALUE1,VALUE2..." establece los mismos datos de configuración de "MP3::Tag"
como "MP3::Tag-"config ()> haría (recuerde que el valor es una matriz; elementos separados
por comas si hay más de uno). La opción puede repetirse para establecer más de un valor. Nota
que dado que "ParseData" se usa para procesar recetas de análisis "-P", es mejor mantenerlo
en la configuración "autoinfo" (y campos relacionados "autor", etc.) en presencia de "-P".

Si se da la opción "-x" se imprime la información técnica del archivo de audio
(Nivel de MP3, duración, número de fotogramas, relleno, derechos de autor y la lista de fotogramas ID3v2
nombres en formato adecuado para escapes "%{...}"). Si se repite "-x", el contenido de los marcos es
también impreso (puede generar caracteres no imprimibles, si se repite más de dos veces).

Si se da la opción "-N", todos los "inteligencias" están deshabilitados - no hay normalización de campos
sucede, y (por defecto) ningún intento de deducir los valores de los campos de no ID3
la información está hecha. Esta opción es (actualmente) equivalente a tener "-C
autoinfo=ParseData,ID3v2,ID3v1" ​​como la primera directiva, para no tener
Normalizar::Texto::Music_Fields.pm presente en la ruta @INC, y no llamando autocompletar() método.

Normalización of campos


(La carga del módulo de normalización y todas las operaciones subsiguientes pueden ser deshabilitadas por el
opción "-N", o configurando la variable de entorno "MP3TAG_NORMALIZE_FIELDS" en FALSO.
Si no está prohibido, se intenta cargar el módulo si el directorio ~/.music_fields is
presente, o "MP3TAG_NORMALIZE_FIELDS" está establecido y es VERDADERO).

Si la carga del módulo "Normalize::Text::Music_Fields" tiene éxito, lo siguiente es
aplicable:

Si se define el valor de "MP3TAG_NORMALIZE_FIELDS" y no 1, este valor se divide en
directorios como una RUTA, y la ruta de carga de "Normalize::Text::Music_Fields" está configurada para ser esta
lista de directorios. Luego se instruye MP3::Tag (a través de la configuración correspondiente
settings) para usar los métodos "normalize_artist" (etc.) definidos por este módulo. Estos métodos
puede normalizar ciertos datos de etiquetas. La versión actual define métodos para la "normalización"
de nombres personales y títulos (basados ​​en el compositor). Esta normalización está impulsada
a través de tablas de configuración editables por el usuario.

Además de la normalización automática de datos de etiquetas MP3, se pueden utilizar "archivos MP3 falsos" para
acceder manualmente a algunas características de este módulo. Para esto, use un nombre de archivo vacío y "-D"
opción. P.ej,

mp3info2 -D -a beethoven -p "%a\n" ""
mp3info2 -D -a beethoven -p "%{shP[%a]}\n" ""
mp3info2 -D -a beethoven -t "sonata #28" -p "%t\n" ""
mp3info2 -D -a beethoven -t "allegretto, Bes" -@p "@t\n" ""
mp3info2 -D -a beethoven -t "op93" -@p "@t\n" ""

imprimirá el nombre de persona normalizado para "beethoven", el correspondiente corto normalizado
persona-nombre, y el título normalizado para "sonata #28" del compositor "beethoven". P.ej,
con las tablas de normalización enviadas, imprimirá

Ludwig van Beethoven (1770-1827)
L van Beethoven
Sonata para piano n.° 28 en la mayor; Op. 101 (1816)
Allegretto para trío con piano en si bemol mayor; WoO 39 (1812)
Sinfonía n.° 8 en fa mayor; Op. 93 (comp. 1812, fp Viena, 1814-02-27, cond. Beethoven; pubd. 1816)

La sección solicite of Inteligente


Actualmente, las operaciones se realizan en el siguiente orden

· Eliminación de ID3v1 o ID3v2 como un todo a través de la opción "-d";

· Se configuran las recetas de la opción "-P" (para ser activadas por interpolación);

· La configuración se realiza a través de las opciones "-a/-t/-l/-y/-g/-c/-n";

· Los ajustes realizados a través de la opción "-F";

· Eliminación de fotogramas individuales a través de la opción "-d";

· autocompletar de marcos ID3v2 (id);

· Emite información basada en las opciones "-p" y "-x";

· Activar recetas de "-P" (si no se activa por interpolación);

· Actualice las etiquetas si es necesario.

Uso estrategia: escalada of complejidad


El propósito de este script es hacer que el manejo de las etiquetas ID3 sea tan simple as posible.

En un extremo de la escala, uno puede realizar manipulaciones arbitrariamente complejas con etiquetas usando
Módulo Perl "MP3::Tag".

Por otro lado, es mucho más conveniente manejar las manipulaciones más simples con etiquetas.
usando las opciones de este script "-t -a -l -y -g -c -n" y "-p -F -d". Por un poco más
tareas complicadas, uno puede necesitar usar el método más elaborado de analizar gramaticalmente reglas, previsto
a este script por la opción "-P"; las reglas dependen en gran medida de interpolación, consulte nuestra página,
"interpolar" en MP3::Etiqueta, "interpolar_con_flags" en MP3::Etiqueta.

Para simplificar la actualización de "manipulaciones más simples" a "manipulaciones más elaboradas", aquí
proporcionar "regla de análisis" sinónimos a las opciones más sencillas. Así que si empiezas con "-t -a -l -y
-g -c -n" y "-p -F -d" opciones que "casi funcionan" para usted, tiene una buena oportunidad de ser
podrá lograr plenamente su objetivo modificando los sinónimos que se describen a continuación.

(A continuación, asumimos que la opción "-E" está establecida en su valor predeterminado, por lo que "-F -p" son
"%" interpolado, otras opciones no lo son. Tenga en cuenta también que si la codificación de su TTY es
reconocido por Perl, se recomienda encarecidamente configurar la opción "-e 3"; en proyectiles DOSISH,
mejor use "-@", y reemplace "%" por "@" a continuación).

"-t VALOR"
-P "mz/VALOR/%t"

"-a -l -y -g -c -n"
Igualmente.

"-F" "TIT2=VALOR"
-P "mzi/VALOR/%{TIT2}"

"-F" "APIC[miDescr] < ARCHIVO"
-F "APIC[miDescr]=%{I(fimbB)ARCHIVO}"

or

-P "mzi/%{I(fimbB)ARCHIVO}/%{APIC[miDescr]}"

(elimine "bB" para marcos de solo texto).

"-F" "APIC[miDescr] > ARCHIVO"
-P "bOi,%{APIC[miDescr]},ARCHIVO"

(elimine "b" para marcos de solo texto); o use "-e binary -p "%{APIC[myDescr]}""
con redirección, consulte "EJEMPLOS: reglas de análisis".

"-d" TIT2
-P "m//%{TIT2}"

"-F" "TIT2 ?< ARCHIVO"
Muy engañoso. Esto no establecerá distinguir el archivo vacío y el que no existe:

-P "mzi/%{TIT2:1}0%{I(fFim)FILE}/10/10%{TIT2}/0%{U1}"

(agregue "bB" a "fFim" para marcos que no sean solo de texto); la última parte puede omitirse
si se omite la bandera "m", está presente solo para detectar errores de imprenta.

Para obtener detalles sobre "reglas de análisis", consulte "EJEMPLOS: reglas de análisis" y "DESCRIPCIÓN" en
MP3::Etiqueta::ParseData.

EJEMPLOS: analizar gramaticalmente reglas


Solo la opción "-P" es lo suficientemente complicada como para merecer comentarios... Para detalles completos sobre
analizar gramaticalmente reglas, consulte "DESCRIPCIÓN" en MP3::Tag::ParseData; para obtener detalles completos sobre la interpolación,
ver "interpolar" en MP3::Etiqueta, "interpolar_con_flags" en MP3::Etiqueta.

Para un ejemplo (tonto), uno puede reemplazar "-a Homer -t Iliad" por

-P mz=Homero=%a -P mz=Ilíada=%t

Un ejemplo menos tonto es forzar una forma particular de analizar un nombre de archivo a través de

-P "im=%{d0}/%f=%a/%n %t.%e"

se rompe en

patrón de cadena de banderas 1
"soy" "%{d0}/%f" "%a/%n %t.%e"

Las letras de la bandera representan interpolado, debe coincidir con. Esto interpola la cadena
"%{d0}/%f" y analiza el resultado (que es el nombre del archivo con un nivel del directorio
parte preservada) usando el patrón dado; así el nombre del directorio se convierte en el artista, el
parte numérica inicial: el número de pista y el resto del nombre del archivo (sin extensión)
- el título. Tenga en cuenta que dado que se permiten múltiples patrones, uno puede permitir de manera similar
múltiples formatos de los nombres, por ejemplo

-P "im=%{d0}/%f=%a/%n %t.%e=%a/%t (%y).%e"

permite que el nombre base del archivo también tenga la forma "TÍTULO (AÑO)". Una forma alternativa de
obtener los mismos resultados es

-P "im=%{d0}=%a" -P "im=%f=%n %t.%e=%t (%y).%e"

que corresponde a dos recetas:

banderas cadena patrón1 patrón2
"soy" "%{d0}" "%a"
"soy" "%f" "%n %t.%e" "%t (%y).%e"

Por supuesto, uno podría usar

"soy" "%B" "%n %t" "%t (%y)"

como reemplazo del segundo.

Tenga en cuenta que puede ser más legible establecer artista a "%{d0}" por una asignación explícita, con
argumentos similares a

-E "p/i:Fpa" -a "%{d0}"

(este valor de "-E" solicita la interpolación "%" de la opción "-a" además de la
predeterminado "\"-interpolación de "-p" e "%"-interpolación de "-F" y "-p"; uno puede
abreviarlo con "-E +/i:a").

Para dar más ejemplos,

-P "si=%D/.comentario=%c"

leerá el comentario del archivo .comentario en el directorio del archivo de audio;

-P "ifn=%D/.comentario=%c"

tiene un efecto similar si el archivo .comentario tiene comentarios de una línea, uno por pista (esto supone
el número de pista se puede encontrar por otros medios).

Supongamos que un archivo Partes en un directorio de archivos MP3 tiene el siguiente formato: tiene un
preámbulo, luego tiene un breve párrafo de información por archivo de audio, precedido por la pista
número y punto:

...

12. Recitativo.
(Pizarro, Rocco)

13. Duett: jetzt, Alter, jetzt hat es Eile, (Pizarro, Rocco)

...

El siguiente comando pone esta información en el título de la etiqueta ID3 (siempre que el audio
los nombres de archivo son lo suficientemente informativos para que MP3::Tag pueda deducir el número de pista):

mp3info2 -u -C parse_split='\n(?=\d+\.)' -P 'fl;Partes;%=n. %t'

Si este párrafo de información tiene la forma "TÍTULO (COMENTARIO)" con la parte "COMENTARIO"
siendo opcional, entonces use

mp3info2 -u -C parse_split='\n(?=\d+\.)' -P 'fl;Partes;%=n. %t (%c);%=n. %t'

Si desea eliminar un punto o una coma al final del título, use

mp3info2 -u -C parse_split='\n(?=\d+\.)' \
-P 'fl;Partes;%=n. %t (%c);%=n. %t' -P 'ir;%t;%t[.,]$'

El segundo patrón de esta invocación se convierte en

['iR', '%t' => '%t[.,]$']

que esencialmente aplica la sustitución "s/(.*)[.,]$/$1/s" al título.

Supongamos ahora que además de Partes, tenemos un archivo de texto Comentario con información adicional;
queremos poner esta información en el campo de comentarios después lo que se extrae de "TITLE
(COMENTARIO)"; separe estas dos partes del comentario con una línea vacía:

mp3info2 -EC -C 'parse_split=\n(?=\d+\.)' -C 'parse_join=\n\n' \
-P 'f;Comentario;%c' -P 'fl;Partes;%=n. %t'\
-P 'i;%t///%c;%t (%c)///%c' -P 'iR;%t;%t[.,]$'

Esto supone que el título y el comentario no contienen '///' como subcadena.
Explicación: el primer patrón de "-P",

['f', 'Comentario' => '%c'],

lee el comentario del archivo "Comentario" en el campo de comentarios; el segundo,

['fl', 'Partes' => '%=n. %t'],

lee un fragmento de "Partes" en el campo de título. El tercero

['i', '%t///%c' => '%t (%c)///%c']

reorganiza el título y el comentario provea el título tiene la forma "TÍTULO (COMENTARIO)".
(La opción de configuración "parse_join" se encarga de separar dos partes del comentario
correspondiente a dos ocurrencias de %c en el lado derecho).

Finalmente, el cuarto patrón es el mismo que en el ejemplo anterior; elimina espurias
puntuación al final del título.

Más ejemplos: eliminar la cadena "con violín" desde el inicio del campo de comentarios (eliminar
comentar por completo si no queda nada):

mp3info2 -u -P 'iz;%c;con violín%c' *.mp3

configurar el campo del artista sin permitir que la función de actualización automática deduzca otros campos de
otras fuentes;

mp3info2 -C autoinfo=ParseData -a "AU Thor" *.mp3

establecer un campo de comentario a menos que ya esté presente:

mp3info2 -u -P 'i;%c///con piano;///%c' *.mp3

El último ejemplo muestra cómo escribir "programas" en el lenguaje de la "-P"
opción: el ejemplo da una asignación condicional. Con variables de usuario (como en "%{U8}")
para temporales, y la posibilidad de usar expresiones regulares, uno podría proporcionar
lógica programática. Por supuesto, en algún nivel de complejidad uno debería cambiar mejor a
interfaz directa con el módulo Perl "MP3::Tag" (utilice el código de este script Perl como
¡ejemplo!).

Aquí hay una tarea típica que configura marcos id3v2 "avanzados": compositor ("TCOM"), orquesta
("TPE2"), conductor ("TPE3"). Suponemos un árbol de directorios que contiene archivos MP3 etiquetados
con las siguientes convenciones: "artista" es en realidad un compositor; "comentario" es de uno de
dos formas:

artistas intérpretes o ejecutantes; Orquesta; Conductor
Orquesta; Conductor

Para configurar los marcos MP3 específicos a través de las reglas "-P", use

mp3info2 -@P "mi/@a/@{TCOM}" \
-P "mi/@c/@{U1}; @{TPE2}; @{TPE3}/@{TPE2}; @{TPE3}" -R .

Con las opciones "-F", esto se puede simplificar como

mp3info2 -@F "TCOM=@a" -P "mi/@c/@{U1}; @{TPE2}; @{TPE3}/@{TPE2}; @{TPE3}" -R .

or

mp3info2 -@F "compositor=@a" -P "mi/@c/@{U1}; @{TPE2}; @{TPE3}/@{TPE2}; @{TPE3}" -R .

Para copiar etiquetas ID3 de archivos MP3 en el directorio actual a archivos en el directorio /tmp/mp3 con
la extensión .etiqueta (e imprima "informe de progreso"), use

mp3info2 -p "@N@E\n" -@P "bODi,@{ID3v2}@{ID3v1},/tmp/mp3/@N.tag" -DNR .

Como no usamos el indicador "z", los archivos MP3 sin etiquetas se omiten.

Ahora suponga que hay dos jerarquías de archivos paralelos de archivos de audio y de letras:
los archivos de audio están en audio/nombre_directorio/nombre_audio.mp3 con el correspondiente archivo de letras en
texto/nombre_directorio/nombre_audio.mp3. Para adjuntar letras a archivos MP3 (en el cuadro "COMM" con
descripción "letra" en idioma "eng" - este vídeo is a no estándar ubicación, ver abajo!),
llamar al

mp3info2 -@P "fim;../text/@{d0}/@B.txt;@{COMM(eng)[letras]}" -Ru .

dentro del directorio audio. (Cambie "fim" a "Ffim" para ignorar los archivos de audio para los que
el archivo de texto correspondiente no existe.) (Por supuesto, para seguir las especificaciones,
uno debería haber usado el campo "%{USLT(eng)[]}" en lugar de "%{COMM(eng)[lyrics]}"; ver
abajo para variaciones).

Termine con un ejemplo muy simple: todo lo que el patrón

-P'i;%t;%t'

lo que hace es eliminar los espacios en blanco anteriores y posteriores del título (que se deduce de otras
medio).

+ Info ejemplos


Con la opción "-F", se podría configurar el marco "USLT" como

mp3info2 -@F "USLT(ing)[] < ../text/@{d0}/@B.txt" -Ru .

Imprima dicho marco (en cualquier idioma) con

mp3info2 -@p "@{USLT[]}\n" archivo.mp3

De manera similar, para imprimir el marco APIC con una descripción vacía, use

mp3info2 -e binario -@p "@{APIC[]}" archivo.mp3 > archivo_de_imagen_de_salida

o (con descripción "cubierta")

mp3info2 -@P "bOi,@{APIC[portada]},output_picture_file.jpg" loading="lazy" audio_07.mp3

Para establecer un marco de este tipo desde un archivo xxx.gif (con el "Tipo de imagen" predeterminado, "Cubierta (frontal)",
y descripción vacía), haga uno de

mp3info2 -F "APIC < xxx.gif" archivo.mp3
mp3info2 -@F "APIC[]=@{I(fimbB)xxx.gif}" archivo.mp3

La diferencia de "APIC" y "APIC[]" es que el primero elimina primero todos los marcos "APIC",
y el segundo elimina solo todos los marcos "APIC" con una descripción vacía, pero una imagen arbitraria
escribe. Por lo tanto, puede ser más adecuado utilizar la especificación completa, como en "APIC(Cover
(parte delantera))[]".

Para eliminar marcos "APIC" con descripciones vacías, "Picture Type" arbitrarios (y "MIME
tipos que pueden calcularse correctamente mediante mp3info2, por ejemplo, "TIFF/JPEG/GIF/PNG"), utilice

mp3info2 -d "APIC[]" archivo.mp3

(Tenga en cuenta que esto no liberaría espacio en disco, a menos que la configuración obligue a "reducir"
variable). Para hacer lo mismo solo con el tipo de imagen "Conductor", haga

mp3info2 -d "APIC(Conductor)[]" archivo.mp3

Para escanear a través de subdirectorios y agregar archivos cover.jpg desde el directorio del archivo como un
marco "predeterminado" "APIC", pero solo si no hay un marco "APIC" y existe un archivo, haga

mp3info2 -@F "APIC ?< @D/cover.jpg" loading="lazy" -R .

Esto elimina los marcos vacíos para la fecha, "TCOP, TENC, WXXX[], COMM(eng)[]", y elimina el
0 a la izquierda del número de pista del archivo MP3 en el directorio actual:

mp3info2 -@ -E +/i:y -F "TCOP=@{TCOP}" -F "TENC=@{TENC}"
-F "WXXX[]=@{WXXX[]}" -F "COMM(ing)[]=@{COMM(eng)[]}"
-y "@y" -P "mi/@n/0@n/@n" *.mp3

Ejemplos on tratar con broken codificaciones


Una de las principales debilidades de la especificación ID3 era que requería que los datos fueran
proporcionada en codificación "latin-1". Dado que la mayoría de los idiomas del mundo no se pueden expresar en
"latin-1", esto lleva a que (¿la mayoría?) de las etiquetas ID3 no cumplan con los estándares. Más nuevo
las versiones de las especificaciones corrigieron esta deficiencia, pero el daño ya estaba hecho.
Afortunadamente, este script puede usar las habilidades de "MP3::Tag" para convertir
contenido a uno conforme.

El siguiente ejemplo convierte etiquetas ID3v2 que se escribieron en (no estándar)
codificando "cp1251" para estar en codificación estándar. Para el propósito de este ejemplo,
suponga que las etiquetas ID3v1 están en la misma codificación (y que uno quiere dejarlas en el
codificación "cp1251"); los archivos a procesar se encuentran en el directorio actual y
(recursivamente) en sus subdirectorios (sintaxis "set" para shells DOSISH):

establecer MP3TAG_DECODE_V1_DEFAULT=cp1251
establecer MP3TAG_DECODE_V2_DEFAULT=cp1251
mp3info2 -C id3v2_fix_encoding_on_write=1 -u2R.

Para obtener más información, consulte "ENTORNO" en MP3::Tag, "config" en MP3::Tag y
"PERSONALIZACIÓN" en MP3::Etiqueta.

INCOMPATIBILIDADES con mp3info
Esta herramienta se basa libremente en el programa mp3info; es "principalmente" compatible con versiones anteriores
(especialmente cuando está en modo "ingenuo" a través de "-N"), y permite un superconjunto muy significativo de
funcionalidad. Las incompatibilidades anteriores conocidas son:

-G -h -r -d -x

Funcionalidad faltante:

-f -F -yo

"%" incompatibles-escapes:

%e %E - semántica absolutamente diferente
%v - no tiene ceros finales
%q - tiene parte fraccionaria
%r - es un número, no una palabra "Variable" para VBR
%u - ¿es uno menos (¿solo en presencia del marco descriptor?)

Desaparecido "%"-escapes:

%b%G

Barra invertida escapa: solo se admite "\\", "\n", "\t".

"-x" imprime datos en un formato diferente, no todos los campos están presentes y nombres de etiquetas ID3v2
son de salida.

MEDIO AMBIENTE


Con "-e" 1, 2 o 3, este script puede consultar las variables de entorno "LC_CTYPE, LC_ALL,
LANG" para deducir la codificación actual. Ninguna otra variable de entorno es leída directamente por
este guión.

Sin embargo, tenga en cuenta que el módulo MP3::Tag tiene un amplio conjunto de valores predeterminados para la configuración de codificación.
configurable por variables de entorno; ver "MEDIO AMBIENTE" en MP3::Tag. Entonces estas variables
afectan (indirectamente) cómo funciona este script.

OBSOLETO INTERFAZ


Si no entiende de qué se trata, es seguro ignorar este anuncio:

La forma antigua, pre-version=1.05 (por triplicación de un separador, sin repetición de
opciones) para proporcionar múltiples comandos a las opciones "-F" y <-P> todavía se admite, pero es
fuertemente desaconsejado. (No entra en conflicto con la interfaz actual).

Use mp3info2p en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

Comandos de Linux

Ad




×
Anuncio
❤ ️Compre, reserve o adquiera aquí: sin costo, ayuda a mantener los servicios gratuitos.