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 için filtreler.

Eklenti iki VAD uygulaması sunar:

Varsayılan uygulama, Runtime Audio Importer tarafından desteklenen tüm platformlar ve motor sürümleri üzerinde 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'yi etkinleştirmek için ToggleVAD işlevini kullanın:

Toggle VAD düğümü

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

Set VAD Mode node

mode parametresi, VAD'ın sesi ne kadar agresif bir şekilde filtreleyeceğ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'ı ToggleVAD fonksiyonuyla etkinleştirdikten sonra, ihtiyaçlarınıza uygun farklı Ses Aktivite Tespiti 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 kullanılabilir.

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 uzantı eklentisini indirmeden önce, projenizde NNERuntimeORT'un devre dışı bırakıldığından emin olun. NNERuntimeORT'un etkin olması, bu motor sürümlerinde Silero VAD kullanılırken çakışmalara neden olarak çökmelere yol açabilir

  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 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 öncesi: 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 Eklenti Oluşturma 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

Voice Activity Detection 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.

Konuşma başlangıcı ve sonu tespitinin 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ş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 kabul edilmemesi gereken kısa gürültüleri filtrelemeye ve yalnızca sürekli ses aktivitesinin tanınmasını sağlamaya yardımcı 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 bitiş olayını tetiklemek için gereken sessizlik süresini ayarlar. 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 milisaniyedir.

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ı özel davranışları tetiklemek için kullanışlıdır; örneğin, metin tanımayı başlatmak veya durdurmak veya diğer ses kaynaklarının ses seviyesini ayarlamak.

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