whisper之初步使用记录

文章目录

前言

一、whisper是什么?

二、使用步骤

1.安装

2.python调用

3.识别效果评估

4.一点封装

5.参考链接

总结


前言

随着AI大模型的不断发展,语音识别等周边内容也再次引发关注,通过语音转文字再与大模型交互,从而实现语音与大模型交互。

今天我们介绍下语音识别领域的顶级选手whisper。


一、whisper是什么?

whisper是openai开源的语音识别模型,也是使用了Transformer架构。

openai宣称whisper的语音识别能力已经到了人类的水平。

接下来我们参考Github结合其他技术博客内容,实操下whisper的使用。

二、使用步骤

1.安装

1)pip安装whisper

复制代码
pip install -U openai-whisper

2)安装ffmpeg

下载地址:ffmpeg下载地址https://github.com/BtbN/FFmpeg-Builds/releases

选择对应操作系统的安装包即可

Linux系统也可以直接命令方式安装。

对于Windows系统,下载到本地后解压缩即可,但是需要设置环境变量,路径bin(就是在这个路径下有ffmpeg.exe)

特意说明:whisper内部其实调用了ffmpeg,使用的就是cmd形式,应该是将音频文件转为流式以及按时间段分成小段音频(最终识别结果就是按时间段分开的)

2.python调用

python 复制代码
import whisper

model = whisper.load_model("base")
result = model.transcribe("audio.mp3")
print(result["text"])

第一次运行的时候,首先需要下载模型文件,base属于比较小尺寸的模型,还有small、large等。

另外如果可能报错,可以尝试重启下开发工具再试,可能就好了(我就遇到这种问题,可能没有重启开发工具,找不到ffmpeg)

3.识别效果评估

我使用了一个11分钟的会议录音文件测试。CPU环境。

使用base模型,用时约2分钟,质量还行

使用small模型,用时约4分钟,质量比base模型的好一些,但是有些反而不如base模型的。

整体上,还行吧。

4.一点封装

由于不同大小的模型识别速度上还是差不少,因此还要结合实际情况选择使用哪个模型,基于这个基础对调用做了一点封装

python 复制代码
import whisper
from datetime import datetime

# 模型根路径
model_root="E:\Models\whisper"

class whisper_utils:

    # model_name="base"
    # model_name="small"

    def __init__(self,model_name="base"):
        self.model = whisper.load_model(name=model_name,download_root=model_root)

    def audio_to_txt(self,audio_file: str):

        now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        print(f"{now} 开始识别...")
        result = self.model.transcribe(audio_file)

        now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        print(f"{now} 识别完成")

        return result

这里我把模型路径自己设置了下。

和多数模型文件一样,默认情况下,whisper模型也会下载到C盘Users下当前用户文件夹的.cache下,很容易导致C盘塞满。

5.参考链接

openai/whisper: Robust Speech Recognition via Large-Scale Weak Supervision (github.com)https://github.com/openai/whisper


总结

本篇主要介绍了whisper的安装、调用、识别效果评估以及一点调用封装。希望可以帮助正好有需要的小伙伴。

相关推荐
A-刘晨阳11 小时前
语音转文字「本地化」新解!Whisper Web+cpolar实现零服务器部署与远程操作
服务器·前端·whisper
自出洞来无敌手(曾令瑶)11 小时前
浏览器 实时监听音量 实时语音识别 vue js
前端·javascript·vue.js·语音识别
biubiubiu070616 小时前
微软云语音识别ASR示例Demo
人工智能·语音识别
唯创知音1 天前
玩具语音方案选型决策OTP vs Flash 的成本功耗与灵活性
人工智能·语音识别
MidJourney中文版1 天前
老年人与机器人玩具的情感连接
人工智能·机器人·语音识别
MARS_AI_2 天前
云蝠智能 Voice Agent 落地展会邀约场景:重构会展行业的智能交互范式
人工智能·自然语言处理·重构·交互·语音识别·信息与通信
limingade3 天前
手机通话语音离线ASR识别商用和优化方向
智能手机·语音识别·funasr离线识别·android做asr·手机断网离线asr·asr语音转文字识别
uncle_ll4 天前
李宏毅NLP-8-语音模型
人工智能·自然语言处理·语音识别·语音模型·lm
whoarethenext5 天前
使用 C++ 实现 MFCC 特征提取与说话人识别系统
开发语言·c++·语音识别·mfcc
学术 学术 Fun5 天前
✨ OpenAudio S1:影视级文本转语音与语音克隆Mac整合包
人工智能·语音识别