Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

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-key

Diese 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: true

STT (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 "Browser" im Engine-Dropdown-Menü ausgewählt wurde.

  • Whisper Local

    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

  • Lokales TTS
    • Browser-basiert
    • Piper (getestet auf LocalAI)
    • Coqui (getestet mit LocalAI)
  • Cloud TTS
    • OpenAI TTS
    • Azure OpenAI
    • ElevenLabs
    • Andere mit OpenAI/ElevenLabs kompatible TTS-Dienste

Lokale TTS konfigurieren

Keine Einrichtung erforderlich. Stellen Sie sicher, dass der Schalter "Text To Speech" im Tab für Spracheinstellungen aktiviert ist und "Browser" im Engine-Dropdown-Menü 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'

Konfiguration 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?