Disclosure
I'm the author of VieNeu-TTS. I want to be upfront about that — this is a proposal with an obvious conflict of interest, so please weigh it on the technical merits and feel free to push back. I'm not trying to advertise; I genuinely think it could be a good fit for underthesea's tts() pipeline and I'm happy to do the integration work myself.
Context
underthesea exposes tts(text) as a first-class Vietnamese NLP pipeline, currently backed by viettts. I'd like to propose VieNeu-TTS as an alternative (or additional) backend, and discuss whether it's something the maintainers would be open to.
Why VieNeu-TTS might be a good fit for underthesea users
- CPU-first, torch-free path. The minimal install runs entirely on ONNX Runtime — PyTorch is never imported. A lot of underthesea users run in CPU-only / lightweight environments (servers, notebooks, edge), so a high-quality TTS that doesn't require a GPU or a heavy torch stack matters here. On a CUDA machine it auto-switches to a PyTorch engine.
- Natural prosody. v2 is trained on 10,000+ hours of bilingual (Vi-En) data; the latest v3 Turbo is a from-scratch 48 kHz architecture with built-in default voices (no reference clip needed).
- Emotion / non-verbal cues (experimental): inline tags like
[cười], [thở dài], [hắng giọng] directly in the text.
- Bilingual Vi-En code-switching via sea-g2p.
- Instant voice cloning from 3–5s of reference audio.
- License: Apache-2.0 — both the code and the model weights. This matches underthesea's recent switch to Apache-2.0, so there's no licensing blocker.
Minimal usage
pip install vieneu # torch-free; runs v3 Turbo on CPU via ONNX Runtime
from vieneu import Vieneu
tts = Vieneu() # default = v3 Turbo, 48 kHz
audio = tts.infer("Xin chào, đây là VieNeu-TTS.")
tts.save(audio, "output.wav")
The API surface is small and could sit behind the existing tts(text) signature without changing it.
What I'm proposing
- Discuss whether the maintainers are open to VieNeu-TTS as a backend for
tts() (as a replacement for, or option alongside, viettts).
- If yes, I'm happy to open the PR myself — an adapter that keeps the public
tts(text) API identical, with VieNeu as an optional/selectable backend so existing users aren't broken.
Open questions for maintainers
- Replace the existing
viettts backend, or add VieNeu as an opt-in backend (e.g. tts(text, backend="vieneu"))?
- Any constraints on dependency footprint for the default
pip install underthesea? (VieNeu can install fully torch-free, which helps here.)
- Preference for a benchmark before deciding — CPU latency / RTF / sample audio, viettts vs VieNeu? I can put one together.
Thanks for considering, and thanks for underthesea — happy to adjust the scope however works best for the project.
Links: GitHub · Hugging Face
Disclosure
I'm the author of VieNeu-TTS. I want to be upfront about that — this is a proposal with an obvious conflict of interest, so please weigh it on the technical merits and feel free to push back. I'm not trying to advertise; I genuinely think it could be a good fit for underthesea's
tts()pipeline and I'm happy to do the integration work myself.Context
underthesea exposes
tts(text)as a first-class Vietnamese NLP pipeline, currently backed byviettts. I'd like to propose VieNeu-TTS as an alternative (or additional) backend, and discuss whether it's something the maintainers would be open to.Why VieNeu-TTS might be a good fit for underthesea users
[cười],[thở dài],[hắng giọng]directly in the text.Minimal usage
The API surface is small and could sit behind the existing
tts(text)signature without changing it.What I'm proposing
tts()(as a replacement for, or option alongside,viettts).tts(text)API identical, with VieNeu as an optional/selectable backend so existing users aren't broken.Open questions for maintainers
vietttsbackend, or add VieNeu as an opt-in backend (e.g.tts(text, backend="vieneu"))?pip install underthesea? (VieNeu can install fully torch-free, which helps here.)Thanks for considering, and thanks for underthesea — happy to adjust the scope however works best for the project.
Links: GitHub · Hugging Face