Come far funzionare le apparecchiature Bluetooth compatibili con aptX con Ubuntu?


24

Ho un auricolare compatibile con aptX e voglio usarlo per riprodurre musica con la massima qualità audio possibile che l'auricolare può fornire tecnicamente in Ubuntu. Come lo posso fare?

Mentre A2DP supporta molti codec facoltativamente ed è estensibile per supportare altri codec definiti dal produttore. AptX non si vanta solo di fornire una migliore qualità audio rispetto alla concorrenza, ma fa anche pubblicità per ridurre i ritardi nell'audio della sincronizzazione labiale durante la visione di video.

Ecco le mie domande:

  • Come posso fare in modo che le apparecchiature Bluetooth compatibili con aptX utilizzino questo codec in Ubuntu?
    • Quali soluzioni sono disponibili?
  • Come posso verificare e verificare una connessione stabilita per il codec che utilizza?

Vorrei sottolineare che, sebbene possa sembrare un post sponsorizzato, non lo è. A mio avviso, FLAC e Opus dovrebbero essere lo standard di riferimento, ma per quanto ne so, i dispositivi con supporto per questi codec non sono disponibili al momento.

Risposte:


41

Modifica 27-10-2018: LDAC, APTX (-HD) e supporto AAC per PulseAudio sono in lavorazione. C'è un repository su GitHub di EHfive con patch e un PPA per il 18.04 in poi, controlla il Wiki per maggiori informazioni. Sembra che le patch arriveranno a monte ad un certo punto nel tempo. Ho verificato il PPA il 18.04, funziona, sebbene sostituisca PA 11.1 con 12, installa una versione più recente di ffmpeg e x265.

Edit 2017/12/18: devo aver perso un paio di settimane fa, ma sembra che ci sia un encoder ora in FFmpeg . Per quanto ne so, al momento non esiste una soluzione intuitiva.

La breve risposta

È necessario utilizzare dongle Bluetooth con marchio speciale. Dai un'occhiata a Come posso usare aptX allora? sezione di questa risposta o sfogliare il sito aptx.com per i trasmettitori .


La risposta più lunga

Problemi di licenza

Il codec aptX è uno standard proprietario, che CSR ha acquisito da APT Licensing Ltd. con l'obiettivo di sviluppare e commercializzare soluzioni audio Bluetooth ad alta fedeltà basate su aptX tramite il marchio degli ingredienti . Hai ragione, questa è una strategia per CSR per vendere chip esclusivi.

Ho trovato la seguente clausola quando guardo attraverso l' accordo di licenza del decodificatore :

  • implementare il software come firmware nel codice sicuro incorporato nel prodotto del licenziatario

Anche se questo non risponde alle domande sull'encoder, direi che la situazione è almeno difficile quanto con altri codec e componenti software proprietari ( 1 , 2 , 3 ).

Come posso usare aptX allora?

Puoi usarlo, non solo come soluzione software gratuita.

È possibile trovare dongle Bluetooth con marchio speciale, i cosiddetti trasmettitori aptX. Questi non sono i tipici dongle Bluetooth nano o pico, ma dispositivi USB Audio Class. ( Per ulteriori informazioni, consultare la sezione sulle classi dei dispositivi nell'articolo USB in Wikipedia.) Ciò significa che questi dispositivi saranno riconosciuti come schede audio e non forniranno connettività Bluetooth al computer host. C'è anche un aspetto negativo: costano quasi 10 volte di più rispetto ai normali dongle Bluetooth.

Elenco dei trasmettitori aptX o dei dongle Bluetooth con supporto aptX in ordine alfabetico:

  • Trasmettitore Bluetooth USB BT-D1 Creative, Bluetooth 2.1 + EDR
  • USB creativo BT-W1 / BT-W2, Bluetooth 2.1 + EDR
  • Sennheiser BTD 500 USB, Bluetooth 3.0
  • Avantree BTDG-50-WGR, Bluetooth 4.1 con aptX LL

(I supplementi sono i benvenuti! Mi piacerebbe vedere - preferibilmente meno costose - alternative.)

Controllare il codec configurato di una connessione

Installa bluez-hcidumped esegui sudo hcidump avdtp, quindi collega il dispositivo e cerca la negoziazione di configurazione. Quello che segue è il risultato che ho ottenuto (vedi anche ), sembra che abbia provato aptX, AAC e finalmente risolto per 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

Risoluzione dei problemi

  • A2DP è unidirezionale, puoi solo ascoltare musica con A2DP . Per le chiamate vocali utilizzare i profili HSP / HFP.
  • Se le cuffie o i dispositivi non vengono riconosciuti o elencati come dispositivi di output, ad esempio in VLC, provare a passare a un'altra scheda audio e tornare indietro tramite le impostazioni audio. I dispositivi dovrebbero essere riconosciuti quindi.

Che dire di Ubuntu Phone?

Non so se Ubuntu su telefoni supporterà questo codec. I documenti CSR affermano che sono disponibili soluzioni per i produttori di dispositivi Android, quindi suppongo che spetti ai produttori di telefoni decidere se e come. Ovviamente Ubuntu Touch generalmente supporta cuffie Bluetooth e sono stato in grado di accoppiare il mio Nexus 4 con Ubuntu in esecuzione con le cuffie che ho testato.


La mia esperienza e prove

Moduli Bluetooth e dongle testati:

  • Desktop con dongle Bluetooth 2.1 e 4.0 nano, Lenovo T530 con modulo integrato. - A2DP ha raggiunto quasi lo stesso livello di qualità del BTD 500 durante la riproduzione di musica da file FLAC. L'audio dei film era sincronizzato con il 14.04.
  • Sennheiser BTD 500 USB. - L'abbinamento richiede tempo quanto con i normali dongle non compatibili con NFC.

Cuffie testate:

  • Philips Fidelio M1BTBL, Bluetooth 4.0. - Funziona bene con tutti i dongle e i moduli.
  • Sony MDR-10RBT, Bluetooth 3.0, NFC. - Funziona bene con tutti i dongle e i moduli.
  • Creative Sound Blaster EVO ZxR, Bluetooth 2.1, NFC. - Questo aveva il miglior raggio di ricezione di tutti e tre, ma non riusciva a collegarsi al BTD 500.

1
Come hai verificato se un dispositivo si sta effettivamente connettendo usando aptX invece di SBC?
pseudosavant,

Anche Avantree ne produce uno, modello BTDG-50-WGR. No, non lavoro per loro, è solo una buona informazione da sapere.
Mtl Dev,

Per curiosità e sicuramente non perché non avrei mai pagato $ 40 per un dongle strano, nessuno ha mai ricostruito l'alternativa binaria / creata che si sarebbe connessa come aptx che sarebbe disponibile in alcuni luoghi ombrosi?
Jezor,

1
@Jezor Non ho guardato in luoghi ombrosi perché non avevo così tanto interesse o abilità tecnica né sono stato in grado di trovare nulla su questo all'epoca. Forse alcuni lo hanno fatto, non lo so e preferisco una soluzione open source, come ho scritto. LDAC sembra rendere aptX obsoleto ed è più aperto per quanto ne so.
LiveWireBT

Azio BTD-v401 pubblicizza anche la funzionalità aptX ma non posso commentare la sua compatibilità con Ubuntu o qualsiasi Linux.
Kapad,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.