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

Pengaturan Suara

Konfigurasi fitur Speech to Text (STT) dan Text to Speech (TTS)

Pengantar Ucapan (Speech)

Konfigurasi Speech mencakup pengaturan untuk Speech-to-Text (STT) dan Text-to-Speech (TTS) di bawah bagian speech: yang terpadu. Selain itu, terdapat menu speechTab baru untuk pengaturan khusus pengguna.

Lihat Juga: Untuk skema konfigurasi YAML yang mendetail dan semua opsi yang tersedia, lihat dokumentasi Speech Object Structure.

Variabel Lingkungan

Saat menggunakan layanan STT/TTS berbasis cloud, Anda perlu mengatur kunci API di dalam file .env Anda:

# 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

Kunci-kunci ini kemudian direferensikan dalam konfigurasi librechat.yaml Anda menggunakan ${STT_API_KEY} dan ${TTS_API_KEY}.

Tab Ucapan (opsional)

Menu speechTab menyediakan opsi yang dapat disesuaikan untuk mode percakapan dan mode lanjutan, serta pengaturan terperinci untuk STT dan TTS. Ini akan menetapkan pengaturan default bagi pengguna.

contoh:

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)

Fitur Speech-to-Text (STT) mengubah kata-kata yang diucapkan menjadi teks tertulis. Untuk mengaktifkan STT, klik tombol STT (di dekat tombol kirim) atau gunakan kombinasi tombol ++Ctrl+Alt+L++ untuk memulai transkripsi.

Layanan STT yang Tersedia

  • STT Lokal
    • Berbasis peramban
    • Whisper (diuji pada LocalAI)
  • Cloud STT
    • OpenAI Whisper
    • Azure Whisper
    • Layanan STT lain yang kompatibel dengan OpenAI

Mengonfigurasi STT Lokal

  • Browser-based

    Tidak diperlukan pengaturan. Pastikan tombol "Speech To Text" di tab pengaturan suara telah diaktifkan dan "Browser" telah dipilih di menu tarik-turun engine.

  • Whisper Local

    Memerlukan instance Whisper lokal.

speech:
  stt:
    openai:
      url: 'http://host.docker.internal:8080/v1/audio/transcriptions'
      model: 'whisper'

Mengonfigurasi 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'

Dukungan Domain endpoint Azure

Kolom instanceName mendukung kedua format domain Azure OpenAI:

  • Format baru: .cognitiveservices.azure.com (contoh: my-instance.cognitiveservices.azure.com)
  • Format lama: .openai.azure.com (contoh: my-instance.openai.azure.com)

Anda dapat menentukan domain lengkap atau hanya nama instans. Jika Anda memberikan domain lengkap termasuk .azure.com, domain tersebut akan digunakan apa adanya. Jika tidak, format .openai.azure.com lama akan diterapkan untuk kompatibilitas mundur.

Lihat bagian OpenAI Whisper, sesuaikan url dan model sesuai kebutuhan.

contoh

speech:
  stt:
    openai:
      url: 'http://host.docker.internal:8080/v1/audio/transcriptions'
      model: 'whisper'

TTS (Text-to-Speech)

Fitur Text-to-Speech (TTS) mengubah teks tertulis menjadi kata-kata yang diucapkan. Berbagai layanan TTS tersedia:

Layanan TTS yang Tersedia

  • TTS Lokal
    • Berbasis peramban
    • Piper (diuji pada LocalAI)
    • Coqui (diuji pada LocalAI)
  • Cloud TTS
    • OpenAI TTS
    • Azure OpenAI
    • ElevenLabs
    • Layanan TTS lain yang kompatibel dengan OpenAI/ElevenLabs

Mengonfigurasi TTS Lokal

Tidak diperlukan pengaturan. Pastikan tombol "Text To Speech" di tab pengaturan suara diaktifkan dan "Browser" dipilih di menu tarik-turun mesin.

Memerlukan instance Piper lokal.

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"

Memerlukan instance Coqui lokal.

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'

Mengonfigurasi 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']

Dukungan Domain endpoint Azure

Kolom instanceName mendukung kedua format domain Azure OpenAI:

  • Format baru: .cognitiveservices.azure.com (contoh: my-instance.cognitiveservices.azure.com)
  • Format lama: .openai.azure.com (contoh: my-instance.openai.azure.com)

Anda dapat menentukan domain lengkap atau hanya nama instans. Jika Anda memberikan domain lengkap termasuk .azure.com, domain tersebut akan digunakan apa adanya. Jika tidak, format .openai.azure.com lama akan diterapkan untuk kompatibilitas mundur.

speech:
  tts:
    elevenlabs:
      apiKey: '${TTS_API_KEY}'
      model: 'eleven_multilingual_v2'
      voices: ['202898wioas09d2', 'addwqr324tesfsf', '3asdasr3qrq44w', 'adsadsa']

Parameter tambahan khusus ElevenLabs dapat ditambahkan sebagai berikut:

      voice_settings:
        similarity_boost: '' # number
        stability: '' # number
        style: '' # number
        use_speaker_boost: # boolean
      pronunciation_dictionary_locators: [''] # list of strings (array)

Lihat bagian OpenAI TTS, sesuaikan variabel url jika diperlukan

contoh:

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']

Lihat bagian ElevenLabs, sesuaikan variabel url jika diperlukan

contoh:

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']

Bagaimana panduan ini?