Comment faire fonctionner un équipement Bluetooth compatible aptX avec Ubuntu?


24

J'ai un casque compatible aptX et je veux l'utiliser pour jouer de la musique avec la meilleure qualité audio possible que le casque peut fournir techniquement dans Ubuntu. Comment puis je faire ça?

Alors que A2DP prend en charge de nombreux codecs en option et est extensible pour prendre en charge d'autres codecs définis par le fabricant. AptX ne se vante pas seulement de fournir une meilleure qualité audio que la concurrence, mais annonce également de réduire le délai pour avoir une synchronisation audio labiale lors de la lecture de vidéos.

Voici mes questions:

  • Comment puis-je faire en sorte que l'équipement Bluetooth compatible aptX utilise ce codec dans Ubuntu?
    • Quelles solutions sont disponibles?
  • Comment puis-je vérifier et vérifier une connexion établie pour le codec qu'il utilise?

Je voudrais souligner, bien que cela puisse ressembler à un article sponsorisé, ce n'est pas le cas. À mon avis, FLAC et Opus devraient être la référence, mais à ma connaissance, les appareils avec prise en charge de ces codecs ne sont pas disponibles pour le moment.

Réponses:


41

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-hcidumpet 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.

1
Comment avez-vous vérifié si un appareil se connecte réellement à l'aide d'aptX au lieu de SBC?
pseudosavant

Avantree en fabrique également un, le modèle BTDG-50-WGR. Non, je ne travaille pas pour eux, c'est juste une bonne information à savoir.
Mtl Dev

Par curiosité et certainement pas parce que je ne paierais jamais 40 $ pour un dongle bizarre, personne n'a jamais reconstruit l'alternative binaire / créée qui se connecterait comme aptx qui serait disponible dans certains endroits ombragés?
Jezor

1
@Jezor Je n'ai pas regardé dans des endroits ombragés parce que je n'avais pas autant d'intérêt ou de compétences techniques et je n'ai pas pu trouver quoi que ce soit à ce sujet à l'époque. Peut-être que certaines personnes l'ont fait, je ne sais pas et je préfère plutôt une solution open source, comme je l'ai écrit. LDAC semble rendre aptX obsolète et est plus ouvert pour autant que je sache.
LiveWireBT

Azio BTD-v401 annonce également la capacité aptX mais je ne peux pas commenter sa compatibilité avec Ubuntu ou n'importe quel linux d'ailleurs.
kapad
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.