Bagaimana cara membuat peralatan Bluetooth yang mampu menggunakan aptX bekerja dengan Ubuntu?

24

Saya memiliki headset yang berkemampuan aptX dan saya ingin menggunakannya untuk memutar musik dengan kualitas audio setinggi mungkin yang secara teknis disediakan headset di Ubuntu. Bagaimana saya bisa melakukan itu?

Sementara A2DP mendukung banyak codec secara opsional dan dapat dikembangkan untuk mendukung codec yang ditentukan pabrikan lainnya. AptX tidak hanya membanggakan untuk memberikan kualitas audio yang lebih baik daripada kompetisi, tetapi juga mengiklankan untuk mengurangi penundaan memiliki audio sinkronisasi bibir saat menonton video.

Ini pertanyaan saya:

  • Bagaimana saya bisa membuat peralatan Bluetooth yang mampu menggunakan aptX menggunakan codec ini di Ubuntu?
    • Solusi apa yang tersedia?
  • Bagaimana saya bisa memeriksa dan memverifikasi koneksi yang sudah ada untuk codec yang digunakannya?

Saya ingin menunjukkan, sementara ini mungkin terlihat seperti posting yang disponsori, bukan. Menurut pendapat saya FLAC dan Opus harus menjadi standar emas, tetapi untuk perangkat pengetahuan saya dengan dukungan untuk codec ini tidak tersedia saat ini.

LiveWireBT
sumber

Jawaban:

41

Edit 2018-10-27: LDAC, APTX (-HD) dan dukungan AAC untuk PulseAudio sedang dalam perbaikan. Ada repositori di GitHub oleh EHfive dengan tambalan serta PPA untuk 18,04 dan seterusnya, periksa Wiki untuk informasi lebih lanjut. Sepertinya tambalan akan tiba di hulu di beberapa titik waktu. Saya memeriksa PPA pada 18,04, berfungsi, meskipun menggantikan PA 11.1 dengan 12, menginstal versi ffmpeg dan x265 yang lebih baru.

Sunting 2017-12-18: Saya pasti melewatkannya beberapa minggu yang lalu, tetapi sepertinya ada encoder sekarang di FFmpeg . Setahu saya tidak ada solusi yang ramah pengguna saat ini.

Jawaban singkatnya

Anda harus menggunakan dongle Bluetooth bermerek khusus. Lihat Bagaimana saya bisa menggunakan aptX? bagian dari jawaban ini atau telusuri situs aptx.com untuk pemancar .


Jawaban yang lebih panjang

Masalah perizinan

Codec aptX adalah standar hak milik, yang diperoleh CSR dari APT Licensing Ltd. dengan tujuan untuk mengembangkan dan memasarkan solusi audio Bluetooth dengan kesetiaan yang tinggi dan bertenaga aptX melalui branding bahan . Anda benar, ini adalah strategi bagi CSR untuk menjual chip eksklusif.

Saya menemukan klausa berikut ketika melihat melalui perjanjian lisensi decoder :

  • mengimplementasikan Perangkat Lunak sebagai firmware dalam kode aman yang tertanam dalam Produk Penerima Lisensi

Meskipun ini tidak menjawab pertanyaan tentang pembuat enkode, saya akan mengatakan bahwa situasinya setidaknya sama sulitnya dengan komponen perangkat lunak dan codec eksklusif lainnya ( 1 , 2 , 3 ).

Bagaimana saya bisa menggunakan aptX?

Anda dapat menggunakannya, tidak hanya sebagai solusi perangkat lunak gratis.

Anda dapat menemukan dongle Bluetooth bermerek khusus, yang disebut pemancar aptX. Ini bukan dongle khas nano atau Bluetooth berukuran pico, tetapi perangkat USB Audio Class. (Lihat bagian kelas perangkat pada artikel USB di Wikipedia untuk informasi lebih lanjut.) Ini berarti bahwa perangkat ini akan dikenali sebagai kartu suara dan tidak akan menyediakan konektivitas Bluetooth ke komputer host. Ada juga satu kelemahan utama: biaya ini hampir 10 kali lipat dongle Bluetooth biasa.

Daftar pemancar aptX atau dongle Bluetooth dengan dukungan aptX dalam urutan abjad:

  • Pemancar Bluetooth USB Kreatif BT-D1, Bluetooth 2.1 + EDR
  • Kreatif BT-W1 / BT-W2 USB, Bluetooth 2.1 + EDR
  • Sennheiser BTD 500 USB, Bluetooth 3.0
  • Avantree BTDG-50-WGR, Bluetooth 4.1 dengan aptX LL

(Suplemen dipersilahkan! Saya ingin melihat — lebih disukai — alternatif.)

Periksa codec yang dikonfigurasi dari suatu koneksi

Instal bluez-hcidumpdan jalankan sudo hcidump avdtp, lalu sambungkan perangkat dan cari negosiasi konfigurasi. Berikut ini adalah hasil yang saya dapatkan (lihat juga ), sepertinya mencoba aptX, AAC dan akhirnya memilih 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

Penyelesaian masalah

  • A2DP adalah searah, Anda hanya dapat mendengarkan musik dengan A2DP . Untuk panggilan suara gunakan profil HSP / HFP.
  • Jika headphone atau perangkat tidak dikenali atau terdaftar sebagai perangkat keluaran misalnya dalam VLC, cobalah beralih ke kartu suara lain dan kembali melalui pengaturan suara. Perangkat harus dikenali kemudian.

Bagaimana dengan Ponsel Ubuntu?

Saya tidak tahu apakah Ubuntu di Ponsel akan mendukung codec ini. Dokumen CSR mengatakan bahwa solusi tersedia untuk produsen perangkat Android, jadi saya berasumsi terserah pabrikan ponsel untuk memutuskan apakah dan bagaimana. Tentu saja Ubuntu Touch umumnya mendukung headset Bluetooth dan saya dapat memasangkan Nexus 4 saya yang menjalankan Ubuntu dengan headset yang saya uji.


Pengalaman dan tes saya

Modul dan dongle Bluetooth yang diuji:

  • Desktop dengan nano Bluetooth 2.1 dan 4.0 dongle, Lenovo T530 dengan modul bawaan. - A2DP mencapai tingkat kualitas yang hampir sama dengan BTD 500 ketika memutar musik dari file FLAC. Audio dari film disinkronkan dengan 14,04.
  • Sennheiser BTD 500 USB. - Pemasangan membutuhkan waktu selama dongle dengan kemampuan non-NFC biasa.

Headset yang diuji:

  • Philips Fidelio M1BTBL, Bluetooth 4.0. - Bekerja dengan baik dengan semua dongle dan modul.
  • Sony MDR-10RBT, Bluetooth 3.0, NFC. - Bekerja dengan baik dengan semua dongle dan modul.
  • Creative Sound Blaster EVO ZxR, Bluetooth 2.1, NFC. - Yang ini memiliki jangkauan penerimaan terbaik dari ketiganya, tetapi tidak dapat terhubung ke BTD 500.
LiveWireBT
sumber
1
Bagaimana Anda memeriksa apakah suatu perangkat benar-benar terhubung menggunakan aptX bukan SBC?
pseudosavant
Avantree juga membuat satu, model BTDG-50-WGR. Tidak, saya tidak bekerja untuk mereka, itu hanya informasi yang baik untuk diketahui.
Mtl Dev
Karena penasaran dan jelas bukan karena saya tidak akan pernah membayar $ 40 untuk dongle freakin ', tidak ada yang pernah merekonstruksi alternatif biner / dibuat yang akan terhubung seperti aptx yang akan tersedia di beberapa tempat teduh?
Jezor
1
@Joror saya tidak mencari di tempat teduh karena saya tidak memiliki minat atau keterampilan teknis ini atau saya tidak dapat menemukan apa pun tentang ini saat itu. Mungkin sebagian orang melakukannya, saya tidak tahu dan saya lebih suka solusi open source, seperti yang saya tulis. LDAC tampaknya membuat aptX usang dan lebih terbuka sejauh yang saya tahu.
LiveWireBT
Azio BTD-v401 juga mengiklankan kemampuan aptX tetapi saya tidak dapat mengomentari kompatibilitasnya dengan Ubuntu atau linux dalam hal ini.
kapad