Add example and fix name.

This commit is contained in:
Adam
2025-08-30 03:35:19 -07:00
parent 8797685ece
commit 70dbef6842
7 changed files with 20 additions and 14 deletions
+6 -3
View File
@@ -5,6 +5,9 @@ A custom node for ComfyUI that generates high-quality, natural-sounding speech u
I tried all the other Orpheus nodes for ComfyUI, and they were either slow (2+min for 15s), or I couldn't get them to install right. Unlike those, this doesn't try to run the LLM model with all the different settings via some cli thing, I just rely on LM Studio where you can handle all the loading there. I got this to be as fast as I could, about 0.5x realtime on a RTX3090. Voices sound so good.
![Workflow Diagram](./example_workflows/OrpheusTTSLMStudioExample.png)
And now for your regularly scheduled LLM generated readme:
This node is designed for performance and user experience, featuring a highly-responsive, parallelized workflow. It streams audio tokens from LM Studio while decoding them into sound in a separate thread, ensuring your ComfyUI interface remains smooth. The state-of-the-art progress bar intelligently displays the real-time progress of the entire operation, not just one part of it.
@@ -36,12 +39,12 @@ This node is designed for performance and user experience, featuring a highly-re
```
2. Clone this repository:
```bash
git clone https://github.com/phazei/ComfyUI-Orpheus-LMStudio.git
git clone https://github.com/phazei/ComfyUI-OrpheusTTS-LMStudio.git
```
*(Note: Replace the URL with your actual repository URL after publishing.)*
3. Install the required Python packages:
```bash
cd ComfyUI-Orpheus-LMStudio
cd ComfyUI-OrpheusTTS-LMStudio
pip install -r requirements.txt
```
*(You should create a `requirements.txt` file in your repo with the following content:)*
@@ -63,7 +66,7 @@ This node is designed for performance and user experience, featuring a highly-re
### 2. In ComfyUI
1. **Add the Node:** Right-click on your graph, select "Add Node," and find the **Orpheus/LM Studio > Orpheus TTS (LM Studio)** node.
1. **Add the Node:** Right-click on your graph, select "Add Node," and find the **OrpheusTTS/LM Studio > Orpheus TTS (LM Studio)** node.
2. **Enter Your Text:** Type the text you want to convert to speech in the `text` field.
3. **Select a Voice:** Choose one of the built-in English voices from the `voice` dropdown.
4. **Set the Model Key (Optional but Recommended):**
+1 -1
View File
@@ -1,3 +1,3 @@
from .node.orpheus_lmstudio_tts import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS
from .node.orpheustts_lmstudio import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS
__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS"]
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

@@ -88,7 +88,7 @@ class SlidingRate:
# --- Node ---------------------------------------------------------------------
class OrpheusLMStudioTTS:
class OrpheusTTSLMStudio:
"""
Streaming LM Studio with parallel SNAC decoding and a single progress bar
that reflects the critical path (max of LLM vs SNAC). Detailed logs kept.
@@ -495,8 +495,10 @@ class OrpheusLMStudioTTS:
if debug:
avg_wait = (total_wait_time / llm_frag_count) if llm_frag_count else 0.0
avg_proc = (total_proc_time / llm_frag_count) if llm_frag_count else 0.0
p50_wait = _pct(wait_samples, 50); p95_wait = _pct(wait_samples, 95)
p50_proc = _pct(proc_samples, 50); p95_proc = _pct(proc_samples, 95)
p50_wait = _pct(wait_samples, 50)
p95_wait = _pct(wait_samples, 95)
p50_proc = _pct(proc_samples, 50)
p95_proc = _pct(proc_samples, 95)
print("--- LLM Stream Granular ---")
print(f" TTFF (loop): {first_fragment_rel or 0.0:.4f}s")
@@ -519,5 +521,5 @@ class OrpheusLMStudioTTS:
return (audio,)
# Comfy registration
NODE_CLASS_MAPPINGS = {"OrpheusLMStudioTTS": OrpheusLMStudioTTS}
NODE_DISPLAY_NAME_MAPPINGS = {"OrpheusLMStudioTTS": "Orpheus TTS (LM Studio)"}
NODE_CLASS_MAPPINGS = {"OrpheusTTSLMStudio": OrpheusTTSLMStudio}
NODE_DISPLAY_NAME_MAPPINGS = {"OrpheusTTSLMStudio": "Orpheus TTS (LM Studio)"}
+1 -1
View File
@@ -1,3 +1,3 @@
{
"OrpheusLMStudioTTS": "Generate Orpheus TTS audio via LM Studio"
"OrpheusTTSLMStudio": "Generate Orpheus TTS audio via LM Studio"
}
+4 -4
View File
@@ -1,14 +1,14 @@
[project]
name = "ComfyUI-Orpheus-LMStudio"
name = "ComfyUI-OrpheusTTS-LMStudio"
description = "Generate Orpheus TTS audio via LM Studio"
version = "1.0.0"
version = "1.0.1"
license = {file = "LICENSE"}
[project.urls]
Repository = "https://github.com/phazei/ComfyUI-Orpheus-LMStudio"
Repository = "https://github.com/phazei/ComfyUI-OrpheusTTS-LMStudio"
# Used by Comfy Registry https://comfyregistry.org
[tool.comfy]
PublisherId = "phazei"
DisplayName = "ComfyUI-Orpheus-LMStudio"
DisplayName = "ComfyUI-OrpheusTTS-LMStudio"
Icon = ""