语音设置
语音转文字 (STT) 和文字转语音 (TTS) 功能的配置
语音介绍
语音配置包含统一的 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然后,这些密钥会在您的 librechat.yaml 配置文件中通过 ${STT_API_KEY} 和 ${TTS_API_KEY} 进行引用。
语音选项卡 (可选)
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 (语音转文字)
语音转文字 (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 本地部署
需要一个本地的 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 Endpoint 域名支持
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 (文本转语音)
文本转语音 (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 Endpoint 域名支持
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']这篇指南怎么样?