- Spegnimento
- 29 settembre 2026 alle ore 02:32 UTC
- Autore
- Kamo
- Impegno
- 16db29f
L'adattatore hard-coded output format=mp3 44100 128 su ogni chiamata, quindi un chiamante chiedendo E5 per wav (o kamoai-voice chiedendo per pcm, su ogni telefonata) ancora ottenuto mp3 indietro — un decodifica extra perdente più un rivendita sul percorso di chiamata, e un violazione del contratto silenziosa per qualsiasi altro chiamante di /api/ai/v1/audio/speech. synthesize() ora mappa la risposta format di AudioController al proprio ElevenLabs output format: pcm/wav entrambi fetch pcm 24000 (convenzione PCM propria di AIService, decodifica 24 kamoai-voice con codice rigido 24 kHz) con wav avvolto in un reale Intestazione RIFF/WAVE qui (ElevenLabs non invia mai uno), mp3 mantiene mp3 44100 128, opus mappe a opus 48000 128, e un ulaw esplicito mappe a ulaw 8000. Un formato ElevenLabs non può parlare (ac, flac) viene rifiutato davanti in modo che il router cada torna a un modello che può, invece di male silenziosamente smapping a mp3. The dichiarato mimeType ora corrisponde sempre i byte restituiti, non qualsiasi Contenuto-Tipo il venditore è accaduto di inviare. kamoai-voice chiede già per pcm e legge AIService ha dichiarato Content-Type piuttosto che fidarsi della propria richiesta, quindi non è stato necessario alcun cambiamento: si ottiene reale, corrispondente-tasso PCM ora invece di un decoded-and-resampled mp3. Test (SpeechVendorFamiliesTest, rosso poi verde contro un falso ElevenLabs server): ogni mappa di risposta format al formato di output giusto, il wav wrapper è un valido 44 byte RIFF/WAVE header intorno ai byte PCM intatti, un formato non supportato viene respinto prima di qualsiasi chiamata HTTP, e mp3 è invariato.
