Nodes/Maya1 TTS/Maya1 TTS (AIO) Barebones
ComfyUI Node

Maya1 TTS (AIO) Barebones

The same Maya1 TTS engine, without the fancy UI

By Saganaki22·Created 10 months ago·Updated 10 months ago· 64
Maya1 TTS (AIO) Barebones
    • audio
    voice_descriptionRealistic male voice in the 30s age with american accent. Normal pitch, warm timbre, conversational pacing.
    textHello! This is Maya1 <laugh> the best open source voice AI model with emotions.
    model_name(No models folder found - see console for instructions)
    dtypebfloat16
    attention_mechanismsdpa
    devicecuda
    keep_model_in_vramtrue
    chunk_longformfalse
    max_new_tokens4000
    temperature0.40
    top_p0.90
    repetition_penalty1.10
    seed0

    This is the plain-widget twin of the Maya1 TTS (AIO) node. Same model, same engine, same audio output - the only difference is the interface. Where the main node renders a custom dark-themed canvas with character presets, emotion buttons, and a fullscreen text editor, this one gives you standard ComfyUI text boxes and dropdowns, stacked vertically like any other node.

    So why would you reach for it? The usual reason is that the pretty version broke. The custom JavaScript canvas occasionally renders as a black box - no widgets, nothing clickable - especially on older ComfyUI builds or with aggressive browser extensions. The author built Barebones specifically as the escape hatch for that. If you see the black box, or you just prefer boring predictable widgets, this node is the same functionality without the custom UI risk. A sibling without the gamble, essentially.

    How it works

    Maya1 is a 3B-parameter open-weight speech model (Apache 2.0, from Maya Research) that generates SNAC audio codec tokens rather than raw audio. Your voice description gets wrapped in a <description="..."> control token, appended to your script text, and the model autoregressively writes codec tokens - 7 per audio frame - which the node decodes to a 24kHz mono waveform. It runs locally on your GPU; there's no API call anywhere in this pack. The one thing the barebones version drops is the visual tag insertion - the emotion tags still work, you just type them by hand.

    The inputs that matter

    Everything is exposed as flat widgets, and they're the same set as the main node:

    • voice_description - natural language voice recipe: age, gender, accent, pitch, timbre, pacing.
    • text - your script with manual emotion tags like <laugh> or <whisper>. The tooltip lists 17 of them: laugh, laugh_harder, giggle, chuckle, cry, sigh, gasp, whisper, angry, scream, snort, yawn, cough, sneeze, breathing, humming, throat_clearing.
    • model_name - auto-discovered from ComfyUI/models/maya1-TTS/; if it shows "(No models folder found...)", the model isn't downloaded yet.
    • dtype - bfloat16 is the default and the speed pick; 4/8-bit quantization saves VRAM (~6-7GB) but is genuinely slower, so only use it under ~10GB VRAM.
    • max_new_tokens - ~50 tokens per word of speech; 4000 ≈ 30-40s. Increase it if output cuts off early.
    • seed - 0 for random, a fixed number to reproduce a take.

    Output

    audio - a standard ComfyUI AUDIO output at 24kHz mono. Connect it to PreviewAudio, SaveAudio, or any other audio sink.

    Install

    You install this pack once and get both nodes - they ship together, so there's no separate install for Barebones.

    cd ComfyUI/custom_nodes
    git clone https://github.com/Saganaki22/ComfyUI-Maya1_TTS.git
    cd ComfyUI-Maya1_TTS && pip install -r requirements.txt
    

    Or use ComfyUI Manager and search "Maya1 TTS". The dependency that matters is snac (the audio codec); transformers and torch you almost certainly already have. Then download the model to the non-standard folder the node expects:

    cd ComfyUI
    hf download maya-research/maya1 --local-dir models/maya1-TTS/maya1
    

    Restart ComfyUI, and look under Add Node → audio → Maya1 TTS (AIO) Barebones.

    Troubleshooting

    • "No valid Maya1 models found" - the model folder is empty or in the wrong place; it must be models/maya1-TTS/<something>/ with the shard files, chat template, and tokenizer/ inside.
    • OOM - try 4bit, reduce max_new_tokens, or set keep_model_in_vram to false after generation.
    • No audio generated - the classic cause is max_new_tokens too low or a temperature outside 0.3-0.5; also simplify a very long voice description.
    • Quantization errors - pip install bitsandbytes; 4/8-bit also requires CUDA, so fall back to float16 on CPU.

    And one honest note: if you came here from the black-box problem, the fix usually is a hard browser refresh plus a ComfyUI update first. The Barebones node is the reliable fallback, not necessarily the permanent home.

    Categoryaudio/maya1

    Inputs (13)

    NameTypeDefaultDescription
    voice_descriptionSTRINGRealistic male voice in the 30s age with american accent. Normal pitch, warm timbre, conversational pacing.Describe your desired voice using natural language. Include: age (20s-50s), gender (male/female), accent (American/British/etc), pitch (low/normal/high), timbre (warm/gravelly/smooth), pacing (fast/conversational/slow), tone (happy/calm/energetic)
    textSTRINGHello! This is Maya1 <laugh> the best open source voice AI model with emotions.Your script text to synthesize. Add emotion tags anywhere in the text (type manually - no visual buttons in barebones mode). All 17 available tags: <laugh>, <laugh_harder>, <giggle>, <chuckle>, <cry>, <sigh>, <gasp>, <whisper>, <angry>, <scream>, <snort>, <yawn>, <cough>, <sneeze>, <breathing>, <humming>, <throat_clearing>
    model_nameCOMBO(No models folder found - see console for instructions)Select Maya1 model from ComfyUI/models/maya1-TTS/ folder. Models are auto-discovered on startup. Download from: huggingface.co/maya-research/maya1
    dtypeCOMBObfloat16Model precision. 4bit/8bit save VRAM but are SLOWER. Use float16/bfloat16 if you have 10GB+ VRAM for best speed. 4bit≈6GB, 8bit≈7GB, float16/bfloat16≈8-9GB, float32≈16GB
    attention_mechanismCOMBOsdpaAttention algorithm. SDPA (default) is fastest for single TTS. Eager is standard PyTorch (slower). Flash Attention 2 helps with batch processing. Sage Attention is memory efficient
    deviceCOMBOcudaProcessing device. CUDA (GPU) is recommended for speed. CPU works but is much slower. Will auto-fallback to CPU if CUDA unavailable
    keep_model_in_vramBOOLEANtrueKeep model loaded in VRAM after generation. True = faster repeated generations but uses VRAM. False = frees VRAM after each generation but slower
    chunk_longformBOOLEANfalseSplit long text into chunks at sentence boundaries with smooth crossfading. Enables unlimited audio length beyond the 18-20s limit. EXPERIMENTAL - may have quality/timing issues
    max_new_tokensINT4000100–16000Maximum NEW SNAC tokens to generate per chunk (excludes input prompt tokens). Higher = longer audio per chunk (~50 tokens/word). 4000 tokens ≈ 30-40s audio. Increase if audio cuts off too early
    temperatureFLOAT0.400.1–2Controls randomness/creativity. Lower (0.1-0.3) = more consistent/predictable. Higher (0.5-1.0) = more varied/creative. 0.4 is official Maya1 recommendation
    top_pFLOAT0.900.1–1Nucleus sampling - controls diversity of token selection. 0.9 (default) works well for natural speech. Lower = more focused, higher = more diverse. Keep at 0.9 unless experimenting
    repetition_penaltyFLOAT1.101–2Reduces repetitive speech patterns. 1.0 = no penalty, higher = stronger penalty against repetition. 1.1 is a good default. Increase to 1.2-1.3 if speech sounds too repetitive
    seedINT00–18446744073709550000Random seed for reproducibility. 0 = random seed each time. Set specific number (1-999999) for same result every time. Use control_after_generate widget to auto-increment/randomize

    Outputs (1)

    NameTypeDescription
    audioAUDIO