Een USB-audioapparaat gebruiken met een Raspberry Pi

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.


Voordat je begint

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.


USB-audioapparaat

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

verenigbaarheid

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.

Wat ik aanbeveel

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:


Ik heb eerder dit USB-audioapparaat gebruikt met zowel Mac als pc. Niet slecht voor iets dat minder kost dan een kop koffie!
  • Het is goedkoop
  • Het heeft niet veel kracht nodig
  • Het is klein genoeg om gemakkelijk te gebruiken
  • Het wordt ondersteund

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.


Opzetten

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.

Stap 1

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.

Stap 2

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

We kunnen zien welke USB-apparaten zijn aangesloten en, hopelijk, het USB-audioapparaat.

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.

Stap 3

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

Deze opdracht geeft informatie over het aangewezen audioapparaat. Standaard is dit de ingebouwde audio-uitgang.

Stap 4

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

Het configuratiebestand geeft alle verschillende instellingen voor audio-uitvoer aan. Het is hier dat we één verandering moeten aanbrengen.

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

Door simpelweg de regel uit te spreken, kan het USB-audioapparaat de primaire uitvoermethode zijn.

Stap 5

druk op Ctrl Z en sla de wijzigingen op en start je Raspberry Pi opnieuw op door het volgende in te voeren:

$ sudo herstart

Stap 6

Start de volgende opdracht opnieuw met de Raspberry Pi opnieuw opgestart:

$ amixer

Als alles goed gaat, zal dit nu meer informatie weergeven als het het vanaf het USB-audioapparaat verzamelt.

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).


Audio testen

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

Er zijn een aantal meegeleverde geluidsfragmenten voor testdoeleinden.

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.

Stap 1

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

Voor het afspelen van MP3-bestanden is aanvullende software vereist.

Raspian installeert automatisch het hulpprogramma en eventueel benodigde extra stukjes en beetjes die het nodig heeft om te werken.

Stap 2

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

'wget' downloadt bestanden naar uw Raspberry Pi, dus zorg dat er een internetverbinding beschikbaar is.

Dit is hoe het zou moeten klinken:

Stap 3

Nadat het nummer is gedownload, voert u het volgende in:

$ mpg321 test-song.mp3

Sommige informatie wordt weergegeven tijdens het afspelen.

Je zou een korte muziekclip moeten horen die audio van links naar rechts afspeelt.


Volume aanpassen

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

'alsamixer' bestuurt enkele functies van de audio-uitvoer, voornamelijk volume.

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.


Afsluiten

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.