HiFiBerryOS est notre version d'une distribution Linux minimale optimisée pour la lecture audio. Le but n’est pas d’ajouter autant de fonctionnalités que possible, mais de les garder petites. Par conséquent, il est basé sur Buildroot et il n'est pas possible d'utiliser des gestionnaires de packages pour ajouter plus de logiciels.
Il existe un mécanisme de mise à jour robuste qui n'écrasera pas le système, mais basculera entre la version actuelle et la nouvelle (elles s'exécutent sur des partitions différentes). Ceci est documenté plus en détail sur doc/updater.md.
L'interface utilisateur est basée sur le projet Bang & Olufsen Beocreate.
Pour le moment, les services suivants sont pris en charge :
Spotify (en utilisant un fork de Spotifyd) - nécessite un abonnement Spotify payant
Airplay (en utilisant shairport)
Squeezebox (en utilisant squeezelite)
Récepteur Bluetooth A2DP (utilisant BlueZ 5)
Roon - nécessite un abonnement Roon
MPD
Snapcast (expérimental, utilisant Snapcast et SnapcastMPRIS)
Entrée analogique sur DAC+ ADC avec détection d'entrée (en utilisant une implémentation alsaloop personnalisée)
Webradio (expérimentale)
Outils supplémentaires disponibles :
sox
Boîte à outils HiFiBerry dsp
Il existe plusieurs façons d'ajouter des fonctionnalités à HiFiBerryOS ou de l'intégrer à d'autres systèmes.
L'application principale du contrôleur backend s'appelle audiocontrol et propose une API qui peut être utilisée pour démarrer/arrêter les lecteurs, changer de source ou récupérer des métadonnées. C'est souvent le moyen le plus simple si vous souhaitez l'intégrer dans d'autres systèmes, par exemple un système d'automatisation.
Audiocontrol fournit un système de plugins qui peut être utilisé pour ajouter des intégrations plus complexes. Jetez également un œil à "Anatomie d'un plugin de contrôleur".
HiFiBerryOS est basé sur buildroot. Cela signifie que vous ne pouvez pas facilement installer de logiciels supplémentaires à partir de la ligne de commande. Même si vous le faites, il disparaîtra après la prochaine mise à jour, car une mise à jour remplacera le système de fichiers complet. Vous devez intégrer des logiciels supplémentaires via le système de build Buildroot
L'interface utilisateur utilise également un concept de plugin. Les plugins sont appelés extensions. Jetez un oeil à la documentation Beocreate
Vous pouvez trouver la documentation technique dans le dossier doc du référentiel
La documentation pour créer des images à partir des sources peut être trouvée ici
Nous attendons avec impatience vos contributions. En fonction de la fonctionnalité et de la qualité du code, nous déciderons si une contribution sera incluse dans le système de base ou sera fournie sous forme de module contribué par l'utilisateur que les utilisateurs doivent installer eux-mêmes.