feat: add Edge TTS rate/pitch sliders to voice settings (#629)

Add speed (rate) and pitch controls for Edge TTS provider:
- Frontend: speedToEdgeRate()/hzToEdgePitch() helpers + UI sliders
- Backend: rate/pitch passthrough in OpenaiTtsRequest and controller
- i18n: add edgeRate/edgePitch keys across all 8 languages
- Rate: 0.5x-2.0x slider, Pitch: -20Hz to +20Hz slider
This commit is contained in:
memeflyfly
2026-05-11 21:56:11 +08:00
committed by GitHub
parent 5e608ea338
commit a68b9bf01f
16 changed files with 142 additions and 4 deletions
@@ -11,6 +11,8 @@ export interface OpenaiTtsOptions {
apiKey?: string
model?: string
voice?: string
rate?: string // Edge TTS rate format, e.g. "+20%"
pitch?: string // Edge TTS pitch format, e.g. "-8Hz"
}
export interface SpeechState {
@@ -266,6 +268,9 @@ export function useSpeech() {
input: text,
voice: opts.voice || 'alloy',
}
// Edge TTS proxy 支持 rate/pitch 参数
if (opts.rate) body.rate = opts.rate
if (opts.pitch) body.pitch = opts.pitch
const headers: Record<string, string> = {
'Content-Type': 'application/json',