Bruke en USB-lydenhet med en Raspberry Pi

Min forrige veiledning på Raspberry Pi, Bruke en Raspberry Pi som en AirPlay-mottaker, benyttet enhetens innebygde 3,5 mm-kontakt for lydutgang. Dette produserer imidlertid lyd som i beste fall er middelmådig, og hvis du ønsker å bruke Raspberry Pi for enhver mengde lydlytte, må den produsere en bedre lydkvalitet. Vi kommer ikke til å klemme mye mer ut av de innebygde komponentene, så i denne veiledningen vil jeg forklare hvordan du konfigurerer og konfigurerer et billig USB-lydkort som Raspberry Pi's standard lydutgangsenhet, noe som gir bedre kvalitet , og volum, lyd.


Før du begynner

Denne opplæringen vil følge videre fra min tidligere opplæring, Bruke en Raspberry Pi som en AirPlay-mottaker. Det forventes at du har fullført denne opplæringen, og din Raspberry Pi kan for øyeblikket fungere som en AirPlay-mottaker, om enn med den innebygde lydutgangen.


USB-lydenhet

Tilbake i de gode gamle dager, trengte de fleste lydenheter sitt eget sett med drivere og programvare til arbeid. Dette viste seg ofte å være veldig frustrerende for sluttbrukere og utviklere.

Årsaken til dette er at mange enheter fra forskjellige produsenter faktisk bruker det samme chipset, de fysiske komponentene som utgjør enheten. Dette er hva driverne og programvaren er for, og du vil ofte finne ut at en rekke forskjellige lydenheter fra mange produsenter vil bruke nøyaktig samme brikkesett. Den eneste forskjellen mellom dem vil vanligvis bare være merkevaren.

I dag har de fleste moderne operativsystemer og lydenheter ikke slike krav som de fleste brikkesettene fungerer til en akseptert standard, og siden de fleste produsenter vil benytte seg av det samme lille antallet brikkesett, er det svært enklere å tilby omfattende støtte. Det er sikkert et lite antall flere spesialiserte lydenheter som krever ekstra programvare, men noen generiske lydutgangsenheter er vanligvis bare plug-and-play

kompatibilitet

Dette gjelder ikke bare Mac OS X og Windows, men også Linux, med Raspbian å kunne støtte enheter via AlsaProject, et sett med allment kompatible lyddrivere for Linux.

Tips: Ikke alle USB-lydutgangsenheter støttes, selv om du kan sjekke AlsaProject-kompatibilitetslisten for å sikre at enheten du skal bruke skal være kompatibel.

Hva jeg anbefaler

USB-lydenheten jeg skal bruke med min Raspberry Pi er en generisk jeg fant på Amazon, koster bare $ 2. Det kalles ganske svakt, 7.1-kanals USB-ekstern lydkort lydadapter. Grunnen til at du bruker denne spesielle USB-lydenheten, er som følger:


Jeg har tidligere brukt denne USB-lydenheten med både Mac og PC. Ikke dårlig for noe som koster mindre enn en kopp kaffe!
  • Det er billig
  • Det trenger ikke mye strøm
  • Den er liten nok til å bli lett brukt
  • Den støttes

Denne bestemte lydenheten bruker C-Media-lydbrikkesettet, noe som støttes av AlsaProject i Raspian.

Når du bruker en hvilken som helst USB-lydenhet, må du sørge for at Raspberry Pi blir drevet nok til at den kan støtte en USB-drevet enhet. Hvis du kjører din Raspberry Pi fra en strømadapter, bør du være helt klar.

Tips: USB-lydenheter er vanligvis litt større enn en minnepinne og vil trolig ta opp mer fysisk plass, blokkerer tilgangen til den andre USB-porten. Hvis du trenger å bruke begge USB-porter samtidig, anbefaler jeg at du bruker en USB-forlengelseskabel og kobler USB-lydenheten på den måten, i stedet.


Setter opp

Nå som jeg har dekket kravene til å kjøpe en passende USB-lydenhet, vil jeg vise deg hvordan du konfigurerer den.

Følgende trinn vil bli utført i kommandolinjen på Raspberry Pi. Hvis du er kjent med SSH og vet hvordan du får tilgang til Raspberry Pi ved hjelp av den, kan du utføre følgende trinn uten å måtte være fysisk på Raspberry Pi.

Trinn 1

Før du fortsetter, sørg for at Raspberry Pi er slått av, og koble deretter USB-lydenheten til USB-porten. Husk at hvis du trenger tilgang til begge USB-porter, bruk USB-lydenheten sammen med en USB-forlengelseskabel, slik at den andre porten blir blokkert.

Steg 2

Slå opp din Raspberry Pi og, når den er oppstart, åpne LXTerminal app. (Igjen, hvis du er kjent med SSH, kan du bare koble til og utføre de resterende kommandoene eksternt).

Først vil jeg sørge for at USB-lydenheten blir oppdaget av både maskinvaren og programvaren. Skriv inn følgende kommando og trykk enter:

$ lsusb

Vi kan se hvilke USB-enheter som er koblet til, og forhåpentligvis, se USB-lydenheten.

Dette vil vise informasjon om vedlagte USB-enheter. Som du kan se, er den siste enheten som er oppført på skjermbildet ovenfor, USB-lydenheten merket som C-Media Electronics, Inc. Lydadapter. Så langt så bra.

Trinn 3

Jeg vil bruke en kommando for å vise den gjeldende lydenheten, som fortsatt vil være den innebygde lyden. Denne kommandoen viser ulike opplysninger om gjeldende lydenhet.

$ amixer

Denne kommandoen gir informasjon om den angitte lydenheten. Som standard vil dette være den innebygde lydutgangen.

