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

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

主流语音识别大模型

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

  • 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)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Flask的租房信息可视化系统的设计与实现

【Flask】基于Flask的租房信息可视化系统的设计与实现(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 随着互联网的快速发展,租房市场日益繁荣,信息量急剧增加&#xff…

记一次一波三折的众测SRC经历

视频教程和更多福利在我主页简介或专栏里 (不懂都可以来问我 专栏找我哦) 目录: 前言 波折一:RCE漏洞利用失败 波折二:SQL时间盲注 波折三:寻找管理后台 总结 前言 先谈个人SRC心得体会吧,我虽…

java每日精进 2.13 MySql迁移人大金仓

1.迁移数据库 1. 数据库创建语句 MySQL: CREATE DATABASE dbname; 人大金仓(Kingbase): 在人大金仓中,CREATE DATABASE 的语法通常相同,但可能需要特别注意字符集的指定(如果涉及到多语言支持…

【单臂路由配置】

【单臂路由配置】 设备接口IP子网网关vlanR1G0/0/1.1192.168.1.254255.255.255.0NAvlan10R1G0/0/1.2192.168.2.254255.255.255.0NAvlan20R1G0/0/1.3192.168.3.254255.255.255.0NAvlan30PC1e0/0/1192.168.1.1255.255.255.0192.168.1.254vlan10PC2e0/0/1192.168.2.1255.255.255.0…

NutUI内网离线部署

文章目录 官网拉取源代码到本地仓库修改源代码打包构建nginx反向代理部署访问内网离线地址 在网上找了一圈没有写NutUI内网离线部署的文档,花了1天时间研究下,终于解决了。 对于有在内网离线使用的小伙伴就可以参考使用了 如果还是不会联系UP主:QQ:10927…

【Linux AnolisOS】关于Docker的一系列问题。尤其是拉取东西时的网络问题,镜像源问题。

AnolisOS 8中使用Docker部署(全)_anolis安装docker-CSDN博客 从在虚拟机安装龙蜥到安装docker上面这篇文章写的很清晰了,我重点讲述我解决文章里面问题一些的方法。 问题1: docker: Get https://registry-1.docker.io/v2/: net/h…

免费体验,在阿里云平台零门槛调用满血版DeepSeek-R1模型

一、引言 随着人工智能技术的飞速发展,各类AI模型层出不穷。其中,DeepSeek作为一款新兴的推理模型,凭借其强大的技术实力和广泛的应用场景,逐渐在市场中崭露头角。本文将基于阿里云提供的零门槛解决方案,对DeepSeek模…

ARM Linux平台下 OpenCV Camera 实验

一、硬件原理 1. OV2640 1.1 基本功能 OV2640 是一款低功耗、高性能的图像传感器,支持以下功能: 最高分辨率:200 万像素(1600x1200)。 输出格式:JPEG、YUV、RGB。 内置图像处理功能:自动曝…

论文笔记-WSDM2025-ColdLLM

论文笔记-WSDM2025-Large Language Model Simulator for Cold-Start Recommendation ColdLLM:用于冷启动推荐的大语言模型模拟器摘要1.引言2.前言3.方法3.1整体框架3.1.1行为模拟3.1.2嵌入优化 3.2耦合漏斗ColdLLM3.2.1过滤模拟3.2.2精炼模拟 3.3模拟器训练3.3.1LLM…

后端开发:开启技术世界的新大门

在互联网的广阔天地中,后端开发宛如一座大厦的基石,虽不直接与用户 “面对面” 交流,却默默地支撑着整个互联网产品的稳定运行。它是服务器端编程的核心领域,负责处理数据、执行业务逻辑以及与数据库和其他后端服务进行交互。在当…

如何查看java的字节码文件?javap?能用IDEA吗?

编译指令: javac YourProject.java 查看字节码文件的指令: javap -c -l YourProject.class 不添加-c指令就不会显示字节码文件: 不添加 -l 就不会显示源代码和字节码文件的对应关系: 添加-l之后多出来这些: IDEA不太…

Linux-GlusterFS配置

文章目录 GlusterFS配置 🏡作者主页:点击! 🤖Linux专栏:点击! ⏰️创作时间:2025年02月18日19点21分 GlusterFS配置 1、分区操作 fdisk -l #查看本地磁盘 fdisk /dev/vdb #对/dev/vdb进…

[C语言]指针进阶压轴题

下面代码打印结果是什么&#xff1f; #include<stdio.h> int main() {char* c[] { "ENTER","NEW","POINT","FIRST" };char** cp[] { c 3,c 2,c 1,c };char*** cpp cp;printf("%s\n", **cpp);printf("%s\n…

DeepSeek 助力 Vue 开发:打造丝滑的点击动画(Click Animations)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…

SpringBoot论坛网站 – 功能详解与部署教程

项目概述 《SpringBoot的论坛网站》是一个基于SpringBoot框架开发的现代化论坛平台&#xff0c;旨在为用户提供一个便捷的交流空间。该项目不仅功能丰富&#xff0c;还具备良好的扩展性和易用性&#xff0c;适合用于学习、分享和讨论各类话题。以下是项目的核心功能模块和部署…

SpringSecurity初始化的本质

一、对SpringSecurity初始化的几个疑问 通过前面第一次请求访问的分析我们明白了一个请求就来后的具体处理流程 对于一个请求到来后会通过FilterChainProxy来匹配一个对应的过滤器链来处理该请求。那么这里我们就有几个疑惑。 FilterChainProxy什么时候创建的?过滤器链和对应的…

【大模型系列篇】DeepSeek-R1如何通过强化学习有效提升大型语言模型的推理能力?

如何通过强化学习&#xff08;RL&#xff09;有效提升大型语言模型&#xff08;LLM&#xff09;的推理能力&#xff1f; 《DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning》由DeepSeek-AI团队撰写&#xff0c;主要介绍了他们开发的第一代…

无缝对接[系列2]:在VSCode中继续接入本地DeepSeek的完整指南---实现代码协助编写~

无缝对接&#xff1a;在VSCode中继续接入本地DeepSeek的完整指南 在上一篇文章中&#xff0c;我们已经详细介绍了如何成功部署本地 DeepSeek&#xff0c;使得开发者能够在本地环境中高效地进行深度学习和数据分析工作。 部署完成后&#xff0c;如何在 Visual Studio Code (VS…

linux5-多任务--进程fork()

一.多任务&#xff1a;让系统具备同时处理多个任务的能力 1.如何实现多任务 1.1进程&#xff1a;操作系统上正在运行的程序&#xff0c;需要消耗内存和CPU 1.1.1 进程的生存周期&#xff1a;创建、调度、消亡 1.1.1.1进程的创建&#xff1a;每个进程被创建时&#xff0c;操作…

原生稀疏注意力机制(NSA):硬件对齐且可原生训练的稀疏注意力机制-论文阅读

摘要 长上下文建模对于下一代语言模型至关重要&#xff0c;但标准注意力机制的高计算成本带来了巨大的计算挑战。稀疏注意力提供了一种在保持模型能力的同时提高效率的有前途的方向。本文提出了一种名为 NSA&#xff08;原生可训练稀疏注意力机制&#xff09; 的方法&#xff…