登录  /  注册
博主信息
博文 38
粉丝 0
评论 0
访问量 24610
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
AigcPanel v0.5.0 模型启停优化,新增CosyVoice2模型支持
P粉701620330
原创
177人浏览过

亲爱的AigcPanel用户们,

我们怀着激动的心情宣布,AigcPanel v0.5.0版本正式发布了!这次更新不仅带来了多项性能优化,还新增了对CosyVoice2模型的支持,让您的创作之旅更加丰富多彩!

微信截图\_20250224143454.png

新增 CosyVoice2 模型支持

我们深知声音在创作中的重要性,因此特别引入了CosyVoice2模型。这款模型以其出色的语音合成能力和自然流畅的语调,赢得了众多用户的喜爱。现在,您可以在AigcPanel中轻松使用CosyVoice2,为您的作品增添更加生动、逼真的声音效果。

image.png

软件介绍

AigcPanel 是一个简单易用的一站式AI数字人系统,小白也可使用。 支持视频合成、声音合成、声音克隆,简化本地模型管理、一键导入和使用AI模型。

禁止使用本产品进行违法违规业务,使用本软件请遵守中华人民共和国法律法规。

功能特性

支持视频数字人合成,支持视频画面和声音换口型匹配
支持语音合成、语音克隆,多种声音参数可设置
支持多模型导入、一键启动、模型设置、模型日志查看
支持国际化,支持简体中文、英语
支持多种模型一键启动包:MuseTalk、cosyvoice、cosyvoice2

版本更新 v0.5.0

模型启停优化,新增CosyVoice2模型支持

2025-02-24\
新增:模型添加是否支持检测,过滤不支持的模型\
新增:模型 CosyVoice-0.5b 模型\
新增:模型 CosyVoice-300m-instruct 模型\
优化:导出文件名过滤特殊字符,文件命名失败问题\
优化:优化 Token not found 错误提示,错误显示更加清晰\
优化:模型启动和停止逻辑优化,提高启动成功率

版本更新

v0.2.0 语音模型-CosyVoice-300M
v0.1.0 语音模型-CosyVoice-2.0-0.5B模型
v0.1.0 语音模型-CosyVoice-300M-Instruct模型
v0.4.0 视频模型-MuseTalk

image.png

功能预览

视频合成

image.png

语音克隆

image.png

语音合成

image.png

模型管理

image.png

模型添加

image.png

模型日志

image.png

关于

image.png

安装使用

Windows / Mac

访问 https://aigcpanel.com 下载安装包,一键安装即可\
安装完成后,打开软件,下载模型一键启动包,即可使用。

模型自定义接入

如果有第三方一键启动的模型,可以按照以下方式接入。

模型文件夹格式,只需要编写 config.jsonserver.js 两个文件即可。

|- 模型文件夹/\
|-|- config.json - 模型配置文件\
|-|- server.js - 模型对接文件\
|-|- xxx - 其他模型文件,推荐将模型文件放在 model 文件夹下

config.json 文件示例

  1. "name": "server-xxx", // 模型名称
  2. "version": "0.1.0", // 模型版本
  3. "title": "语音模型", // 模型标题
  4. "description": "模型描述", // 模型描述
  5. "platformName": "win", // 支持系统,win, osx, linux
  6. "platformArch": "x86", // 支持架构,x86, arm64
  7. "entry": "server/main", // 入口文件,一键启动包文件
  8. "functions": [
  9. "videoGen", // 支持视频生成
  10. "soundTTS", // 支持语音合成
  11. "soundClone" // 支持语音克隆
  12. ],
  13. "settings": [ // 模型配置项,可以显示在模型配置页面
  14. {
  15. "name": "port",
  16. "type": "text",
  17. "title": "服务端口",
  18. "default": "",
  19. "placeholder": "留空会检测使用随机端口"
  20. }
  21. ]
  22. }

server.js 文件示例

以下以 MuseTalk 为例

```const serverRuntime = {
port: 0,
}

let shellController = null

module.exports = {
ServerApi: null,
// 模型启动后的路径
_url() {
return http://localhost:${serverRuntime.port}/
},
_send(serverInfo, type, data) {
this.ServerApi.event.sendChannel(serverInfo.eventChannelName, {type, data})
},
// 模型初始化
async init(ServerApi) {
this.ServerApi = ServerApi;
},
// 模型启动
async start(serverInfo) {
console.log(‘start’, JSON.stringify(serverInfo))
this._send(serverInfo, ‘starting’, serverInfo)
let command = []
if (serverInfo.setting?.[‘port’]) {
serverRuntime.port = serverInfo.setting.port
} else if (!serverRuntime.port || !await this.ServerApi.app.isPortAvailable(serverRuntime.port)) {
serverRuntime.port = await this.ServerApi.app.availablePort(50617)
}
if (serverInfo.setting?.[‘startCommand’]) {
command.push(serverInfo.setting.startCommand)
} else {
// 这里是模型启动命令
//command.push("${serverInfo.localPath}/server/main")
}
shellController = await this.ServerApi.app.spawnShell(command, {
cwd: serverInfo.localPath,
env: {
AA:11,
BB:22
},
stdout: (data) => {
this.ServerApi.file.appendText(serverInfo.logFile, data)
},
stderr: (data) => {
this.ServerApi.file.appendText(serverInfo.logFile, data)
},
success: (data) => {
this._send(serverInfo, ‘success’, serverInfo)
},
error: (data, code) => {
this.ServerApi.file.appendText(serverInfo.logFile, data)
this._send(serverInfo, ‘error’, serverInfo)
},
})
},
// 模型启动检测
async ping(serverInfo) {
try {
// const res = await this.ServerApi.request(${this._url()}info)
return true
} catch (e) {
}
return false
},
// 模型停止
async stop(serverInfo) {
this._send(serverInfo, ‘stopping’, serverInfo)
try {
shellController.stop()
shellController = null
} catch (e) {
console.log(‘stop error’, e)
}
this._send(serverInfo, ‘stopped’, serverInfo)
},
// 模型配置
async config() {
return {
“code”: 0,
“msg”: “ok”,
“data”: {
“httpUrl”: shellController ? this._url() : null,
“functions”: {
“videoGen”: {
“param”: [
{
name: “box”,
type: “inputNumber”,
title: “嘴巴张开度”,
defaultValue: -7,
placeholder: “”,
tips: ‘嘴巴张开度可以控制生成视频中嘴巴的张开程度’,
min: -9,
max: 9,
step: 1,
}
]
},
}
}
}
},
// 视频生成
async videoGen(serverInfo, data) {
console.log(‘videoGen’, serverInfo, data)
const resultData = {
// success, querying, retry
type: ‘success’,
start: 0,
end: 0,
jobId: ‘’,
data: {
filePath: null
}
}
resultData.start = Date.now()
// 发送生成命令
// …
// console.log(‘videoGen.result’, JSON.stringify(result))
resultData.end = Date.now()
resultData.data.filePath = result.data[0].value.video.path
return {
code: 0,
msg: ‘ok’,
data: resultData
}
},
}
```

技术栈

electron\
vue3\
typescript\
wav2lip

本地运行开发

仅在 node 20 测试过

安装依赖

npm install

调试运行

npm run dev

打包

npm run build

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学