Publié le 18 janvier 2019 - par

Carte audio HifiBerry DAC + DSP pour Raspberry Pi (2ème partie)

Un premier article de Stéphane vous avait permis de découvrir l’utilisation basique de cette carte Hifiberry DAC+DSP. Mettant à profit les longues soirées d’hiver, Stéphane a poursuivi ses tests en explorant les possibilités de traitement numérique du son, rendues possibles par la présence d’un DSP.

Carte Hifiberry DAC+DSP utiliser le DSP

Rappel de l’épisode précédent

Dans une première partie la qualité audio de cette carte a été évaluée comme très performante au regard de son coût mais ses possibilités de traitement numérique DSP (Digital Sound Processing) du signal audio n’avaient pas encore été explorées : volume, balance, ré-échantillonnage, égaliseur de fréquences, filtres EQ paramétriques à bande étroite pour corrections acoustiques …

Du fait de l’importance souvent négligée de l’acoustique dans la performance finale c’est cette dernière fonction filtres EQ qu’il est proposé de détailler ici. En effet il n’est pas rare de voir des audiophiles dépenser des fortunes dans leur matériel et les accessoires – câbles, connecteurs, supports, meuble HiFi – (→ signaux directs) tout en délaissant complètement l’acoustique de leur pièce d’écoute (→ signaux réfléchis) alors que cette dernière influe de manière souvent bien plus primordiale. Mieux vaut certainement une installation plus modeste dans une configuration acoustique optimisée qu’un équipement audio du prix d’une voiture de luxe en présence de défauts acoustiques prononcés !

Les lecteurs connaisseurs ou les plus pressés pourront passer directement du paragraphe 1.2 au paragraphe 1.5. Pour les autres une rapide sensibilisation aux enjeux acoustiques est proposée en guise de préambule.

Principe

Un soft appelé « DSP toolkit » doit être au préalablement installé sur le Raspberry Pi, ainsi qu’un profil DSP adapté. La liaison liaison SPI (Serial Peripheral Interface) doit avoir été autorisée. Idéalement à l’aide d’un micro calibré et du puissant logiciel d’analyse REW (à faire tourner de préférence sur un Mac ou PC) la réponse en fréquence de l’installation audio placée dans sa pièce doit être précisément déterminée pour chaque canal puis moyennée à la position d’écoute. REW en déduit les corrections de fréquence requises pour améliorer la réponse en fréquence. Ces paramètres sont injectés dans l’EEPROM du DAC+DSP et ainsi appliqués en permanence lors de la lecture audio.

Guide pratique : https://github.com/hifiberry/hifiberry-dsp/blob/master/doc/rew-basics.md

Déterminer la correction fréquentielle requise avec REW

Il existe de nombreux tutoriels, voir en fin de §, on peut aussi suivre les instructions du lien précédent. Pour faire simple le principe d’acquisition de REW est basé sur l’analyse de la mesure par le micro étalonné d’un signal « sweep » qui en une dizaine de seconde balaye la plage de fréquence souhaitée, en général en rapport avec les capacités humaines soit – sujet de moins de 30 ans – 20 à 20000 Hz (au-delà on travaille pour son compagnon à 4 pattes ou pour les chauves-souris  🙂 ).

La réponse en fréquence du couple système audio – salle est ainsi déterminée. Il est possible de mesurer les deux canaux en même temps ou, mieux, séparément (ce qui permet de visualiser les différences) puis de moyenner la réponse avec la fonction « Average the Responses » du graphique « All SPS » de REW. Appliquer cette dernière pour la correction acoustique de REW.

Du fait d’éventuelles imperfections du système audio (enceintes …) mais surtout de la réponse acoustique de la pièce cette réponse comportera inévitablement des bas (creux) et surtout des hauts (crêtes) qu’il conviendra de lisser en déterminant leurs fréquences centrales, leur largeur (facteur Q) et leur intensité en dB, ce que la fonction « EQ » de REW déterminera automatiquement. Veiller à l’absence de bruits externes perturbateurs pendant les mesures.

Noter que ces imperfections se situeront presqu’exclusivement aux basses fréquences inférieures à 200-300 Hz et dont la longueur d’onde est du même ordre de grandeur que les dimensions de la pièce. Il est donc pertinent de concentrer les corrections en dessous de cette fréquence, et conseillé de s’attacher surtout à diminuer les pics et d’ignorer quasiment les creux. En effet le temps de réverbération des fréquences basses (le RT60 pour les experts) étant plus important les pics de graves sont naturellement perçus comme plus prononcés et plus désagréables à l’écoute. Les creux sont bien moins gênants. La représentation de la réponse en 3D « REW Waterfall » qui intègre les temps de retombée permet de s’en faire une idée graphique.

Noter enfin qu’il serait parfaitement inutile voire contre-productif de chercher à obtenir par traitement EQ une réponse parfaitement linéaire. Ceci impliquerait des corrections bien trop nombreuses et poussées qui généreraient de multiples défauts de phase et qui pour compenser les creux risqueraient de saturer le signal engendrant ainsi plus d’effets négatifs que positifs. De plus cette réponse perdrait sa linéarité au moindre changement de position d’écoute etc …

Exemple de réponse en fréquence mesurée avec REW (zoom sur la plage 10-1250Hz) avec crête autour de 50Hz :

Cliquer pour agrandir

La même réponse en diagramme Waterfall intégrant dans l’axe de profondeur les temps de réverbération :
Le poids de la crête autour de 50Hz en ressort nettement renforcée

Cliquer pour agrandir

Filtre proposé par « REW EQ » F= 51,1Hz, Q= 3,042, G= -7,3dB
Violet = réponse initiale, bleu clair = réponse du filtre,
jaune = réponse corrigée estimée par REW après application du filtre (bande 20-400 Hz)

Cliquer pour agrandir

Ici REW (appliqué pour F<300Hz) s’est contenté de corriger la crête autour de 50Hz avec le filtre ci-dessus décrit.

Le filtre ainsi déterminé est à sauvegarder en fichier texte comme décrit dans le lien guide pratique du 1.2.

Pour cet exemple cela donne :

Précautions et limites de la correction de fréquence EQ

La réponse en fréquence et la correction ainsi calculée est exclusivement valide à la position d’écoute, pour un placement donné des enceintes et une configuration acoustique de la salle donnée : dimensions, présence de matériaux absorbants / réfléchissants / diffusants : tapis, moquette, rideaux, tableaux, meubles, matériaux utilisés pour les parois, le sol, le plafond, présence de portes ou fenêtres, traitement acoustique éventuel etc …

A ce stade il est important de comprendre qu’une modification d’un seul de ces paramètres influera nécessairement sur le résultat. Par exemple déplacer la position des enceintes ou celle de la position d’écoute ne serait-ce que de quelques cm, ajouter / enlever / déplacer un meuble, tapis ou autre rideau, sans parler de la présence ou non et du positionnement de dispositifs de traitements acoustiques (bass-traps, panneaux absorbants, diffuseurs etc…). Il est donc conseillé de veiller à ce que la configuration appliquée pendant les mesures soit bien représentative de la situation réelle sous peine d’obtenir des résultats faussés et une correction fréquentielle non optimale. Et le cas échéant remesurer la réponse fréquentielle et déterminer une nouvelle correction suite à tout changement impactant.

Les bienfaits et limites de l’EQ sont par ailleurs bien décrits dans le registre d’aide de REW : https://www.roomeqwizard.com/help/help_en-GB/html/iseqtheanswer.html#top

En résumé

En bref contrairement aux traitements acoustiques non seulement l’EQ ne pourra traiter qu’une seule position d’écoute et aura un effet limité sur les superpositions d’ondes stationnaires (la superposition d’un signal direct avec sa réflexion en opposition de phase donnera zéro quelle que soit l’amplitude) mais de plus l’EQ ne pourra ni corriger les temps de réverbération inadaptés ni les problèmes liés aux premières réflexions sur les parois proches des enceintes. Voir liens sur l’acoustique ci-dessous. Enfin dans le cas du profil DSP proposé par Hifiberry sur github il n’est malheureusement pas possible de différencier la correction sur les deux canaux.

Pour un résultat idéal il est ainsi conseillé autant faire que se peut – et dans la limite du WAF (*) – de d’abord améliorer l’acoustique par une optimisation des paramètres acoustiques « physiques » (voir liens ci-dessous) et de n’appliquer la correction de fréquence EQ qu’en guise de perfectionnement final.

(*) le fameux Woman Acceptance Factor 🙂

Liens utiles en relation avec REW :

https://www.roomeqwizard.com/

https://www.avnirvana.com/forums/official-rew-room-eq-wizard-support-forum.10/

https://www.roomeqwizard.com/REWhelp.pdf

http://koopstribe.free.fr/REW_V5_Manuel_FR_V2_0.pdf

REW : Un Tutoriel pour Analyser l’Acoustique de Votre Studio

https://www.avnirvana.com/threads/a-beginners-guide-to-room-eq-wizard-rew.3723/

Plus d’informations sur l’acoustique et les traitements :

http://amfoat.free.fr/acoust_traitement.php

Articles

https://www.pytaudio.com/traitement-acoustique-piece-hifi/

https://www.minidsp.com/applications/acoustic-measurements/acoustic-measurements

Appliquer la fonction DSP EQ sur la Hifiberry DAC +DSP

OK. Et dans la pratique comment s’y prendre avec cette carte ?

La carte est supposée montée sur un RPi correctement configuré (voir Partie I) sur base de distribution Raspbian et le filtre EQ à appliquer déterminé comme ci-dessus décrit et sauvegardé dans le fichier « EQFilter.txt« .

Bien entendu les corrections fréquentielles éventuellement nativement disponibles sur la distribution de lecture audio appliquée (pluggin de Volumio2 ou fonctions EQ de Moodeaudio après version 4.0) sont totalement désactivées pour ne pas interférer.

– Se connecter en SSH sur le Rpi

– Autoriser la liaison SPI par sudo raspi-config puis « Interfacing Options », « SPI enabled : Yes »

– Par sécurité sudo apt-get update et sudo apt-get upgrade (et un peu de patience !)

– Installer dsptoolkit :
bash <(curl https://raw.githubusercontent.com/hifiberry/hifiberry-dsp/master/install-dsptoolkit)

– Installer un profil DSP pour correction EQ :
dsptoolkit install-profile https://raw.githubusercontent.com/hifiberry/hifiberry-dsp/master/sample_files/xml/dacdsp-default.xml

– Créer un répertoire EQ sur la carte SD du Rpi par ex. sous / : sudo mkdir /EQ

– Récupérer le fichier EQFilter.txt et le placer dans ce répertoire EQ via partage réseau, clé USB …

– Affecter ce filtre au DSP avec l’outil dsptoolkit :
dsptoolkit apply-rew-filters /EQ/EQfilter.txt

– Vérifier lors d’une nouvelle mesure et surtout à l’écoute que le résultat convient. Sinon modifier le filtre en jouant sur les paramètres REW (dans le fichier texte) et recommencer.

– Si OK, pour garder le filtre au redémarrage le sauvegarder dans la mémoire EEPROM :
dsptoolkit store-filters

– Pour le retirer définitivement de l’EEPROM par la suite :
dsptoolkit clear-iir-filters (*)

– That’s it !

(*) et non pas « dsptoolkit clear-filters » comme décrit dans le quide pratique du lien donné au §2

6) Test de l’efficacité du filtre EQ

Sur l’installation mesurée le filtre déterminé par REW est : Fc 297 Hz, Gain -6.4 dB, Q 5.000

La réponse estimée par REW de ce filtre est en vert vs réponse d’origine en bleu (bande 100-1000Hz) :


Une fois le filtre appliqué au DAC +DSP la réponse modifiée est mesurée « en vrai », tracée en rose et comparée aux courbes précédentes :

Cliquer pour agrandir

Conclusion : la réponse réelle rose est proche de la réponse estimée verte ce qui atteste de la bonne précision de la fonction DSP « EQ » de la carte Hifiberry DAC +DSP. Le pic autour de 300Hz est efficacement gommé comme prévu. Le test audio réalisé avec ce filtre activé confirme enfin que le résultat final est parfaitement convaincant.

En comparaison, le résultat de la même correction appliquée par la fonction EQ native de Moodeaudio (toujours en rose) donne un résultat bien moins performant, le pic à 300Hz n’est pratiquement pas modifié et une correction non souhaitée est appliquée sur de multiples autres fréquences :

Cliquer pour agrandir

Appliquer d’autres fonctions DSP

Yes you can ! De manière similaire avec la commande dsptoolkit et un profil DSP adapté (qu’on peut créer soi-même avec SigmaStudio, voir https://github.com/hifiberry/hifiberry-dsp/blob/master/doc/dspprofiles.md ) il est possible de jouer sur le volume de sortie, la limite maxi de volume, de créer des filtres de croisement pour les différentes voies d’une enceinte (multiamplification), gérer séparément les canaux droits et gauche etc … Un peu de programmation en plus et les traitements DSP ainsi créés peuvent devenir commutables pour rapidement passer d’une correction à l’autre etc …

Conclusion

A l’heure de la conclusion finale cette carte audio de concept nouveau proposée à un prix raisonnable et qui sort du lot par ses fonctions originales ne manque pas d’intérêt. Elle permettra aux plus curieux / expérimentés de s’adapter à d’innombrables cas de figure.

Un certain nombre de points sont toutefois perfectibles. Il est en particulier étonnant que Hifiberry n’ait pas jugé utile de mettre à disposition de ses clients une notice d’utilisation / installation / programmation claire et accessible, se reposant sur les informations de la plateforme github – et encore, pour trouver le lien il faut fouiller dans leur blog et trouver la page « Announcing the DAC+ DSP ». Ou sur des articles de review comme celui-ci:-)

Bien vu Discutable
  • rapport Qualité – Performances audio/Prix
  • nombreuses fonctionnalités et possibilités de personnalisation
  • Sorties audio analogiques et numérique
  • Peut fonctionner en DAC sans Raspberry Pi
  • DSP EQ Paramétrique efficace
  • Entrée / Sortie numériques uniquement optiques
  • Entrée numérique limitée à taux échantillonnage 96kHz
  • Complexité de mise en œuvre des fonctions DSP
  • Manque de documentation sur le site Hifiberry
  • le profil « DSP EQ » proposé sur github n’autorise pas le traitement différencié des deux canaux.
  • pas de moyen simple de vérifier le statut d’activation des DSP appliqués (pas trouvé …)

 

Share Button

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

6 réflexions au sujet de « Carte audio HifiBerry DAC + DSP pour Raspberry Pi (2ème partie) »

  1. Alleron Franck

    Merci beaucoup de ce défrichage, je cherche un moyen simple d’activer le 96kz et 192kz car je ne vois en sortie que du 48khz. J’ai contacté le support mais il me dit que le 48kz est largement suffisant et qu’il n’y a pas de procédure simple, qu’en pensez-vous et sauriez-vous m’aider?

    Répondre

Laisser un commentaire

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

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.