一个专注于中文语音识别的项目-支持在pyvideotrans中使用


openai-whisper是流行的语音识别解决方案,支持数十种语言,对中文支持效果也不错,不过在使用低于large尺寸的模型时,效果仍是略差。相比而言,国内阿里系专注于中文识别的模型效果就好了不少。
因此基于Paraformer搞了一个中文语音识别项目,可以方便的将中文音频视频识别为srt字幕,并支持在 pyVideoTrans 中也接口形式使用。
阿里魔塔 Paraformer语音识别-中文-通用-16k-离线-large-长音频版 https://www.modelscope.cn/models/iic/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch/summary
项目开源地址 https://github.com/jianchang512/zh_recogn
该项目仅支持中文语音识别。对于非中文语音,您可以利用基于 OpenAI Whisper 和 Faster-Whisper 的项目,如 pyvideotrans 或 stt 来进行识别,目的是为了弥补国外模型在中文支持方面的不足。
   使用源码部署
首先安装 python3.10 / 安装 git https://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
https://github.com/jianchang512/zh_recogn/releases/
下载后解压到英文目录,双击 start.exe
为减小打包体积,预打包版不支持CUDA,若需cuda加速,请源码部署
   在 pyvideotrans项目中使用
首先升级 pyvideotrans 到v1.62+,然后左上角设置菜单-zh_recogn中文语音识别菜单点开,填写地址和端口,默认 "http://127.0.0.1:9933", 末尾不要加/api
   API
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文件中可修改绑定地址和端口
到顶部