Raspberry Pi i HiFI zvuk

Revizija: 4.1 – 01052015

U ponudi je nova verzija RaspyPlay4 namenjena isključivo Raspberry Pi B+, A+ i Raspberry Pi 2 modelima. Od 19. januara 2015. eksluzivno pravo proizvodnje i prodaje dobila je firma Mikroelektronika. Stranica sa opisom i električnom šemom se nalaze na stranicama Mikroelektronike, koju možete posetiti ovde.

UREĐAJ JE NAMENJEN ZA HIFI REPRODUKCIJU MUZIKE IZ FLAC, ALAC, MP3, WMA ILI SA WEB RADIO STREAM-A. KARAKTERISTIKE IZLAZA SPADAJU U HI-END KLASU. MOŽDA ĆE AUDIOFILIMA BITI IPAK NEDOVOLJNA, MEĐUTIM ZA NOVAC KOJI JE POTREBNO ULOŽITI DA BI SE IZRADIO OVAKAV PLEJER SMATRAMO DA JE KVALITET REPRODUKCIJE APSOLUTNO ZADOVOLJAVAJUĆ. POGLEDAJTE KARAKTERISTIKE I PROCENITE SAMI DA LI VREDI DATI ŠANSU OVOM UREĐAJU 🙂

Izgled RaspyPlay 3 modula koji je namenjen starijim verzijama RaspberryPi B 

Izgled RaspyPlay 4 modula koji je namenjen starijim verzijama RaspberryPi B+/A+/2B

Zahvaljujem se Danijelu Dabiću na odličnom dizajnu i izradi kutija za Raspberry Pi i RaspyPlay4 DAC

Nakon višegodišnjeg istraživanja šta je to što danas može biti realizovano u samogradnji a da nam omogući zaista kvalitetan izvor digitalnog zvuka, možemo reći da je uređaj koji prezentujemo to u potpunosti realizovao. CD plejeri koji su godinama imali neprikosnoven zvuk (CD uređaji visokog kvaliteta i cene) polako odlaze i na njihovo mesto stupaju gramofoni ali i music stream-eri. Naša prvobitna ideja je bila da uz pomoć nekog multimedijalnog mikrokontrolera iz više klase kada je u pitanju procesiranje i količina memorije izradimo HiFi plejer. Međutim nakon analize mogućnosti i cene trenutno prisutnih mini računara više nije bilo dileme. Za potrebe procesiranja, dekodiranja i finalno korisničkog interfejsa, Raspberry Pi mini računar bio je pravi izbor jer se po zaista niskoj ceni dobija jedna odlična multimedijalna mašina pod Linux operativnim sistemom koja ima jedini nedostatak – loš audio izlaz. Ovaj problem je nakon par meseci testiranja raznih DAC modula i pristupa povezivanju istih na Raspberry konačno poprimio svoj pravi i po mnogima apsolutno zadovoljavajuć oblik – RaspyPlay modul baziran na PCM5102A DAC-u oživeo je prvoklasan i jako fleksibilan music streamer. U verziji RaspyPlay4 ugrađen je nešto bolji po pitanju funkcionalnosti PCM5122 čija je glavna razlika od prethodnika ugrađena hardverska volume kontrola i podešavanje filtera direktno iz softvera Raspberry Pi računara.

OSNOVNE KARAKTERISTIKE:

  • Audio izlaz ima sledeće karakteristike

SNR: 112dB Dynamic Range: 112dB THD+N @ – 1dB FS: –93dB Full Scale Output: 2.1VRMS (GND center)

  • Formati zvučnih zapisa koje može da reprodukuje: FLAC, ALAC, MP3, AAC, WMA
  • Direktan stream-ing WEB radio stanica (podržana je vićina visokokvalitetnih formata AAC, MP3…)
  • LAN konekcija
  • Reprodukcija fajlova je moguća sa NAS servera, USB FLASH memorije, USB Hard Diska, SD kartice ili upotrebom AirPlay stream-a
  • WEB orjentisani korisnički interfejs
  • Klijent aplikacije za kontrolu plejera na platformama: Linux, Windows, Android, iPhone
  • Cenovno spada u low-budget kategoriju, u trenutku pisanja teksta okvirna cena za kompletan uređaj je manja od 100 eura
  • Opcioni LCD prikaz numera

Krenimo redom:

