使用OpenAI的Whisper 模型进行语音识别
珍惜时间,勤奋学习!今天给大家带来《使用OpenAI的Whisper 模型进行语音识别》,正文内容主要涉及到等等,如果你正在学习科技周边,或者是对科技周边有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!
语音识别是人工智能中的一个领域,它允许计算机理解人类语音并将其转换为文本。该技术用于 Alexa 和各种聊天机器人应用程序等设备。而我们最常见的就是语音转录,语音转录可以语音转换为文字记录或字幕。

wav2vec2、Conformer 和 Hubert 等最先进模型的最新发展极大地推动了语音识别领域的发展。这些模型采用无需人工标记数据即可从原始音频中学习的技术,从而使它们能够有效地使用未标记语音的大型数据集。它们还被扩展为使用多达 1,000,000 小时的训练数据,远远超过学术监督数据集中使用的传统 1,000 小时,但是以监督方式跨多个数据集和领域预训练的模型已被发现表现出更好的鲁棒性和对持有数据集的泛化,所以执行语音识别等任务仍然需要微调,这限制了它们的全部潜力 。为了解决这个问题OpenAI 开发了 Whisper,一种利用弱监督方法的模型。
本文将解释用于训练的数据集的种类以及模型的训练方法,以及如何使用Whisper
Whisper 模型介绍
使用数据集:
Whisper模型是在68万小时标记音频数据的数据集上训练的,其中包括11.7万小时96种不同语言的演讲和12.5万小时从”任意语言“到英语的翻译数据。该模型利用了互联网生成的文本,这些文本是由其他自动语音识别系统(ASR)生成而不是人类创建的。该数据集还包括一个在VoxLingua107上训练的语言检测器,这是从YouTube视频中提取的短语音片段的集合,并根据视频标题和描述的语言进行标记,并带有额外的步骤来去除误报。
模型:
主要采用的结构是编码器-解码器结构。
重采样:16000 Hz
特征提取方法:使用25毫秒的窗口和10毫秒的步幅计算80通道的log Mel谱图表示。
特征归一化:输入在全局内缩放到-1到1之间,并且在预训练数据集上具有近似为零的平均值。
编码器/解码器:该模型的编码器和解码器采用Transformers。
编码器的过程:
编码器首先使用一个包含两个卷积层(滤波器宽度为3)的词干处理输入表示,使用GELU激活函数。
第二个卷积层的步幅为 2。
然后将正弦位置嵌入添加到词干的输出中,然后应用编码器 Transformer 块。
Transformers使用预激活残差块,编码器的输出使用归一化层进行归一化。
模型框图:

解码的过程:
在解码器中,使用了学习位置嵌入和绑定输入输出标记表示。
编码器和解码器具有相同的宽度和数量的Transformers块。
训练
为了改进模型的缩放属性,它在不同的输入大小上进行了训练。
通过 FP16、动态损失缩放,并采用数据并行来训练模型。
使用AdamW和梯度范数裁剪,在对前 2048 次更新进行预热后,线性学习率衰减为零。
使用 256 个批大小,并训练模型进行 220次更新,这相当于对数据集进行两到三次前向传递。
由于模型只训练了几个轮次,过拟合不是一个重要问题,并且没有使用数据增强或正则化技术。这反而可以依靠大型数据集内的多样性来促进泛化和鲁棒性。
Whisper 在之前使用过的数据集上展示了良好的准确性,并且已经针对其他最先进的模型进行了测试。
优点:
- Whisper 已经在真实数据以及其他模型上使用的数据以及弱监督下进行了训练。
- 模型的准确性针对人类听众进行了测试并评估其性能。
- 它能够检测清音区域并应用 NLP 技术在转录本中正确进行标点符号的输入。
- 模型是可扩展的,允许从音频信号中提取转录本,而无需将视频分成块或批次,从而降低了漏音的风险。
- 模型在各种数据集上取得了更高的准确率。
Whisper在不同数据集上的对比结果,相比wav2vec取得了目前最低的词错误率

模型没有在timit数据集上进行测试,所以为了检查它的单词错误率,我们将在这里演示如何使用Whisper来自行验证timit数据集,也就是说使用Whisper来搭建我们自己的语音识别应用。
使用Whisper 模型进行语音识别
TIMIT 阅读语音语料库是语音数据的集合,它专门用于声学语音研究以及自动语音识别系统的开发和评估。它包括来自美国英语八种主要方言的 630 位演讲者的录音,每人朗读十个语音丰富的句子。语料库包括时间对齐的拼字、语音和单词转录以及每个语音的 16 位、16kHz 语音波形文件。该语料库由麻省理工学院 (MIT)、SRI International (SRI) 和德州仪器 (TI) 共同开发。TIMIT 语料库转录已经过手工验证,并指定了测试和训练子集,以平衡语音和方言覆盖范围。
安装:
!pip install git+https://github.com/openai/whisper.git !pip install jiwer !pip install datasets==1.18.3
第一条命令将安装whisper模型所需的所有依赖项。jiwer是用来下载文字错误率包的datasets是hugface提供的数据集包,可以下载timit数据集。
导入库
import whisper from pytube import YouTube from glob import glob import os import pandas as pd from tqdm.notebook import tqdm
加载timit数据集
from datasets import load_dataset, load_metric
timit = load_dataset("timit_asr")计算不同模型尺寸下的Word错误率
考虑到过滤英语数据和非英语数据的需求,我们这里选择使用多语言模型,而不是专门为英语设计的模型。
但是TIMIT数据集是纯英文的,所以我们要应用相同的语言检测和识别过程。另外就是TIMIT数据集已经分割好训练和验证集,我们可以直接使用。
要使用Whisper,我们就要先了解不同模型的的参数,大小和速度。

加载模型
model = whisper.load_model('tiny')tiny可以替换为上面提到的模型名称。
定义语言检测器的函数
def lan_detector(audio_file):
print('reading the audio file')
audio = whisper.load_audio(audio_file)
audio = whisper.pad_or_trim(audio)
mel = whisper.log_mel_spectrogram(audio).to(model.device)
_, probs = model.detect_language(mel)
if max(probs, key=probs.get) == 'en':
return True
return False转换语音到文本的函数
def speech2text(audio_file): text = model.transcribe(audio_file) return text["text"]
在不同模型大小下运行上面的函数,timit训练和测试得到的单词错误率如下:

