Skip to content

SUTAN-01/AIPET

Repository files navigation

JanusCyn_5.19

基于 Janus-Pro-7BGPT-SoVITS 的本地 AI 桌宠项目,支持:

  • 桌宠悬浮与托盘控制
  • 文本对话
  • 图片+文本多模态问答
  • 文本生图
  • TTS 语音合成与播放

项目为 Windows 本地运行方案,内置 runtime/python.exe 与模型目录,默认通过 run.bat 一键启动。

功能概览

  • 多模态对话:使用 Janus-Pro-7B_0 进行文本/图像理解
  • 图片生成:在桌宠菜单中提供“文本生成图片”
  • 语音合成:通过 api_v2.py 提供 FastAPI TTS 接口(默认 127.0.0.1:9880
  • 语音播放:桌宠自动调用 TTS 接口并播放返回音频
  • 系统托盘:支持显示/隐藏、静音、气泡大小、桌宠大小、退出

技术架构

  • mytest6_2.py
    • PyQt5 桌宠主程序
    • 加载 Janus 模型并处理聊天/生图
    • 调用本地 TTS API 获取语音并播放
  • api_v2.py
    • FastAPI + Uvicorn 启动 TTS 服务
    • 封装 GPT-SoVITS 推理参数与音频流输出
  • run.bat
    • 先启动 TTS API,再延时启动桌宠主程序

环境要求

  • Windows 10/11
  • NVIDIA GPU(代码中强依赖 CUDA)
  • 建议显存 >= 8GB(生图流程会检测显存并给出提示)
  • FFmpeg(用于部分音频封装,例如 AAC)

启动前准备

根据仓库内 说明.txt

  1. 解压 ffmpeg-master-latest-win64-gpl-shared.7zD:\
  2. D:\ffmpeg-master-latest-win64-gpl-shared\bin 加入系统环境变量 PATH

快速开始

在项目根目录双击:

run.bat

run.bat 会执行以下流程:

  1. 启动 runtime\python.exe api_v2.py
  2. 等待 18 秒
  3. 启动 runtime\python.exe mytest6_2.py

注意:

  • 启动后的两个终端窗口都不要关闭
  • 首次加载模型时间较长,属正常现象

目录结构(关键部分)

.
├─ api_v2.py                     # GPT-SoVITS TTS API(FastAPI)
├─ mytest6_2.py                  # 桌宠主程序(PyQt5 + Janus)
├─ run.bat                       # 一键启动脚本
├─ 说明.txt                      # 中文启动说明
├─ Janus-Pro-7B_0/               # Janus 模型目录
├─ GPT_SoVITS/                   # GPT-SoVITS 推理代码
├─ GPT_weights_v2/               # GPT 权重
├─ SoVITS_weights_v2/            # SoVITS 权重
├─ runtime/                      # 内置 Python 运行时与依赖
├─ test_pic/                     # 桌宠皮肤/托盘图
└─ outputs/                      # 生成的临时语音输出

TTS API(简要)

默认地址:http://127.0.0.1:9880

  • GET/POST /tts:文本转语音
  • GET /set_gpt_weights:切换 GPT 权重
  • GET /set_sovits_weights:切换 SoVITS 权重
  • GET /set_refer_audio:设置参考音频
  • GET /control?command=restart|exit:服务控制

示例:

curl "http://127.0.0.1:9880/tts?text=你好&text_lang=zh&ref_audio_path=GPT_SoVITS/ref/cyn.wav&prompt_lang=zh&prompt_text=你好&text_split_method=cut5&media_type=wav"

常见问题

  • 报错“未检测到 CUDA 设备”
    • 当前代码会直接退出,请确认 NVIDIA 驱动与 CUDA 可用
  • TTS 无声音或接口报错
    • 检查 api_v2.py 是否已启动
    • 检查 PATH 是否包含 FFmpeg
  • 启动后响应慢
    • 大模型首次加载较慢,可先观察终端日志

二次开发建议

  • 新功能优先在 mytest6_2.py 中拆分模块(UI、推理、音频解耦)
  • 生产部署建议把模型与权重改为外部配置,不直接提交仓库
  • 建议补充 .gitignore(过滤 outputs/、临时缓存、日志等)

致谢与许可证

  • Janus 模型来自 DeepSeek Janus 系列(请遵循其模型与代码许可证)
  • GPT-SoVITS 请遵循对应项目许可证与使用规范

如用于公开分发,请在发布前补充完整 LICENSE 与第三方依赖声明。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages