阿里云通義千問開源兩款語音基座模型分別是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.pswp.cn/web/42948.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/42948.shtml
英文地址,請注明出處:http://en.pswp.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;以及…