Impostazioni vocali
Configurazione delle funzionalità Speech to Text (STT) e Text to Speech (TTS)
Introduzione alla sintesi vocale
La configurazione vocale include impostazioni sia per Speech-to-Text (STT) che per Text-to-Speech (TTS) all'interno di una sezione speech: unificata. Inoltre, è presente un nuovo menu speechTab per le impostazioni specifiche dell'utente.
Vedi anche: Per lo schema di configurazione YAML dettagliato e tutte le opzioni disponibili, consulta la documentazione Speech Object Structure.
Variabili d'ambiente
Quando utilizzi servizi STT/TTS basati su cloud, dovrai impostare le chiavi API nel tuo file .env:
# Speech-to-Text API key (e.g., OpenAI Whisper)
STT_API_KEY=your-stt-api-key
# Text-to-Speech API key (e.g., OpenAI TTS, ElevenLabs)
TTS_API_KEY=your-tts-api-keyQueste chiavi vengono quindi referenziate nella configurazione del tuo librechat.yaml utilizzando ${STT_API_KEY} e ${TTS_API_KEY}.
Scheda Speech (opzionale)
Il menu speechTab fornisce opzioni personalizzabili per le modalità conversazione e avanzata, oltre a impostazioni dettagliate per STT e TTS. Questo definirà le impostazioni predefinite per gli utenti.
esempio:
speech:
speechTab:
conversationMode: true
advancedMode: false
speechToText:
engineSTT: "external"
languageSTT: "English (US)"
autoTranscribeAudio: true
decibelValue: -45
autoSendText: 0
textToSpeech:
engineTTS: "external"
voice: "alloy"
languageTTS: "en"
automaticPlayback: true
playbackRate: 1.0
cacheTTS: trueSTT (Speech-to-Text)
La funzionalità Speech-to-Text (STT) converte le parole parlate in testo scritto. Per abilitare STT, clicca sul pulsante STT (vicino al pulsante di invio) o usa la combinazione di tasti ++Ctrl+Alt+L++ per avviare la trascrizione.
Servizi STT disponibili
- STT locale
- Basato su browser
- Whisper (testato su LocalAI)
- Cloud STT
- OpenAI Whisper
- Azure Whisper
- Altri servizi STT compatibili con OpenAI
Configurazione di STT locale
-
Browser-based
Nessuna configurazione richiesta. Assicurati che l'interruttore "Speech To Text" nella scheda delle impostazioni vocali sia attivo e che "Browser" sia selezionato nel menu a tendina del motore.
-
Whisper Locale
Richiede un'istanza locale di Whisper.
speech:
stt:
openai:
url: 'http://host.docker.internal:8080/v1/audio/transcriptions'
model: 'whisper'Configurazione di Cloud STT
speech:
stt:
openai:
apiKey: '${STT_API_KEY}'
model: 'whisper-1'speech:
stt:
azureOpenAI:
instanceName: 'instanceName'
apiKey: '${STT_API_KEY}'
deploymentName: 'deploymentName'
apiVersion: 'apiVersion'Supporto dominio endpoint Azure
Il campo instanceName supporta entrambi i formati di dominio di Azure OpenAI:
- Nuovo formato:
.cognitiveservices.azure.com(ad es.,my-instance.cognitiveservices.azure.com) - Formato legacy:
.openai.azure.com(es.my-instance.openai.azure.com)
È possibile specificare il dominio completo o solo il nome dell'istanza. Se si fornisce un dominio completo che include .azure.com, questo verrà utilizzato così com'è. In caso contrario, verrà applicato il formato legacy .openai.azure.com per garantire la compatibilità con le versioni precedenti.
Fare riferimento alla sezione OpenAI Whisper, regolando url e model come necessario.
esempio
speech:
stt:
openai:
url: 'http://host.docker.internal:8080/v1/audio/transcriptions'
model: 'whisper'TTS (Text-to-Speech)
La funzionalità Text-to-Speech (TTS) converte il testo scritto in parole parlate. Sono disponibili vari servizi TTS:
Servizi TTS disponibili
- TTS Locale
- Basato su browser
- Piper (testato su LocalAI)
- Coqui (testato su LocalAI)
- Cloud TTS
- OpenAI TTS
- Azure OpenAI
- ElevenLabs
- Altri servizi TTS compatibili con OpenAI/ElevenLabs
Configurazione di TTS locale
Nessuna configurazione richiesta. Assicurati che l'interruttore "Text To Speech" nella scheda delle impostazioni vocali sia abilitato e che "Browser" sia selezionato nel menu a discesa del motore.
Richiede un'istanza locale di Piper.
speech:
tts:
localai:
url: "http://host.docker.internal:8080/tts"
apiKey: "EMPTY"
voices: [
"en-us-amy-low.onnx",
"en-us-danny-low.onnx",
"en-us-libritts-high.onnx",
"en-us-ryan-high.onnx",
]
backend: "piper"Richiede un'istanza locale di Coqui.
speech:
tts:
localai:
url: 'http://localhost:8080/v1/audio/synthesize'
voices: ['tts_models/en/ljspeech/glow-tts', 'tts_models/en/ljspeech/tacotron2', 'tts_models/en/ljspeech/waveglow']
backend: 'coqui'Configurazione di Cloud TTS
speech:
tts:
openai:
apiKey: '${TTS_API_KEY}'
model: 'tts-1'
voices: ['alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer']speech:
tts:
azureOpenAI:
instanceName: ''
apiKey: '${TTS_API_KEY}'
deploymentName: ''
apiVersion: ''
model: 'tts-1'
voices: ['alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer']Supporto dominio endpoint Azure
Il campo instanceName supporta entrambi i formati di dominio di Azure OpenAI:
- Nuovo formato:
.cognitiveservices.azure.com(ad es.,my-instance.cognitiveservices.azure.com) - Formato legacy:
.openai.azure.com(es.my-instance.openai.azure.com)
È possibile specificare il dominio completo o solo il nome dell'istanza. Se si fornisce un dominio completo che include .azure.com, questo verrà utilizzato così com'è. In caso contrario, verrà applicato il formato legacy .openai.azure.com per garantire la compatibilità con le versioni precedenti.
speech:
tts:
elevenlabs:
apiKey: '${TTS_API_KEY}'
model: 'eleven_multilingual_v2'
voices: ['202898wioas09d2', 'addwqr324tesfsf', '3asdasr3qrq44w', 'adsadsa']Ulteriori parametri specifici per ElevenLabs possono essere aggiunti come segue:
voice_settings:
similarity_boost: '' # number
stability: '' # number
style: '' # number
use_speaker_boost: # boolean
pronunciation_dictionary_locators: [''] # list of strings (array)Fare riferimento alla sezione OpenAI TTS, regolando la variabile url come necessario
esempio:
speech:
tts:
openai:
url: 'http://host.docker.internal:8080/v1/audio/synthesize'
apiKey: '${TTS_API_KEY}'
model: 'tts-1'
voices: ['alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer']Fare riferimento alla sezione ElevenLabs, regolando la variabile url come necessario
esempio:
speech:
tts:
elevenlabs:
url: 'http://host.docker.internal:8080/v1/audio/synthesize'
apiKey: '${TTS_API_KEY}'
model: 'eleven_multilingual_v2'
voices: ['202898wioas09d2', 'addwqr324tesfsf', '3asdasr3qrq44w', 'adsadsa']Com’è questa guida?