Add example and fix name.
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
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
@@ -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
@@ -1,3 +1,3 @@
|
||||
{
|
||||
"OrpheusLMStudioTTS": "Generate Orpheus TTS audio via LM Studio"
|
||||
"OrpheusTTSLMStudio": "Generate Orpheus TTS audio via LM Studio"
|
||||
}
|
||||
+4
-4
@@ -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 = ""
|
||||
|
||||
Reference in New Issue
Block a user