Как заставить оборудование Bluetooth с поддержкой aptX работать с Ubuntu?

24

У меня есть гарнитура с поддержкой aptX, и я хочу использовать ее для воспроизведения музыки с максимально возможным качеством звука, которое гарнитура технически может обеспечить в Ubuntu. Как я могу это сделать?

Хотя A2DP поддерживает множество кодеков по желанию и расширяем для поддержки других кодеков, определенных производителем. AptX не только может похвастаться более высоким качеством звука, чем конкуренты, но и рекламирует сокращение задержки для синхронизации звука при просмотре видео.

Вот мои вопросы:

  • Как я могу заставить оборудование Bluetooth с поддержкой aptX использовать этот кодек в Ubuntu?
    • Какие решения доступны?
  • Как я могу проверить и проверить установленное соединение для используемого кодека?

Я хотел бы отметить, хотя это может выглядеть как рекламный пост, это не так. По моему мнению, FLAC и Opus должны быть золотым стандартом, но, насколько мне известно, устройства с поддержкой этих кодеков сейчас недоступны.

LiveWireBT
источник

Ответы:

41

Edit 2018-10-27: LDAC, APTX (-HD) и поддержка AAC для PulseAudio находятся в разработке. На GitHub есть репозиторий от EHfive с патчами, а также PPA для 18.04 и далее, обратитесь к Wiki за дополнительной информацией. Похоже, что патчи прибудут вверх по течению в некоторый момент времени. Я проверил PPA 18.04, он работает, хотя он заменяет PA 11.1 на 12, устанавливает более новую версию ffmpeg и x265.

Edit 2017-12-18: Должно быть, я пропустил это несколько недель назад, но похоже, что в FFmpeg теперь есть кодировщик . Насколько мне известно, в настоящее время не существует удобного решения.

Краткий ответ

Вы должны использовать специальные фирменные Bluetooth-ключи. Посмотрите, как я могу использовать aptX тогда? раздел этого ответа или посетите сайт aptx.com для поиска передатчиков .


Чем дольше ответ

Вопросы лицензирования

Кодек aptX является запатентованным стандартом, который CSR приобрел у APT Licensing Ltd. с целью разработки и сбыта высокотехнологичных аудио-решений на базе технологии aptX с использованием фирменного брендинга . Вы правы, это стратегия для CSR продавать эксклюзивные фишки.

При просмотре лицензионного соглашения на декодер я нашел следующий пункт :

  • внедрить Программное обеспечение в виде встроенного программного обеспечения в защищенный код, встроенный в Продукт Лицензиата

Хотя это не отвечает на вопросы о кодировщике, я бы сказал, что ситуация, по крайней мере, такая же сложная, как и с другими проприетарными кодеками и программными компонентами ( 1 , 2 , 3 ).

Как я могу использовать aptX тогда?

Вы можете использовать его, но не как бесплатное программное решение.

Вы можете найти специальные фирменные Bluetooth-ключи, так называемые aptX Transmitters. Это не обычные нано или пико-ключи размером с Bluetooth, а устройства USB Audio Class. (Обратитесь к разделу о классах устройств в статье о USB в Википедии для получения дополнительной информации.) Это означает, что эти устройства будут распознаваться как звуковые карты и не будут обеспечивать подключение Bluetooth к главному компьютеру. Есть и один существенный недостаток: они стоят почти в 10 раз дороже обычных ключей Bluetooth.

Список передатчиков aptX или ключей Bluetooth с поддержкой aptX в алфавитном порядке:

  • Творческий BT-D1 USB Bluetooth-передатчик, 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 с aptX LL

(Дополнения приветствуются! Я хотел бы видеть - желательно более дешевые - альтернативы.)

Проверьте настроенный кодек соединения

Установите bluez-hcidumpи запустите sudo hcidump avdtp, затем подключите устройство и найдите согласование конфигурации. Ниже приведен результат, который я получил (см. Также ), похоже, что он попробовал aptX, AAC и, наконец, остановился на 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

Поиск проблемы

  • A2DP является однонаправленным, вы можете слушать музыку только с A2DP . Для голосовых вызовов используйте профили HSP / HFP.
  • Если наушники или устройства не распознаются или не указаны в качестве устройства вывода, например, в VLC, попробуйте переключиться на другую звуковую карту и вернуться через настройки звука. Устройства должны быть распознаны тогда.

А как насчет телефона Ubuntu?

Я не знаю, будет ли Ubuntu на телефонах поддерживать этот кодек. Документы CSR говорят о том, что решения доступны для производителей устройств Android, поэтому я предполагаю, что производители телефонов должны решить, если и как. Конечно, Ubuntu Touch обычно поддерживает Bluetooth-гарнитуры, и я смог соединить свой Nexus 4 с Ubuntu с протестированными гарнитурами.


Мой опыт и тесты

Bluetooth модули и ключи протестированы:

  • Рабочий стол с нано Bluetooth 2.1 и 4.0 ключами, Lenovo T530 со встроенным модулем. - A2DP достиг почти такого же уровня качества, как BTD 500 при воспроизведении музыки из файлов FLAC. Аудио из фильмов было синхронизировано с 14.04.
  • Sennheiser BTD 500 USB. - Спаривание длится столько же, сколько и с обычными ключами, не поддерживающими NFC.

Наушники проверены:

  • Philips Fidelio M1BTBL, Bluetooth 4.0. - Отлично работает со всеми ключами и модулями.
  • Sony MDR-10RBT, Bluetooth 3.0, NFC. - Отлично работает со всеми ключами и модулями.
  • Creative Sound Blaster EVO ZxR, Bluetooth 2.1, NFC. - У этого был лучший диапазон приема из всех трех, но он не мог подключиться к BTD 500.
LiveWireBT
источник
1
Как вы проверили, действительно ли устройство подключается, используя aptX вместо SBC?
псевдосавант
Avantree также делает один, модель BTDG-50-WGR. Нет, я не работаю на них, это просто хорошая информация, чтобы знать.
Mtl Dev
Из любопытства и определенно не потому, что я бы никогда не заплатил 40 долларов за чокнутый ключ, никто никогда не реконструировал бинарную / созданную альтернативу, которая соединялась бы как aptx, которая была бы доступна в некоторых тенистых местах?
Джезор
1
@Jezor Я не смотрел в тенистых местах, потому что у меня не было такого большого интереса или технических навыков, и я не мог найти что-нибудь об этом тогда. Может быть, некоторые люди, я не знаю, и я предпочитаю решение с открытым исходным кодом, как я уже писал. Похоже, LDAC делает aptX устаревшим и, насколько я знаю, более открытым.
LiveWireBT
Azio BTD-v401 также рекламирует возможность aptX, но я не могу комментировать его совместимость с Ubuntu или любым linux в этом отношении.
Капад