-
1. Data: 2014-01-15 22:30:29
Temat: DAC do Raspberry Pi
Od: Atlantis <m...@w...pl>
Na mojej liście projektów do zrealizowania znajduje się radio
internetowe/sieciowy odtwarzacz muzyczny oparty na Raspberry Pi. Już
jakiś czas temu przeprowadziłem pierwsze eksperymenty z MPD i o ile sam
software działa całkiem sprawnie, to problemem okazała się jakość
dźwięku na wyjściu audio. Nie jest co prawda tak źle, jak sądzą
niektórzy, ale pewne artefakty są słyszalne przy niskim poziomie dźwięku
(np. gdyby chciało się zostawić radio grające w nocy, jako tło).
Najpierw pomyślałem o jakiejś karcie dźwiękowej na USB, jednak tutaj
pojawia się parę problemów. Przede wszystkim trudno to zamontować
wewnątrz obudowy, gdy chce się mieć RJ45 i USB wyprowadzone na obudowę -
musiałbym stosować przelotki do osobnych gniazdek.
Niedawno trafiłem na coś takiego:
http://www.hifiberry.com/
Rozwiązane wygląda bardzo fajnie. Małe, kompaktowe, łatwe w integracji.
Jest jednak kilka ale:
1) Projekt płytki mi się nie podoba. Przede wszystkim niepotrzebnie
blokuje ona złącze GPIO, które przydałoby się np. do podłączenia
wyświetlacza alfanumerycznego i kilku przycisków.
2) Gdybym chciał to zamontować obok płytki RasPi, nie bardzo jest jak
przykręcić PCB.
3) Sama cena jeszcze znośna, ale wzrośnie ze względu na koszt wysyłki
zza granicy.
Samego układu nigdzie nie mogę znaleźć, a najchętniej sam
zaprojektowałbym sobie PCB, łącząc je z RPi za pomocą kabelków. Mógłbym
to nawet zintegrować z jakimś wzmacniaczem...
Czy taki układ (lub coś możliwie podobnego) można by dostać w Polsce? W
dużych sklepach internetowych nie widzę niczego takiego...
-
2. Data: 2014-01-15 23:02:59
Temat: Re: DAC do Raspberry Pi
Od: "Ciemny" <a...@w...lhs.pl-na.tej.stron.ie>
Może ten artykuł Ci się przyda:
http://www.elektroda.pl/rtvforum/topic2719458.html
Pozdr. TC
-
3. Data: 2014-01-15 23:29:27
Temat: Re: DAC do Raspberry Pi
Od: "Grzegorz Niemirowski" <g...@p...onet.pl>
Atlantis <m...@w...pl> napisał(a):
> Na mojej liście projektów do zrealizowania znajduje się radio
> internetowe/sieciowy odtwarzacz muzyczny oparty na Raspberry Pi. Już
> jakiś czas temu przeprowadziłem pierwsze eksperymenty z MPD i o ile sam
> software działa całkiem sprawnie, to problemem okazała się jakość
> dźwięku na wyjściu audio. Nie jest co prawda tak źle, jak sądzą
> niektórzy, ale pewne artefakty są słyszalne przy niskim poziomie dźwięku
> (np. gdyby chciało się zostawić radio grające w nocy, jako tło).
> Najpierw pomyślałem o jakiejś karcie dźwiękowej na USB, jednak tutaj
> pojawia się parę problemów. Przede wszystkim trudno to zamontować
> wewnątrz obudowy, gdy chce się mieć RJ45 i USB wyprowadzone na obudowę -
> musiałbym stosować przelotki do osobnych gniazdek.
> Niedawno trafiłem na coś takiego:
> http://www.hifiberry.com/
> Rozwiązane wygląda bardzo fajnie. Małe, kompaktowe, łatwe w integracji.
> Jest jednak kilka ale:
> 1) Projekt płytki mi się nie podoba. Przede wszystkim niepotrzebnie
> blokuje ona złącze GPIO, które przydałoby się np. do podłączenia
> wyświetlacza alfanumerycznego i kilku przycisków.
> 2) Gdybym chciał to zamontować obok płytki RasPi, nie bardzo jest jak
> przykręcić PCB.
> 3) Sama cena jeszcze znośna, ale wzrośnie ze względu na koszt wysyłki
> zza granicy.
> Samego układu nigdzie nie mogę znaleźć, a najchętniej sam
> zaprojektowałbym sobie PCB, łącząc je z RPi za pomocą kabelków. Mógłbym
> to nawet zintegrować z jakimś wzmacniaczem...
> Czy taki układ (lub coś możliwie podobnego) można by dostać w Polsce? W
> dużych sklepach internetowych nie widzę niczego takiego...
Ja zrobiłem sobie dźwięk do RasPi na WM8731. Działa, aczkolwiek układ ten
jest dosyć ubogi (np. mała liczba obsługiwanych częstotliwości próbkowania).
Wzorowałem się na
http://www.mikroe.com/add-on-boards/audio-voice/audi
o-codec-proto/
Co do GPIO, to u mnie leci od niego taśma, która łączy wszystkie sygnały z
tego złącza z drugą płytką ponieważ akurat wszelkie dodatkowe układy są na
jednej płytce. Jeśli chcesz mieć audio na jednej płytce, a układy
korzystające z jakichś interfejsów (SPI, serial, GPIO) na innej, to można
wykorzystać złącza łączące pojedyncze piny. Albo zduplikować złącze P1. Co
do P5, to mam je wlutowane od spodu, więc P1 nie blokuje. Z P1 do audio
potrzebne jest oczywiście I2C jako interfejs sterujący kodeka.
--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 0 days, 21 hours, 38 minutes and 58 seconds
-
4. Data: 2014-01-16 20:22:03
Temat: Re: DAC do Raspberry Pi
Od: Atlantis <m...@w...pl>
W dniu 2014-01-15 23:29, Grzegorz Niemirowski pisze:
> Ja zrobiłem sobie dźwięk do RasPi na WM8731. Działa, aczkolwiek układ
> ten jest dosyć ubogi (np. mała liczba obsługiwanych częstotliwości
> próbkowania).
W czymś to przeszkadza podczas normalnego użytkowania? Do projektu
radia/odtwarzacza ten układ się nada, czy istnieje szansa, że natknę się
na jakieś niedogodności?
Na elektrodzie jest projekt wykorzystujący UDA1330, jednak nie widzę
tego układu w żadnym sklepie, a niezbyt komfortowo czuję się z pomysłem
psucia Sound Blastera Live. :) WM8731 powinien być łatwiejszy do zdobycia.
> Co do GPIO, to u mnie leci od niego taśma, która łączy wszystkie sygnały
> z tego złącza z drugą płytką ponieważ akurat wszelkie dodatkowe układy
> są na jednej płytce.
Mogę zapytać jakie to układy? Może któryś z pomysłów również okaże się
przydatny u mnie. ;)
> Z P1 do audio potrzebne jest oczywiście I2C jako interfejs sterujący
> kodeka.
I2C nie jest przypadkiem dostępne na złączu P5?
-
5. Data: 2014-01-16 22:11:40
Temat: Re: DAC do Raspberry Pi
Od: "Grzegorz Niemirowski" <g...@p...onet.pl>
Atlantis <m...@w...pl> napisał(a):
> W dniu 2014-01-15 23:29, Grzegorz Niemirowski pisze:
>> Ja zrobiłem sobie dźwięk do RasPi na WM8731. Działa, aczkolwiek układ
>> ten jest dosyć ubogi (np. mała liczba obsługiwanych częstotliwości
>> próbkowania).
> W czymś to przeszkadza podczas normalnego użytkowania? Do projektu
> radia/odtwarzacza ten układ się nada, czy istnieje szansa, że natknę się
> na jakieś niedogodności?
Po prostu jeśli układ nie obsługuje danej częstotliwości, to konieczne jest
resamplowanie, co dodatkowo obciąża procesor i trochę pogarsza jakość
dźwięku.
> Na elektrodzie jest projekt wykorzystujący UDA1330, jednak nie widzę
> tego układu w żadnym sklepie, a niezbyt komfortowo czuję się z pomysłem
> psucia Sound Blastera Live. :) WM8731 powinien być łatwiejszy do zdobycia.
Ja kupowałem w Farnellu.
>> Co do GPIO, to u mnie leci od niego taśma, która łączy wszystkie sygnały
>> z tego złącza z drugą płytką ponieważ akurat wszelkie dodatkowe układy
>> są na jednej płytce.
> Mogę zapytać jakie to układy? Może któryś z pomysłów również okaże się
> przydatny u mnie. ;)
Nic szczególnego: wyświetlacz LCD 2x16 i klawiatura 2x6. Jedno i drugie
obsługiwane jest przez ATmega88PA. Mikrokontroler ten gada z RasPi po
serialu. Oczywiście można zrezygnować z mikrokontrolera i te peryferia
obsługiwać z GPIO RasPi, ale wolałem aby takimi niskopoziomowymi rzeczami
zajął się dedykowany układ.
>> Z P1 do audio potrzebne jest oczywiście I2C jako interfejs sterujący
>> kodeka.
> I2C nie jest przypadkiem dostępne na złączu P5?
Ogólnie może być, zależy jak skonfigurujesz piny tego portu. No ale jak
włączysz tam I2S (a przecież musisz skoro chcesz mieć audio po I2S), to już
siłą rzeczy na tych samych pinach nie będziesz mieć I2C. Dlatego I2C brane
jest z P1 (piny 3 i 5). Poczyta sobie
http://elinux.org/RPi_Low-level_peripherals#P5_heade
r Oczywiście I2C i I2S
to dwie zupełnie różne rzeczy.
A co do USB: trzeba dobrze trafić. Próbowałem z tanią kartą z Allegro.
Wydobywało się z niej coś, czego nie dało się nazwać dźwiękiem. Na PC
działała poprawie, ale z RasPi już nie. Pamiętaj, że procesor RasPi (a
właściwie układ SoC) ma tylko jeden port USB. Do niego jest podłączony ten
drugi scalak, który widać na płytce. Ten scalak to 3-portowy hub USB. 2 z
tych portów są wyprowadzone na zewnątrz, a do trzeciego podłączony jest USB
Ethernet, który siedzi w tym samym scalaku. Tak więc de facto Ethernet i
karta dźwiękowa USB siedzą de facto na jednym porcie USB i mogą się zakłócać
przy przesyłaniu większych ilości danych. Dlatego ja sobie USB audio
odpuściłem i wybrałem I2S. Działa dobrze, tylko w pierwszej wersji płytki
źle poprowadziłem masę i było słychać zakłócenia z RasPi.
--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 1 day, 20 hours, 9 minutes and 34 seconds
-
6. Data: 2014-01-16 22:39:40
Temat: Re: DAC do Raspberry Pi
Od: Atlantis <m...@w...pl>
W dniu 2014-01-16 22:11, Grzegorz Niemirowski pisze:
> Po prostu jeśli układ nie obsługuje danej częstotliwości, to konieczne
> jest resamplowanie, co dodatkowo obciąża procesor i trochę pogarsza
> jakość dźwięku.
System sam sobie z tym wszystkim radzi, czy trzeba instalować/pisać
sterownik do tego układu? Mimo wszystko, nawet w przypadku resamplowania
efekt jest zauważalnie lepszy niż na wbudowanym wyjściu audio?
> Dlatego ja sobie USB audio odpuściłem i wybrałem I2S. Działa dobrze,
> tylko w pierwszej wersji płytki źle poprowadziłem masę i było słychać
> zakłócenia z RasPi.
Na czym polegał błąd? Czego powinienem unikać przy projektowaniu własnej
płytki?
-
7. Data: 2014-01-16 23:09:22
Temat: Re: DAC do Raspberry Pi
Od: "Grzegorz Niemirowski" <g...@p...onet.pl>
Atlantis <m...@w...pl> napisał(a):
> System sam sobie z tym wszystkim radzi,
Tak dokładnie to nie wiem. Ja pisałem swoją aplikację w Qt i tam się nie
dawało otworzyć karty dźwiękowej przy niezgodnej częstotliwości, a więc
potrzebne było resamplowanie. Z drugiej strony linuksowe odtwarzacze (używam
Raspbiana) radziły sobie bez problemu. Więc albo same resamplowały albo
robiło to Pulse Audio jakoś w tle.
> czy trzeba instalować/pisać
> sterownik do tego układu?
Sterowniki do kodeków są w jądrze Linuksa, ale one nie służą do takich
rzeczy. Ich zadaniem jest to, że jak sobie coś tak przestawiasz w
alsa-mixer, np. głośność, microphone boost, mute, wybór źródła nagrywania
(mikrofon, line-in) i inne takie duperele, to wtedy sterownik poprzez I2C
przekonfigurowuje kodek zapisując odpowiednie wartości w jego rejestrach.
Resamplowaniem zajmuje się pulse-audio albo alsa, trzeba by jakiegoś
linuksiarza podpytać.
> Mimo wszystko, nawet w przypadku resamplowania
> efekt jest zauważalnie lepszy niż na wbudowanym wyjściu audio?
Oczywiście.
> Na czym polegał błąd? Czego powinienem unikać przy projektowaniu własnej
> płytki?
WM8731 jak (chyba) większość kodeków ma część analogową i część cyfrową. One
mają oddzielne zasilania i oddzielne masy. Te masy powinny się łączyć w
jednym punkcie, który je wyraźnie oddziela. Jeśli masz np. mikrofon albo
sygnał wejścia liniowego, to podłączasz do masy analogowej.
--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 1 day, 21 hours, 1 minutes and 50 seconds
-
8. Data: 2014-01-16 23:37:52
Temat: Re: DAC do Raspberry Pi
Od: Mirek <i...@z...adres>
On 15.01.2014 22:30, Atlantis wrote:
> Na mojej liście projektów do zrealizowania znajduje się radio
> internetowe/sieciowy odtwarzacz muzyczny oparty na Raspberry Pi.
Czemu akurat na tym? IMHO Ras-Pi ma sens jeśli używamy hdmi (BTW -
dźwięk po hdmi jakie ma parametry? ).
--
Mirek.
-
9. Data: 2014-01-17 19:20:08
Temat: Re: DAC do Raspberry Pi
Od: Atlantis <m...@w...pl>
W dniu 2014-01-16 23:37, Mirek pisze:
> Czemu akurat na tym?
Głównie dlatego, że RPi jest tanie i stosunkowo łatwo dostępne.
Przede wszystkim jednak ma dobre wsparcie, istnieją już gotowe
rozwiązania (Raspyfi, Pi MusicBox) w postaci zmodyfikowanych i
prekonfigurowanych dystrybucji Linuksa. Jakiś czas temu próbowałem
poskładać wszystko samemu. Straciłem tylko mnóstwo czasu próbując
uruchomić jakiegoś przyjemnie wyglądającego webowego klienta MPC na
lighttpd. Efekt był średnio zadowalający, nie wszystko chciało działać
jak powinno. Po co męczyć się nad zrobieniem tego na innej płytce, skoro
ktoś już wykonał tę pracę?
> IMHO Ras-Pi ma sens jeśli używamy hdmi (BTW -
> dźwięk po hdmi jakie ma parametry? ).
Tylko po co? Chodzi mi tylko o pozbycie się artefaktów, które występują
na standardowym wyjściu audio. DAC na I2S powinien w zupełności wystarczyć.
-
10. Data: 2014-01-17 19:24:33
Temat: Re: DAC do Raspberry Pi
Od: Atlantis <m...@w...pl>
W dniu 2014-01-16 23:09, Grzegorz Niemirowski pisze:
> Tak dokładnie to nie wiem. Ja pisałem swoją aplikację w Qt i tam się nie
> dawało otworzyć karty dźwiękowej przy niezgodnej częstotliwości, a więc
> potrzebne było resamplowanie. Z drugiej strony linuksowe odtwarzacze
> (używam Raspbiana) radziły sobie bez problemu. Więc albo same
> resamplowały albo robiło to Pulse Audio jakoś w tle.
A na czym w takim razie polega konfiguracja systemu po podłączeniu DAC?
Bo przecież jakoś trzeba powiedzieć systemowi, że ma scalaka podpiętego
do określonych pinów i może za jego pomocą odtwarzać dźwięk...
> WM8731 jak (chyba) większość kodeków ma część analogową i część cyfrową.
> One mają oddzielne zasilania i oddzielne masy. Te masy powinny się
> łączyć w jednym punkcie, który je wyraźnie oddziela. Jeśli masz np.
> mikrofon albo sygnał wejścia liniowego, to podłączasz do masy analogowej.
Osobna masa analogowa jest dla mnie oczywistą kwestią. Myślałem, że mowa
o jakimś mniej typowym, ukrytym i trudnym do zdiagnozowania problemie.
Rozumiem, że jeśli rozdzielę masy, to nie powinienem mieć problemów z
zakłóceniami?