음성 설정
Speech to Text (STT) 및 Text to Speech (TTS) 기능 구성
음성 기능 소개
음성 구성(Speech Configuration)에는 통합된 speech: 섹션 하위에 음성 인식(STT) 및 음성 합성(TTS)을 위한 설정이 포함되어 있습니다. 또한, 사용자별 설정을 위한 새로운 speechTab 메뉴가 추가되었습니다.
참고: 자세한 YAML 구성 스키마 및 사용 가능한 모든 옵션은 Speech Object Structure 문서를 참조하세요.
환경 변수
클라우드 기반 STT/TTS 서비스를 사용할 때는 .env 파일에 API 키를 설정해야 합니다:
# 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그런 다음 이 키들은 ${STT_API_KEY} 및 ${TTS_API_KEY}를 사용하여 librechat.yaml 구성에서 참조됩니다.
Speech 탭 (선택 사항)
speechTab 메뉴는 대화 및 고급 모드에 대한 사용자 지정 옵션과 STT 및 TTS에 대한 상세 설정을 제공합니다. 이는 사용자들을 위한 기본 설정을 지정합니다.
예시:
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)
Speech-to-Text (STT) 기능은 음성을 텍스트로 변환합니다. STT를 활성화하려면 STT 버튼(전송 버튼 근처)을 클릭하거나 ++Ctrl+Alt+L++ 키 조합을 사용하여 받아쓰기를 시작하세요.
사용 가능한 STT 서비스
- 로컬 STT
- 브라우저 기반
- Whisper (LocalAI에서 테스트됨)
- 클라우드 STT
- OpenAI Whisper
- Azure Whisper
- 기타 OpenAI 호환 STT 서비스
로컬 STT 구성하기
-
Browser-based
별도의 설정이 필요하지 않습니다. 음성 설정 탭에서 "Speech To Text" 스위치가 활성화되어 있는지 확인하고, 엔진 드롭다운에서 "Browser"가 선택되어 있는지 확인하세요.
-
Whisper Local
로컬 Whisper 인스턴스가 필요합니다.
speech:
stt:
openai:
url: 'http://host.docker.internal:8080/v1/audio/transcriptions'
model: 'whisper'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'Azure 엔드포인트 도메인 지원
instanceName 필드는 다음 두 가지 Azure OpenAI 도메인 형식을 모두 지원합니다:
- 새로운 형식:
.cognitiveservices.azure.com(예:my-instance.cognitiveservices.azure.com) - 레거시 형식:
.openai.azure.com(예:my-instance.openai.azure.com)
전체 도메인 또는 인스턴스 이름 중 하나를 지정할 수 있습니다. .azure.com을 포함한 전체 도메인을 제공하면 그대로 사용됩니다. 그렇지 않은 경우, 하위 호환성을 위해 레거시 .openai.azure.com 형식이 적용됩니다.
OpenAI Whisper 섹션을 참조하여 필요에 따라 url 및 model을 조정하세요.
예시
speech:
stt:
openai:
url: 'http://host.docker.internal:8080/v1/audio/transcriptions'
model: 'whisper'TTS (Text-to-Speech)
Text-to-Speech (TTS) 기능은 작성된 텍스트를 음성으로 변환합니다. 다양한 TTS 서비스를 사용할 수 있습니다:
사용 가능한 TTS 서비스
- 로컬 TTS
- 브라우저 기반
- Piper (LocalAI에서 테스트됨)
- Coqui (LocalAI에서 테스트됨)
- 클라우드 TTS
- OpenAI TTS
- Azure OpenAI
- ElevenLabs
- 기타 OpenAI/ElevenLabs 호환 TTS 서비스
로컬 TTS 구성하기
별도의 설정이 필요하지 않습니다. 음성 설정 탭에서 "Text To Speech" 스위치가 활성화되어 있는지 확인하고, 엔진 드롭다운에서 "Browser"가 선택되어 있는지 확인하세요.
로컬 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"로컬 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'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']Azure 엔드포인트 도메인 지원
instanceName 필드는 다음 두 가지 Azure OpenAI 도메인 형식을 모두 지원합니다:
- 새로운 형식:
.cognitiveservices.azure.com(예:my-instance.cognitiveservices.azure.com) - 레거시 형식:
.openai.azure.com(예:my-instance.openai.azure.com)
전체 도메인 또는 인스턴스 이름 중 하나를 지정할 수 있습니다. .azure.com을 포함한 전체 도메인을 제공하면 그대로 사용됩니다. 그렇지 않은 경우, 하위 호환성을 위해 레거시 .openai.azure.com 형식이 적용됩니다.
speech:
tts:
elevenlabs:
apiKey: '${TTS_API_KEY}'
model: 'eleven_multilingual_v2'
voices: ['202898wioas09d2', 'addwqr324tesfsf', '3asdasr3qrq44w', 'adsadsa']다음과 같이 ElevenLabs 관련 추가 매개변수를 추가할 수 있습니다:
voice_settings:
similarity_boost: '' # number
stability: '' # number
style: '' # number
use_speaker_boost: # boolean
pronunciation_dictionary_locators: [''] # list of strings (array)OpenAI TTS 섹션을 참조하여 필요에 따라 url 변수를 조정하세요.
예시:
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']ElevenLabs 섹션을 참조하여 필요에 따라 url 변수를 조정하세요.
예시:
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']이 가이드는 어떤가요?