Перейти к основному содержимому

Детектирование голосовой активности

Streaming Sound Wave и его производные типы, такие как Capturable Sound Wave, поддерживают Voice Activity Detection (VAD). VAD фильтрует входящие аудиоданные, заполняя внутренний буфер только при обнаружении голоса.

Плагин предлагает две реализации VAD:

Реализация по умолчанию использует libfvad — легковесную библиотеку детектирования голосовой активности, которая эффективно работает на всех платформах и версиях движка, поддерживаемых Runtime Audio Importer.

Базовое использование

Чтобы включить VAD после создания звуковой волны, используйте функцию ToggleVAD:

Toggle VAD node

После включения VAD вы можете сбросить его в любое время:

Узел сброса VAD

Настройки VAD по умолчанию

При использовании стандартного VAD-провайдера вы можете регулировать его агрессивность, изменяя режим VAD:

Set VAD Mode node

Параметр mode контролирует агрессивность фильтрации аудио с помощью VAD. Более высокие значения являются более строгими, что означает меньшую вероятность ложных срабатываний, но возможное пропускание некоторых фрагментов речи.

Провайдеры VAD

После активации VAD с помощью функции ToggleVAD вы можете выбрать между различными провайдерами Voice Activity Detection в соответствии с вашими потребностями. Провайдер по умолчанию встроен, а дополнительные провайдеры, такие как Silero VAD, доступны через плагины расширений.

Set VAD Provider node

Расширение Silero VAD

Silero VAD обеспечивает более точное обнаружение речи с использованием нейронных сетей. Для его использования:

  1. Убедитесь, что плагин Runtime Audio Importer уже установлен в вашем проекте
  2. Скачайте плагин расширения Silero VAD с Google Drive
  3. Распакуйте папку из загруженного архива в папку Plugins вашего проекта (создайте её, если она не существует)
  4. Пересоберите проект (это расширение требует C++ проект)
important
  • Стандартный 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)
  • Silero VAD в настоящее время доступен только для Windows
  • Это расширение предоставляется в виде исходного кода и требует C++ проекта для использования
  • Для получения дополнительной информации о ручной сборке плагинов см. учебник по сборке плагинов

После установки вы можете выбрать его в качестве провайдера VAD, используя функцию SetVADProvider с классом провайдера Silero.

Обнаружение начала и конца речи

Voice Activity Detection (VAD) не только обнаруживает наличие речи, но также позволяет определять начало и окончание речевой активности. Это полезно для запуска событий при начале или завершении речи во время воспроизведения или записи.

Вы можете настроить чувствительность обнаружения начала и конца речи, регулируя параметры, такие как минимальная продолжительность речи и продолжительность тишины. Эти параметры помогают точно настроить обнаружение, чтобы избежать ложных срабатываний, например, на короткие шумы или слишком короткие паузы в речи.

Минимальная продолжительность речи

Параметр Minimum Speech Duration устанавливает минимальное количество непрерывной речевой активности, необходимое для запуска события начала речи. Это помогает отфильтровать кратковременные шумы, которые не должны считаться речью, чтобы гарантировать, что распознается только устойчивая речевая активность. Значение по умолчанию для Minimum Speech Duration составляет 300 миллисекунд.

Set Minimum Speech Duration node

Длительность тишины

Параметр Silence Duration определяет продолжительность тишины, необходимую для срабатывания события окончания речи. Это предотвращает преждевременное завершение детекции речи во время естественных пауз между словами или предложениями. Значение по умолчанию для Silence Duration составляет 500 миллисекунд.

Set Silence Duration node

Привязка к делегатам речи

Вы можете привязываться к конкретным делегатам при начале или завершении речи. Это полезно для активации пользовательского поведения на основе речевой активности, например, запуска или остановки распознавания текста или регулировки громкости других аудиоисточников.

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

Сравнение провайдеров VAD

Default VAD (libfvad)

Преимущества:

  • Легковесный и эффективный
  • Работает на всех платформах
  • Минимальное использование ресурсов
  • Подходит для мобильных и маломощных устройств

Лучше всего подходит для:

  • Простого детектирования голоса в тихих условиях
  • Мобильных приложений
  • Проектов, где приоритетом является производительность
  • Когда требуется универсальная поддержка платформ