Ana içeriğe geç

Ses Aktivitesi Tespiti

Streaming Sound Wave, Capturable Sound Wave gibi türetilmiş türleriyle birlikte Ses Aktivitesi Tespitini (VAD) destekler. VAD, yalnızca ses algılandığında dahili tamponu doldurmak için gelen ses verilerini filtreler.

Plugin iki VAD uygulaması sunar:

Varsayılan uygulama, Runtime Audio Importer tarafından desteklenen tüm platformlar ve motor sürümlerinde verimli bir şekilde çalışan hafif bir ses aktivitesi tespit kütüphanesi olan libfvad'ı kullanır.

Temel Kullanım

Bir sound wave oluşturduktan sonra VAD'yi etkinleştirmek için ToggleVAD fonksiyonunu kullanın:

Toggle VAD node

VAD'ı etkinleştirdikten sonra, istediğiniz zaman sıfırlayabilirsiniz:

VAD düğümünü sıfırla

Varsayılan VAD Ayarları

Varsayılan VAD sağlayıcısını kullanırken, VAD modunu değiştirerek agresifliğini ayarlayabilirsiniz:

Set VAD Mode düğümü

Mod parametresi, VAD'in sesi ne kadar agresif bir şekilde filtrelediğini kontrol eder. Daha yüksek değerler daha kısıtlayıcıdır, yani yanlış pozitif bildirme olasılıkları daha düşüktür ancak bazı konuşmaları kaçırabilirler.

VAD Sağlayıcıları

VAD'i ToggleVAD fonksiyonu ile etkinleştirdikten sonra, ihtiyaçlarınıza uygun farklı Ses Etkinliği Algılama sağlayıcıları arasından seçim yapabilirsiniz. Varsayılan sağlayıcı yerleşiktir, Silero VAD gibi ek sağlayıcılar eklenti olarak mevcuttur.

Set VAD Provider node

Silero VAD Extension

Silero VAD, sinir ağları kullanarak daha doğru konuşma algılama sağlar. Kullanmak için:

  1. Runtime Audio Importer eklentisinin projenizde yüklü olduğundan emin olun

  2. UE 5.5 ve öncesi için: Silero VAD uzantı eklentisini indirmeden önce, projenizde NNERuntimeORT'un devre dışı olduğundan emin olun. NNERuntimeORT'un etkin olması, bu motor sürümlerinde Silero VAD kullanırken çakışmalardan dolayı çökmelere neden olabilir

  3. Silero VAD uzantı eklentisini buradan indirin

  4. İndirilen arşivdeki klasörü projenizin Plugins klasörüne çıkarın (bu klasör yoksa oluşturun)

  5. UE 5.6 ve sonrası için: RuntimeAudioImporterSileroVAD.uplugin dosyasını düzenleyerek NNERuntimeORT bağımlılığını ekleyin. "Plugins" alanında, RuntimeAudioImporter eklemesinden sonra, ekleyin:

,
{
"Name": "NNERuntimeORT",
"Enabled": true
}
  1. Projenizi yeniden derleyin (bu uzantı bir C++ projesi gerektirir)
important
  • Varsayılan VAD, Runtime Audio Importer tarafından desteklenen tüm motor sürümleriyle (UE 4.24, 4.25, 4.26, 4.27, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7 ve 5.8) çalışır

  • Silero VAD, Unreal Engine 4.27 ve tüm UE5 sürümlerini (4.27, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7 ve 5.8) destekler

  • UE 5.5 ve öncesi: Eklenti çakışmalarından kaynaklanan çökmeleri önlemek için Silero VAD kullanılmadan önce NNERuntimeORT devre dışı bırakılmalıdır. Özellikle UE 5.3'te NNERuntimeORTCpu ve NNERuntimeORTGpu da devre dışı bırakılmalıdır

  • UE 5.6+ Gereksinimi: Unreal Engine 5.6'dan itibaren Silero VAD uzantısı, NNERuntimeORT eklenti bağımlılığının .uplugin dosyasına manuel olarak eklenmesini gerektirir

  • Silero VAD; Windows, Linux, Mac, Android (Meta Quest dahil) ve iOS için kullanılabilir

  • Bu uzantı kaynak kodu olarak sunulur ve kullanmak için bir C++ projesi gerektirir

  • Eklentileri manuel olarak derleme hakkında daha fazla bilgi için Building Plugins öğreticisine bakın

Kurulumdan sonra, SetVADProvider fonksiyonunu Silero sınıf sağlayıcısı ile kullanarak bunu VAD sağlayıcınız olarak seçebilirsiniz.

Konuşma Başlangıcı ve Sonu Algılama

Voice Activity Detection yalnızca konuşma varlığını algılamakla kalmaz, aynı zamanda konuşma etkinliğinin başlangıcını ve sonunu algılamaya da olanak tanır. Bu, oynatma veya yakalama sırasında konuşma başladığında veya bittiğinde olayları tetiklemek için kullanışlıdır.

Konuşma başlangıcı ve sonu algılamanın hassasiyetini minimum konuşma süresi ve sessizlik süresi gibi parametreleri ayarlayarak özelleştirebilirsiniz. Bu parametreler, kısa gürültüler veya konuşma arasındaki çok kısa duraklamalar gibi yanlış pozitifleri önlemek için algılamayı ince ayarlamaya yardımcı olur.

Minimum Konuşma Süresi

Minimum Konuşma Süresi parametresi, bir konuşma başlangıcı olayını tetiklemek için gereken minimum sürekli ses etkinliği miktarını ayarlar. Bu, konuşma olarak değerlendirilmemesi gereken kısa gürültüleri filtreleyerek yalnızca sürekli ses etkinliğinin tanınmasını sağlar. Minimum Konuşma Süresi için varsayılan değer 300 milisaniyedir.

Set Minimum Speech Duration nodu

Sessizlik Süresi

Sessizlik Süresi parametresi, bir konuşma bitiş olayını tetiklemek için gereken sessizlik süresini ayarlar. Bu, kelimeler veya cümleler arasındaki doğal duraklamalar sırasında konuşma algılamanın erken sonlanmasını önler. Sessizlik Süresi için varsayılan değer 500 milisaniyedir.

Set Silence Duration düğümü

Konuşma Delegate'lerine Bağlanma

Konuşma başladığında veya bittiğinde belirli delegate'lere bağlanabilirsiniz. Bu, konuşma etkinliğine dayalı olarak özel davranışları tetiklemek için kullanışlıdır; örneğin metin tanımayı başlatmak veya durdurmak ya da diğer ses kaynaklarının ses seviyesini ayarlamak gibi.

Olayı On Speech Started'a Bağla Olayı On Speech Ended'a Bağla

VAD Sağlayıcılarını Karşılaştırma

Varsayılan VAD (libfvad)

Avantajlar:

  • Hafif ve verimli
  • Tüm platformlarda çalışır
  • Minimum kaynak kullanımı
  • Mobil ve düşük güçlü cihazlar için uygundur

En uygun olduğu alanlar:

  • Sessiz ortamlarda basit ses algılama
  • Mobil uygulamalar
  • Performansın öncelikli olduğu projeler
  • Evrensel platform desteği gerektiğinde