Vosk uzantı
Varsayılan olarak, Runtime Speech Recognizer eklentisi tanıma için whisper.cpp kullanır. whisper.cpp'de GPU hızlandırma desteği olmayan platformlarda, özellikle Android ve Meta Quest gibi Android tabanlı platformlarda, tanıma, daha yavaş olan ve pil ömrünü daha fazla tüketen CPU + intrinsics kullanımına geri döner. Vosk extension plugin, Vosk tabanlı alternatif bir sağlayıcı ekler. Vosk, kısıtlı donanımda iyi çalışan ve özellikle Meta Quest üzerinde çok iyi performans gösteren hafif bir konuşma tanıma araç setidir.
whisper.cpp ile Vosk arasında geçiş yapmak yalnızca birkaç Blueprint düğümü gerektirir ve geri geçiş de aynı kadar kolaydır; böylece her iki seçeneği de kullanılabilir tutabilir ve gerektiğinde platform başına bir sağlayıcı seçebilirsiniz.
Kurulum
Vosk eklentisini kullanmak için:
-
Ana Runtime Speech Recognizer eklentisinin projenizde zaten kurulu olduğundan emin olun.
-
Vosk uzantı eklentisini buradan indirin
-
İndirilen arşivdeki klasörü projenizin
Pluginsklasörüne çıkarın (bu klasör yoksa oluşturun). -
Projenizi yeniden derleyin (bu uzantı bir C++ projesi gerektirir)
-
Vosk eklentisi, Unreal Engine 5.0'dan 5.8'e kadar olan sürümleri destekler.
-
Bu uzantı kaynak kod olarak sağlanır ve kullanım için bir C++ projesi gerektirir.
-
Eklentileri manuel olarak nasıl oluşturacağınız hakkında daha fazla bilgi için Eklenti Oluşturma eğitimi bölümüne bakın.
Vosk Sağlayıcısına Geçiş
Uzantı kurulduktan sonra, bir konuşma tanıyıcıyı Vosk'a geçirmek, CreateSpeechRecognizer'dan hemen sonra üç düğüme bağlıdır:

- Vosk sağlayıcı sınıfını geçirerek Set Speech Recognizer Provider'ı çağırın.
- Sonucu Cast To Runtime Vosk Speech Recognizer Provider ile dönüştürün.
- Dönüştürme sonucunda Set Vosk Model Path (By Name)'ı çağırın, açılır menüden indirilmiş bir model seçerek.
Mevcut kurulumunuzdaki diğer her şey (Start Speech Recognition, Process Audio Data, delegeler, VAD, vb.) değiştirilmeden çalışmaya devam eder. whisper.cpp'ye geri dönmek için bu üç düğümü kaldırın veya Set Speech Recognizer Provider'ı hiç çağırmayın, çünkü whisper.cpp varsayılandır.
Vosk modelleri indiriliyor
Vosk modelleri, Proje Ayarları -> Eklentiler -> Runtime Speech Recognizer Vosk bölümünden indirilir ve yönetilir. Panel, dile göre gruplandırılmış ön tanımlı model kataloğunu listeler ve her girişte bir İndir düğmesi bulunur; indirme ve açma işlemi devam ederken bir ilerleme çubuğu gösterilir, model diskte olduğunda ise bir Sil düğmesi görünür.

İndirilen modeller Content/RuntimeSpeechRecognizerVosk/Models altına çıkarılır ve eklenti, bu klasörü paketleme için otomatik olarak hazırlar. Ayrıca tek bir paketlenmiş modelle sınırlı değilsiniz: indirdiğiniz her model kullanılabilir durumda kalır ve Set Vosk Model Path (By Name) ile çalışma zamanında seçilebilir. Android'de model dosyaları paketlenmiş uygulamanın içinde gönderilir ve ilk kullanımda kalıcı depolamaya kopyalanır; bu işlem, model seçildiğinde dahili olarak yönetilir.
Desteklenen diller (genişletmek için tıklayın)
Önceden tanımlanmış katalog, İngilizce, Hint İngilizcesi, Çince, Rusça, Fransızca, Almanca, İspanyolca, Portekizce/Brezilya Portekizcesi, Yunanca, Türkçe, Vietnamca, İtalyanca, Felemenkçe, Katalanca, Arapça, Tunus Arapçası, Farsça, Filipince, Ukraynaca, Kazakça, İsveççe, Japonca, Esperanto, Hintçe, Çekçe, Lehçe, Özbekçe, Korece, Bretonca, Güceratça, Tacikçe, Telugu, Kırgızca ve Gürcüce dilleri için modellerin yanı sıra özel bir konuşmacı tanımlama modeli de içerir.
Bazı dillerin panelde birden fazla varyantı vardır (örneğin, mobil donanıma uygun daha küçük bir model ile daha büyük ve daha doğru bir model), bu nedenle yalnızca bir tane olduğunu varsaymak yerine, hedef diliniz için seçenekleri doğrudan Proje Ayarları panelinde incelemeye değer. Her varyantın doğruluğu, boyutu ve lisansı hakkında ayrıntılar için tam Vosk model listesine bakın.
Parametreler ve davranış
Vosk, whisper.cpp'den temelde farklı bir tanıyıcıdır; bu nedenle Tanıma Parametre Listesi'ndeki girdilerin çoğu onun için geçerli değildir. Vosk sağlayıcısında desteklenmeyen bir setter çağırmanın hiçbir etkisi yoktur; böylece whisper.cpp için yazılmış Blueprint mantığı, sağlayıcı değiştirildikten sonra değiştirilmeden çalışmaya devam eder. Vosk üzerinde etkisi olan işlevler şunlardır:
- Dili Ayarla: hangi dilin modelinin kullanılacağını seçer. Vosk otomatik dil algılamayı desteklemez, bu nedenle dili Otomatik olarak ayarlarsanız yok sayılır.
- Adım Boyutunu Ayarla: tanıma için gönderilmeden önce biriken ses miktarını belirtir; whisper.cpp ile aynı mekanizmadır. Vosk akış tabanlı bir tanıyıcı olduğundan, küçük bir değer (Vosk sağlayıcısı varsayılan olarak 200 ms kullanır) kısmi sonuçların duyarlı kalmasını sağlar.
- Maksimum Token Sayısını Ayarla: Vosk için yeniden kullanılır, aşağıda açıklanmıştır.
Maksimum Token ve Akış Çıktısını Ayarla
The Set Max Tokens parametresi, Vosk sağlayıcısının tanınan metni On Recognized Text Segment aracılığıyla nasıl ilettiğini kontrol eder:
- 0 (varsayılan): metin dahili olarak birikir ve tanıma sonuçlandığında, VAD ile tetiklenen bir durdurma yoluyla (Sesle etkinleştirilen komut tanıma veya Otomatik başlatan ses tanıma örneklerinde olduğu gibi) ya da projenizde Stop Speech Recognition'ı çağıran veya son ses parçasını zorla geçiren herhangi bir mantık aracılığıyla tek bir tamamlanmış bölüm olarak teslim edilir. Bu, whisper.cpp'nin kullandığı bölüm tabanlı davranışla eşleşir.
- 0'dan büyük: sağlayıcı akış moduna geçer. Tamamlanmış bir bölümü beklemek yerine, tanıma ilerledikçe kısmi sonuçları yayınlar; her biri bir öncekinin yerini aynı ifadenin daha uzun bir sürümüyle değiştirir, bölüm bitene ve metin bir sonraki bölüm için sıfırlanana kadar. Kısa bir sözce, On Recognized Text Segment yayınları boyunca şöyle görünebilir:
"The"
"The cat"
"The cat is"
"The cat is sleeping"
Kesin sayısal değerin Vosk için bir önemi yoktur, çünkü yerleşik bir token sınırı yoktur. 0'ın üzerindeki herhangi bir değer akış teslimini etkinleştirir.
Kısmi sonuçlar yalnızca sesin kuyruğa alındığı sıklıkta geldiğinden (Set Step Size tarafından yönetilir), hızlı tepki veren canlı çıktı için düşük bir Max Tokens değerini düşük bir Step Size değeriyle eşleştirin.
Platform desteği
Vosk uzantısı; Windows, Android ve Meta Quest gibi Android tabanlı platformlarda çalışır. En çok, whisper.cpp'nin GPU hızlandırma yolu olmadığı Android ve Meta Quest'te işe yarar ve özellikle Meta Quest üzerinde çok iyi performans gösterir. Eğer zaten Windows'ta veya Vulkan ya da Metal hızlandırması mevcut olan başka bir masaüstü platformundaysanız, whisper.cpp muhtemelen daha iyi bir varsayılandır. Vosk, whisper.cpp'nin en zayıf olduğu platformlar için bir alternatif olarak tasarlanmıştır.
İleri Düzey: Modellerle Doğrudan Çalışma
Proje Ayarları paneli çoğu proje için modellerin indirilmesini ve silinmesini kapsar. Projenizin, Düzenleyici paneline güvenmek yerine doğrudan modellerle çalışması gerekiyorsa, örneğin kullanılabilirliği kontrol etmek veya çalışma zamanında dosyaları yönetmek gibi, eklenti temel kütüphane işlevlerini sunar:
- Kullanılabilir Vosk Model Adlarını Al: şu anda kullanıma hazır olan modellerin adlarını döndürür; ister zaten diske çıkarılmış olsunlar, ister henüz paketlenmiş ve ilk kullanımlarını bekliyor olsunlar. Vosk Model Yolunu Ayarla (Ada Göre) üzerindeki açılır listeyi besleyen şey budur.
- Vosk Model Kullanılabilir mi: yukarıdakiyle aynı kontrol, tek bir model için ID'ye göre.
- Vosk Modeller Dizini Al: çalışma zamanında modellerin okunduğu dizinin mutlak yolunu döndürür.
- Vosk Model Klasör Yolunu Al: belirli bir modelin diskteki klasörünün mutlak yolunu döndürür.
- Vosk Model Dosyalarını Sil: bir modelin diskten çıkarılmış dosyalarını siler.