CosyVoice 开源项目使用教程
1. 项目介绍
CosyVoice 是一个多语言大型语音生成模型,提供了推理、训练和部署的全栈能力。它支持中文、英文、日语、韩语以及多种中文方言(如粤语、四川话、上海话等),并能够进行跨语言和混合语言的零样本语音克隆。
2. 项目快速启动
首先,你需要克隆项目仓库并安装所需的依赖。
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
cd CosyVoice
接着,创建并激活 Conda 环境:
conda create -n cosyvoice -y python=3.10
conda activate cosyvoice
安装所需的包:
conda install -y -c conda-forge pynini==2.1.5
pip install -r requirements.txt
如果遇到 sox 兼容性问题,根据你的操作系统安装相应的包:
对于 Ubuntu:
sudo apt-get install sox libsox-dev
对于 CentOS:
sudo yum install sox sox-devel
接下来,下载预训练模型:
from modelscope import snapshot_download
snapshot_download('iic/CosyVoice2-0.5B', local_dir='pretrained_models/CosyVoice2-0.5B')
# 下载其他模型同理
或者使用 git lfs 下载:
mkdir -p pretrained_models
git clone https://www.modelscope.cn/iic/CosyVoice2-0.5B.git pretrained_models/CosyVoice2-0.5B
# 其他模型同理
3. 应用案例和最佳实践
以下是一个使用 CosyVoice2 进行语音合成的示例:
import sys
sys.path.append('third_party/Matcha-TTS')
from cosyvoice.cli.cosyvoice import CosyVoice, CosyVoice2
from cosyvoice.utils.file_utils import load_wav
import torchaudio
# 初始化 CosyVoice2
cosyvoice = CosyVoice2('pretrained_models/CosyVoice2-0.5B', load_jit=False, load_trt=False, fp16=False, use_flow_cache=False)
# 加载提示音频
prompt_speech_16k = load_wav('./asset/zero_shot_prompt.wav', 16000)
# 零样本推理
for i, j in enumerate(cosyvoice.inference_zero_shot('收到好友从远方寄来的生日礼物...', prompt_speech_16k, stream=False)):
torchaudio.save('zero_shot_{}.wav'.format(i), j['tts_speech'], cosyvoice.sample_rate)
4. 典型生态项目
CosyVoice 的生态系统包括多个与之相关的项目和工具,例如用于语音合成的 Matcha-TTS,以及用于文本处理的 WeTextProcessing 等。这些项目共同构成了一个强大的语音合成和处理的生态系统,可以支持各种应用场景,如语音助手、语音转换、语音识别等。
以上就是关于 CosyVoice 开源项目的使用教程,希望能帮助到您。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考