Skip to content

[TAS-5497] 🔥 Remove Azure TTS provider and xiaochen voice#841

Merged
williamchong merged 1 commit intolikecoin:developfrom
williamchong:feature/tts-ui
Mar 18, 2026
Merged

[TAS-5497] 🔥 Remove Azure TTS provider and xiaochen voice#841
williamchong merged 1 commit intolikecoin:developfrom
williamchong:feature/tts-ui

Conversation

@williamchong
Copy link
Copy Markdown
Member

Azure was the only provider for the xiaochen voice. All TTS now routes through Minimax, so the provider factory, enum, and SDK dependency are no longer needed.

Azure was the only provider for the xiaochen voice. All TTS now routes
through Minimax, so the provider factory, enum, and SDK dependency are
no longer needed.
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes the Azure TTS implementation (previously only used for the xiaochen voice) and simplifies the TTS flow so all server-side synthesis uses the Minimax provider, along with associated dependency/env/docs cleanup.

Changes:

  • Deleted the Azure TTS provider implementation and removed the microsoft-cognitiveservices-speech-sdk dependency.
  • Simplified the TTS provider selection logic in /server/api/reader/tts.get.ts to always use Minimax (and removed the xiaochen voice option).
  • Removed Azure-related runtime config and deployment environment variables; updated docs/examples accordingly.

Reviewed changes

Copilot reviewed 13 out of 14 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
server/utils/tts-minimax.ts Removes enum usage and hardcodes provider id for Minimax implementation.
server/utils/tts-azure.ts Deletes Azure provider implementation.
server/utils/api-tts.ts Removes provider enum and loosens provider typing on the base interface.
server/plugins/validate-env.ts Drops Azure env validation entries.
server/api/reader/tts.get.ts Removes provider factory/mapping and routes all requests through Minimax.
package.json Removes Azure speech SDK dependency.
package-lock.json Removes Azure SDK subtree; lockfile metadata changes (incl. engines).
nuxt.config.ts Removes Azure runtimeConfig entries.
composables/use-tts-voice.ts Removes xiaochen from selectable voices.
apphosting.sepolia.yaml Removes Azure env vars from deployment manifest.
apphosting.mainnet.yaml Removes Azure env vars from deployment manifest.
AGENTS.md Updates docs to no longer mention Azure TTS.
.github/copilot-instructions.md Updates docs to no longer mention Azure TTS.
.env.example Removes Azure env var examples.

You can also share your feedback on Copilot code review. Take the survey.

Comment thread server/utils/api-tts.ts

export interface BaseTTSProvider {
provider: TTSProvider
provider: string
Comment on lines +34 to +43
const KNOWN_VOICE_IDS = new Set(['0', '1', 'aurora', 'pazu', 'phoebe'])

// Provider factory
function getTTSProvider(voiceId: string): BaseTTSProvider {
const voiceProvider = VOICE_PROVIDER_MAPPING[voiceId]
if (!voiceProvider) {
function getTTSProvider(voiceId: string): MinimaxTTSProvider {
if (!KNOWN_VOICE_IDS.has(voiceId)) {
throw createError({
status: 400,
message: 'INVALID_VOICE_ID',
})
}

switch (voiceProvider) {
case TTSProvider.MINIMAX:
return new MinimaxTTSProvider()
case TTSProvider.AZURE:
return new AzureTTSProvider()
default:
throw createError({
status: 500,
message: 'UNSUPPORTED_TTS_PROVIDER',
})
}
return new MinimaxTTSProvider()
@williamchong williamchong merged commit 2a837fe into likecoin:develop Mar 18, 2026
5 checks passed
@williamchong williamchong changed the title 🔥 Remove Azure TTS provider and xiaochen voice [TAS-5497] 🔥 Remove Azure TTS provider and xiaochen voice Mar 19, 2026
@notion-workspace
Copy link
Copy Markdown

TTS: cut 曉晨

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.

2 participants