Chaîne HiFi 100% numérique
Présentation
Ce projet vise à construire un système HiFi de très haute qualité, entièrement en DIY, avec une chaîne 100 % numérique du serveur de musique jusqu'aux amplificateurs.
Le point de départ est la convergence de trois découvertes :
-
Les enceintes LXmini, conçues par Siegfried Linkwitz (inventeur des filtres Linkwitz-Riley). Elles promettent une restitution exceptionnelle de la scène sonore et sont réalisables soi-même. Le site de Linkwitz est une mine de connaissances sur les principes acoustiques. Le dossier de réalisation est payant mais en vaut le prix.
-
La possibilité de remplacer les filtres passifs des enceintes par du traitement numérique du signal (filtrage, égalisation, retards). Plus besoin de composants ésotériques ni de discussions sans fin sur les condensateurs. Le tout peut tourner sur une Raspberry Pi avec des outils open source (HOWTO).
-
Les amplificateurs classe D Full Digital (FDA), qui atteignent des niveaux de performance remarquables pour un coût modeste (Derrière le micro exactement, FX Audio D802).
Le fil rouge du projet : David 3, Goliath 0.
Architecture du système
-
Serveur de musique : un OrangePi SBC sous Linux avec MPD (Music Player Daemon), un disque dur externe et une sortie audio USB. La commande se fait depuis un client MPD sur téléphone, tablette ou PC.
-
Carte Nucleo STM32F746 : cœur du système.
- Réception du flux audio en USB asynchrone. La carte Nucleo impose son horloge, ce qui limite le jitter habituellement lié aux SBC.
- Traitement DSP : filtrage, égalisation et séparation en 4 voies à partir du flux stéréo.
- Sortie des 4 flux en SPDIF (l'I2S serait préférable, mais les amplis actuels ne l'acceptent pas).
-
Amplification : deux amplis FX-Audio D802.
-
Enceintes : LXmini de Siegfried Linkwitz.
Photos
Vue d'ensemble des enceintes LXmini :
Les enceintes :
La carte Nucleo STM32 avec les sorties SPDIF :
Les amplis :
Matériel
- Matériels et plans pour la construction des enceintes LXmini
- Carte Nucleo STM32F746
- Deux amplis FX-Audio D802
Logiciels
- Serveur musique : Linux/Armbian + MPD
- DSP : code C embarqué sur la carte Nucleo
Le code source est sur GitHub : F7USBAudio
Un wiki rassemble les informations de développement : Wiki
Évolutions possibles
- Mise en boîtier intégrant le serveur OrangePi et le disque dur
- Horloge dédiée pour la partie audio du STM32 (meilleure précision, support des familles 48k et 44.1k)
- Ampli sur base STA326 alimenté directement en I2S pour supprimer la conversion SPDIF