Editar 2018-10-27: LDAC, APTX (-HD) y soporte AAC para PulseAudio están en proceso. Hay un repositorio en GitHub de EHfive con parches, así como un PPA para 18.04 en adelante, consulte el Wiki para obtener más información. Parece que los parches llegarán corriente arriba en algún momento. Revisé el PPA en 18.04, funciona, aunque reemplaza PA 11.1 con 12, instala una versión más nueva de ffmpeg y x265.
Editar 2017-12-18: Debo haberlo perdido hace unas semanas, pero parece que ahora hay un codificador en FFmpeg . Que yo sepa, no existe una solución fácil de usar en este momento.
La respuesta corta
Debe usar dongles Bluetooth de marca especial. Echa un vistazo a ¿Cómo puedo usar aptX entonces? sección de esta respuesta o navegue por el sitio aptx.com para transmisores .
La respuesta más larga
Problemas de licencia
El códec aptX es un estándar patentado que CSR adquirió de APT Licensing Ltd. con el objetivo de desarrollar y comercializar soluciones de audio Bluetooth de alta fidelidad con tecnología aptX a través de la marca de ingredientes . Tiene razón, esta es una estrategia para que CSR venda chips exclusivos.
Encontré la siguiente cláusula al consultar el acuerdo de licencia del decodificador :
- implementar el software como firmware en un código seguro integrado en el producto del licenciatario
Si bien esto no responde preguntas sobre el codificador, diría que la situación es al menos tan difícil como con otros códecs y componentes de software patentados ( 1 , 2 , 3 ).
¿Cómo puedo usar aptX entonces?
Puede usarlo, pero no como una solución de software libre.
Puede encontrar dongles Bluetooth especiales de marca, llamados Transmisores aptX. Estos no son los típicos dongles Bluetooth de tamaño nano o pico, sino dispositivos USB Audio Class. (Eche un vistazo a la sección de clases de dispositivos en el artículo de USB en Wikipedia para obtener más información). Esto significa que estos dispositivos serán reconocidos como tarjetas de sonido y no proporcionarán conectividad Bluetooth a la computadora host. También hay un inconveniente importante: estos cuestan casi 10 veces más que los dongles Bluetooth normales.
Lista de transmisores aptX o dongles Bluetooth con soporte aptX en orden alfabético:
- Transmisor Bluetooth USB creativo BT-D1, 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
(¡Los suplementos son bienvenidos! Me encantaría ver alternativas, preferiblemente más baratas)
Verifique el códec configurado de una conexión
Instale bluez-hcidump
y ejecute sudo hcidump avdtp
, luego conecte el dispositivo y busque la negociación de configuración. El siguiente es el resultado que obtuve (ver también ), parece que probó aptX, AAC y finalmente se conformó con 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
Solución de problemas
- A2DP es unidireccional, solo puedes escuchar música con A2DP . Para llamadas de voz, use los perfiles HSP / HFP.
- Si los auriculares o dispositivos no se reconocen o enumeran como dispositivo de salida, por ejemplo, en VLC, intente cambiar a otra tarjeta de sonido y volver a través de la configuración de sonido. Los dispositivos deben ser reconocidos entonces.
¿Qué pasa con Ubuntu Phone?
No sé si Ubuntu on Phones admitirá este códec. Los documentos de CSR dicen que las soluciones están disponibles para los fabricantes de dispositivos Android, por lo que supongo que corresponde a los fabricantes de teléfonos decidir si y cómo. Por supuesto, Ubuntu Touch generalmente admite auriculares Bluetooth y pude emparejar mi Nexus 4 con Ubuntu con los auriculares que probé.
Mi experiencia y pruebas
Módulos y dongles Bluetooth probados:
- Computadora de escritorio con nano dongles Bluetooth 2.1 y 4.0, Lenovo T530 con módulo incorporado. - A2DP alcanzó casi el mismo nivel de calidad que el BTD 500 al reproducir música desde archivos FLAC. El audio de las películas estaba sincronizado con 14.04.
- Sennheiser BTD 500 USB. - El emparejamiento tarda tanto como con los dongles normales que no son compatibles con NFC.
Auriculares probados:
- Philips Fidelio M1BTBL, Bluetooth 4.0. - Funciona bien con todos los dongles y módulos.
- Sony MDR-10RBT, Bluetooth 3.0, NFC. - Funciona bien con todos los dongles y módulos.
- Creative Sound Blaster EVO ZxR, Bluetooth 2.1, NFC. - Este tenía el mejor rango de recepción de los tres, pero no podía conectarse al BTD 500.