初探之基于 openai/whisper 模型实现语音转文本

大家好,欢迎来到前端研习圈。

前言

本期的主题是通过 OpenAi 的语言识别模型 whisper 来实践一个 语音转文本 的功能。

由于技术栈以 python 为主,结合受众群体考虑,本期我们主要完成环境部署,实现呢就不手敲了,直接找社区贡献的 demo 跑通来演示一下。在开始之前,我们先来大致了解一下 whisper

whisper 简介

通过官方简介我们可以知道 whisper 是一个通用的,经过大量的音频数据训练出来的支持多任务处理的语言识别,语言翻译 模型

可选的 sizetiny, base, small, medium, large,详细数据如图

下面展示了 whisper 支持语言的种类,以及在 Common Voice 15Fleurs 数据集上使用的 WER (单词错误率)或 CER (字符错误率) 相关指标

有了以上的了解,那么接下来,我们开始今天的实践~

环境安装

众所周知,凡事涉及到机器学习,模型训练等相关的领域,基本都是 python 技术栈,当然 whisper 也不例外。

在安装指南中我们可以了解到,whisper 虽然是用的 python(3.9.9) 版本 和 pyTorch(1.10.1) 版本来训练的,但也能兼容到比较新的版本

因此我们选择

  • python - 3.11.7 版本
  • pyTorch - 2.2.1 版本

为了方面后续灵活切换 python 的版本,我们先安装 python 的版本管理工具 pyenv

安装 pyenv

Windows 下,我们需要安装 pyenv 的 windows 版本 pyenv-win

pyenv 安装指南

github.com/pyenv-win/p...

这里我们直接选择下载 zip 包的方式,下载完成后将 bin 的路径配置到 环境变量 中即可

安装 python

有了 pyenv,我们直接执行如下命令

复制代码
pyenv install 3.11.7

然后等待安装完成

安装 pyTorch

pyTorch 是基于 python 的一个 深度学习 框架,我们直接到官网去拷贝安装指令即可

pyTorch 官网 https://pytorch.org/

这里 pip3 是 python3 的一个包管理工具,安装 python 时会同步安装。因此我们只需要把 安装指令 拷贝到终端执行,然后等待安装完成

perl 复制代码
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

安装 ffmpeg

whisper 在处理音频文件时会用到 ffmpeg ,这里也需要安装一下。我们直接到 github 中去下载 ffmpeg 最新版本的构建产物

github.com/BtbN/FFmpeg...

同样,下载完成后将 bin 目录配置到 环境变量 中即可

之后在终端确认一下是否安装成功

OK,到这里,需要的环境我们就全部安装好啦

DEMO

我们直接从社区提供的 demo 找一个比较具有代表性的来跑一下

github.com/gustavostz/...

先把这个仓库 fork 一下,clone 到我们本地

bash 复制代码
git clone git@github.com:Mumujianguang/whisper-clip.git

然后就是传统的依赖安装环节

复制代码
pip3 install -r requirements.txt

源码中默认用的是仅支持英文的 medium.en 模型,这里我们改成支持多语言的 medium 模型

接下来就可以把程序跑起来了

css 复制代码
python main.py

在启动程序之前,会先将模型下载下来,这里可以看到需要下载 1.42G 的内容

程序跑起来之后会运行一个弹窗面板,功能大致如下

  • 点击后开始录音,再次点击结束录音
  • 这段录音会落盘生成一个 wav 的音频文件
  • 随后交给 whisper 去识别输出音频中的内容

接下来我们说一句 吃饭没 我想吃蛋炒饭 ,结束录音后大概 1-2s,终端就输出了识别结果,丝毫不差,在此感叹一句 AI 的强大~

接着我再多说几句

  • 大家好,欢迎来到前端研习圈
  • 大家好,我是陆星材,请多多关心吧!

虽然有些字不准确,但发音都识别对了,这也还只是个中等模型,还是很不错了

写在最后

对于前端的同学来说,看完是不是觉得 AI 也并非遥不可及,未来类似基于 大模型 的库会越来越多,希望大家时刻关注前沿技术的发展,能早日将 AI 应用到自己的工作与生活中

这期就到这里,我们下期见~

相关推荐
清水白石0084 分钟前
Python 死锁排查全攻略:从线程卡死到锁依赖定位与工程化修复
linux·网络·python
Elias不吃糖24 分钟前
Langfuse 入门:Trace、Prompt、Dataset、Experiment、Evaluator
前端·python·prompt·langfuse
TechWayfarer1 小时前
批量查IP归属地,在线API、脚本、离线库怎么选?三种方案实测对比
网络·python·网络协议·tcp/ip
七牛开发者2 小时前
为什么 Go 很适合 AI 辅助开发?
数据库·人工智能·python·elasticsearch·log4j
河南凹凸环境艺术设计2 小时前
性价比高的民宿酒店设计企业
大数据·人工智能·python
wuyk5555 小时前
Python 第三章:列表 List
服务器·开发语言·python
笨鸟先飞,勤能补拙5 小时前
从预测到决策:人工智能与机器学习的系统方法、工程闭环与现实边界
大数据·人工智能·windows·python·机器学习·密码学
MgArcher6 小时前
抖音a_bogus参数逆向实战:JSVMP环境模拟与Hook技术(2025最新)
javascript·爬虫·python
circuitsosk6 小时前
AI输出的“质检员”:构建智能体质量评估、异常检测与人工兜底的三层防线
人工智能·python·microsoft·正则表达式·langchain
要努力点6 小时前
Python入门第六课
开发语言·python