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-hcidump
ed 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.