Nodes/comfyui-kokoro/Kokoro Speaker
ComfyUI Node

Kokoro Speaker

Pick a voice, get a speaker — no API key required

By stavsap·Created 2 years ago·Updated 6 months ago· 66
Kokoro Speaker
    • speaker
    speaker_nameaf_sarah

    Kokoro is the small local TTS model that ComfyUI people suddenly can't stop using for voiceovers and lip-sync. 82 million parameters, runs on CPU, sounds startlingly human, and needs no cloud call and no key. This node is the voice picker for it - a dropdown that turns a voice name into the thing the generator actually needs. That's it. It's the boring node in the pack, and you'll use it every single time.

    The name is a lie in the best way: KokoroSpeaker doesn't speak and doesn't make sound. What it outputs is a KOKORO_SPEAKER - a voice-style embedding, a vector that fingerprints how a voice sounds. The generator uses that vector to color the audio it synthesizes. Think of it as the audio equivalent of a LoRA tag: it doesn't contain the voice, it describes it.

    How it works

    Run the node and it does three things: makes sure the model and voice files exist, loads the Kokoro ONNX model, and grabs the embedding for your chosen voice via get_voice_style. On the very first run it quietly downloads a 325 MB kokoro.onnx plus the voice data into the node's own folder, so the first time anything in this pack runs it stalls on a progress bar. Annoying once, free forever after.

    The input that matters

    One input, one output - the whole node:

    • speaker_name (dropdown, 54 voices, default af_sarah) - the voice.
    • speaker (KOKORO_SPEAKER) - wires into Kokoro Generator (or a combiner).

    The voice list is where the prefix system earns its keep. af_ is American female, am_ American male, bf_/bm_ British, jf_/jm_ Japanese, zf_/zm_ Mandarin, ef_/em_ Spanish, hf_/hm_ Hindi, if_/im_ Italian, pf_/pm_ Brazilian Portuguese, ff_ French. Scan the dropdown, pick the accent you want, done. af_sarah is the safe default everyone starts with.

    Installing it

    Same routine as any pack, and you only do it once:

    cd ComfyUI/custom_nodes
    git clone https://github.com/stavsap/comfyui-kokoro.git
    cd comfyui-kokoro
    pip install -r requirements.txt
    

    Then restart ComfyUI. Or skip all that: ComfyUI Manager, search "Kokoro" by stavsap, install. Dependencies are kokoro-onnx, onnxruntime, numpy, requests, tqdm - nothing exotic, and onnxruntime means it runs on CPU with no GPU needed.

    Where people get burned

    The model download is the whole plot twist. Because it happens lazily inside the node, your first queue of a workflow that uses any Kokoro node can look hung while 325 MB pulls in the background - it's not stuck, let the progress bar finish. And there's no graceful offline path: no internet on first run, no model, no audio.

    Windows portable users have the classic embedded-Python problem. If the install fails or the node won't import, install the requirements into the portable environment's Python, not your system one:

    cd ComfyUI_windows_portable
    python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\comfyui-kokoro\requirements.txt
    

    The README even links a YouTube walkthrough for exactly this. The good news: KokoroSpeaker is the cheap node - once the files are on disk it's a dropdown and an embedding lookup, instant every time.

    Categorykokoro

    Inputs (1)

    NameTypeDefaultDescription
    speaker_nameCOMBOaf_sarah54 options: af_heart, af_alloy, af_aoede, af_bella, af_jessica, af_kore, +48

    Outputs (1)

    NameTypeDescription
    speakerKOKORO_SPEAKER