简短的回答

简短的回答

我有一个支持 aptX耳机,我想用它播放 Ubuntu 中耳机技术上可以提供的最高音质的音乐。我该怎么做?

尽管自动化测试平台支持多种可选编解码器,并可扩展以支持其他制造商定义的编解码器。AptX 不仅宣称提供比竞争对手更好的音频质量,还宣传在观看视频时减少延迟以实现唇形同步音频。

以下是我的问题:

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

我想指出的是,虽然这看起来像是一篇赞助文章,但其实不是。在我看来,FLAC 和 Opus 应该是黄金标准,但据我所知,目前还没有支持这些编解码器的设备。

答案1

2021 年更新:PulseAudio 支持 AptX、LDAC -https://9to5linux.com/pulseaudio-15-0-released-with-support-for-ldac-and-aptx-codecs-improved-hardware-support

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

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

简短的回答

您必须使用特殊品牌的蓝牙适配器。请查看那么我该如何使用 aptX?本答案的部分或浏览 aptx.com 网站发射器


更长的答案

许可问题

aptX 编解码器是专有标准,企业社会责任从 APT Licensing Ltd. 收购,旨在通过以下方式开发和销售 aptX 驱动的高保真蓝牙音频解决方案成分品牌你说的对,这是CSR销售独家芯片的策略。

我在浏览时发现了以下条款解码器许可协议

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

虽然这不能回答有关编码器的问题,但我想说,情况至少与其他专有编解码器和软件组件一样困难(123)。

那么我该如何使用 aptX?

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

您可以找到特殊品牌的蓝牙适配器,即所谓的 aptX 发射器。这些不是典型的纳米或微型蓝牙适配器,而是 USB 音频类设备。(请查看设备类别有关更多信息,请参阅 Wikipedia 中 USB 文章的章节。)这意味着这些设备将被识别为声卡,并且不会为主机提供蓝牙连接。还有一个主要缺点:它们的价格几乎是普通蓝牙适配器的 10 倍。

列表aptX 发射器或者支持 aptX 的蓝牙适配器按字母顺序排列:

  • Creative BT-D1 USB 蓝牙发射器,蓝牙 2.1 + EDR
  • Creative BT-W1/BT-W2 USB,蓝牙 2.1 + EDR
  • 森海塞尔 BTD 500 USB,蓝牙 3.0
  • Avantree BTDG-50-WGR,蓝牙 4.1,带 aptX LL
  • 1mii B10,带 aptX LL 的蓝牙 5.0,通过问诺亚, ASIN: B083TD9VW4 (美国), B086KXR1CF (德国)
  • Avantree DG80,带 aptX LL 的蓝牙 5.0
    • 看起来与 1mii B10 相似,可能确实如此。作为赞助的亚马逊搜索结果出现。我将测试两者,特别是使用立体声模式下的两个 Nest Audio,它们目前有 1 秒的延迟,我必须在 PulseAudio 中进行调整。

检查连接的配置编解码器

安装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 仅在一个方向上传输音频,对于电话通话,请使用 HSP/HFP 配置文件。
  • 如果无法识别耳机或设备或者在 VLC 中列为输出设备,尝试通过声音设置切换到另一个声卡并返回。然后应该可以识别设备。

那么 Ubuntu 手机怎么样?

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


我的经验和测试

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

  • 配有纳米蓝牙 2.1 和 4.0 适配器的台式机,联想 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。

答案2

≥ 2021: 带管线

Pipewire 通过 libfreeaptx0 支持 APT-X。

要安装它,请使用pipewire-debian ppa, 总之:

sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
sudo apt install gstreamer1.0-pipewire libpipewire-0.3-{0,dev,modules} libspa-0.2-{bluetooth,dev,jack,modules} pipewire{,-{audio-client-libraries,pulse,media-session,bin,locales,tests}}
systemctl --user --now disable pulseaudio.{socket,service}
systemctl start --user pipewire-pulse.service
systemctl enable --user pipewire.service
systemctl --user mask pulseaudio

KDE 中的附加编解码器图片(用于设备不是支持apt-X) KDE 中的附加编解码器

答案3

也许你不需要 aptX - 因为sbc-xq

最近,Linux 中又添加了“生活窍门” sbc-xq。根据这个博客

SBC XQ 的音频质量与 aptX HD 相当。

也许你想尝试一下。在我的计算机上,我可以在 的帮助下在sbc和之间进行选择。sbc-xqblueman-manager

相关内容