Nodes/MW-ComfyUI_Dia/DiaTTS Speakers Preview
ComfyUI Node

DiaTTS Speakers Preview

Reuse a saved Dia voice pair without digging out the original clips

By billwuhao·Created about a year ago·Updated about a year ago· 11
DiaTTS Speakers Preview
    • prompt
    • audio_s1
    • audio_s2
    speaker

    What it's for

    This node is the "load your saved cast" button for the Dia TTS pack, not a generator in its own right. It does one job: pick a voice pair you saved earlier, and hand it back to DiaTTSRun so you don't have to re-upload the same two reference clips every time you want another conversation.

    Here's the workflow it's built for. First time out, you load two reference voice clips into DiaTTSRun (the audio_s1 / audio_s2 inputs), write the transcript of those clips in the prompt box, generate, and let it save the speaker pair. Next session, you drag DiaSpeakersPreview in instead of LoadAudio - pick the speaker from the dropdown, and out come the prompt, audio_s1 and audio_s2 that plug straight back into DiaTTSRun. It's the pack's own persistence layer, and it's the difference between treating voices as assets and re-finding audio files.

    How it works

    Mechanically it's simple, which is good. When DiaTTSRun saves a speaker with save_speakers on, it writes three files per speaker id: a .txt holding the transcript and two .wavs for speaker 1 and speaker 2. DiaSpeakersPreview scans for those .txt files, lists them in its speaker dropdown, and on selection reads all three back out. The outputs are exactly what DiaTTSRun wants to see: prompt (the transcript text) into its prompt input, and audio_s1 / audio_s2 into the two audio sockets. One wire each, done.

    The one gotcha

    The gotcha that will trip you up once: the dropdown and the save location are not the same folder in the current code. DiaTTSRun writes saved speakers to ComfyUI/models/TTS/speakers/dialogue_speakers/, but DiaSpeakersPreview builds its dropdown by scanning ComfyUI/models/TTS/Dia-1.6B/speakers/ - a different directory. So a speaker you just saved may not appear in the list, and if you hand-place files you'll want them in the right one. Before you assume the save failed, check both folders; moving the .txt + two .wavs into the other one is the fix. It's a small thing, and it'll probably get reconciled in a future version, but it's worth knowing on day one.

    Install

    Install is the same as the rest of the pack: ComfyUI Manager → search "ComfyUI_Dia", or

    cd ComfyUI/custom_nodes
    git clone https://github.com/billwuhao/ComfyUI_Dia.git
    cd ComfyUI_Dia
    pip install -r requirements.txt
    

    The node itself only reads wavs, but the pack's other half needs the Dia-1.6B model downloaded before any of this is useful, so grab that while you're at it. It's a thin utility node - but if you're generating more than one conversation with the same voices, it's the difference between a reusable cast and a folder full of clip-hunting.

    Category🎤MW/MW-Dia

    Inputs (1)

    NameTypeDefaultDescription
    speakerCOMBO0 options:

    Outputs (3)

    NameTypeDescription
    promptSTRING
    audio_s1AUDIO
    audio_s2AUDIO