Vous êtes à la recherche d'une carte son petite et compacte pour un Raspberry Pi ? Regardez l'IQaudio Codec Zero (Figure 1), qui a un facteur de forme Zéro.    

IQaudio Codec Zero
Figure 1 : IQaudio Codec Zero (Source : Fondation Raspberry Pi).

Découvrez l'IQaudio Codec Zero

Si vous n'avez besoin que d'une sortie sonore numérique via HDMI, vous n'avez pas besoin d'une carte son. Elle devient intéressante si vous souhaitez obtenir une sortie audio analogique de bonne qualité ou si vous souhaitez également traiter des signaux analogiques avec le Raspberry Pi. Les modèles A et B du Raspberry Pi disposent depuis toujours d'une sortie audio analogique sur un connecteur jack 3,5 mm ; cependant, la qualité n'est pas la meilleure et ne convient pas vraiment à l'écoute de la musique. 

Contents of the IQaudio Codec Zero
Figure 2 : Contenu du paquet IQaudio Codec Zero


L'IQaudio Codec Zero offre un amplificateur intégré de 1,2 W pour un haut-parleur 8 Ω, un microphone MEMS intégré et une entrée/sortie AUX analogique avec niveau de ligne. Cela permet de réaliser assez facilement des projets tels qu'une enceinte intelligente, un téléphone VoIP ou un jukebox personnalisé. La figure 2 montre le matériel inclus. Le cœur de l'IQaudio Codec Zero est le DA7212 de Dialog Semiconductor. La figure 3 montre les blocs et le routage des signaux dans le DA7212. Le circuit intégré est un codec à 24 bits avec une fréquence d'échantillonnage allant jusqu'à 96 kHz. Un égaliseur à 5 bandes, un contrôle automatique de niveau (ALC) et une noise gate sont intégrés. La documentation du IQaudio Codec Zero peut être trouvée sur la page de la Fondation Raspberry Pi.

Block diagram of the DA7212
Figure 3 : Schéma fonctionnel du DA7212 (Source : Dialog Semiconductor)

Presque plug & play

L'IQaudio Codec Zero a une EEPROM conforme à la spécification Raspberry Pi HAT, donc un Raspberry Pi devrait automatiquement reconnaître la carte et la configurer de manière appropriée. Sur un Raspberry Pi 3B+, cela fonctionne bien ; le système d'exploitation actuel du Raspberry Pi (32 bits) reconnaît la carte et la configure de manière appropriée. La Figure 4 montre le codec IQaudio dans les paramètres du son.

IQaudio Codec Zero settings
Figure 4 : Paramètres du codec IQaudio Zero.


Cependant, il y a encore quelques étapes nécessaires qui ne sont pas directement décrites dans le manuel de l'IQaudio Codec Zero. Tout d'abord, le volume de sortie doit être réduit au minimum.

Après que le codec audio interne du Raspberry Pi ait été désactivé conformément aux instructions, l'IQaudio reste maintenant dans le système comme carte son par défaut. Dans un terminal, un test de haut-parleur peut être lancé avec
speaker-test -t wav -c 1
Or, le haut-parleur reste muet. Il est nécessaire d'ajuster quelques paramètres dans les réglages ALSA de Linux. Le moyen le plus rapide est de recharger les paramètres fournis par IQaudio. Pour ce faire, un dépôt Git est cloné via le terminal avec
git clone https://github.com/iqaudio/Pi-Codec.git
Dans le terminal, allez dans le dossier créé Pi-Codec et exécutez la commande
sudo alsactl restore -f IQaudIO_Codec_Playback_Only.state.
Après cela,
speaker-test -t wav -c 1
devrait produire un son front left à partir du haut-parleur. A partir de maintenant tous les sons seront émis par IQaudio Codec Zero. Une installation rapide et facile !

Microphone, E/S AUX

Avec le microphone intégré, le Raspberry Pi peut enregistrer de l'audio. De cette façon, un haut-parleur intelligent peut être réalisé, par exemple, avec voice2json. Vous pouvez également utiliser le Raspberry Pi en conjonction avec Edge Impulse pour enregistrer des données. Le microphone MEMS de la carte ne gagnera pas de prix dans la catégorie "qualité d'enregistrement", mais il fait l’affaire. Si vous n'êtes pas satisfait du son, vous pouvez connecter un microphone externe. Les fichiers .state prédéfinis dans le dossier codec du Raspberry Pi cloné aident à obtenir les paramètres appropriés pour l'enregistrement via le microphone. En utilisant
sudo alsactl restore -f IQaudIO_Codec_OnboardMIC_record_and_SPK_playback.state
le microphone est sélectionné comme source d'enregistrement. Pour un enregistrement de test,
arecord --device=hw:1,0 --format S16_LE --rate 44100 -c2 test.wav
peut être utilisé dans le terminal pour démarrer un enregistrement de test avec le microphone et le terminer avec CTRL+C. Cet enregistrement peut ensuite être lu avec
aplay test.wav
Si vous voulez connecter une source audio externe, vous pouvez souder des jacks appropriés à l'IQaudio Codec Zero. La figure 5 montre l'entrée AUX avec des jacks RCA.

figure 5: l'entrée AUX avec des jacks RCA

Pour sélectionner AUX In comme source d'enregistrement, vous devez taper ce qui suit dans un terminal :

sudo alsactl restore -f IQaudIO_Codec_AUXIN_record_and_HP_playback.state

Vous pouvez également voir sur l'image la sortie AUX Out, qui permet à l'IQaudio Codec Zero de servir de source audio à un amplificateur ou à des enceintes actives.

Une nouvelle vie pour une vieille radio

Un élément qui est sur ma liste de choses à faire depuis trop longtemps est une vieille radio Philips (Figure 6 et 7). Tout ce qui reste de l'intérieur est le haut-parleur, et il y a de la place pour un nouveau matériel. À l'intérieur, un Raspberry Pi à faible puissance ferait l'affaire, mais un amplificateur est nécessaire pour le haut-parleur. C'est une bonne chose que le Codec Zero d'IQaudio ait un amplificateur intégré de 1,2 W, de sorte qu'une petite pièce ou chambre puisse être sonorisé à merveille.

Old housing of a radio.
Figure 6 : Ancien boîtier d'une radio.


Pour la lecture de la musique, on peut utiliser tout ce qui peut se connecter à ALSA. Mais si la MPD ou une distribution spéciale comme Volumio sera utilisée, ce n'est pas encore décidé. Je n'ai donc pas encore un concept complètement terminé pour la radio, mais l'un des obstacles, un codec avec un petit amplificateur, a déjà été franchi. Ainsi, au fur et à mesure la radio se remplira pièce par pièce. Il y a encore beaucoup à faire et à planifier pour ce projet.

There is only one speaker left.
Figure 7 : Il ne reste qu'un seul haut-parleur.

Une base solide

L'IQaudio Codec Zero offre une entrée et une sortie auxiliaires ainsi qu'un microphone intégré et peut alimenter un petit haut-parleur de 1,2 W. Pour le prix d'environ 20 €, c'est une solution compacte qui peut être utilisée sur un Raspberry Pi Zero ainsi que sur un Raspberry Pi 3B ou un Raspberry Pi 4B. Pour les lecteurs de streaming, les téléphones VoIP ou les enceintes intelligentes, l'IQaudio Codec Zero constitue une base solide. Si vous voulez expérimenter avec l'audio et le streaming sur le Raspberry Pi et Linux, vous devriez considérer l'IQaudio Codec Zero.


Des questions sur l'IQaudio Codec Zero ?

Vous avez des questions techniques ou des commentaires sur cet article ? Envoyez un courriel à l'auteur.


Traduction : Maxime Valens