Orpheus#
Orpheus is a 3B parameter text-to-speech model developed by Canopy Labs, using a SNAC audio tokenizer for high-quality speech synthesis.
Quickstart#
Start the server:
python -m vox_serve.launch --model canopylabs/orpheus-3b-0.1-ft --port 8000
Generate speech:
import requests
response = requests.post("http://localhost:8000/generate", json={
"text": "Hello, this is Orpheus speaking!",
"voice": "tara"
})
with open("output.wav", "wb") as f:
f.write(response.content)
Available Voices#
Orpheus supports 8 built-in voices:
Voice |
Description |
|---|---|
|
Default female voice |
|
Female voice |
|
Female voice |
|
Female voice |
|
Female voice |
|
Male voice |
|
Male voice |
|
Male voice |
API Parameters#
Parameter |
Type |
Default |
Description |
|---|---|---|---|
|
string |
required |
Text to synthesize |
|
string |
|
Voice to use for synthesis |
|
boolean |
|
Enable streaming response |
Examples#
Basic Usage#
import requests
response = requests.post("http://localhost:8000/generate", json={
"text": "The quick brown fox jumps over the lazy dog.",
"voice": "leo"
})
Streaming Audio#
import requests
with requests.post(
"http://localhost:8000/generate",
json={"text": "Hello world!", "streaming": True},
stream=True
) as response:
with open("output.wav", "wb") as f:
for chunk in response.iter_content(chunk_size=8192):
f.write(chunk)
Using curl#
curl -X POST "http://localhost:8000/generate" \
-H "Content-Type: application/json" \
-d '{"text": "Hello from Orpheus!", "voice": "tara"}' \
-o output.wav
CLI Options#
python -m vox_serve.launch \
--model canopylabs/orpheus-3b-0.1-ft \
--port 8000 \
--temperature 0.7 \
--top_p 0.9 \
--repetition_penalty 1.1