GoGPT Best VPN GoSearch

OnWorks-Favicon

mp3info2p – Online in der Cloud

Führen Sie mp3info2p im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl mp3info2p, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


mp3info2 – MP3-Tags abrufen/setzen; verwendet MP3::Tag, um Standardwerte zu erhalten.

ZUSAMMENFASSUNG


# Drucken Sie die Informationen in Tags und automatisch abgeleiteten Informationen aus
mp3info2 *.mp3

# Stellen Sie außerdem das Jahresfeld auf 1981 ein
mp3info2 -y 1981 *.mp3

# Das Gleiche ohne Ausdruck der Informationen, rekursiv im aktuellen Verzeichnis
mp3info2 -R -p "" -y 1981 .

# Leiten Sie kein Feld ab, drucken Sie (normalisierte) Informationen nur aus den Tags
mp3info2 -C autoinfo=ID3v2,ID3v1 *.mp3

# Wie oben, jedoch ohne Normalisierung/Autofill, die Rohinformationen in Tags
mp3info2 -N *.mp3

# Wie oben, jedoch nur mit gelesenem ID2v1-Tag
mp3info2 -NC autoinfo=ID3v1 *.mp3

# Künstler aus CDDB_File abrufen, andere Informationen automatisch ableiten und in Tags schreiben
mp3info2 -C artist=CDDB_File -u *.mp3

# Für den Titel bevorzugen Sie Informationen aus der .inf-Datei; Rest automatisch ableiten, aktualisieren
mp3info2 -C title=Inf,ID3v2,ID3v1,Dateiname -u *.mp3

# Dasselbe und den Interpreten aus der CDDB-Datei abrufen
mp3info2 -C title=Inf,ID3v2,ID3v1,Dateiname -C artist=CDDB_File -u *.mp3

# Schreiben Sie ein Skript für die Konvertierung von .wav in .mp3, wobei Tags automatisch abgeleitet werden
mp3info2 -p "lame -h --vbr-new --tt '%t' --tn %n --ta '%a' --tc '%c' --tl '%l' --ty '% y' '%f'\n" *.wav >xxx.sh

BESCHREIBUNG


Das Programm druckt eine Nachricht mit einer Zusammenfassung der Tag-Informationen (erhalten über das MP3::Tag-Modul) für
angegebenen Dateien.

Es kann auch die Informationen in ID3-Tags aktualisieren. Dies geschieht in drei verschiedenen Fällen.

· Wenn die in den Befehlszeilenoptionen „talygcn“ bereitgestellten Informationen von den abweichen
Inhalt der entsprechenden ID3-Tags (oder es gibt keine entsprechenden ID3-Tags).

· Wenn die Optionen „-d“ oder „-F“ angegeben wurden.

· wenn „MP3::Tag“ die Informationen auf andere Weise als MP3-Tags erhält und „-u“ dies erzwingt
Aktualisierung der ID3-Tags.

(Alle diese Möglichkeiten werden durch die Option „-D“ deaktiviert.) Das ID3v2-Tag wird bei Bedarf geschrieben, oder wenn „-2“
Option gegeben ist. (Automatisches Ausfüllen ableitbarer Felder (über die Methode
id3v2_frames_autofill()) wird ausgeführt, es sei denn, die Optionen „-d“ oder „-N“ sind angegeben.)

Die Option „-u“ schreibt („u“ aktualisiert) die abgerufenen Informationen in die MP3-ID3-Tags. Das
Option wird angenommen, wenn es Befehlszeilenoptionen gibt, die Tag-Elemente explizit festlegen
(„-a“, „-t“ usw. und „-F“, „-d“). (Die Auswirkungen dieser Option können durch Angabe außer Kraft gesetzt werden
Option „-D“.) Wenn auch die Option „-2“ angegeben ist, wird das Schreiben des ID3v2-Tags erzwungen, auch wenn die Info
passt zum ID3v1-Tag (zusätzlich ermöglicht diese Option die automatische Aktualisierung des „persönlichen Namens“)
Felder und entsprechende Titel entsprechend den Werten von „translate_person“,
„person_frames“ usw. Konfigurationseinstellungen; siehe „Normalisierung von Feldern“). Diese Option
wird ignoriert, wenn keine Änderung an Tags erkannt wird; Allerdings kann man durch Wiederholen ein Update erzwingen
Diese Option (nützlich, wenn Sie erwarten, dass sich das „Format“ des Tags ändert, im Gegensatz zu seinem
"Inhalt").

