阿里云通义千问开源两款语音基座模型分别是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分享我的学习心得,项目经验和行业动态。如果你对某个领域感兴趣,或者想要了解更多技术干货,请关注我的账号,一起成长!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/42948.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用八股搭建神经网络

神经网络搭建八股 使用tf.keras 六步法搭建模型 1.import 2.train, test 指定输入特征/标签 3.model tf.keras.model.Sequential 在Squential,搭建神经网络 4.model.compile 配置训练方法&#xff0c;选择哪种优化器、损失函数、评测指标 5.model.fit 执行训练过程&a…

送给我亲爱的Python

亲爱的 Python&#xff0c; 在万物皆代码的世界里&#xff0c;你是我最优雅、最高效的算法。自从第一次遇见你&#xff0c;在那行“Hello, World!”之后&#xff0c;我的世界就被点亮了。你的简洁性和强大的功能&#xff0c;让我深深着迷&#xff0c;就像一个精心设计的函数&am…

数据结构双向循环链表

主程序 #include "fun.h" int main(int argc, const char *argv[]) { double_p Hcreate_head(); insert_head(H,10); insert_head(H,20); insert_head(H,30); insert_head(H,40); insert_tail(H,50); show_link(H); del_tail(H); …

Python 传递参数和返回值

Python是一种功能强大的编程语言&#xff0c;它以其简洁和易用性而广受欢迎。在Python编程中&#xff0c;参数传递和返回值是函数调用中两个非常重要的概念。理解这些概念对于编写高效且可维护的代码至关重要。 一、参数传递 在Python中&#xff0c;函数参数可以通过以下几种…

Linux 网络时间同步:NTP 与 Chrony 的终极对决

Linux 网络时间同步&#xff1a;NTP 与 Chrony 的终极对决 在网络世界中&#xff0c;时间同步是一项至关重要的任务。无论是确保分布式系统的一致性&#xff0c;还是维护安全协议的完整性&#xff0c;准确的时间同步都是必不可少的。网络时间协议&#xff08;NTP&#xff09;和…

Golang期末作业之电子商城(源码)

作品介绍 1.网页作品简介方面 &#xff1a;主要有&#xff1a;首页 商品详情 购物车 订单 评价 支付 总共 5个页面 2.作品使用的技术:这个作品基于Golang语言&#xff0c;并且结合一些前端的知识&#xff0c;例如:HTML、CSS、JS、AJAX等等知识点&#xff0c;同时连接数据库的&…

统信UOS软件包标识化工具deepin-sbom-tools使用

原文链接&#xff1a;统信UOS上使用软件包标识化工具deepin-sbom-tools Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于在统信UOS上使用软件包标识化工具deepin-sbom-tools的文章。deepin-sbom-tools是一个强大的工具&#xff0c;可以帮助开发者和系统管理员更好…

Linux初始化新的git仓库

1.在git服务器上找到项目常部署的git地址可以根据其他项目的git地址确认 例如ssh://git192.168.10.100/opt/git/repository.git 用户名&#xff1a;git&#xff08;前面的是用户&#xff09; 服务器地址&#xff1a;192.168.10.100 git仓库路径&#xff1a;/opt/git/ 2.在服务器…

数据结构之折半查找

折半查找的算法思想&#xff1a; 折半查找又称二分查找&#xff0c;它仅仅适用于有序的顺表。 折半查找的基本思想&#xff1a;首先将给定值key与表中中间位置的元素&#xff08;mid的指向元素&#xff09;比较。midlowhigh/2&#xff08;向下取整&#xff09; 若key与中间元…

C#—Json序列化和反序列化

C#—Json序列化和反序列化 在C#中&#xff0c;可以使用System.Web.Script.Serialization.JavaScriptSerializer类来序列化和反序列化JSON数据。 可以使用Newtonsoft.Json库进行JSON的序列化。 可以使用.NET内置的System.Text.Json库来进行JSON的序列化。 json文件格式 [ { …

搜索引擎优化培训机构怎么选?这篇文章告诉你答案

