← All Piper voices

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

FactValue
Voice IDnl_NL-mls-medium
EnginePiper, running as WebAssembly in your browser
LanguageDutch (Nederlands)
Quality tiermedium, 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 tierYes. 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.
IntegritySHA-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:

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

Try nl_NL-mls-medium now →