Ana içeriğe geç

Eklenti nasıl kullanılır?

Runtime Speech Recognizer eklentisi, gelen ses verilerinden kelimeleri tanımak için tasarlanmıştır. Motorla çalışmak için whisper.cpp adlı hafifçe değiştirilmiş bir sürümünü kullanır. Eklentiyi kullanmak için şu adımları izleyin:

Editör tarafı

  1. Projeniz için uygun dil modellerini burada açıklandığı gibi seçin.

Runtime tarafı

  1. Bir Konuşma Tanıyıcı oluşturun ve gerekli parametreleri ayarlayın (CreateSpeechRecognizer, parametreler için buraya bakın).
  2. Gerekli temsilcilere bağlanın (OnRecognitionFinished, OnRecognizedTextSegment ve OnRecognitionError).
  3. Konuşma tanımayı başlatın (StartSpeechRecognition).
  4. Ses verilerini işleyin ve temsilcilerden sonuçları bekleyin (ProcessAudioData).
  5. Gerektiğinde konuşma tanıyıcıyı durdurun (ör. OnRecognitionFinished yayınından sonra).

Eklenti, gelen sesi 32 bit kayan noktalı (floating point) interleaved PCM biçiminde destekler. Runtime Audio Importer ile iyi çalışmasına rağmen, doğrudan ona bağımlı değildir.

Tanıma Parametreleri

Eklenti hem akışlı hem de akışsız ses verisi tanımayı destekler. Belirli kullanım durumunuz için tanıma parametrelerini ayarlamak üzere SetStreamingDefaults veya SetNonStreamingDefaults çağrısı yapın. Ayrıca, iş parçacığı sayısı, adım boyutu, gelen dilin İngilizceye çevrilip çevrilmeyeceği ve geçmiş transkriptin kullanılıp kullanılmayacağı gibi bireysel parametreleri manuel olarak ayarlama esnekliğine sahipsiniz. Mevcut parametrelerin tam listesi için Tanıma Parametre Listesi bölümüne bakın.

Performansı İyileştirme

Performansı optimize etme ipuçları için lütfen Performans nasıl iyileştirilir bölümüne bakın. Android ve Meta Quest gibi Android tabanlı platformlarda, whisper.cpp'de GPU hızlandırma desteği olmayan donanımlar için alternatif bir sağlayıcı sunan Vosk uzantısını da değerlendirin.

Ses Etkinliği Tespiti (VAD)

Sesli girdi işlenirken, özellikle akış senaryolarında, tanıyıcıya ulaşmadan önce boş veya yalnızca gürültü içeren ses bölümlerini filtrelemek için Ses Etkinliği Algılama (VAD) kullanılması önerilir. Bu filtreleme, Runtime Audio Importer eklentisi kullanılarak yakalanabilir ses dalgası tarafında etkinleştirilebilir; bu sayede dil modellerinin halüsinasyon görmesi - gürültüde kalıp aramaya çalışıp yanlış transkripsiyonlar üretmesi - önlenebilir.

En iyi konuşma tanıma sonuçları için, üstün gürültü toleransı ve daha doğru konuşma algılama sunan Silero VAD sağlayıcısını kullanmanızı öneririz. Silero VAD, Runtime Audio Importer eklentisine bir uzantı olarak sunulmaktadır. VAD yapılandırmasıyla ilgili ayrıntılı talimatlar için Ses Etkinliği Algılama belgelerine başvurun.

not

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 Silero VAD'ye kolayca şu şekilde geçiş yapabilirsiniz:

  1. Silero VAD uzantısını, Silero VAD Uzantısı bölümünde açıklandığı gibi yükleme
  2. VAD'yi Toggle VAD düğümüyle etkinleştirdikten sonra, bir Set VAD Provider düğümü ekleyin ve açılır menüden "Silero"yu seçin.

Eklentiyle birlikte gelen demo projesinde VAD varsayılan olarak etkindir. Demo uygulaması hakkında daha fazla bilgiyi Demo Projesi adresinde bulabilirsiniz.

1. Yüksek Kaliteli Lip Sync, Ruh Hali Kontrolü ve Yerel TTS ile

  1. Tam AI Konuşmalı NPC İş Akışı
  2. Standart Model Eğitimleri
  3. Genel Kurulum
  4. Demo Proje Tanıtımı Eklentinin Content -> Demo klasöründe, uygulama için örnek olarak kullanabileceğiniz iyi bir proje demosu bulunmaktadır.

Bu örnekler, Runtime Speech Recognizer eklentisinin hem akışlı hem de akışsız ses girişiyle nasıl kullanılacağını göstermektedir; örnek olarak ses verisi elde etmek için Runtime Audio Importer kullanılmıştır. Lütfen örneklerde sergilenen ses içe aktarma özelliklerinin aynısına (örn. yakalanabilir ses dalgası ve ImportAudioFromFile) erişmek için RuntimeAudioImporter'ın ayrıca indirilmesi gerektiğini unutmayın. Bu örnekler yalnızca temel kavramı açıklamak amacıyladır ve hata yönetimi içermez.

Akış 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ış tanıma

Bu örnek, Yakalanabilir ses dalgasını kullanarak mikrofondan ses verilerini akış olarak yakalamak ve bunu konuşma tanıyıcıya iletmek için temel kurulumu gösterir. Yaklaşık 5 saniye boyunca konuşmayı kaydeder ve ardından tanımayı işleyerek 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 prototipleme için mükemmel

2. Kontrollü akış tanıma

Bu örnek, temel akış kurulumunu tanıma sürecine manuel kontrol ekleyerek genişletir. İstediğiniz zaman tanımayı başlatıp durdurmanıza olanak tanır; bu da tanımanın ne zaman gerçekleşeceği üzerinde hassas 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 Etkinliği Algılama (VAD) ile birleştirir. Tanıyıcı, birikmiş konuşmayı yalnızca sessizlik algılandığında işlemeye başlar; bu da onu komut tabanlı arayüzler için ideal kılar. Kopyalanabilir düğümler.

Bu kurulumun ana özellikleri:

  • Manuel başlat/durdurma kontrolü
  • Konuşma bölümlerini algılamak için Ses Etkinliği Algılama (VAD) etkinleştirildi
  • Sessizlik algılandığında otomatik tanıma tetiklenir
  • Kısa komut tanıma için idealdir
  • Yalnızca gerçek konuşmayı tanıyarak işlem yükünü azaltır

4. Son tampon işleme ile otomatik başlatılan ses tanıma

Bu örnek, sesle etkinleştirilen tanıma yaklaşımının farklı yaşam döngüsü yönetimine sahip bir başka 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 biriktirilmiş son ses arabelleğini işlemesidir; böylece kullanıcı tanıma işlemini sonlandırmak istediğinde hiçbir konuşma verisi kaybolmaz. Bu kurulum, konuşmanın ortasında durulsa bile kullanıcının tüm konuşmaları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
  • Kapatma sırasında tanıyıcıyı otomatik durdurur
  • Tamamen durmadan önce son ses tamponunu işler
  • Verimli tanıma için Ses Etkinliği Algılama (VAD) kullanır
  • Durdururken hiçbir konuşma verisinin kaybolmamasını sağlar

Akışsız ses girişi

Bu örnek, ses verilerini içe aktarılan ses dalgasına aktarır ve içe aktarıldıktan sonra tüm ses verilerini tanır. Kopyalanabilir düğümler.