海外访问:www.kdjingpai.com
Ctrl + D 收藏本站

CosyVoice 是一个开源的多语言语音生成模型,专注于高质量的文本转语音(TTS)技术。它支持多种语言的语音合成,提供零样本语音生成、跨语言语音克隆和细粒度情感控制等功能。Cos–

yVoice 2.0 相比上一版本,显著降低了30%到50%的发音误差,音质和韵律自然度大幅提升,MOS评分从5.4提高到5.53。它通过简化的模型架构和优化算法,实现低延迟的流式和非流式语音合成,适用于实时交互场景。项目提供完整的推理、训练和部署支持,开发者可轻松上手,适合语音助手、配音和多语言内容创作等应用。

开放服务:CosyVoice:阿里推出的3秒急速语音克隆开源项目,支持情感控制标签

 

功能列表

  • 零样本语音生成:基于短音频样本生成与目标声音相似的语音,无需额外训练。
  • 跨语言语音合成:支持多语言语音生成,保持音色一致性,适用于全球内容创作。
  • 细粒度情感控制:支持添加笑声、停顿等情感表达,生成更自然的语音。
  • 方言和口音调整:可生成特定方言(如四川话)或口音的语音,增强本地化体验。
  • 流式语音合成:支持低延迟流式输出,首包延迟低至150ms,适合实时应用。
  • 模型训练支持:提供预训练模型和从头训练的完整流程,满足开发者需求。
  • 高音质输出:优化音质和韵律,MOS评分达到5.53,接近商业化水平。

 

使用帮助

安装流程

要使用 CosyVoice,首先需要安装必要的环境和依赖。以下是详细的安装步骤,确保用户能够快速配置并运行项目。

  1. 安装 Conda
    CosyVoice 推荐使用 Conda 管理环境。请访问 https://docs.conda.io/en/latest/miniconda.html 下载并安装 Miniconda。然后创建并激活虚拟环境:

    conda create -n cosyvoice python=3.10
    conda activate cosyvoice
    

  1. 安装依赖
    使用 pip 安装项目所需的 Python 包。由于网络原因,建议使用国内镜像源(如阿里云):

    pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
    

    安装 pynini(用于文本处理):

    conda install -y -c conda-forge pynini==2.1.5
    
  2. 解决 sox 兼容性问题
    如果遇到 sox 相关问题,根据操作系统安装 sox:

    • Ubuntu
      sudo apt-get install sox libsox-dev
      
    • CentOS
      sudo yum install sox sox-devel
      
  3. 下载预训练模型
    CosyVoice 提供多个预训练模型(如 CosyVoice2-0.5BCosyVoice-300MCosyVoice-300M-SFT 和 CosyVoice-300M-Instruct)。用户可从 GitHub 仓库下载这些模型并放置在 pretrained_models 目录下。另需下载 CosyVoice-ttsfrd 资源以支持文本前端处理。
  4. 克隆项目代码
    使用 Git 克隆 CosyVoice 仓库,并确保子模块正确加载:

    git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
    cd CosyVoice
    git submodule update --init --recursive
    

使用方法

CosyVoice 提供多种功能模块,包括零样本语音生成、跨语言合成和指令式语音生成。以下是具体操作流程。

零样本语音生成

零样本语音生成允许用户基于短音频样本生成目标音色的语音。例如,生成一段带有特定音色的语音:

from cosyvoice import CosyVoice2
import torchaudio
cosyvoice = CosyVoice2('pretrained_models/CosyVoice2-0.5B', load_jit=False, load_trt=False, fp16=False)
prompt_speech_16k = torchaudio.load('./asset/zero_shot_prompt.wav')[0]
for i, j in enumerate(cosyvoice.inference_zero_shot(
'收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐,笑容如花儿般绽放。',
'希望你以后能够做的比我还好呦。',
prompt_speech_16k,
stream=False)):
torchaudio.save(f'zero_shot_{i}.wav', j['tts_speech'], cosyvoice.sample_rate)
  • 操作步骤
    1. 准备一段 16kHz 的提示音频(如 zero_shot_prompt.wav)。
    2. 调用 inference_zero_shot 方法,传入目标文本、提示文本和音频。
    3. 保存生成的语音文件。
  • 注意:若需复现官网结果,请设置 text_frontend=False

跨语言语音合成

跨语言合成支持生成多语言语音,并保持音色一致。例如,生成带有笑声的语音:

for i, j in enumerate(cosyvoice.inference_cross_lingual(
'在他讲述那个荒诞故事的过程中,他突然[laughter]停下来,因为他自己也被逗笑了[laughter]。',
prompt_speech_16k,
stream=False)):
torchaudio.save(f'fine_grained_control_{i}.wav', j['tts_speech'], cosyvoice.sample_rate)
  • 操作步骤
    1. 准备提示音频。
    2. 在文本中添加情感标签(如 [laughter]),具体支持的标签见 cosyvoice/tokenizer/tokenizer.py#L248
    3. 保存生成的语音文件。

指令式语音生成

指令式生成支持指定方言或风格。例如,生成四川话语音:

for i, j in enumerate(cosyvoice.inference_instruct2(
'收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐,笑容如花儿般绽放。',
'用四川话说这句话',
prompt_speech_16k,
stream=False)):
torchaudio.save(f'instruct_{i}.wav', j['tts_speech'], cosyvoice.sample_rate)
  • 操作步骤
    1. 提供目标文本和指令(如“用四川话说”)。
    2. 使用提示音频生成语音。
    3. 保存输出文件。

流式合成

流式合成适合实时应用,首包延迟低至150ms。设置 stream=True 即可启用流式输出,具体代码参考上述示例。

其他注意事项

  • 模型选择:推荐使用 CosyVoice2-0.5B 模型以获得最佳音质和性能。
  • 环境配置:确保 Python 版本为 3.10,依赖安装无误。
  • 调试:若克隆子模块失败,多次运行 git submodule update --init --recursive 直到成功。
  • 文档参考:更多细节见 cosyvoice/tokenizer/tokenizer.py 和官方文档 https://funaudiollm.github.io/cosyvoice2

 

应用场景

  1. 语音助手开发
    CosyVoice 的低延迟流式合成和多语言支持非常适合开发智能语音助手。开发者可利用零样本生成快速定制个性化音色,生成自然流畅的语音回复,提升用户交互体验。
  2. 多语言内容创作
    内容创作者可使用跨语言合成功能,快速生成多语言配音。例如,为视频或播客生成英语、汉语或其他语言的语音,保持音色一致,降低制作成本。
  3. 教育与语言学习
    CosyVoice 支持方言和情感控制,可用于语言学习应用,生成特定口音或情感的语音,帮助学习者练习听力和发音。
  4. 影视与游戏配音
    影视和游戏开发者可利用细粒度情感控制生成带有笑声、停顿等效果的语音,增强角色表现力,提升作品沉浸感。

 

QA

  1. CosyVoice 支持哪些语言?
    CosyVoice 支持多种语言的语音合成,具体语言列表可在官方文档或 cosyvoice/tokenizer/tokenizer.py 中查看,覆盖常见语言和部分方言。
  2. 如何降低语音生成的延迟?
    使用流式合成模式(stream=True)可将首包延迟降至150ms。确保使用高性能硬件和优化后的模型(如 CosyVoice2-0.5B)。
  3. 是否需要训练模型?
    不需要。CosyVoice 提供预训练模型,直接下载即可使用。若需定制,可参考官方文档从头训练。
  4. 如何添加自定义音色?
    使用 inference_zero_shot 方法,传入目标音频样本和提示文本即可生成自定义音色。保存音色信息可调用 cosyvoice.add_zero_shot_spk
0已收藏
0已赞

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

邮箱

联系我们

回顶部

zh_CN简体中文