Nodes/comfyui_LLM_party/🖥️GPT-SoVITS
ComfyUI Node

🖥️GPT-SoVITS

Voice cloning inside a ComfyUI graph

By heshengtao·Created 2 years ago·Updated 25 days ago· 2,340
🖥️GPT-SoVITS
    • audio
    • audio_path
    text先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。
    text_langzh
    ref_audio_path
    prompt_text
    prompt_langzh
    text_split_methodcut5
    batch_size1
    media_typewav
    GPT_weights_path
    Sovits_weights_path
    is_enabletrue

    GPT-SoVITS is a real, actively-discussed open-source voice cloning project - it comes up whenever people compare local TTS options against RVC and F5-TTS, and the consistent take is that it's one of the better free options for cloning a specific voice from a short reference clip. This node is comfyui_LLM_party's wrapper around it, and it's aimed squarely at the "one-stop LLM + TTS + ComfyUI" pipeline the README talks about: an LLM writes the script, this node speaks it in a cloned voice, and the rest of your graph (subtitles, video, whatever) picks up from there.

    The mechanism is few-shot voice cloning: you give it a short reference audio clip plus its exact transcript, and it learns to speak new text in that voice. That's what ref_audio_path and prompt_text are for - the audio file and the text it actually says, which need to match closely or the cloning quality falls apart. text is what you actually want spoken (the default is a Chinese sample line, which tells you where this project's primary audience is), and text_lang / prompt_lang tell the model what language each piece of text is in - there's a long list of choices because GPT-SoVITS supports Chinese, English, Japanese, Korean, Cantonese, and mixed-language variants (the all_* options), which is more language coverage than most Western TTS tools bother with. text_split_method (default cut5) controls how your input text gets chunked before synthesis - this affects pacing and where pauses land, so if a long line comes out rushed or oddly broken, try a different cut method. GPT_weights_path and Sovits_weights_path point at the actual trained model checkpoints GPT-SoVITS needs to run - this node doesn't ship those for you, they're a separate download (either the stock GPT-SoVITS base checkpoints or a voice you've fine-tuned yourself), so budget time for that step before you expect this node to produce anything. Outputs are audio (feed straight into a save-audio or video-mux node) and audio_path, the file location on disk if something downstream needs a path rather than the raw audio object.

    Installing it is the standard pack install: search "comfyui_LLM_party" in ComfyUI Manager, or git clone https://github.com/heshengtao/comfyui_LLM_party into custom_nodes and restart, then pip install -r requirements.txt from the pack folder using ComfyUI's own Python. This node in particular pulls in real weight - GPT-SoVITS's own dependencies are not trivial, so expect a heavier install than the pack's text-only nodes, and don't be surprised if it takes longer than everything else in the pack combined.

    A couple of things worth knowing before you lean on this for anything real. GPT-SoVITS's code is MIT-licensed, but the weights themselves don't carry an unambiguous commercial license - it's a live open question in the community rather than a settled one, so if you're shipping cloned audio commercially, verify it yourself instead of assuming MIT covers everything. And the fiddly part is exactly where you'd expect: clone quality lives or dies on the reference clip, so a noisy or too-short sample gives you a worse voice no matter how good the base weights are - grab the cleanest few seconds of the source voice you can find before you blame the model.

    Category大模型派对(llm_party)/音频(audio)

    Inputs (11)

    NameTypeDefaultDescription
    textSTRING先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。
    text_langCOMBOzh11 options: auto, auto_yue, en, zh, ja, yue, +5
    ref_audio_pathSTRING
    prompt_textSTRING
    prompt_langCOMBOzh10 options: auto, en, zh, ja, yue, ko, +4
    text_split_methodCOMBOcut56 options: cut0, cut1, cut2, cut3, cut4, cut5
    batch_sizeINT1
    media_typeCOMBOwav4 options: wav, raw, ogg, aac
    GPT_weights_pathSTRING
    Sovits_weights_pathSTRING
    is_enableBOOLEANtrue

    Outputs (2)

    NameTypeDescription
    audioAUDIO
    audio_pathSTRING