Lyrics Feld mit suchen und ersetzen Funktion

Hallo, MP3Team. Ich habe in meinen Songs fast alle mit Liedtexten füllen können.
Aber nicht alle Texte sind korrekt. Eine Textsuche in dem Lyricsfeld wäre super, mit suchen/ersetzenfunktion ist es perfekt. Mit der Aktionen ersetzen werden alle gefundenen Resultate ersetzt was in einem Liedtext nicht unbedingt Sinn ergibt.

Das ist doch aber eigentlich die Wirkungsweise von allen Suchen-und-Ersetzen-Funktionen, oder?

Kannst du mal Beispiele geben, wo die Aktion deiner Ansicht nach

Z.b. in diesen Songtext (Auschnitt und verkürzt).
Beim zweiten "This is the way"
muss es heißen "That is the way" weil ich diesen Song gerade anhöre und natürlich nicht mitgezählt habe das beim 2 mal der Textteil falsch ist und evt. noch an anderen Stellen. Mit regular expression mag ich nicht arbeiten

Songtext:
This is the way
This is the way
You've come all this way
Time can not save you
Your debt can't repay you
So don't look away
Until another day

This is the way
And you will recover
Come find your place
And rest on my shoulder
Traveler into the morning
Rise and begin your falling

Es ist aus meiner Sicht unmöglich zwischen dem 1. dem 2. und dem 3. "This is the way" Vorkommen zu unterscheiden.

Am einfachsten ist es hier wohl den Text manuell an der richtigen Stelle zu korrigieren.

Wenn dieser Liedtext öfters in verschiedenen Varianten des Liedes vorkommt, könntest Du diesen Text komplett kopieren und bei den anderen Liedvarianten komplett überschreiben.

Du könntest die Filter-Funktion dafür benutzen.
Also F3 drücken und
UNSYNCEDLYRICS HAS "This is the way"
eintippen.

Das würde Dir alle Songs mit dieser Textzeile auflisten.
Allerdings gibt es keinen Automatismus, der nur genau das 2. Vorkommen von "This is the way" mit "That is the way" in allen gefilterten Stücken ersetzen kann.

Der einzige Ausweg wäre, ein Editorfenster mit mehr Funktionen zu implementieren. Also nicht nur mit Kopieren, Einfügen etc. und den Kommandos zur Navigation, sondern auch mit Suchen&Ersetzen.
Das gibt es derzeit nicht.

Stimmt.
Aber selbst bei dieser Umgehungslösung müsste man visuell zum 2. Vorkommen von "This is the way" springen und dort den zu ersetzenden Text eingeben.
Ich sehe auf Anhieb nicht, wie man sowas automatisieren könnte.
Schon gar nicht für mehrere Songs bei denen ein Songtext an der gleichen Stelle korrigiert werden müsste.

Ich glaube nicht, dass es darum geht, in einer großen Menge Dateien solche Ersetzungen durchzuführen, sondern eher im Sinne einer Fehlerkorrektur bei sehr langen Texten wie beim Liedtext.
Man würde sich den Wechsel zu einem anderen Programm sparen.

Denn jetzt ist die Ersatzlösung recht klar:
Wenn ich die Liedtexte korrigieren will,
kopiere ich die Daten aus dem eine Feld der einen Datei,
öffne einen Nur-Text-Editor,
füge den Text dort ein,
führe alle Änderungen ggf. mit Suchen&Ersetzen durch,
füge den geänderten Text wieder in MP3tag in das Feld ein
speichere in MP3tag die Ändrungen.

Mit dem Textfeld mit mehr Funktionen, das vielleicht dann nur im Dialog "Erweiterte Tags" zur Verfügung steht, würde man das externe Programm vermeiden.
Ein Suchen/Ersetzen in allen markierten Dateien mit jeweiliger Bestätigung erscheint mir wenig nützlich.

In dem Zusammenhang habe ich ja auch letztes Jahr etwas geschrieben. Mit fehlt einfach bei solchen Feldern eine Filterfunktion, bei der die Fundstellen im Text hervorgehoben werden, was den Umweg über das Kopieren in einen Editor ersparen würde. Ein blindes Suchen und Ersetzen ohne optische Begutachtung halte ich nicht in allen Fällen für angebracht, weil es mir nicht sicher genug ist.

