Nodes/ComfyUI-HMT-Ultimate/VieNeu List Voices
ComfyUI Node

VieNeu List Voices

See every VieNeu voice before you pick one

By tuyenhm68·Created 8 months ago·Updated 8 months ago· 2
VieNeu List Voices
    • voices_list

    This is the helper node of the ComfyUI-HMT-Ultimate pack, and it does exactly one thing: dumps every preset Vietnamese voice the VieNeu TTS engine knows about. No inputs, no settings - you add it to the canvas, run it, and get a plain text list back. It's the "show me what I'm working with" node you run once before you start picking voices for the actual TTS nodes.

    Why it's useful (more than it looks)

    The preset-voice node builds its dropdown live from the SDK, so normally you don't need this. But the dropdown can silently fall back to a short hardcoded list if the SDK hiccups at node-creation time - and the full voice set still works. That's where this node earns its keep: run it, and you see the real list, formatted as name (ID: id) lines. Grab the exact ID from the output and drop it into the TTS node's custom_voice_id field to sidestep a stale or fallback dropdown entirely.

    It's also just a fast way to survey the voices - 21 of them, named ones like Minh Đức, Trúc Ly, and Ngọc Linh - before committing any text to a voice.

    How it works

    VieNeu List Voices is an output node (OUTPUT_NODE in the source), so its single voices_list string shows up in the UI when you run it, and the same list is printed to the ComfyUI console. It asks the shared VieNeu engine for list_preset_voices() and joins the result into one string.

    Two mechanism notes, both worth knowing. First, it shares the pack's lazy singleton engine with the TTS nodes - so the first ever run still triggers the one-time model download, even though this node "only" lists voices. Second, unlike the preset-voice node, adding it to the canvas does not initialize the engine; that only happens when you execute it. So it's the cheapest node in the pack to drop in and run.

    Installing and using it

    Same pack, same install as the other two nodes:

    cd ComfyUI/custom_nodes
    git clone https://github.com/tuyenhm68/ComfyUI-HMT-Ultimate.git
    cd ComfyUI-HMT-Ultimate
    python install.py
    

    Or just use ComfyUI Manager and search "ComfyUI-HMT-Ultimate". Restart, then look under HMT Ultimate/Audio. You can leave this node in your workflow as a permanent canary - it costs nothing on idle, and it's the fastest way to tell whether the SDK connection is healthy. When it throws an error string instead of a voice list, you know the engine itself is the problem, not your workflow.

    CategoryHMT Ultimate/Audio

    Inputs (0)

    No inputs

    Outputs (1)

    NameTypeDescription
    voices_listSTRING