Feat: 添加语音云转码功能,系统优化和故障修复 (#378)

* 修复后台API反代地址未能正确显示的问题

* 更新渲染页面配置

* 添加个人聊天模式配置

* 将用户数据获取改到common中

* 修复错误的渲染页面参数

* 修复bug

* 添加Live2D

* 修复渲染页面错误

* 修复渲染传入值

* 更新渲染

* 修复图表渲染bug

* 调整live2d模型大小

* 修复live2d无法关闭问题

* 修复错误的传值

* 修复ai命名

* 更新渲染

* 添加用户独立设定

* 更新渲染配置适配个人设置

* 修复合并导致的渲染文件异常删除

* 修复用户数据缺失问题

* 修复旧版本数据缺失问题

* 修复bing参数不存在问题,兼容miao的截图

* 修复受限token重试时不被排除的问题

* 修复个人模式下结束对话的模式错误

* 更新渲染页面,将预览版转为正式版

* 修复传统渲染无法调用截图功能的问题

* 文字模式也进行一次缓存

* 更新README

* Update README.md

* 更新渲染

* 更新渲染页面

* 添加版本信息

* 遗漏参数

* 丢失引用

* 补充路由

* 添加云转码功能

* 判断node-silk是否正常合成

* 云转码提示

* 修复图片渲染出错
This commit is contained in:
HalcyonAlcedo 2023-04-21 23:36:25 +08:00 committed by GitHub
parent 26b4534cfb
commit 55f060dc5f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 169 additions and 99 deletions

View file

@ -22,12 +22,40 @@ let pcm2slk
try {
pcm2slk = (await import('node-silk')).pcm2slk
} catch (e) {
Config.debug && logger.error(e)
logger.warn('未安装node-silk如ffmpeg不支持amr编码请安装node-silk以支持语音模式')
if (Config.cloudTranscode) {
logger.warn('未安装node-silk将尝试使用云转码服务进行合成')
} else {
Config.debug && logger.error(e)
logger.warn('未安装node-silk如ffmpeg不支持amr编码请安装node-silk以支持语音模式')
}
}
async function uploadRecord (recordUrl) {
const result = await getPttBuffer(recordUrl, Bot.config.ffmpeg_path)
let result
if (pcm2slk) {
result = await getPttBuffer(recordUrl, Bot.config.ffmpeg_path)
} else if (Config.cloudTranscode) {
const resultOption = {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({recordUrl: recordUrl})
}
const resultres = await fetch(`${Config.cloudTranscode}/audio`, resultOption)
if (!resultres.ok) {
return false
}
result = await resultres.json()
if (result.error) {
logger.error('云转码API报错' + result.error)
return false
}
result.buffer = Buffer.from(result.buffer.data)
} else {
return false
}
if (!result.buffer) {
return false
}