Skip to content

Comments

Python: feat(camb): Add CAMB AI connector for text-to-speech, speech-to-text, and audio services#13575

Open
neilruaro-camb wants to merge 1 commit intomicrosoft:mainfrom
neilruaro-camb:feat/camb-ai-connector
Open

Python: feat(camb): Add CAMB AI connector for text-to-speech, speech-to-text, and audio services#13575
neilruaro-camb wants to merge 1 commit intomicrosoft:mainfrom
neilruaro-camb:feat/camb-ai-connector

Conversation

@neilruaro-camb
Copy link

Motivation and Context

CAMB.ai provides multilingual AI-powered audio services. This PR adds a connector that integrates CAMB.ai capabilities into Semantic Kernel, enabling developers to use text-to-speech, speech-to-text, translation, voice cloning, and other audio features through the standard SK service interfaces.

Description

Adds a new camb connector under semantic_kernel/connectors/ai/camb/ with the following components:

Services:

  • CambTextToAudio — TTS service supporting multiple output formats (WAV, MP3, FLAC, OGG, PCM, Mu-law) via MARS models
  • CambAudioToText — Speech-to-text transcription service with async task polling

Plugin:

  • CambPlugin — Kernel plugin exposing 6 additional features as kernel functions:
    • translate — Translate text between 140+ languages
    • translated_tts — Translate and synthesize speech in one call
    • clone_voice — Create custom voice clones from audio samples
    • list_voices — List available voices with metadata
    • text_to_sound — Generate sound effects/music from text descriptions
    • separate_audio — Separate vocals from background tracks

Configuration:

  • CambSettings — Pydantic-based settings with environment variable support (CAMB_API_KEY)
  • CambTextToAudioExecutionSettings / CambAudioToTextExecutionSettings — Request configuration

Other:

  • Optional dependency camb-sdk added to pyproject.toml
  • 40 unit tests covering all services, plugin, settings, and execution settings
  • Sample script (camb_all_features.py) demonstrating all 8 features

Test Plan

  • uv run pre-commit run -a — all hooks pass (ruff, bandit, pyupgrade, etc.)
  • uv run mypy --config-file mypy.ini semantic_kernel/connectors/ai/camb/ — no issues in 8 source files
  • uv run pytest tests/unit/connectors/ai/camb/ -v — 40/40 tests pass

@neilruaro-camb neilruaro-camb requested a review from a team as a code owner February 20, 2026 08:44
@moonbox3 moonbox3 added the python Pull requests for the Python Semantic Kernel label Feb 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

python Pull requests for the Python Semantic Kernel

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants