본문으로 건너뛰기

플러그인 사용 방법

Runtime Text To Speech 플러그인은 다운로드 가능한 음성 모델을 사용하여 텍스트를 음성으로 합성합니다. 이러한 모델들은 에디터 내 플러그인 설정에서 관리되며, 다운로드 후 런타임 사용을 위해 패키징됩니다. 시작하려면 아래 단계를 따르세요.

에디터 측면

여기에 설명된 대로 프로젝트에 적합한 음성 모델을 다운로드하세요. 동시에 여러 음성 모델을 다운로드할 수 있습니다.

런타임 측면

CreateRuntimeTextToSpeech 함수를 사용하여 합성기를 생성하세요. 가비지 컬렉션으로부터 보호하기 위해 (예: Blueprints에서 별도의 변수로 또는 C++의 UPROPERTY로) 해당 참조를 유지해야 합니다.

Blueprints에서 Runtime Text To Speech 합성기 생성 예시

합성기가 생성되면 다음 함수 중 하나를 호출하여 텍스트를 합성할 수 있습니다:

  • Text To Speech (By Name) (TextToSpeechByName C++에서)
  • Text To Speech (By Object) (TextToSpeechByObject C++에서)

By Name

Text To Speech (By Name) 함수는 UE 5.4부터 Blueprint에서 더 편리합니다. 이 함수는 다운로드된 모델 목록의 드롭다운에서 보이스 모델을 선택할 수 있게 해줍니다. UE 5.3 이하 버전에서는 이 드롭다운이 나타나지 않으므로, 이전 버전을 사용하는 경우 GetDownloadedVoiceModels에서 반환된 보이스 모델 배열을 수동으로 순회하여 필요한 모델을 선택해야 합니다.

Blueprint에서 Text To Speech by Name 사용 예시

객체 기준

Text To Speech (By Object) 함수는 모든 버전의 Unreal Engine에서 작동하지만 음성 모델을 에셋 참조 드롭다운 목록으로 표시하기 때문에 덜 직관적입니다. 이 방법은 UE 5.3 이하 버전에서 이상적이거나, 프로젝트에서 어떤 이유로든 음성 모델 에셋에 대한 직접 참조가 필요한 경우에 적합합니다.

Blueprint에서 객체 기준 Text To Speech 사용 예시

모델을 다운로드했지만 보이지 않는 경우, Voice Model 드롭다운을 열고 설정(기어 아이콘)을 클릭한 후 Show Plugin ContentShow Engine Content를 모두 활성화하여 모델을 표시할 수 있습니다.

스피커 선택

두 Text To Speech 함수는 선택적 스피커 ID 매개변수를 허용하며, 이는 여러 스피커를 지원하는 음성 모델로 작업할 때 유용합니다. GetSpeakerCountFromVoiceModel 또는 GetSpeakerCountFromModelName 함수를 사용하여 선택한 음성 모델이 여러 스피커를 지원하는지 확인할 수 있습니다. 여러 스피커가 사용 가능한 경우, Text To Speech 함수를 호출할 때 원하는 스피커 ID를 지정하기만 하면 됩니다. 일부 음성 모델은 광범위한 다양성을 제공합니다 - 예를 들어 English LibriTTS900명 이상의 다양한 스피커 중에서 선택할 수 있습니다.

재생

On Speech Result 델리게이트는 합성된 오디오를 float 형식의 PCM 데이터(Blueprint에서는 바이트 배열, C++에서는 TArray<uint8>)로 제공하며, Sample RateNum Of Channels도 함께 제공합니다. 이 데이터를 필요에 따라 처리할 수 있습니다.

재생을 위해서는 Runtime Audio Importer 플러그인을 사용하여 원시 오디오 데이터를 재생 가능한 사운드 웨이브로 변환하는 것이 권장됩니다. 그러나 이는 선택 사항이며, 원시 PCM 오디오 데이터를 원하는 솔루션으로 처리할 수도 있습니다.

Runtime Audio Importer를 사용하려면 Import Audio From RAW BufferRAW Buffer(On Speech Result 델리게이트에서 가져옴), Sample Rate, Num Of Channels과 함께 호출하여 사운드 웨이브를 생성합니다.

사운드 웨이브를 얻은 후에는 Unreal Engine의 일반적인 사운드 웨이브처럼 사용할 수 있습니다 - 재생, 세이브 게임 파일에 저장, 또는 추가 처리 등이 가능합니다.

다음은 텍스트를 합성하고 오디오를 재생하기 위한 Blueprint 노드의 예시입니다 (복사 가능한 노드):

Runtime Audio Importer 플러그인은 오디오 데이터를 파일로 내보내기, SoundCue 또는 MetaSound로 전달하기 등의 추가 기능도 제공합니다. 자세한 내용은 Runtime Audio Importer 문서를 참조하세요.