Skip to main content

Respeecher real-time TTS plugin for Pipecat

Project description

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

Note: we recommend setting audio_out_sample_rate=22050 in PipelineParams like in example.py for best results.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pipecat_respeecher-0.1.3.tar.gz (288.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pipecat_respeecher-0.1.3-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file pipecat_respeecher-0.1.3.tar.gz.

File metadata

  • Download URL: pipecat_respeecher-0.1.3.tar.gz
  • Upload date:
  • Size: 288.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.13

File hashes

Hashes for pipecat_respeecher-0.1.3.tar.gz
Algorithm Hash digest
SHA256 aab828772a4b234558e4efc45bd8fe3062d2adacac5f629919df16b61faa02f5
MD5 e8cd16769d42b6782b078b347218dd47
BLAKE2b-256 01a03858848c0c25bd67afe8e900daea8ff76d3cd8b1ef87b787b8fa9842512a

See more details on using hashes here.

File details

Details for the file pipecat_respeecher-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for pipecat_respeecher-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c58cb6e27b4cb62e7c95cbe40ed0581e916e606757a85cbe570c89851ee3b6e3
MD5 c6106b4074981dd3dd1a92a81f44a153
BLAKE2b-256 d8bd6a5ceb4f620696784274c46571b72cd1136d88613f5bfe3c9451d41bbb54

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page