1 puan yazan GN⁺ 2023-11-25 | 1 yorum | WhatsApp'ta paylaş

Bluetooth yığınındaki değişikliklerle ses kalitesini iyileştirme

  • Kablosuz kulaklık kullanıcıları, standart Bluetooth SBC kodeğini kullandıklarında düşük ses kalitesi ve yetersiz tizler yaşayabiliyor.
  • aptX veya LDAC kodeklerini destekleyen cihazlar satın almak yaygın bir çözüm olsa da, bu kodekler lisans maliyeti getirdiği için cihazlar daha pahalı oluyor.
  • Güncel Bluetooth yığını ve kulaklıklardaki yapay sınırlamalar nedeniyle SBC'de düşük kalite ortaya çıkıyor; bu durum yalnızca yazılım değişiklikleriyle tüm cihazlarda aşılabiliyor.

SBC kodeği

  • SBC, bağlantı kurulum aşamasında müzakere edilen çeşitli parametrelere sahiptir: ses kanalı türü ve sayısı, frekans bantlarının sayısı, paket başına ses bloğu sayısı, nicemleme bit dağıtım algoritması ve nicemleme sürecinde kullanılan maksimum ve minimum bitpool.
  • Güncel Bluetooth yığınları genellikle Joint Stereo, 8 bant, 16 blok, Loudness ve 2..53 bitpool seçeneklerini müzakere eder.
  • Bitpool değeri, kodlama bitrate'ini değiştiren parametredir; değer yükseldikçe bitrate ve kalite de artar.

Bluetooth yığınını değiştirme

  • A2DP uyumlu tüm Bluetooth yığınlarının Dual Channel modunu desteklemesi gerekir, ancak bu modu zorla kullanmanın bir yolu yoktur.
  • Android 8.1 ve 9 için geliştirici menüsüne Dual Channel modunu ekleyen yamalar hazırlandı ve bu mod Bluetooth cihaz ayarlarında "HD Audio" kodeği olarak görünüyor.
  • Bu yama LineageOS, Resurrection Remix ve crDroid gibi alternatif firmware'lere entegre edildi.

551 ve 452 kbps nereden geliyor?

  • Bluetooth zaman bölmeli teknoloji, büyük hacimli sabit boyutlu paketleri verimli şekilde iletmek için tasarlanmıştır.
  • Veri iletimi slot'lar üzerinden yapılır ve tek iletimde aktarılabilecek azami sayı 5 slot'tur.
  • 5 slot içinde 2Mbps hızda en fazla 679 bayt, 3Mbps hızda ise en fazla 1021 bayt aktarılabilir.

Bütün bunlara neden ihtiyaç var?

  • aptX'in ses kalitesine dair yaygın inancın aksine, bazı durumlarda SBC standart 328k bitrate'ten daha kötü ses kalitesi üretebilir.
  • SBC, frekans bantlarına nicemleme bitlerini dinamik olarak atarken aptX frekans bantlarını sabit sayıda bitle nicemler.
  • Yüksek bitrate'li SBC kullanıldığında çoğu durumda aptX'ten daha iyi ses kalitesi elde edilebilir; EDR 3 Mb/s destekli kulaklıklarda ise aptX HD'ye oldukça yaklaşan bir kalite sunar.

Daha ileri gidilebilir mi?

  • Android yama seti, EDR 2 mbps cihazlarda bitrate'i 452 kbps'ten 595 kbps'e daha da yükseltebilen ek bir seçenek sunuyor.
  • Daha yüksek bitrate'i etkinleştirmek için persist.bluetooth.sbc_hd_higher_bitrate değişkeni 1 olarak ayarlanabilir.

Cihazlarla uyumluluk

  • SBC Dual Channel, neredeyse tüm kulaklıklarda, hoparlörlerde ve araç ana ünitelerinde desteklenir.
  • Bu mod nedeniyle sorun yaşayan cihazlar çok nadirdir, ancak uyumlulukla ilgili ayrıntılı bilgiler 4pda ve xda-developers'da bulunabilir.

Ses kalitesi karşılaştırması

  • Tarayıcı içinde sesleri gerçek zamanlı olarak SBC'ye (ayrıca aptX ve aptX HD'ye) kodlayan bir web hizmeti oluşturularak çeşitli SBC profilleri ve kodeklerin ses kalitesi karşılaştırılabilir.

Android geliştiricileriyle iletişime geçmek

  • Google'ın Bluetooth yığını geliştiricilerinden yamayı AOSP'ye dahil etmeleri istendi, ancak henüz bir yanıt alınmadı.
  • Gerrit kod inceleme sisteminde de geliştirmeyle ilgili kişilerden herhangi bir yorum gelmedi.

Sonuç

  • LineageOS, Resurrection Remix ve crDroid firmware kullanıcıları, Bluetooth cihaz ayarlarında bir onay kutusu seçerek Bluetooth ses kalitesini artırabilir.
  • Linux kullanıcıları da Pali Rohár'ın yamasını kurarak daha yüksek SBC bitrate'i elde edebilir.

GN⁺ görüşü

Bu yazıdaki en önemli nokta, mevcut Bluetooth ses kalitesinin yalnızca yazılım değişiklikleriyle iyileştirilebilmesidir. Bu, maliyetli yeni kodekleri destekleyen cihazlar satın almadan mevcut cihazlarda daha yüksek kaliteli ses deneyimi sunan cazip bir çözümdür. Özellikle açık kaynak firmware kullanan kullanıcılar için bu tür değişikliklerin mümkün olması, teknolojiye erişilebilirliği artıran ve kullanıcıların kendi cihazları üzerinde daha fazla kontrol sahibi olmasını sağlayan ilgi çekici bir gelişmedir.

1 yorum

 
GN⁺ 2023-11-25
Hacker News yorumu
  • SBC'nin geniş desteği ve doğal ölçeklenebilirliği olumlu değerlendiriliyor

    SBC'nin yaygın olarak desteklenmesi harika ve mevcut standardın doğal bir uzantısı gibi görünüyor. Bana göre mesele, SBC'ye kıyasla LDAC veya AAC değil; HFP'nin kalitesinin düşük olması. Mikrofon açıldığı anda sanki 90'lara geri dönmüş gibi hissediyorum. Çift yönlü Bluetooth ses kalitesinin iyileşmesini umuyorum.

  • Android Bluetooth stack'indeki bir hatanın derinlemesine analizi ve donanım çeşitliliğine dikkat çekilmesi

    Bu yazı genel olarak Bluetooth hakkında değil, Android Bluetooth stack'indeki bir hatanın derinlemesine analizi. Yazarın hiç değinmediği nokta, kullanılan donanımın son derece çeşitli olması. Android, sayısız Bluetooth chipset üzerinde çalışıyor. Bu yüzden bir yamayı bir donanımda çalışıyor gibi görmek, onun başka Android telefonlarda da çalışacağı anlamına gelmiyor. Ayrıca cihazın o anda yaptığı diğer işlere göre de durum değişebilir. Örneğin BT+Wifi chipset paylaşılıyorsa ve bir yandan Wifi üzerinden video akışı yapılırken bir yandan kulaklığa ses aktarılıyorsa, cihazın kaynakları Wifi kullanımı ile BT arasında paylaştırması gerekir. Bu nedenle yerelde depolanan ses ile akış üzerinden gelen sesin mutlaka aynı CODEC parametrelerini alması beklenmez. Bu konuda yazarın hesaba katmadığı çok sayıda ince ayrıntı var; o yüzden okurken dikkatli olmak gerekir.

  • Windows'ta 'Alternative A2DP Driver' ile SBC parametrelerini ayarlama ve AAC, aptX, LDAC kullanım deneyimi paylaşımı

    "Alternative A2DP Driver" bunu Windows'ta sağlıyor. SBC parametrelerini özelleştirebilir ve AAC, aptX (denemedim) kullanabilirsiniz. Benim deneyimimde iyi çalışıyor ve Sony XM4 ile LDAC kullanabiliyorum. Deneme sürümü ama ucuz. Yüksek kalite modunda Bluetooth menzilinin azaldığını gördüğüm için codec'in (ya da en azından bir şeyin) gerçekten değiştiğini doğruladım. Yukarıdaki bağlantının herhangi bir afiliye ilişkisi yok.

  • Linux'ta SBC XQ ve mSBC ile daha yüksek bit hızında ses ve daha iyi headset ses kalitesi mümkün olabiliyor

    Linux'ta "SBC XQ" denen bir şeyle daha yüksek bit hızlı SBC sesi etkinleştirebilirsiniz. Benzer şekilde "mSBC" kullanarak daha yüksek kaliteli headset sesi de elde edebilirsiniz (tabii yine de SBC veya APTX'e kıyasla düşük kalite). Birçok kulaklık daha iyi ses codec'lerini destekliyor, ancak destek evrensel değil ve çift yönlü ses için iyileşme sağlayıp sağlamadığı da kesin değil. Google'ın bunu ya da benzer bir özelliği zaten entegre etmiş olmasını isterdim.

  • Bluetooth ses profillerinde önceden uzun süreli buffering'e izin veren bir özelliğe ihtiyaç olduğu belirtiliyor

    Bluetooth ses profillerinde önceden uzun süre buffering yapabilen bir özelliğin icat edilmesini isterdim. Örneğin 1 dakikalık bir şarkı çalınırken tüm şarkı buffer'lanmalı. 'Duraklat'a tıklarsanız veya sesi değiştirirseniz buffer atılmalı. Ama uzun buffer, telefonun güç tasarrufuna gitmesine ve dengesiz radyo bağlantısını tolere etmesine yardımcı olabilir.

  • LineageOS'ta yüksek kaliteli ses aktarımı özelliği deneyimi ve kullanıcı deneyiminin iyileştirilmesi gereğine değiniliyor

    Bu özelliği LineageOS'ta kullandım ve çok memnun kaldım. 3P codec desteklemeyen araç stereoları gibi cihazlara daha yüksek kaliteli ses aktarabilmek çok faydalı. Kulaklıklarda da büyük avantaj sağlıyor. Kullanıcı deneyiminin biraz iyileştirilmesi gerekiyor ama özelliğin kendisi harika.

  • Başlığa yılın (2019) eklenmesi öneriliyor ve PulseAudio ile PipeWire'da bunun zaten uygulanmış olduğu belirtiliyor

    Başlığa (2019) eklemek iyi olabilir. "Tüm güncel Bluetooth stack'leri" ifadesi geçiyor ama bu özellikler PulseAudio ve PipeWire'da zaten uygulanmış durumda.

  • Dual Channel ile Joint Stereo arasındaki bitrate farkının gerçek ses kalitesine etkisine şüpheyle yaklaşılıyor

    551 kbps Dual Channel'ın, 328 kbps Joint Stereo'dan fark edilir derecede daha iyi kalite sunduğu konusunda şüpheliyim. Çoğu müzikte bunun sadece daha fazla biti tekrar eden bilgiyi kodlamaya harcamak olup olmadığını merak ediyorum.

  • MacOS'ta HFP kalitesini iyileştirme yolları soruluyor ve Linux'ta mSBC deneyimi paylaşılıyor

    MacOS'ta Bluetooth üzerinden HFP kalitesini iyileştirmenin bir yolunu bilen var mı? Linux'ta mSBC ile oldukça iyi kalite deneyimledim ama MacOS'ta tamamen berbat ve telefon hattı/mono kalitesine düşüyor. Darwin'de bunu düzgün çalıştıran bir hack zaten var mı diye merak ediyorum.

  • SBC kullandığını fark etmemiş olma deneyimi ve gönderi için teşekkür ifadesi

    Lineage 18-1 kullanırken SBC özelliğini kullandığımın farkında değildim. Bu gönderi sayesinde SBC kullandığımı öğrendim. "magic -"