Ana içeriğe geç

Ses Aktivitesi Algılama

Akış Ses Dalgası, Yakalanabilir Ses Dalgası gibi türetilmiş türleriyle birlikte, Ses Aktivitesi Algılama (VAD) özelliğini destekler. VAD, gelen ses verilerini yalnızca ses algılandığında dahili arabelleği 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ümlerinde verimli çalışan hafif bir ses aktivitesi algılama 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 agresifliğini ayarlayabilirsiniz:

Set VAD Mode node

Mod 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ı kaçırabileceğ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ılı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 ve 5.6)

  • 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 ve 5.6)

  • 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 gerekir

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

  • Bu eklenti kaynak kodu olarak sağlanır ve kullanımı 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 fonksiyonunu kullanarak VAD sağlayıcınız olarak seçebilirsiniz.

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

Voice Activity Detection (Ses Aktivitesi Tespiti) yalnızca konuşma 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 ince 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 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 tespitinin erken sonlanmasını önler. Sessizlik Süresi için varsayılan değer 500 milisaniyedir.

Sessizlik Süresi Ayarla düğümü

Konuşma Delegelerine Bağlama

Konuşma başladığında veya bittiğinde belirli delegelere 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

Default 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 İyi Kullanım Alanları:

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