Come posso recuperare i testi di tutta la mia musica e salvarli nei file?


14

Ho una grande biblioteca musicale (la maggior parte di loro è .mp3& .m4a) e nessuno di loro ha testi. Esiste un programma o plug-in che aggiunge automaticamente testi a tutta la mia musica eseguendo una query su Internet?

Poiché di solito non ho una connessione a Internet, ho bisogno di un programma che aggiunge automaticamente tutti i testi ai tag dei file musicali in modo da poterli visualizzare offline.


2
Aggiungi testi come? Per ogni file musicale? In che formato è la tua collezione musicale? Come intendi visualizzare i testi trovati?
Fossfreedom

Tutto quello che voglio è che quando i file musicali (principalmente .mp3 e .m4a) vengono riprodotti in un lettore musicale e faccio clic su "Visualizza testi", dovrebbe essere in grado di visualizzare i testi. E ho bisogno di un software che lo faccia per ogni file musicale (tutti i miei tag per i file musicali sono corretti).
Bharat,

2
Questo commento è molto diverso dalla domanda originale. Dovresti almeno aggiornare la domanda per farla riflettere i tuoi nuovi obiettivi.
Luís de Sousa

Amarok e Clementine hanno un'opzione per modificare i testi che vengono recuperati. Non l'ho provato, ma deve conservarli in un luogo locale e recuperarli per te. Farlo su una canzone per canzone sarebbe davvero noioso, ma probabilmente funzionerebbe.
Joe,

C'è un bel software chiamato clementine. Provalo. Ha il supporto per DB online di testi diversi. (Fork del vecchio Amarok 1 *).
ddmytrenko,

Risposte:


5

Questa è una risposta semi poiché non conosco il tuo ambiente e il codice che fornisco ha solo scopo di esempio: eseguirlo così com'è non dovrebbe nuocere ma non posso fornire alcuna garanzia.

Compiti come questo possono essere affrontati usando semplici script bash, ad esempio nell'esempio seguente uso eyeD3 per estrarre artista e titolo, quindi un mirror wikilyrics gratuito per recuperare i testi e quindi eyeD3 di nuovo per salvare il nuovo tag. Incoraggio tutti coloro che useranno questo codice per cercare un'altra API per i testi, poiché lo sfruttamento dello stesso servizio più e più volte può essere considerato dannoso.

#!/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

Istruzioni (esegui comandi nel terminale):

  1. installare wgete eyeD3mediante emissionesudo apt-get install wget eyed3
  2. salva il codice sopra riportato in un file, ad es /home/user/lyrics_fetcher.sh
  3. aggiungere l'autorizzazione per eseguire il file: chmod u+x /home/user/lyrics_fetcher.sh
  4. esegui il file (attenzione alle virgolette): /home/user/lyrics_fetcher.sh "path_to_my_album"
  5. puoi interrompere l'esecuzione dello script in qualsiasi momento premendo ctrl+c

Ho controllato questo codice con l'album "AM" degli Arctic Monkeys e lo ha fatto dolcemente.

Se vuoi davvero recuperare i testi di tutti i tuoi album contemporaneamente, puoi eseguire lo script in un ciclo per ogni directory, immagino. Tuttavia, non la userei come soluzione finale: i wikilyrics e tutti quelli che lo supportano dal mirroring sono bravi ragazzi e questa risposta è qui per promuovere il pensiero, non l'abuso.


Ho fatto esattamente come hai detto, ho salvato il codice indicato come lyrics_fetcher.sh in home e quindi ho eseguito il comando al punto 2 nel terminal.quindi ha eseguito questo comando "./lyrics_fetcher.sh / home / bharat / Music / Linkin-park / LIVING-THINGS ", ora non ci sono ulteriori risultati. Sono un principiante completo, per favore aiutatemi ..
Bharat,

1. Esegui tutti i comandi nel terminale? (dovrebbe esserci un output terminale) 2. Hai wget e eyeD3 installati? In caso contrario, eseguire 'sudo apt-get install wget eyed3'
cprn,

