Views
No views yet
piper-tts/ folder can be used directly with Piper TTSsherpa-onnx/ folder compatible with Sherpa ONNX
tokens.txt filepip install piper-tts1pip install piper-tts
2pip uninstall -y onnxruntime
3pip install onnxruntime-gpu # cuda 13
4# pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/config.json file1import wave
2from piper import PiperVoice, SynthesisConfig
3
4TTS = PiperVoice.load("piper-tts/ngocngan3701.onnx", config_path="piper-tts/config.json") # use_cuda=True
5CONF = SynthesisConfig(noise_scale=1., noise_w_scale=1.) # add more variation
6
7text = "Mẹ tôi đang ngồi bên hiên nhà, vừa đan chiếc áo len màu xanh, vừa lắng nghe tiếng mưa rơi tí tách trên mái tôn."
8with wave.open("output.wav", mode="wb") as wav_file:
9 TTS.synthesize_wav(text, wav_file, syn_config=CONF)1import sounddevice as sd
2from piper.voice import PiperVoice, SynthesisConfig
3
4TTS = PiperVoice.load("piper-tts/ngocngan3701.onnx", config_path="piper-tts/config.json") # use_cuda=True
5
6# set up audio stream configuration
7dummy_chunk = next(TTS.synthesize("Xin chào"))
8stream = sd.OutputStream(
9 samplerate=dummy_chunk.sample_rate,
10 channels=dummy_chunk.sample_channels,
11 dtype=dummy_chunk.audio_float_array.dtype
12)
13stream.start()
14
15text = "Mẹ tôi đang ngồi bên hiên nhà, vừa đan chiếc áo len màu xanh, vừa lắng nghe tiếng mưa rơi tí tách trên mái tôn."
16for chunk in TTS.synthesize(text):
17 stream.write(chunk.audio_float_array)
18
19stream.stop()
20stream.close()onnxruntime-openvino depends on python up to v3.13 and openvino up to v2025.4.11pip install piper-tts
2pip uninstall -y onnxruntime
3pip install openvino==2025.4.1 onnxruntime-openvino1import onnxruntime.tools.add_openvino_win_libs as utils
2utils.add_openvino_libs_to_path()1import json
2import wave
3import onnxruntime as ort
4from piper import PiperVoice, PiperConfig, SynthesisConfig
5
6_ONNX_FILE = "piper-tts/ngocngan3701.onnx"
7
8with open(_ONNX_FILE + ".json", mode="r", encoding="utf-8") as config_file:
9 _PIPER_CONFIG = PiperConfig.from_dict(json.load(config_file))
10
11_SESSION = ort.InferenceSession(
12 _ONNX_FILE,
13 providers=["OpenVINOExecutionProvider"],
14 provider_options=[{"device_type": "HETERO:GPU,CPU"}]
15) # for more options see https://onnxruntime.ai/docs/execution-providers/OpenVINO-ExecutionProvider.html
16
17PIPER = PiperVoice(config=_PIPER_CONFIG, session=_SESSION)
18CONF = SynthesisConfig(noise_scale=1., noise_w_scale=1.)
19
20text = "Mẹ tôi đang ngồi bên hiên nhà, vừa đan chiếc áo len màu xanh, vừa lắng nghe tiếng mưa rơi tí tách trên mái tôn."
21with wave.open("output.wav", mode="wb") as wav_file:
22 PIPER.synthesize_wav(text, wav_file, syn_config=CONF)pip install sherpa-onnx onnxruntime1pip install sherpa-onnx --find-link https://k2-fsa.github.io/sherpa/onnx/cuda.html
2pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/tokens.txt file, also download and untar https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/espeak-ng-data.tar.bz21import sherpa_onnx as so
2import soundfile as sf
3
4TTS = so.OfflineTts(config=so.OfflineTtsConfig(model=so.OfflineTtsModelConfig(
5 vits=so.OfflineTtsVitsModelConfig(
6 model="sherpa-onnx/ngocngan3701.onnx",
7 tokens="sherpa-onnx/tokens.txt",
8 data_dir="espeak-ng-data"
9 ),
10 # provider="cuda"
11)))
12
13audio = TTS.generate("Mẹ tôi đang ngồi bên hiên nhà, vừa đan chiếc áo len màu xanh, vừa lắng nghe tiếng mưa rơi tí tách trên mái tôn.")
14sf.write("output.wav", audio.samples, samplerate=audio.sample_rate, subtype="PCM_16")