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的安装、调用、识别效果评估以及一点调用封装。希望可以帮助正好有需要的小伙伴。

相关推荐
镭封7 分钟前
自媒体内容生产怎么提速?文案整理、配音与剪辑流程
人工智能·小程序·音视频·语音识别·媒体
AI_AGENT_DEV_AI8 小时前
AI英语在线考试系统的开发
人工智能·语音识别
Joy T18 小时前
voice-dump-to-todo:把混乱的语音整理成可执行待办,一个实用的 Agent Skill
ide·macos·语音识别·xcode·任务管理·自研skill
糖糖单片机设计19 小时前
基于 STM32 与中移 OneNet 的智慧电梯监控平台系统
stm32·单片机·嵌入式硬件·51单片机·语音识别
2401_885885041 天前
芬兰语音通知接口怎样对接?语音提醒接入流程
android·前端·python·php·语音识别
hey you~1 天前
小型教培机构语音机器人,课程咨询进线,如何识别意向客户并转人工?
人工智能·机器人·语音识别·语音机器人·教培机构·意向识别·课程咨询
shxjnpl1 天前
粤语客服录音如何实现自动质检?从 ASR 语音识别到大模型分析
人工智能·语音识别·实时音视频
2601_955662461 天前
短视频配音怎么做?从文案到成品音频的完整流程
人工智能·音视频·语音识别·媒体·视频
镭封1 天前
AI文字转语音能制作多人对白吗?角色分配操作指南
人工智能·小程序·音视频·语音识别·媒体
shxjnpl1 天前
粤语医患对话如何转成电子病历?从方言 ASR 到端侧离线语音处理
人工智能·语音识别·实时音视频