当前位置: 首页 > news >正文

阿里云通义千问开源两款语音基座模型分别是SenseVoice和CosyVoice

阿里巴巴近期发布了开源语音大模型项目FunAudioLLM,该项目包含了两个核心模型:SenseVoice和CosyVoice。可以精准多语言识别并且进行语音克隆。

SenseVoice:精准多语言识别与情感辨识

SenseVoice主要致力于高精度多语言语音识别、情感辨识和音频事件检测,支持超过50种语言的识别,其效果显著优于现有的Whisper模型,尤其在中文和粤语识别上提升超过50%。该模型不仅能够准确识别语音,还能辨别音乐、掌声、笑声、哭声、咳嗽和喷嚏等常见人机交互事件。多方面的测试显示,SenseVoice在情感辨识能力上也取得了行业领先的成果,能够检测到多种情感表现。

语音识别效果

我们在开源基准数据集(包括 AISHELL-1、AISHELL-2、Wenetspeech、Librispeech和Common Voice)上比较了SenseVoice与Whisper的多语言语音识别性能和推理效率。在中文和粤语识别效果上,SenseVoice-Small模型具有明显的效果优势。

在这里插入图片描述

情感识别效果

由于目前缺乏被广泛使用的情感识别测试指标和方法,我们在多个测试集的多种指标进行测试,并与近年来Benchmark上的多个结果进行了全面的对比。所选取的测试集同时包含中文/英文两种语言以及表演、影视剧、自然对话等多种风格的数据,在不进行目标数据微调的前提下,SenseVoice能够在测试数据上达到和超过目前最佳情感识别模型的效果。

在这里插入图片描述

同时,我们还在测试集上对多个开源情感识别模型进行对比,结果表明,SenseVoice-Large模型可以在几乎所有数据上都达到了最佳效果,而SenseVoice-Small模型同样可以在多数数据集上取得超越其他开源模型的效果。

在这里插入图片描述

事件检测效果

尽管SenseVoice只在语音数据上进行训练,它仍然可以作为事件检测模型进行单独使用。我们在环境音分类ESC-50数据集上与目前业内广泛使用的BEATS与PANN模型的效果进行了对比。SenseVoice模型能够在这些任务上取得较好的效果,但受限于训练数据与训练方式,其事件分类效果专业的事件检测模型相比仍然有一定的差距。

在这里插入图片描述

CosyVoice:自然语音生成的新标杆

CosyVoice则聚焦于自然语音生成,支持多语言、音色和情感控制,涵盖中文、英文、日文、粤语和韩语五种语言的生成。与传统语音生成模型相比,CosyVoice在生成效果上有显著提升。它仅需要3至10秒的原始音频,即可生成模拟音色,包含韵律和情感等细节,甚至能够实现跨语言的语音生成。
此外,CosyVoice还支持通过富文本或自然语言形式,对生成语音的情感和韵律进行细粒度控制,大大提升了生成语音在情感表现力上的细腻程度。

产品优势

  • 高度拟人化:采用阿里通义语音实验室自研的CosyVoice 生成式神经网络语音大模型算法,使生成的语音在语调、韵律、情感表达等方面达到超拟人程度。

  • 多样化音色选择:提供海量优质的音库资源,包括不同性别、年龄、方言以及各种特色声音,满足用户在不同场景下的个性化需求。无论是新闻播报的庄重严肃,还是故事讲述的情感丰富,都能轻松驾驭。

  • 实时高效合成:系统具有出色的响应速度和流式语音合成处理能力,无论是长篇文档还是短句指令,都能实现快速、准确的实时语音合成。

  • 支持富语言声音事件以及多情感的高拟人语音生成,例如笑声、语气词等,以及不同情感表现的高拟人语音生成。

  • 灵活应用广泛:适用于多种应用场景,如智能客服、有声读物、车载导航、教育辅导等,极大地拓宽了语音交互的可能性,提升用户体验的同时,也为企业智能化转型提供了强大支持。

目前两个模型均可在 ModelSpace 和 HuggingFace 上找到并下载。

我在Lab上按照 Github 二者的 README.md运行了。但是发现官方使用 Python 8 且 Pytorch都没用上 Ver 2,所以我直接照着requirements.txt 在默认 Python 10 的 Lab 环境上运行:

SenseVoice

jupyter notebook

!pip install torch torchaudio modelscope huggingface huggingface_hub funasr numpy
from funasr import AutoModelmodel_dir = "iic/SenseVoiceSmall"
input_file = ("https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav"
)model = AutoModel(model=model_dir,vad_model="fsmn-vad",vad_kwargs={"max_single_segment_time": 30000},trust_remote_code=True, device="cuda:0")res = model.generate(input=input_file,cache={},language="zh", # "zn", "en", "yue", "ja", "ko", "nospeech"use_itn=False,batch_size_s=0,
)print(res)

CosyVoice

jupyter notebook

!pip install conformer deepspeed diffusers gdown gradio grpcio grpcio-tools hydra-core HyperPyYAML inflect librosa lightning matplotlib modelscope networkx omegaconf onnxruntime-gpu onnxruntime openai-whisper protobuf pydantic rich soundfile tensorboard torch torchaudio wget!apt-get install sox libsox-dev
import os
os.chdir('/content/CosyVoice')# SDK模型下载
from modelscope import snapshot_download
snapshot_download('iic/CosyVoice-300M', local_dir='pretrained_models/CosyVoice-300M')
snapshot_download('iic/CosyVoice-300M-SFT', local_dir='pretrained_models/CosyVoice-300M-SFT')
snapshot_download('iic/CosyVoice-300M-Instruct', local_dir='pretrained_models/CosyVoice-300M-Instruct')
snapshot_download('iic/CosyVoice-ttsfrd', local_dir='pretrained_models/CosyVoice-ttsfrd')
!export PYTHONPATH=third_party/Matcha-TTS
!pip install matcha-tts
import os
os.chdir('/content/CosyVoice')from cosyvoice.cli.cosyvoice import CosyVoice
from cosyvoice.utils.file_utils import load_wav
import torchaudiocosyvoice = CosyVoice('pretrained_models/CosyVoice-300M-SFT')
# sft usage
print(cosyvoice.list_avaliable_spks())
output = cosyvoice.inference_sft('你好,我是通义生成式语音大模型,请问有什么可以帮您的吗?', '中文女')
torchaudio.save('sft.wav', output['tts_speech'], 22050)cosyvoice = CosyVoice('pretrained_models/CosyVoice-300M')
# zero_shot usage, <|zh|><|en|><|jp|><|yue|><|ko|> for Chinese/English/Japanese/Cantonese/Korean
prompt_speech_16k = load_wav('zero_shot_prompt.wav', 16000)
output = cosyvoice.inference_zero_shot('收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐,笑容如花儿般绽放。', '希望你以后能够做的比我还好呦。', prompt_speech_16k)
torchaudio.save('zero_shot.wav', output['tts_speech'], 22050)
# cross_lingual usage
prompt_speech_16k = load_wav('cross_lingual_prompt.wav', 16000)
output = cosyvoice.inference_cross_lingual('<|en|>And then later on, fully acquiring that company. So keeping management in line, interest in line with the asset that\'s coming into the family is a reason why sometimes we don\'t buy the whole thing.', prompt_speech_16k)
torchaudio.save('cross_lingual.wav', output['tts_speech'], 22050)cosyvoice = CosyVoice('pretrained_models/CosyVoice-300M-Instruct')
# instruct usage, support <laughter></laughter><strong></strong>[laughter][breath]
output = cosyvoice.inference_instruct('在面对挑战时,他展现了非凡的<strong>勇气</strong>与<strong>智慧</strong>。', '中文男', 'Theo \'Crimson\', is a fiery, passionate rebel leader. Fights with fervor for justice, but struggles with impulsiveness.')
torchaudio.save('instruct.wav', output['tts_speech'], 22050)

个人感觉平台更靠向ModelSpace。哎,学不完,根本学不完!

我会定期在CSDN分享我的学习心得,项目经验和行业动态。如果你对某个领域感兴趣,或者想要了解更多技术干货,请关注我的账号,一起成长!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 在Spring Boot项目中集成单点登录解决方案
  • vue 搭建 pinia
  • 14.爬虫---Selenium 经典动态渲染工具的使用
  • MATLAB基础应用精讲-【数模应用】RFM模型
  • 若依vue集成electron实现打包exe应用程序
  • 自建搜索引擎-基于美丽云
  • 法律智能的新纪元:Transformer模型在智能法律咨询的突破性应用
  • 苹果笔记本电脑能玩哪些游戏 苹果电脑可以玩的单机游戏推荐
  • Hospital Management System v4.0 SQL 注入漏洞(CVE-2022-24263)
  • 使用ssh服务器管理远程主机
  • MAVAE
  • Mac系统清理工具:您的数字生活杂务处理师
  • 【JVM基础篇】Java的四种垃圾回收算法介绍
  • ‘wget‘ 不是内部或外部命令,也不是可运行的程序
  • U-net和U²-Net网络详解
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • [LeetCode] Wiggle Sort
  • 08.Android之View事件问题
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • eclipse(luna)创建web工程
  • golang 发送GET和POST示例
  • happypack两次报错的问题
  • Promise面试题,控制异步流程
  • Python语法速览与机器学习开发环境搭建
  • SQL 难点解决:记录的引用
  • tab.js分享及浏览器兼容性问题汇总
  • XForms - 更强大的Form
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 浅谈Golang中select的用法
  • 让你的分享飞起来——极光推出社会化分享组件
  • 山寨一个 Promise
  • 探索 JS 中的模块化
  • 在Mac OS X上安装 Ruby运行环境
  • 正则学习笔记
  • 积累各种好的链接
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • ​香农与信息论三大定律
  • $(function(){})与(function($){....})(jQuery)的区别
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (4)事件处理——(7)简单事件(Simple events)
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (笔试题)合法字符串
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (五)关系数据库标准语言SQL
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (转)C#调用WebService 基础
  • (转)Linq学习笔记
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .bat批处理(一):@echo off
  • .gitignore不生效的解决方案
  • .net2005怎么读string形的xml,不是xml文件。
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken