一个离线运行的本地语音识别工具

使用 openai-whisper 和 flask 实现的本地语音识别服务,将音视频中的人声识别并转为文字,以 json/srt/text 格式输出,提供 api 接口。

api接口

接口地址: http://127.0.0.1:9977/api

请求方法: POST

请求参数:

language: 语言代码:可选如下

>
> 中文:zh
> 英语:en
> 法语:fr
> 德语:de
> 日语:ja
> 韩语:ko
> 俄语:ru
> 西班牙语:es
> 泰国语:th
> 意大利语:it
> 葡萄牙语:pt
> 越南语:vi
> 阿拉伯语:ar
> 土耳其语:tr
>

model: 模型名称,可选如下
>
> base 对应于 models/base.pt
> small 对应于 models/small.pt
> medium 对应于 models/medium.pt
> large 对应于 models/large.pt
> large-v3 对应于 models/large-v3.pt
>

response_format: 返回的字幕格式,可选 text|json|srt

file: 音视频文件,二进制上传

Api 请求示例

    import requests
    # 请求地址
    url = "http://127.0.0.1:9977/api"
    # 请求参数  file:音视频文件,language:语言代码,model:模型,response_format:text|json|srt
    # 返回 code==0 成功,其他失败,msg==成功为ok,其他失败原因,data=识别后返回文字
    files = {"file": open("C:\\Users\\c1\\Videos\\2.wav", "rb")}
    data={"language":"zh","model":"base","response_format":"json"}
    response = requests.request("POST", url, timeout=600, data=data,files=files)
    print(response.json())
1 Like

请问,功能和 pyvideotrans 是不是重叠。

pyvideotrans里包含语音识别 语音合成 翻译等功能,这个stt是独立的,仅仅只有语音识别,因为有些用户不需要视频翻译,只想要一个语音识别的

1 Like