Audiohobby.pl

piCorePlayer by bsw

bsw

  • 670 / 5588
  • Ekspert
29-01-2026, 16:43
Zainspirowany konstrukcjami kolegi "Pień" postanowiłem zbudować własny odtwarzacz oparty na zachwalanym systemie piCorePlayer. Aby nie śmiecić w jego tematach (co już się zresztą stało) założyłem własny - worklog.

To już co najmniej 4-ty player który buduję. Wspólnym i niezmiennym założeniem jest to że ma wyglądać jak typowy klocek audio - czyli płaska, metalowa obudowa dopasowana wizualnie do reszty zestawu z ekranikiem, przyciskami i ewentualnie pilotem zdalnego sterowania (RC5).

Pierwszy odtwarzacz (zbudowane dawno temu) były oparty o komponenty komputerów PC, system operacyjny FreeDOS (freedos.org) i znakomity program do odtwarzania Mpxplay (mpxplay.sourceforge.net). Za dźwięk odpowiadała topowa niegdyś karta muzyczna Sound Blaster Live SB410. Było troszkę zabawy z pospinaniem i skonfigurowanie całości ale zdało to egzamin i do tej pory bezproblemowo działa. Kolejny player który zbudowałem ok.5 lat temu miał płytę główną ThinClient, okrojony system operacyjny GNU-Linux (debian.org) i odtwarzacz Music Player Daemon (musicpd.org). Do obsługi panelu sterowania zatrudniłem mikrokontroler ATMEGA a w roli pilota występował smartfon z programem MALP. Tym razem było sporo zabawy z programowaniem. Panel frontowy miał wyświetlacz graficzny a informacje otrzymywał własnym protokołem po UART (RS232). Po stronie Linuxa po współpracy zatrudniłem Pythona. Wyjście audio to DAC USB na układzie PCM2606.

Ale dość historii - jak kto ciekawy mogę rozwinąć. Czas na nową generację - tym razem minikomputerek RaspberryPi. Budowa odtwarzaczy opartych na tym urządzeniu stała się bardzo popularna a wśród nich prym wiedzie system Volumio. Ja nie zwykłem chadzać utartymi ścieżkami, stąd wiele rzeczy chciałem zrobić po swojemu. W sukurs przyszedł kolega "Pień" zwracając moją uwagę na wspomniane już oprogramowanie "piCorePlayer" (picoreplayer.org). Ale ja nie chcę małego dotykowego wyświetlacza na froncie - do "miziania" można wykorzystać smartfon i program Squeezer. To co jest odtwarzane można też po HDMI wysłać na telewizor. Niemniej moje urządzonko ma mieć kontrolny wyświetlacz i prosty panel do sterowania na froncie. Do obsługi tego mam zamiar użyć procesorka ESP8266. Do sterowania maliną może służyć dostępny przez telnet interfejs CLI ale walczę jeszcze z próbą zrobienia tego przez UART. Dźwięk pozyskuję z szyny GPIO za pośrednictwem interfejsu I2S. Póki co do testów użyłem taniego ale jarego DACA PCM5102A.

Ale nie ma lekko - na dzień dobry problemy miałem z zasilaniem, później z dyskiem na USB a teraz walczę z tym UARTEM...

c.d.n.

pień

  • 3187 / 1687
  • Ekspert
29-01-2026, 19:03
Nooo, to teraz ja będę miał gdzie zaśmiecać :)
  W sumie to Ty bsw  wcale świeżak w temacie nie jesteś i już się wkurzałeś nie raz.   No ale sam wiesz że to przyjemne wkurzanie się :)   A gdy jeszcze na końcu zatrybi i wyda głos to  wiadomo, frajdy dużo.   
Trzymam kciuki i wiadomo że śledzić będę.
   No a mnie zaraza bierze chyba jeszcze mocniej.   Poprzedniego jeszcze nie skończyłem a już kombinuję kolejny.
