본문으로 건너뛰기

플러그인 사용 방법

Runtime Speech Recognizer 플러그인은 들어오는 오디오 데이터에서 단어를 인식하도록 설계되었습니다. 엔진과 함께 작동하도록 whisper.cpp의 약간 수정된 버전을 사용합니다. 플러그인을 사용하려면 다음 단계를 따르십시오:

에디터 측

  1. 여기에서 설명한 대로 프로젝트에 적합한 언어 모델을 선택합니다.

런타임 측

  1. Speech Recognizer를 생성하고 필요한 매개변수를 설정합니다 (CreateSpeechRecognizer, 매개변수는 여기에서 확인하세요).
  2. 필요한 델리게이트에 바인딩합니다 (OnRecognitionFinished, OnRecognizedTextSegment, OnRecognitionError).
  3. 음성 인식을 시작합니다 (StartSpeechRecognition).
  4. 오디오 데이터를 처리하고 델리게이트에서 결과를 기다립니다 (ProcessAudioData).
  5. 필요할 때 Speech Recognizer를 중지합니다 (예: OnRecognitionFinished 방송 후).

플러그인은 floating point 32-bit interleaved PCM format의 오디오를 지원합니다. Runtime Audio Importer와 잘 작동하지만, 직접적으로 의존하지는 않습니다.

인식 매개변수

플러그인은 스트리밍 및 비스트리밍 오디오 데이터 인식을 모두 지원합니다. 특정 사용 사례에 맞게 인식 매개변수를 조정하려면 SetStreamingDefaults 또는 SetNonStreamingDefaults를 호출하십시오. 추가로, 스레드 개수, 스텝 크기, 들어오는 언어를 영어로 번역할지, 과거의 전사를 사용할지와 같은 개별 매개변수를 수동으로 설정할 수 있는 유연성을 제공합니다. 사용 가능한 매개변수의 전체 목록은 Recognition Parameter List를 참조하십시오.

성능 향상

플러그인의 성능을 최적화하는 방법에 관한 팁은 How to improve performance 섹션을 참조하십시오.

음성 활동 감지 (VAD)

특히 스트리밍 시나리오에서 오디오 입력을 처리할 때, 인식기에 도달하기 전에 빈 오디오 세그먼트 또는 소음만 있는 세그먼트를 필터링하기 위해 Voice Activity Detection(VAD)을 사용하는 것이 권장됩니다. 이 필터링은 Runtime Audio Importer 플러그인에서 capturable sound wave 측에서 활성화할 수 있으며, 이를 통해 언어 모델이 소음에서 패턴을 찾으려고 하여 잘못된 전사를 생성하는 것을 방지할 수 있습니다. VAD 설정에 대한 자세한 지침은 Voice Activity Detection 문서를 참조하십시오.

플러그인에 포함된 데모 프로젝트에서는 기본적으로 VAD가 활성화되어 있습니다. 데모 구현에 대한 자세한 정보는 Demo Project에서 확인할 수 있습니다.

예시

플러그인의 Content -> Demo 폴더에 포함된 좋은 프로젝트 데모가 있으며, 이를 구현 예시로 사용할 수 있습니다.

이 예제들은 Runtime Audio Importer를 사용하여 오디오 데이터를 얻는 예제를 통해 스트리밍 및 비스트리밍 오디오 입력에서 Runtime Speech Recognizer 플러그인을 사용하는 방법을 보여줍니다. 이러한 예제 집합을 통해 같은 오디오 가져오기 기능을 사용하려면 별도로 RuntimeAudioImporter를 다운로드해야 한다는 점을 참고하세요 (예: capturable sound wave 및 ImportAudioFromFile). 이러한 예제들은 핵심 개념을 설명하기 위한 것이며 오류 처리가 포함되어 있지 않습니다.

스트리밍 오디오 입력

이 예제는 Capturable sound wave를 사용하여 마이크로부터 오디오 데이터를 스트림으로 캡처하고 이를 Speech Recognizer에 전달합니다. 복제 가능한 노드.

참고: UE 5.3 및 다른 버전에서, 특정 노드를 복사할 때 Blueprints에서 누락되는 상황을 겪을 수 있습니다. 이는 엔진 버전 간 노드의 직렬화/역직렬화 방식의 차이로 인해 발생할 수 있습니다. 모든 노드가 올바르게 연결되었는지 두 번 확인하여 기능이 제대로 작동하는지 확인하십시오.

더 확장된 예제

비스트리밍 오디오 입력

이 예제는 오디오 데이터를 Imported sound wave로 가져오고, 가져온 후 전체 오디오 데이터를 인식합니다. 복제 가능한 노드.