10 puan yazan GN⁺ 2026-03-01 | 1 yorum | WhatsApp'ta paylaş
  • Tüm işlemleri cihaz üzerinde gerçekleştiren gerçek zamanlı konuşma tanıma çerçevesi
  • Streaming tabanlı model mimarisi sayesinde kullanıcı konuşurken bile gerçek zamanlı olarak metin üretir ve Whisper Large v3'ten daha düşük hata oranına (WER %6,65) ulaşır
  • Python, iOS, Android, MacOS, Linux, Windows, Raspberry Pi dahil çeşitli platformlarda aynı API ile çalışır ve C++ çekirdeği ile OnnxRuntime temelinde optimize edilmiştir
  • Dile özel modelleri (İngilizce, Korece, Japonca, İspanyolca vb.) ve komut tanıma (Intent Recognition) özelliğini içerir; böylece geliştiriciler ses arayüzlerini kolayca kurabilir
  • Whisper'ın 30 saniyelik sabit girişi, önbellek eksikliği ve dil doğruluğu sınırlarını iyileştirerek, edge ortamlarında düşük gecikmeli ses arayüzleri uygulamak için dikkat çeken bir alternatif olarak öne çıkıyor

Moonshine Voice'a genel bakış

  • Moonshine Voice, gerçek zamanlı ses uygulamaları geliştirmek için açık kaynaklı bir yapay zeka araç setidir
    • Tüm hesaplamalar yerel cihazda yapılır; bu da hızlı yanıt ve gizlilik koruması sağlar
    • Streaming işleme ile kullanıcı konuşurken metin güncellenebilir
  • Model, kendi araştırmalarına dayalı olarak sıfırdan eğitilmiş bir mimariye sahiptir ve Whisper Large v3'ten daha yüksek doğruluk sunar
  • 26 MB'lık ultra küçük modelden 245M parametreli orta ölçekli modele kadar farklı boyutlarda seçenekler sunar
  • İngilizce, Korece, Japonca, Çince, İspanyolca, Vietnamca, Arapça, Ukraynaca dahil çoklu dil desteği sağlar

Whisper'a kıyasla başlıca iyileştirmeler

  • Whisper'ın 30 saniyelik sabit giriş penceresini kaldırarak değişken uzunlukta girişi destekler
  • Önbellekleme özelliği ekleyerek streaming sırasında yinelenen hesaplamaları azaltır ve gecikmeyi (latency) büyük ölçüde düşürür
  • Dil başına tek model eğitimi ile aynı boyutta daha yüksek doğruluk elde eder
  • Platformlar arası C++ çekirdek kütüphanesi sayesinde Python, Swift, Java vb. ortamlarda aynı API kullanılabilir
  • Whisper Large v3'ten (1.5B parametre) daha küçük olan 245M parametreli modelle daha düşük hata oranı elde eder

Başlıca özellikler ve API yapısı

  • Konuşma tanıma hattını tek bir kütüphanede birleştirerek mikrofon girişi, ses algılama (VAD), metne dönüştürme, konuşmacı tanımlama, komut tanıma işlemlerini topluca yürütür
  • Temel sınıflar:
    • Transcriber: ses girişini metne dönüştürür
    • MicTranscriber: mikrofon girişini otomatik işler
    • IntentRecognizer: doğal dil tabanlı komut tanıma
  • Olay tabanlı yapısıyla LineStarted / LineUpdated / LineCompleted gibi durum değişimlerini gerçek zamanlı olarak algılar

Modeller ve performans

  • Moonshine Medium Streaming (245M): WER %6,65, Whisper Large v3'ten (%7,44) daha iyi
  • Moonshine Small Streaming (123M): WER %7,84
  • Moonshine Tiny Streaming (34M): WER %12,00
  • Korece Tiny model WER %6,46 olarak değerlendirilmiştir
  • Tüm modeller OnnxRuntime tabanlı .ort formatında sunulur ve 8 bit kuantizasyon ile hafifletilmiştir

Geliştirme ve dağıtım

  • Python (pip install moonshine-voice), Swift (SPM), Android (Maven), Windows (C++ header) dahil başlıca ortamlarda kurulabilir
  • Raspberry Pi için optimize edilmiş paket sunulur; USB mikrofon ile gerçek zamanlı tanıma yapılabilir
  • MIT lisansı (İngilizce modeller) ve Moonshine Community License (diğer dil modelleri) ile yayımlanır
  • Gelecek yol haritasında mobil için daha hafif binary'ler, ek diller, geliştirilmiş konuşmacı tanımlama, alan özelleştirmesi yer alıyor

Benchmark ve kullanım alanları

  • Whisper'a kıyasla 5 kattan fazla daha hızlı işleme hızıyla gerçek zamanlı ses arayüzleri için uygundur
  • 200 ms altı yanıt gecikmesi hedefiyle tasarlandığından, etkileşimli uygulamalarda kullanılabilir
  • Komut tanıma örnekleri ile “Turn on the lights” gibi doğal dilde varyasyon içeren komutları da algılayabilir
  • HuggingFace OpenASR Leaderboard üzerinde açık performans doğrulaması tamamlanmıştır

1 yorum

 
GN⁺ 2026-03-01
Hacker News yorumları
  • OpenASR Leaderboard'a göre Parakeet V2/V3 ve Canary-Qwen (Qwen'in fine-tune edilmiş sürümü), Moonshine'dan daha iyi performans gösteriyor
    Üç model de açık kaynak, ancak Parakeet en küçük model
    Ben Parakeet V3'ü Handy ile birlikte yerelde kullanıyorum ve çok iyi çalışıyor

    • Parakeet V3, Moonshine Medium'dan (245M) iki kattan fazla daha fazla parametreye (600M) sahip
      Bu yüzden bire bir karşılaştırmanın zor olduğunu düşünüyorum
      Leaderboard'da model boyutu bilgisinin olmaması şaşırtıcı
    • Handy'yi az önce denedim ve gerçekten etkileyici
      Bu yazıyı da şu anda Handy'ye konuşarak yazıyorum
      Noktalama işaretlerini otomatik işlemesi de kusursuz ve sesi yerelde doğrudan metne çevirdiği için Google Docs'tan çok daha kullanışlı
      Eskiden Chrome tabanlı sesli girişi kullanmak için Orion tarayıcısını bile kurmuştum, ama artık tek başına Handy yeterli
      Yazma hızım 100~120 WPM civarıydı, bu ise ondan daha hızlı
      Gerçekten bir yaşam kalitesi artırıcı araç
    • Yerel öncelikli bir iOS transkripsiyon uygulaması geliştiriyorum ve Whisper Medium'dan Parakeet V3'e geçmeyi planlıyorum
      macOS'ta codex-cli ile Handy'yi birlikte kullanırken varsayılan kısayolun (Option+Space) konuşmanın ortasına boşluk eklemesi gibi bir sorun var
      Bunun yerine Left Ctrl + Fn kombinasyonu tertemiz çalışıyor
      Başkalarının hangi kısayolları kullandığını merak ediyorum
    • WhisperX modellerini kullanıyordum ama Handy'yi ilk kez duydum
      Bizzat denedim ve gerçekten harika
      Artık tüm müşteri işlerimde varsayılan uygulama olarak kullanacağım
    • Handy gerçekten kaliteli bir uygulama
  • Sonuçlar için tebrikler
    Benim için en ilginç kısım streaming özelliği
    Voxtral Realtime tabanlı macOS dikte uygulaması LocalVoxtral'ı yaptım ve streaming ile offline STT arasındaki UX farkı çok büyük
    Konuşurken kelimelerin anında belirmesi, geri bildirim döngüsünü tamamen değiştiriyor
    Hataları gerçek zamanlı yakalayıp cümleyi düzeltebildiğiniz için çok daha doğal hissettiriyor
    Moonshine'ın streaming gecikmesinin (latency) pratikte ne kadar olduğunu merak ediyorum
    Ayrıca OpenAI Realtime ile uyumlu bir WebSocket endpoint'i olup olmadığını da bilmek isterim

    • Uygulamam moonshine-voice Python paketini kullanıyor
      Moonshine'ı varsayılan yapmamın nedeni doğruluk ile gecikme süresi arasındaki dengenin en iyi onda olması
      İleride farklı modelleri aynı ses verisiyle karşılaştıran nesnel benchmark'lar eklemeyi planlıyorum
      Ayrıca Sherpa-onnx API'sini referans alarak yaptığım özel bir WebSocket sunucusu da var: (rift-local)
      Tek bağlantı için optimize edildiğinden çoklu bağlantılar için uygun değil
  • Çeşitli Twitch yayıncılarının obs-localvocal üzerinden yayınlarına transkripsiyon ve çeviri özellikleri eklemelerine yardımcı oldum
    Bu çoğunlukla Almanca konuşmayı İngilizce altyazıya çevirmek içindi
    Whisper'dan daha hızlı ve daha doğru bir alternatife ihtiyaç var, ancak yayıncılar kurulumlu OBS eklentisi biçimini tercih ediyor
    Moonshine'da çeviri özelliği yok ve çok dilli otomatik algılama da desteklenmiyor; bu da sık sık code-switching yapan yayıncılar için bir sınırlama
    Dili otomatik algılayıp modeli değiştiren bir özellik olsaydı ideal olurdu

  • Whisper Large v3'ten daha yüksek doğruluk iddia etmek cesur bir çıkış
    Değerlendirme sırasında Whisper'ın hallucination loop sorununu hesaba katıp katmadığınızı merak ediyorum
    Ayrıca edge device dağıtımında VRAM kullanımının 8GB Mac'lere uyup uymadığını da bilmek isterim
    Quantization olmadan çalışıyorsa bu oldukça önemli olur

  • Streaming ortamında basit WER'den daha önemli olan şey partial stability
    Sesli asistanda partial transkripsiyon birkaç yüz ms'de bir değişirse UX mahvolur
    İlk token gecikmesi, gerçek zaman oranı, 1 saniye/3 saniye sonra düzeltilen token oranı gibi metrikler olsa karşılaştırma çok daha pratik olurdu
    Bu değerler iyiyse yerel asistan pipeline'ları için çok umut verici

    • İnsanlarda da bir tür 'partial revision rate' olup olmadığını merak ediyorum
      Ben de konuşurken kendi kendimi geriye dönük yorumladığım anlar yaşıyorum ve bunun bilinçsizce de sık sık olabileceğini düşünüyorum
      Eğer öyleyse bu oranın aşırı düşük olması gerekmeyebilir
  • Şu anda desteklenen diller İngilizce, Arapça, Japonca, Korece, Çince, İspanyolca, Ukraynaca ve Vietnamca; modellerin çoğu Base (58M parametre) boyutunda

  • Raspberry Pi kurulum rehberinde neden 'sudo pip install --break-system-packages moonshine-voice' önerildiğini anlamadım
    Yine de belgelerde uv kullanan bir alternatif de sunuluyor
    uv run kullanılırsa ayrıca source komutu çalıştırmaya gerek kalmıyor

  • “Doğruluk artışı”nın İngilizce için mi yoksa çok dilli kullanım için mi olduğu belirsiz
    Karşılaştırma yapılabilmesi için en azından dil bazında bir WER tablosu verilmesi gerekir

  • Tarayıcıda JavaScript desteği planlanıp planlanmadığını merak ediyorum
    Eskiden bir demo vardı ama şimdi kaldırılmış
    Bir zamanlar yerelde çalışıyordu ama bir noktadan sonra sebepsiz yere bozuldu

    • WASM tabanlı bir port olan moonshine-js var
      Ayrıca tarayıcı içi offline transkripsiyon çözümlerini derleyen bir karşılaştırma belgesi de mevcut
      transformers.js (WebGPU kullanımı, WASM fallback) tabanlı ayrı bir Moonshine demosu da bulunuyor
  • Tarayıcı GUI ile Moonshine'ı denemek için aşağıdaki komutu çalıştırabilirsiniz

    uv tool install rift-local && rift-local serve --open
    

    Bu, yerel transkripsiyon için web frontend'i RIFT'i açar ve bir kopyalama düğmesi de içerir
    Web Speech API ve diğer modellerle (bulut API'leri dahil) karşılaştırma da yapılabilir
    İlgili bağlantılar: rift-local, RIFT demosu