nl_NL-mls-medium
nl_NL-mls-medium is a Dutch (Nederlands) 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 Dutch is, and where it falls short.
What this voice actually is
| Fact | Value |
|---|---|
| Voice ID | nl_NL-mls-medium |
| Engine | Piper, running as WebAssembly in your browser |
| Language | Dutch (Nederlands) |
| 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 Dutch. |
| Needs a GPU? | No. Piper is the engine that runs without one. |
| Step-down tier | Yes. nl_NL-mls_5809-low, a step-down tier only: not selectable, and not in the dropdown. Used automatically on a device that cannot load this model. |
| Also available in HD? | Yes. Supertonic HD speaks Dutch at 44.1kHz, on WebGPU only. |
| 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
There is no Flemish model in either neural engine, not in Piper and not in Supertonic. This voice is Netherlands Dutch. That is worth saying because Belgium is a top-20 market for this site, and a Flemish listener is being served a Dutch accent rather than their own.
It is the only selectable Dutch Piper voice
Dutch 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. If this model will not allocate, Quick TTS steps down automatically to
nl_NL-mls_5809-low— a step-down tier, not selectable and not in the dropdown. You cannot choose it by name; it exists only as the automatic landing place when this voice fails.
How to use it
Open quick-tts.com/nl/,
switch the engine dropdown to Piper, and choose nl_NL-mls-medium from the voice
list. The neural voice list follows the page language, so Dutch voices appear on
the Dutch 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 nl_NL-mls-medium?
It is a Dutch 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 nl_NL-mls-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 nl_NL-mls-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. The GPU-only alternative on Dutch is Supertonic HD.
How do I select nl_NL-mls-medium in Quick TTS?
Open quick-tts.com/nl/, 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 Dutch page to see Dutch voices.
Can I download the audio from nl_NL-mls-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.
- Dutch text to speech in the browser: the whole engine picture for Dutch, not just Piper.
- All 16 selectable Piper voices
- What "in-browser TTS" actually means