魔搭ModelScope社区 2024年12月16日
CosyVoice再升级,可扩展流式语音合成
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

通义实验室推出CosyVoice 2,这是一款改进的多语言语音合成模型。它通过有限标量量化、简化模型架构和块感知因果流匹配等技术,实现了高质量的流式语音合成,显著降低了延迟并提高了实时性。该模型支持双向流式语音合成,首包合成延迟仅150ms,且音质损失极小。在发音准确率、稳定性和自然体验方面,CosyVoice 2也较前代有了显著提升,特别是在零样本语音生成和跨语言语音合成方面表现出色。此外,它还升级了可控音频生成能力,支持更精细的情感控制和方言口音调整。

🚀 **超低延迟**: CosyVoice 2.0采用离线与流式建模相结合的技术,支持双向流式语音合成,首包合成延迟仅150ms,且音质几乎无损。

🎯 **高准确率**: 相比CosyVoice 1.0,新模型将合成音频的发音错误率降低了30%-50%,在硬测试集上实现了目前最低的字符错误率。

💪 **稳定性强**: CosyVoice 2.0保证了零样本语音生成和跨语言语音合成的音色一致性,跨语言合成性能较1.0版本有显著提升。

🎭 **自然体验**: CosyVoice 2.0合成音频在韵律、音质和情感对齐等方面均有大幅提升,MOS评分高达5.53,接近商用大规模语音合成模型水平。

⚙️ **可控生成**: 新模型升级了可控音频生成能力,支持更精细的情感控制和方言口音调整,满足多样化需求。

2024-12-16 18:19 浙江

通义实验室推出的改进版多语言语音合成模型CosyVoice 2,通过有限标量量化、简化模型架构和块感知因果流匹配,实现了高质量的流式语音合成,具有低延迟和实时性,提升了交互体验。

01


引言



通义实验室在前期的工作中提出了基于监督离散语音标记的多语言语音合成模型CosyVoice。通过使用两种流行的生成模型:语言模型 (LM) 和流匹配进行渐进式语义解码,CosyVoice 在语音语境学习中实现了较高的韵律自然度、内容一致性和说话人相似性。近年来,多模态大型语言模型 (LLM) 取得了重大进展,其中语音合成的响应延迟和实时性对交互体验至关重要。因此,本文提出了一种改进的流式语音合成模型CosyVoice 2,并进行了全面而系统的优化。


首先,引入有限标量量化来提高语音tokens的codebase利用率。其次,简化了文本-语音 LM 的模型架构,以便可以直接使用预训练的 LLM 作为主干。此外,设计了一个块感知的因果流匹配模型以适应不同的合成场景。因此,可以在单个模型中执行流式和非流式合成。通过在大型多语言数据集上进行训练,CosyVoice 2 实现了与人类相当的合成质量,并且具有非常低的响应延迟和实时性。


小编敲黑板,模型特点:

超低延迟:CosyVoice 2.0引入了离线与流式建模相结合的大规模语音生成模型技术,支持双向流式语音合成,首包合成延迟可达150ms,且音质损失极小。


高准确率:与CosyVoice 1.0相比,CosyVoice 2.0将合成音频的发音错误率降低了30%-50%,在Seed-TTS评估集的硬测试集上实现了目前最低的字符错误率。


稳定性强:CosyVoice 2.0 保证了零样本语音生成和跨语言语音合成的音色一致性,跨语言合成性能较 1.0 版本有显著提升。


自然体验:CosyVoice 2.0 合成音频的韵律、音质、情感对齐等均较 1.0 版本有大幅提升,MOS 评分由 5.4 提升至 5.53(商用大规模语音合成模型可比得分 5.52)。此外,CosyVoice 2.0 升级了可控音频生成能力,支持更精细的情感控制和方言口音调整。


模型链接:

https://modelscope.cn/models/iic/CosyVoice2-0.5B


体验链接:

https://modelscope.cn/studios/iic/CosyVoice2-0.5B


02


模型体验



零样本上下文生成

Prompt

来自魔搭ModelScope社区音频:对,这就是我,万人敬仰的太乙真人,虽然有点幼稚肥大,但也掩盖


Generated 1

来自魔搭ModelScope社区音频:突然,身边一阵笑声。我看着他们,意气风发地挺直了胸膛,甩了甩


Generated 2

来自魔搭ModelScope社区音频:不少人从四面八方赶来,只为目睹我的风采。看,他们眼中流露出的


跨语言上下文生成

ZH

来自魔搭ModelScope社区音频:如果能对小事感到感激和满足,那他就是幸福的人。


EN

来自魔搭ModelScope社区音频:If one knows how to be grateful and content with small thin


JP

来自魔搭ModelScope社区音频:小さなことに感謝し満足することができれば、その人は幸せな人で


KO

来自魔搭ModelScope社区音频:작은 것을 가지고도 고마워하고 만족할 줄 안다면 그는 행복한


混合语言上下文生成

Prompt

来自魔搭ModelScope社区音频:A chance to leave him alone but no, she just wanted to see


CosyVoice1.0

来自魔搭ModelScope社区音频:文档,首先打开您所使用的文档编辑软件,如打开Microsoft Word或


CosyVoice2.0

来自魔搭ModelScope社区音频:文档,首先打开您所使用的文档编辑软件,如打开Microsoft Word或


更多案例:

https://funaudiollm.github.io/cosyvoice2/


03


模型使用



模型下载:

cli下载

    modelscope download --model iic/CosyVoice2-0.5B


    python SDK下载

      #模型下载from modelscope import snapshot_downloadmodel_dir = snapshot_download('iic/CosyVoice2-0.5B')



      模型推理

      clone代码repo

        git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git# If you failed to clone submodule due to network failures, please run following command until successcd CosyVoicegit submodule update --init --recursivepip install -r requirements.txt

        下载模型到对应路径

          from modelscope import snapshot_downloadsnapshot_download('iic/CosyVoice2-0.5B', local_dir='pretrained_models/CosyVoice2-0.5B')


          指定python路径

            export PYTHONPATH=third_party/Matcha-TTS

            CosyVoice2模型推理

              from cosyvoice.cli.cosyvoice import CosyVoice, CosyVoice2from cosyvoice.utils.file_utils import load_wavimport torchaudiocosyvoice = CosyVoice2('pretrained_models/CosyVoice2-0.5B', load_jit=True, load_onnx=False, load_trt=False)
              # zero_shot usageprompt_speech_16k = load_wav('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)
              # fine grained control, for supported control, check cosyvoice/tokenizer/tokenizer.py#L248prompt_speech_16k = load_wav('zero_shot_prompt.wav', 16000)for i, j in enumerate(cosyvoice.inference_cross_lingual('在他讲述那个荒诞故事的过程中,他突然[laughter]停下来,因为他自己也被逗笑了[laughter]。', prompt_speech_16k, stream=False)): torchaudio.save('fine_grained_control_{}.wav'.format(i), j['tts_speech'], cosyvoice.sample_rate)
              # instruct usagefor i, j in enumerate(cosyvoice.inference_instruct2('收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐,笑容如花儿般绽放。', '用四川话说这句话', prompt_speech_16k, stream=False)): torchaudio.save('instruct_{}.wav'.format(i), j['tts_speech'], cosyvoice.sample_rate)

              模型WebUI部署

              clone创空间代码

                git clone https://www.modelscope.cn/studios/iic/CosyVoice2-0.5B.git

                安装依赖并推理

                  cd CosyVoice2-0.5Bpip install -r requirements.txtpython app.py

                  页面示例


                  点击阅读原文,即可跳转模型链接~





                  ?点击关注ModelScope公众号获取

                  更多技术信息~



                  阅读原文

                  跳转微信打开

                  Fish AI Reader

                  Fish AI Reader

                  AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

                  FishAI

                  FishAI

                  鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

                  联系邮箱 441953276@qq.com

                  相关标签

                  CosyVoice 2 语音合成 低延迟 多语言 AI
                  相关文章