Local speech recognition & synthesis

Piper in Korean: adding a ko_KR voice to Home Assistant

Korean needs a ko_KR model, and quality is best checked from the samples first.

Piper is a local neural synthesizer that turns sentences into speech. Installed as a Home Assistant app, the Wyoming1 integration finds it, and assigning it in a pipeline2 makes Assist answer in that voice.

Requirements and key details
  • Korean synthesis uses the ko_KR-kss-medium model.
  • Even a Pi 4 generates 1.6 s of speech per second.
  • After install the Wyoming integration discovers it; assign it as the synthesis engine in a pipeline.

Voice models are per language

Piper turns a sentence into phonemes and those phonemes into audio with a neural network. Each language has its own trained model, so Korean text needs a Korean model.

The Korean model is ko_KR-kss-medium, a medium single-speaker voice that balances speed and quality and still runs faster than real time on a Pi 4.

An open book, a small computer, and a speaker sit on a desk by a window.
Korean sentences only read naturally with a Korean model.

Install and wire it into a pipeline

Install and start Piper under Settings > Apps. If the Wyoming integration discovers it, add it as is; otherwise enter the host and port yourself.

Open the pipeline under Voice assistants and set synthesis to the Piper you just added. Leaving transcription alone changes only the voice.

Checking speed and quality

With a medium-quality model on a Pi 4, one second of compute yields 1.6 s of speech. A two-second answer therefore takes about 1.2 s to synthesize, which rarely becomes the bottleneck.

Quality varies most with sentence length and numbers. Play sentences with temperatures or times a few times, and rewrite them in words when the reading sounds off.

A microphone, headphones, and a monitor showing an audio waveform.
Swapping only the synthesis engine changes the voice and leaves transcription alone.

Tuning pronunciation

Spelling numbers out, as 'twenty-three degrees' rather than '23', reads more reliably. Writing abbreviations and device names the way they should sound cuts odd readings.

Short replies reduce both mispronunciations and synthesis time. When a long announcement is needed, split it into two or three sentences read in order.

Switching to another voice

Piper ships several speakers and quality levels per language. Even within Korean, models differ in intonation and pace, so compare samples before switching.

You can keep several pipelines and give each room its own voice. Changing voices makes the same sentence sound different, so keep shared rooms on one voice.

A small computer running a search system beside document stacks
Spelling numbers out and splitting sentences keeps pronunciation steady.

Terminology notes

  1. Wyoming — The protocol Home Assistant and voice services use to exchange audio and text. It has no authentication or encryption, so it is used on trusted networks only.

    Back to the text
  2. Pipeline — A sequence of processing stages from input to output. Different models or tools may be used at each stage.

    Back to the text

Frequently asked questions

What should you check first in this article?
Piper is a local neural synthesizer that turns sentences into speech. Installed as a Home Assistant app, the Wyoming integration finds it, and assigning it in a pipeline makes Assist answer in that voice.