Tags: LiusCraft/orion-x
Tags
refactor: TTS provider based on unified SDK design (#48) * refactor: tts provider based on unified sdk design - Add unified public types (TextInput, VoiceSelection, AudioConfig, SpeechParams, SynthesizeRequest, etc.) - Define core interfaces (Synthesizer, StreamingSynthesizer, SynthesisStream, WarmableProvider) - Add Capability types (Capabilities, ModelCapability, Feature) for provider query - Add parameter normalization helpers (speed/pitch/volume/emotion mapping) - Simplify Config to APIKey/Endpoint/Model/Voice/SampleRate/Extra - Add ProviderMeta.Description, Features; ModelInfo.SystemVoices; VoiceInfo.Emotions - Provider = Synthesizer, StreamingProvider = StreamingSynthesizer type aliases - Move DashScope adapter to new interfaces, read provider-specific params from Extra - Add complete cosyvoice-v3-flash voice list (50 voices) in meta.go - Update TTSProcessor to use SynthesizeRequest internally - Simplify config.TTSConfig, voicebot.example.json * Sync system providers/models/voices to database via content hashes Add deterministic SHA-256 hashing to ASR/TTS/LLM provider metadata and implement `SyncSystemProviders()` that incrementally syncs code-registered system resources with the database, auto-creating/updating records whose hash changed and removing stale entries. * Switch voice and model listing to language-prefix matching Use the `language.Match` helper for prefix-based language filtering instead of exact string equality. Apply this consistently to both system voices and speech models in the available list endpoint. * Remove deprecated fun-asr model from Aliyun Dashscope ASR --------- Co-authored-by: liuscraft <liuscraft@users.noreply.github.com>