Die Option „-p“ druckt eine Nachricht mit dem nächsten Argument als Format (standardmäßig „\\“, „\t“,
„\n“ werden durch Backslash, Tab und Newline ersetzt; wird durch den Wert der Option „-E“ bestimmt);
Einzelheiten zum Format von finden Sie unter „interpolieren“ in MP3::Tag sprintf()-ähnliche Fluchten. Wenn nein
Wenn die Option „-p“ angegeben ist, wird die Nachricht im Standardformat ausgegeben. Der Wert der Option „-e“
ist die für die Ausgabe verwendete Kodierung; Wenn es sich bei dem Wert um eine Zahl handelt, handelt es sich um eine systemspezifische Kodierung
erraten (und für die Ausgabe verwendet, wenn Bit 0x1 gesetzt ist); wenn Bit 0x2 gesetzt ist, dann Befehlszeile
Es wird davon ausgegangen, dass Optionen in der vermuteten Codierung vorliegen. wenn Bit 0x4 gesetzt ist, dann Befehlszeile
Es wird davon ausgegangen, dass die Argumente in der vermuteten Codierung vorliegen. Verwenden Sie den Wert „binär“, um binär zu arbeiten
Ausgabe.

Mit der Option „-D“ (Probelauf) wird kein Update durchgeführt, egal was die anderen Optionen sind.
Mit dieser Option wird kein Parsing von Tags durchgeführt, es sei denn, dies ist erforderlich.

Nutzen Sie Optionen

talygcn

um die erhaltenen Informationen (Titel, Künstler, Album, Jahr, Genre, Kommentar, Titelnummer) zu überschreiben
über „MP3::Tag“-Heuristiken („-u“-Schalter ist impliziert, wenn eines dieser Argumente abweicht
von dem, was man sonst finden würde; Verwenden Sie den Schalter „-D“, um die automatische Aktualisierung zu deaktivieren. Standardmäßig,
die Werte dieser Optionen werden nicht „%“-interpoliert; Dies kann mit der Option „-E“ geändert werden.

Die Option „-d“ sollte die durch Kommas getrennte Liste der zu löschenden ID3v2-Frames enthalten. A
Die Frame-Spezifikation ist dieselbe wie die, die für die Frame-Interpolation „%{...}“ angegeben werden könnte
Befehl, z. B. „TIT3“, „COMM03“, „COMM(fra)[Kurztitel]“; Der Unterschied zu modifizieren-
Zugang ist das ALLER (und nicht die zuerst von) übereinstimmende Frames werden gelöscht. (Option -d kann sein
wiederholt.)

Beispielsweise würde „-d APIC“ alle Bilderrahmen entfernen. Darüber hinaus, wenn die Liste enthält
„ID3v1“ oder „ID3v2“, ganze Tags werden gelöscht.

Ebenso ermöglicht die Option „-F“ das Setzen beliebiger „ID3v2“-Frames: falls dies erforderlich ist
Für einen Frame verwenden Sie die Direktive „FRAME_spec=VALUE“:

-F TIT2=Der_neue_Titel

Nochmals zum Ändern: ALLER Übereinstimmende Frames werden zuerst gelöscht. Seien Sie also vorsichtig

-F COMM=MeinKommentar

Option „-F“ kann wiederholt werden, um mehr als einen Frame festzulegen. Wenn Konfigurationsvariable
„empty-F-deletes“ ist TRUE (Standard), leere Argumente löschen den Frame.

Man kann „FRAME_spec=VALUE“ durch „FRAME_spec < FILE“ ersetzen; in diesem Fall der einzustellende Wert
wird aus der genannten Datei gelesen FILE; wenn der Rahmen nur aus Text besteht (Bedeutung: höchstens
Wenn die Felder „[encoded]Text URL Language Description“ vorhanden sind, wird die Datei im Textformat gelesen
Modus (und ohne anfängliche/nachgestellte Leerzeichen), andernfalls wird es im Binärformat gelesen
Modus. (Für die „<“-Zeichen sind Leerzeichen erforderlich.) Wenn „<“ durch „?<“ ersetzt wird, wird das
Der Wert wird nur gesetzt, wenn der Frame noch nicht vorhanden ist und die Datei vorhanden ist. wenn durch „>“ ersetzt,
auf den Wert (falls vorhanden) wird geschrieben FILE (Erstellung von Zwischenverzeichnissen ist
gesteuert durch die Konfigurationsoption „frames_write_creates_dirs“, der Standardwert ist FALSE).

Darüber hinaus kann „FRAME_spec“ einer von „ID3v1“, „ID3v2“ oder „TAGS“ sein; in diesem Fall ganz
Tags werden geschrieben oder gelesen. Zum Beispiel für „TAGS < DATEI“, „Titel, Künstler, Album, Jahr, Genre“.
Die Informationen zur Kommentarspur werden aus berechnet FILE, bei denen es sich um Roh-Tags handeln kann, wie sie mit „>“ erzeugt werden.
oder eine gültige MP3-Datei; Wenn Image::ExifTool vorhanden ist, können die Daten aus beliebigen Quellen gelesen werden
Multimediadatei. (Ebenso werden für „ID3v1 < DATEI“ dieselben Informationen aus „ID3v1“ extrahiert.
(nur Tag.) Danach werden im Falle von „ID3v2“ oder „TAGS“ „ID3v2“-Frames aus dem kopiert
Geben Sie nacheinander das Tag „ID3v2“ ein. (Mit entsprechenden Modifikationen für „?<“.)

Standardmäßig ist der „WERT“ für „-F“ „%“-interpoliert; Dies kann durch die Option „-E“ geändert werden.
Aus Gründen der Benutzerfreundlichkeit wurden benutzerfreundlichere Formen „Komponist, Text_by, Orchester, Dirigent,
disk_n“ kann anstelle von „TCOM, TEXT, TPE2, TPE3, TPOS“ verwendet werden.

Die Option „-P RECIPE“ ist eine sehr wirkungsvolle Verallgemeinerung dessen, was mit Optionen möglich ist
„-F“, „-d“ und „-t -a -l -y -g -c -n“. Es kann wiederholt werden; Die Werte sollten das enthalten
Rezepte analysieren. Sie werden zum Konfigurationselement „parse_data“ von „MP3::Tag“; letztlich
Diese Informationen werden vom MP3::Tag::ParseData-Modul verarbeitet (sofern letzteres in vorhanden ist).
die Kette der Heuristiken; siehe Option „-C“). Das „RECIPE“ ist aufgeteilt in „$flags, $string,
@patterns“ auf dem ersten nicht-alphanumerischen Zeichen; dem ersten @patterns, das übereinstimmt
$string wird ausgeführt (aus Gründen der Nebenwirkungen). (Siehe Beispiele: „BEISPIELE: parse
Regeln".)

Wenn die Option „-G“ angegeben ist, werden die Dateinamen in der Befehlszeile als glob betrachtet
Muster. Dies kann nützlich sein, wenn die maximale Befehlszeilenlänge zu gering ist. Mit dem
Option „-R“ Argumente können Verzeichnisse sein, die rekursiv nach Audio durchsucht werden
(Standard * .mp3) zu verarbeitende Dateien; Verwenden Sie die Option „-r“, um den regulären Ausdruck so zurückzusetzen, dass er aussieht
für (der Standardwert ist „(?i:\.mp3$)“).

Die Option „-E“ steuert die Erweiterung von Escape-Zeichen. Es sollte die Buchstaben von enthalten
die Befehlszeilenoptionen, bei denen „\\, \n, \t“ interpoliert wird; man kann die Buchstaben anhängen
von „talygcn F“-Optionen, die eine „%“-Interpolation nach dem Trennzeichen „/i:“ erfordern (für
„-F“, nur die Werte werden interpoliert). Der Standardwert ist „p/i:Fp“, nur „-p“ ist vorhanden
„\“-interpoliert, und nur „-F“ und „-p“ unterliegen der „%“-Interpolation. Wenn alle eins
will ist hinzufügen Um die Standardeinstellungen wiederherzustellen, stellen Sie dem Wert von „-E“ (mit hinzugefügten Optionen) ein voran
„+“. (Einige Teile des Werts der Option „-P“ werden interpoliert, dies sollte jedoch der Fall sein
wird durch Flags gesteuert, nicht durch „-E“; Tun NICHT fügen Sie „P“ in den „%“-interpolierten Teil von „-E“ ein.)

Wenn die Option „-@“ angegeben ist, werden alle Zeichen „@“ in den Optionen durch „%“ ersetzt. Das
kann praktisch sein, wenn die Shell „%“ speziell behandelt (z. B. DOSISH-Shells).

Wenn die Option „-I“ angegeben ist, ist kein Rätselraten erforderlich Künstler Feld wird bei der Eingabe ausgeführt.

Die Option „-C CONFIG_OPT=VALUE1,VALUE2…“ setzt die Konfigurationsdaten „MP3::Tag“ gleich
Weg als „MP3::Tag-“config()> würde reichen (denken Sie daran, dass der Wert ein Array ist; separate Elemente).
durch Kommas, wenn mehr als eins vorhanden ist). Die Option kann wiederholt werden, um mehr als einen Wert festzulegen. Notiz
Da „ParseData“ zum Verarbeiten von „-P“-Analyserezepten verwendet wird, sollte es besser beibehalten werden
in der „Autoinfo“-Konfiguration (und den zugehörigen Feldern „Autor“ usw.) bei Vorhandensein von „-P“.

Bei Angabe der Option „-x“ werden die technischen Informationen zur Audiodatei ausgedruckt
(MP3-Level, Dauer, Anzahl der Frames, Abstand, Copyright und die Liste der ID3v2-Frames
Namen in einem Format, das für „%{...}“-Escapes geeignet ist). Wenn „-x“ wiederholt wird, ist der Inhalt der Frames gleich
wird auch ausgedruckt (kann bei mehr als zweimaliger Wiederholung nicht druckbare Zeichen ausgeben).

Wenn die Option „-N“ angegeben ist, sind alle „Smarts“ deaktiviert – keine Normalisierung der Felder
passiert, und (standardmäßig) kein Versuch, die Werte von Feldern von Nicht-ID3 abzuleiten
Informationen sind fertig. Diese Option entspricht (derzeit) der Verwendung von „-C
autoinfo=ParseData,ID3v2,ID3v1" ​​als erste Direktive, um nein zu haben
Normalize::Text::Music_Fields.pm auf dem @INC-Pfad vorhanden und nicht aufgerufen autofill() Methode.

Normalisierung of Felder


(Das Laden des Normalisierungsmoduls und alle nachfolgenden Vorgänge können durch deaktiviert werden
Option „-N“ oder indem Sie die Umgebungsvariable „MP3TAG_NORMALIZE_FIELDS“ auf FALSE setzen.
Wenn dies nicht verboten ist, wird versucht, das Modul in das Verzeichnis zu laden ~/.music_fields is
vorhanden oder „MP3TAG_NORMALIZE_FIELDS“ ist gesetzt und TRUE.)

Wenn das Laden des Moduls „Normalize::Text::Music_Fields“ erfolgreich ist, geschieht Folgendes
anwendbar:

Wenn der Wert von „MP3TAG_NORMALIZE_FIELDS“ definiert ist und nicht 1, wird dieser Wert aufgebrochen
Verzeichnisse als PATH und der Ladepfad von „Normalize::Text::Music_Fields“ ist auf diesen Wert eingestellt
Liste der Verzeichnisse. Dann wird MP3::Tag angewiesen (über entsprechende Konfiguration).
Einstellungen), um die von diesem Modul definierten Methoden „normalize_artist“ (usw.) zu verwenden. Diese Methoden
kann bestimmte Tag-Daten normalisieren. Die aktuelle Version definiert Methoden zur „Normalisierung“
von Personennamen und Titeln (basierend auf dem Komponisten). Diese Normalisierung wird vorangetrieben
durch vom Benutzer editierbare Konfigurationstabellen.

Zusätzlich zur automatischen Normalisierung von MP3-Tag-Daten kann man auch „gefälschte MP3-Dateien“ verwenden
Sie können manuell auf einige Funktionen dieses Moduls zugreifen. Verwenden Sie dazu einen leeren Dateinamen und „-D“
Möglichkeit. Z.B,

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" ""

gibt den normalisierten Personennamen für „beethoven“ aus, den entsprechenden normalisierten Kurznamen
Personenname und der normalisierte Titel für „Sonate Nr. 28“ des Komponisten „Beethoven“. Z.B,
Mit den mitgelieferten Normalisierungstabellen wird es gedruckt

Ludwig van Beethoven (1770–1827)
L. van Beethoven
Klaviersonate Nr. 28 in A-Dur; Op. 101 (1816)
Allegretto für Klaviertrio in B-Dur; WoO 39 (1812)
Sinfonie Nr. 8 in F-Dur; Op. 93 (komp. 1812, FP Wien, 1814-02-27, Dir. Beethoven; veröffentlicht 1816)

Die Auftrag of Betrieb


Derzeit werden die Vorgänge in der folgenden Reihenfolge ausgeführt

· Löschen von ID3v1 oder ID3v2 als Ganzes über die Option „-d“;

· Rezepte der Option „-P“ sind eingerichtet (werden durch Interpolation ausgelöst);

· Die Einstellung erfolgt über die Optionen „-a/-t/-l/-y/-g/-c/-n“;

· Die Einstellungen erfolgen über die Option „-F“;

· Löschen einzelner Frames über die Option „-d“;

· automatisches Ausfüllen von ID3v2-Frames (ID);

· Informationen basierend auf den Optionen „-p“ und „-x“ ausgeben;

· Triggerrezepte von „-P“ (sofern nicht durch Interpolation ausgelöst);

· Aktualisieren Sie die Tags bei Bedarf.

Anwendungsbereich Strategie: Eskalation of Komplexität


Der Zweck dieses Skripts besteht darin, die Handhabung von ID3-Tags so einfach wie möglich zu gestalten as möglich.

Am einen Ende der Skala kann man mithilfe von Tags beliebig komplexe Manipulationen durchführen
Perl-Modul „MP3::Tag“.

Andererseits ist es viel bequemer, einfachste Manipulationen mit Tags durchzuführen
Verwenden der Optionen dieses Skripts „-t -a -l -y -g -c -n“ und „-p -F -d“. Für etwas mehr
Für komplizierte Aufgaben muss möglicherweise die aufwändigere Methode verwendet werden parsen Regeln, unter der Voraussetzung
zu diesem Skript durch die Option „-P“; Die Regeln hängen stark davon ab Interpolation, Siehe
„interpolate“ in MP3::Tag, „interpolate_with_flags“ in MP3::Tag.

Um das Upgrade von „einfachsten Manipulationen“ zu „ausgefeilteren“ zu vereinfachen, hier wir
Bereitstellung einer „Parse-Regel“ Synonyme zu den einfachsten Optionen. Wenn Sie also mit „-t -a -l -y“ beginnen
-g -c -n“ und „-p -F -d“ Optionen, die für Sie „fast funktionieren“, haben Sie gute Chancen, dies zu tun
Sie können Ihr Ziel vollständig erreichen, indem Sie die unten beschriebenen Synonyme ändern.

(Im Folgenden gehen wir davon aus, dass die Option „-E“ auf ihren Standardwert gesetzt ist, also „-F -p“.
„%“-interpoliert, andere Optionen nicht. Beachten Sie auch, dass die Kodierung Ihres TTY lautet
von Perl erkannt wird, wird dringend empfohlen, die Option „-e 3“ zu setzen; auf DOSISH-Schalen,
Verwenden Sie besser „-@“ und ersetzen Sie unten „%“ durch „@“.)

„-t WERT“
-P "mz/VALUE/%t"

„-a -l -y -g -c -n“
Gleichfalls.

„-F“ „TIT2=WERT“
-P "mzi/VALUE/%{TIT2}"

„-F“ „APIC[myDescr] <DATEI“
-F „APIC[myDescr]=%{I(fimbB)FILE}“

or

-P "mzi/%{I(fimbB)FILE}/%{APIC[myDescr]}"

(entfernen Sie „bB“ für reine Textrahmen).

„-F“ „APIC[myDescr] > DATEI“
-P "bOi,%{APIC[myDescr]},FILE"

(entfernen Sie „b“ für reine Textrahmen); oder verwenden Sie „-e binär -p „%{APIC[myDescr]}““
mit Umleitung, siehe „BEISPIELE: Parse-Regeln“.

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

„-F“ „TIT2 ?< DATEI“
Sehr trickreich. Dadurch wird die Unterscheidung zwischen leerer und nicht vorhandener Datei nicht festgelegt:

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

(fügen Sie „bB“ zu „fFim“ für nicht nur Text enthaltende Frames hinzu); Der letzte Teil kann weggelassen werden
Wenn man das Flag „m“ weglässt, ist es nur zum Auffangen von Druckfehlern vorhanden.

Einzelheiten zu „Analyseregeln“ finden Sie unter „BEISPIELE: Analyseregeln“ und „BESCHREIBUNG“ in
MP3::Tag::ParseData.

BEISPIELE parsen Regeln


Nur die Option „-P“ ist so kompliziert, dass sie einen Kommentar verdient … Ausführliche Informationen finden Sie unter
parsen Regeln, siehe „DESCRIPTION“ in MP3::Tag::ParseData; Ausführliche Informationen zur Interpolation finden Sie unter
siehe „interpolate“ in MP3::Tag, „interpolate_with_flags“ in MP3::Tag.

Als (albernes) Beispiel kann man „-a Homer -t Iliad“ durch ersetzen

-P mz=Homer=%a -P mz=Ilias=%t

Ein weniger albernes Beispiel ist das Erzwingen einer bestimmten Methode zum Parsen eines Dateinamens über

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

Es ist eingebrochen

kennzeichnet Zeichenfolgenmuster1
„im“ „%{d0}/%f“ „%a/%n %t.%e“

Die Flaggenbuchstaben stehen für interpolieren, muss passen. Dadurch wird die Zeichenfolge interpoliert
„%{d0}/%f“ und analysiert das Ergebnis (das ist der Dateiname mit einer Ebene des Verzeichnisses).
Teil erhalten) unter Verwendung des angegebenen Musters; somit wird der Verzeichnisname zum Künstler, der
führender numerischer Teil – die Titelnummer und der Rest des Dateinamens (ohne Erweiterung)
- der Titel. Beachten Sie, dass mehrere Muster zulässig sind und daher auch berücksichtigt werden können
Mehrere Formate der Namen, z

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

Ermöglicht, dass der Basisname der Datei auch die Form „TITEL (JAHR)“ hat. Ein alternativer Weg dazu
die gleichen Ergebnisse erzielen ist

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

was zwei Rezepten entspricht:

Flags Zeichenfolge Muster1 Muster2
„im“ „%{d0}“ „%a“
„im“ „%f“ „%n %t.%e“ „%t (%y).%e“

Natürlich könnte man es gebrauchen

„im“ „%B“ „%n %t“ „%t (%y)“

als Ersatz für den zweiten.

Beachten Sie, dass die Einstellung möglicherweise besser lesbar ist Künstler zu „%{d0}“ durch eine explizite Zuweisung, mit
Argumente ähnlich wie

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

(Dieser Wert von „-E“ erfordert zusätzlich zur Option „-a“ eine „%“-Interpolation
standardmäßige „\“-Interpolation von „-p“ und „%“-Interpolation von „-F“ und „-p“; man kann
verkürzen Sie es mit „-E +/i:a“).

Um weitere Beispiele zu nennen,

-P „if=%D/.comment=%c“

liest den Kommentar aus der Datei .Kommentar im Verzeichnis der Audiodatei;

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

hat einen ähnlichen Effekt, wenn die Datei .Kommentar hat einzeilige Kommentare, einen pro Titel (dies setzt voraus).
die Titelnummer kann auf andere Weise ermittelt werden).

Angenommen, es handelt sich um eine Datei Ersatzteile in einem Verzeichnis von MP3-Dateien hat das folgende Format: Es hat a
Die Präambel enthält dann einen kurzen Informationsabsatz pro Audiodatei, dem der Titel vorangestellt ist
Zahl und Punkt:

...

12. Rezitativ.
(Pizarro, Rocco)

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

...

Der folgende Befehl fügt diese Informationen in den Titel des ID3-Tags ein (sofern das Audio vorhanden ist).
Dateinamen sind aussagekräftig genug, sodass MP3::Tag die Titelnummer ableiten kann):

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

Wenn dieser Informationsabsatz die Form „TITEL (KOMMENTAR)“ mit dem Teil „KOMMENTAR“ hat
optional sein, dann verwenden

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

Wenn Sie einen Punkt oder ein Komma am Ende des Titels entfernen möchten, verwenden Sie

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

Das zweite Muster dieses Aufrufs wird konvertiert

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

was im Wesentlichen die Ersetzung „s/(.*)[.,]$/$1/s“ auf den Titel anwendet.

Nehmen wir nun an, dass zusätzlich zu Ersatzteile, wir haben eine Textdatei Kommentar mit Zusatzinfo;
Wir möchten diese Informationen in das Kommentarfeld einfügen nachdem was aus „TITLE“ extrahiert wird
(KOMMENTAR)“; trennen Sie diese beiden Teile des Kommentars durch eine Leerzeile:

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

Dies setzt voraus, dass der Titel und der Kommentar nicht „///“ als Teilzeichenfolge enthalten.
Erläuterung: das erste Muster von „-P“,

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

liest Kommentar aus der Datei „Comment“ in das Kommentarfeld; der Zweite,

['fl', 'Parts' => '%=n. %T'],

liest einen Teil von „Parts“ in das Titelfeld. Der dritte

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

ordnet Titel und Kommentar neu an vorausgesetzt Der Titel hat die Form „TITEL (KOMMENTAR)“.
(Die Konfigurationsoption „parse_join“ kümmert sich um die Trennung zweier Kommentarblöcke
entsprechend zwei Vorkommen von %c auf der rechten Seite.)

Das vierte Muster schließlich ist dasselbe wie im vorherigen Beispiel; es entfernt Störstoffe
Satzzeichen am Ende des Titels.

Weitere Beispiele: Entfernen der Zeichenfolge „with violin“ vom Anfang des Kommentarfelds (removing
insgesamt kommentieren, wenn nichts übrig bleibt):

mp3info2 -u -P 'iz;%c;mit Violine%c' *.mp3

Festlegen des Künstlerfelds, ohne dass die Funktion zur automatischen Aktualisierung andere Felder daraus ableitet
andere Quellen;

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

