1 puan yazan GN⁺ 3 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • LibrePods, AirPods ile Apple cihazları arasındaki tescilli protokolü uygulayarak, Apple cihazlarına özel AirPods özelliklerinin Linux ve Android gibi Apple dışı platformlarda kullanılmasını sağlayan bir proje
  • Desteklenen özellikler platforma göre değişiyor; dinleme modu değiştirme, takma algılama, pil durumu, Conversation Awareness ve otomatik bağlantı Linux ve Android üzerinde uygulanmış durumda ve iyi çalışıyor
  • Bazı özellikler VendorID spoofing gerektiriyor ya da henüz planlama aşamasında; Head Gestures yalnızca Android’i destekliyor ve Linux’ta uygulanması planlanmıyor
  • Find My, uzamsal ses, kalp atış hızı izleme ve yüksek kaliteli çift yönlü ses henüz tamamlanmamış ya da araştırma aşamasında; Android’de bazı özelliklerin root gerektirmesi olası
  • Android uygulaması ve Linux yeniden yazımının bazı bölümleri AI tarafından üretilmiş kod içeriyor; proje GPLv3 veya üzeriyle dağıtılıyor ancak LibrePods adı, logosu ve markalama kullanım hakları ayrıca kısıtlanıyor

LibrePods ne yapıyor

  • LibrePods, AirPods ile Apple cihazları arasında veri alışverişi yapan tescilli protokolü uygular
  • Bu uygulama sayesinde Apple dışı platformlarda da aşağıdaki AirPods özellikleri kullanılabilir
    • Gürültü denetimi modunu değiştirme
    • Hızlı takma algılama
    • Doğru pil durumu
    • Head Gestures
    • Conversational Awareness
    • Diğer AirPods ayar özellikleri
  • Kurulum belgeleri platforma göre ayrılmıştır

Platforma göre özellik desteği

  • Hem Linux hem Android’de uygulanmış ve iyi çalışan özellikler

    • Dinleme modunu değiştirme
    • Takma algılama
    • Pil durumu
    • AirPods adını değiştirme
      • Android’de ad değişikliğinden sonra yeniden eşleştirme gerekebilir
    • Conversational Awareness
    • AirPods otomatik bağlantısı
  • Yalnızca Android’de desteklenen özellikler

    • Head Gestures
    • Diğer erişilebilirlik ayarları
      • Press speed
      • Press and Hold duration
      • Noise Cancellation with single AirPod
      • Volume control on swipe
      • Volume swipe speed
    • Diğer genel ayarlar
      • Press and Hold ile dinleme modları arasında geçiş yapma veya dijital asistanı çağırma
      • Arama denetimi ayarları
      • Personalized volume
      • Microphone side
      • Uykuya dalarken medyayı duraklatma
      • Off listening mode etkinleştirme
    • VendorID spoofing gerektiren özellikler
    • Loud Sound Reduction
    • Hearing Aid
    • Transparency Mode customization
    • Multi-device connectivity
    • Durum göstergelerinin anlamı şöyle
    • ✅: Uygulanmış ve iyi çalışıyor
    • ⚪: VendorID spoofing gerekiyor, risk kullanıcıya ait
    • 🔴: Henüz uygulanmadı, planlanıyor
    • ⛔: Uygulanması planlanmıyor
    • ❓: Bilinmiyor

VendorID spoofing ve ek özellikler

  • VendorID spoofing, DID Profile’daki VendorID’yi Apple’ın değeriyle değiştirerek çeşitli özel özelliklere erişme yöntemi
  • Linux’ta /etc/bluetooth/main.conf içindeki DeviceID düzenlenerek kullanılabilir
    • Ayar satırı: DeviceID = bluetooth:004C:0000:0000
  • Android’de Xposed kullanılabiliyor ve LibrePods modülü etkinse uygulama ayarlarından act as Apple device açılabilir
  • Multi-device Connectivity, en fazla 2 cihazın aynı anda AirPods’a bağlanarak hem ses hem de denetimleri kullanmasını sağlar
    • Android AirPods’u devraldığında Apple cihazında Apple cihazıymış gibi "Move to iPhone" bildirimi gösterilir
    • Başka bir cihaz devraldığında Android’de de açılır pencere gösterilir
  • Erişilebilirlik ve işitme cihazı ile ilgili ayarlar da yapılandırılabilir
    • Transparency Mode için amplification, balance, tone, conversation boost, ambient noise reduction
    • Loud Sound Reduction
    • Hearing Aid özelleştirmesi ve audiogram sonuçlarını ayarlama
    • Uygulama, daha yüksek hassasiyet gerektiği gerekçesiyle işitme testi özelliği sunmaz

Henüz tamamlanmamış özellikler ve kapsam sınırlamaları

  • Find My ile ilgili özellikler planlanıyor, ancak ek tersine mühendislik gerekiyor ve Android’de root gerekebilir
    • AirPods’u Find My ağına ekleme
    • Şarj kutusundan ses çalma
    • Geride bırakıldığında bildirim
    • Kutu şarj sesini açıp kapatma
  • Spatial Audio şu anda Android’e head tracking bilgisi sağlayıp işletim sisteminin HRTF gerçekleştirmesini sağlamıyor
    • Tam olarak araştırılmış değil ve root gerekebilir
    • Stereo sesi uzamsallaştırma özelliği proje kapsamı dışında ve sunulması planlanmıyor
    • Birçok OEM’in kendi uygulaması bulunuyor
  • Heart Rate Monitoring AirPods Pro 3 ve sonrası modeller için üzerinde çalışılan bir özellik
    • Uygulansa bile Android’de root gerektirme olasılığı yüksek
  • High quality two-way audio, iOS/iPadOS’te AirPods’un mikrofon ses akışını AACP üzerinden gönderirken A2DP’yi kullanmaya devam edebilmesiyle ilgili bir özellik
    • Android’de sesle daha derin entegrasyon gerektiğinden root gerektirme olasılığı yüksek

Protokol, tersine mühendislik ve AI kullanımı

  • Protokol bilgileri için Nojus’un Wireshark dissector eklentisi pabloaul/apple-wireshark referans alınabilir
  • LibrePods uygulamasının büyük bölümünde bu dissector kullanılmadı; proje yazarı, dissector hazırlanmadan önce protokolü kendisi tersine mühendislikle çıkardı
  • Ancak yüksek kaliteli çift yönlü ses ve uzamsal ses gibi gelecekteki özellikler için bu tersine mühendislik çalışmasının gerekli olduğu belirtiliyor
  • Android uygulamasında tamamen AI tarafından üretilen bölümler
    • Head Gestures’ın tüm mantığı ve kullanıcı arayüzü
    • r2 ve Xposed modülü kullanan offset setup’ın iki sürümü
    • Troubleshooter ve LogCollector
  • Android uygulamasının geri kalan ana bölümleri elle yazıldı
    • background service
    • AACP ve ATT Bluetooth manager sınıfları
    • Tüm kullanıcı arayüzü ve küçük bileşenler
  • Linux yeniden yazımında aacp.rs ve att.rs, Kotlin’den Rust’a AI ile çevrildi
    • media_controller.rs dosyasının bir kısmı, ağırlıklı olarak Pulse entegrasyonu da AI tarafından üretildi
  • Bazı UI bileşenleri Apache License 2.0 lisanslı Kyant0's demo app uygulamasından alındı

Alternatif uygulamalar, lisans ve ticari marka bildirimi

  • Diğer platformlarda veya koşullarda kullanılabilecek alternatif uygulamalar sunuluyor
    • CAPod: Android için AirPods companion uygulaması; Android 16 QPR3 veya daha eski sürüm kullanıyorsanız ve root yoksa önerilir
    • MagicPods for Steam Deck: website
    • MagicPods: Windows için LibrePods arayanlara alternatif
  • LibrePods, GPLv3 veya üzeri koşullarıyla özgür yazılım olarak dağıtılır
  • GPL, LibrePods adını, logosunu veya markalamasını kullanma hakkı vermez
  • LibrePods adı ve logosu, resmi projeyle iş birliği, onay veya ilişki ima edecek şekilde izinsiz kullanılamaz
  • Android uygulamasında kullanılan SF Pro yazı tipi Apple Inc.’in mülkiyetindedir ve gelecek sürümlerde açık bir alternatifle değiştirilecektir
  • AirPods, AirPods Pro, AirPods Max ve AirPods logosu Apple Inc.’in ticari markalarıdır; LibrePods projesi Apple Inc. ile bağlantılı değildir ve Apple tarafından onaylanmamıştır
  • librepods.org adresinin LibrePods projesinin resmi web sitesi olmadığı; alt bilgisinde telif hakkı iddiası ve LibrePods logosu kullanımıyla kendisini hatalı biçimde resmi web sitesi olarak tanıttığı konusunda uyarıda bulunulur

1 yorum

 
GN⁺ 3 시간 전
Hacker News yorumları
  • Karışıklık olmasın diye ekleyeyim: AirPods zaten başka cihazlarda sıradan Bluetooth kulaklık olarak çalışıyor.
    Bu proje, Apple ürünlerine entegre edilmiş bazı ek özellikleri ve arayüzleri uyguluyor.

    • Neyin kafa karıştırıcı olduğunu anlamadım. README’nin en başında zaten açıklanmış.
      “LibrePods allows you to use AirPods features that are exclusive to Apple devices. It implements the proprietary protocol used to exchange data between AirPods and Apple devices” yazıyor; ardından da özellik tablosu var.
    • AirPods’u alma nedeni bu değil. Asıl mesele iPhone’dan Apple TV’ye, MBP’ye, Mini’ye doğal biçimde akıp devam etmesi.
      Daha ucuza daha iyi ses veren ürünler de var ama ses kalitesi bu ürünün hikâyesinin neredeyse en küçük parçası.
    • Yanlış hatırlamıyorsam en az 2021’den beri AirPods’un pil seviyesini gösteren birden çok Android uygulaması vardı.
      Sıradan Bluetooth ses çıkış/giriş cihazı olarak bağlanmanın dışındaki gerekli özellikler için de durum böyleydi.
  • Bu proje harika. Umarım bir gün AirDrop da özgürleşir.
    https://github.com/seemoo-lab/opendrop umut verici görünüyordu ama durmuş gibi; umarım bir gün mümkün olur.

  • Apple’ın ileride bunun çalışmasını sağlayabilecek tüm yolları elinden geldiğince kapatmaya çalışacağından emin olmasaydım, AirPods almak için bir motivasyon olabilirdi.

    • AirPods zaten Apple ekosisteminin dışında da çalışıyor.
      Bu daha çok, birinin Apple işletim sistemlerine zaten entegre edilmiş ek özellikler için arayüzü uygulamasına benziyor.
    • AirPods, kutusunda şarj olurken ve bir xOS cihazıyla eşleştirilmişken güncellenir.
      Sürümü sabitlemek istiyorsanız Apple ürünlerine asla bağlanmamasını sağlamalısınız.
    • Apple neden AirPods’u daha kötü bir satın alma haline getirmek istesin? Apple, Mac’te hangi işletim sistemini çalıştırdığınıza izin veriyor; o tarafta aktif olarak düşmanca davranmıyor ama topluluğa da yardımcı olmuyor.
      Yine de halihazırda Apple bilgisayarı ya da telefonu kullanıcısı değilseniz Sony WF-1000XM6 öneririm. Kullanıcı deneyiminin daha kötü ve biraz hatalı olduğu söyleniyor ama sesinin daha iyi olma ihtimali yüksek.
    • AirPods çevrimdışı bir cihaz; bugün bir çift alırsanız süresiz olarak çalışacaktır.
      Yine de satın aldığım donanımı kullanmak için böyle dolambaçlı yollara ihtiyaç bırakmayan üreticileri ödüllendirmek daha iyi olabilir.
    • Ben olsam almazdım. Fiyat aralığı fark etmeksizin piyasadaki en rahatsız kulaklıklar.
  • Önceki tartışma: https://news.ycombinator.com/item?id=45941596

  • Buraya konan emeğe ve hack’lere saygım var.
    Ama bu kadar düşmanca bir şirketi AirPods satın alarak neden desteklemem gerektiğini bilmiyorum. Bunu engelleyen bir yama çıkarsa şaşırmam.

    • Apple hakkında beni en çok düşündüren nokta bu. Donanımı gerçekten mükemmel ama kendi donanımındaki kullanıcı özgürlüğüne karşı tavrı yüzünden asla kullanmıyorum.
      Etrafından dolaşıp hack’leyebilsem bile kullanıcıları kontrol edilmesi ve bakılması gereken varlıklar olarak gören kültürü rahatsız edici.
    • Bu düşmanca olmaktan çok tembelliğe yakın. AirPods, Bluetooth’un sunduğu her şey için standart Bluetooth kullanıyor.
      Apple dışı platformlarda çalışmayanlar; ayarlar, sıkma hareketini değiştirme, firmware güncellemesi yükleme gibi kısımlar.
      Standart Bluetooth’la bunları yapmanın bir yolu yok; özel bir uygulama gerekiyor. Apple sadece diğer platformlar için özel bir uygulama yapmadı; birinin kaynak harcayıp uygulama yapmasını Apple’ın umursaması için de bir neden yok. Sonuçta AirPods satıldı, uygulama geliştirme maliyetini de başkası ödedi; Apple kazandı.
    • Neyin bu kadar düşmanca olduğunu anlamıyorum.
      Sıradan Bluetooth bağlantısının üzerine özellik ekleyip bunları yalnızca tamamen kontrol edip kalite güvencesi verebildiği platformlarda sunmayı seçemez mi?
      Özellikleri özel olarak sunmak tek başına gerçekten düşmanca mı? Bir şirket, kendi ürünlerinden birkaçını birlikte kullanmanın avantajlarını sunamaz mı?
      Yoksa Apple’ın bunu yamayacağını varsaydığınız için mi düşmanca diyorsunuz?
      1. Eğlence için.
      2. İkinci el alanlara, hediye gelenlere, geçmişte satın almış olanlara vb. ek özgürlük vermek için.
  • Yıllardır birkaç çift AirPods kullandım; bazı özellikleri ilk kez şimdi öğrendim.
    Apple desteğini gösteren üçüncü bir sütun da olsa diye düşündüm. Tabii şaka yapıyorum.

  • Şu anda AirPods’u olmayan ve Apple tarafını yakından takip etmeyen biri için, AirPods’u Apple dışı cihazlarla eşleştirince hangi özellikleri kaybettiğini açıklamak faydalı olurdu.

    • Bir özellik uyumluluğu listesi var.
  • Linux’ta AirPods’u aynı anda hoparlör ve kulaklık seti olarak kullanmayı sağlıyor sandım, heyecanlanmıştım.

    • Bu özellik için bir PR var: https://github.com/librepods-org/librepods/pull/655
      Kendim denedim, iyi çalışıyor gibi. Umarım patentler yüzünden engellenmez.
    • Linux’ta da AirPods’u aynı anda hoparlör (oynatma) ve kulaklık seti (mikrofon) olarak kullanabilirsiniz.
      Ancak Bluetooth profilini HFP (Hands-Free Profile) ya da HSP (Headset Profile) olarak değiştirmeniz gerekir.
      Daha iyi kalite için varsayılanın bu olduğunu da not etmek gerekir. Bu Linux’tan değil, Bluetooth spesifikasyonundan kaynaklanıyor.
  • Aradığım temel faydalı özellik, diğer cihazlarda da sınırsız multipoint kullanmak.
    Diğer cihazların çoğunun sunduğu 2 bağlantı çok yetersiz. Bazen şirketin VoIP masa telefonuna hızlıca bağlanabilsem iyi olurdu.