AI【应用 03】Windows环境部署 TTS CosyVoice2.0 详细流程记录(Matcha-TTS、spk2info.pt等文件分享)

发布于:2025-07-11 ⋅ 阅读:(58) ⋅ 点赞:(0)

通过网盘分享的文件:CSDN_CosyVoice

链接: https://pan.baidu.com/s/1dJvB3vAnEQ9Li8PFvqhbzQ?pwd=3ngj 提取码: 3ngj

包含全部离线使用文件:

1.离线部署

CosyVoice 2.0 已发布!与 1.0 版相比,新版本提供了更准确、更稳定、更快和更好的语音生成能力。关注技术细节的可以看看官网的《介绍》。源码里的 README.md文件详细描述了 2.0 的新特性、安装、模型下载和使用方法,本文主要记录一个小白的本地部署完整过程。部署环境为一台老旧的没有 GPU 的台式机:

1.1 文件下载

话不多说了,进入主题,先下载源码和模型文件:

模型文件列表:

1.2 环境搭建

Python 代码的运行需要各种依赖,也是最让小白头疼的地方,使用Anaconda会方便很多,以下是官网的搭建脚本:

# 创建虚拟环境
conda create -n cosyvoice -y python=3.10
conda activate cosyvoice

# 安装依赖
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com

安装过程出现的问题:

# 无法下载 torch
Collecting torch==2.3.1 (from -r requirements.txt (line 35))
  Downloading https://download.pytorch.org/whl/cu121/torch-2.3.1%2Bcu121-cp310-cp310-win_amd64.whl (2423.5 MB)
     - -------------------------------------- 0.1/2.4 GB 1.8 MB/s eta 0:22:10
  WARNING: Connection timed out while downloading.

# 在另一台 Linux 电脑上下载
wget -c https://download.pytorch.org/whl/cu121/torch-2.3.1%2Bcu121-cp310-cp310-win_amd64.whl

# 进行离线安装
pip install .\torch-2.3.1+cu121-cp310-cp310-win_amd64.whl -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com

离线安装 torch-2.3.1+cu121-cp310-cp310-win_amd64.whl后继续使用 pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com安装其他依赖。

1.3 运行报错

修改 --model_dir的默认目录:

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('--port',
                        type=int,
                        default=8000)
    parser.add_argument('--model_dir',
                        type=str,
                        default=r'D:\tmp\CosyVoice2-0.5B',
                        help='local path or modelscope repo id')

运行 webui.py,或使用命令运行:

python pathTo\webui.py --port 50000 --model_dir pathTo\CosyVoice2-0.5B\

1.3.1 报错 1

启动时报 pydoc.ErrorDuringImport: problem in cosyvoice.flow.flow_matching - ModuleNotFoundError: No module named 'matcha' 错误:

使用命令 pip install matcha后,再次启动报pydoc.ErrorDuringImport: problem in cosyvoice.flow.flow_matching - ModuleNotFoundError: No module named 'matcha.models';'matcha' is not a package 错误:

解决办法,下载 Matcha-TTS源码,解压到 third_party\Matcha-TTS目录下:

再次启动,访问 localhost:8000即可打开如下界面:

不能高兴的太早!

1.3.2 报错 2

    embedding = self.spk2info[spk_id]['embedding']
KeyError: ''

启动时已初见端倪:

源码里有 spk2info.pt的配置:

self.frontend = CosyVoiceFrontEnd(configs['get_tokenizer'],
                                          configs['feat_extractor'],
                                          '{}/campplus.onnx'.format(model_dir),
                                          '{}/speech_tokenizer_v1.onnx'.format(model_dir),
                                          '{}/spk2info.pt'.format(model_dir),
                                          configs['allowed_special'])

但是 CosyVoice2-0.5B目录下没有 spk2info.pt文件,下载后,再次启动:

页面正常了。

2.正式测试

感谢大佬《doupoa》的博文《CosyVoice2-0.5B在Windows下本地完全部署、最小化部署》指导,以下测试结果数据已上传网盘,感兴趣的小伙伴儿可以下载试听。

原声: 我知道,那件事之后,良爷可能觉得有些事都是老天定的,人怎么做都没用,但我觉得不是这样的。原声.wav

有情感的语音生成: 在他讲述那个荒诞故事的过程中,他突然[laughter]停下来,因为他自己也被逗笑了[laughter]。有情感的语音生成.wav

方言控制: 用四川话说这句话 | 收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐,笑容如花儿般绽放。方言控制.wav

3s急速复刻: 从不谈起自己的故事,仿佛没有过去,是个谜一般的少女。性格沉着冷静,战斗风格异常干练高效,像是经历过常年的训练。3s极速复刻.wav

3s 极速复刻上传的 prompt 音频是之前测试 wisper 的 B站视频录音文件,杂音较多,合唱的声音还是挺不错的,原始文件是 28s,使用原始文件生成语音报错(有可能是电脑配置不行),进行 7s 的 Trim后正常生成。

prompt 原始文件:whisperTest.mp3

3.简单总结

  • Windows 本地部署流程还是有一点儿困难的,特别是对于一个 Java 开发来说。
  • 依赖、模型等占用的空间较多,看看这张图应该就不言而喻了:

  • 原声生成的语音还是挺不错的,只是缺乏一些辨识度。

网站公告

今日签到

点亮在社区的每一天
去签到