Spracheinstellungen
Konfiguration der Speech-to-Text (STT)- und Text-to-Speech (TTS)-Funktionen
Einführung zur Sprachausgabe
Die Sprachkonfiguration umfasst Einstellungen für sowohl Speech-to-Text (STT) als auch Text-to-Speech (TTS) unter einem vereinheitlichten speech:-Abschnitt. Zusätzlich gibt es ein neues speechTab-Menü für benutzerspezifische Einstellungen.
Siehe auch: Für ein detailliertes YAML-Konfigurationsschema und alle verfügbaren Optionen siehe die Dokumentation zur Speech Object Structure.
Umgebungsvariablen
Wenn Sie cloudbasierte STT/TTS-Dienste verwenden, müssen Sie die API-Schlüssel in Ihrer .env Datei festlegen:
# 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-keyDiese Schlüssel werden dann in Ihrer librechat.yaml Konfiguration unter Verwendung von ${STT_API_KEY} und ${TTS_API_KEY} referenziert.
Tab "Sprache" (optional)
Das speechTab-Menü bietet anpassbare Optionen für Konversations- und erweiterte Modi sowie detaillierte Einstellungen für STT und TTS. Dies legt die Standardeinstellungen für Benutzer fest.
Beispiel:
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)
Die Speech-to-Text (STT)-Funktion wandelt gesprochene Wörter in geschriebenen Text um. Um STT zu aktivieren, klicken Sie auf die STT-Schaltfläche (in der Nähe der Senden-Schaltfläche) oder verwenden Sie die Tastenkombination ++Ctrl+Alt+L++, um die Transkription zu starten.
Verfügbare STT-Dienste
- Lokale STT
- Browser-basiert
- Whisper (getestet auf LocalAI)
- Cloud-STT
- OpenAI Whisper
- Azure Whisper
- Andere OpenAI-kompatible STT-Dienste
Lokale STT konfigurieren
-
Browser-based
Keine Einrichtung erforderlich. Stellen Sie sicher, dass der Schalter "Speech To Text" im Tab für Spracheinstellungen aktiviert ist und im Engine-Dropdown-Menü "Browser" ausgewählt ist.
-
Whisper Lokal
Erfordert eine lokale Whisper-Instanz.
speech:
stt:
openai:
url: 'http://host.docker.internal:8080/v1/audio/transcriptions'
model: 'whisper'Konfiguration von 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'Unterstützung für Azure Endpoint-Domains
Das Feld instanceName unterstützt beide Azure OpenAI-Domainformate:
- Neues Format:
.cognitiveservices.azure.com(z. B.my-instance.cognitiveservices.azure.com) - Legacy-Format:
.openai.azure.com(z. B.my-instance.openai.azure.com)
Sie können entweder die vollständige Domain oder nur den Instanznamen angeben. Wenn Sie eine vollständige Domain einschließlich .azure.com angeben, wird diese unverändert verwendet. Andernfalls wird aus Gründen der Abwärtskompatibilität das ältere Format .openai.azure.com angewendet.
Siehe den Abschnitt OpenAI Whisper und passe die url sowie das model nach Bedarf an.
Beispiel
speech:
stt:
openai:
url: 'http://host.docker.internal:8080/v1/audio/transcriptions'
model: 'whisper'TTS (Text-to-Speech)
Die Text-to-Speech (TTS)-Funktion wandelt geschriebenen Text in gesprochene Worte um. Es stehen verschiedene TTS-Dienste zur Verfügung:
Verfügbare TTS-Dienste
- Lokale TTS
- Browser-basiert
- Piper (getestet auf LocalAI)
- Coqui (getestet auf LocalAI)
- Cloud TTS
- OpenAI TTS
- Azure OpenAI
- ElevenLabs
- Andere mit OpenAI/ElevenLabs kompatible TTS-Dienste
Lokales TTS konfigurieren
Keine Einrichtung erforderlich. Stellen Sie sicher, dass der Schalter "Text To Speech" im Tab für Spracheinstellungen aktiviert ist und "Browser" im Dropdown-Menü für die Engine ausgewählt wurde.
Erfordert eine lokale Piper-Instanz.
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"Erfordert eine lokale Coqui-Instanz.
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'Konfigurieren von 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']Unterstützung für Azure Endpoint-Domains
Das Feld instanceName unterstützt beide Azure OpenAI-Domainformate:
- Neues Format:
.cognitiveservices.azure.com(z. B.my-instance.cognitiveservices.azure.com) - Legacy-Format:
.openai.azure.com(z. B.my-instance.openai.azure.com)
Sie können entweder die vollständige Domain oder nur den Instanznamen angeben. Wenn Sie eine vollständige Domain einschließlich .azure.com angeben, wird diese unverändert verwendet. Andernfalls wird aus Gründen der Abwärtskompatibilität das ältere Format .openai.azure.com angewendet.
speech:
tts:
elevenlabs:
apiKey: '${TTS_API_KEY}'
model: 'eleven_multilingual_v2'
voices: ['202898wioas09d2', 'addwqr324tesfsf', '3asdasr3qrq44w', 'adsadsa']Zusätzliche ElevenLabs-spezifische Parameter können wie folgt hinzugefügt werden:
voice_settings:
similarity_boost: '' # number
stability: '' # number
style: '' # number
use_speaker_boost: # boolean
pronunciation_dictionary_locators: [''] # list of strings (array)Siehe den OpenAI TTS Abschnitt und passe die url Variable nach Bedarf an.
Beispiel:
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']Siehe den Abschnitt ElevenLabs und passe die Variable url nach Bedarf an.
Beispiel:
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']Wie finden Sie diese Anleitung?