Skip to content

Latest commit

 

History

History
 
 

kokoro.js

Kokoro TTS

NPM NPM Downloads jsDelivr Hits License Demo

Kokoro is a frontier TTS model for its size of 82 million parameters (text in/audio out). This JavaScript library allows the model to be run 100% locally in the browser thanks to 🤗 Transformers.js. Try it out using our online demo!

Usage

First, install the kokoro-js library from NPM using:

npm i kokoro-js

You can then generate speech as follows:

import { KokoroTTS } from "kokoro-js";

const model_id = "onnx-community/Kokoro-82M-v1.0-ONNX";
const tts = await KokoroTTS.from_pretrained(model_id, {
  dtype: "q8", // Options: "fp32", "fp16", "q8", "q4", "q4f16"
  device: "wasm", // Options: "wasm", "webgpu" (web) or "cpu" (node). If using "webgpu", we recommend using dtype="fp32".
});

const text = "Life is like a box of chocolates. You never know what you're gonna get.";
const audio = await tts.generate(text, {
  // Use `tts.list_voices()` to list all available voices
  voice: "af_heart",
});
audio.save("audio.wav");

Voices/Samples

Tip

You can find samples for each of the voices in the model card on Hugging Face.

American English

Name Traits Target Quality Training Duration Overall Grade
af_heart 🚺❤️ A
af_alloy 🚺 B MM minutes C
af_aoede 🚺 B H hours C+
af_bella 🚺🔥 A HH hours A-
af_jessica 🚺 C MM minutes D
af_kore 🚺 B H hours C+
af_nicole 🚺🎧 B HH hours B-
af_nova 🚺 B MM minutes C
af_river 🚺 C MM minutes D
af_sarah 🚺 B H hours C+
af_sky 🚺 B M minutes 🤏 C-
am_adam 🚹 D H hours F+
am_echo 🚹 C MM minutes D
am_eric 🚹 C MM minutes D
am_fenrir 🚹 B H hours C+
am_liam 🚹 C MM minutes D
am_michael 🚹 B H hours C+
am_onyx 🚹 C MM minutes D
am_puck 🚹 B H hours C+
am_santa 🚹 C M minutes 🤏 D-

British English

Name Traits Target Quality Training Duration Overall Grade
bf_alice 🚺 C MM minutes D
bf_emma 🚺 B HH hours B-
bf_isabella 🚺 B MM minutes C
bf_lily 🚺 C MM minutes D
bm_daniel 🚹 C MM minutes D
bm_fable 🚹 B MM minutes C
bm_george 🚹 B MM minutes C
bm_lewis 🚹 C H hours D+