Local speech recognition & synthesis
Last updated
Generate Korean speech on CPU with Supertonic 3
Provide text, Korean code `ko`, and an included preset to generate a WAV.
Supertonic 3 is an on-device TTS1 system for 31 languages. Its public ONNX assets run on a CPU2, and the included M1–M5 and F1–F5 voice presets can synthesize Korean into a WAV. Custom voice styles use a separate Voice Builder service path.
Start CPU synthesis from the archived public model
Supertonic 3 is a multilingual TTS system that takes text and a language code to create speech. Its public model files run with ONNX Runtime3; set Korean to ko and a bundled voice preset to save a WAV. The model card lists 31 languages, including Korean, English, and Japanese. Supertonic 3 model card
The public repository was archived on September 9, 2026, and code changes and support have stopped. The steps below download the archived repository at its current revision and a pinned revision of the model assets.

Prepare the pinned model files
You need Python 3.11 and Git. The commands below are for macOS and Linux terminals; code comes from the archived default branch, while the model-file revision is pinned.
git clone https://github.com/supertone-oss-archive/supertonic.git
cd supertonic
python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install huggingface_hub
hf download supertone-oss-archive/supertonic-3 --revision aafc6e32416a594460b32413efc49d7fe4ce6d46 --local-dir assetsGenerate a Korean WAV and try another preset
Install the ONNX example dependencies in the same environment and run the synthesis command from the py/ folder. The example defaults to M1, but the command names the preset file explicitly. --lang ko tells it that the input text is Korean.
python -m pip install -r py/requirements.txt
cd py
python example_onnx.py --n-test 1 --text "오늘 회의는 오후 두 시에 시작합니다." --lang ko --voice-style ../assets/voice_styles/M1.jsonThe measurement used an Apple M4 CPU, ONNX Runtime 1.23.1 CPUExecutionProvider, F3, 8 steps, speed 1.05, and seed 42. Each language had one warm-up followed by three runs; only the tts() call after model loading was timed.
For about 12 seconds of Korean speech, the median synthesis call took 2.30 seconds. This value excludes model download and loading, WAV saving, and MP3 encoding. Listen to the public sample, then generate your own text on the CPU to check the result. Measurement conditions and data
On success, a WAV whose filename includes part of the text appears under py/results/. Listen for numbers, product names, and sentence endings. To try another voice, replace M1.json with a file such as F3.json from assets/voice_styles/. If no file appears, inspect the first terminal error and the py/results/ folder.
Scroll sideways to compare all columns.
| Language | Audio duration | Median tts() | RTF |
|---|---|---|---|
| Korean | 12.04 s | 2.299 s | 0.191 |
| English | 11.15 s | 2.215 s | 0.199 |
| Japanese | 14.64 s | 2.943 s | 0.201 |

Separate preset voices from custom voice styles
The public model assets include ten preset voice styles, M1–M5 and F1–F5. They let you select a voice included with the model. Keep the same text and language, then change only the --voice-style path to compare the presets' pronunciation and pace.
Voice Builder was a separate service for creating a user style from a reference recording, and it is not included in the archived repository. For this local example, choose one of the M1–F5 presets. Get permission before imitating another person's voice.
Review the code and model licenses separately
The example code uses the MIT license, while the model weights use OpenRAIL-M. Review the terms for modifying or distributing the software separately from the terms applying to the model weights and generated output. The repository and model card link to their license texts.
Generate the amount of speech you plan to use on the CPU and listen for numbers, names, and sentence endings. To run it in a browser, start the development server using the local example in the archived repository's web/README.md.

Terminology notes
Text-to-Speech — Technology that converts text into spoken audio with pronunciation and prosody.
Back to the textCPU — The central processor that runs the operating system and general-purpose instructions; in AI workloads it also handles tasks such as preprocessing and data movement.
Back to the textRuntime — The software environment that provides facilities needed while a program runs. In local AI, it can also refer to a model execution engine.
Back to the text
Frequently asked questions
- What should you check first in this article?
- Supertonic 3 is an on-device TTS system for 31 languages. Its public ONNX assets run on a CPU, and the included M1–M5 and F1–F5 voice presets can synthesize Korean into a WAV. Custom voice styles use a separate Voice Builder service path.
- Where can you check the conditions and sources?
- Supertonic 3 is a multilingual TTS system that takes text and a language code to create speech. Its public model files run with ONNX Runtime; set Korean to `ko` and a bundled voice preset to save a WAV. The model card lists 31 languages, including Korean, English, and Japanese. [Supertonic 3 model card](https://huggingface.co/supertone-oss-archive/supertonic-3)
Read next
Local speech recognition & synthesis
Make speech on your own computer: a local TTS guide
Local speech recognition & synthesis
Compare local TTS models: languages, hardware and speed evidence
Local speech recognition & synthesis
What is Qwen3-TTS? Turn text into speech on your computer
Local speech recognition & synthesis
Transcribe Korean speech live and save text with Nemotron 3.5 ASR
