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

Как использовать плагин

Плагин Runtime Speech Recognizer разработан для распознавания слов из входящих аудиоданных. Он использует немного модифицированную версию whisper.cpp для работы с движком. Чтобы использовать плагин, выполните следующие шаги:

Со стороны редактора

  1. Выберите подходящие языковые модели для вашего проекта, как описано здесь.

Сторона выполнения

  1. Создайте распознаватель речи и задайте необходимые параметры (CreateSpeechRecognizer, параметры см. здесь).
  2. Привяжитесь к нужным делегатам (OnRecognitionFinished, OnRecognizedTextSegment и OnRecognitionError).
  3. Запустите распознавание речи (StartSpeechRecognition).
  4. Обработайте аудиоданные и дождитесь результатов от делегатов (ProcessAudioData).
  5. Остановите распознаватель речи, когда это необходимо (например, после широковещательной передачи OnRecognitionFinished).

Плагин поддерживает входящий звук в формате с плавающей запятой 32-битный чередующийся PCM. Хотя он хорошо работает с Runtime Audio Importer, он не зависит непосредственно от него.

Параметры распознавания

Плагин поддерживает распознавание аудиоданных как в потоковом, так и в непотоковом режиме. Чтобы настроить параметры распознавания для вашего конкретного использования, вызовите SetStreamingDefaults или SetNonStreamingDefaults. Кроме того, у вас есть возможность вручную установить отдельные параметры, такие как количество потоков, размер шага, необходимость перевода входного языка на английский и использование предыдущего транскрипта. Ознакомьтесь со Списком параметров распознавания для полного перечня доступных параметров.

Улучшение производительности

Пожалуйста, обратитесь к разделу Как улучшить производительность для получения советов по оптимизации производительности плагина.

Распознавание голосовой активности (VAD)

При обработке аудиовхода, особенно в потоковом режиме, рекомендуется использовать Распознавание голосовой активности (VAD) для фильтрации пустых или содержащих только шум аудиосегментов до их передачи распознавателю. Эта фильтрация может быть включена на стороне capturable sound wave с использованием плагина Runtime Audio Importer, что помогает предотвратить попытки языковых моделей найти паттерны в шуме и генерировать неверные транскрипции. Для получения подробных инструкций по конфигурации VAD обратитесь к документации по распознаванию голосовой активности.

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

Примеры

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

Эти примеры иллюстрируют, как использовать плагин Runtime Speech Recognizer с потоковым и непотоковым вводом аудио, используя Runtime Audio Importer для получения аудиоданных в качестве примера. Обратите внимание, что для доступа к тем же функциям импорта аудио, которые демонстрируются в примерах (например, capturable sound wave и ImportAudioFromFile), требуется отдельная загрузка RuntimeAudioImporter. Эти примеры предназначены только для иллюстрации основной концепции и не включают обработку ошибок.

Потоковый ввод аудио

Этот пример захватывает аудиоданные с микрофона как поток, используя Capturable sound wave, и передает их распознавателю речи. Копируемые ноды.

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

Более обширный пример

Непотоковый ввод аудио

Этот пример импортирует аудиоданные в Imported sound wave и распознает все аудиоданные после импорта. Копируемые ноды.