大模型开发实战篇7:语音识别-语音转文字

news2025/3/29 3:44:14

语音识别大模型,是人工智能领域的一项重要技术,它能够将人类的语音转换为文本。近年来,随着深度学习技术的不断发展,语音识别大模型取得了显著的进展,并在各个领域得到了广泛应用。

主流语音识别大模型

目前,市面上涌现出许多优秀的语音识别大模型,它们在性能、功能和应用场景上各有侧重。以下是一些主流的语音识别大模型:

  • OpenAI Whisper: 由OpenAI公司开发的Whisper,是一个强大的多语言语音识别模型。它在多个语音识别任务上表现出色,能够处理各种口音、语速和噪音环境下的语音。
  • Google Cloud Speech-to-Text: 谷歌云提供的语音识别服务,支持多种语言和方言,具有高准确率和低延迟的特点。它还提供了丰富的定制化功能,以满足不同场景的需求。
  • 讯飞星火: 讯飞公司推出的星火认知大模型,具备强大的语音识别能力,尤其在中文语音识别方面表现突出。它还支持多种方言和少数民族语言的识别。
  • 阿里云语音识别: 阿里云提供的语音识别服务,支持多种语言和场景,具有高性价比和稳定性。它还提供了丰富的API和SDK,方便开发者集成到自己的应用中。
  • 华为云语音识别: 华为云推出的语音识别服务,支持多种语言和方言,具有高准确率和实时性。它还提供了定制化模型训练服务,以满足特定领域的需求。

开源的语音识别大模型

  • Whisper

    • 介绍:OpenAI 开发的通用语音识别模型,功能强大,支持多种语言识别和翻译。
    • 特点
      • 多语言支持
      • 多种模型大小可选择
      • 开源免费,方便研究和定制
    • 项目地址:https://github.com/openai/whisper
  • MooER

    • 介绍:摩尔线程开发的音频理解大模型,是业界首个基于国产全功能 GPU 进行训练和推理的大型开源语音模型。
    • 特点
      • 支持中英文语音识别和中译英语音翻译
      • 基于国产 GPU 训练和推理
      • 开源推理代码和模型
    • 项目地址:https://github.com/MooreThreads/MooER
  • Mini-Omni

    • 介绍:清华大学和智谱 AI 提出 Mini-Omni,是首个开源的端到端实时语音多模态模型,支持语音输入、流式语音输出的多模态交互能力。
    • 特点
      • 文本-语音同时生成
      • 支持语音输入、流式语音输出
      • 开源免费
    • 项目地址:https://github.com/gpt-omni/mini-omni
  • SenseVoice

SenseVoice多语言音频理解模型,支持语音识别、语种识别、语音情感识别、声学事件检测、逆文本正则化等能力,采用工业级数十万小时的标注音频进行模型训练,保证了模型的通用识别效果。模型可以被应用于中文、粤语、英语、日语、韩语音频识别,并输出带有情感和事件的富文本转写结果。 

  • FunASR

FunASR希望在语音识别的学术研究和工业应用之间架起一座桥梁。通过发布工业级语音识别模型的训练和微调,研究人员和开发人员可以更方便地进行语音识别模型的研究和生产,并推动语音识别生态的发展。让语音识别更有趣!项目地址:https://github.com/modelscope/FunASR

 

 OpenAI的Whisper模型

OpenAI 提供了两个基于开源的 Whisper large-v2 模型的语音到文本API服务:

  • 转录(transcriptions):将音频转录为音频所使用的任何语言。
  • 翻译(translations):将音频翻译并转录为英语

目前文件上传限制为 25 MB,支持以下输入文件类型:mp3、mp4、mpeg、mpga、m4a、wav 和 webm

语音转录 Transcription API

输入音频文件,返回转录对象(JSON)

参数

  • file(文件):需要转录的音频文件对象(不是文件名),支持以下格式:flac、mp3、mp4、mpeg、mpga、m4a、ogg、wav 或 webm。
  • model('whisper-1'):使用的模型 ID。目前仅可使用由我们的开源 Whisper V2 模型驱动的 whisper-1。
  • language(语言,可选):输入音频的语言。提供 ISO-639-1 格式的输入语言可以提高准确性和响应速度。
  • prompt(提示,可选):可选文本,用于指导模型的风格或继续前一个音频片段。提示应与音频语言相匹配。
  • response_format(响应格式,可选):转录输出的格式,默认为 json。可选的格式有:json、text、srt、verbose_json 或 vtt。
  • temperature(温度,可选):采样温度,范围从 0 到 1。更高的值,如 0.8,将使输出更随机,而更低的值,如 0.2,将使输出更集中和确定。如果设置为 0,模型将使用对数概率自动提高温度,直到达到某些阈值。
  • timestamp_granularities[](时间戳粒度,可选):为此转录填充的时间戳粒度,默认为 segment。响应格式必须设置为 verbose_json 才能使用时间戳粒度。支持以下一个或两个选项:word 或 segment。注意:segment 时间戳不增加额外延迟,但生成 word 时间戳会增加额外延迟。

返回值

  • 转录对象(Transcription Object)或详细转录对象(Verbose Transcription Object)。

使用 Whisper 实现中文转录代码演示

将语音文件转成文字。输入语音 输出文字。

from openai import OpenAI
client = OpenAI()

audio_file= open("./audio/liyunlong.mp3", "rb")

transcription = client.audio.transcriptions.create(
  model="whisper-1", 
  file=audio_file
)

print(transcription.text)

 返回

二营长,你他娘的意大利泡呢?给我拉来!

 

语音翻译 API

输入音频文件,返回翻译文本。

请求体

  • file(文件):需要翻译的音频文件对象(不是文件名),支持以下格式:flac、mp3、mp4、mpeg、mpga、m4a、ogg、wav 或 webm。
  • model('whisper-1'):使用的模型 ID。目前只有由我们的开源 Whisper V2 模型驱动的 whisper-1 可用。
  • prompt(提示,可选):可选文本,用于指导模型的风格或继续前一个音频片段。提示应为英文。
  • response_format(响应格式,可选):转录输出的格式,默认为 json。可选的格式包括:json、text、srt、verbose_json 或 vtt。
  • temperature(温度,可选):采样温度,范围从 0 到 1。较高的值,如 0.8,将使输出更随机,而较低的值,如 0.2,将使输出更集中和确定。如果设置为 0,模型将使用对数概率自动增加温度,直到达到特定阈值。

返回值

  • translated_text: 翻译后的文本。

 使用 Whisper 实现中文识别+翻译

audio_file= open("./audio/liyunlong.mp3", "rb")

translation = client.audio.translations.create(
    model="whisper-1", 
    file=audio_file,
    prompt="Translate into English",
)

print(translation.text)

返回英文:

Second Battalion Commander, where is your Italian gun? Bring it to me.

语音与文字互转

Whisper: 语音--->文字

TTS:文字--->语音

可以将这2个大模型一起使用,形成 【语音-->文字/翻译--->语音】模式,比如将中文语音转英语语音,将你的录音翻译成外语并且转语音。

Whisper---> TTS 的代码演示

gdg_audio_file = open("./audio/gdg.mp3", "rb")
gdg_speech_file = "./audio/gdg_en.mp3"

translation = client.audio.translations.create(
  model="whisper-1", 
  file=gdg_audio_file
)

print(translation.text)

with client.audio.speech.with_streaming_response.create(
    model="tts-1",
    voice="onyx",
    input=translation.text
) as response:
    response.stream_to_file(gdg_speech_file)

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

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

相关文章

QML 部件获得焦点触发的全局槽函数 onActiveFocusItemChanged

在qml的window窗口中,假如添加里许多其他部件,当这些部件改变时,会有一个全局部件焦点改变槽函数触发,就是 onActiveFocusItemChanged 可以通过此槽函数就可以知道当前焦点在哪一个部件上,也可以做一些自动化测试等&…

如何用ClassFinal加密JAR保护知识产权!

0.前言 凌晨三点的办公室,咖啡杯底凝着褐色的残渍,键盘上跳跃的手指突然停滞。张工程师盯着屏幕上的反编译窗口,自己耗时三个月开发的规则引擎此刻像被解剖的标本般赤裸裸摊开——这正是上周交付给客户的jar包。当.class文件以伪代码形式暴露…

轨迹优化 | 基于LBFGS优化器的无约束路径平滑(附ROS C++仿真)

目录 0 专栏介绍1 LBFGS优化器1.1 拟牛顿法框架1.2 LBFGS-Lite库 2 基于LBFGS的轨迹优化3 ROS C仿真 0 专栏介绍 🔥课设、毕设、创新竞赛必备!🔥本专栏涉及更高阶的运动规划算法轨迹优化实战,包括:曲线生成、碰撞检测…

Vue2到Vue3:无痛升级之路

为什么要从 Vue2 升级到 Vue3 Vue 3 带来了众多令人瞩目的改进和新特性,这些优势使得升级到 Vue 3 对项目的长期发展具有重要意义。 性能显著提升:Vue 3 采用了基于 Proxy 的响应式系统,相比 Vue 2 使用的 Object.defineProperty&#xff0c…

第28篇 基于ARM A9处理器用C语言实现中断<四>

Q:可以改变上一期实验工程里红色LED计数的速率吗? A:在按键中断服务程序中使HPS Timer 0停止计数,修改定时器中使用的预设计数值,然后重启定时器;所有的修改都是在按键中断服务程序中完成。主程序和其他…

时间序列分析(四)——差分运算、延迟算子、AR(p)模型

此前篇章: 时间序列分析(一)——基础概念篇 时间序列分析(二)——平稳性检验 时间序列分析(三)——白噪声检验 一、差分运算 差分运算的定义:差分运算是一种将非平稳时间序列转换…

《深度学习》——调整学习率和保存使用最优模型

调整学习率 在使用 PyTorch 进行深度学习训练时,调整学习率是一个重要的技巧,合适的学习率调整策略可以帮助模型更好地收敛。 PyTorch 提供了多种调整学习率的方法,下面将详细介绍几种常见的学习率调整策略及实例代码: torch.opt…

零风险把数据盘挂载给根分区,给生产环境服务器扩容

背景 刚买服务器时,用户量不大,所以结合预算不多情况下,都是默认买个小点的系统盘挂载到服务器上,(或者默认服务器的40G),等到某一天业务量上来之后,发现抓肘见襟给自己一手措不及防…

在vscode中拉取gitee里的项目并运行

拉取项目: 方法一:vscode点击查看--->终端(或者直接通过快捷键ctrol+ `打开) 在终端内通过cd命令定位到你想存放项目的文件夹 例如:cd h: 通过命令:git clone 地址 例如:git clone newbee-mall-vue-app: 前端代码 等待拉取完成即可在对应文件夹下看到项目啦 方…

IDEA通过Contince接入Deepseek

Deepseek 的出色表现,上期【Deepseek得两种访问方式与本地部署】 安装Continue插件 第一步、下载插件 在编辑栏【File】->设置【Settiings】或快捷键【CtrlAltS】,弹窗的左侧导航树,选择【plugins】,在marketplace 搜索【Continue】,点…

数据结构------单向链表。

一.实现单向链表的头插,头删,尾插,尾删,按位置插,按位置删,按位置修改,按元素查找,按元素修改,按元素删除,单链表的逆置,查找倒数第几个元素&…

算法——结合实例了解Minimax算法(极小化极大算法)

计算机科学中最有趣的事情之一就是编写一个人机博弈的程序。有大量的例子,最出名的是编写一个国际象棋的博弈机器。但不管是什么游戏,程序趋向于遵循一个被称为Minimax算法,伴随着各种各样的子算法在一块。本篇将简要介绍 minimax 算法&#…

cornerstone3D学习笔记-MPR

最近在研究如何利用cornerstone3D (v1.70.13) 来实现MPR功能,找到它的一个demo -- volumeBasic, 运行效果如下图 看了下主程序的示例代码,非常简单,可以说corestone3D这个库把很多细节都封装起来了,使得调用者可以很简单的快速实…

C++ Primer 函数匹配

欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…

Dav_笔记14:优化程序提示 HINTs -4

指定全局表提示 指定表的提示通常是指发生提示的DELETE,SELECT或UPDATE查询块中的表,而不是指语句引用的任何视图中的表。 如果要为显示在视图中的表指定提示,Oracle建议使用全局提示,而不是在视图中嵌入提示。 您可以使用包含具…

桥接模式 Bridge Pattern

桥接模式Abstraction 和 Implementor 的理解 在图书馆看到一本 通过电商项目真正实战《贯穿设计模式》。拿起来翻到了 桥接模式,感觉味道不对,和我印象中不一样。 感谢这位同学提供的源码 贯穿设计模式-适配器模式桥接模式_-CSDN博客GitHub - WeiXiao…

Ubuntu 安装 OpenCV (C++)

版本详情: Ubuntu: 22.04 5.15.0-133-generic gcc: 11.4.0 g: 11.4.0 OpenCV: 4.7.0 1. 卸载 OpenCV 进入原先编译 opencv 的 build 目录,在该目录下打开终端,执行以下代码(如果 build 已经删除了,可以重新编译一…

前端模板引擎

前言 正常渲染拿到数据后渲染&#xff0c;三步走&#xff1a;格式化数据、编译模板、渲染数据 如下例 <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice…

长尾词SEO优化软件:企业官网流量提升的软件【实测】

搜索引擎流量中68%来自长尾关键词&#xff08;数据来源&#xff1a;Ahrefs 2025&#xff09;&#xff0c;但83%企业仍困于「高价值长尾词难挖掘内容生产跟不上」的双重困境。当同行用智能工具批量布局「孕妇防辐射服哪个牌子好」等精准词时&#xff0c;手动分析数据的你可能还在…

用自己的数据训练yolov11目标检测

文章目录 概要理论知识整体架构流程架构优化多任务支持多参数体量 操作实操环境配置数据准备数据标注数据放置路径 训练预测 概要 YOLOv11 是 Ultralytics 团队于 2024 年 9 月 30 日发布的最新目标检测模型&#xff0c;延续了 YOLO 系列实时推理特性&#xff0c;同时通过架构优…