Downloads · 30 days
10.2K
13% of all-time downloads
NeuML/ljspeech-jets-onnx
ljspeech-jets-onnx is a text-to-speech model from NeuML. Use it when you need text read aloud. It is set up for txtai. The card lists the license as apache-2.0.
imdanboy/jets exported to ONNX. This model is an ONNX export using the espnetonnx library.
Downloads · 30 days
10.2K
13% of all-time downloads
All-time downloads
78.6K
Public
Repo size
133 MB
Likes
24
Public
Click a slice to open those files.
.onnx133 MB · 100%
From the Hugging Face model README
imdanboy/jets exported to ONNX. This model is an ONNX export using the espnet_onnx library.
txtai has a built in Text to Speech (TTS) pipeline that makes using this model easy.
import soundfile as sf
from txtai.pipeline import TextToSpeech
# Build pipeline
tts = TextToSpeech("NeuML/ljspeech-jets-onnx")
# Generate speech
speech, rate = tts("Say something here")
# Write to file
sf.write("out.wav", speech, rate)
This model can also be run directly with ONNX provided the input text is tokenized. Tokenization can be done with ttstokenizer.
Note that the txtai pipeline has additional functionality such as batching large inputs together that would need to be duplicated with this method.
import onnxruntime
import soundfile as sf
import yaml
from ttstokenizer import TTSTokenizer
# This example assumes the files have been downloaded locally
with open("ljspeech-jets-onnx/config.yaml", "r", encoding="utf-8") as f:
config = yaml.safe_load(f)
# Create model
model = onnxruntime.InferenceSession(
"ljspeech-jets-onnx/model.onnx",
providers=["CPUExecutionProvider"]
)
# Create tokenizer
tokenizer = TTSTokenizer(config["token"]["list"])
# Tokenize inputs
inputs = tokenizer("Say something here")
# Generate speech
outputs = model.run(None, {"text": inputs})
# Write to file
sf.write("out.wav", outputs[0], 22050)
More information on how to export ESPnet models to ONNX can be found here.