Fish AI
The FishAudioTTSService provides real-time text-to-speech using Fish Audio's high-performance WebSocket API. It's built for ultra-low latency conversational use cases.
Installation
pip install "piopiy-ai[fish]"
Prerequisites
- A Fish Audio API key (Get yours here).
- Set your API key in your environment:
export FISH_API_KEY="your_api_key_here"
Configuration
FishAudioTTSService Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
api_key | str | Required | Your Fish Audio API key. |
reference_id | str | Required | Reference ID of the voice model. |
model_id | str | "s1" | Fish Audio model architecture. |
params | InputParams | InputParams() | Generation settings. |
InputParams
| Parameter | Type | Default | Description |
|---|---|---|---|
latency | str | "normal" | Latency mode (normal or balanced). |
normalize | bool | True | Whether to normalize audio. |
prosody_speed | float | 1.0 | Speed multiplier (0.5 to 2.0). |
prosody_volume | int | 0 | Volume adjustment in dB. |
Usage
Basic Setup
import os
from piopiy.services.fish.tts import FishAudioTTSService
tts = FishAudioTTSService(
api_key=os.getenv("FISH_API_KEY"),
reference_id="your_voice_reference_id"
)
Notes
- WebSocket Protocol: Uses MsgPack over WebSockets for efficient binary data transfer.
- Real-time Performance: Designed for ultra-low latency conversational use cases.
- Flush System: Supports explicit flushing to ensure all text is synthesized immediately.