Ana içeriğe geç

Ses Aktivitesi Tespiti

Akış Ses Dalgası, Yakalanabilir Ses Dalgası gibi türetilmiş türleriyle birlikte Ses Aktivitesi Tespiti'ni (VAD) destekler. VAD, gelen ses verilerini yalnızca ses tespit edildiğinde dahili tamponu doldurmak üzere filtreler.

Eklenti iki VAD uygulaması sunar:

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

Temel Kullanım

Bir ses dalgası oluşturduktan sonra VAD'ı etkinleştirmek için ToggleVAD işlevini kullanın:

Toggle VAD düğümü

VAD'yi 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 saldırganlığını ayarlayabilirsiniz:

Set VAD Mode node

Mode parametresi, VAD'nin sesi ne kadar agresif bir şekilde filtrelediğini kontrol eder. Daha yüksek değerler daha kısıtlayıcıdır, bu da yanlış pozitif bildirme olasılıklarının daha düşük olduğu ancak bazı konuşmaların kaçırılabileceği anlamına gelir.

VAD Sağlayıcıları

VAD'yi ToggleVAD fonksiyonu ile etkinleştirdikten sonra, ihtiyaçlarınıza uygun farklı Ses Aktivitesi 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 ise eklenti eklentileri aracılığıyla mevcuttur.

Set VAD Provider node

Silero VAD Eklentisi

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

  1. Runtime Audio Importer eklentisinin projenizde zaten kurulu olduğundan emin olun

  2. UE 5.5 ve önceki sürümler için: Silero VAD eklenti eklentisini indirmeden önce, projenizde NNERuntimeORT'un devre dışı bırakıldığından emin olun. NNERuntimeORT'un etkin olması, çakışmalar nedeniyle bu motor sürümlerinde Silero VAD kullanırken çökmelere neden olabilir

  3. Silero VAD eklenti eklentisini Google Drive'dan indirin

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

  5. UE 5.6 ve sonraki sürümler için: NNERuntimeORT bağımlılığını eklemek için RuntimeAudioImporterSileroVAD.uplugin dosyasını düzenleyin. "Plugins" alanında, RuntimeAudioImporter dahil edildikten sonra şunu ekleyin:

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

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

  • UE 5.5 ve önceki sürümler: Eklenti çakışmalarından kaynaklanan çökmeleri önlemek için Silero VAD kullanılmadan önce NNERuntimeORT devre dışı bırakılmalıdır

  • UE 5.6+ Gereksinimi: Unreal Engine 5.6 ile başlayarak, Silero VAD eklentisi için NNERuntimeORT eklenti bağımlılığının .uplugin dosyasına manuel olarak eklenmesi gerekmektedir

  • Silero VAD Windows, Linux, Mac, Android (Meta Quest dahil) ve iOS için mevcuttur

  • Bu eklenti kaynak kodu olarak sağlanır ve kullanmak için bir C++ projesi gerektirir

  • Eklentileri manuel olarak nasıl oluşturacağınız hakkında daha fazla bilgi için Building Plugins eğitimine bakın

Kurulduktan sonra, Silero sınıf sağlayıcısı ile SetVADProvider işlevini kullanarak VAD sağlayıcınız olarak seçebilirsiniz.

Konuşma Başlangıcı ve Sonu Tespiti

Ses Aktivitesi Tespiti yalnızca konuşmanın varlığını tespit etmekle kalmaz, aynı zamanda konuşma aktivitesinin başlangıcını ve sonunu tespit etmeye de 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.

Minimum konuşma süresi ve sessizlik süresi gibi parametreleri ayarlayarak konuşma başlangıcı ve sonu tespitinin hassasiyetini özelleştirebilirsiniz. Bu parametreler, kısa gürültüler veya konuşmalar arasındaki çok kısa duraklamalar gibi yanlış pozitifleri önlemek için tespiti hassas bir şekilde ayarlamaya yardımcı olur.

Minimum Konuşma Süresi

Minimum Konuşma Süresi parametresi, bir konuşma başlangıç olayını tetiklemek için gereken minimum sürekli ses aktivitesi miktarını belirler. Bu, konuşma olarak değerlendirilmemesi gereken kısa gürültüleri filtrelemeye yardımcı olur ve yalnızca sürekli ses aktivitesinin tanındığından emin olur. Minimum Konuşma Süresi için varsayılan değer 300 milisaniyedir.

Set Minimum Speech Duration node

Sessizlik Süresi

Sessizlik Süresi parametresi, bir konuşma sonu olayını tetiklemek için gereken sessizlik süresini belirler. Bu, konuşma algılamasının kelimeler veya cümleler arasındaki doğal duraklamalarda erken sonlanmasını önler. Sessizlik Süresi için varsayılan değer 500 milisaniye'dir.

Set Silence Duration node

Konuşma Temsilcilerine Bağlama

Konuşma başladığında veya bittiğinde belirli temsilcilere bağlanabilirsiniz. Bu, konuşma aktivitesine dayalı olarak metin tanımayı başlatma veya durdurma, veya diğer ses kaynaklarının ses seviyesini ayarlama gibi özel davranışları tetiklemek için kullanışlıdır.

Bind Event To On Speech Started Bind Event To On Speech Ended

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 uygun

En İyi Kullanım Alanları:

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