从u2b上转录语音
与其他语音识别模型相比,Whisper 不仅能识别语音,还能解读一个人语音中的标点语调,并插入适当的标点符号,我们下面使用u2b的视频进行测试。
这里就需要一个包pytube,它可以轻松的帮助我们下载和提取音频
def youtube_audio(link):
youtube_1 = YouTube(link)
videos = youtube_1.streams.filter(only_audio=True)
name = str(link.split('=')[-1])
out_file = videos[0].download(name)
link = name.split('=')[-1]
new_filename = link+".wav"
print(new_filename)
os.rename(out_file, new_filename)
print(name)
return new_filename,link获得wav文件后,我们就可以应用上面的函数从中提取文本。
总结
本文的代码在这里
https://drive.google.com/file/d/1FejhGseX_S1Ig_Y5nIPn1OcHN8DLFGIO/view
还有许多操作可以用Whisper完成,你可以根据本文的代码自行尝试。
本篇关于《使用OpenAI的Whisper 模型进行语音识别》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于科技周边的相关知识,请关注golang学习网公众号!
IBM开发云原生AI超级计算机Vela 可灵活部署并训练数百亿参数模型
- 上一篇
- IBM开发云原生AI超级计算机Vela 可灵活部署并训练数百亿参数模型
- 下一篇
- 激光雷达「冰火两重天」:国外破产倒闭,国内上车提速,MPV都用上了
-
- 科技周边 · 人工智能 | 4小时前 | ai · claude · Anthropic API · 文档问答 · 可追溯回答 · Claude 引用 Anthropic Messages API citations document block
- Claude Messages API citations 怎么核对:document blocks、source 与引用位置
- 295浏览 收藏
-
- 科技周边 · 人工智能 | 8小时前 |
- Gemini Developer API 怎么做零数据留存:Interactions、File API 与缓存边界核对
- 374浏览 收藏
-
- 科技周边 · 人工智能 | 9小时前 |
- Hugging Face Inference Providers 怎么固定 provider:自动路由、fallback 与响应核对
- 309浏览 收藏
-
- 科技周边 · 人工智能 | 11小时前 |
- Gemini API thought_signature 怎么处理:手动拼接 function calling 历史避免 400
- 238浏览 收藏
-
- 科技周边 · 人工智能 | 18小时前 |
- 远程工具调用审批链怎么验收:白名单、暂停状态与结果关联
- 232浏览 收藏
-
- 科技周边 · 人工智能 | 21小时前 |
- Hugging Face chat template 怎么排查:add_generation_prompt、special tokens 与生成结果错位
- 243浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- OpenAI Responses API 推理结果怎么续接:encrypted_content、include 与手动历史回传
- 357浏览 收藏
-
- 科技周边 · 人工智能 | 2天前 | 人工智能 · mcp · sampling · 协议迁移 · MRTR · 模型 API · MCP Sampling sampling/createMessage MCP 2026-07-28 MRTR SEP-2577 大模型 API
- MCP Sampling 为什么不该继续扩张:模型责任、上下文过滤与兼容验收
- 213浏览 收藏
-
- 科技周边 · 人工智能 | 3天前 | oauth · 人工智能 · mcp · ai agent · OAuth MCP redirect_uri iss CIMD Client ID Metadata Documents
- MCP OAuth 登录为何报 redirect_uri:iss、CIMD 与授权服务器绑定怎么核对
- 267浏览 收藏
-
- 科技周边 · 人工智能 | 3天前 | 人工智能 · mcp · ai agent · 协议迁移 · MCP Model Context Protocol Roots roots/list 工作区边界
- MCP Roots 已弃用怎么办:roots/list 兼容核验与工作区边界迁移
- 293浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- ljg-skills
- ljg-skills 是李继刚开源的 AI 技能与提示词集合,面向大模型使用者整理了一批可复用的 prompt、角色设定和任务技能模板,适合用于学习提示词设计、搭建个人 AI 工作流和沉淀团队常用智能体能力。
- 5056次使用
-
- MELO音乐
- MELO音乐是一站式AI视频与音乐制作助手,对标suno, udio的高品质体验。提供伴奏生成、原创写词、无损导出、哼唱识曲、混音变声等全套音频与短视频编辑工具。无论是流行Kpop、电音说唱、民谣古风、摇滚儿歌还是商用轻音乐,MELO为你免费谱曲,轻松做同款!
- 4586次使用
-
- UniScribe
- UniScribe 是一款 AI 音视频转文字与内容整理工具,支持上传音频、视频文件或粘贴 YouTube 链接,自动生成转写文本、摘要、思维导图和关键问题,并支持多格式导出,适合会议记录、课程学习、访谈整理和内容创作复盘。
- 4538次使用
-
- 剧云
- 剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
- 4794次使用
-
- 万象有声
- 万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
- 4748次使用
-
- AI写作工具免费版安装教程(含豆包Clawdbot)
- 2026-05-30 501浏览
-
- WPS AI能自动生成PPT吗?输入主题一键制作演示文稿
- 2026-05-27 501浏览
-
- Canva手机闪退解决方法及适配指南
- 2026-05-25 501浏览
-
- Hermes Agent依赖的工具链有哪些 必备工具链介绍
- 2026-05-05 501浏览
-
- 千问AI官网地址链接入口_千问AI官方网站登陆入口
- 2026-05-05 501浏览

