• Witamy w największym polskim serwisie internetowym poświęconym w całości zagadnieniom samodzielnej budowy nagłośnienia.
    Dzięki DIYaudio.pl poznasz zagadnienia samodzielnej budowy nagłośnienia od podszewki oraz będziesz mógł dyskutować o DIY audio do woli.

    Artykuły z dawnego portalu zostały przeniesione do sekcji forum na samym dole.

Mój własny streamer/preamp: Reaktywacja (Alpha 0.10). Walka z materią i kodem

Rejestracja
Paź 3, 2022
Postów
20
Reakcji
2
Lokalizacja
Green Mountain City
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:

  1. 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.
  2. Gainclone: Później padło na projekt Gainclone z Arduino, ale czułem, że to zbyt ograniczone rozwiązanie.
  3. 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.
Dziś mam już pełną świadomość ograniczeń sprzętowych i programowych. Właśnie uśmierciłem swoją 9. wersję projektu (Alpha 0.9). Dlaczego? Bo szukam czegoś więcej niż "gotowca".

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.
Dodatki typu dotykowy ekran czy enkodery to dla mnie oczywistość – to ma być solidny, stacjonarny streamer.

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:

  1. Stabilne radio internetowe.
  2. Interfejs webowy do podstawowego sterowania (wgrywanie/usuwanie stacji).
Większość gratów już mam na stole. Jeśli ktoś z Was budował coś podobnego, walczył z implementacją wejść analogowych w malinie albo ma sprawdzone sposoby na stabilne bufory przy streamingu Hi-Res – będę wdzięczny za każdą wskazówkę, przemyślenia, a nawet konstruktywny hejt.

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.
 
Powrót
Góra