Speakers Preview
Save a voice once, bring it back forever
- prompt
- audio_s1
- audio_s2
Speakers Preview is the pack's "voice library" node. It doesn't generate anything - it reads a previously saved speaker pair from disk and hands you back exactly the three things you'd need to rebuild that conversation: the reference prompt, and the two reference audio clips. In other words, it's the other half of the save button on CSM Dialog Run.
What it does
When CSM Dialog Run runs with save_speakers on, it writes your two reference clips and the prompt into ComfyUI/models/TTS/speakers/dialogue_speakers/ as <id>_1.wav, <id>_2.wav, and <id>.txt (default id A_and_B). Speakers Preview simply reads one of those saved sets and outputs:
- prompt - the
[S1]/[S2]reference dialog that was saved with the voices. - audio_s1 / audio_s2 - the two reference clips, as AUDIO.
The intended loop is: run CSM Dialog Run once with your cloned voices, save them, then in any future workflow drop in Speakers Preview, pick the pair from the dropdown, and wire prompt + audio_s1 + audio_s2 straight into a fresh CSM Dialog Run. You get the same voices back without hunting down the original audio files or re-typing the prompt. That's the whole point - persist voices, reuse them, don't re-clone.
The one real gotcha
The speaker dropdown is populated once, at ComfyUI startup, by scanning that speakers directory. So if you save a new speaker pair mid-session, it won't show up in the dropdown until you restart ComfyUI (or at minimum reload the node). You'll see the empty dropdown in some UIs right after install precisely because nothing's been saved yet - that's expected, not a bug. Save your first pair with CSM Dialog Run, restart, and it appears. It's a small annoyance that catches basically everyone once.
Also worth knowing: it's a lookup by directory listing, not a database. Files get matched by name - <id>.txt plus the two wavs must all exist, or the node errors when it tries to load a missing _1.wav or _2.wav. If you move or delete files behind its back, that's on you.
Install
Same pack, same install - this isn't a separate download:
cd ComfyUI/custom_nodes
git clone https://github.com/billwuhao/ComfyUI_CSM.git
cd ComfyUI_CSM
pip install -r requirements.txt
Or install via ComfyUI Manager by searching ComfyUI_CSM. Either way, the node appears under 🎤MW/MW-CSM as Speakers Preview and needs no models of its own - all the heavy lifting lives in CSM Dialog Run.
Honest take: as a standalone node it's about as simple as it gets, and that's fine. The moment you've built one workflow with cloned voices you care about, this is the node that stops you from re-recording reference clips or re-saving the same pair under new names. It's the boring, dependable half of the pair.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| speaker | COMBO | 0 options: |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| audio_s1 | AUDIO | — |
| audio_s2 | AUDIO | — |