SpeechSynthesis ♾️Mixlab
Make your browser tab read a string out loud
- STRING
SpeechSynthesis is the output half of a pair - SpeechRecognition listens through your browser's mic and turns speech into a prompt string, SpeechSynthesis takes a string and speaks it back. The README documents them together under the same "SpeechRecognition & SpeechSynthesis" section, alongside a "voice + real-time face swap" workflow, which tells you the intended use: conversational, real-time setups - a digital-human demo, a voice-driven graph, something you're talking with rather than just running once and walking away from.
Its schema is about as minimal as a node gets: one required input, text, and one output, also just STRING (returned as a list). No voice picker, no rate or pitch control, no language selector exposed on the node itself. That minimalism, plus is_output_node being set - meaning it's meant to run for a side effect rather than to hand data downstream for further processing - points to what's actually happening: this node almost certainly drives the browser's own built-in Web Speech API to read the text aloud client-side, the same mechanism a screen reader or a browser extension would use, rather than generating and returning an audio file the way the pack's Fish Speech or SenseVoice nodes do. The STRING it outputs is best read as a pass-through confirmation of what was spoken, not an audio payload - if you want an actual AUDIO object to save or mux into a video, this isn't that node; look at the pack's Fish Speech pipeline (Prompt To Semantic → Semantic To Audio) for that instead.
Because it leans on a live browser feature rather than server-side inference, this node belongs in an interactive session you're watching, not a batch job or a headless render. There's no voice on the other end of a serverless GPU worker to speak through.
Install is the pack-wide standard:
cd ComfyUI/custom_nodes
git clone https://github.com/shadowcz007/comfyui-mixlab-nodes.git
cd comfyui-mixlab-nodes
install.bat
or via ComfyUI Manager (search "comfyui-mixlab-nodes"), or pip3 install -r requirements.txt in a venv. No model to download - the "model" here is whatever text-to-speech voice your browser already ships with.
The pack's browser-dependent features consistently need a secure context to work at all - the README is explicit elsewhere that microphone and similar live features require HTTPS (https://127.0.0.1), and the same constraint is worth checking first if this node runs without error but you hear nothing: on a plain http:// connection, or a LAN/cloud instance without TLS, the browser can silently refuse to expose speech APIs to the page. If you hear nothing and you're already on HTTPS, check your system or browser's own text-to-speech settings next - an empty installed-voices list, muted output, or a tab that's lost focus can all keep the Web Speech API from actually producing sound even though the node itself ran successfully. And because there's no audio object coming out of this node, don't wire its STRING output into anything expecting AUDIO - that mismatch is a sign you want a different node in this pack, not a bug in this one.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |