# CosyVoice CosyVoice多语言、音色和情感控制模型 ## 论文 - [CosyVoice: A Scalable Multilingual Zero-shot Text-to-speech Synthesizer based on Supervised Semantic Tokens](https://fun-audio-llm.github.io/pdf/CosyVoice_v1.pdf) ## 模型结构 CosyVoice 的架构包括文本编码器、语音标记器、大型语言模型和条件流匹配模型。它将文本到语音的转换过程视为一个自回归序列生成问题,并通过条件流匹配模型将语音令牌转换为Mel频谱图,最后使用HiFiGAN声码器合成波形。
## 算法原理 CosyVoice 结合了一个自回归 transformer(transformer)基础的语言模型(模型)来为输入 文本生成语音标记(Token)。一个基于常微分方程(ODE-based)扩散模型,通过流对齐从生成的标记(Token)中重建 Mel 谱。随后,采用基于 HiFTNet 的 声码器从重建的 Mel 谱合成波形。虚线模型在某些应用中是可选的,例如跨 语言克隆和说话者微调推理。
## 环境配置 ### Docker(方法一) [光源](https://www.sourcefind.cn/#/service-details)拉取docker镜像的地址与使用步骤 ``` docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.1.0-ubuntu20.04-dtk24.04.1-py3.10 docker run -it -v /path/your_code_data/:/path/your_code_data/ -v /opt/hyhal/:/opt/hyhal/:ro --shm-size=128G --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name cosyvoice bash cd /path/your_code_data/ pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com pip install --upgrade gradio sudo apt-get install sox libsox-dev export PYTHONPATH=third_party/Matcha-TTS source ~/.bashrc ``` ### Dockerfile(方法二) ``` cd /path/your_code_data/docker docker build --no-cache -t cosyvoice:latest . docker run --shm-size=128G --name cosyvoice -v /opt/hyhal:/opt/hyhal:ro --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video -v /path/your_code_data/:/path/your_code_data/ -it cosyvoice bash pip install --upgrade gradio sudo apt-get install sox libsox-dev export PYTHONPATH=third_party/Matcha-TTS source ~/.bashrc ``` ### Anaconda(方法三) 关于本项目DCU显卡所需的特殊深度学习库可从[光合](https://developer.sourcefind.cn/tool/)开发者社区下载安装。 ``` DTK驱动:dtk24.04 python:python3.10 torch:2.1 torchvision: 0.16.0 deepspped: 0.12.3 gradio:4.42.0 ``` `Tips:以上dtk驱动、python、paddle等DCU相关工具版本需要严格一一对应` 关于本项目DCU显卡所需的特殊深度学习库可从[光合](https://developer.sourcefind.cn/tool/)开发者社区下载安装。 ``` conda create -n cosyvoice python=3.10 conda activate cosyvoice cd /path/your_code_data/ pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple pip install --upgrade gradio sudo apt-get install sox libsox-dev export PYTHONPATH=third_party/Matcha-TTS source ~/.bashrc ``` ## 数据集 无 ## 推理 ### 单机单卡 ``` python cli_demo.py ``` ### 网页web推理 ``` python webui.py --port 7860 --model_dir pretrained_models/CosyVoice-300M ``` - [cross_lingual_prompt](./cross_lingual_prompt.wav) - [zero_shot_prompt](./zero_shot_prompt.wav) ## result ### 语音生成
- [cross_lingual_prompt](./cross_lingual_prompt.wav) - [zero_shot_prompt](./zero_shot_prompt.wav) ### 精度 无 ## 应用场景 ### 算法类别 `语音生成` ### 热点应用行业 `金融,教育,交通,政府` ## 预训练权重 - [CosyVoice-300M](https://huggingface.co/model-scope/CosyVoice-300M) - [CosyVoice-300M-Instruct](https://huggingface.co/model-scope/CosyVoice-300M-Instruct) - [CosyVoice-ttsfrd](https://huggingface.co/FunAudioLLM/CosyVoice-300M-SFT) ## 源码仓库及问题反馈 - https://developer.sourcefind.cn/codes/modelzoo/cosyvoice_pytorch ## 参考资料 - [FunAudioLLM/CosyVoice github](https://github.com/FunAudioLLM/CosyVoice) - [CosyVoice: A Scalable Multilingual Zero-shot Text-to-speech Synthesizer based on Supervised Semantic Tokens](https://fun-audio-llm.github.io/pdf/CosyVoice_v1.pdf)