Python使用whisper实现语音识别(ASR)

目录

Whisper的安装

Whisper的基本使用

识别结果转简体中文

断句


Whisper的安装

Whisper是OpenAI的一个强大的语音识别库,支持离线的语音识别。在使用之前,需要先安装它的库:

复制代码
pip install openai-whisper

使用whisper,还需安装setuptools-rust:

复制代码
pip install setuptools-rust

但是,whisper安装时,自带的pytorch可能有些bug,因此需要卸载重装:

卸载:

复制代码
pip uninstall torch

重装:

复制代码
pip install torch

另外,需要通过choco安装ffmpeg库。先通过管理员权限的PowerShell安装choco:

复制代码
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; 
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

然后,在管理员权限的PowerShell安装ffmpeg:

复制代码
choco install ffmpeg

完成这些步骤之后,我们就可以使用啦!

Whisper的基本使用

whisper的基本代码如下:

python 复制代码
import whisper

model = whisper.load_model("base")
result = model.transcribe("zh.wav")
print(result['text'])

其中,zh.wav可以换成你自己的音频。我的控制台输出:

python 复制代码
我們說,40月2日混淩土不能與引力長相互攪拌不然會因為愛銀斯坦的相對論而引發雜串的食品安全問題這是嚴重的金融危機

可以看到,它的识别结果还行(因为我的音频是AI合成的,识别会有一定误差),但是输出的是繁体中文,我们需要把他变成简体中文。

识别结果转简体中文

可以通过opencc库实现转化,先安装:

python 复制代码
pip install opencc

然后修改代码:

python 复制代码
import whisper
import opencc

model = whisper.load_model("base")
result = model.transcribe("zh.wav")
cc = opencc.OpenCC("t2s")
res = cc.convert(result['text'])
print(res)

输出:

python 复制代码
我们说,40月2日混凌土不能与引力长相互搅拌不然会因为爱银斯坦的相对论而引发杂串的食品安全问题这是严重的金融危机

断句

在一个语音中,我们都会有一些停顿。但是,在识别结果中,这些停顿并没有被完全表示出来。我们可以如此修改代码,实现按断句输出结果:

python 复制代码
import whisper
import opencc

model = whisper.load_model("base")
result = model.transcribe("zh.wav")
cc = opencc.OpenCC("t2s")
for i in result['segments']:
    res = cc.convert(i['text'])
    print(f"断句开始于{i['start']}秒,结束于{i['end']}秒,识别结果:{res}")

输出:

python 复制代码
断句开始于0.0秒,结束于5.36秒,识别结果:我们说,40月2日混凌土不能与引力长相互搅拌
断句开始于5.36秒,结束于11.14秒,识别结果:不然会因为爱银斯坦的相对论而引发杂串的食品安全问题
断句开始于11.14秒,结束于13.44秒,识别结果:这是严重的金融危机
相关推荐
zzywxc78715 分钟前
详细探讨AI在金融、医疗、教育和制造业四大领域的具体落地案例,并通过代码、流程图、Prompt示例和图表等方式展示这些应用的实际效果。
开发语言·javascript·人工智能·深度学习·金融·prompt·流程图
算家计算18 分钟前
32K上下文开源语音理解、40分钟深度交互——Voxtral-Small-24B-2507本地部署教程
人工智能·开源·aigc
聚客AI28 分钟前
📝工程级开源:PyTorch手搓LLaMA4-MoE全栈指南
人工智能·llm·掘金·日新计划
TechubNews29 分钟前
加密资产投资的六种策略:稳定币合规后的 Web3 投资和 RWA
人工智能·web3
机器之心32 分钟前
7年了,OpenAI官方给出五代GPT对比,网友却怀念起「狂野」初代
人工智能·openai
后端小肥肠37 分钟前
Coze+ComfyUI 实战:视频制作成本降10 倍,高质量成片这么做
人工智能·aigc·coze
爱分享的飘哥1 小时前
第七十章:告别“手写循环”噩梦!Trainer结构搭建:PyTorch Lightning让你“一键炼丹”!
人工智能·pytorch·分布式训练·lightning·accelerate·训练框架·trainer
阿里云大数据AI技术1 小时前
PAIFuser:面向图像视频的训练推理加速框架
人工智能·机器学习
盛世隐者1 小时前
【深度学习】pytorch深度学习框架的环境配置
人工智能·pytorch·深度学习
说私域1 小时前
基于开源链动2+1模式AI智能名片S2B2C商城小程序的流量转化策略研究
人工智能·小程序