Kako bi se izradio ovakav jedan uređaj bilo je potrebno rešiti nekoliko problema. Današnji trend visokokvalitetnih muzičkih formata koji su kompresovani u lossless formatu zahteva prilično “moćan” hardver kako bi se njihova reprodukcija vršila bez prekidanja i neprijatnog “seckanja”. Iako na tržištu postoji dosta dobar izbor multimedijalnih mikrokontrolera, njihova implementacija bi zahtevala jako kompleksne i višeslojne (4 sloja i više) štampane ploče kako bi se omogućio nesmetan i stabilan rad. Dodatna potreba za velikom količinom RAM memorije dodatno je komplikovala razvoj ovakvog uređaja na bazi standardnih mikrokontrolera. Veoma lepo i jednostavno rešenje pronađeno je u Raspberry Pi mini računaru. Iako su njegove dimenzije kao kreditna kartica, on u sebi sadrži jako moćan ARM procesor sa 512MBy RAM memorije, LAN konekcijom i USB portovima. Ovo je upravo ono što je potrebno jednom mikrokontrolerskom audio procesoru odnosno izvoru zvuka. Cenovno je pristupačan tako da je naša potraga za platformom koja će nositi ceo ovaj projekat bila završena. Detalje o Raspberry Pi mini računaru možete pronaći ovde.

Potrebu oko softverskog dela potrebnog za reprodukciju muzičkih formata rešeio je Linux OS prilagođen upravo ovom malom računaru. Edicija Volumio operativnog sistema je jako slična Ubuntu ediciji koju često možemo sresti i na PC računarim i time se dobila prilična kompatibilnost sa već postojećim linux aplikacijama za bezmalo sve potrebe koje sa sobom nosi ovaj naš uređaj.

Naposletku ostalo je rešiti još samo jedan, pokazalo se veliki, problem – kvalitet zvuka na Raspberry Pi računaru je jako loš. Mnogi ga porede sa automatima za igranje iz doba prošlog veka. Današnji standard koji se koristi za digitalni prenos zvuka nosi ime I2S (Integrated Interchip Sound) i omogućava priličnu standardizaciju digitalne zvučne opreme. Srećna okolnost je da se upravo ovaj interfejs nalazi na posebnom konektoru P5 na Raspberry ploči. Ovaj interfejs je jako sličan SPI interfejsu na koji smo standardno navikli kod mikrokontrolera. I2S interfejs sadrži se od 4 signala: DATA, BCK, LRCK, MCLK

Međutim I2S signali sa Raspberry-a ne sadrže i MCLK koji je, ispostavilo se, jako kompleksno generisati (ide i do 49MHz) i sinronizovati ga sa ostala tri signala. Rešenje je nađeno u izvanrednom Audio DAC čipu PCM5102A odnosno PCM5122. Iako MCLK signal na ovaj DAC možemo dovesti od spolja, jako lepa mogućnost je da on u sebi sadrži i PLL generator MCLK signala koristeći BCK signal.

Dodatni izazov bilo je projektivanje štampane pločice koja će zadovoljiti mogućnosti ovog DACa u pogledu šuma. Izvor napajanja je takođe pažljivo odabran gde je naponski regulator sa ultra-low-noise karakteristikom i dovoljno velikim PSRR-om.

HARDWARE:

Pored DAC čipa na štampanoj pločici implementirali smo i konektor za LCD kao i prateće komponente koje su neophodne za rad DAC-a. Potenciometar koji se nalazi pored LCD konektora omogućava podešavanje kontrasta. Napon audio izlaza iz ovog DAC-a nije moguće podešavati hardverski, ali zahvaljujući softverskoj implementaciji kontrole jačine ovo je takođe moguće postići. Mnogi su ovaj način kontrole jačine diskvalifikovali kao dobar jer navodno kvari zvuk, ali detaljnom analizom kako to radi, smatramo da nije tako. Na vama je da odlučite da li ćete koristiti kontrolu jačine ili ćete ovo prepustiti izlaznom pojačavaču, odnosno njegovom pretpojačavaču.

Slika 1 – Izgled električne šeme veza RaspyPlay3 modula

Na slici 1 prikazana je električna šema RaspyPlay3 modula. Bitno je napomenuti da je dvoslojna štampana pločica omogućila što bolju implementaciju umašenja i razdvajanje signala i time je postignut prilično dobar SNR. LCD module koje preporučujemo su isključivo sa belim pozadinskim osvetljenjem (tzv. plavi) ili OLED koji imaju svoj jako dobar kontrast i spadaju u pravu “poslasticu” za ovaj uređaj 🙂 Standardni zeleno-žuti takođe se mogu koristiti ali obavezno obratiti pažnju na struju pozadinskog osvetljenja koja ne bi trebalo da bude veća od 50mA. Kod plavih LCD-a obično je 30mA dok OLED ne zahteva pozadinsko osvetljenje zbog principa rada.

SOFTWARE:

Pored hardvera koji je bitan za rad moramo se osvrtnuti i na potreban softver koji će oživeti ovu našu malu HiFi napravu. Cela problematika sa I2S konekcijom počela je još 2012. godine, ali je tek velikim naporom Floriana Meiera implementacija urađena kako treba. U prvoj polovini 2013. godine bilo je potrebno preuzeti izvorne kodove I2S drajvera i prekompajliranjem kernela implementirati ih u OS. Ovo je bilo jako zahtevno i tek nakon više od 10 meseci I2S drajveri su postali standardna postavka u kernelu 3.10.24. i novijim. Nakon toga veliki broj distribucija mogao je bez većih problema da iskoristi I2S izlaz iz Raspberry Pi mini računara. U trenutku pisanja ovog teksta aktiviracija I2S modula u standardnoj Rasbian distribuciji je jednostavno:

Omogućite RaspyPlay3 modul u /etc/modules, dodavanjem sledećih linija:

snd_soc_bcm2708
snd_soc_bcm2708_i2s
bcm2708_dmaengine
snd_soc_pcm5102a
snd_soc_hifiberry_dac

Reboot

Kod verzija Raspbian-a iz 2015. uključenje drajvera za PCM5102 i PCM5122 se drugačije izvodi. Implemeniranjem “device tree overlay”-a mislim da je dosta toga pojednostavljeno. Pogledati detalje ovde.

Još dok je SD kartica u čitaču na PC računaru, pronaći config.txt na samoj SD kartici OS-a i u njemu omogućiti za RaspyPlay3 “hifiberry-dac” odnosno za RaspyPlay4 “iqaudio-dac” kao što je to prikazano u našem primeru.

# Uncomment one of these lines to enable an audio interface
#device_tree_overlay=hifiberry-dac
#device_tree_overlay=hifiberry-dacplus
#device_tree_overlay=hifiberry-digi
#device_tree_overlay=hifiberry-amp
device_tree_overlay=iqaudio-dac
#device_tree_overlay=iqaudio-dacplus

Sada tako podešenu SD karticu, postaviti u Raspberry Pi i pokrenuti ga.

Da bi podešavali parametre OS-a sa udaljenog računara možete koristiti recimo Putty

Međutim pravi užitak u ovom HiFi uređaju donele su tek specijalne edicije namenjene upravo ljubiteljima HiFi zvuka bez potrebe da se razumeju u Linux operativne sisteme. Najpoznatiji među njima su:

VOLUMIO Ovaj Linux HiFi OS baziran je na prilično stabilnoj i popularnoj Debian distribuciji
RuneAudio Ovaj Linux HiFi OS baziran je na ArchLinux distribuciji i svakako probajte i njega
Moode Ovo je najmlađi od njih, ali veoma atraktivan i drugačiji od prethodna dva, obavezno ga probajte

Prednosti korišćenja ovih namenskih OS-ova su višestruke. Sva potrebna podešavanja moguće je izvršiti i putem WEB shell interfejsa iz bilo kog web pretraživača. Takođe po tvrdnjama autora isključeni su nepotrebni servisi čime se smanjuje šum u sistemu i vek trajanja SD memorijske kartice, WiFi konekcija, USB flash automatsko prepoznavanje, NAS sharing, WEB stream, itd… Odmah po instalaciji sve ovo je omogućeno. AirPlay streaming modul je takođe implementiran.

Iz nekog mog ugla, nedostatak je jednostavan web interfejs (koji je iskreno, potpuno funkcionalan) i uz malo truda dogradnjom na Raspbian ediciji moguće je postići sve gore pomenuto sa još atraktivnijim web interfejsom ali ovo ipak zahteva poznavanje Linux OS-a i njegovo podešavanje. Za ambiciozne preporuka je da svakako pogledaju ovaj web shell: Client175

Primeri kako izgleda web shell kada pristupate pomenutim HiFi Linux OS-ovima:

Kako je linux open source zajednica veoma aktivna, i ambicije razvojnih timova obe ove distribucije su velike, u narednim mesecima treba očekivati prilično velika poboljšanja pre svega u korisničkom interfejsu ovih HiFi OS-ova, stabilnost je sve bolja sa novijim korekcijama pa ukoliko želite da pakujete vaš Raspberry Pi HiFi plejer u neku kutiju za trajno, nemojte to još uvek da radite 😉

Klijentski softveri za mobilne telefone i PC:

Glavni servis (deamon) koji koriste sve pomenute edicije, za manipulaciju muzičkim fajlovima, je popularni MPD. Time je i podrška klijentskih softvera za kontrolu ovog našeg HiFi plejera je prilično velika. Ukoliko nekome ne odgovaraju prikazani web shell-ovi, plejer je moguće kontrolisati i putem mobilnih telefona (Android ili iPhone), tabletima,  PC računarom. Neki od popularnijih client softvera su:
Windows: GMPC, Auremo
Android: MPDroid
iPhone: reMPD
Kompletan spisak možete pogledati ovde

Ukoliko ste zainteresovani za izradu ovakvog plejera možemo vam ponuditi profesionalno izrađene štampane pločice, gotove module i naravno pomoć u oživljavanju ili izradi samog uređaja. Kontaktirajte nas.

You may also like...

10 Responses

  1. dusan says:

    Cao,

    jel moze Raspberry Pi i HiFI da se koristi na B+ modelu?
    I da li moze da radi paralalno sa XBMC-om?

    • Pozdrav 🙂

      Verzija RaspyPlay3 koja je prikazana na ovim stranicama, uz pomoć par žica moguće je da se poveže i na RPy B+. U svakom slučaju u pripremi je nova verzija RaspyPlay4 koja je specijalno namenjena za RPy B+ i jednostavnija je za montažu

      XBMC lično nisam još uvek testirao, ali imam povratne informacije od korisnika da to radi…

  2. RaspyPlay4 je konačno u ponudi. Namenjen je isključivo za Raspberry Pi B+ i A+ modele. Najveća izmena u odnosu na RaspyPlay3 je hardverska kontrola jačine zvuka, integrisan port za IR prijemnik. Kvalitet zvuka je sličan kao i kod prethodne verzije. Električna šema i opis mogu se pogledati na ovom linku:
    http://www.mikroe.com/add-on-boards/audio-voice/raspyplay4/

  3. Ovih dana isprobali smo kako radi RaspyPlay4 sa modelom Raspberry Pi 2. Moramo priznati da smo izuzetno zadovoljni brzinom novog modela. Tu pre svega mislimo na video materijale. Što se tiče primene za audio “streamer” tu se najviše poboljšanja vidi pri ažuriranju baze pesama, kao i puštanju FLAC fajlova najvišeg kvaliteta. (npr. 192kHz/24bita/4655kbps), ili pak DSD fajlova koji se sa ovim DAC-om prethodno moraju konvertovati u realnom vremenu, pa je to sada na Raspberry Pi 2 sasvim izvodljivo.
    Za sve ostale audio primene, dovoljna je i prethodna verzija RPy-ja B+.

  4. Mirko says:

    Pozdrav,

    gde mogu da se nabave pleksiglas kutije s gornjih slika?

  5. Vanja says:

    Svaka cast na ideji/realizaciji!
    Zanima me da li je RaspyPlay4 kompatibilan sa verzijom Raspberry PI 3 b koj se nedavno pojavio, i ako nije, da li je u planu da bude?

    • Zahvaljujemo se na pohvalama 🙂
      Nismo imali prilike da probamo na modelu Raspberry Pi 3, ali mislimo da je u potpunosti kompatibilan obzirom da su pin-out zadržali kao i kod B+ odnosno 2B modela.

  6. emir says:

    Gdje se mogu kupiti kutije koje izrađuje g. Danije Dabić?

  7. Pozdrav Emire,
    Pogledajte na Danijelovom sajtu, imate kontakte pa ih možete naručiti direktno od Danijela
    http://playcut.net/portfolio-item/raspyplay4-layerstyle/
    odnosno
    http://playcut.net/portfolio-item/raspyplay4_clasic/

Leave a Reply

Your email address will not be published. Required fields are marked *

+ 39 = 48