Nodes/comfyui-mixlab-nodes/SpeechRecognition ♾️Mixlab
ComfyUI Node Runs on cloud

SpeechRecognition ♾️Mixlab

Talk to your workflow and get the text as a prompt

By MixLabPro·Created 3 years ago·Updated 2 months ago· 1,859
SpeechRecognition ♾️Mixlab
  • upload
  • prompt
start_by0

SpeechRecognition turns spoken audio into text and drops it out as a prompt string - so you can talk to your workflow instead of typing. It's one half of the mixlab pack's voice pair (SpeechRecognition in, SpeechSynthesis out), built for the interactive, real-time direction shadowcz007 keeps pushing the pack toward: voice-driven prompting, live face-swap demos, digital-human chat loops. The pack even ships a "voice + real-time face swap" workflow that leans on it.

The honest use case is hands-free or conversational prompting. Rather than clicking into a text box and typing a prompt, you speak it, the node transcribes it, and the text flows into your CLIP encode (or an LLM node) as if you'd typed it. In a live-demo or installation context - the sort of thing this pack is really aimed at - that's a much more natural input than a keyboard.

How it works

It takes an audio input through the pack's audio widget and returns the recognized text. The start_by option lets you offset where transcription begins. What comes out is a plain STRING you treat as a prompt - there's no separate audio file to manage downstream, just the words.

Set expectations on accuracy: this is speech-to-text for prompting, not courtroom transcription. It's good enough to capture "a cyberpunk city at night, neon reflections" spoken clearly; it's not going to nail long, mumbled, or noisy input. Speak clearly, keep it short, and treat the output as a starting prompt you can still edit.

The inputs and outputs that matter

  • upload (AUDIOINPUTMIX) - the audio to transcribe, via the pack's audio-input widget (record or upload). Required.
  • start_by (INT, default 0, optional) - an offset for where recognition starts.
  • Output prompt (STRING) - the transcribed text. Wire it into a CLIP Text Encode, an LLM node, or a ShowText to read it back.

How to install it

Via ComfyUI Manager: search comfyui-mixlab-nodes, install, restart. Or clone the pack:

cd ComfyUI/custom_nodes
git clone https://github.com/shadowcz007/comfyui-mixlab-nodes.git

then pip install -r requirements.txt (or install.bat on the Windows portable build) and restart.

Common issues & troubleshooting

The mic won't work / no audio gets captured. This is the number-one issue with the pack's interactive audio and screen features, and it's a browser thing: microphone access requires a secure context, so ComfyUI needs to be served over HTTPS. The pack's docs are explicit about using HTTPS (https://127.0.0.1) for these features. On plain http://, or on a LAN/cloud box without HTTPS, the browser blocks the mic and this node has nothing to hear. Fix the transport before debugging anything else.

It transcribed garbage. Usually input quality: background noise, distance from the mic, or speaking too fast. Get closer, cut the noise, and keep utterances short. Also confirm you're speaking the language the recognizer expects - mismatched language settings produce nonsense.

Empty prompt output. Either nothing was recorded (see the HTTPS/mic issue) or the recording was silence. Check the audio widget actually captured something before the node ran.

It won't run on my headless / serverless ComfyUI. This node is built around a live browser session with a microphone. A fire-and-forget render backend with no interactive browser and no mic isn't the environment it's designed for - SpeechRecognition belongs in a local (or HTTPS-fronted) interactive session, not a batch job.

Category♾️Mixlab/Audio

Inputs (2)

NameTypeDefaultDescription
uploadAUDIOINPUTMIX
start_byoptINT00–2048

Outputs (1)

NameTypeDescription
promptSTRING