Edit 2018-10-27: Le support LDAC, APTX (-HD) et AAC pour PulseAudio est en cours. Il existe un référentiel sur GitHub par EHfive avec des correctifs ainsi qu'un PPA à partir de 18.04, consultez le Wiki pour plus d'informations. Il semble que les correctifs arriveront en amont à un moment donné. J'ai vérifié le PPA le 18.04, cela fonctionne, bien qu'il remplace PA 11.1 par 12, installe une version plus récente de ffmpeg et x265.
Edit 18/12/2017: Je dois l'avoir manqué il y a quelques semaines, mais on dirait qu'il y a maintenant un encodeur dans FFmpeg . À ma connaissance, aucune solution conviviale n'existe pour le moment.
La réponse courte
Vous devez utiliser des dongles Bluetooth de marque spéciale. Jetez un œil à Comment puis-je utiliser aptX? section de cette réponse ou parcourez le site aptx.com pour les émetteurs .
La réponse plus longue
Problèmes de licence
Le codec aptX est une norme propriétaire que CSR a acquise auprès d'APT Licensing Ltd. dans le but de développer et de commercialiser des solutions audio Bluetooth haute fidélité alimentées par aptX via la marque des ingrédients . Vous avez raison, c'est une stratégie pour CSR de vendre des puces exclusives.
J'ai trouvé la clause suivante en parcourant le contrat de licence du décodeur :
- implémenter le logiciel en tant que micrologiciel dans un code sécurisé intégré au produit du titulaire de licence
Bien que cela ne réponde pas aux questions sur l'encodeur, je dirais que la situation est au moins aussi difficile qu'avec d'autres codecs et composants logiciels propriétaires ( 1 , 2 , 3 ).
Comment puis-je utiliser aptX?
Vous pouvez l'utiliser, mais pas comme une solution logicielle gratuite.
Vous pouvez trouver des dongles Bluetooth de marque spéciale, appelés émetteurs aptX. Ce ne sont pas les dongles Bluetooth typiques nano ou pico, mais des appareils USB Audio Class. (Jetez un œil à la section des classes de périphériques sur l'article USB de Wikipedia pour plus d'informations.) Cela signifie que ces périphériques seront reconnus comme des cartes son et ne fourniront pas de connectivité Bluetooth à l'ordinateur hôte. Il y a aussi un inconvénient majeur: ceux-ci coûtent près de 10 fois plus cher que les dongles Bluetooth classiques.
Liste des émetteurs aptX ou des dongles Bluetooth avec prise en charge aptX par ordre alphabétique:
- Émetteur Bluetooth Creative BT-D1 USB, Bluetooth 2.1 + EDR
- Creative BT-W1 / BT-W2 USB, Bluetooth 2.1 + EDR
- Sennheiser BTD 500 USB, Bluetooth 3.0
- Avantree BTDG-50-WGR, Bluetooth 4.1 avec aptX LL
(Les suppléments sont les bienvenus! J'adorerais voir, de préférence moins cher, des alternatives.)
Vérifier le codec configuré d'une connexion
Installez bluez-hcidump
et exécutez sudo hcidump avdtp
, puis connectez le périphérique et recherchez la négociation de configuration. Ce qui suit est le résultat que j'ai obtenu (voir aussi ), il semble qu'il ait essayé aptX, AAC et finalement réglé pour SBC.
$ sudo hcidump avdtp
HCI sniffer - Bluetooth packet analyzer ver 5.35
device: hci0 snap_len: 1500 filter: 0x400
< AVDTP(s): Discover cmd: transaction 11 nsp 0x00
> AVDTP(s): Discover rsp: transaction 11 nsp 0x00
ACP SEID 5 - Audio Sink
ACP SEID 3 - Audio Sink
ACP SEID 1 - Audio Sink
< AVDTP(s): Capabilities cmd: transaction 12 nsp 0x00
ACP SEID 5
> AVDTP(s): Capabilities rsp: transaction 12 nsp 0x00
Media Transport
Media Codec - non-A2DP (aptX)
16kHz 32kHz 44.1kHz 48kHz
Stereo
< AVDTP(s): Capabilities cmd: transaction 13 nsp 0x00
ACP SEID 3
> AVDTP(s): Capabilities rsp: transaction 13 nsp 0x00
Media Transport
Media Codec - MPEG-2,4 AAC
MPEG-2 AAC LC MPEG-4 AAC LC
8kHz 11.025kHz 12kHz 16kHz 22.05kHz 24kHz 32kHz 44.1kHz 48kHz
1 2 Channels
320000bps VBR
Content Protection
02 00
< AVDTP(s): Capabilities cmd: transaction 14 nsp 0x00
ACP SEID 1
> AVDTP(s): Capabilities rsp: transaction 14 nsp 0x00
Media Transport
Media Codec - SBC
16kHz 32kHz 44.1kHz 48kHz
Mono DualChannel Stereo JointStereo
4 8 12 16 Blocks
4 8 Subbands
SNR Loudness
Bitpool Range 2-53
Content Protection
02 00
< AVDTP(s): Set config cmd: transaction 15 nsp 0x00
ACP SEID 1 - INT SEID 1
Media Transport
Media Codec - SBC
44.1kHz
JointStereo
16 Blocks
8 Subbands
Loudness
Bitpool Range 2-53
> AVDTP(s): Set config rsp: transaction 15 nsp 0x00
< AVDTP(s): Open cmd: transaction 0 nsp 0x00
ACP SEID 1
> AVDTP(s): Open rsp: transaction 0 nsp 0x00
< AVDTP(s): Start cmd: transaction 1 nsp 0x00
ACP SEID 1
> AVDTP(s): Start rsp: transaction 1 nsp 0x00
< AVDTP(m): ver 2 cc 0 pt 1 seqn 0 time 0 ssrc 1
< AVDTP(m): ver 2 cc 0 pt 1 seqn 1 time 896 ssrc 1
Dépannage
- A2DP est unidirectionnel, vous ne pouvez écouter de la musique qu'avec A2DP . Pour les appels vocaux, utilisez les profils HSP / HFP.
- Si des écouteurs ou des périphériques ne sont pas reconnus ou répertoriés comme périphérique de sortie, par exemple dans VLC, essayez de basculer vers une autre carte son et inversement via les paramètres audio. Les appareils doivent alors être reconnus.
Qu'en est-il du téléphone Ubuntu?
Je ne sais pas si Ubuntu sur téléphones prend en charge ce codec. Les documents RSE indiquent que des solutions sont disponibles pour les fabricants d'appareils Android, donc je suppose que c'est aux fabricants de téléphones de décider si et comment. Bien sûr, Ubuntu Touch prend généralement en charge les casques Bluetooth et j'ai pu coupler mon Nexus 4 exécutant Ubuntu avec les casques que j'ai testés.
Mon expérience et mes tests
Modules et dongles Bluetooth testés:
- Ordinateur de bureau avec nano dongles Bluetooth 2.1 et 4.0, Lenovo T530 avec module intégré. - L'A2DP atteint presque le même niveau de qualité que le BTD 500 lors de la lecture de musique à partir de fichiers FLAC. L'audio des films était synchronisé avec 14.04.
- Sennheiser BTD 500 USB. - L'appairage dure aussi longtemps qu'avec des dongles ordinaires non compatibles NFC.
Casques testés:
- Philips Fidelio M1BTBL, Bluetooth 4.0. - Fonctionne très bien avec tous les dongles et modules.
- Sony MDR-10RBT, Bluetooth 3.0, NFC. - Fonctionne très bien avec tous les dongles et modules.
- Creative Sound Blaster EVO ZxR, Bluetooth 2.1, NFC. - Celui-ci avait la meilleure portée de réception des trois, mais ne pouvait pas se connecter au BTD 500.