展开菜单
首页 精品内容 本月促销 装机必备 Windows macOS软件 IOS软件 Android AI PDF教程 专题
全部分类

当前位置:

首页 > 业界资讯 > 使用OpenAI的Whisper 模型进行语音识别

使用OpenAI的Whisper 模型进行语音识别

语音识别是人工智能中的一个领域,它允许计算机理解人类语音并将其转换为文本。该技术用于Alexa和各种聊天机器人应用程序等设备。而我们最常见的就是语音转录,语音转录可以语音转换为文字记录或字幕。wav2vec2、Conformer和Hubert等最先进模型的最新发展极大地推动了语音识别领域的发展。这些模型采用无需人工标记数据即可从原始音频中学习的技术,从而使它们能够有效地使用未标记语音的大型数据集。它们还被扩展为使用多达1,000,000小时的训练数据,远远超过学术监督数据集中使用的传统1,

语音识别是人工智能中的一个领域,它允许计算机理解人类语音并将其转换为文本。该技术用于 Alexa 和各种聊天机器人应用程序等设备。而我们最常见的就是语音转录,语音转录可以语音转换为文字记录或字幕。

使用OpenAI的Whisper 模型进行语音识别

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使用预激活残差块,编码器的输出使用归一化层进行归一化。

模型框图:

使用OpenAI的Whisper 模型进行语音识别

解码的过程:

在解码器中,使用了学习位置嵌入和绑定输入输出标记表示。

编码器和解码器具有相同的宽度和数量的Transformers块。

训练

为了改进模型的缩放属性,它在不同的输入大小上进行了训练。

通过 FP16、动态损失缩放,并采用数据并行来训练模型。

使用AdamW和梯度范数裁剪,在对前 2048 次更新进行预热后,线性学习率衰减为零。

使用 256 个批大小,并训练模型进行 220次更新,这相当于对数据集进行两到三次前向传递。

由于模型只训练了几个轮次,过拟合不是一个重要问题,并且没有使用数据增强或正则化技术。这反而可以依靠大型数据集内的多样性来促进泛化和鲁棒性。

Whisper 在之前使用过的数据集上展示了良好的准确性,并且已经针对其他最先进的模型进行了测试。

优点:

  • Whisper 已经在真实数据以及其他模型上使用的数据以及弱监督下进行了训练。
  • 模型的准确性针对人类听众进行了测试并评估其性能。
  • 它能够检测清音区域并应用 NLP 技术在转录本中正确进行标点符号的输入。
  • 模型是可扩展的,允许从音频信号中提取转录本,而无需将视频分成块或批次,从而降低了漏音的风险。
  • 模型在各种数据集上取得了更高的准确率。

Whisper在不同数据集上的对比结果,相比wav2vec取得了目前最低的词错误率

使用OpenAI的Whisper 模型进行语音识别

模型没有在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,我们就要先了解不同模型的的参数,大小和速度。

使用OpenAI的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训练和测试得到的单词错误率如下:

使用OpenAI的Whisper 模型进行语音识别

从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完成,你可以根据本文的代码自行尝试。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
业界资讯 人工智能 语音识别
相关文章 更多
精品专题 更多
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

IOS软件

正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

AI

正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

Mac软件 更多
photoshop
photoshop

Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

Blender
Blender

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

灵活计算器
灵活计算器

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

赤友清理大师
赤友清理大师

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

图几
图几

图几是一款适用于 macOS 的截图、标注与美化工具,支持离线操作保障隐私。界面整理和高频系统操作被放到一起考虑,桌面或窗口内容一多时,管理起来会更省心。

密码键盘
密码键盘

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

思源笔记
思源笔记

思源笔记是一款本地笔记软件,提供所见即所得的编辑方式,为长文写作带来顺滑的体验。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

Office 365 简体中文
Office 365 简体中文

一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。

Mac
WALTR PRO
WALTR PRO

WALTR是一款电脑至iOS文件传输转换工具,操作简单,快速实现文件识别与传送。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

CodeExpander
CodeExpander

CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。

Mountain Duck
Mountain Duck

Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

WINDOWS 更多
3dmax(3ds max)
3dmax(3ds max)

Autodesk 3ds Max 是一款专业的三维建模、动画与渲染软件,广泛应用于建筑可视化、游戏开发、影视动画、广告设计和产品展示等领域。

photoshop
photoshop

Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

Blender
Blender

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

Windows 10
Windows 10

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

思源笔记
思源笔记

思源笔记是一款本地笔记软件,提供所见即所得的编辑方式,为长文写作带来顺滑的体验。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

傲梅轻松备份
傲梅轻松备份

傲梅轻松备份是一款专业易用的数据备份软件,为重要数据提供安全保障。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

Office 365 简体中文
Office 365 简体中文

一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。

Mac
Wise Folder Hider Pro
Wise Folder Hider Pro

Wise Folder Hider Pro 是一款专业级文件和文件夹隐藏加密软件,为私密数据添加多重保护。高频操作更强调就近处理,浏览、整理和跨目录移动文件时,来回切换和重复点击都会少很多。

WALTR PRO
WALTR PRO

WALTR是一款电脑至iOS文件传输转换工具,操作简单,快速实现文件识别与传送。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

CodeExpander
CodeExpander

CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。