Choosing a voice

54 voices, a wide quality spread, and the fastest way to pick one.

Kokoro ships 54 voices. The names encode a language and a gender (af_heart is American female, bm_george is British male), and the quality spread is large, so earmark annotates the list with Kokoro’s own grades.

earmark voices                    # graded, grouped by language
earmark voices --lang b           # British only
earmark voices --all              # including the ones graded D or worse
earmark audio paper.pdf --voice af_bella
American English
  af_heart        A   female   (default)
  af_bella        A-  female
  af_nicole       B-  female
  am_michael      C+  male
  am_puck         C+  male

British English
  bf_emma         B-  female

Voices Kokoro grades D or worse are hidden unless you pass --all. They are bad enough that listing them by default would only waste your time.

Which one

Only two voices are graded A. af_heart is the default and af_bella the runner-up; am_michael or am_puck are the best male voices, and bf_emma the best British one. Everything below B- is noticeably worse on a long listen.

Hear one

Reading a grade table tells you less than three seconds of your own text does, and the model is already on disk:

earmark voices --try af_bella
earmark voices --try bf_emma --text "Whatever you like."

Set a favourite once with earmark config:

voice = "af_bella"
speed = 1.1

A command-line flag always wins over the file, so a one-off stays a one-off.

Speed

--speed takes 0.5 to 2.0, default 1.0. Speeding up in earmark is not the same as speeding up in the player. The model synthesizes at the requested rate, so the result is a voice talking faster rather than a recording played faster. Most podcast apps can do the other thing on top.

Languages

The --lang filter on earmark voices takes a single-letter name prefix: a (American English), b (British English), e, f, h, i, j, p, z. The --lang flag on audio and publish is a different thing: a language code like en-us passed to the model.

The say engine

--engine say uses macOS’s built-in say instead of Kokoro. It is much faster and much worse, and it needs no model download. It is useful for checking that a long document chunks and encodes correctly before committing to a real render.

More

Kokoro’s VOICES.md has the full grade table with training-data volumes, and the official demo Space lets you audition voices in a browser.

All flags: earmark voices.