mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-07 05:39:05 +08:00
添加了 TTS 相关服务并更新了设置
This commit is contained in:
parent
80a9ad517e
commit
be67580230
@ -59,7 +59,7 @@ const DraggableVoiceCallWindow: React.FC<Props> = ({
|
|||||||
// 启动语音通话
|
// 启动语音通话
|
||||||
await VoiceCallService.startCall({
|
await VoiceCallService.startCall({
|
||||||
onTranscript: (text) => setTranscript(text),
|
onTranscript: (text) => setTranscript(text),
|
||||||
onResponse: (text) => {
|
onResponse: (_) => {
|
||||||
// 这里不设置response,因为响应会显示在聊天界面中
|
// 这里不设置response,因为响应会显示在聊天界面中
|
||||||
},
|
},
|
||||||
onListeningStateChange: setIsListening,
|
onListeningStateChange: setIsListening,
|
||||||
|
|||||||
@ -1475,6 +1475,18 @@
|
|||||||
"title": "[to be translated]:语音功能",
|
"title": "[to be translated]:语音功能",
|
||||||
"help": "[to be translated]:语音功能包括文本转语音(TTS)和语音识别(ASR)。",
|
"help": "[to be translated]:语音功能包括文本转语音(TTS)和语音识别(ASR)。",
|
||||||
"learn_more": "[to be translated]:了解更多"
|
"learn_more": "[to be translated]:了解更多"
|
||||||
|
},
|
||||||
|
"voice_call": {
|
||||||
|
"tab_title": "[to be translated]:通话功能",
|
||||||
|
"enable": "[to be translated]:启用语音通话",
|
||||||
|
"enable.help": "[to be translated]:启用后可以使用语音通话功能与AI进行对话",
|
||||||
|
"model": "[to be translated]:通话模型",
|
||||||
|
"model.select": "[to be translated]:选择模型",
|
||||||
|
"model.current": "[to be translated]:当前模型: {{model}}",
|
||||||
|
"model.info": "[to be translated]:选择用于语音通话的AI模型,不同模型可能有不同的语音交互体验",
|
||||||
|
"asr_tts_info": "[to be translated]:语音通话使用上面的语音识别(ASR)和语音合成(TTS)设置",
|
||||||
|
"test": "[to be translated]:测试通话",
|
||||||
|
"test_info": "[to be translated]:请使用输入框右侧的语音通话按钮进行测试"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"translate": {
|
"translate": {
|
||||||
@ -1529,7 +1541,9 @@
|
|||||||
"press_to_talk": "[to be translated]:长按说话",
|
"press_to_talk": "[to be translated]:长按说话",
|
||||||
"release_to_send": "[to be translated]:松开发送",
|
"release_to_send": "[to be translated]:松开发送",
|
||||||
"initialization_failed": "[to be translated]:初始化语音通话失败",
|
"initialization_failed": "[to be translated]:初始化语音通话失败",
|
||||||
"error": "[to be translated]:语音通话出错"
|
"error": "[to be translated]:语音通话出错",
|
||||||
|
"initializing": "[to be translated]:正在初始化语音通话...",
|
||||||
|
"ready": "[to be translated]:语音通话已就绪"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1475,6 +1475,18 @@
|
|||||||
"start_failed": "[to be translated]:开始录音失败",
|
"start_failed": "[to be translated]:开始录音失败",
|
||||||
"transcribe_failed": "[to be translated]:语音识别失败"
|
"transcribe_failed": "[to be translated]:语音识别失败"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"voice_call": {
|
||||||
|
"tab_title": "[to be translated]:通话功能",
|
||||||
|
"enable": "[to be translated]:启用语音通话",
|
||||||
|
"enable.help": "[to be translated]:启用后可以使用语音通话功能与AI进行对话",
|
||||||
|
"model": "[to be translated]:通话模型",
|
||||||
|
"model.select": "[to be translated]:选择模型",
|
||||||
|
"model.current": "[to be translated]:当前模型: {{model}}",
|
||||||
|
"model.info": "[to be translated]:选择用于语音通话的AI模型,不同模型可能有不同的语音交互体验",
|
||||||
|
"asr_tts_info": "[to be translated]:语音通话使用上面的语音识别(ASR)和语音合成(TTS)设置",
|
||||||
|
"test": "[to be translated]:测试通话",
|
||||||
|
"test_info": "[to be translated]:请使用输入框右侧的语音通话按钮进行测试"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"translate": {
|
"translate": {
|
||||||
@ -1529,7 +1541,9 @@
|
|||||||
"press_to_talk": "[to be translated]:长按说话",
|
"press_to_talk": "[to be translated]:长按说话",
|
||||||
"release_to_send": "[to be translated]:松开发送",
|
"release_to_send": "[to be translated]:松开发送",
|
||||||
"initialization_failed": "[to be translated]:初始化语音通话失败",
|
"initialization_failed": "[to be translated]:初始化语音通话失败",
|
||||||
"error": "[to be translated]:语音通话出错"
|
"error": "[to be translated]:语音通话出错",
|
||||||
|
"initializing": "[to be translated]:正在初始化语音通话...",
|
||||||
|
"ready": "[to be translated]:语音通话已就绪"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1475,6 +1475,18 @@
|
|||||||
"start_failed": "[to be translated]:开始录音失败",
|
"start_failed": "[to be translated]:开始录音失败",
|
||||||
"transcribe_failed": "[to be translated]:语音识别失败"
|
"transcribe_failed": "[to be translated]:语音识别失败"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"voice_call": {
|
||||||
|
"tab_title": "[to be translated]:通话功能",
|
||||||
|
"enable": "[to be translated]:启用语音通话",
|
||||||
|
"enable.help": "[to be translated]:启用后可以使用语音通话功能与AI进行对话",
|
||||||
|
"model": "[to be translated]:通话模型",
|
||||||
|
"model.select": "[to be translated]:选择模型",
|
||||||
|
"model.current": "[to be translated]:当前模型: {{model}}",
|
||||||
|
"model.info": "[to be translated]:选择用于语音通话的AI模型,不同模型可能有不同的语音交互体验",
|
||||||
|
"asr_tts_info": "[to be translated]:语音通话使用上面的语音识别(ASR)和语音合成(TTS)设置",
|
||||||
|
"test": "[to be translated]:测试通话",
|
||||||
|
"test_info": "[to be translated]:请使用输入框右侧的语音通话按钮进行测试"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"translate": {
|
"translate": {
|
||||||
@ -1529,7 +1541,9 @@
|
|||||||
"press_to_talk": "[to be translated]:长按说话",
|
"press_to_talk": "[to be translated]:长按说话",
|
||||||
"release_to_send": "[to be translated]:松开发送",
|
"release_to_send": "[to be translated]:松开发送",
|
||||||
"initialization_failed": "[to be translated]:初始化语音通话失败",
|
"initialization_failed": "[to be translated]:初始化语音通话失败",
|
||||||
"error": "[to be translated]:语音通话出错"
|
"error": "[to be translated]:语音通话出错",
|
||||||
|
"initializing": "[to be translated]:正在初始化语音通话...",
|
||||||
|
"ready": "[to be translated]:语音通话已就绪"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -721,8 +721,12 @@ const Inputbar: FC<Props> = ({ assistant: _assistant, setActiveTopic, topic }) =
|
|||||||
setText(data.text);
|
setText(data.text);
|
||||||
|
|
||||||
// 如果有指定模型,切换到该模型
|
// 如果有指定模型,切换到该模型
|
||||||
if (data.model && data.model !== model) {
|
if (data.model) {
|
||||||
setModel(data.model);
|
// 查找对应的模型对象
|
||||||
|
const modelObj = assistant.model?.id === data.model ? assistant.model : undefined;
|
||||||
|
if (modelObj) {
|
||||||
|
setModel(modelObj);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 使用延时确保文本已经设置到输入框
|
// 使用延时确保文本已经设置到输入框
|
||||||
@ -740,8 +744,12 @@ const Inputbar: FC<Props> = ({ assistant: _assistant, setActiveTopic, topic }) =
|
|||||||
});
|
});
|
||||||
|
|
||||||
// 如果有指定模型,设置模型
|
// 如果有指定模型,设置模型
|
||||||
if (data.model && data.model !== model) {
|
if (data.model) {
|
||||||
userMessage.model = { id: data.model };
|
// 查找对应的模型对象
|
||||||
|
const modelObj = assistant.model?.id === data.model ? assistant.model : undefined;
|
||||||
|
if (modelObj) {
|
||||||
|
userMessage.model = modelObj;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 分发发送消息的action
|
// 分发发送消息的action
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user