Wie kann ich Texte für meine gesamte Musik abrufen und in den Dateien speichern?

14

Ich habe eine große Musikbibliothek (die meisten von ihnen sind .mp3& .m4a) und keiner von ihnen hat einen Text. Gibt es ein Programm oder Plug-In, das automatisch alle meine Musiktexte hinzufügt, indem es das Internet abfragt?

Da ich normalerweise keine Internetverbindung habe, benötige ich ein Programm, das automatisch alle Texte zu Musikdatei-Tags hinzufügt, damit ich sie offline anzeigen kann.

Bharat
quelle
2
Hinzufügen von Texten wie? Zu jeder Musikdatei? Welches Format hat deine Musiksammlung? Wie wollen Sie die gefundenen Texte anzeigen?
fossfreedom
Ich möchte nur, dass Musikdateien (meistens .mp3 & .m4a) in einem Musikplayer abgespielt werden und ich auf "Liedtext anzeigen" klicke. Es sollte möglich sein, Liedtext anzuzeigen. Und ich benötige eine Software, die das für jede Musikdatei erledigt (Alle meine Tags für Musikdateien sind korrekt).
Bharat
2
Dieser Kommentar unterscheidet sich stark von der ursprünglichen Frage. Sie sollten die Frage zumindest aktualisieren, damit sie Ihren neuen Zielen entspricht.
Luís de Sousa
Amarok und Clementine haben die Möglichkeit, die abgerufenen Texte zu bearbeiten. Ich habe es nicht ausprobiert, aber es muss sie lokal speichern und dann für Sie abrufen. Das Lied für Lied zu tun, wäre wirklich mühsam, aber es würde wahrscheinlich funktionieren.
Joe
Es gibt eine nette Software namens clementine. Versuch es. Es hat Unterstützung für verschiedene Texte Online-DBs. (Gabel des alten Amarok 1 *).
Ddmytrenko

Antworten:

5

Dies ist eine halbe Antwort, da ich Ihre Umgebung nicht kenne und der von mir bereitgestellte Code nur als Beispiel dienen soll - es so auszuführen, wie es ist, sollte keinen Schaden anrichten, aber ich kann keine Garantie geben.

Aufgaben wie diese können mit einfachen Bash-Skripten erledigt werden, z. B. im folgenden Beispiel extrahiere ich mit eyeD3 Künstler und Titel, rufe dann mit einem kostenlosen Wikilyrics-Spiegel den Text ab und speichere das neue Tag mit eyeD3 erneut. Ich ermutige jeden, der diesen Code verwendet, um eine andere Lyrics-API nachzuschlagen, da das wiederholte Ausnutzen desselben Dienstes als böswillig angesehen werden kann.

#!/bin/bash

_TPL='http://makeitpersonal.co/lyrics?artist=<artist>&title=<title>'
_SRY="Sorry, We don't have lyrics for this song yet."

[ "$1" ] && _PATH="$1" || _PATH=$PWD

cd $_PATH

for _FILE in {*.mp3,*.m4a}; do
    if [[ -r $_FILE ]]; then
        _SONG=$(eyeD3 --no-color "$_FILE" | grep title)

        _ARTIST="${_SONG#*"artist: "}"
        _TITLE="${_SONG%"artist: "*}"
        _TITLE="${_TITLE#"title: "}"

        echo -n "$_ARTIST - $_TITLE"

        _ARTIST="${_ARTIST// /+}"
        _TITLE="${_TITLE// /+}"
        _URL="${_TPL//"<artist>"/$_ARTIST}"
        _URL="${_URL//"<title>"/$_TITLE}"

        _LYRICS=$(wget -qO- $_URL)

        if [ "$_LYRICS" != "$_SRY" ]; then
            eyeD3 --lyrics=eng:Lyrics:"$_LYRICS" "$_FILE" 1>/dev/null
        else
            echo "No lyrics found... skipping!"
        fi
    fi
done

cd $OLDPWD

Anweisungen (Befehle im Terminal ausführen):

  1. installieren wgetund eyeD3ausstellensudo apt-get install wget eyed3
  2. Speichern Sie den obigen Code in einer Datei, z /home/user/lyrics_fetcher.sh
  3. füge die Berechtigung zum Ausführen der Datei hinzu: chmod u+x /home/user/lyrics_fetcher.sh
  4. Führe die Datei aus (beachte die Anführungszeichen): /home/user/lyrics_fetcher.sh "path_to_my_album"
  5. Sie können die Skriptausführung jederzeit durch Drücken von ctrl+ stoppenc

Ich habe diesen Code mit dem "AM" -Album von Arctic Monkeys überprüft und es hat wunderbar funktioniert.

Wenn Sie wirklich Texte für alle Ihre Alben auf einmal abrufen möchten, können Sie das Skript für jedes Verzeichnis in einer Schleife ausführen, denke ich. Trotzdem würde ich es nicht als endgültige Lösung verwenden - Wikilyrics und alle, die es durch Spiegeln unterstützen, sind gute Leute, und diese Antwort ist hier, um das Denken zu fördern, nicht den Missbrauch.

