Cześć wszystkim!
Od dobrych nastu lat zabieram się za produkcję własnego zestawu stereo. Kolumny, po ciężkich bojach, są już na ukończeniu – zostały detale i mam nadzieję, że w tym roku w końcu zamknę ten temat. Jednak wciąż z tyłu głowy siedzi mi autorski wzmacniacz/streamer.
Moja droga była kręta:
Volumio i podobne softy są super, jak chcesz tylko streamingu (Spotify, YT i koniec). Mój projekt idzie o krok dalej:
W poniedziałek startuję z wersją Alpha 0.10. Mam nadzieję, że to ostatnia prosta. Plan na start jest minimalistyczny:
Wrzucam link do repozytorium (wszystko Open Source). Polecam gałąź new_project, bo tam dzieje się najwięcej:
https://github.com/xtreamx2/streamer
Fotki z postępów wrzucę niebawem. Co o tym sądzicie?
PS. Ekran będzie obsługiwany przez RP2040 - bo musi działać nawet jak Raspberry będzie wstawać. To interakcja już będzie od strzała.
ps2 - Repo jeszcze nie dostepne na gicie - EDIT, Już jest.
v0.10.1 :
- widok jak na dole - interfejs WWW.
- działa Radio
- uruchomiona obsługa bluetooth
- stabilne 60st na procesorze (optymalna praca)
bug:
- problemy z interface
- czasami apka zailcza crush
- znikające podstrony

2026-03-09 13:22:30,182 INFO [__main__] Inicjalizacja managerów...
2026-03-09 13:22:30,184 INFO [core.uart_manager] UART start: /dev/ttyAMA0 @ 115200
2026-03-09 13:22:30,185 INFO [core.uart_manager] UART connected: /dev/ttyAMA0
2026-03-09 13:22:30,190 INFO [__main__] Przywracanie ostatniego źródła...
2026-03-09 13:22:30,191 INFO [core.source_manager] Switch: None → radio
2026-03-09 13:22:30,194 INFO [core.source_manager] Active: radio
2026-03-09 13:22:30,266 INFO [__main__] Streamer v3.0 — http://0.0.0.0:8000
2026-03-09 13:22:30,267 INFO [__main__] ALSA: hw:sndrpihifiberry,0
2026-03-09 13:22:30,267 INFO [__main__] UART: /dev/ttyAMA0 @ 115200
* Serving Flask app 'app'
* Debug mode: off
2026-03-09 13:22:30,279 INFO [werkzeug] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:8000
* Running on http://192.168.1.71:8000
2026-03-09 13:22:30,279 INFO [werkzeug] Press CTRL+C to quit
2026-03-09 13:22:30,536 INFO [sources.radio] Radio play: http://stream.trance.ie:8000/tpmixes
2026-03-09 13:22:30,613 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:30] "GET /api/status HTTP/1.1" 200 -
2026-03-09 13:22:30,635 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:30] "POST /api/radio/play HTTP/1.1" 200 -
2026-03-09 13:22:30,959 INFO [sources.radio] Decoder: audio/x-raw
2026-03-09 13:22:30,977 INFO [sources.radio] Title: Ana Criado — Still There's You (A.R.D.I. Remix)
2026-03-09 13:22:33,579 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:33] "GET /api/status HTTP/1.1" 200 -
2026-03-09 13:22:37,104 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:37] "POST /api/volume HTTP/1.1" 200 -
2026-03-09 13:22:37,812 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:37] "POST /api/volume HTTP/1.1" 200 -
2026-03-09 13:22:38,558 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:38] "GET /api/status HTTP/1.1" 200 -
2026-03-09 13:22:41,149 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:41] "POST /api/volume HTTP/1.1" 200 -
2026-03-09 13:22:41,770 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:41] "POST /api/volume HTTP/1.1" 200 -
2026-03-09 13:22:42,042 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:42] "POST /api/volume HTTP/1.1" 200 -
2026-03-09 13:22:42,297 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:42] "POST /api/volume HTTP/1.1" 200 -
2026-03-09 13:22:43,582 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:43] "GET /api/status HTTP/1.1" 200 -
2026-03-09 13:22:48,562 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:48] "GET /api/status HTTP/1.1" 200 -
2026-03-09 13:22:53,550 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:53] "GET /api/status HTTP/1.1" 200 -
Od dobrych nastu lat zabieram się za produkcję własnego zestawu stereo. Kolumny, po ciężkich bojach, są już na ukończeniu – zostały detale i mam nadzieję, że w tym roku w końcu zamknę ten temat. Jednak wciąż z tyłu głowy siedzi mi autorski wzmacniacz/streamer.
Moja droga była kręta:
- Lampa: Najpierw marzył mi się prosty wzmacniacz lampowy (nawet 1W), ale o lampach wiem niewiele, a im więcej czytałem o transformatorach głośnikowych, tym szybciej przybywało mi siwych włosów.
- Gainclone: Później padło na projekt Gainclone z Arduino, ale czułem, że to zbyt ograniczone rozwiązanie.
- Volumio: Przez kilka lat używałem Volumio. Malinka leżała "nago" na komodzie i... tak leży do dziś. Nic się nie zmieniło.
O co walczę?
Nie interesuje mnie radio internetowe z pogodą, polityką i durnymi komentarzami dziennikarzy. Odpaliłem RMF – działa, ale to potrafi nawet kalkulator. Znalazłem stację Trance Pulse, która nadaje w wysokiej jakości i tu mój projekt poległ – po każdym utworze przepełniał się bufor i system stawał "jak widły w gnoju".Volumio i podobne softy są super, jak chcesz tylko streamingu (Spotify, YT i koniec). Mój projekt idzie o krok dalej:
- Serce: Początkowo miał być STM32, ale uznałem, że to walka z wiatrakami. Wybrałem Raspberry Pi 3B (wersja bez Wi-Fi, co mi nie przeszkadza).
- DAC: Aktualnie PCM5102. Docelowo planuję PCM5122 lub jakieś dedykowane DSP, jak budżet pozwoli.
- Analog Input (To mnie odróżnia!): Realizowane na PCM1808. Nie znalazłem niczego lepszego/tańszego, co trzymałoby przyzwoitą jakość przy wprowadzaniu analogu do cyfry.
- Selektor wejść: Szalony pomysł na przełącznik analogowy 4:1 sterowany po szynie I2C. Pierwsze wejście będzie dedykowane pod gramofon.
- Digital In: Planuję wejście SPDIF jako czwarte źródło (prawdopodobnie przez prosty przetwornik D/A, żeby sprowadzić to do wspólnego mianownika). Później może cos lepszego
- Bluetooth: jako ostanie wejście.
Główny wróg: Oprogramowanie
O ile Linux sam w sobie jest przewidywalny, to soft audio ma własne życie. Albo gra muzyka, ale nie działa korektor, albo podpięcie enkodera pod GPIO gryzie się z przerwaniami audio i wszystko trzeszczy.W poniedziałek startuję z wersją Alpha 0.10. Mam nadzieję, że to ostatnia prosta. Plan na start jest minimalistyczny:
- Stabilne radio internetowe.
- Interfejs webowy do podstawowego sterowania (wgrywanie/usuwanie stacji).
Wrzucam link do repozytorium (wszystko Open Source). Polecam gałąź new_project, bo tam dzieje się najwięcej:
Fotki z postępów wrzucę niebawem. Co o tym sądzicie?
PS. Ekran będzie obsługiwany przez RP2040 - bo musi działać nawet jak Raspberry będzie wstawać. To interakcja już będzie od strzała.
ps2 - Repo jeszcze nie dostepne na gicie - EDIT, Już jest.
v0.10.1 :
- widok jak na dole - interfejs WWW.
- działa Radio
- uruchomiona obsługa bluetooth
- stabilne 60st na procesorze (optymalna praca)
bug:
- problemy z interface
- czasami apka zailcza crush
- znikające podstrony

