Ben je op zoek naar een kleine en compacte geluidskaart voor een Raspberry Pi? Bekijk de IQaudio Codec Zero (Afbeelding 1), die een Zero-formfactor heeft. 

IQaudio Codec Zero
Afbeelding 1: IQaudio Codec Zero (Bron: Raspberry Pi Foundation).


Duik in de IQaudio Codec Zero

Als je alleen een digitale geluidsuitgang via HDMI nodig hebt, heb je geen geluidskaart nodig. Een geluidskaart wordt interessant als je analoge audio in goede kwaliteit wilt weergeven of als je ook analoge signalen wilt verwerken met de Raspberry Pi. De A- en B-modellen van de Raspberry Pi hebben nog steeds een 3,5 mm-jack connector die analoge audio kan uitvoeren; de kwaliteit is echter niet perfect en niet echt geschikt om naar muziek te luisteren. 

Contents of the IQaudio Codec Zero
Afbeelding 2: Inhoud van het IQaudio Codec Zero-pakket


De IQaudio Codec Zero biedt een geïntegreerde 1.2 W versterker voor een 8Ω speaker, een geïntegreerde MEMS microfoon en een analoge AUX input en output met line level. Dit maakt projecten zoals een slimme luidspreker, een VoIP-telefoon of een aangepaste jukebox vrij eenvoudig te implementeren. Afbeelding 2 toont de hardware en het meegeleverde montagemateriaal. Het hart van de IQaudio Codec Zero is de DA7212 van Dialog Semiconductor. Afbeelding 3 toont de blokken en signaalroute binnen de DA7212. Het IC is een 24-bits codec met een samplefrequentie tot 96 kHz. Geïntegreerd is een 5-bands equalizer, evenals een ALC en een noise gate. De documentatie voor de IQaudio Codec Zero kan gevonden op de pagina van de Raspberry Pi Foundation.

Block diagram of the DA7212
Afbeelding 3: Blokschema van de DA7212 (Bron: Dialog Semiconductor)


Bijna Plug & Play

De IQaudio Codec Zero heeft een EEPROM volgens de Raspberry Pi HAT-specificatie, dus een Raspberry Pi zou het board automatisch moeten herkennen en op de juiste manier initialiseren. Op een Raspberry Pi 3B+ werkt dit prima; het huidige Raspberry Pi OS (32 bit) herkent het board en initialiseert het op de juiste manier. Afbeelding 4 toont de IQaudio-codec in de geluidsinstellingen.

IQaudio Codec Zero settings
Afbeelding 4: IQaudio Codec Zero-instellingen.


Er zijn echter nog een paar stappen nodig die niet direct in de handleiding van de IQaudio Codec Zero staan ​​beschreven. Ten eerste moet het uitgangsvolume tot een minimum worden beperkt. Nadat de interne audiocodec van de Raspberry Pi volgens de instructies gedeactiveerd is, is de IQaudio nu als standaard geluidskaart ingesteld in het systeem. Als nu een terminal wordt geopend, kan een luidsprekertest worden gestart met speaker-test -t wav -c 1. De luidspreker blijft echter stil. Het is noodzakelijk om een ​​aantal parameters in de Advanced Linux Sound Architecture (ALSA) instellingen aan te passen. De snelste manier is om de opgegeven instellingen van IQaudio opnieuw te laden. Om dit te doen, wordt een Git-repository gekloond via terminal met git clone  https://github.com/iqaudio/Pi-Codec.git. Ga in de terminal naar de aangemaakte map Pi-Codec en voer het commando sudo alsactl restore -f IQaudIO_Codec_Playback_Only.state uit. Daarna, met speaker-test -t wav -c 1 zou geluid uit de luidspreker linksvoor moeten komen. Vanaf nu wordt al het geluid uitgevoerd via de IQaudio Codec Zero. Een snelle en gemakkelijke installatie!


Microfoon, AUX-In en AUX-Out

Met de ingebouwde microfoon kan de Raspberry Pi audio opnemen. Op deze manier kan een slimme luidspreker worden gerealiseerd — bijvoorbeeld met voice2json. Of je kunt de Raspberry Pi gebruiken in combinatie met Edge Impulse om opnames te maken. De MEMS-microfoon op het board wint geen prijzen in de categorie 'opnamekwaliteit', maar doet zijn werk. Als je niet tevreden bent met het geluid, kun je een externe microfoon aansluiten. De vooraf gedefinieerde .state-files in de gekloonde Pi-codecmap helpen bij het verkrijgen van de juiste instellingen voor opname via de microfoon. Door gebruik te maken van sudo alsactl restore -f
IQaudIO_Codec_OnboardMIC_record_and_SPK_playback.state
wordt de microfoon als opnamebron geselecteeerd. Voor een testopname, kan arecord --device=hw:1,0 --format S16_LE --rate 44100 -c2 test.wav worden gebruikt in de terminal om een ​​testopname met de microfoon te starten en te beëindigen met CTRL+C. Dit kan dan worden afgespeeld met aplay test.wav. Als je een externe audiobron wilt aansluiten, kun je geschikte jacks op de IQaudio Codec Zero solderen. Afbeelding 5 toont AUX In met RCA-aansluitingen.

Afbeelding 5: AUX In met RCA-aansluitingen


Om AUX In als opnamebron te selecteren, typt u het volgende in een terminal: sudo alsactl restore -f IQaudIO_Codec_AUXIN_record_and_HP_playback.state
Op de foto zie je ook de AUX Out, waardoor de IQaudio Codec Zero kan fungeren als feed naar een versterker of actieve speakers.


Nieuw leven voor een oude radio

Iets dat al te lang op mijn to-do lijstje staat, is een oude Philips-radio (Afbeelding 6 en 7). Het enige dat overblijft van het binnenwerk is de luidspreker en er is genoeg ruimte voor nieuwe hardware. Een low-power Raspberry Pi als binnenwerk zou het goed doen, maar voor de luidspreker is een versterker nodig. Het is een goede zaak dat de IQaudio Codec Zero een geïntegreerde 1,2 W versterker heeft, dat klinkt heerlijk in een klein kantoor.

Old housing of a radio.
Afbeelding 6: Oude behuizing van een radio.


Voor het afspelen van muziek kan alles worden gebruikt dat geluid uitvoert in de richting van ALSA onder Linux. Maar of de MPD of een speciale distributie zoals Volumio gebruikt zal worden, is nog niet besloten. Ik heb dus nog geen volledig uitgewerkt concept voor de radio, maar een van de hindernissen, een codec met een kleine versterker, is al uit de weg. Dus in de loop van de tijd zal de binnenruimte zich stukje bij beetje vullen met hardware. Er is nog veel te doen en te plannen voor dit project.
 

There is only one speaker left.
Afbeelding 7: Er is nog maar één luidspreker over.


Een solide basis

De IQaudio Codec Zero biedt zowel Aux IN, Aux Out en zelfs een geïntegreerde microfoon en kan een kleine speaker van 1,2 W aansturen. Voor de prijs van ongeveer €20 is dit een compacte oplossing die op een Raspberry Pi Zero kan worden gebruikt en ook op een Raspberry Pi 3B of Raspberry Pi 4B. Voor streaming-spelers, VoIP-telefoons of slimme luidsprekers biedt de IQaudio Codec Zero een solide basis. Als je wilt experimenteren met audio en streaming op de Raspberry Pi en Linux, moet je zeker de IQaudio Codec Zero overwegen.


Vragen over de IQaudio Codec Zero?

Heb je technische vragen of opmerkingen over dit artikel? E-mail de auteur.
 

Vertaling: Hans Adams