cprn
quelle
Ich habe genau das getan, was Sie gesagt haben, den angegebenen Code als lyrics_fetcher.sh in home gespeichert und dann den Befehl in Punkt 2 im terminal ausgeführt. LIVING-THINGS ", jetzt gibt es keine weitere Ausgabe. Ich bin ein absoluter Anfänger, bitte helfen Sie mir.
Bharat
1. Führen Sie alle Befehle im Terminal aus? (es sollte eine Terminalausgabe geben) 2. Haben Sie wget und eyeD3 installiert? Wenn nicht, führen Sie 'sudo apt-get install wget eyed3' aus
cprn
@ Bharat, Sie sollten den Befehl ./lyrics_fetcher.sh "/home/bharat/Music/Linkin-park/LIVING-THINGS"In dem Ordner, in dem sich das Skript befindet, verwendet haben. Sie haben die Anführungszeichen verpasst.
Ads20000
1
@ Ads20000 Ich habe diese Anleitung später hinzugefügt, als ich sah, auf was für ein Problem Bharat gestoßen ist. Er wurde benachrichtigt.
14.
Ich habe eine Fehlermeldung (in rot) erhalten "Der ASCII-Codec kann keine Zeichen an Position 25-26 codieren: Ordnungszahl nicht im Bereich (128)", während das Skript ausgeführt wird. Was bedeutet es?
noir1993,
3

Ich habe kürzlich ein Python-Skript zum automatischen Abrufen und Markieren von Texten zu Ihrer Musik geschrieben. Schau es dir hier an . Dadurch wird der Text als TXT-Datei heruntergeladen und in Ihre MP3-Datei eingebettet

Youtube Demo .

yask
quelle
1
  • lrc.pl ist ein Perlenskript , das das Lyrics :: Fetcher- Paket von David Precious zum Batch-Download von Lyrics für MP3 verwendet.

  • Probieren Sie auch das Amarok Plug-in Ultimate Lyrics . Ultimate Lyrics ist ein konfigurierbares Skript, das Texte von vielen Websites abruft.

  • Eine weitere Option: Lyrics- Erweiterung für Banshee

Totti
quelle
Sie haben die Frage nicht wirklich beantwortet - können Sie Lyrics en masse herunterladen - und diese Lyrics offline in den Musikdateien selbst speichern?
fossfreedom
1

Als Musikfan kann ich Ihnen den Guayadeque- Player empfehlen , einen schnellen und leichtgewichtigen Player mit vollem Funktionsumfang. Wenn ich mich nicht irre, gibt es standardmäßig Lyrics-Erweiterungen und die Möglichkeit, mehr und welches auszuwählen Texte zu jedem Song auch Bandbiographie. Es besteht die Möglichkeit, Liedtexte auch manuell zu speichern, aber es ist natürlich besser, mit dem Internet zu synchronisieren, auf jeden Fall haben Sie die Wahl.

sudo add-apt-repository ppa:anonbeat/guayadeque

sudo apt-get update

sudo apt-get install guayadeque-svn
Joker
quelle
Sie haben die Frage nicht wirklich beantwortet - können Sie Lyrics en masse herunterladen - und diese Lyrics offline in den Musikdateien selbst speichern?
fossfreedom
Ja, es hat einen eingebauten Editor für die Einstellung / Option zum Bearbeiten von Liedern und zum Einfügen oder Schreiben von Liedtexten für ein Lied im Player.
JoKeR
@ JohnnyD. "von Ihnen selbst" - OP sollte dies automatisch im Batch tun, nicht manuell nacheinander.
14.
@CyprianGuerra vielleicht habe ich falsch verstanden, was er fragte :-)
JoKeR
1

beets ist ein Befehlszeilen-Tool zum Organisieren Ihrer Musikbibliothek, mit dem Sie Texte und viele andere Dinge automatisch abrufen können. Von der Website:

Der Zweck von Rüben ist es, Ihre Musiksammlung ein für alle Mal richtig zu machen. Es katalogisiert Ihre Sammlung und verbessert automatisch ihre Metadaten, während es die MusicBrainz-Datenbank verwendet. Dann bietet es eine Reihe von Werkzeugen für die Bearbeitung und den Zugriff auf Ihre Musik.

Insbesondere hat es ein Lyrics-Plugin , das Lyrics aus Lyric Wiki, Lyrics.com, Musixmatch, Genius.com oder einer benutzerdefinierten Such-API von Google abruft.

Die Community ist sehr aktiv. Hör zu!

fhchl
quelle
0

Mp3nity ist kostenlos für 1,5 Monate (vielleicht). Dann müssen Sie die Premium-Version kaufen. Es bettet Kunstwerke für Alben ein. Sie können Texte für alle Ihre Musikdateien gleichzeitig abrufen.

Sakchhyat Bhandary
quelle
0

Ich persönlich benutze Lyrics Finder: https://www.lyricfinder.org/

Sie können Ordner hinzufügen verwenden, um Ordner rekursiv zu durchsuchen und alle Musikdateien zu finden. Anschließend können Sie versuchen, die entsprechenden ID3-Tags nach Texten zu durchsuchen und diese hinzuzufügen.

TheBlackKoala
quelle
0

Ich benutze lyrico , ein Python-Skript, um Texte herunterzuladen und in die ID3- oder ogg vorbis-Meta-Tags einzubetten.

Cweiske
quelle