基于阿里Paraformer模型打造中文语音识别
openai-whisper是流行的语音识别解决方案,支持数十种语言,对中文支持效果也不错,不过在使用低于large尺寸的模型时,效果仍是略差。相比而言,国内阿里系专注于中文识别的模型效果就好了不少。
因此基于Paraformer搞了一个中文语音识别项目,可以方便的将中文音频视频识别为srt字幕,并支持在 pyVideoTrans 中也接口形式使用。
阿里魔塔 Paraformer语音识别-中文-通用-16k-离线-large-长音频版 www.modelscope.cn/models/iic/…
项目开源地址 github.com/jianchang51…
该项目仅支持中文语音识别。对于非中文语音,您可以利用基于 OpenAI Whisper 和 Faster-Whisper 的项目,如 pyvideotrans 或 stt 来进行识别,目的是为了弥补国外模型在中文支持方面的不足。
使用源码部署
- 首先安装 python3.10 / 安装 git git-scm.com/downloads ,安装ffmpeg,Windows上 下载ffmpeg.exe后放到本项目的ffmpeg文件夹内,Mac执行命令
brew install ffmpeg
安装,Linux上执行yum install ffmpeg
或apt-get install ffmpeg
- 创建个空英文目录,Window上在该目录下打开cmd(Macos和Linux打开终端),执行命令
git clone https://github.com/jianchang512/zh_recogn ./
- 继续执行
python -m venv venv
创建虚拟环境后,Windows中执行命令.\venv\scripts\activate
激活环境,Macos和Linux中执行source ./venv/bin/activate
激活环境 - 继续执行
pip install -r requirements.txt --no-deps
安装依赖 - Windows和Linux如需cuda加速,继续执行,
pip uninstall torch torchaudio
先卸载2个包, 再执行pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu118
安装cuda支持。 - 启动项目
python start.py
下载预打包版/仅支持win10 win11
- 下载后解压到英文目录,双击 start.exe
- 为减小打包体积,预打包版不支持CUDA,若需cuda加速,请源码部署
在 pyvideotrans项目中使用
首先升级 pyvideotrans 到v1.62+,然后左上角设置菜单-zh_recogn中文语音识别菜单点开,填写地址和端口,默认 "http://127.0.0.1:9933", 末尾不要加/api
API
api地址 http://ip:prot/api 默认 http://127.0.0.1:9933/api
python代码请求api示例
import requests
audio_file="D:/audio/1.wav"
file={"audio":open(audio_file,'rb')}
res=requests.post("http://127.0.0.1:9933/api",files=file,timeout=1800)
print(res.data)
#
[
{
line:1,
time:"00:00:01,100 --> 00:00:03,300",
text:"字幕内容1"
},
{
line:2,
time:"00:00:04,100 --> 00:00:06,300",
text:"字幕内容2"
},
]
注意事项
- 第一次使用将自动下载模型,用时会较长
- 仅支持中文语音识别
- set.ini文件中可修改绑定地址和端口
转载自:https://juejin.cn/post/7362102742762946612