如何使支持aptX的蓝牙设备与Ubuntu一起使用?


24

我有一个支持aptX的耳机,我想用它来播放耳机可以在Ubuntu技术上提供的最高音频质量的音乐。我怎样才能做到这一点?

A2DP支持很多编解码器任选和可扩展以支持其它制造商定义的编解码器。AptX不仅提供比竞争对手更好的音频质量,而且还做广告以减少观看视频时口形同步音频的延迟。

这是我的问题:

  • 如何在Ubuntu中使支持aptX的蓝牙设备使用此编解码器?
    • 有哪些解决方案?
  • 如何检查和验证其使用的编解码器的已建立连接?

我想指出的是,虽然这看起来像是一篇赞助文章,但事实并非如此。我认为FLAC和Opus应该是黄金标准,但据我所知,目前尚不支持这些编解码器的设备。

Answers:


41

编辑2018-10-27:LDAC,APTX(-HD)和AAC对PulseAudio的支持正在开发中。EHfive在GitHub上有一个带有修补程序的存储库,以及自18.04起的PPA,请查看Wiki了解更多信息。补丁似乎会在某个时间点到达上游。我在18.04上检查了PPA,尽管可以用12代替PA 11.1,但它可以工作,但安装了ffmpeg和x265的较新版本。

编辑2017-12-18:我一定在几周前错过了它,但是看起来FFmpeg中现在有一个编码器。据我所知,目前还没有用户友好的解决方案。

简短的答案

您必须使用特殊品牌的蓝牙加密狗。看一下如何使用aptX?答案部分或浏览aptx.com网站上的发送器


更长的答案

许可问题

aptX编解码器是CSR从APT Licensing Ltd.收购的专有标准,其目的是通过成分商标开发和销售由aptX支持的高保真蓝牙音频解决方案。没错,这是CSR出售独家芯片的策略。

查看解码器许可协议时,发现以下条款:

  • 以被许可人产品中嵌入的安全代码将软件作为固件实施

虽然这不会回答有关提问编码器,我会说,这种情况至少是困难的,因为与其他专有编解码器和软件组件(123)。

那我该如何使用aptX?

您可以使用它,而不是将其作为免费软件解决方案。

您可以找到特殊品牌的蓝牙加密狗,即aptX Transmitters。这些不是典型的纳米或微微大小的蓝牙加密狗,而是USB Audio Class设备。(有关更多信息,请参阅Wikipedia上USB文章中的“ 设备类别”部分。)这意味着这些设备将被识别为声卡,并且不会向主机提供蓝牙连接。还有一个主要缺点:它们的价格几乎是普通蓝牙软件狗的10倍。

具有aptX支持aptX发送器蓝牙加密狗的列表,按字母顺序排列:

  • Creative BT-D1 USB蓝牙发射器,蓝牙2.1 + EDR
  • 创新BT-W1 / BT-W2 USB,蓝牙2.1 + EDR
  • Sennheiser BTD 500 USB,蓝牙3.0
  • Avantree BTDG-50-WGR,带aptX LL的蓝牙4.1

(欢迎补充!我很乐意看到-最好是便宜的-替代品。)

检查连接的已配置编解码器

安装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 Phone呢?

我不知道手机上的Ubuntu是否会支持此编解码器。CSR文件指出,解决方案适用于Android设备制造商,因此我认为由电话制造商决定是否以及如何进行。当然,Ubuntu Touch通常支持蓝牙耳机,我能够将运行Ubuntu的Nexus 4与我测试过的耳机配对。


我的经验和测试

蓝牙模块和加密狗经过测试:

  • 带有nano蓝牙2.1和4.0加密狗的台式机,带有内置模块的Lenovo T530。-从FLAC文件播放音乐时,A2DP的质量几乎达到了BTD 500的水平。电影中的音频与14.04同步。
  • Sennheiser BTD 500 USB。-配对时间与不具备NFC功能的常规加密狗一样长。

耳机测试:

  • 飞利浦Fidelio M1BTBL,蓝牙4.0。-适用于所有加密狗和模块。
  • 索尼MDR-10RBT,蓝牙3.0,NFC。-适用于所有加密狗和模块。
  • Creative Sound Blaster EVO ZxR,蓝牙2.1,NFC。-这是三者中接收范围最好的,但是无法连接到BTD 500。

1
您如何检查设备是否实际上是使用aptX而非SBC连接的?
pseudosavant

Avantree还制造了一种型号BTDG-50-WGR。不,我不为他们工作,这只是一个很好的信息。
Mtl Dev

出于好奇,而且绝对不是因为我永远不会为一个freakin的加密狗支付40美元,没有人重构过二进制/创建的替代方案,这种替代方案可以像aptx一样在某些阴暗的地方使用吗?
Jezor

1
@Jezor我没有在阴暗的地方看,因为我没有那么大的兴趣或技术能力,或者II那时也找不到任何有关此的东西。也许有人做到了,我不知道,我宁愿喜欢我写的开源解决方案。据我所知,LDAC似乎使aptX过时,并且更加开放。
LiveWireBT

Azio BTD-v401也宣传aptX功能,但是我不能评论它与Ubuntu或任何Linux的兼容性。
kapad
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.