Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.
C’est alors la barrière de la prise en main qui fait peur, et pourtant...
Les logiciels libres
L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.
Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.
Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.
Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.
- 22 décembre -
Sommaire
'lut les gens,
Le contexte
J’envoie régulièrement l’audio de mon ordinateur portable Thinkpad vers ma barre de son en bluetooth. Alors que celle-ci dispose de toutes les fonctionnalités audio surround, dolby, DTX, 5.1, et j'en passe, ça me désole d’envoyer simplement en stéréo alors que je pourrais faire mieux puisque je dispose de tout le kit d'enceintes permettant une diffusion multicanal audio.
Technologies de diffusion audio bluetooth
J'ai commencé alors quelques recherches pour pouvoir diffuser de l'audio multicanal. Au fil de mes recherches je découvre qu’il existe principalement 2 technologies de diffusion audio bluetooth:
- L'A2DP (Advanced Audio Distribution Profile) est celle qu’on retrouve sur tous les périphériques bluetooth actuels. Elle permet une sortie audio stéréo (qu’on retrouve sous le terme sink). Elle utilise en natif le codec audio SBC qui fournit une qualité audio juste acceptable. Aussi d’autres codecs ont fait leur apparition, SBC XQ qui est une version améliorée de SBC, mais également LDAC, Aptx, AAC ou LC3. Cette technologie est associée à AVRCP (Audio Video Remote Control Profile) qui permet de gérer les commandes.
- LE Audio associé au Bluetooth Low Energy (BLE) est un mode basse consommation qui utilise le codec LC3 qui à terme devrait équiper tous les périphériques bluetooth. Ce mode permettra la diffusion vers plusieurs périphériques bluetooth et de pouvoir utiliser la diffusion multicanal 5.1 contrairement aux autres codecs précédemment cités qui sont limités au mono et au stéréo.
Or en connectant ma barre de son « Abri de jardin » (je sais, c’est bizarre…) avec blueman, je me rends compte que je n’ai accès qu’au codec standard SBC et à sa version améliorée SBC XQ. Pas moyen d’avoir un codec plus qualitatif.
Installation de pipewire et bluez
Ni une, ni deux, je me lance dans l’installation du serveur audio pipewire car pulseaudio installé de base sur ma Mageia 9 ne gère que l’A2DP et ne gère pas le LE Audio.
Je bascule sous pipewire fourni sur mon système avec l’outil pa-switcher et je constate aucune évolution avec blueman et j’ai toujours les mêmes codecs, je choisis d’installer la dernière version de pipewire à partir des sources après avoir installé via les sources les codecs LC3 et Aptx.
Et là je me retrouve avec une installation hybride entre une installation système et local bluez et pipewire avec un mix de fichiers et les services systemd des versions locales qui ont écrasé les versions système. Au reboot du PC, c’est bien par défaut les binaires locaux qui sont lancés, et dans les logs j'ai bien :
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSource/ldac
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSink/aptx_hd
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSource/aptx_hd
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSink/aptx
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSource/aptx
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSink/aac
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSource/aac
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSink/opus_g
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSource/opus_g
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSink/sbc
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSource/sbc
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSource/aptx_ll_1
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSource/aptx_ll_0
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_1
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_0
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSource/faststream
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSource/faststream_duplex
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSink/opus_05
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSource/opus_05
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSink/opus_05_duplex
déc. 22 12:12:57 cilaos.kervao.fr bluetoothd[857]: Endpoint registered: sender=:1.197 path=/MediaEndpoint/A2DPSource/opus_05_duplex
C’est tout bon en ce qui concerne les nouveaux codecs, même si je ne vois pas clairement apparaitre LC3. Et là je constate avec désappointement que blueman ne m’offre pas mieux, je recompile donc cette fois-ci bluez qui fournit le daemon bluetoothd.
Au bout de toutes ces pérégrinations je connecte ma barre de son avec blueman et je constate avec dépit que j’en suis au même stade avec SBC et SBC XQ comme codecs. En dernier ressort, je compile blueman, mais ça ne change rien à l’affaire.
L'impasse
Je me tourne vers les spécifications de ma barre de son LG SL10YG et ce n’est qu’à ce moment là que je comprends que les modes multicanaux ne marchent que via l’interface HDMI et qu’elle se repose sur Bluetooth 4.2 qui ne prend pas en charge le LE Audio (qui arrive avec la version 5.2). J’aurais dû commencer par là !!
D’ailleurs la commande bluetoothctl info me renvoie :
UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb)
j’aurais du avoir quelque chose comme :
UUUUID: Published Audio Capabilities (00001850-0000-1000-8000-00805f9b34fb)
Fin du sketch qui m’aura pris quelques heures, pour positiver je suis passé à pipewire et j'ai découvert son fonctionnement.
Moralité
La morale de cette histoire, s'il doit y en avoir une, est qu'à l'achat de votre barre de son vérifiez bien si elle est au moins compatible bluetooth 5.2 pour pouvoir envoyer de l'audio multicanal, dès lors que la musique correspondante soit au format qui va bien (mais ça c'est une autre histoire).
Pour aller plus loin
Commentaires :
voir le flux Atom
ouvrir dans le navigateur
LinuxFr.org : Journaux
UV un énième packageur python
- 23 décembre -
On se moque facilement des projets js qui vont et qui viennent mais python n’est pas en reste avec ses toolchains. Pour moi qui n’utilise pas (...)
Quelques notes de lecture
- 20 décembre -
Sommaire Cyberstructure de Stéphane Bortzmeyer Le Pouvoir des langues Qui a voulu effacer Alice Recoque L’intelligence artificielle expliquée : des (...)
J'ai créé une visualisation et une description interactive d'iptables
- 18 décembre -
Il arrive souvent qu'avec le temps, les connaissances soient oubliées. Au mieux, vous ouvrez votre manuel préféré et vous vous souvenez rapidement de (...)
Framasoft €$ : Souhaitons leur un Joyeux Anniversaire et Joyeux Noël
- 12 décembre -
Framasoft a 20 ans et a encore plein de projets dans sa besace !J'imagine qu'il n'est pas nécessaire de présenter Framasoft. Notons qu'ils (...)
Sortie de JQM v3
- 12 décembre -
Le logiciel libre et open-source JQM (pour « Job Queue Manager ») est un moteur de batch conçu pour : Optimiser l’exécution de jobs grâce à des files (...)