Skip to content

Add TypecastEngine#370

Open
jaebong-human wants to merge 2 commits intoKoljaB:masterfrom
jaebong-human:feature/typecast-engine
Open

Add TypecastEngine#370
jaebong-human wants to merge 2 commits intoKoljaB:masterfrom
jaebong-human:feature/typecast-engine

Conversation

@jaebong-human
Copy link
Copy Markdown

@jaebong-human jaebong-human commented Mar 30, 2026

Summary

  • Adds TypecastEngine using the official typecast-python SDK
  • Adds TypecastVoice with voice metadata (name, voice_id, gender, age, use_cases, models)
  • Registers both in the lazy-loading __init__.py files

Details

Constructor parameters:

  • voice_id — Typecast voice ID (or TYPECAST_VOICE_ID env var)
  • modelssfm-v30 (default) or ssfm-v21
  • emotion_type"preset" or "smart" (ssfm-v30 context-aware inference)
  • emotion_presetnormal, happy, sad, angry, whisper, toneup, tonedown
  • emotion_intensity — 0.0–2.0
  • tempo, pitch, volume, language, seed
  • api_key (or TYPECAST_API_KEY env var — required)
  • host — optional API endpoint override (SDK also reads TYPECAST_API_HOST)

Audio format: WAV, mono, 44100 Hz, 16-bit PCM

Installation:

pip install typecast-python

Usage:

from RealtimeTTS import TextToAudioStream, TypecastEngine

engine = TypecastEngine(
    voice_id="tc_685c9a70f12503316e5359d2",
    emotion_preset="happy",
)
stream = TextToAudioStream(engine)
stream.feed("Hello from Typecast!")
stream.play()

jaebong-human and others added 2 commits March 30, 2026 16:01
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add tests/typecast_test.py with basic synthesis and emotion switching
- Add realtimetts[typecast] install extra (typecast-python) in setup.py
- Update README: engine list, install options, TypecastEngine section

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant