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-keyKunci-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: trueSTT (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?