Skip to content

Experimental Piper plugin for Unreal via CLI wrapper.

License

Notifications You must be signed in to change notification settings

getnamo/PiperCLI-Unreal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Piper CLI - Unreal

Piper TTS plugin for Unreal via simple CLI wrapper.

How to use

  1. Grab latest release and extract plugins folder into your project root folder.

  2. Download and extract PiperWin64-2023.11.14-2.7z link into ThirdParty/Piper/ in your PiperCli-Unreal plugin root folder.

  3. Download voice model from https://huggingface.co/rhasspy/piper-voices/tree/v1.0.0 e.g. for https://huggingface.co/rhasspy/piper-voices/tree/v1.0.0/en/en_US/joe/medium place en_US-joe-medium.onnx and en_US-joe-medium.onnx.json in your PiperCLI-Unreal/ThirdParty/Piper/Win64/model/ folder.

  4. Start your unreal project

  5. Add Piper component to your actor of choice. Edit PiperParams model model/en_US-joe-medium.onnx

v0.3

  1. Subscribe to OnOutputBytes(Piper) and convert your sound data from PCM to WAV to Unreal SoundWave using e.g. SocketIOClient Plugin's core utility functions https://github.com/getnamo/SocketIOClient-Unreal/blob/master/Source/CoreUtility/Public/CUBlueprintLibrary.h#L90.

v0.4

  1. Subscribe to OnAudioGenerated which output USoundWave* outputs instead of PCM bytes.

  2. Play SoundWave. Optionally use USoundWaveQueueComponent to queue up all the soundwaves being generated faster than real-time and play them back at target world location in sequence.