{ "id": "bd5b6a45-1b15-46f8-bac7-896bddb71347", "revision": 0, "last_node_id": 6, "last_link_id": 4, "nodes": [ { "id": 1, "type": "MarkdownNote", "pos": [ 20, 20 ], "size": [ 560, 520 ], "flags": {}, "order": 0, "mode": 0, "inputs": [], "outputs": [], "properties": {}, "widgets_values": [ "## OGG TTS ยท text to speech (no reference voice)\n\n**Files**\n\n| File | Folder |\n|---|---|\n| ogg_tts.safetensors (FashionFlora/ogg-tts `model.safetensors`, renamed, about 3 GB) | models/diffusion_models |\n| drama3_codec.safetensors (the Fish codec, 1.6 GB) | models/vae |\n\nGet them from [FashionFlora/ogg-tts](https://huggingface.co/FashionFlora/ogg-tts) and [Drama-3-ComfyUI](https://huggingface.co/PedroMarinhoDev/Drama-3-ComfyUI) (the codec only). OmniVoice's config.json and tokenizer files are read from the pack's own `omnivoice` folder and fetched there on first use.\n\n**How to use:** write the text in **OGG TTS Generate**, one line per take: each line hears the two lines before and after it as context. Emotion and vocal tags go inline, e.g. [sighing], [whispering], [excited], [pause] (the node's description lists all 24). Pick the language; there are 8: en, pl, es, de, ru, fr, pt, it.\n\n**Settings:** cfg 1-1.5 keeps the natural tempo, 2 speaks faster and more pointedly. Without a reference voice a take varies with the seed: queue again for another.\n\n**Longer takes:** OGG is still training; this is a preview release, so expect some takes to be better than others." ] }, { "id": 2, "type": "OggLoader", "pos": [ 620, 20 ], "size": [ 360, 82 ], "flags": {}, "order": 1, "mode": 0, "inputs": [ { "localized_name": "model_name", "name": "model_name", "type": "COMBO", "widget": { "name": "model_name" }, "link": null }, { "localized_name": "dtype", "name": "dtype", "type": "COMBO", "widget": { "name": "dtype" }, "link": null } ], "outputs": [ { "localized_name": "OGG_MODEL", "name": "OGG_MODEL", "type": "OGG_MODEL", "links": [ 1 ] } ], "properties": { "Node name for S&R": "OggLoader" }, "widgets_values": [ "ogg_tts.safetensors", "float32" ] }, { "id": 3, "type": "OggCodecLoader", "pos": [ 620, 160 ], "size": [ 360, 58 ], "flags": {}, "order": 2, "mode": 0, "inputs": [ { "localized_name": "codec_name", "name": "codec_name", "type": "COMBO", "widget": { "name": "codec_name" }, "link": null } ], "outputs": [ { "localized_name": "OGG_CODEC", "name": "OGG_CODEC", "type": "OGG_CODEC", "links": [ 2 ] } ], "properties": { "Node name for S&R": "OggCodecLoader" }, "widgets_values": [ "drama3_codec.safetensors" ] }, { "id": 4, "type": "OggGenerate", "pos": [ 1020, 20 ], "size": [ 400, 330 ], "flags": {}, "order": 3, "mode": 0, "inputs": [ { "localized_name": "model", "name": "model", "type": "OGG_MODEL", "link": 1 }, { "localized_name": "text", "name": "text", "type": "STRING", "widget": { "name": "text" }, "link": null }, { "localized_name": "language", "name": "language", "type": "COMBO", "widget": { "name": "language" }, "link": null }, { "localized_name": "seed", "name": "seed", "type": "INT", "widget": { "name": "seed" }, "link": null }, { "localized_name": "steps", "name": "steps", "type": "INT", "widget": { "name": "steps" }, "link": null }, { "localized_name": "cfg", "name": "cfg", "type": "FLOAT", "widget": { "name": "cfg" }, "link": null }, { "localized_name": "temperature", "name": "temperature", "type": "FLOAT", "widget": { "name": "temperature" }, "link": null }, { "localized_name": "split_lines", "name": "split_lines", "type": "BOOLEAN", "widget": { "name": "split_lines" }, "link": null }, { "localized_name": "max_frames", "name": "max_frames", "type": "INT", "widget": { "name": "max_frames" }, "link": null }, { "localized_name": "speaker", "name": "speaker", "type": "STRING", "widget": { "name": "speaker" }, "link": null }, { "localized_name": "quality", "name": "quality", "type": "STRING", "widget": { "name": "quality" }, "link": null }, { "localized_name": "mtp_temperature", "name": "mtp_temperature", "type": "FLOAT", "widget": { "name": "mtp_temperature" }, "link": null }, { "localized_name": "mtp_top_k", "name": "mtp_top_k", "type": "INT", "widget": { "name": "mtp_top_k" }, "link": null }, { "localized_name": "mtp_rounds", "name": "mtp_rounds", "type": "INT", "widget": { "name": "mtp_rounds" }, "link": null }, { "localized_name": "voice", "name": "voice", "type": "OGG_VOICE", "shape": 7, "link": null } ], "outputs": [ { "localized_name": "OGG_CODES", "name": "OGG_CODES", "type": "OGG_CODES", "links": [ 3 ] } ], "properties": { "Node name for S&R": "OggGenerate" }, "widgets_values": [ "[excited] Hello! I am OGG, a text to speech model.\n[sighing] It has been a long day.\n[whispering] But I am glad you are here.", "en", 1, "randomize", 6, 1.5, 0.8, true, 0, "", "", 0, 0, 4 ] }, { "id": 5, "type": "OggDecode", "pos": [ 1460, 20 ], "size": [ 260, 78 ], "flags": {}, "order": 4, "mode": 0, "inputs": [ { "localized_name": "codec", "name": "codec", "type": "OGG_CODEC", "link": 2 }, { "localized_name": "codes", "name": "codes", "type": "OGG_CODES", "link": 3 }, { "localized_name": "shorten_long_pauses", "name": "shorten_long_pauses", "type": "BOOLEAN", "widget": { "name": "shorten_long_pauses" }, "link": null } ], "outputs": [ { "localized_name": "AUDIO", "name": "AUDIO", "type": "AUDIO", "links": [ 4 ] } ], "properties": { "Node name for S&R": "OggDecode" }, "widgets_values": [ false ] }, { "id": 6, "type": "SaveAudio", "pos": [ 1460, 140 ], "size": [ 360, 112 ], "flags": {}, "order": 5, "mode": 0, "inputs": [ { "localized_name": "audio", "name": "audio", "type": "AUDIO", "link": 4 }, { "localized_name": "filename_prefix", "name": "filename_prefix", "type": "STRING", "widget": { "name": "filename_prefix" }, "link": null }, { "localized_name": "audioUI", "name": "audioUI", "type": "AUDIO_UI", "widget": { "name": "audioUI" }, "link": null } ], "outputs": [ { "localized_name": "audio", "name": "audio", "type": "AUDIO", "links": null } ], "properties": {}, "widgets_values": [ "ogg/ogg_tts" ] } ], "links": [ [ 1, 2, 0, 4, 0, "OGG_MODEL" ], [ 2, 3, 0, 5, 0, "OGG_CODEC" ], [ 3, 4, 0, 5, 1, "OGG_CODES" ], [ 4, 5, 0, 6, 0, "AUDIO" ] ], "groups": [], "config": {}, "extra": { "ds": { "scale": 0.75, "offset": [ 0, 0 ] } }, "version": 0.4 }