Nodes/comfyui-supavoice-transcriber/SupaVoice Save Transcript
ComfyUI Node

SupaVoice Save Transcript

Edit your labels, then save them for VoxCPM

By mexxmillion·Created 4 months ago·Updated 4 months ago· 0
SupaVoice Save Transcript
    • transcript
    • txt_path
    transcript
    output_prefixedited_transcript

    Every other node in this pack is about getting a transcript. SupaVoice Save Transcript is about the part everyone skips: fixing it, then committing it. The author's workflow - spelled out in the README - is transcribe, edit the text, save, then feed the saved transcript into VoxCPM prompt/training fields. This node is that "save" step, and it's the simplest thing in the pack.

    What it does

    It takes a transcript string (a multiline text widget, so you can paste or type edits directly), strips the whitespace, and writes it to a .txt file. A .json sidecar with the text also lands next to it, because the other transcribers all produce that pairing and it keeps your dataset directory uniform. Outputs: transcript (the cleaned string, so you can still wire it onward) and txt_path (where it landed).

    The only real input beyond the text is output_prefix, which names the file - default edited_transcript. Set it per-clip or per-speaker and you can keep a tidy dataset folder without a file-naming headache.

    Installing it

    cd ComfyUI/custom_nodes
    git clone https://github.com/mexxmillion/ComfyUI-SupaVoice-Transcriber
    

    Restart ComfyUI. No models, no ffmpeg, no API keys - it's a file writer. Files go to E:\SupaVoiceData\comfy_transcripts by default; set SUPAVOICE_DATA_ROOT to a real path on your machine or you'll get the pack's trademark literal-E:\ folder on Linux.

    The honest take: you don't need this node to do any of that - you could wire a transcript into a text-save utility from another pack. What it buys you is consistency with the pack's own file layout and one less "which node saves text again" moment mid-workflow. If you're building a voice-clone dataset and every label is already flowing through SupaVoice transcribers, this is the tidy endpoint. If you're hand-authoring labels from scratch, a plain text editor does the same job - the node earns its place when it's part of the graph.

    CategorySupaVoice/audio

    Inputs (2)

    NameTypeDefaultDescription
    transcriptSTRING
    output_prefixSTRINGedited_transcript

    Outputs (2)

    NameTypeDescription
    transcriptSTRING
    txt_pathSTRING