@Bharat, avresti dovuto usare il comando ./lyrics_fetcher.sh "/home/bharat/Music/Linkin-park/LIVING-THINGS"Nella cartella in cui si trova lo script. Hai perso le virgolette.
Ads20000,

1
@ Ads20000 Ho aggiunto queste istruzioni in seguito quando ho visto che tipo di problema ha riscontrato Bharat. Fu avvisato.
cprn

Ho ricevuto un errore (in rosso) "Il codec" ascii "non può codificare i caratteri nella posizione 25-26: ordinale non nell'intervallo (128)" durante l'esecuzione dello script. Cosa significa?
noir1993,

3

Di recente ho scritto una sceneggiatura in pitone per recuperare e taggare automaticamente i testi sulla tua musica. Dai un'occhiata qui . Questo scaricherà i testi come file txt e li incorporerà nel tuo file .mp3

Demo di Youtube .


1
  • lrc.pl è uno script di perle che utilizza il pacchetto Lyrics :: Fetcher di David Precious , per il download in batch di testi per MP3.

  • Prova anche il testo Ultimate del plug-in Amarok . Ultimate Lyrics è uno script configurabile che recupera i testi da molti siti.

  • Un'altra opzione: estensione del testo per la banshee


Non hai davvero risposto alla domanda - puoi scaricare testi in massa - e archiviare questi testi offline all'interno dei file musicali stessi?
Fossfreedom

1

come appassionato di musica posso consigliarti lettore Guayadeque , lettore veloce e leggero e completo e se non sbaglio ha le estensioni dei testi di default e c'è la possibilità di scegliere di più e quale, sto ascoltando le canzoni in questo momento e mostra testi di ogni canzone, anche la band bio. C'è anche la possibilità di archiviare manualmente i testi di una canzone, ma ovviamente è meglio sincronizzarsi con Internet, comunque è una tua scelta.

sudo add-apt-repository ppa:anonbeat/guayadeque

sudo apt-get update

sudo apt-get install guayadeque-svn

Non hai davvero risposto alla domanda - puoi scaricare testi in massa - e archiviare questi testi offline all'interno dei file musicali stessi?
Fossfreedom

sì, ha un editor integrato per l'impostazione / opzione per modificare il brano e incollare o scrivere testi da soli in un brano all'interno del lettore.
JoKeR,

@JohnnyD. "da soli" - OP intendeva farlo automaticamente in batch, non manualmente uno per uno.
cprn

@CyprianGuerra forse ho frainteso quello che mi stava chiedendo :-)
JoKeR

1

beets è uno strumento da riga di comando per organizzare la tua libreria musicale in grado di recuperare automaticamente i testi, così come molte altre cose. Dal sito Web:

Lo scopo delle barbabietole è quello di ottenere la tua collezione musicale giusta una volta per tutte. Cataloga la tua raccolta, migliorandone automaticamente i metadati durante l'utilizzo del database MusicBrainz. Quindi fornisce un mazzo di strumenti per manipolare e accedere alla tua musica.

In particolare, ha un plugin per i testi che recupera i testi da Lyric Wiki, Lyrics.com, Musixmatch, Genius.com o un'API di ricerca personalizzata di Google.

La comunità intorno è molto attiva. Controlla!


0

Mp3nity è gratuito per 1,5 mesi (forse). Quindi devi acquistare la versione premium. Incorpora opere d'arte per album. Puoi ottenere i testi di tutti i tuoi file musicali contemporaneamente.


0

Personalmente uso il cercatore di testi: https://www.lyricfinder.org/

È possibile utilizzare Aggiungi cartella per fare in modo che ricerchi in modo ricorsivo tra le cartelle e trovare tutti i file musicali, quindi provare a trovare e aggiungere testi al tag ID3 di essi.


0

Uso lyrico , uno script in pitone per scaricare testi e incorporarli nei meta tag ID3 o ogg vorbis.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.