Festlegen eines Kommentarfelds, sofern es nicht bereits vorhanden ist:

mp3info2 -u -P 'i;%c///mit Klavier;///%c' *.mp3

Das letzte Beispiel zeigt, wie man tatsächlich „Programme“ in der Sprache des „-P“ schreibt.
Option: Das Beispiel gibt eine bedingte Zuweisung. Mit Benutzervariablen (wie in „%{U8}“)
Für Provisorien und eine Möglichkeit, reguläre Ausdrücke zu verwenden, könnte man beliebige bereitstellen
programmatische Logik. Natürlich sollte man ab einem gewissen Grad an Komplexität besser wechseln
direkte Anbindung an das Perl-Modul „MP3::Tag“ (verwenden Sie den Code dieses Perl-Skripts als
Beispiel!).

Hier ist eine typische Aufgabeneinstellung für „erweiterte“ id3v2-Frames: Komponist („TCOM“), Orchester
(„TPE2“), Leiter („TPE3“). Wir gehen von einem Verzeichnisbaum aus, der getaggte MP3-Dateien enthält
mit folgenden Konventionen: „Künstler“ ist eigentlich ein Komponist; „Kommentar“ ist einer von
zwei Formen:

Darsteller; Orchester; Dirigent
Orchester; Dirigent

Um die spezifischen MP3-Frames über „-P“-Regeln festzulegen, verwenden Sie

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

Mit „-F“-Optionen kann dies vereinfacht werden

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

or

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

Kopieren von ID3-Tags von MP3-Dateien im aktuellen Verzeichnis in Dateien im Verzeichnis /tmp/mp3 mit
die Erweiterung .Etikett (und „Fortschrittsbericht“ ausdrucken), verwenden

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

Da wir das „z“-Flag nicht verwendet haben, werden MP3-Dateien ohne Tags übersprungen.

Nehmen wir nun an, dass es zwei parallele Dateihierarchien von Audiodateien und Liedtexten gibt:
Audiodateien sind vorhanden audio/dir_name/audio_name.mp3 mit entsprechender Liedtextdatei in
text/dir_name/audio_name.mp3. Zum Anhängen von Liedtexten an MP3-Dateien (im Rahmen „COMM“ mit
Beschreibung „lyrics“ in Sprache „eng“ - fehlen uns die Worte. is a nicht standard Lage, sehen ),
rufen Sie uns an!

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

im Verzeichnis Audio-. (Ändern Sie „fim“ in „Ffim“, um die Audiodateien zu ignorieren, für die
die entsprechende Textdatei existiert nicht.) (Um den Spezifikationen zu folgen,
man hätte das Feld „%{USLT(eng)[]}“ anstelle von „%{COMM(eng)[lyrics]}“ verwenden sollen; sehen
unten für Variationen).

Schließen Sie mit einem sehr einfachen Beispiel ab: Alles was das Muster ist

-P 'i;%t;%t'

Das bedeutet, dass nachgestellte und führende Leerzeichen aus dem Titel entfernt werden (was von anderen abgeleitet wird).
meint).

Mehr Beispiele


Mit der Option „-F“ könnte man den „USLT“-Frame als festlegen

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

Drucken Sie einen solchen Rahmen (in einer beliebigen Sprache) mit aus

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

Um den APIC-Frame mit leerer Beschreibung auszudrucken, verwenden Sie ebenfalls

mp3info2 -e Binary -@p "@{APIC[]}" file.mp3 > Ausgabebilddatei

oder (mit Beschreibung „Cover“)

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

So legen Sie einen solchen Rahmen aus einer Datei fest xxx.gif (mit der Standardeinstellung „Bildtyp“, „Cover (vorne)“,
und leere Beschreibung), führen Sie eine davon aus

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

Der Unterschied zwischen „APIC“ und „APIC[]“ besteht darin, dass beim ersten zuerst alle „APIC“-Frames entfernt werden.
und der zweite entfernt nur alle „APIC“-Frames mit leerer Beschreibung – aber beliebigem Bild
Typ. Daher ist es möglicherweise sinnvoller, die vollständige Spezifikation zu verwenden, wie in „APIC(Cover
(Vorderseite))[]".

Um „APIC“-Frames mit leeren Beschreibungen, beliebigen „Bildtypen“ (und „MIME
Typen, die korrekt berechnet werden können mp3info2, z. B. „TIFF/JPEG/GIF/PNG“), verwenden

mp3info2 -d „APIC[]“ Datei.mp3

(Beachten Sie, dass dadurch kein Speicherplatz frei wird, es sei denn, „Verkleinern“ wird durch die Konfiguration erzwungen
Variablen). Um dasselbe nur mit dem Bildtyp „Dirigent“ zu tun, gehen Sie wie folgt vor:

mp3info2 -d „APIC(Conductor)[]“ file.mp3

Um Unterverzeichnisse zu durchsuchen und Dateien hinzuzufügen cover.jpg aus dem Verzeichnis der Datei als
„Standard“ „APIC“-Frame, aber nur, wenn kein „APIC“-Frame vorhanden ist und eine Datei vorhanden ist

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

Dadurch werden leere Rahmen für das Datum „TCOP, TENC, WXXX[], COMM(eng)[]“ gelöscht und entfernt
führende 0 aus der Titelnummer der MP3-Datei im aktuellen Verzeichnis:

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

Beispiele on Behandlung mit gebrochen Kodierungen


Eine der Hauptschwächen der ID3-Spezifikation bestand darin, dass Daten erforderlich waren
Wird in der Codierung „Latin-1“ bereitgestellt. Da die meisten Sprachen der Welt nicht in ausgedrückt werden können
„latin-1“, was dazu führte, dass (die Mehrheit?) der ID3-Tags nicht standardkonform waren. Neuer
Versionen der Spezifikationen haben dieses Manko behoben, aber der Schaden war bereits angerichtet.
Glücklicherweise kann dieses Skript die Fähigkeiten von „MP3::Tag“ nutzen, um aus nicht konformen Dateien zu konvertieren
Inhalt zu einem konformen Inhalt.

Das folgende Beispiel konvertiert ID3v2-Tags, die geschrieben wurden (nicht standardkonform).
Codierung „cp1251“ in standardkonformer Codierung. Für dieses Beispiel gilt:
Gehen Sie davon aus, dass ID3v1-Tags dieselbe Codierung haben (und dass man sie in der Codierung belassen möchte
Kodierung „cp1251“); Die zu verarbeitenden Dateien befinden sich im aktuellen Verzeichnis und
(rekursiv) in seinen Unterverzeichnissen („set“-Syntax für DOSISH-Shells):

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

Weitere Informationen finden Sie unter „ENVIRONMENT“ in MP3::Tag, „config“ in MP3::Tag und
„ANPASSUNG“ im MP3::Tag.

INKOMPATIBILITÄTEN mit mp3-info
Dieses Tool ist lose dem Programm nachempfunden mp3-info; es ist „größtenteils“ abwärtskompatibel
(insbesondere im „naiven“ Modus über „-N“) und ermöglicht eine sehr signifikante Obermenge von
Funktionalität. Bekannte Abwärtsinkompatibilitäten sind:

-G -h -r -d -x

Fehlende Funktionalität:

-f -F -i

Inkompatibel „%“-Fluchten:

%e %E – völlig andere Semantik
%v – hat keine abschließenden Nullen
%q – hat einen Bruchteil
%r – ist eine Zahl, kein Wort „Variable“ für VBR
%u – ist eins weniger (nur bei Vorhandensein eines Deskriptorrahmens?)

Fehlen "%"-Fluchten:

%b %G

Backslash-Escapezeichen: nur „\\“, „\n“, „\t“ unterstützt.

„-x“ druckt Daten in einem anderen Format, nicht alle Felder sind vorhanden und ID3v2-Tag-Namen
ausgegeben werden.


Mit „-e“ 1, 2 oder 3 kann dieses Skript die Umgebungsvariablen „LC_CTYPE, LC_ALL,
LANG“, um die aktuelle Kodierung abzuleiten. Es werden keine anderen Umgebungsvariablen direkt gelesen
dieses Skript.

Beachten Sie jedoch, dass das MP3::Tag-Modul über umfangreiche Standardeinstellungen für die Kodierungseinstellungen verfügt
einstellbar durch Umgebungsvariablen; siehe „UMWELT“ in MP3::Tag. Also diese Variablen
wirken sich (indirekt) darauf aus, wie dieses Skript funktioniert.

OBSOLET INTERFACE


Wenn Sie nicht verstehen, worum es geht, können Sie diese Ankündigung getrost ignorieren:

Der alte Weg vor Version 1.05 (durch Verdreifachung eines Trennzeichens, ohne Wiederholung von
Optionen), um mehrere Befehle für die Optionen „-F“ und <-P> bereitzustellen, wird weiterhin unterstützt, wird aber unterstützt
dringend abgeraten. (Es besteht kein Konflikt mit der aktuellen Schnittstelle.)

Nutzen Sie mp3info2p online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad




×
Werbung
❤ ️Hier einkaufen, buchen oder kaufen – kostenlos, damit die Dienste kostenlos bleiben.