feat: add CAMB AI TTS integration (#187)

Co-authored-by: Abhishek <abhishek@a6k.me>
This commit is contained in:
neil from camb.ai 2026-03-24 15:24:07 +08:00 committed by GitHub
parent 330e4a05f2
commit 31e075d114
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 244 additions and 4 deletions

View file

@ -237,6 +237,20 @@ def create_tts_service(user_config, audio_config: "AudioConfig"):
text_filters=[xml_function_tag_filter],
silence_time_s=1.0,
)
elif user_config.tts.provider == ServiceProviders.CAMB.value:
from pipecat.services.camb.tts import CambTTSService
voice_id = int(getattr(user_config.tts, "voice", None) or "147320")
language = getattr(user_config.tts, "language", None) or "en-us"
tts = CambTTSService(
api_key=user_config.tts.api_key,
voice_id=voice_id,
model=user_config.tts.model,
text_filters=[xml_function_tag_filter],
)
# Set language directly as BCP-47 code (bypasses Language enum conversion)
tts._settings.language = language
return tts
elif user_config.tts.provider == ServiceProviders.SARVAM.value:
# Map Sarvam language code to pipecat Language enum for TTS
language_mapping = {