Skip to content

respeecher/pipecat-respeecher

Repository files navigation

Pipecat Respeecher Real-Time TTS Integration

PyPI - Version

This is an official Respeecher integration for Pipecat.

Learn more about our real-time TTS API (Україномовна/Ukrainian TTS).

Maintainer: Respeecher

Installation

pip install pipecat-respeecher

Running the Example

example.py is a complete Pipecat pipeline with Respeecher TTS. (See example-ukrainian.py for a Ukrainian language pipeline.) You can use it as a starting point for your agent, or you can head over to Example Snippets if you already have a pipeline and just want to switch TTS.

The complete pipeline example requires a Deepgram API key for Speech-to-Text, either a Google Gemini API key or a Cerebras API key for LLM, and a Respeecher Space API key. The Speech-to-Text and LLM services are just an example and can generally be swapped for any other supported Pipecat service.

  1. Clone this repository.
  2. Copy env.example to .env and fill in your API keys.
  3. Assuming you have the uv Python package manager installed, run uv run example.py, head over to http://localhost:7860, and click Connect. (The first run of uv run example.py may be slow because uv installs packages and Pipecat downloads local models.) The agent should greet you (both in text and in speech), and you can converse with it through the chat interface or with your microphone. (Make sure you have granted microphone access to the web page and that the microphone button is not in the muted state.)

Example Snippets

Minimal Example

from pipecat_respeecher import RespeecherTTSService

tts = RespeecherTTSService(
    api_key=os.getenv("RESPEECHER_API_KEY"),
    voice_id="samantha",
)

Overriding Sampling Parameters

See the Sampling Parameters Guide.

from pipecat_respeecher import RespeecherTTSService

tts = RespeecherTTSService(
    api_key=os.getenv("RESPEECHER_API_KEY"),
    voice_id="samantha",
    params=RespeecherTTSService.InputParams(
        sampling_params={
            "min_p": 0.01,
        },
    ),
)

Ukrainian Language Model

See Models & Languages.

from pipecat_respeecher import RespeecherTTSService

tts = RespeecherTTSService(
    api_key=os.getenv("RESPEECHER_API_KEY"),
    model="public/tts/ua-rt",
    voice_id="olesia-conversation",
)

Compatibility

This integration requires Pipecat v0.0.99 or newer and has been tested with v0.0.99.

About

Respeecher real-time TTS plugin for Pipecat

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages