FunAudioLLM:用语音大模型解锁智能语音交互的无限可能

news/2025/2/24 13:47:47/

摘要

随着人工智能技术的飞速发展,语音处理已成为人机交互的核心领域之一。本文将介绍 FunAudioLLM 模型家族中的两个重要成员:SenseVoiceSmall 和 CosyVoice2-0.5B,探讨它们在语音识别、语音合成和情感分析中的应用,并提供实用的部署指南。

引言

FunAudioLLM 模型家族简介FunAudioLLM 是阿里巴巴通义实验室推出的开源语音大模型框架,旨在通过语音理解和生成技术增强人机自然交互。其中,SenseVoiceSmall 和 CosyVoice2-0.5B 是两个核心模型,分别专注于语音识别和语音合成。

  1. SenseVoiceSmall 的功能与特点• 多语言语音识别 SenseVoiceSmall 支持超过 50 种语言,经过超过 40 万小时的数据训练,识别性能优于传统模型(如 Whisper)。• 低延迟推理:采用非自回归端到端架构,10 秒音频的推理仅需 70 毫秒,速度是 Whisper-Large 的 15 倍。• 情感识别:能够检测语音中的情感和常见音频事件(如掌声、笑声、咳嗽等)。• 便捷的微调与部署 提供微调脚本和多语言客户端支持(Python、C++、Java 等),方便开发者根据业务需求进行定制。
  2. CosyVoice2-0.5B 的功能与特点• 轻量高效 参数量仅为 0.5B,体积小,计算资源消耗低,适合在资源受限的设备上运行。• 自然语音合成 支持多语言、音色、说话风格和说话者身份的自然语音生成,合成语音接近真人发音。• 零样本学习与情感语音生成 能够在没有上下文的情况下生成情感丰富的语音,适用于有声书、语音助手等场景。

技术架构

深度学习技术 FunAudioLLM 采用了 Transformer 模型、语音量化编码技术和流匹配技术,显著提升了语音处理的性能。• 数据驱动的优化 模型训练依赖大量标注数据,包括语音、文本和情感标签,以提高识别准确性和语音合成的自然度。

API调用

使用硅基流动的api进行调用官网如下:
在这里插入图片描述
包含很多相关模型以及详细的API使用说明。、
相关链接为硅基官网
完成注册后会送2000万token的算力,注册完后需要申请APIkey作为调用API的入口参数。
在这里插入图片描述

语音识别的api为SenseVoiceSmall,使用免费
在这里插入图片描述
具体调用例子为

import requestsurl = "https://api.siliconflow.cn/v1/audio/transcriptions"payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"model\"\r\n\r\nFunAudioLLM/SenseVoiceSmall\r\n-----011000010111000001101001--\r\n\r\n"
headers = {"Authorization": "Bearer apikey","Content-Type": "multipart/form-data"
}response = requests.request("POST", url, data=payload, headers=headers)print(response.text)

硅基流动也可在网页中进行调用,点击send会模拟行为。
在这里插入图片描述
相关例子可见
不过需要进行长语音的翻译需要的话需要对脚本进行处理,比如将语音进行分割,然后一段段进行翻译后再拼接起来。
具体代码可见
代码仓库

文本转语音

目前文本转语音使用的是CosyVoice2-0.5B,硅基流动的价格为
¥50/ M UTF-8 bytes
MB与字节的换算:1MB(兆字节)等于1024KB(千字节),而1KB等于1024字节。因此,1MB等于1024 * 1024 = 1048576字节。2. UTF-8编码下汉字的表示:在UTF-8编码中,一个汉字通常用3个字节表示。3. 计算过程:• 1048576字节 ÷ 3 = 349525…1。• 这意味着1MB最多可以表示349525个汉字,还剩下1个字节,这1个字节不足以表示一个完整的汉字。所以,1MB在UTF-8编码下最多可以表示349525个汉字。
即如果1MB的费用是50元,那么每个汉字的成本大约是0.000143元,或者可以更直观地说,每1000个汉字的成本约为0.143元。还是比较便宜的。
调用脚本为

from pathlib import Path
from openai import OpenAIspeech_file_path = Path(__file__).parent / "siliconcloud-generated-speech.mp3"client = OpenAI(api_key="apikey", # 从 https://cloud.siliconflow.cn/account/ak 获取base_url="https://api.siliconflow.cn/v1"
)with client.audio.speech.with_streaming_response.create(model="FunAudioLLM/CosyVoice2-0.5B", # 支持 fishaudio / GPT-SoVITS / CosyVoice2-0.5B 系列模型voice="FunAudioLLM/CosyVoice2-0.5B:alex", # 系统预置音色# 用户输入信息input="你能用高兴的情感说吗?<|endofprompt|>今天真是太开心了,马上要放假了!I'm so happy, Spring Festival is coming!",response_format="mp3" # 支持 mp3, wav, pcm, opus 格式
) as response:response.stream_to_file(speech_file_path)

http://www.ppmy.cn/news/1574632.html

相关文章

MATLAB | 设置滑动窗口计算栅格数据的CV变异系数

一、变异系数 变异系数&#xff08;CV&#xff09;是衡量数据稳定性的重要指标&#xff0c;表示数据的波动程度&#xff0c;计算方式是标准差与均值的比值。在栅格数据分析中&#xff0c;较低的变异系数意味着数据变化较小、稳定性较高&#xff0c;而较高的变异系数则表明数据…

[Android] GKD v1.10.0 β1—— 开屏 及 内部信息流 广告跳过工具

[Android] GKD v1.10.0 β1—— 开屏 及 内部信息流 广告跳过工具 链接&#xff1a;https://pan.xunlei.com/s/VOJnTWH3DBPkCjYawY_PFqCxA1?pwdhngj# GKD&#xff08;详情请戳 作者项目地址&#xff09;是一款免费开源简洁多规则的自动跳过广告的软件&#xff0c;整体基于k…

CSDN博客写作教学(一):初识markdown编辑器(纯干货)

名人说&#xff1a;悟已往之不谏&#xff0c;知来者之可追。 ——《归去来兮辞》陶渊明 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、在哪里写&#xff1f;二、该怎么写&#xff1f;三、完整写作流程 很高兴…

0基础玩转python(打怪升级篇)第一章1.1安装python编辑器

第一章 新手村 1.1合适的武器 &#xff08;安装python编辑器&#xff09; 新手村位于代码大陆的东北部&#xff0c;四面环山&#xff0c;高大的城墙外坐落着一条护城河。一位少年缓步走进城内&#xff0c;看到了城内集市热闹非凡。 你叫做“阿印” 是一位勇士 当前等级o Lv 最…

mysql系列9—mysql的MVCC机制

背景 mysql提供了读未提交、读已提交、可重复读、串行化四种隔离级别&#xff0c;默认的隔离界别为可重复读。其中&#xff0c;不可重复度场景下&#xff0c;每次直接读取最新记录(即使事务未提交)&#xff1b;串行化对于所有的读写都加锁&#xff0c;因此&#xff0c;对二者不…

如何用deepseek快速生成思维导图和流程图?

一起来看看md格式和mermaid格式&#xff0c;与deepseek的碰撞会产生怎样的魔法吧&#xff01; 1、md格式deepseek&#xff0c;快速生成思维导图 Markdown 是一种轻量级的标记语言&#xff0c;旨在以易读易写的纯文本格式编写文档&#xff0c;并能够轻松转换为结构化的 HTML&a…

C语言番外篇(3)------------>break、continue

看到我的封面图的时候&#xff0c;部分读者可能认为这和编程有什么关系呢&#xff1f; 实际上这个三个人指的是本篇文章有三个部分组成。 在之前的博客中我们提及到了while循环和for循环&#xff0c;在这里面我们学习了它们的基本语法。今天我们要提及的是关于while循环和for…

python 基础知识全面总结

目录 1. Python 的特点 2. 安装 Python 3. Python 的基本语法 &#xff08;1&#xff09;注释 &#xff08;2&#xff09;缩进 &#xff08;3&#xff09;变量和数据类型 &#xff08;4&#xff09;输入和输出 4. 条件控制语句 5. 循环语句 循环控制语句 6. 函数 7…