Ich habe immer Probleme mit der Hervorhebung.
Gerade, wenn ich mit dem vermutlich längsten Textfeld mit den Liedtexten etwas machen will, kann ich mir auch gut einen Filter vorstellen wie

%title% HAS "This is the way" AND %unsyncedlyrics% PRESENT

Da wäre eine Hervorhebung schwierig.
Gerade bei Liedtexten habe ich den EIndruck, dass diese immer sehr individuell für jeden Titel sind. Ein globales Suchen&Ersetzen ist da m.E. sowieso schwierig, da vermutlich nur ganz begrenzt Treffer zu verzeichnen sind - oder viel zu viele.
Bei dem Anwendungsfall "Fehlerkorrektur", in dem zuerst ein spezifischer Fehler identifiziert und dann auch noch eine Korrektur gefunden werden muss, wird das notwendige Bearbeitungsfeld immer kleiner.
Allerdings gebe ich zu, dass für lange Liedtexte eine lokale Suchfunktion, begrenzt auf das aktuelle Feld in dieser einen Datei nützlich sein kann.

Ich beziehe mich ja auf längere Textfelder und bei mir ausschließlich UNSYNCEDLYRICS.
Sinnvoll wäre das natürlich nur bei einem Filter der Art "%unsyncedlyrics% HAS ...", wo Fundstellen eines Strings im Feld hervorgehoben würden.
Ansonsten würde mir schon eine Funktion wie STRG-F etwas bringen, die innerhalb eines solchen Feldes anzuwenden wäre. Mit den Mitteln von Mp3Tag allein ist es momentan halt sehr schwierig bestimmte Zeichenketten optisch zu lokalisieren.

Dem stimme ich zu.
Damit wir uns nicht nur auf die Liedtexte beschränken: COMMENT, INVOLVEDPEOPLE sind auch Felder, die eine Menge Text enthalten können.
Siehe z.B. Künstler bei USA for Africa:
Al Jarreau, Anita Pointer, Bette Midler, Bill Gibson, Billy Joel, Bob Dylan, Bob Geldof, Bruce Springsteen, Chris Hayes, Cyndi Lauper, Dan Aykroyd, Daryl Hall, Diana Ross, Dionne Warwick, Harry Belafonte, Hugh Cregg, Issa Pointer, James Ingram, Jeffrey Osborne, John Oates, Johnny Colla, Kenny Loggins, Kenny Rogers, Kim Carnes, La Toya Jackson, Lindsey Buckingham, Lionel Richie, Mario Cipollina, Marlon Jackson, Michael Jackson, Paul Simon, Randy Jackson, Ray Charles Robinson, Ruth Pointer, Sean Hopper, Sheila Escovedo, Sigmund Jackson, Smokey Robinson, Steve Perry, Stevland Morris, Tina Turner, Waylon Jennings, Willie Nelson

wo man zur EInhaltung des Formats eigentlich alle Kommas durch ;vocals: ersetzen und nur den 1. EIntrag per Hand bearbeiten müsste.

Zu INVOLVEDPEOPLE
Eigentlich müssten man korrekterweise bei einzelnen Interpreten ;choir vocals: und bei anderen ;solo vocals: voranstellen :innocent: :wink: :


Quelle

Aber JA, selbstverständlich wäre eine solche Funktion nicht nur für UNSYNCEDLYRICS nützlich.

Zsammenfassung was ich möchte und Danke für die Interssante Diskussion.

Ich möchte in EINEM Liedtext eine bestimmte Stelle finden (Strg F)
damit ich einen Fehler manuell korrigieren kann.

Mit UNSYNCEDLYRICS HAS "This is the way" finde ich allle Songs mit diesem Text.
Das sind bei mir 7 Songs.
Nur in "Beyond the Years-The Neal Morse Band-Innocence & Danger-2021" ist ein Fehler.
Die anderen Songtexte sollen so bleiben. Es soll somit keine Globale Suchen&Ersetzen Funtion sein.

Somit müsste eine Editorfunktion für das Lyricsfeld eingebaut werden.
Eine minimalistische Arbeitsweise wie beim Windows Texteditor müsste reichen,
beschränkt auf das Tagpanel. Oder wie bei einem Browser(FF) mit der Steuerung in der unteren Statuszeile.

