Skip to content

mxyhi/voice-copy

Repository files navigation

CosyVoice Desktop (Tauri)

FunAudioLLM/CosyVoice 封装为桌面应用,目标是本地开箱即用。

架构

  • 前端:React + TypeScript + Vite
  • 桌面壳:Tauri v2 (Rust)
  • 推理后端:Python sidecar (FastAPI) + CosyVoice AutoModel
  • 资源打包:
    • src-tauri/resources/models/Fun-CosyVoice3-0.5B-2512(模型)
    • src-tauri/resources/runtime/<target>/cosyvoice-sidecar(完整 sidecar 运行目录,含 Python 运行时与依赖)

运行时原则

  • App 启动时只使用 resources 内置资源,不依赖宿主机 Python、宿主机 pip 包、宿主机模型目录。
  • 为了确保“无脑使用”,请先执行 pnpm prepare:desktop 产出完整内置运行时。

平台支持

  • macOS: 支持(Apple Silicon / Intel)
  • Windows: 支持(x64,建议 Windows 11)
  • 注意:sidecartauri 安装包需要在对应平台本机构建,不支持跨平台直接产出。

一次性准备

说明:模型文件较大,不适合进 git;本项目提供构建前自动拉取脚本。

  1. 克隆 CosyVoice 源码(含 submodule):
pnpm bootstrap:cosyvoice
  1. 下载默认模型(FunAudioLLM/Fun-CosyVoice3-0.5B-2512):
pnpm fetch:model
  1. 构建 sidecar 运行目录(包含 Python 运行时和依赖):
pnpm build:sidecar

也可一步执行:

pnpm prepare:desktop

开发运行

pnpm install
pnpm tauri:dev

macOS / Windows 依赖建议

  • Python: 3.10(建议)
  • Rust: stable(已安装 cargo
  • Node.js: >=20
  • Windows 额外建议:
    • 使用 PowerShell 或 Windows Terminal
    • 安装 Visual Studio C++ Build Tools(用于部分 Python 科学计算依赖编译)

资源校验

打包前会自动执行资源校验(模型目录 + sidecar 二进制):

pnpm verify:resources

打包

pnpm tauri:build

环境变量(可选)

  • COSYVOICE_MODEL_DIR: 覆盖模型目录(默认走 resources/models/Fun-CosyVoice3-0.5B-2512)。
  • COSYVOICE_SIDECAR_BIN: 强制指定 sidecar 可执行文件路径(仅调试时建议使用)。
  • COSYVOICE_SPEAKER_STORE: 覆盖导入音色持久化文件路径(默认使用应用数据目录)。

当前实现范围

  • 已支持:
    • SFT 文本合成(inference_sft
    • 参考音频导入克隆音色(add_zero_shot_spk)+ 导入音色跨重启持久化
    • 官方 demo 近似推理模式:auto/sft/zero_shot/cross_lingual/instruct2
    • seed/speed/text_frontend 参数透传
    • 本地 WAV 播放/下载
  • 暂未接入:voice-conversion(inference_vc)UI 流程。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors