Skip to content

feat: add CAMB AI TTS integration#198

Open
neilruaro-camb wants to merge 1 commit intoR3gm:mainfrom
neilruaro-camb:feat/camb-ai-tts
Open

feat: add CAMB AI TTS integration#198
neilruaro-camb wants to merge 1 commit intoR3gm:mainfrom
neilruaro-camb:feat/camb-ai-tts

Conversation

@neilruaro-camb
Copy link
Copy Markdown

Hi there! 👋

We're the team at CAMB AI — we build localization and text-to-speech technology and are the localization engine of choice for sports brands like the Premier League, the NBA, NASCAR, and the Australian Open.

We'd love to contribute a CAMB AI TTS integration to SoniTranslate. This PR adds CAMB AI as a new TTS engine alongside the existing options (Edge TTS, OpenAI, Bark, etc.).

What's included

  • Dynamic voice fetching — Voices are loaded from the CAMB AI API at startup (GET /list-voices), so users see all available voices in the TTS dropdown without any hardcoding
  • Cross-lingual TTS — Any voice works with any supported target language. The language is mapped automatically from SoniTranslate's target language setting to CAMB's locale format
  • .env support — The CAMB_API_KEY is read from a .env file via python-dotenv
  • Audio compatibility fix — The video mux step now encodes audio as AAC instead of copying MP3 streams, which fixes playback on macOS/QuickTime

Supported languages

Arabic, Bengali, Chinese, Dutch, English, French, German, Hindi, Indonesian, Italian, Japanese, Korean, Polish, Portuguese, Russian, Spanish, Tamil, Telugu, Turkish

Usage

  1. Set CAMB_API_KEY in your .env file (get one at camb.ai)
  2. Launch SoniTranslate
  3. Select any CAMB-TTS voice from the TTS speaker dropdown

We'd be happy to iterate on any feedback. Thanks for building such a great project!

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