Skip to main content

Agent Framework plugin for voice synthesis with Inworld's API.

Project description

Inworld plugin for LiveKit Agents

Support for voice synthesis with Inworld TTS.

See https://docs.livekit.io/agents/integrations/tts/inworld/ for more information.

Installation

pip install livekit-plugins-inworld

Authentication

Set INWORLD_API_KEY in your .env file (get one here).

Usage

Use Inworld TTS within an AgentSession or as a standalone speech generator. For example, you can use this TTS in the Voice AI quickstart.

from livekit.plugins import inworld

tts = inworld.TTS()

Or with options:

from livekit.plugins import inworld

tts = inworld.TTS(
    voice="Hades",                 # voice ID (default or custom cloned voice)
    model="inworld-tts-1",         # or "inworld-tts-1-max"
    encoding="OGG_OPUS",           # LINEAR16, MP3, OGG_OPUS, ALAW, MULAW, FLAC
    sample_rate=48000,             # 8000-48000 Hz
    bit_rate=64000,                # bits per second (for compressed formats)
    speaking_rate=1.0,             # 0.5-1.5
    temperature=1.1,               # 0-2
    timestamp_type="WORD",         # WORD, CHARACTER, or TIMESTAMP_TYPE_UNSPECIFIED
    text_normalization="OFF",      # ON, OFF, or APPLY_TEXT_NORMALIZATION_UNSPECIFIED
)

Streaming

Inworld TTS supports WebSocket streaming for lower latency real-time synthesis. Use the stream() method for streaming text as it's generated:

from livekit.plugins import inworld

tts = inworld.TTS(
    voice="Hades",
    model="inworld-tts-1",
    buffer_char_threshold=100,     # chars before triggering synthesis (default: 100)
    max_buffer_delay_ms=3000,      # max buffer time in ms (default: 3000)
)

# Create a stream for real-time synthesis
stream = tts.stream()

# Push text incrementally
stream.push_text("Hello, ")
stream.push_text("how are you today?")
stream.flush()  # Flush any remaining buffered text
stream.end_input()  # Signal end of input

# Consume audio as it's generated
async for audio in stream:
    # Process audio frames
    pass

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

livekit_plugins_inworld-1.5.1.tar.gz (16.1 kB view details)

Uploaded Source

Built Distribution

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

livekit_plugins_inworld-1.5.1-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

Details for the file livekit_plugins_inworld-1.5.1.tar.gz.

File metadata

File hashes

Hashes for livekit_plugins_inworld-1.5.1.tar.gz
Algorithm Hash digest
SHA256 5dafa799e1ad1995c1a4a3052ce55977e842bdadee9263481a6b77569cf332d9
MD5 596969600fab5368f551d454c58f6012
BLAKE2b-256 8fbcc91daa3ae3eac5877d29ae2c8b62765d3565b6b373807da1f6b2d6ab405a

See more details on using hashes here.

File details

Details for the file livekit_plugins_inworld-1.5.1-py3-none-any.whl.

File metadata

File hashes

Hashes for livekit_plugins_inworld-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 912b79c3de5b7c7eb4c3793e207e6bf6a42d335eb31b2e946e0a51541579e22b
MD5 e49694a9d6fac8270d8f088abcb62abb
BLAKE2b-256 4d653f32eb8c3e9426b4f87d5410b1c478387e2beed79765f6e810127b7521c1

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