zh_CN-huayan-medium
zh_CN-huayan-medium is a Mandarin Chinese (中文) voice for the Piper
engine, and Quick TTS runs it free in your browser with nothing uploaded. This page is
the honest version: what tier it is, what sits beneath it when your device cannot load
it, what the alternative on Mandarin Chinese is, and where it falls short.
What this voice actually is
| Fact | Value |
|---|---|
| Voice ID | zh_CN-huayan-medium |
| Engine | Piper, running as WebAssembly in your browser |
| Language | Mandarin Chinese (中文) |
| Quality tier | medium, the tier Quick TTS treats as the default everywhere, and the best quality-per-megabyte Piper offers |
| Preselected? | Yes. This is the voice Quick TTS starts on when you choose Piper on Mandarin Chinese. |
| Needs a GPU? | No. Piper is the engine that runs without one. |
| Step-down tier | None. This voice is single-rung, so a device that cannot load it falls back to the browser engine rather than stepping down to a smaller model. |
| Also available in HD? | No. Supertonic ships no Mandarin Chinese support, so this is the only neural Mandarin Chinese voice here. |
| Integrity | SHA-256 pinned. Weights are rejected unless their hash matches the pin, on every host we fetch from. |
What is worth knowing about it
This is the only neural Chinese voice Quick TTS can play at all. Supertonic ships fifteen languages and Chinese is the one it leaves out, and Kokoro is English-only here, so for Mandarin the choice is this voice or your operating system's built-in one. Every other language in this cluster has a second neural option; Chinese does not.
There is also no step-down tier: zh_CN-huayan-x_low exists in the catalog but
throws OrtRun ERROR_CODE 2 at inference in the pinned release, so it is not
shipped. Mandarin text is additionally chunked at 120 characters rather than 300, because a
Chinese character carries far more speech than a Latin one.
It is the only selectable Mandarin Chinese Piper voice
Mandarin Chinese ships exactly one Piper voice in Quick TTS. That is an upstream constraint rather than an editorial one: the voices that exist in the catalog but are not offered here either fail at inference in the pinned release or do not exist at all. We would rather hide a voice than offer one that fails on the play click.
What happens when your device cannot load it
Piper's real failure mode is memory, not speed. The model has to allocate an ONNX session, and on weak or GPU-less hardware that allocation is the thing that fails. Quick TTS handles it in two layers, and both are automatic:
- Before the download. A device reporting 4GB of memory or less starts on the smallest available tier instead of the default, so it never pulls the large model only to fail on it. Below 2GB, Piper is hidden entirely rather than offered and then failing.
- After a failure. Mandarin Chinese has no smaller working model, so there is nothing to step down to. The remainder of the text is handed back to the browser's built-in speech engine instead.
How to use it
Open quick-tts.com/zh-cn/,
switch the engine dropdown to Piper, and choose zh_CN-huayan-medium from the voice
list. The neural voice list follows the page language, so Mandarin Chinese voices appear on
the Mandarin Chinese page rather than on the English root.
Speed, volume and voice can all be changed mid-read and the current passage
replays under the new settings without starting over. Switching the engine
itself stops playback, so you press play once to start the new one. There is no
mid-read handover of the remaining text between engines.
The first play click downloads the model once and caches it; afterwards it starts immediately and keeps working offline.
Nothing you paste is uploaded
Piper runs as WebAssembly inside your own browser tab. The model is downloaded once and cached; after that, the text you paste is turned into audio on your machine and never sent anywhere. That is an architectural property rather than a policy promise: the test is that generation keeps working with your network disconnected once the model has loaded.
Common questions
What is zh_CN-huayan-medium?
It is a Mandarin Chinese neural text-to-speech voice for the Piper engine, at the medium quality tier. Quick TTS runs it as WebAssembly inside your browser, so it needs no GPU and no account, and the text you paste is never uploaded.
Is zh_CN-huayan-medium free?
Yes. There is no account, no character limit and no watermark. The model downloads once to your browser and then runs on your own device, so there is no per-character server cost to meter.
Do I need a GPU to use zh_CN-huayan-medium?
No. Piper runs on WebAssembly and works on machines with no usable GPU at all, which is why it is the most-selected engine here. On Mandarin Chinese there is no GPU-only alternative, because Supertonic ships no Mandarin Chinese support.
How do I select zh_CN-huayan-medium in Quick TTS?
Open quick-tts.com/zh-cn/, switch the engine dropdown to Piper, and pick it from the voice list. The neural voice list follows the page language, so you need the Mandarin Chinese page to see Mandarin Chinese voices.
Can I download the audio from zh_CN-huayan-medium?
Yes, as WAV or MP3, generated on your device. Anything past roughly 20,000 characters is packaged as a ZIP of audio parts so that memory stays bounded on long documents.
Read next
- Every Piper voice we ship, ranked: the same voices side by side, with what each one is good at.
- Mandarin Chinese text to speech in the browser: the whole engine picture for Mandarin Chinese, not just Piper.
- All 16 selectable Piper voices
- What "in-browser TTS" actually means