음성 활동 감지
스트리밍 사운드 웨이브와 캡처 가능한 사운드 웨이브와 같은 파생 유형들은 음성 활동 감지(VAD)를 지원합니다. VAD는 음성이 감지되었을 때만 내부 버퍼를 채우도록 들어오는 오디오 데이터를 필터링합니다.
이 플러그인은 두 가지 VAD 구현을 제공합니다:
- 기본 VAD
- Silero VAD
기본 구현은 libfvad를 사용하며, Runtime Audio Importer가 지원하는 모든 플랫폼과 엔진 버전에서 효율적으로 작동하는 경량 음성 활동 감지 라이브러리입니다.
확장 플러그인으로 사용 가능한 Silero VAD는 신경망 기반 음성 활동 감지기로, 특히 잡음이 많은 환경에서 더 높은 정확도를 제공합니다. 머신 러닝을 사용하여 음성과 배경 잡음을 더 신뢰성 있게 구분합니다.
기본 사용법
사운드 웨이브 생성 후 VAD를 활성화하려면 ToggleVAD
함수를 사용하세요:
- Blueprint
- C++
// Assuming StreamingSoundWave is a UE reference to a UStreamingSoundWave object (or its derived type, such as UCapturableSoundWave)
StreamingSoundWave->ToggleVAD(true);
VAD를 활성화한 후에는 언제든지 재설정할 수 있습니다:
- Blueprint
- C++
// Reset the VAD
StreamingSoundWave->ResetVAD();
기본 VAD 설정
기본 VAD provider를 사용할 때는 VAD mode를 변경하여 공격성을 조절할 수 있습니다:
- Blueprint
- C++
// Set the VAD mode (only works with the default VAD provider)
StreamingSoundWave->SetVADMode(ERuntimeVADMode::VeryAggressive);
mode 매개변수는 VAD가 오디오를 얼마나 공격적으로 필터링할지 제어합니다. 값이 높을수록 더 제한적이며, 이는 허위 양성(false positives)을 보고할 가능성이 적지만 일부 음성을 놓칠 수 있음을 의미합니다.
VAD 제공자(VAD Providers)
ToggleVAD
함수로 VAD를 활성화한 후, 필요에 맞는 다양한 Voice Activity Detection 제공자 중에서 선택할 수 있습니다. 기본 제공자는 내장되어 있으며, Silero VAD와 같은 추가 제공자는 확장 플러그인을 통해 사용할 수 있습니다.
- Blueprint
- C++
// Assuming StreamingSoundWave is a UE reference to a UStreamingSoundWave object (or its derived type, such as UCapturableSoundWave)
// Make sure to call ToggleVAD(true) before setting the provider
// Set the VAD provider to Silero VAD
StreamingSoundWave->SetVADProvider(URuntimeSileroVADProvider::StaticClass());
Silero VAD Extension
Silero VAD는 신경망을 사용하여 더 정확한 음성 감지를 제공합니다. 사용하려면:
-
프로젝트에 Runtime Audio Importer 플러그인이 이미 설치되어 있는지 확인하세요
-
Google Drive에서 Silero VAD extension 플러그인을 다운로드하세요
-
다운로드한 아카이브에서 폴더를 추출하여 프로젝트의
Plugins
폴더에 넣으 세요 (해당 폴더가 없으면 생성하세요) -
UE 5.6 이상의 경우:
RuntimeAudioImporterSileroVAD.uplugin
파일을 편집하여 NNERuntimeORT 종속성을 추가하세요. "Plugins" 필드에서 RuntimeAudioImporter 포함 이후에 다음을 추가하세요:
,
{
"Name": "NNERuntimeORT",
"Enabled": true
}
- 프로젝트 재빌드 (이 확장 기능은 C++ 프로젝트가 필요합니다)
-
기본 VAD는 Runtime Audio Importer가 지원하는 모든 엔진 버전에서 작동합니다 (UE 4.24, 4.25, 4.26, 4.27, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6)
-
Silero VAD는 Unreal Engine 4.27 및 모든 UE5 버전을 지원합니다 (4.27, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6)
-
UE 5.6+ 요구사항: Unreal Engine 5.6부터 Silero VAD 확장 기능은
.uplugin
파일에 NNERuntimeORT 플러그인 의존성을 수동으로 추가해야 합니다 -
Silero VAD는 Windows, Linux, Mac, Android (Meta Quest 포함), iOS에서 사용 가능합니다
-
이 확장 기능은 소스 코드로 제공되며 사용하려면 C++ 프로젝트가 필요합니다
-
플러그인을 수동으로 빌드하는 방법에 대한 자세한 내용은 플러그인 빌드 튜토리얼을 참조하세요
설치가 완료되면, Silero 클래스 제공자를 사용하여 SetVADProvider
함수로 VAD 제공자로 선택할 수 있습니다.