CosyVoice安装过程详解

CosyVoice安装过程详解

安装过程参考官方文档

前情提要

  1. 环境:Windows子系统WSL下安装的Ubunt22.4
  2. python环境管理:MiniConda3
  3. git

1. Clone代码

$ git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
# 若是submodule下载失败,要先进入CosyVoice目录再执行以下命令,可以多次执行直到submodule安装成功,会有Successfully提示。
cd CosyVoice
git submodule update --init --recursive

2. 创建虚拟环境

官方使用conda,本次示例使用的是miniconda,都是一样的。

$ conda create -n cosyvoice python=3.10
# 激活环境
$ conda activate cosyvoice
# 安装 pynini
$ pynini是WeTextProcessing所需,若是没有用到ttsfrd的话,默认是使用WeTextProcessing,
$ conda install -y -c conda-forge pynini==2.1.5
# 安装依赖包
# 这是基于刚刚我们进入的CosyVoice目录下执行的命令,若是执行失败,请先注意一下执行文件所在目录
$ pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
# 若是conda环境已经添加阿里云源的话,-i后面的参数可忽略
# 如果有遇到sox安装问题的话,可执行以下命令
# ubuntu
$ sudo apt-get install sox libsox-dev
# centos
$ sudo yum install sox sox-devel

3. 下载模型

本示例使用git下载,若是git下载不下来,可去魔搭社区搜索下载

# 创建模型存放目录,注意目前所在目录依旧是在CosyVoice/下
$ mkdir -p pretrained_models
# git clone 模型,命令分开执行,可以按需下载所要的模型
$ git clone https://www.modelscope.cn/iic/CosyVoice2-0.5B.git pretrained_models/CosyVoice2-0.5B
$ git clone https://www.modelscope.cn/iic/CosyVoice-300M.git pretrained_models/CosyVoice-300M
$ git clone https://www.modelscope.cn/iic/CosyVoice-300M-25Hz.git pretrained_models/CosyVoice-300M-25Hz
$ git clone https://www.modelscope.cn/iic/CosyVoice-300M-SFT.git pretrained_models/CosyVoice-300M-SFT
$ git clone https://www.modelscope.cn/iic/CosyVoice-300M-Instruct.git pretrained_models/CosyVoice-300M-Instruct
$ git clone https://www.modelscope.cn/iic/CosyVoice-ttsfrd.git pretrained_models/CosyVoice-ttsfrd

注意这里:若是需要ttsfrd模型,那要执行以下步骤,若是不需要就忽略它

# 安装ttsfrd模型
$ cd pretrained_models/CosyVoice-ttsfrd/
$ unzip resource.zip -d .
$ pip install ttsfrd_dependency-0.1-py3-none-any.whl
$ pip install ttsfrd-0.4.2-cp310-cp310-linux_x86_64.whl

PS: 下载下来的ttsfrd有两个包,一个是cp38和cp310,旧的官方文档里python是3.8,那就选择cp38的包,本示例python=3.10,所以用的是cp310的包
在这里插入图片描述

4. 添加环境变量

这条命令不知道是不是tts安装时所需,我第一次安装时没有执行这条命令也是可以运行。

$ export PYTHONPATH=third_party/Matcha-TTS

5. 运行UI

在CosyVoice目录下执行以下命令,可打开UI页面快速熟悉。

$  python3 webui.py --port 50000 --model_dir pretrained_models/CosyVoice-300M
# --model_dir指向刚刚我们下载的模型地址,可启动不同的模型试试看

6. 结束

### CosyVoice2-0.5B API 文档与使用实例 对于希望集成或利用CosyVoice2-0.5B API的应用开发者而言,理解其文档结构以及掌握基本调用方式至关重要。虽然具体到CosyVoice2-0.5B的官方说明未直接提及于此处提供的参考资料中,但从一般性的API设计原则出发,并借鉴其他相似框架如Django REST framework (DRF)[^1]的经验,可以推测该语音合成服务可能遵循类似的模式。 #### 获取API文档 通常情况下,现代Web APIs会提供交互式的在线文档来帮助开发人员快速上手。假设CosyVoice2-0.5B也采用了这种做法,则可以通过访问类似于`/api-docs/`这样的URL路径获取详细的接口描述: ```python from django.urls import path from rest_framework.documentation import include_docs_urls urlpatterns = [ path("cosyvoice-api-docs/", include_docs_urls(title="CosyVoice2-0.5B API")), ] ``` 此配置允许用户通过浏览器或其他HTTP客户端浏览完整的API定义。 #### 使用CoreAPI进行自动化测试 为了简化对接口的理解过程并加速开发周期,许多RESTful风格的服务支持基于CoreAPI标准自动生成客户端库的功能。这意味着一旦熟悉了基础架构之后,就可以轻松创建Python脚本来进行功能验证: ```python import coreapi client = coreapi.Client() schema = client.get('http://example.com/cosyvoice-api-docs/') action = ['speech', 'synthesize'] params = { "text": "你好世界", } result = client.action(schema, action, params=params) print(result['audio_url']) ``` 上述代码片段展示了如何向指定的文字转语音转换端点发送请求,并接收返回的声音文件链接作为响应的一部分。 #### 安全性和认证机制 考虑到涉及敏感数据传输的安全需求,在实际部署环境中应当考虑加入身份验证措施以保护资源免受未经授权的操作影响。这可以在设置路由规则时显式声明所需的权限类目完成: ```python path( "secure-cosyvoice/", include_docs_urls( title="Secured CosyVoice2-0.5B API", authentication_classes=[], permission_classes=[] ) ), ``` 这里展示了一个安全版本的API入口示例,其中去除了默认的身份验证和授权约束以便适应不同的应用场景需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值