Raspberry Pi et DAC Audio PCM5102

Permalink | Publié le 1 mai 2017, dernière modification le 8 avril 2018.

Le Raspberry Pi a pour réputation de ne pas fournir un son audio de très grande qualité, via la prise Jack. Et étant donné son prix et le fait que l’audio ne soit pas son usage premier, c’est tout à fait normal. Il est cependant possible d’améliorer ceci en ajoutant un DAC audio, pour « Digital-to-analog converter », qui comme son nom l’indique aura pour but de convertir le signal numérique en signal audio, de meilleure qualité que l’existant.

Le matériel

J’utilise un Raspberry Pi B révision 2, pas tout neuf, de nombreux autres modèles sont sortis depuis. C’est la première fois que j’utilise un DAC audio avec le Raspberry, donc j’ai opté pour un modèle peu onéreux, le PCM5102 (7.30€) en version « no name », originaire de Texas Instruments et que l’on retrouve chez Audiophonics par exemple. On rajoute en cas de besoin un adaptateur RCA mâle/jack femelle (0.65€), des connecteurs (0.54€) pour le header P5 que je vais utiliser (j’y reviendrais) et des câbles DuPont femelle/femelle (0.71€) pour un total de 9.20€, c’est très abordable. Il faut cependant être patient lorsque l’on commande sur AliExpress, ça prend 15 jours minimum.

Le header P5

Le plus connu des headers du Raspberry Pi, c’est le P1 : il s’agit des entrées/sorties que l’on utilise le plus, et dont le nombre dépend du modèle. Sur le RPi B rev.2 il y en a 26. Mais il y a d’autres entrées/sorties, qui ne sont seulement pas équipées de connecteurs, d’où l’investissement ci-dessus. Le P5 en fait partie. Il diffère cependant d’une chose : il est conçu pour être en dessous, du coup le schéma suivant est à lire à l’envers :

On peut facilement identifier le sens dans lequel vous devez comparer ce schéma avec votre Raspberry : le 5V (en rouge) est identifié par un carré, et c’est également le cas sur le Raspberry Pi. Il faut donc regarder la carte de dos, avec les ports USB et Ethernet vers le haut.

Soudure

Du coup, pour utiliser ce header, il est nécessaire de faire un peu de soudure pour ajouter les connecteurs. Il faut tout d’abord couper les connecteurs nécessaires (2×4), puis ensuite réaliser la soudure, côté face pour une utilisation en dessous (vous pouvez également vous en servir dans l’autre sens si vous voulez). Je ne suis pas un spécialiste de la soudure, si ce n’est pas le cas non plus pour vous, je vous conseille de faire un petit entraînement avant de le faire sur le Raspberry Pi. Il faut être prudent de ne toucher aucun composant avec la partie chauffante du fer au risque de détruire le Raspberry. Il y a de très bons tutos sur le web pour réaliser de jolies soudures : en gros, il ne faut pas que le fer touche l’étain : il faut chauffer les deux parties que l’on veut relier puis positionner l’étain sur ces deux parties de l’autre côté du fer, les parties chauffées vont faire fondre l’étain et le répartir sur la surface.

On peut voir que mes headers ne sont pas droit du tout, ça ne pose aucun problème du moment que c’est parallèle et que l’on peut se connecter sur toutes les têtes. Dans un soucis d’esthétisme, on pourra effectivement s’appliquer un peu plus que ça :-p

Câblage

Le câblage est le suivant (DAC -> RPi)

VCC -> Pin 1 (5V)
GND -> Pin 8 (GND)
GND -> Pin 7 (GND)
LRCK -> Pin 4 (I2C0_SCL)
DATA -> Pin 6
BCK -> Pin 3 (I2C0_SDA)

Configuration avec Raspbian

J’ai installé une version minimale de Raspbian sans interface graphique. Je vais d’abord lancer une musique avec la sortie audio par défaut, c’est à dire la prise jack. J’installe omxplayer, puis je fais mon test. L’option « -o local » permet de jouer vers le jack car le son est dirigé par défaut sur le HDMI quand un écran est branché.

apt-get install omxplayer
omxplayer -o local fichier.mp3

Ensuite, pour la configuration du DAC, je me base sur la documentation des cartes HifiBerry :

sudo nano /boot/config.txt
(out)# Modifier la ligne :
(out)dtoverlay=lirc-rpi
(out)# Par ceci :
(out)dtoverlay=hifiberry-dac
(out)# Trouver cette ligne :
(out)dtparam=audio=on
(out)# Et la mettre en commentaire :
(out)#dtparam=audio=on

Ensuite on redémarre le Pi :

sudo reboot

Et on vérifie que le périphérique soit bien détecté :

aplay -l

Et l’on doit obtenir quelque chose comme ceci :

**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0

J’ai réalisé ces commandes sur une carte SD avec Raspbian Lite où j’avais déjà fait beaucoup de tests, n’ayant pas trouvé du premier coup les bons tutos sur le web pour mon cas, mais j’ai également recommencé toute cette procédure sur une Raspbian Lite toute neuve, il n’y a donc vraiment aucune manipulation supplémentaire à effectuer.
Ensuite nous allons tester avec omxplayer le bon fonctionnement du DAC :

apt-get install omxplayer
omxplayer -o alsa fichier.mp3

On notera bien que la destination dans la commande d’omxplayer a changée, ce n’est plus en local mais sur alsa. Et voilà de quoi ajouter de l’audio de qualité pour vos projets avec le Raspberry Pi avec un investissement très faible. Ah, et j’oubliais, voici une photo du DAC :

Commentaires

Un avis sur "Raspberry Pi et DAC Audio PCM5102"

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *