Skip to content

Add Microsoft Azure Cognitive Services Text-to-Speech #4

@stone-alex

Description

@stone-alex

Description

Add Microsoft Azure Cognitive Services Text-to-Speech as a second TTS backend.
Provider is auto-detected from API key format (same mechanism as STT).

Why

  • For Players who want Azure neural voices
  • Zero config for users
  • Full backwards compatibility with existing GoogleTTS

Acceptance criteria

  • Implement elite.intel.ai.mouth.MouthInterface in new class AzureTTS
  • Singleton, zero DI – exact same pattern as GoogleTTS
  • Dynamically loaded via elite.intel.ai.ApiFactory using KeyDetector.detectProvider(apiKey, "TTS")
  • Full support for elite.intel.ai.mouth.AiVoices enum with on-the-fly voice switching
  • Properly fire IsSpeakingEvent(true/false) via EventBusManager to block STT while speaking
  • No Python, no JNI, no native packages → pure Azure Java SDK only
  • Works on Windows and Linux
  • Builds and runs with ./gradlew run and fat-jar
  • Provide temporary Azure key to maintainer for CI testing

Useful links

Difficulty: Medium (mirror GoogleTTS + voice list handling)

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions