URL: https://linuxfr.org/users/funix/journaux/diffusion-audio-multicanal-avec-bluetooth Title: Diffusion audio multicanal avec bluetooth Authors: Funix Date: 2024年12月22日T15:21:54+01:00 License: CC By-SA Tags: pipewire et bluetooth Score: 25 '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. ![Titre de l'image](https://olivier.hoarau.site/wp-content/uploads/blueman-1.jpg) 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 =========== - une page de présentation de tous les codecs audio (en français) https://www.frandroid.com/comment-faire/comment-fonctionne-la-technologie/752329_aptx-ldac-sbc-tout-comprendre-aux-codecs-bluetooth-audio - une autre page (en français) https://www.audiophonics.fr/fr/blog-diy-audio/45-les-differents-codecs-bluetooth-acc-sbc-aptx-ldac.html - une autre page (en français) https://www.clubic.com/audio-hifi/article-878271-1-comprendre-codecs-bluetooth.html - support LE Audio dans pipewire (en anglais) https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/LE-Audio-+-LC3-support - le codec SBC et SBC XQ (en français) https://fr.wikipedia.org/wiki/Low_Complexity_Subband_Codec - le codec LDAC (en anglais) https://en.wikipedia.org/wiki/LDAC_(codec) - le codec Aptx (en anglais) https://en.wikipedia.org/wiki/AptX - le codec LC3 (en anglais) https://en.wikipedia.org/wiki/LC3_(codec) - cette même page mais en plus détaillée sur mon blog https://olivier.hoarau.site/?p=6608

AltStyle によって変換されたページ (->オリジナル) /