Jak mogę pobrać teksty do całej mojej muzyki i przechowywać je w plikach?

14

Mam dużą bibliotekę muzyczną (większość z nich to .mp3& .m4a) i żadna z nich nie ma tekstu. Czy jest jakiś program lub wtyczka, która automatycznie dodaje teksty do całej mojej muzyki, wysyłając zapytanie do Internetu?

Ponieważ zazwyczaj nie mam połączenia z Internetem, potrzebuję programu, który automatycznie dodaje wszystkie teksty do znaczników plików muzycznych, aby móc je wyświetlać offline.

Bharat
źródło
2
Dodaj teksty jak? Do każdego pliku muzycznego? W jakim formacie jest twoja kolekcja muzyki? Jak zamierzasz zobaczyć znalezione teksty?
fossfreedom
Chcę tylko, żeby pliki muzyczne (głównie .mp3 i .m4a) były odtwarzane w odtwarzaczu muzycznym i kliknąłem „wyświetl tekst”. Powinien być w stanie wyświetlać tekst. I potrzebuję oprogramowania, które robi to dla każdego pliku muzycznego (wszystkie moje tagi dla plików muzycznych są poprawne).
Bharat
2
Ten komentarz różni się znacznie od pierwotnego pytania. Powinieneś przynajmniej zaktualizować pytanie, aby odzwierciedlało twoje nowe cele.
Luís de Sousa
Amarok i Clementine mają opcję edycji pobranych tekstów. Nie próbowałem tego, ale musi je przechowywać gdzieś w pobliżu, a następnie je dla ciebie odzyskać. Robienie tego na podstawie piosenki po piosence byłoby naprawdę nudne, ale prawdopodobnie zadziałałoby.
Joe
Istnieje ładne oprogramowanie o nazwie clementine. Spróbuj. Obsługuje różne teksty DB online. (Widelec starego Amaroka 1 *).
ddmytrenko

Odpowiedzi:

5

To pół-odpowiedź, ponieważ nie znam twojego środowiska, a kod, który podam, ma służyć jedynie jako przykład - uruchomienie go w takim stanie, w jakim jest, nie powinno wyrządzić żadnej szkody, ale nie mogę dać żadnej gwarancji.

Takie zadania można rozwiązać za pomocą prostych skryptów bash, np. W poniższym przykładzie używam eyeD3 do wyodrębnienia artysty i tytułu, następnie darmowego lustra wikliki, aby pobrać teksty, a następnie eyeD3 ponownie, aby zapisać nowy tag. Zachęcam każdego, kto użyje tego kodu, do wyszukania innego interfejsu API tekstów piosenek, ponieważ ciągłe wykorzystywanie tej samej usługi można uznać za złośliwe.

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

Instrukcje (uruchamiaj polecenia w terminalu):

  1. zainstaluj wgeti eyeD3wydającsudo apt-get install wget eyed3
  2. zapisz powyższy kod w pliku, np /home/user/lyrics_fetcher.sh
  3. dodaj uprawnienie do uruchomienia pliku: chmod u+x /home/user/lyrics_fetcher.sh
  4. uruchom plik (pamiętaj o cudzysłowach): /home/user/lyrics_fetcher.sh "path_to_my_album"
  5. możesz zatrzymać wykonywanie skryptu w dowolnym momencie, naciskając ctrl+c

Sprawdziłem ten kod z albumem „AM” Arctic Monkeys i zrobiło to słodko.

Jeśli naprawdę chcesz pobrać teksty do wszystkich swoich albumów naraz, możesz uruchomić skrypt w pętli dla każdego katalogu. Mimo to nie użyłbym tego jako ostatecznego rozwiązania - wiki i wszyscy, którzy wspierają go przez tworzenie kopii lustrzanych, są dobrymi facetami, a ta odpowiedź ma na celu promowanie myślenia, a nie nadużycia.

