Wyobraź sobie serwis muzyczny, który nie tylko przechowuje całą Twoją kolekcję w bezstratnej jakości, ale także wyświetla zsynchronizowane teksty piosenek w czasie rzeczywistym, zamieniając każde słuchanie w sesję karaoke. Co więcej, jest całkowicie Twój – bez reklam, bez subskrypcji i bez śledzenia przez algorytmy. To nie futurystyczna wizja, a w pełni osiągalna rzeczywistość dzięki potędze oprogramowania open-source. Potwierdzamy: funkcja karaoke działa doskonale zarówno w webowym interfejsie Jellyfin, jak i w aplikacji Finamp na iPhonie. Ten kompletny przewodnik przeprowadzi Cię przez każdy etap budowy takiego systemu – od instalacji po samodzielne tworzenie plików z tekstami.
W erze dominacji gigantów streamingowych, rośnie ruch entuzjastów „self-hostingu” – samodzielnego zarządzania własnymi danymi i usługami. Zamiast powierzać swoją cyfrową tożsamość korporacjom, budują oni własne, prywatne chmury, serwery mediów i wiele więcej. Ten artykuł to esencja tej filozofii, pokazująca, jak odzyskać kontrolę nad swoją muzyką i wzbogacić ją o funkcje, których próżno szukać u konkurencji.
Architektura Twojego Prywatnego Spotify: Kluczowe Komponenty
Zanim zagłębimy się w konfigurację, musimy zrozumieć fundamenty, na których zbudujemy nasze centrum muzyczne. Sukces zależy od harmonijnej współpracy trzech kluczowych elementów.
- Jellyfin (serwer w wersji 10.9+): To mózg całej operacji. Jellyfin to darmowy serwer mediów, który kataloguje i udostępnia Twoje pliki muzyczne. Wersja 10.9 była rewolucyjna, wprowadzając ustandaryzowane, zarządzane przez serwer podejście do obsługi tekstów piosenek. Oznacza to, że cała „ciężka praca” związana z pozyskiwaniem i przetwarzaniem tekstów odbywa się na serwerze, a aplikacje klienckie jedynie konsumują gotowe dane.
- TrueNAS SCALE: To niezawodny i potężny system operacyjny dla Twojego domowego serwera (NAS). Zbudowany na Linuksie, oferuje oficjalne wsparcie dla uruchamiania aplikacji takich jak Jellyfin w izolowanych kontenerach, co gwarantuje stabilność, bezpieczeństwo i porządek w systemie.
- Finamp i Jellyfin App (klienci mobilni): To Twoje okna na świat muzyki. Finamp, zwłaszcza w swojej przeprojektowanej wersji beta, jest faworytem użytkowników iPhone’ów, ponieważ eliminuje problem przerywania muzyki po wygaszeniu ekranu i doskonale radzi sobie z wyświetlaniem tekstów. Co równie ważne, najnowsze wersje oficjalnej aplikacji Jellyfin również bezbłędnie obsługują funkcję zsynchronizowanych tekstów.
Magia Zsynchronizowanych Tekstów: Anatomia Pliku .lrc
Potwierdzenie, że funkcja karaoke działa, jest ekscytujące. Aby w pełni ją wykorzystać, trzeba zrozumieć, skąd bierze się ta „magia”. Efekt podświetlania tekstu w idealnej synchronizacji z muzyką zależy od formatu pobranego pliku. Sercem tego mechanizmu jest prosty plik tekstowy z rozszerzeniem .lrc
.
- Teksty zsynchronizowane (.lrc/.elrc): To Święty Graal dla fanów karaoke. Pliki te zawierają nie tylko słowa piosenki, ale również precyzyjne znaczniki czasu dla każdej linijki.
- Teksty niezsynchronizowane (.txt): To prostsza forma, zawierająca czysty tekst. W tym przypadku aplikacja będzie go po prostu płynnie przewijać w miarę trwania utworu, bez podświetlania poszczególnych wersów.
Struktura pliku .lrc
jest niezwykle prosta. Każda linijka tekstu jest poprzedzona znacznikiem czasu w formacie [minuty:sekundy.setne sekundy]
.
Przykład budowy pliku .lrc:
[ar: Wykonawca Utworu]
[ti: Tytuł Utworu]
[al: Album]
[00:15.50]Pierwsza linijka tekstu pojawia się po 15.5 sekundach.
[00:19.25]Druga linijka tekstu wchodzi po 19.25 sekundach.
[00:23.00]I tak dalej…
[00:25.10]
[00:27.40]Można też tworzyć puste linijki dla przerw.
Zostań Twórcą Tekstów: Jak Samodzielnie Stworzyć Plik .lrc
Co jeśli wtyczka LrcLib nie może znaleźć tekstu do Twojego ulubionego, niszowego utworu? Nic straconego! Możesz bardzo łatwo stworzyć go samodzielnie.
- Zdobądź tekst: Znajdź w internecie słowa piosenki i skopiuj je.
- Otwórz edytor tekstu: Użyj dowolnego prostego edytora, jak Notatnik (Windows) lub TextEdit (macOS).
- Synchronizuj z muzyką: Odtwarzaj utwór i pauzuj go na początku każdej linijki, aby zanotować dokładny czas (minuty i sekundy).
- Sformatuj plik: Przed każdą linijką tekstu dodaj zanotowany czas w nawiasach kwadratowych, np.
[01:23.45]
. Im dokładniejsze setne sekundy, tym płynniejszy efekt. - Zapisz plik: To najważniejszy krok. Zapisz plik w tym samym folderze, co plik audio, nadając mu dokładnie taką samą nazwę, ale zmieniając rozszerzenie na
.lrc
.- Jeśli plik muzyczny to:
Moja Piosenka - Super Utwór.flac
- Plik z tekstem musi nazywać się:
Moja Piosenka - Super Utwór.lrc
- Jeśli plik muzyczny to:
Po zapisaniu pliku wystarczy ponownie przeskanować bibliotekę w Jellyfin, a serwer automatycznie wykryje i powiąże Twój własnoręcznie stworzony tekst z utworem.
Konfiguracja Serwera – Przewodnik Krok po Kroku
1. Instalacja Wtyczki LrcLib
- W panelu sterowania Jellyfin przejdź do
Wtyczki > Katalog
. - Wyszukaj i zainstaluj oficjalną wtyczkę „LrcLib” z repozytorium Jellyfin. Unikaj przestarzałej wtyczki
jellyfin-lyrics-plugin
autorstwa Felitendo, która nie jest już rozwijana i może powodować błędy. - Koniecznie uruchom ponownie serwer Jellyfin, aby zmiany weszły w życie.

2. Najważniejsza Konfiguracja Biblioteki
To kluczowy, choć nieintuicyjny krok. Domyślnie Jellyfin ukrywa pobrane teksty w folderze metadanych, tworząc „czarną skrzynkę”. Zmienimy to, aby mieć pełną kontrolę.
- Przejdź do
Panel sterowania > Biblioteki
. - Znajdź swoją bibliotekę muzyczną, kliknij menu (trzy kropki) i wybierz
Zarządzaj biblioteką
. - W ustawieniach biblioteki zaznacz opcję „Zapisuj teksty piosenek w folderach z mediami”.
3. Uruchamianie Procesu
- Przejdź do
Panel sterowania > Zaplanowane zadania
. - Znajdź zadanie „Pobierz brakujące teksty piosenek” i uruchom je ręcznie. Ustaw harmonogram (np. codziennie), aby nowo dodana muzyka była przetwarzana automatycznie.
- Po zakończeniu zadania, uruchom ponowne skanowanie biblioteki muzycznej.

Gdy Coś Pójdzie Nie Tak – Zaawansowane Rozwiązywanie Problemów
Nawet przy idealnej konfiguracji, można napotkać problemy. Oto jak sobie z nimi poradzić.
- Pierwsza Zasada Diagnozy: Zawsze sprawdzaj, czy teksty są widoczne w interfejsie webowym Jellyfin w przeglądarce, zanim zaczniesz szukać problemu w aplikacji mobilnej. Jeśli nie ma ich na serwerze, problem nie leży po stronie klienta.
- Rozwiązywanie Problemów ze Skanowaniem i Odświeżaniem Metadanych Czasami, z powodu specyfiki działania systemu, interfejs użytkownika lub baza danych Jellyfin nie odświeża się natychmiast po pierwszym skanowaniu. Objawia się to tym, że mimo wykonania wszystkich kroków, teksty nadal nie są widoczne. Rozwiązaniem jest uruchomienie drugiego skanowania, wybierając tym razem bardziej szczegółową opcję „Wyszukaj brakujące metadane” dla danej biblioteki. Ten dodatkowy krok często zmusza system do ponownego przeanalizowania folderów i zarejestrowania nowych plików
.lrc
. - Ostateczna Broń – Ręczne Czyszczenie Pamięci Podręcznej: Najbardziej uporczywym problemem jest agresywne buforowanie metadanych przez Jellyfin. System tworzy wewnętrzną kopię tekstu i często odmawia jej aktualizacji, nawet jeśli źródłowy plik
.lrc
zostanie zmieniony. Zwykłe odświeżanie z poziomu interfejsu bywa zawodne. Jedyną w 100% skuteczną metodą jest ręczne usunięcie zbuforowanego pliku z systemu plików serwera.- Zlokalizuj ścieżkę konfiguracyjną Jellyfin na serwerze TrueNAS (np.
/mnt/pool/ix-applications/jellyfin/config
). - Uruchom powłokę (Shell) w interfejsie TrueNAS.
- Przejdź do katalogu z buforem tekstów, używając polecenia
cd
i swojej ścieżki:cd /mnt/pool/ix-applications/jellyfin/config/metadata/lyrics
. - Znajdź i usuń problematyczny plik za pomocą polecenia
find
. Zastąp"Tytuł Utworu.lrc"
rzeczywistą nazwą pliku:find . -type f -name "Tytuł Utworu.lrc" -print -delete
. Flaga-print
wyświetli plik przed jego usunięciem. - W interfejsie Jellyfin, przy danym utworze, wybierz
Odśwież metadane
z trybemWyszukaj brakujące metadane
. Jellyfin, zmuszony do działania, pobierze i przetworzy tekst na nowo.
- Zlokalizuj ścieżkę konfiguracyjną Jellyfin na serwerze TrueNAS (np.
Długoterminowe Utrzymanie i Dalsze Kroki
- Higiena Tagowania: Skuteczność pobierania tekstów zależy od jakości metadanych Twojej muzyki. Używaj narzędzi takich jak MusicBrainz Picard, aby Twoje pliki miały dokładne i spójne tagi.
- Kopie Zapasowe: Regularnie twórz kopię zapasową całego folderu konfiguracyjnego Jellyfin (np.
/mnt/pool/ix-applications/jellyfin/config
), aby chronić swoje ustawienia, metadane i dane użytkowników w razie awarii. - Dostęp Zewnętrzny: Kiedy opanujesz już lokalny streaming, naturalnym kolejnym krokiem jest skonfigurowanie bezpiecznego dostępu spoza domu za pomocą Nginx Proxy Manager.
Gratulacje! Właśnie zbudowałeś w pełni funkcjonalny, prywatny i znacznie potężniejszy odpowiednik komercyjnych serwisów streamingowych, z rewelacyjną funkcją karaoke, która ożywi każdą imprezę i samotny wieczór ze słuchawkami.
Dodaj komentarz