Ustawienia mowy
Konfiguracja funkcji zamiany mowy na tekst (STT) oraz tekstu na mowę (TTS)
Wprowadzenie do mowy
Konfiguracja mowy (Speech Configuration) obejmuje ustawienia zarówno dla zamiany mowy na tekst (STT), jak i tekstu na mowę (TTS) w ramach ujednoliconej sekcji speech:. Dodatkowo dostępna jest nowa karta speechTab w menu ustawień użytkownika.
Zobacz także: Szczegółowy schemat konfiguracji YAML oraz wszystkie dostępne opcje znajdują się w dokumentacji Speech Object Structure.
Zmienne środowiskowe
Podczas korzystania z usług STT/TTS opartych na chmurze, należy ustawić klucze API w pliku .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-keyTe klucze są następnie przywoływane w konfiguracji librechat.yaml przy użyciu ${STT_API_KEY} oraz ${TTS_API_KEY}.
Karta mowy (opcjonalne)
Menu speechTab zapewnia konfigurowalne opcje dla trybów konwersacji i zaawansowanego, a także szczegółowe ustawienia dla STT i TTS. Pozwoli to na określenie domyślnych ustawień dla użytkowników.
przykład:
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)
Funkcja zamiany mowy na tekst (STT) konwertuje wypowiedziane słowa na tekst pisany. Aby włączyć STT, kliknij przycisk STT (znajdujący się obok przycisku wysyłania) lub użyj kombinacji klawiszy ++Ctrl+Alt+L++, aby rozpocząć transkrypcję.
Dostępne usługi STT
- Lokalne STT
- Oparte na przeglądarce
- Whisper (przetestowano na LocalAI)
- Cloud STT
- OpenAI Whisper
- Azure Whisper
- Inne usługi STT kompatybilne z OpenAI
Konfigurowanie lokalnego STT
-
Browser-based
Nie wymaga konfiguracji. Upewnij się, że przełącznik "Speech To Text" w zakładce ustawień mowy jest włączony, a w menu rozwijanym silnika wybrano opcję "Browser".
-
Whisper Local
Wymaga lokalnej instancji Whisper.
speech:
stt:
openai:
url: 'http://host.docker.internal:8080/v1/audio/transcriptions'
model: 'whisper'Konfigurowanie 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'Obsługa domeny endpointu Azure
Pole instanceName obsługuje oba formaty domen Azure OpenAI:
- Nowy format:
.cognitiveservices.azure.com(np.my-instance.cognitiveservices.azure.com) - Starszy format:
.openai.azure.com(np.my-instance.openai.azure.com)
Możesz podać pełną domenę lub tylko nazwę instancji. Jeśli podasz pełną domenę, w tym .azure.com, zostanie ona użyta w niezmienionej formie. W przeciwnym razie, dla zachowania kompatybilności wstecznej, zostanie zastosowany starszy format .openai.azure.com.
Zapoznaj się z sekcją OpenAI Whisper, dostosowując url oraz model w razie potrzeby.
przykład
speech:
stt:
openai:
url: 'http://host.docker.internal:8080/v1/audio/transcriptions'
model: 'whisper'TTS (Text-to-Speech)
Funkcja Text-to-Speech (TTS) przekształca tekst pisany na słowa mówione. Dostępne są różne usługi TTS:
Dostępne usługi TTS
- Lokalny TTS
- Oparte na przeglądarce
- Piper (przetestowano na LocalAI)
- Coqui (przetestowano na LocalAI)
- Cloud TTS
- OpenAI TTS
- Azure OpenAI
- ElevenLabs
- Inne usługi TTS kompatybilne z OpenAI/ElevenLabs
Konfigurowanie lokalnego TTS
Nie jest wymagana żadna konfiguracja. Upewnij się, że przełącznik "Text To Speech" w zakładce ustawień mowy jest włączony, a w menu rozwijanym silnika wybrano opcję "Browser".
Wymaga lokalnej instancji 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"Wymaga lokalnej instancji 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'Konfigurowanie 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']Obsługa domeny endpointu Azure
Pole instanceName obsługuje oba formaty domen Azure OpenAI:
- Nowy format:
.cognitiveservices.azure.com(np.my-instance.cognitiveservices.azure.com) - Starszy format:
.openai.azure.com(np.my-instance.openai.azure.com)
Możesz podać pełną domenę lub tylko nazwę instancji. Jeśli podasz pełną domenę, w tym .azure.com, zostanie ona użyta w niezmienionej formie. W przeciwnym razie, dla zachowania kompatybilności wstecznej, zostanie zastosowany starszy format .openai.azure.com.
speech:
tts:
elevenlabs:
apiKey: '${TTS_API_KEY}'
model: 'eleven_multilingual_v2'
voices: ['202898wioas09d2', 'addwqr324tesfsf', '3asdasr3qrq44w', 'adsadsa']Dodatkowe parametry specyficzne dla ElevenLabs można dodać w następujący sposób:
voice_settings:
similarity_boost: '' # number
stability: '' # number
style: '' # number
use_speaker_boost: # boolean
pronunciation_dictionary_locators: [''] # list of strings (array)Zapoznaj się z sekcją OpenAI TTS, dostosowując zmienną url w razie potrzeby
przykład:
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']Zapoznaj się z sekcją ElevenLabs, dostosowując zmienną url w razie potrzeby
przykład:
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']Jaka jest ta instrukcja?