cprn
źródło
Zrobiłem dokładnie tak, jak powiedziałeś, zapisałem podany kod jako Lyrics_fetcher.sh w domu, a następnie uruchomiłem polecenie w punkcie 2 w terminalu. Następnie uruchomiłem polecenie „./lyrics_fetcher.sh / home / bharat / Music / Linkin-park / ŻYWE RZECZY ”, teraz nie ma już żadnych wyników. Jestem kompletnym początkującym, pomóżcie mi ...
Bharat
1. Czy uruchamiasz wszystkie polecenia w terminalu? (powinno być wyjście terminalowe) 2. Czy masz zainstalowany wget i eyeD3? Jeśli nie, uruchom „sudo apt-get install wget eyed3”
cprn
@ Bharat, powinieneś był użyć polecenia ./lyrics_fetcher.sh "/home/bharat/Music/Linkin-park/LIVING-THINGS"W folderze, w którym znajduje się skrypt. Brakowało znaków cudzysłowu.
Ads20000
1
@ Ads20000 Dodałem te instrukcje później, gdy zobaczyłem, jakiego rodzaju problem napotkał Bharat. Został powiadomiony.
cprn
Wystąpił błąd (na czerwono) „Kodek ascii” nie może zakodować znaków na pozycjach 25-26: porządek poza zakresem (128) ”podczas uruchamiania skryptu. Co to znaczy?
noir1993
3

Niedawno napisałem skrypt Pythona do automatycznego pobierania i oznaczania tekstów piosenek do Twojej muzyki. Sprawdź to tutaj . Spowoduje to pobranie tekstu jako pliku txt i osadzenie go w pliku .mp3

Demo na Youtube .

Yask
źródło
1
  • lrc.pl to perełkowy skrypt korzystający z pakietu Lyrics :: Fetcher Davida Preciousa , służący do pobierania partii tekstów w formacie MP3.

  • Spróbuj także wtyczki Amarok Ultimate Lyrics . Ultimate Lyrics to konfigurowalny skrypt, który pobiera teksty z wielu stron.

  • Inna opcja: rozszerzenie piosenki dla banshee

Totti
źródło
Naprawdę nie odpowiedziałeś na pytanie - czy możesz pobierać teksty masowo - i przechowywać te teksty offline w samych plikach muzycznych?
fossfreedom
1

jako fan muzyki mogę polecić Ci odtwarzacz Guayadeque , szybki i lekki odtwarzacz z pełnym wyposażeniem, a jeśli się nie mylę, ma domyślnie rozszerzenia tekstów i jest możliwość wyboru więcej, a które, słucham teraz piosenek i pokazuje teksty do każdej piosenki, nawet zespołu bio. Istnieje również możliwość ręcznego przechowywania tekstów piosenek, ale lepiej jest zsynchronizować je z Internetem, w każdym razie to twój wybór.

sudo add-apt-repository ppa:anonbeat/guayadeque

sudo apt-get update

sudo apt-get install guayadeque-svn
Żartowniś
źródło
Naprawdę nie odpowiedziałeś na pytanie - czy możesz pobierać teksty masowo - i przechowywać te teksty offline w samych plikach muzycznych?
fossfreedom
tak, ma wbudowany edytor ustawień / opcji edycji piosenki i wklejania lub pisania tekstów piosenek do odtwarzacza w odtwarzaczu.
JoKeR
@JohnnyD. „sam” - OP ma to zrobić automatycznie w partii, a nie ręcznie jeden po drugim.
cprn
@CyprianGuerra, może źle zrozumiałem, o co pytał :-)
JoKeR
1

buraki to narzędzie wiersza polecenia do organizowania biblioteki muzycznej, która może automatycznie pobierać teksty piosenek, a także wiele innych rzeczy. Ze strony:

Buraki mają na celu przygotowanie Twojej kolekcji muzycznej raz na zawsze. Kataloguje Twoją kolekcję, automatycznie poprawiając jej metadane w miarę korzystania z bazy danych MusicBrainz. Następnie zapewnia bukiet narzędzi do manipulowania muzyką i uzyskiwania do niej dostępu.

W szczególności ma wtyczkę tekstową, która pobiera teksty z Lyric Wiki, Lyrics.com, Musixmatch, Genius.com lub niestandardowego interfejsu API wyszukiwania Google.

Społeczność wokół niego jest bardzo aktywna. Sprawdź to!

fhchl
źródło
0

Mp3nity jest bezpłatne przez 1,5 miesiąca (być może). Następnie musisz kupić wersję premium. Osadza dzieła sztuki na albumach. Możesz uzyskać teksty wszystkich swoich plików muzycznych jednocześnie.

Sakchhyat Bhandary
źródło
0

Osobiście korzystam z wyszukiwarki tekstów: https://www.lyricfinder.org/

Możesz użyć opcji dodawania folderu, aby rekurencyjnie przeszukiwała foldery i znajdowała wszystkie pliki muzyczne, a następnie próbowała znaleźć i dodać teksty do ich znacznika ID3.

TheBlackKoala
źródło
0

Używam lyrico , skryptu Pythona do pobierania tekstów i osadzania ich w meta tagach ID3 lub ogg vorbis.

cweiske
źródło