Como posso buscar letras de todas as minhas músicas e armazená-las nos arquivos?


14

Eu tenho uma grande biblioteca de músicas (a maioria é .mp3& .m4a) e nenhuma delas tem letras. Existe algum programa ou plug-in que adicione letras automaticamente a todas as minhas músicas consultando a Internet?

Como normalmente não tenho conexão com a Internet, preciso de um programa que adicione automaticamente todas as letras às tags dos arquivos de música para que eu possa visualizá-las offline.


2
Adicionar letra como? Para cada arquivo de música? Qual formato é sua coleção de músicas? Como você pretende ver a letra encontrada?
— fossfreedom

Tudo o que eu quero é que quando os arquivos de música (principalmente .mp3 e .m4a) sejam reproduzidos em um music player e clico em "exibir letras", ele poderá exibir as letras. E eu preciso de algum software que faça isso para todos os arquivos de música (todas as minhas tags para arquivos de música estão corretas).
— Bharat

2
Este comentário é muito diferente da pergunta original. Você deve pelo menos atualizar a pergunta para que ela reflita seus novos objetivos.
— Luís de Sousa

Amarok e Clementine têm uma opção para editar as letras que são buscadas. Eu não tentei, mas deve armazená-los em algum lugar local e depois recuperá-los para você. Fazer isso música por música seria muito tedioso, mas provavelmente funcionaria.
— Joe

Existe um bom software chamado clementine. Tente. Tem suporte para diferentes DBs de letras online. (Garfo do velho Amarok 1 *).
— ddmytrenko

Respostas:


5

Esta é uma semi-resposta, pois não conheço o seu ambiente e o código que forneço deve servir apenas de exemplo - executá-lo como deveria não causar nenhum dano, mas não posso dar nenhuma garantia.

Tarefas como essa podem ser tratadas usando scripts simples do bash, por exemplo, no exemplo a seguir, uso o eyeD3 para extrair artista e título, em seguida, um espelho wikilyrics gratuito para buscar a letra e, em seguida, eyeD3 novamente para salvar a nova tag. Encorajo todos os que usarem esse código a procurar outra API de letras, pois explorar o mesmo serviço repetidamente pode ser considerado malicioso.

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

Instruções (executar comandos no terminal):

  1. instalar wgete eyeD3emitindosudo apt-get install wget eyed3
  2. salve o código acima em um arquivo, por exemplo /home/user/lyrics_fetcher.sh
  3. adicione permissão para executar o arquivo: chmod u+x /home/user/lyrics_fetcher.sh
  4. execute o arquivo (observe as aspas): /home/user/lyrics_fetcher.sh "path_to_my_album"
  5. você pode interromper a execução do script a qualquer momento pressionando ctrl+c

Eu verifiquei esse código com o álbum "AM", do Arctic Monkeys, e foi muito bem.

Se você realmente deseja buscar letras de todos os seus álbuns de uma só vez, pode executar o script em um loop para cada diretório, eu acho. Ainda assim, eu não o usaria como uma solução final - a wikilyrics e todos que a apoiam espelhando são bons rapazes e esta resposta está aqui para promover o pensamento, não o abuso.


Fiz exatamente como você disse, salvei o código fornecido como lyrics_fetcher.sh em casa e, em seguida, executei o comando no ponto 2 no terminal.Em seguida, execute este comando "./lyrics_fetcher.sh / home / bharat / Music / Linkin-park / Living-coisas", agora não há mais output.I sou um novato completo, por favor me ajude ..
— Bharat

1. Você executa todos os comandos no terminal? (deve haver saída do terminal) 2. Você tem o wget e o eyeD3 instalados? Caso contrário, execute 'sudo apt-get install wget eyed3'
— cprn

@Bharat, você deveria ter usado o comando ./lyrics_fetcher.sh "/home/bharat/Music/Linkin-park/LIVING-THINGS"Na pasta em que o script está. Você perdeu as aspas.
— Ads20000 14/05

1
@ Ads20000 Adicionei essas instruções mais tarde quando vi que tipo de problema Bharat encontrou. Ele foi notificado.
— cprn 14/05

Eu recebi um erro (em vermelho) "O codec 'ascii' não pode codificar caracteres na posição 25-26: ordinal fora do intervalo (128)" durante a execução do script. O que isso significa?
— precisa saber é o seguinte

3

Recentemente, escrevi um script em python para buscar e marcar automaticamente as letras das suas músicas. Confira aqui . Isso fará o download da letra como arquivo txt e a incorporará ao seu arquivo .mp3

Demonstração do YouTube .


1
  • O lrc.pl é um script pérola usando o pacote Lyrics :: Fetcher de David Precious , para o download em lote de letras para MP3.

  • Experimente também o plug-in Ultimate do Amarok . Ultimate Lyrics é um script configurável que busca letras de vários sites.

  • Outra opção: extensão de letras para banshee


Você realmente não respondeu à pergunta - você pode baixar as letras em massa - e armazenar essas letras offline nos próprios arquivos de música?
— fossfreedom

1

como fã de música, recomendo o player Guayadeque , rápido, leve e com todos os recursos, e se não me engano, há extensões de letras por padrão e há a capacidade de escolher mais e quais, estou ouvindo músicas agora e isso mostra letras para todas as músicas até a biografia da banda. Também é possível armazenar as letras de uma música manualmente, mas é melhor sincronizar com a Internet, é claro, de qualquer maneira, é sua escolha.

sudo add-apt-repository ppa:anonbeat/guayadeque

sudo apt-get update

sudo apt-get install guayadeque-svn

Você realmente não respondeu à pergunta - você pode baixar as letras em massa - e armazenar essas letras offline nos próprios arquivos de música?
— fossfreedom

sim, ele possui um editor embutido para configuração / opção de editar uma música e colar ou escrever uma letra para uma música no player.
— JoKeR

@JohnnyD. "sozinho" - o OP pretendia fazê-lo automaticamente em lote, não manualmente um por um.
— Cprn 14/05

@CyprianGuerra talvez eu tenha entendido errado o que ele estava perguntando :-)
— JoKeR

1

O beterrabas é uma ferramenta de linha de comando para organizar sua biblioteca de músicas que pode buscar letras automaticamente, além de muitas outras coisas. A partir do site:

O objetivo das beterrabas é acertar sua coleção de músicas de uma vez por todas. Ele cataloga sua coleção, melhorando automaticamente seus metadados à medida que utiliza o banco de dados MusicBrainz. Em seguida, fornece um buquê de ferramentas para manipular e acessar sua música.

Especificamente, ele tem um plug-in de letras que busca letras do Lyric Wiki, Lyrics.com, Musixmatch, Genius.com ou uma API de pesquisa personalizada do Google.

A comunidade ao redor é muito ativa. Confira!


0

O Mp3nity é gratuito por 1,5 meses (talvez). Então você tem que comprar a versão premium. Ele incorpora obras de arte para álbuns. Você pode obter letras de todos os seus arquivos de música de uma só vez.


0

Eu pessoalmente uso o localizador de letras: https://www.lyricfinder.org/

Você pode usar a adição de pasta para que ela procure recursivamente as pastas e encontre todos os arquivos de música e tente encontrar e adicionar letras à etiqueta ID3 deles.


0

Eu uso o lyrico , um script python para baixar as letras e incorporá-las às metatags ID3 ou ogg vorbis.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.