AI语音合成
Text-to-speech in your graph with zero local TTS models
- audio
Somewhere between "nice to have" and "surprisingly the whole reason I installed this pack": a text-to-speech node that runs on Alibaba's hosted qwen-tts model. You type text, you get an AUDIO tensor out the other side, ready for a preview node or any audio-sink in your graph. No TTS checkpoint, no XTTS download, no VRAM - the only local cost is a few seconds of network latency and the API's per-character pricing.
It's the simplest node in the AI lineup. Four inputs, one output. text is what you want spoken. model has exactly one choice (qwen-tts) so you can leave it alone. audio_voice is the interesting one - four voices: Cherry, Serena, Ethan, Chelsie. There's no speed or pitch control here, so think of the voice picker as your entire dial. And api_key is the same key every node in this pack uses, with base_url nowhere in sight because the TTS path calls DashScope's SDK directly rather than the OpenAI-compatible route.
Mechanically it's tidy: the pack calls dashscope.audio.qwen_tts.SpeechSynthesizer.call, gets back a URL to a generated WAV, downloads it to a temp file, loads it with torchaudio, and hands you a standard AUDIO object with waveform and sample rate. That's the same AUDIO type that audio preview and playback nodes in other packs accept, so wiring it up is plug-and-play.
Where does it fit in a workflow? The obvious one is narrating output - have an LLM node write a caption, feed the text here, and get a voiceover. It also plays nicely with the pack's multimodal assistant, which can output spoken audio of its own; if you want a reliable voice with a specific tone rather than Omni's streamed narration, this node is the steadier choice.
Install: ComfyUI Manager → search "ComfyUI-My-Nodes", or cd ComfyUI/custom_nodes && git clone https://github.com/Tagbliton/ComfyUI-My-Nodes and restart. The pack's requirements.txt handles dashscope, openai, requests, soundfile, numpy, plus the urllib3==1.26.20 pin the README insists on (older and newer urllib3 both cause trouble in ComfyUI). No model files to fetch - the model lives in Alibaba's cloud.
Gotchas. The usual DashScope ones apply: you need a real API key from a real-name-verified mainland China account, and Connection error messages point at your network or proxy, not the node. One thing people trip on: the node writes its temp WAV into ComfyUI/temp/ - if you're on a read-only install or a container with a locked temp dir, the run fails silently. And remember this is metered per call; it's fine for a few narrated captions, but it's not how you'd voice a hundred-image batch on a budget.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | — | |
| model | COMBO | 1 options: qwen-tts | |
| audio_voice | COMBO | 语音输出音色选择 | |
| text | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |