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.2.tar.gz (288.1 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.2-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pipecat_respeecher-0.1.2.tar.gz
Algorithm Hash digest
SHA256 1cae77cb1c24735fecbd9ec8ad3f52233f5168dfdb4f0015da7e803f76642d45
MD5 1e1bedd8426ded3efe89ab63cb1cf0fa
BLAKE2b-256 a7da204085d5840b80365a00a3f7d3ef56115e2839782aee55c896038fdc91aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pipecat_respeecher-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 dc4e2e98b956ca59db91d1218cc5ad3c50af2fa7d47fe7dddeb1efeca784e0a3
MD5 926c9584d0c1da32cc820f7c810c58a9
BLAKE2b-256 34153bba0899acbc30657ba25953137b5c450b8c8f828b08f8142ee0b34df731

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