语音识别whisper的介绍、安装、错误记录

介绍

Whisper是OpenAI于2022年9月份开源的通用的语音识别模型。它是在各种音频的大型数据集上训练的模型,也是一个可以执行多语言语音识别、语音翻译和语言识别的多任务模型。

论文链接:https://arxiv.org/abs/2212.04356

github链接:https://github.com/openai/whisper

安装

Whisper主要是基于Pytorch实现,所以需要在安装有pytorch的环境中使用。

1、安装Whisper

复制代码
pip install -U openai-whisper

或者

复制代码
pip install git+https://github.com/openai/whisper.git

安装好之后,打开cmd界面,执行whisper,出现如下提示说明安装成功

2、安装FFmpeg

FFmpeg是一款音视频编解码工具。Whisper需要使用FFmpeg工具提取声音数据,所以需要安装配置FFmpeg。

参考博客:https://blog.csdn.net/weixin_45487348/article/details/130722161

安装好之后,,打开cmd界面,执行ffmpeg,出现如下提示说明安装成功

3、安装Rust

网上很多步骤说,需要安装Rust,用于实现快速分词,因为我暂时没用到这个,所以大家按需下载~

复制代码
pip install setuptools-rust

使用

命令行方式

python 复制代码
# 帮助信息
whisper --help

# 根据官网使用教程可以有以下常用方式
whisper music.mp3 --model tiny --language Chinese --device cuda:0 --initial_prompt "以下是普通话的句子"

Python代码

python 复制代码
import whisper
model = whisper.load_model("base", "cpu")
mps_path = r"music.mp3"
result = model.transcribe(mps_path, fp16=False, language='Chinese')
print(result["text"])

说明:如果你的机器有GPU,那这里的**"fp16=False"**不是必须的。因为笔者本地测试机器没有GPU,只用用CPU进行测试,所以这里我设置了这个参数。

whisper模型

报错信息

以下是笔者调试过程中遇到的错误记录:

Error 1

python 复制代码
FileNotFoundError: [WinError 2] 系统找不到指定的文件。

解决办法:

找到External Libraries ---> Python 3.8 ---> Libs ---> subprocess.py ---> Ctrl+F 查找"class POpen" ,将shell=False,改为 shell=True。

参考链接:https://blog.csdn.net/qq_24118527/article/details/90579328

Error 2

python 复制代码
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb2 in position 9: invalid start byte

解决办法:

这个问题表面上就是ffmpeg造成的,好像在读取文件的时候某个位置的编码有问题。实际上是由于上面的代码修改后,需要重新启动(在windows系统有这个问题)。

如果重新启动之后,还是出现上述错误,可以按照如下方式重新设置:Pycharm setting ---> Tools ---> Terminal ---> 找到 shell path,将其修改为本地cmd。

相关推荐
丘丘用户思思澪4 分钟前
LangChain Agent 完全指南
人工智能·langchain
开源量化GO10 分钟前
最新AI量化学习路径,从交易想法走到条件和动作
人工智能·python
科技发布14 分钟前
2026户外广告数字化升级:传播易以AI技术重构全域户外品效营销体系
人工智能·重构
SNKXD_114 分钟前
避开选型认知误区:2026年实测8款智能AI数字人平台总结筛选标准
大数据·人工智能·机器学习
未来和明天15 分钟前
领嵌iLeadE-588边缘计算盒子16路AI视频分析、4路AHD、4路千兆网、4G/5G通讯、标准API接口
人工智能·5g·边缘计算
微硬创新17 分钟前
耐达讯自动化PROFINET转DeviceNet网关:医药包装生产线的合规与效率双保障
服务器·人工智能·物联网·网络协议·自动化·信息与通信
小林ixn22 分钟前
Vue3接入DeepSeek流式输出,把“二进制碎片”和“局部热更新”扒个精光
前端·vue.js·人工智能
数聚天成DeepSData22 分钟前
自动驾驶感知数据集选型指南:目标检测、分割、车道线、车牌识别
人工智能·目标检测·自动驾驶
土星云SaturnCloud28 分钟前
SAM2模型在土星云边缘计算设备上的部署实战(下):从原理到落地全解析
服务器·人工智能·ai·边缘计算
QCoding29 分钟前
Java转AI第三课:Spring AI如何把100行HTTP代码缩减到10行?
java·人工智能