Każdy fanboj Appla (ale taki prawdziwy, opisywany przez Ogrodnika Januarego na blogu
http://applefobia.blox.pl ) zapytany o najwspanialszy dźwięk na świecie odpowie: To dźwięk wydawany przez monofoniczny głośniczek iPada, sączący się z aluminowych dziureczek jego obudowy.
Istnieją jednak profani głusi na prawdziwe piękno, którzy wolą słuchać muzyki z kolumn i to o zgrozo - bąkają coś snobistycznie o dobrej jakości. Przypuśćmy, że kroi nam się romantyczy wieczór z kolacją, butelką wina i śniadaniem w towarzystwie takiej osoby. Playlista na iPadzie/iPhonie już przygotowana, ale jak odtworzyć ją na dobrym wzmacniaczu i kolumnach? Musimy wyskoczyć z kasy i kupić przetwornik D/A (albo kartę dźwiękową USB na Allegro za 10 zł), podpiąć toto pod ruter z Openwrt i wzmacniacz, oraz zainstalować pakiet shairport.
Jak na razie, dzięki Obsy, mogą to zrobić osoby z ruterami opartymi na Backfire i architekturze ar71xx (czyli tplink WR1043ND albo netgear WNDR 3700 ), chyba, że Obsy się zlituje i skompiluje pakiet dla innych architektur.
Zaczynamy:
Jeżeli ktoś używał usługi avahi-daemon (na przykład do opisanego przez mnie drukowania AirPrint) musi wynienić ją na avahi-daemon-dbus. Działa identycznie.
opkg remove avahi-daemon --autoremove
Następnie instalujemy pakiety z repozytorium Obsy`ego
opkg update
opkg install http://ecco.selfip.net/backfire/ar71xx/packages/shairport_20121902_ar71xx.ipk
opkg install http://ecco.selfip.net/backfire/ar71xx/packages/shairport-perl_20121902_all.ipk
Instalują się opisane pakiety oraz szereg innych związanych zależnościami jak dbus, alsa-lib, cała gama pakietów avahi, a oraz perla.
Muzyka w iPadzie jest zazwyczaj zdigitalizowana z częstotliwością próbkowania 44,1, aby ruterek się nie męczył zmieniamy domyślną częstotliwość próbkowania odtwarzacza dźwięku z 48 na 44,1 (chociaż nie wiem, czy to dużo pomaga, działa i bez tej opcji):
touch /etc/asound.conf
powstały plik edytujemy wklejając następującą zawartość
defaults.pcm.dmix.rate 44100 # Force 44.1 KHz
defaults.pcm.dmix.format S16_LE # Force 16 bits
Pozostaje włączyć usługi
/etc/init.d/dbus start
/etc/init.d/avahi-daemon start
/etc/init.d/shairport start
Jeżeli chcemy, aby ruszały wraz z bootowaniem rutera to dodatkowo:
/etc/init.d/dbus enable
/etc/init.d/avahi-daemon enable
/etc/init.d/shairport enable
Teraz możemy już odtwarzać ulubioną playlistę z iPada bez wtykania go gdziekolwiek.
Uwagi:
Utwory kompesjonowane AAC 256k (takie jak sprzedaje iTunes) albo kodekiem Apple Losless odtwarzają się NADSPODZIEWANIE płynnie na ruterku WL 1043ND, o ile nie działają inna usługi zabierająca dużo zasobów procesora, albo odwołujące się do USB. Wtedy dźwięk "charczy", ale jeżeli damy ruterkowi spokój, dzieje się tak naprawdę z rzadka. Usługa nie zajmuje dużo pamięci (coś 20-25%) i procesora (20%) i jak najbardziej nadaje się do codziennego stosowania.
EDIT:
Poniższa dyskusja, do postu nr 12 jest nieaktualna, Obsy zaktualizował pakiety.