2026-03-09 13:22:30,182 INFO [__main__] Inicjalizacja managerów...
2026-03-09 13:22:30,184 INFO [core.uart_manager] UART start: /dev/ttyAMA0 @ 115200
2026-03-09 13:22:30,185 INFO [core.uart_manager] UART connected: /dev/ttyAMA0
2026-03-09 13:22:30,190 INFO [__main__] Przywracanie ostatniego źródła...
2026-03-09 13:22:30,191 INFO [core.source_manager] Switch: None → radio
2026-03-09 13:22:30,194 INFO [core.source_manager] Active: radio
2026-03-09 13:22:30,266 INFO [__main__] Streamer v3.0 — http://0.0.0.0:8000
2026-03-09 13:22:30,267 INFO [__main__] ALSA: hw:sndrpihifiberry,0
2026-03-09 13:22:30,267 INFO [__main__] UART: /dev/ttyAMA0 @ 115200
* Serving Flask app 'app'
* Debug mode: off
2026-03-09 13:22:30,279 INFO [werkzeug] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:8000
* Running on http://192.168.1.71:8000
2026-03-09 13:22:30,279 INFO [werkzeug] Press CTRL+C to quit
2026-03-09 13:22:30,536 INFO [sources.radio] Radio play: http://stream.trance.ie:8000/tpmixes
2026-03-09 13:22:30,613 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:30] "GET /api/status HTTP/1.1" 200 -
2026-03-09 13:22:30,635 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:30] "POST /api/radio/play HTTP/1.1" 200 -
2026-03-09 13:22:30,959 INFO [sources.radio] Decoder: audio/x-raw
2026-03-09 13:22:30,977 INFO [sources.radio] Title: Ana Criado — Still There's You (A.R.D.I. Remix)
2026-03-09 13:22:33,579 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:33] "GET /api/status HTTP/1.1" 200 -
2026-03-09 13:22:37,104 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:37] "POST /api/volume HTTP/1.1" 200 -
2026-03-09 13:22:37,812 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:37] "POST /api/volume HTTP/1.1" 200 -
2026-03-09 13:22:38,558 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:38] "GET /api/status HTTP/1.1" 200 -
2026-03-09 13:22:41,149 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:41] "POST /api/volume HTTP/1.1" 200 -
2026-03-09 13:22:41,770 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:41] "POST /api/volume HTTP/1.1" 200 -
2026-03-09 13:22:42,042 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:42] "POST /api/volume HTTP/1.1" 200 -
2026-03-09 13:22:42,297 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:42] "POST /api/volume HTTP/1.1" 200 -
2026-03-09 13:22:43,582 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:43] "GET /api/status HTTP/1.1" 200 -
2026-03-09 13:22:48,562 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:48] "GET /api/status HTTP/1.1" 200 -
2026-03-09 13:22:53,550 INFO [werkzeug] 192.168.1.84 - - [09/Mar/2026 13:22:53] "GET /api/status HTTP/1.1" 200 -
Ostatnia edycja: