Eklentiyi kullanma
Runtime Speech Recognizer eklentisi, gelen ses verilerinden kelimeleri tanımak için tasarlanmıştır. Motorla çalışmak için whisper.cpp'nin hafifçe değiştirilmiş bir sürümünü kullanır. Eklentiyi kullanmak için şu adımları izleyin:
Editör tarafı
- Projeniz için uygun dil modellerini burada açıklandığı gibi seçin.
Runtime tarafı
- Bir Speech Recognizer oluşturun ve gerekli parametreleri ayarlayın (CreateSpeechRecognizer, parametreler için buraya bakın).
- İhtiyaç duyulan delegelere bağlanın (OnRecognitionFinished, OnRecognizedTextSegment ve OnRecognitionError).
- Konuşma tanımayı başlatın (StartSpeechRecognition).
- Ses verilerini işleyin ve delegelerden sonuçları bekleyin (ProcessAudioData).
- Gerektiğinde (örneğin, OnRecognitionFinished yayınından sonra) konuşma tanıyıcıyı durdurun.
Eklenti, gelen sesi kayan nokta 32-bit interleaved PCM formatında destekler. Runtime Audio Importer ile iyi çalışsa da, doğrudan ona bağımlı değildir.
Tanıma parametreleri
Eklenti, hem akış hem de akış olmayan ses verisi tanımayı destekler. Belirli kullanım durumunuz için tanıma parametrelerini ayarlamak üzere SetStreamingDefaults
veya SetNonStreamingDefaults
'ı çağırın. Ek olarak, iş parçacığı sayısı, adım boyutu, gelen dili İngilizce'ye çevirip çevirmeme ve geçmiş transkripsiyonu kullanıp kullanmama gibi bireysel parametreleri manuel olarak ayarlama esnekliğine sahipsiniz. Mevcut parametrelerin tam listesi için Tanıma Parametre Listesi'ne bakın.
Performansı iyileştirme
Eklentinin performansını optimize etmek için ipuçları almak üzere lütfen Performans nasıl iyileştirilir bölümüne bakın.
Ses Aktivite Tespiti (VAD)
Ses girişini işlerken, özellikle akış senaryolarında, tanıyıcıya ulaşmadan önce boş veya sadece gürültü içeren ses segmentlerini filtrelemek için Ses Aktivite Tespiti'ni (VAD) kullanmanız önerilir. Bu filtreleme, Runtime Audio Importer eklentisini kullanarak yakalanabilir ses dalgası tarafında etkinleştirilebilir; bu, dil modellerinin halüsinasyon yapmasını - gürültüde desenler bulmaya çalışmasını ve yanlış transkripsiyonlar üretmesini - önlemeye yardımcı olur.
Optimal konuşma tanıma sonuçları için, üstün gürültü toleransı ve daha doğru konuşma tespiti sunan Silero VAD sağlayıcısını kullanmanızı öneririz. Silero VAD, Runtime Audio Importer eklentisinin bir uzantısı olarak mevcuttur. VAD yapılandırması için detaylı talimatlar için Ses Aktivite Tespiti belgelerine bakın.
Aşağıdaki örneklerdeki kopyalanabilir düğümler, uyumluluk nedenleriyle varsayılan VAD sağlayıcısını kullanır. Tanıma doğruluğunu artırmak için kolayca Silero VAD'a geçiş yapabilirsiniz:
- Silero VAD Eklentisi bölümünde açıklandığı gibi Silero VAD eklentisini kurarak
- VAD'ı Toggle VAD düğümü ile etkinleştirdikten sonra, bir Set VAD Provider düğümü ekleyin ve açılır menüden "Silero"yu seçin
Eklenti ile birlikte gelen demo projesinde, VAD varsayılan olarak etkindir. Demo uygulaması hakkında daha fazla bilgiyi Demo Projesi bölümünde bulabilirsiniz.
Örnekler
Bu örnekler, Runtime Speech Recognizer eklentisinin hem akışlı hem de akışsız ses girişi ile nasıl kullanılacağını göstermektedir; örnek olarak ses verisi almak için Runtime Audio Importer kullanılmıştır. Lütfen örneklerde gösterilen aynı ses içe aktarma özelliklerine (örneğin, yakalanabilir ses dalgası ve ImportAudioFromFile) erişmek için RuntimeAudioImporter'ın ayrıca indirilmesi gerektiğini unutmayın. Bu örnekler yalnızca temel kavramı göstermek amacıyla hazırlanmıştır ve hata işleme içermez.
Akışlı ses girişi örnekleri
Not: UE 5.3 ve diğer sürümlerde, Blueprint'leri kopyaladıktan sonra eksik düğümlerle karşılaşabilirsiniz. Bu, motor sürümleri arasındaki düğüm serileştirme farklılıklarından kaynaklanabilir. Uygulamanızda tüm düğümlerin doğru şekilde bağlandığını her zaman doğrulayın.
1. Temel akışlı tanıma
Bu örnek, Capturable ses dalgası kullanarak mikrofondan ses verisini bir akış olarak yakalama ve bunu konuşma tanıyıcıya aktarmanın temel kurulumunu gösterir. Yaklaşık 5 saniye boyunca konuşmayı kaydeder ve ardından tanıma işlemini gerçekleştirir; bu da onu hızlı testler ve basit uygulamalar için uygun hale getirir. Kopyalanabilir düğümler.
Bu kurulumun temel özellikleri:
- Sabit 5 saniyelik kayıt süresi
- Basit tek seferlik tanıma
- Minimum kurulum gereksinimleri
- Test ve prototip oluşturma için mükemmel
2. Kontrollü akışlı tanıma
Bu örnek, temel akışlı kurulumu, tanıma süreci üzerinde manuel kontrol ekleyerek genişletir. Tanımayı istediğiniz zaman başlatmanıza ve durdurmanıza olanak tanır; bu da tanımanın ne zaman gerçekleşeceği üzerinde kesin kontrol gerektiren senaryolar için uygundur. Kopyalanabilir düğümler.
Bu kurulumun temel özellikleri:
- Manuel başlatma/durdurma kontrolü
- Sürekli tanıma yeteneği
- Esnek kayıt süresi
- Etkileşimli uygulamalar için uygun
3. Sesle etkinleştirilen komut tanıma
Bu örnek, komut tanıma senaryoları için optimize edilmiştir. Kullanıcı konuşmayı bıraktığında konuşmayı otomatik olarak işlemek için akış tanımayı Ses Aktivite Tespiti (VAD) ile birleştirir. Tanıyıcı, sessizlik tespit edildiğinde yalnızca birikmiş konuşmayı işlemeye başlar, bu da onu komut tabanlı arayüzler için ideal yapar. Kopyalanabilir düğümler.
Bu kurulumun temel özellikleri:
- Manuel başlatma/durdurma kontrolü
- Konuşma bölümlerini tespit etmek için Ses Aktivite Tespiti (VAD) etkin
- Sessizlik tespit edildiğinde otomatik tanıma tetikleme
- Kısa komut tanıma için optimal
- Yalnızca gerçek konuşmayı tanıyarak işleme yükünün azaltılması
4. Son tampon işlemeli otomatik başlatmalı ses tanıma
Bu örnek, farklı yaşam döngüsü yönetimi ile sesle etkinleştirilen tanıma yaklaşımının başka bir varyasyonudur. Tanıyıcıyı başlatma sırasında otomatik olarak başlatır ve sonlandırma sırasında durdurur. Temel bir özellik, tanıyıcıyı durdurmadan önce son birikmiş ses tamponunu işlemesidir, bu da kullanıcı tanıma sürecini sonlandırmak istediğinde hiçbir konuşma verisinin kaybolmamasını sağlar. Bu kurulum, konuşma ortasında durdurulduğunda bile kullanıcı ifadelerinin tamamını yakalamanız gereken uygulamalar için özellikle kullanışlıdır. Kopyalanabilir düğümler.
Bu kurulumun temel özellikleri:
- Başlatma sırasında tanıyıcıyı otomatik başlatır
- Sonlandırma sırasında tanıyıcıyı otomatik durdurur
- Tamamen durdurmadan önce son ses tamponunu işler
- Verimli tanıma için Ses Aktivite Tespiti (VAD) kullanır
- Durdurulduğunda hiçbir konuşma verisinin kaybolmamasını sağlar
Akış olmayan ses girişi
Bu örnek, ses verilerini İçe aktarılan ses dalgasına aktarır ve ses verileri içe aktarıldıktan sonra tam ses verilerini tanır. Kopyalanabilir düğümler.