Trinn 4

Jeg vil ikke bruke den innebygde lydenheten, men i stedet vil jeg bruke USB-lydenheten jeg har koblet til. Jeg må redigere en konfigurasjonsfil slik at når Raspberry Pi støvler, vil det bli standard å bruke USB-lydenheten som den foretrukne metoden for lydutgang.

Konfigurasjonsfilen som jeg må redigere, kalles alsa-base.conf. Dette styrer hvordan eventuelle vedlagte lydenheter håndteres. Ved hjelp av denne konfigurasjonsfilen kan jeg angi rekkefølgen for å bruke en vedlagt lydenhet, slik at USB-lydenheten er den første som skal brukes og deretter falle tilbake til de andre hvis den ikke blir oppdaget. For å gjøre dette, skriv inn:

$ sudo nano /etc/modprobe.d/alsa-base.conf

Konfigurasjonsfilen angir alle de forskjellige innstillingene for lydutgang. Det er her vi trenger å gjøre en endring.

Dette vil starte tekstredigeringen nano med konfigurasjonsfilen, så jeg kan redigere den tilsvarende. Det kan se litt komplisert eller vanskelig å forstå, men alt jeg trenger å gjøre er å legge til et enkelt tegn. Se etter følgende linje:

alternativer snd-usb-lydindeks = -2

For øyeblikket forårsaker denne linjen alle USB-lydenheter som oppdages for å bli trykket ned i bestillingslisten og ikke brukes som standard. For å overstyre dette, må du bare legge til et pund / hash-symbol foran linjen slik at det leser slik:

# alternativer snd-usb-lydindeks = -2

Bare kommentere linjen vil tillate at USB-lydenheten er den primære metoden for utdata.

Trinn 5

trykk Ctrl Z og lagre endringene, og start deretter din Raspberry Pi ved å skrive inn:

$ sudo reboot

Trinn 6

Med Raspberry Pi startet på nytt, kjør du følgende kommando:

$ amixer

Hvis alt går bra, vil dette nå vise mer informasjon som det samler det fra USB-lydenheten.

I stedet for den samme informasjonen jeg fikk tidligere, burde jeg nå ha et helt annet sett. Du vil legge merke til at jeg også har informasjon om lydopptak, og bekrefter at jeg bruker USB-lydenheten som standard lydutgang.

Merkelig er det fortsatt uttalt at produksjonen er i mono. Dette kan ignoreres da det faktisk ikke er riktig, utgangen vil faktisk være stereo, som du vil se (eller høre) kort tid.


Testing av lyd

Nå som jeg har satt USB-lydenheten som standard lydutgang for Raspberry Pi, er det på tide å teste det for å sikre at det fungerer. Koble et sett med høyttalere til USB-lydenheten og begynn å spille av lyd gjennom dem.

Raspian inneholder en rekke test lydklipp som jeg kan bruke for å sjekke at alt fungerer som det skal. Skriv inn følgende kommando:

$ aplay /usr/share/scratch/Media/Sounds/Vocals/Singer1.wav

Det finnes en rekke medfølgende lydklipp for testformål.

Hvis alt gikk bra, burde du ha hørt et raskt klipp av en operasangers stemme. Klippet er utrolig lav kvalitet og mono, så jeg sørger for at alt fungerer og bruker et klipp som er i stereo.

Trinn 1

Jeg skal teste dette videre ved å bruke en MP3-fil, men jeg må først installere noe programvare som kan gjøre dette. Jeg kan bruke verktøyet mpg321 å gjøre dette. Installere det er veldig greit, bruk bare:

$ sudo apt-get -y installer mp321

Ekstra programvare er nødvendig for å spille av MP3-filer.

Raspian installerer automatisk verktøyet og eventuelle nødvendige biter og biter som det kan trenge å jobbe.

Steg 2

Jeg har laget et lite MP3-klip som penner fra venstre til høyre, slik at enhver stereolyd vil fungere riktig. For å laste den ned, skriv inn:

$ wget https://cdn.tutsplus.com/mac.tutsplus.com/uploads/2013/10/test-song.mp3

'wget' laster ned filer til Raspberry Pi, så sørg for at en Internett-tilkobling er tilgjengelig.

Dette er hva det skal høres ut som:

Trinn 3

Etter at sangen er lastet ned, skriv inn:

$ mpg321 test-song.mp3

Enkelte opplysninger vises under avspilling.

Du bør høre et kort musikklipp som panner lyd fra venstre til høyre.


Justere volumet

Hvis lydutgangen skal være for høy eller stille, kan vi justere dette ved hjelp av et annet verktøy, kalt alsamixer.

For å starte det, skriv inn navnet på kommandolinjen, slik som:

$ alsamixer

'alsamixer' styrer noen funksjoner av lydutgangen, hovedsakelig volum.

Dette gir en mer grafisk oversikt over volumet og informasjonen om USB-lydenheten. Bruk piltastene på tastaturet, velg volumkolonnen og juster volumet høyere eller lavere, avhengig av dine behov. Hold så høyt volumnivået under 80-90% for å unngå forvrengning.


Wrapping Up

Bruke en dedikert USB-lydenhet betyr bedre lydkvalitet og mer kontroll, samt bedre volum så mange enheter kan produsere langt bedre enn Raspberry Pi's innebygde lyd.

Ved slutten av denne opplæringen bør du nå kunne konfigurere en ny USB-lydenhet og sette den som Raspberry Pi's standard lydutgangsmulighet når du bruker Raspian. Hvis du brukte Raspberry Pi som en AirPlay-mottaker, trenger du ikke å konfigurere noen innstillinger, bare start AirPlay-tjenesten, og lyden blir automatisk sendt til USB-lydenheten automatisk..