搜索引擎优化&#xff08;SEO&#xff09;已成为网络生存必备技能。然而面对众多培训机构&#xff0c;如何选择优秀者&#xff1f;本文将为您揭晓此事&#xff0c;助您找到腾飞之地。 一、培训机构的多样性&#xff1a;琳琅满目的选择 当前SEO培训市场繁芜复杂&#xff0c;既…

C++ 八股(1)

C语言中strcpy为什么不安全&#xff1f;如何解决&#xff1f; 主要原因是缺乏对输入长度的边界检查&#xff0c;容易导致缓冲区溢出漏洞。 解决&#xff1a;可以使用strncpy函数替代&#xff0c;或者在程序最顶端加入代码段 #define _CRT_SECURE_NO_WARNINGS 缓冲区溢出 …

javascript高级部分笔记

javascript高级部分 Function方法 与 函数式编程 call 语法&#xff1a;call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义&#xff1a;调用一个对象的一个方法&#xff0c;以另一个对象替换当前对象。 说明&#xff1a;call 方法可以用来代替另一个对象调用一个方法。cal…

MySQL运维实战之ProxySQL(9.5)proxysql和MySQL Group Replication配合使用

作者&#xff1a;俊达 如果后端MySQL使用了Group Replication&#xff0c;可通过配置mysql_group_replication_hostgroups表来实现高可用 1 mysql_group_replication_hostgroups 字段描述writer_hostgroup写hostgroup。read_only和super_read_only OFF的节点。backup_writer…

Vue3 pdf.js将二进制文件流转成pdf预览

好久没写东西&#xff0c;19年之前写过一篇Vue2将pdf二进制文件流转换成pdf文件&#xff0c;如果Vue2换成Vue3了&#xff0c;顺带来一篇文章&#xff0c;pdf.js这个东西用来解决内网pdf预览&#xff0c;是个不错的选择。 首先去pdfjs官网&#xff0c;下载需要的文件 然后将下载…

第4章 IT服务规划设计

第4章 IT服务规划设计 4.1 概述 规划设计处于整个IT服务生命周期中的前端&#xff0c;可以帮助IT服务供方了解客户的需求&#xff0c;并对其进行全面的需求分析&#xff0c;然后通过对服务要素&#xff08;包括人员、资源、技术和过程&#xff09;、服务模式和服务方案的具体…

OpenHarmony4.x 系统模拟器环境

先下载源码和编译程序&#xff1a; 首先查看 OpenHarmony4.1源码下载、编译&#xff0c;生成OHOS_Image可执行文件的最简易流程 准备在QEMU模拟器中运行ARM Cortex-M4的轻型开源鸿蒙系统 官方支持的开发板和模拟器种类-编译形态整体说明OpenAtom OpenHarmony 已支持的示例工…

ArduPilot开源代码之AP_MSP

ArduPilot开源代码之AP_MSP 1. 源由2. Library设计2.1 启动代码2.2 支持特性2.3 MSP DisplayPort v.s. DJI FPV OSD 3. 重要例程3.1 AP_MSP::init3.2 AP_MSP::loop3.3 AP_MSP::init_backend 4. 实例理解5. 总结6. 参考资料 1. 源由 AP_MSP是处理MSP协议格式的报文数据应用类。…

反向业务判断逻辑

业务功能需求&#xff1a; 根据id扣减用户余额 包括&#xff1a;判断用户状态是否正常判断用户余额是否充足 正向逻辑&#xff1a; 判断用户为正常下&#xff0c;判断用户余额充足&#xff0c;进行余额扣减&#xff1b; 》正向逻辑&#xff0c;多重嵌套&#xff0c;代码不美观…

✈️一文带你入门【NestJS】

✈️引言 在现代Web开发领域&#xff0c;框架和技术的迭代速度令人咋舌。其中&#xff0c;NestJS作为一款基于Node.js的后端框架&#xff0c;以其卓越的设计理念和强大的功能集&#xff0c;迅速吸引了众多开发者的眼球。本文将带你深入了解NestJS的起源、发展&#xff0c;以及…