Mijn vorige tutorial over de Raspberry Pi, waarbij ik een Raspberry Pi als AirPlay-ontvanger gebruikte, maakte gebruik van de ingebouwde 3,5 mm-aansluiting van het apparaat voor audio-uitvoer. Dit produceert echter geluid dat op zijn best middelmatig is en als u de Raspberry Pi wilt gebruiken voor elke hoeveelheid audio die luistert, zal het een betere geluidskwaliteit moeten produceren. We zullen niet veel meer uit de ingebouwde componenten persen, dus in deze tutorial zal ik uitleggen hoe je een goedkope USB-geluidskaart instelt en configureert als het standaard audio-uitvoerapparaat van de Raspberry Pi, voor een betere kwaliteit en volume, audio.
Deze tutorial zal volgen op mijn vorige zelfstudie, een Raspberry Pi als een AirPlay-ontvanger gebruiken. Er wordt van je verwacht dat je deze tutorial hebt voltooid en dat je Raspberry Pi momenteel kan fungeren als een AirPlay-ontvanger, maar dan met de ingebouwde audio-uitgang.
Vroeger hadden de meeste audioapparaten hun eigen set drivers en software nodig om te werken. Dit bleek vaak erg frustrerend voor eindgebruikers en ontwikkelaars.
De reden hiervoor is dat veel apparaten van verschillende fabrikanten deze ook daadwerkelijk gebruiken chipset, de fysieke componenten waaruit het apparaat bestaat. Dit is waar de stuurprogramma's en software voor zijn en je zult vaak merken dat een aantal verschillende audio-apparaten van veel fabrikanten exact dezelfde chipset zullen gebruiken, het enige verschil tussen hen zal meestal alleen de branding zijn.
Tegenwoordig werken de meeste moderne besturingssystemen en audioapparaten niet zoals de meeste chipsets volgens een geaccepteerde standaard werken, en omdat de meeste fabrikanten hetzelfde kleine aantal chipsets zullen gebruiken, is het verstrekken van uitgebreide ondersteuning veel eenvoudiger. Er zijn zeker een klein aantal meer gespecialiseerde audioapparaten die aanvullende software nodig hebben, maar elk generiek audio-uitvoerapparaat is meestal gewoon plug-and-play
Dit is niet alleen van toepassing op Mac OS X en Windows, maar ook op Linux, waarbij Raspbian apparaten kan ondersteunen via het AlsaProject, een reeks van breed inzetbare audiostuurprogramma's voor Linux..
Tip: Niet alle USB-audio-uitvoerapparaten worden ondersteund, hoewel u de AlsaProject-compatibiliteitslijst kunt controleren om er zeker van te zijn dat het apparaat dat u wilt gebruiken compatibel moet zijn.
Het USB-audioapparaat dat ik zal gebruiken met mijn Raspberry Pi is een generiek exemplaar dat ik op Amazon heb gevonden en slechts $ 2 kost. Het wordt nogal vaag de 7.1-kanaals USB externe geluidskaart audio-adapter genoemd. De reden voor het gebruik van dit specifieke USB-audioapparaat is als volgt:
Dit specifieke audioapparaat maakt gebruik van de C-Media audio-chipset, iets dat wordt ondersteund door AlsaProject in Raspian.
Wanneer u een USB-audioapparaat gebruikt, moet u ervoor zorgen dat uw Raspberry Pi voldoende wordt gevoed, zodat hij een USB-apparaat ondersteunt. Als je je Raspberry Pi via een netadapter gebruikt, moet je helemaal klaar zijn.
Tip: USB-audioapparaten zijn meestal iets groter dan een geheugenstick en nemen waarschijnlijk meer fysieke ruimte in beslag, waardoor de toegang tot de tweede USB-poort wordt geblokkeerd. Als u beide USB-poorten tegelijkertijd wilt gebruiken, raad ik u aan een USB-verlengkabel te gebruiken en op deze manier uw USB-audioapparaat aan te sluiten, in plaats daarvan.
Nu dat ik de vereisten voor het aanschaffen van een geschikt USB-audioapparaat heb behandeld, zal ik je laten zien hoe je het moet configureren.
De volgende stappen worden uitgevoerd binnen de opdrachtregel op de Raspberry Pi. Als u bekend bent met SSH en weet hoe u uw Raspberry Pi ermee kunt gebruiken, kunt u de volgende stappen uitvoeren zonder fysiek op uw Raspberry Pi te hoeven zijn.
Controleer voordat je verder gaat of je Raspberry Pi is uitgeschakeld en sluit vervolgens het USB-audioapparaat aan op de USB-poort. Let op: als u toegang tot beide USB-poorten nodig hebt, gebruikt u het USB-audioapparaat in combinatie met een USB-verlengkabel om te voorkomen dat de tweede poort wordt geblokkeerd.
Zet uw Raspberry Pi aan en, eenmaal opgestart, opent u de LXTerminal app. (Nogmaals, als u bekend bent met SSH, kunt u eenvoudig verbinding maken en de resterende opdrachten op afstand uitvoeren).
Ten eerste zal ik ervoor zorgen dat het USB-audioapparaat wordt gedetecteerd door zowel de hardware als de software. Voer de volgende opdracht in en druk op Enter:
$ lsusb
Hiermee wordt informatie weergegeven over aangesloten USB-apparaten. Zoals u kunt zien, is het laatste apparaat dat in de bovenstaande schermafbeelding wordt vermeld, het USB-audioapparaat met de aanduiding: C-Media Electronics, Inc. Audioadapter. Tot nu toe, zo goed.
Ik zal een opdracht gebruiken om het momenteel ingestelde audioapparaat weer te geven, wat nog steeds de ingebouwde audio zal zijn. Deze opdracht geeft verschillende informatie weer over het huidige audioapparaat.
$ amixer
Ik wil het ingebouwde audioapparaat niet gebruiken, maar zou graag het USB-audioapparaat gebruiken dat ik heb aangesloten. Ik moet een configuratiebestand bewerken zodat wanneer de Raspberry Pi opstart, het standaard het USB-audioapparaat zal gebruiken als de voorkeursmethode voor audio-uitvoer.
Het configuratiebestand dat ik moet bewerken, wordt gebeld alsa-base.conf. Dit bepaalt hoe alle gekoppelde audioapparaten worden behandeld. Met dit configuratiebestand kan ik de volgorde instellen waarin een aangesloten audioapparaat moet worden gebruikt, waardoor het USB-audioapparaat de eerste is die wordt gebruikt en vervolgens terugvalt naar de andere als het niet wordt gedetecteerd. Voer hiervoor het volgende in:
$ sudo nano /etc/modprobe.d/alsa-base.conf
Hierdoor wordt de teksteditor gestart nano met het configuratiebestand, zodat ik het overeenkomstig kan bewerken. Het ziet er misschien een beetje ingewikkeld of moeilijk te begrijpen uit, maar alles wat ik moet doen is een enkel teken toevoegen. Zoek naar de volgende regel:
opties snd-usb-audio index = -2
Op dit moment zorgt deze regel ervoor dat USB-audioapparaten die worden gedetecteerd door de bestellijst worden gedrukt en niet standaard worden gebruikt. Om dit op te heffen, voegt u gewoon een pond / hash-symbool toe voor de regel, zodat het als volgt wordt gelezen:
# options snd-usb-audio index = -2
druk op Ctrl Z en sla de wijzigingen op en start je Raspberry Pi opnieuw op door het volgende in te voeren:
$ sudo herstart
Start de volgende opdracht opnieuw met de Raspberry Pi opnieuw opgestart:
$ amixer
In plaats van dezelfde informatie die ik eerder had gekregen, zou ik nu een heel andere set moeten hebben. Je zult merken dat ik ook informatie heb over het vastleggen van audio, en bevestig verder dat ik het USB-geluidsapparaat gebruik als mijn standaardoptie voor audio-uitvoer.
Vreemd genoeg staat er nog steeds dat de output in mono is. Dit kan worden genegeerd omdat het eigenlijk niet correct is, de uitvoer is inderdaad stereo, zoals je binnenkort zult zien (of horen).
Nu dat ik het USB-audioapparaat heb ingesteld als de standaard audio-uitgang voor de Raspberry Pi, is het tijd om het te testen om te controleren of het werkt. Sluit een set luidsprekers aan op het USB-audioapparaat en begin daarna met het afspelen van audio.
Raspian bevat een aantal testgeluidsclips die ik kan gebruiken om te controleren of alles naar behoren werkt. Voer de volgende opdracht in:
$ aplay /usr/share/scratch/Media/Sounds/Vocals/Singer1.wav
Als alles goed ging, had je een kort filmpje van de stem van een operazangeres moeten horen. De clip is van ongelooflijk lage kwaliteit en mono, dus ik zal er dubbel voor zorgen dat alles werkt en een clip gebruiken die in stereo is.
Ik ga dit verder testen met een MP3-bestand, maar ik moet eerst wat software installeren die dit kan. Ik kan het hulpprogramma gebruiken mpg321 om dit te doen. Het installeren is heel eenvoudig, gebruik gewoon:
$ sudo apt-get -y installeer mp321
Raspian installeert automatisch het hulpprogramma en eventueel benodigde extra stukjes en beetjes die het nodig heeft om te werken.
Ik heb een kleine MP3-clip gemaakt die van links naar rechts schuift, zodat alle stereogeluid correct werkt. Om het te downloaden, voer je in:
$ wget https://cdn.tutsplus.com/mac.tutsplus.com/uploads/2013/10/test-song.mp3
Dit is hoe het zou moeten klinken:
Nadat het nummer is gedownload, voert u het volgende in:
$ mpg321 test-song.mp3
Je zou een korte muziekclip moeten horen die audio van links naar rechts afspeelt.
Als de audio-uitvoer te luid of te zacht is, kunnen we dit aanpassen met een ander hulpprogramma, genaamd alsamixer.
Om het te starten, voert u simpelweg de naam in op de opdrachtregel, zoals:
$ alsamixer
Dit geeft een meer grafisch beeld van het volume en informatie over het USB-audioapparaat. Gebruik de pijltjestoetsen op uw toetsenbord om de volumekolom te selecteren en het volume hoger of lager in te stellen, afhankelijk van uw behoeften. Houd het volumeniveau waar mogelijk onder de 80-90% om vervorming te voorkomen.
Het gebruik van een speciaal USB-audioapparaat betekent betere audiokwaliteit en meer controle, evenals een beter volume omdat veel apparaten veel beter kunnen produceren dan de ingebouwde audio van de Raspberry Pi.
Aan het einde van deze zelfstudie moet u nu een nieuw USB-audioapparaat kunnen configureren en instellen als de standaardoptie voor audio-uitvoer van de Raspberry Pi bij gebruik van Raspian. Als u uw Raspberry Pi als een AirPlay-ontvanger gebruikt, hoeft u geen instellingen opnieuw in te stellen, start eenvoudig de AirPlay-service en audio wordt automatisch naar het USB-audioapparaat uitgevoerd.