Nodes/TTS Audio Suite/๐ŸŒฉ๏ธ Sound Effects
ComfyUI Node

๐ŸŒฉ๏ธ Sound Effects

Text-to-sound generation, not speech

By diodiogodยทCreated about a year agoยทUpdated 22 days agoยท 1,098
๐ŸŒฉ๏ธ Sound Effects
  • TTS_engine
  • audio
  • generation_info
โ—„descriptionHeavy rain on a metal rooftop with distant thunder and occasional wind gusts.โ–บ
โ—„duration_seconds10.0โ–บ
โ—„seed0โ–บ
โ—„crossfade_seconds1.0โ–บ
โ—„enable_audio_cachetrueโ–บ

Everything else in this suite makes voices. This node makes everything but voices - rain on a tin roof, distant thunder, a crackling fire, a door slam. You type a description, you get a sound. It's the foley/ambience corner of the pack, useful for laying atmosphere under a narration or filling out a scene's soundscape without hunting through a sample library.

Like the TTS consumer nodes, this is a driver, not a model: it takes a TTS_engine input and runs it. But here the engine has to be a sound-generating one - MOSS-SoundEffect (v1 or v2) is what feeds this node. Wiring a speech-only engine in won't get you foley.

How it works

You give it a description in plain language and a duration_seconds, and the underlying sound model generates audio to match. For longer effects the node chunks the request and stitches the pieces with a crossfade so you don't hear a seam every few seconds. It's the same "unified" idea as the rest of the suite - one node, swap the engine behind it - applied to non-speech audio.

The inputs and outputs that matter

  • TTS_engine - required, and it needs to be a sound-effects-capable engine (MOSS-SoundEffect). This is the piece people miss.
  • description - what you want to hear. Be concrete and physical: surfaces, materials, distance, weather. The default ("Heavy rain on a metal rooftop with distant thunder and occasional wind gusts.") is a good template for the level of detail that works.
  • duration_seconds - 0.5 up to 300. Longer requests get chunked automatically.
  • seed - same description, same seed, same sound; change the seed to roll a different take.

Optional: crossfade_seconds controls how the chunks of a long effect blend (bump it up if you hear a bump at the joins), and enable_audio_cache skips regenerating an unchanged effect.

Two outputs: audio - the generated sound, wire it to a Save/Preview Audio node or into ๐ŸชŠ Merge Audio to layer under a voice track - and generation_info for diagnostics.

Installing it

Comes with the pack. ComfyUI Manager โ†’ search "TTS Audio Suite" โ†’ install โ†’ restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/diodiogod/TTS-Audio-Suite.git
cd TTS-Audio-Suite
python install.py

The MOSS-SoundEffect models are large (v2 is ~11GB) and auto-download on first use. There's a dedicated Sound Effects guide in the pack's docs/ if you want the deep version.

Common issues & troubleshooting

It generated speech / gibberish instead of a sound. You've got a speech engine connected. This node needs a sound-generation engine (MOSS-SoundEffect). Swap the engine node and try again.

The effect is generic or wrong. These models respond to physical detail. "Rain" is vague; "steady heavy rain on a metal roof, distant rolling thunder, occasional gusts" gives the model something to work with. Change the seed to audition different interpretations of the same prompt.

Audible seams in a long effect. For durations past a single chunk, raise crossfade_seconds so the joins blend more smoothly. A one-second crossfade is the default; a longer one hides transitions better in continuous ambience.

Big first-run download. The sound model is multi-GB and pulls once on first generation. Expect a wait, then it's cached.

CategoryTTS Audio Suite/๐ŸŒฉ๏ธ Sound Effects

Inputs (6)

NameTypeDefaultDescription
TTS_engineTTS_ENGINEConnect an engine configured for sound-effect generation. MOSS-SoundEffect v1 uses the MOSS-TTS Engine; v2 uses the MOSS SoundEffect v2 Engine. Speech-only engines stop with guidance.
descriptionSTRINGHeavy rain on a metal rooftop with distant thunder and occasional wind gusts.Describe the sound, environment, actions, texture, distance, and timing you want. This is a sound description, not text to be spoken. Inline parameter and pause tags are supported.
duration_secondsFLOAT10.00.5โ€“300Duration of each described segment. A single MOSS v2 segment longer than 30 seconds is generated in overlapping chunks and trimmed to this exact duration. Inline [seconds:X] overrides it.
seedINT00โ€“18446744073709550000Controls the generated variation. Reuse a positive seed and the same settings for repeatable output; set 0 for a random seed.
crossfade_secondsoptFLOAT1.00โ€“10Overlap between adjacent generated segments and automatic long-duration chunks. Use 0 for a hard join. [pause:X], [wait:X], and [stop:X] insert exact silence and disable the crossfade across that boundary.
enable_audio_cacheoptBOOLEANtrueReuse audio when the engine, description, duration, seed, and generation settings are identical.

Outputs (2)

NameTypeDescription
audioAUDIOโ€”
generation_infoSTRINGโ€”