Comment fabriquer un DAC 24bits/192khz avec un Raspberry pi ?

Le petit nano ordinateur Raspberry Pi est un excellent boitier multimédia, ne serait-ce que parce qu’il est capable de décoder des flux complexes en vidéo et en audio, mais parce qu’en plus il le fait d’une manière performante sans faire le moindre petit bruit… Nous commençons cette première série de tutoriels DIY qui portent sur les usages audiophile du nano-ordinateur Raspberry pi. Vous êtes nombreux à nous avoir demandés la méthode de fabrication du DAC DIY à base d’un Raspberry pi. Avec ce DAC vous allez pouvoir écouter vos albums préférés en 24bits et 192khz avec vos oreilles bioniques sans pour autant écorner votre budget alimentaire (blague de mauvais goût en temps de crise).

Hardware nécessaire pour la fabrication du DAC :

  • Un Raspberry Pi 2 Modèle B : Plus puissante et plus rapide que sa petite soeur, Raspberry Pi 2 Type B est la carte mère idéale pour votre système d’architecture ARM. Elle intègre un puissant processeur Quad-Core ARM Cortex-A7 900 MHz (Broadcom BCM2836), 1024 Mo de RAM et un GPU Dual-Core VideoCore IV.

Raspberry Pi 2 Modèle B

  • HiFiBerry Digi+ : c’est une carte de sortie audio S/PDIF haute qualité pour Raspberry Pi 3, Pi 2 et A+/B+. Elle est conçue comme une carte additionnelle connectée sur la section P1 et P5 du GPIO du Raspberry Pi (P1 et P5 sont maintenant inclus dans le GPIO 40 broches). Cette carte existe également en version Digi+Transformer. Après quelques recherches sur le net, nous nous sommes décidés pour l’achat d’une « Hifiberry », commercialisée en Suisse. Les drivers de cette carte sont tous disponibles en open source, ce qui lui permet d’être inclue par des développeurs dans de nombreuses distro (Raspbian, Volumio, OpenElec, Rasbmc, RuneAudio, PiMusicBox, piCorePlayer, SqueezePlug, etc), bref un concept intelligent, ouvert à tous et qui va encore s’étendre. La carte HiFiBerry est basé sur un DAC Burr-Brown (High Quality – 24 bit/192 KHz, supporté par la plupart des distributions Linux) et existe en différents modèles DAC+ (sorties analogiques) et Digi+ (sortie digitale TosLink, Circuit intégré d’interface S/PDIF dédicacé support jusqu’à 192KHz et résolution 24 bit).

hifiberry-digi

Image : hifiberry digi+

Caractéristiques techniques du hifiberry digi+ :

  • Hat pour Raspberry-Pi A+, B+, Pi2
  • Circuit intégré d’interface S/PDIF dédicacé support jusqu’à 192KHz et résolution 24 bit.
  • Aucune modification du flux audio numérique (dit « bit-perfect output »)
  • Sorties optique (Toslink) et électrique
  • Directement alimenté par le PI.
    Pas besoin d’une alimentation supplémentaire
  • Régulateur à très faible bruit (ultra-low-noise) pour des performances audio optimales
  • EEPROM intégrée pour configuration automatisée (avec protection d’écriture).
  • La version standard du Digi+ n’inclus pas d’isolation galvanique entre le Raspberry-Pi et e DAC sur la sortie électrique.
  • Poids: 20 gr
  • Dimensions: 55 x 65 x 10 mm

Carte SD :

  • Une carte SD : Alors pour la carte SD, là  ou vous allez stocker l’OS, il est vraiment nécessaire de vérifier si votre future carte SD sera supportée au non. C’est justement en allant consulter un magnifique wiki sur le site de eLinux que vous retrouverez un ensemble de cartes qui sont triés par marque et qui ont été testés avec le Raspberry Pi. Notre choix porte pour la carte MicroSD EVO Plus. Avec une mémoire de 16 Go, vous bénéficiez d’une vitesse de lecture ultrarapide de 80 Mb/s et de 20 Mb/s en écriture.

carte sd 16 go

Image : carte sd 16 go

  • Une alimentation Universelle : 5V 2,5A micro USB officielle pour Raspberry Pi a été spécialement pensée pour tirer pleinement avantage de la gestion de l’alimentation améliorée sur la carte Raspberry Pi 3.

alimentation-5v-25a-micro-usb

Image : alimentation secteur

Coté Software :

Il existe différentes solutions Linux complètes qui permettent de prendre en charge la partie multimédia du DAC avec la possibilité de la prise de contrôle à distance via une interface web ou une application mobile :

  • Raspbian : c’est la distribution de base des Rapsberry Pi et prends en charge naturellement ces DAC (voir la compatibilité sur les sites des cartes).
  • Volumio (anciennement RaspyFi), Max2Play et RuneAudio sont des solutions complètes clé-en-main de player multimédia contrôlable à distance et compatible avec le Raspberry Pi, le Beaglebone et le Cubox.
  • OpenElec et OSMC (anciennement RaspBMC) sont des distributions Linux permettant le montage d’un médiacenter basée sur Kodi (anciennement XBMC)
  • Pi MusicBox est un player réseau pour les site de steaming (Spotify, Google Music, SoundCloud, Webradio, Podcasts et d’autres) basé sur le serveur de musique Modipy (en python) et controlable via une interface web
  • piCorePlayer est un player réseau Squeezebox multiroom compatible avec le serveur Logitech Media Server

Notrechoix porte sur un très bon système d’exploitation basé sur Debian qui a été optimisé pour les mélomanes : Volumio. Il possède un noyau qui peut fonctionner en temps réel, une large gamme de drivers convertisseur numériques – analogiques intégrée. Pourquoi ne pas combiner tout cela avec une carte dédiée au son ?

Montage du DAC DAC 24bits/192khz avec un Raspberry pi :

dac RaspBerry-PI-HifiBerry-DIGI

RaspBerry-PI-avec-HifiBerry-DIGI-nylon

Cette fois-ci nous utiliserons le modèle Raspberry Pi B+, après avoir reçu la carte DAC, nous la branchons tout simplement sur le connecteur GPIO 40 broches du nano ordinateur. C’est un peu étrange de se dire que ces ports GPIO peuvent également contrôler et faire voler un drone et qu’ici on va décoder de la musique…

RaspBerry-PI-montage-HifiBerry-DIGI

diy-dac-RaspBerry-PI-with-HifiBerry-DIGI-assemblage

dac-RaspBerry-PI-avec-HifiBerry-DIGI-assemblage-fermeture

On insère la carte SD préalablement formatée avec Volumio, on branche les câbles à l’amplificateur (rouge, blanc…) et on allume la framboise mélomane.

dac-RaspBerry-PI-avec-HifiBerry-DIGI-microSD-installation

Paramétrage de Volumio :

L’un des objectifs de Volumio est d’avoir un système léger économisant les ressources pour améliorer la qualité du son. Vous pourrez, une fois l’OS installé, modifier le noyau Linux afin de changer la latence et – probablement – le jitter. On se connecte sur la page dédiée à l’interface de Volumio et tout se passe à merveille ! Nous ne détaillons pas car tout a été déjà documenté lors du dernier article. On porte ensuite le choix des drivers I2S utilisés par le système sur Hifiberry +.

  • Installation de Volumio
    Après cette présentation, passons maintenant à l’’installation de Volumio qui n’est pas très compliquée et se résume à cela :
    – il faut dans un premier temps télécharger l’image de Volumio pour Raspberry Pi
    – flasher votre carte SD avec ce .img (via une ce soft windows ou RPi-sd card builder pour Mac OS)
    – il faut ensuite insérer votre carte SD dans le RPi, brancher le RPI au réseau via un câble ethernet et mettre sous tension tout ça (accès web et SSH présent par défaut pas besoin de clavier)
    – patientez quelques minutes le temps du boot (3-4 minutes max)
    – Entrez simplement l’URL http://volumio.local/ dans votre navigateur web pour accéder à l’interface de Volumio

Si vous voulez bidouiller plus en profondeur l’OS de Volumio, rien de plus simple.
Ouvrez une connexion SSH votre client favoris tel que Putty. En host renseignez volumio.local ou l’adresse ip.
Pourvous logger sur la console, les identifantspar défaut sont les suivants:
user: root
password: volumio

Comme indiqué si-haut il faut se connecte sur la page dédiée à l’interface Volumio et tout se passe à merveille ! Nous ne détaillons pas car tout a été déjà documenté lors du dernier article. On porte ensuite le choix des drivers I2S utilisés par le système sur Hifiberry +.

volumio-hifiberry2

  • Configration de Volumio

La première chose à faire une fois connecté est d’aller dans le menu : Library, c’est ici que vous allez pouvoir indiquer ou se trouve vos fichiers audio.

dac Volumio_Library

Ajouter des sources dans la basede Volumio est des plus simple. Branchez simplement votre périphérique USB contenant la musique et/ou renseigner l’adresse IP de votre NAS et le chemin d’accès aux fichiers et c’est terminé! Cliquez simplement sur Update Library pour lancer le scan,celapeut prendre du temps si vous avez une importance collection.

volumio_lirary_source-musique

A noté, qu’il y a un mode particulier de lecture en RAM disk, les fichiers sont chargés directement en mémoire afin de pouvoir disposer d’une latence très faible et qualité d’écoute optimale.
Pour ce mode de lecture, vous devez coller les fichiers directement dans le dossier RamPlay accessible via le réseau (un partage SMB/CIFS est créé automatiquement par Volumio)
Sur ce partage, vous avez aussi accès à un dossier WebRadio, il suffit de coller des liste de lecture (format playlist.pls) pour pouvoir écouter vos radios préférées depuis Volumio.

Volumio_Lan-reseau

Vous trouverez bien entendu tout un tas de paramètres:
– Playback: choixde la sortie audio, de la mémoire tempon
-Network: permet de régler la connexion à réseau sans fil, définir l’adresse IP…
– System: permet de changer le nom(exemple: si vous voulez mettre salon pour correspondre à la zone audio) ou encore d’activer/désactiver les services (Airplay,DLNA…) choisir le driver du DAC audio…

3. Utilisation du DAC 24bits/192khz avec un Raspberry pi 

Maintenant que votre DAC RaspberryPi est configuré, il ne reste plus qu’à envoyer la musique en installant l’application qui va bien sur smartphone ou depuis votre pc, tablette :

Lire la musique depuis un PC (Windows/Linux): il est recommander d’utiliser GMPC

Si vous souhaitez utiliser une source sous Android:
– Sound@home for Volumio: permet de gérer la diffusion multiroom
MPDroid: permet un accès complet au contenu local+web radio
– AirAudio: compatible AirPlay, DLNA, Google Chromecast, Roku, SONOS et les services: Spotify, Deezer, Google Play Musique…

RaspBerry-PI-montage-HifiBerry-DIGI-connections-avec-DAC