hehehehe
   Taki całkiem tyci tyci na rpi Zero  ale z ekranikiem do smyrania.   Na oczy mi padły takie w rozmiarze 2,5  do 3 cale  :)
 Wiadomo że użyteczność wątpliwa-   ale kurna takiego malucha z telewizorem jeszcze nie widziałem.  Wątpliwe że jakaś fabryka zrobi no to co zostaje?  Samemu trzeba zlepić.

Bacek

  • 2517 / 6545
  • Ekspert
30-01-2026, 14:36
A chodzi na nym Tidal connect?
ali baba and the forty thieves
Ali Baba and the Forty Thieves
Ali Baba and the FORTY THIEVES
ALI BABA AND THE FORTY THIEVES

bsw

  • 670 / 5588
  • Ekspert
30-01-2026, 19:57
A chodzi na nym Tidal connect?
Tak są wtyczki do obsługi LMS dla Tidal, Spotify, iTunes, Youtube Music i wiele innych.

Kilka słów o sofcie:
PiCore to dystrybucja dla malinki minimalistycznej wersji Tiny Core Linux (tinycorelinux.net) i została ona wybrana jako system operacyjny dla oprogramowania piCorePlayer (picoreplayer.org). Oprogramowanie to składa się z dwu części - serwera Lyrion Media Server (lyrion.org) oraz jego klienta - odtwarzacza Squeezelite i może być instalowane na tym samym albo osobnych urządzeniach. Ponadto w jednej sieci lokalnej może się znajdować wiele odtwarzaczy (multiroom) korzystających z jednego lub wielu serwerów które mogą dzielić między sobą zasoby. Oprogramowanie serwera można też zainstalować na zwykłym komputerze czy serwerze NAS (np. popularnym Synology).

Sam serwer LMS - dawniej Logitech Media Server został stworzony 25 lat temu jako serwer muzyki dla sprzętowych odtwarzaczy tej firmy znanych pod handlową nazwą Squeezebox. Firma Logitech porzuciła swoje dziecko ok. 2014 roku ale zostało ono przeportowane na platformę sprzętową raspberryPi (raspberrypi.org) przez społeczność, która rozwija i wzbogaca to oprogramowanie o nowe funkcje.

pień

  • 3187 / 1687
  • Ekspert
06-02-2026, 09:03
 I jak tam bsw?
Woda gładka czy na jakąś rafę nadziałeś się ?   Bo to np:
A chodzi na nym Tidal connect?
  Łooo, panie kochany-   trudno znaleźć coś co nie chodzi :)   Tylko że startowo to nie jest taki > plug and play<  że podłączy nawet przypadkowo przechodzącą muchę koło gniazdka  (Tidale-Qobuzy i inne Spotyfaje to w sumie muchy i są).   Trzeba najpierw w szczególnych przypadkach nieźle przeryć pole z wtyczkami.   Co bywa uroczo wq..   wnerwiające :)

bsw

  • 670 / 5588
  • Ekspert
10-02-2026, 10:56
I jak tam bsw?
Woda gładka czy na jakąś rafę nadziałeś się ?
Na razie na wodzie kra tzn. projekt musiałem zamrozić z braku czasu i w tym stanie niestety będzie do końca bieżącego miesiąca.

Ale dzięki że pytasz bo działo się dużo. Zamknąłem pierwszy milestone czyli zakończenie konfiguracji piCorePlayera. Miałem przy tym trochę zabawy (nie licząc problemów z zasilaniem i dyskiem).

1. Na początek chciałem uruchomić zewnętrzny DAC na PCM5102A. Taka mała płyteczka do której dostajemy 6 kabelków żeńsko-żeńskich - w sam raz do podłączenia z GPIO malinki - trzeba tylko wiedzieć gdzie wrazić. Z opisów na necie stało że wystarczy podpiąć:
  • BCK >> Pin 12 (GPIO 18 - PCM_CLK)
  • DIN >> Pin 40 (GPIO 21 - PCM_DOUT)
  • LRCK >> Pin 35 (GPIO 19 - PCM_FS)
  • GND >> Pin 5 (Ground)
  • VIN >> Pin 2 (5V power)
Niestety nie wystarczyło bo malinka wieszała się przy próbie inicjalizacji DACa - trzeba jeszcze podpiąć SCK do masy np:
  • SCK >> Pin 14 (Ground)

Teraz malinka już startuje ale nadal nic nie słychać, bo jak się okazuje trzeba jeszcze tego DACA wstępnie skonfigurować... kropelkami cyny od spodu płyteczki:
  • 1-FLT (Filter) -> LOW (Normal latency)
  • 2-DEMP (De-Emphase) -> LOW (none)
  • 3-XSMT (Soft Mute) -> HI (unmute)
  • 4-FMT (Format) -> LOW (Standard I2S)
I dopiero teraz gra i nie buczy :-)

2. Kolejny punkt - dla mnie dość zasadniczy - to pobieranie danych o aktualnie odtwarzanym kawałku oraz sterowanie.
Po tego można wykorzystać interfejs CLI (Command Line Interface) serwera Lyrion Music Server (LMS). Po włączeniu mamy dostęp przez TELNET - tzn. odpalamy na kompie komendę:
telnet [IP_MALINY] 9090
 i teraz możemy sobie pisać np:
mode ? - zwraca play lub pause - zatem możemy też 
play
pause
przeskok następny poprzedni to odpowiednio:
playlist index +1
playlist index -1
można też uzyskać inne informacje:
time ?
duration ?
artist ?
title ?
Ale najciekawsze jest skondensowana porcja:
status - 1 tags:atlyg

I o to mi mniej więcej chodziło z tym że chciałem to dostać nie przez sieć ale po UART (RS232). Po krótkiej walce się udało. Trzeba doinstalować dodatek "socat.tcz" i wpisać w [Tweaks] User command #1:
socat /dev/ttyAMA0,b115200,raw,echo=0 TCP:127.0.0.1:9090

Co w skrócie spowoduje przekierowanie telneta a tym samym CLI na wewnętrzny UART (ttyAMA0) ze znośną prędkością 115200 bodów. Teraz komendy mogę sobie bez sieci klepać na terminalu szeregowym - ale docelowo tę komunikację będzie obsługiwać mój własny panel frontowy.

3. Obudowa i panel frontowy.
Ten etap będzie wymagał prac mechanicznych co muszę robić w garażu zatem temperatury powyżej zera byłyby wskazane.
Tymczasem zamierzam zakupić nieco lepszy DAC (jak Ty to mówisz czapeczkę) - coś opartego na PCM5122. Z tym że większość dostępnych czapeczek czy kapeluszy (HAT) zawłaszcza na wyłączność cały GPIO a ja potrzebuję dostęp do niektórych pinów zatem muszę kupić kapelusz z przejściówką tych pinów…

Tylko że startowo to nie jest taki > plug and play<
[..]
Co bywa uroczo wq..   wnerwiające :)
Akurat w tym szaleństwie jest metoda która już wyczaiłem. Może pokuszę się o wklejenie tutaj małego HOWTO który zanotowałem na własne potrzeby ale może komuś się przyda...

pień

  • 3187 / 1687
  • Ekspert
10-02-2026, 12:28
Co bywa uroczo wq..   wnerwiające :)
Akurat w tym szaleństwie jest metoda która już wyczaiłem. Może pokuszę się o wklejenie tutaj małego HOWTO który zanotowałem na własne potrzeby ale może komuś się przyda...

  Pisz Waść , ja tam prenumeratę zakładam :)   

  Poza tym jeszcze muszę kilka razy przeczytać co stoi, żeby mi dobrze zatrybiło.   Bo ja tam średnio na jeża i za cokolwiek się złapię w temacie to najpierw rycie w necie co do czego hehehehe

pień

  • 3187 / 1687
  • Ekspert
10-02-2026, 13:16
Tymczasem zamierzam zakupić nieco lepszy DAC (jak Ty to mówisz czapeczkę) - coś opartego na PCM5122. Z tym że większość dostępnych czapeczek czy kapeluszy (HAT) zawłaszcza na wyłączność cały GPIO a ja potrzebuję dostęp do niektórych pinów zatem muszę kupić kapelusz z przejściówką tych pinów…

Musi to rusi :)   Co się będziesz ograniczać?  Bierz ten co Tobie pasuje  a do potrzebnych pinów dolutujesz się drutami z partyzanta.
 Albo przelotki małe i nadziane na piny a potem wszysko ściśnięte samym łączem GPIO.
    Sprawdzałem takie cóś i działa hehehehe

bsw

  • 670 / 5588
  • Ekspert
Dzisiaj o 10:00
Bierz ten co Tobie pasuje  a do potrzebnych pinów dolutujesz się drutami z partyzanta.
Albo przelotki małe i nadziane na piny a potem wszysko ściśnięte samym łączem GPIO.
No właśnie nie chcę takiego druciarstwa - ma być elegancko. Chociaż patent z wlutowaniem się bezpośrednio do płytki RPI zastosuję ale do zasilania. Po pierwsze gniazdo micousb nie jest mechanicznie dopracowane ale poważniejszy powód to przystawienie kanapki (RPI+HAT) do tylnej ścianki. Wycięte będą tylko otwory na HDMI i CHINCH - i to powinno wyglądać ok. Będę musiał jeszcze przedłużyć RJ45 ale do tego są takie specjalne przykręcane gniazdka z przedłużką.

Co do DAC to raczej kupię "IQaudio DAC Pro" - ma wystawione PINy GPIO i wlutowane gniazdo CHINCH z dodatkowym otworem stabilizującym. Oprócz mechanicznych zalet bazuje na nowszym układzie PCM5242 o nieco lepszych parametrach niż ten z HiFiBerry (PCM5122), chociaż nie ma zegara :-( . Ale jak dla mnie ok, tylko zastanawiam się czym się różni wersja z botlandu od tej kamami - oprócz koloru płytki ;-)

Obudowę zaadoptuję z napędu CD - kupiłem tanio uszkodzony. Nie działa mu kręcenie płytą - próbowałem nawet przeszczepić silnik ale nie pomogło. Tak wiec bebechy wyjąłem i obudowa jest do mojej dyspozycji. Tył jest łatwy do ogarnięcia, gorzej z przodem. Tutaj musze zrobić własny frontpanel z amelinium - będzie trochę zabawy bo musi być elegancko i praktycznie.
« Ostatnia zmiana: Dzisiaj o 10:17 wysłana przez bsw »

pień

  • 3187 / 1687
  • Ekspert
Dzisiaj o 11:16
Spoko :)   nie każdy lubi druciarstwo jak ja hahahahha.
   W sumie to ja też nie bardzo tyle że zwyczajnie mniej idę na kompromis gdy do łba mi przyjdzie jakaś dziwna obudowa np.  i coś zaczyna haczyć :)   Jeżeli trzeba to ja tam nawet kawałek płytki potrafię urąbać -  jeżeli to jej nie zabije na amen oczywiście.
 
Ciekawym jak wypadnie ten >"IQaudio DAC Pro.
  A co do różnic w kolorach od różnych dostawców to myślę że ideowo nie ma różnic.   To chyba tam się odbywa wszystko na zasadzie >  biuro gdzie wymyślają a  projekt chętnym za drobną opłatą,  odstępują.  Jest potem wersji kolorystycznych tyle ile wiosek w chinach.
  Pechozol gdy na jakiegoś papudraka trafisz przypadkiem.