Damit kann ich manuell zu der betreffenden Stelle (mit F3 oder Enter) springen,
und ich brauche keinen externen Editor.
Falls der korrigierte Text in einem zweiten Song enthalten ist,
kopiere ich den mit Copy&Paste innerhalb von MP3Tag in den zweiten Song.

Ich habe versucht mit den Tools was zu bauen. Dazu benutze ich
D:\Notepad++\notepad++.exe
mit dem Parameter
-qt="%UNSYNCEDLYRICS%" -qSpeed3
benutzt.
Hilft nur teilweise und ist ein Workaround.
Funktioniert nicht wenn in den Lyrics Anführungszeichen enthalten sind.
Das muss noch weiter getestet werden.

Wie man Lyrics komplett exportieren kann (um sie dann z.B. in Notepad++ zu öffnen), wird hier ausführlich mit allen Vor- und Nachteilen und Stolpersteinen beschrieben:

Grunsätzliche Frage: Wieso der Umweg über Mp3tag, wenn Dir Fehler beim Hören auffallen, die Du korrigieren willst (das mache ich auch).
Ich speichere alle Lyrics (synced und unsynced) grundsätzlich extern (als .txt und .lrc Dateien) und der Player, den ich am PC benutze (MusicBee) erlaubt es mir, direkt im Lyrics Anzeigefeld Änderungen vorzunehmen (und auch z.B. Lyrics manuell zu syncen).
Beispiel unsynced:


Beispiel synced:

Und wenn größere Änderungen anstehen oder ich ein bestimmtes Vorkommen vielfach ändern möchte, kann ich einfach die entsprechende .lrc oder .txt Datei in Notepad++ öffnen und somit in einem vollwertigen Editor mit String Suche, regex etc. bearbeiten und speichern ohne die Audiodateien bzw. ihre Tags in irgendeiner Art zu verändern.

Sollte dieses Vorgehen für Dich ebenfalls interessant klingen, könntest Du mein Lyrics Script lyrict verwenden um die Lyrics Deiner Dateien zu exportieren. Der Export unterstützt bisher aber nur .mp3 und .flac Dateien und LYRICS, UNSYNCEDLYRICS, SYLT und USLT als Tags.

lyrict.py -m export -op --delete -d "D:\Musik"

Würde z.B. rekursiv den Ordner D:\Musik nach .mp3 und .flac Dateien scannen und alle eingebetteten Lyrics exportieren, dabei bestehende externe Lyrics Dateien überschreiben und danach die eingebetteten Lyrics aus den Tags entfernen (nur bei erfolgreichem Export). Wenn man das -o weglässt, überspringt es stattdessen Lyrics, die bereits extern existieren und wenn man das --delete weglässt, löscht es die eingebetteten Tags nicht etc..

@Casual_Tea
Mit MusicBee habe ich keine Suchfunktion in der Liedtextanzeige. Das editieren in in beiden möglich. Zudem gefällt mir MP3Tag insoweit besser, das mir der Liedtext beim markieren eines Liedes sofort angezeigt wird und nicht erst, wenn ich ihn abspiele.
Das manuelle syncen wäre interresant.

Das geht in MusicBee recht einfach. Während der Song spielt editiert man die Lyrics und muss dann nur STRG+T drücken, dann wird die aktuelle Zeile mit dem aktuellen Zeitstempel versehen und es springt zur nächsten Zeile.
Wenn man ein gutes Timing hat, kann man so einen ganzen Song mit 1-2 Durchläufen präzise syncen. Habe ich bei fast jedem meiner 493 Lieblingslieder so gemacht. Eine aktivierte Wave Bar hilft auch noch weil man oft Stimmen an der Lautstärke erkennen kann.
Falls jemand ein besseres Programm zum Erstellen von synchronen Lyrics kennt bin ich für jeden Hinweis dankbar. Mit MusicBee funktioniert es gut, aber perfekt ist es nicht (mir fehlen globale Offsets, mehr Hotkeys und noch ein paar Kleinigkeiten).

Das ist legitim. Ich bearbeite Lyrics fast nur während ich das Lied höre, daher meine Verwunderung.