python使用VOSK实现离线语音识别(中文普通话)

这篇具有很好参考价值的文章主要介绍了python使用VOSK实现离线语音识别(中文普通话)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目标:一个代码简单,离线,可直接使用,常用语句准确率还不错,免费的,普通话语音转文本的工具

几番对比下来,VSOK基本满足我的需求,记录一下。

环境

windows 10 / python3.8.10


s1 安装 vosk

> pip install vosk

s2 下载模型

两个模型,一个很小,文件名中带有small字样,另一个就很大了,就我自己测试起来,small也够用

官网下载地址:

https://alphacephei.com/vosk/models/vosk-model-small-cn-0.22.zip         41.87 M
https://alphacephei.com/vosk/models/vosk-model-cn-0.15.zip                1.67 G

s3 下载 示例代码

代码位置:

https://github.com/alphacep/vosk-api

其实只用到其中的python部分

s4 测试

s4.1 把 s2下载的 model 解压,记住路径
s4.2 修改示例代码 vosk-api/python/example/test_simple.py
import wave
import sys
import json

from vosk import Model, KaldiRecognizer, SetLogLevel

# You can set log level to -1 to disable debug messages
SetLogLevel(-1)

wf = wave.open(sys.argv[1], "rb")
if wf.getnchannels() != 1 or wf.getsampwidth() != 2 or wf.getcomptype() != "NONE":
    print("Audio file must be WAV format mono PCM.")

    sys.exit(1)

# model = Model(lang="en-us")
# You can also init model by name or with a folder path
# model = Model(model_name="vosk-model-en-us-0.21")
# 设置模型所在路径,刚刚4.1中解压出来的路径   《《《《
# model = Model("model") 
model = Model("model-small")

rec = KaldiRecognizer(model, wf.getframerate())
rec.SetWords(True)
# rec.SetPartialWords(True)   # 注释这行   《《《《

str_ret = ""

while True:
    data = wf.readframes(4000)
    if len(data) == 0:
        break
    if rec.AcceptWaveform(data):
        result = rec.Result()
        # print(result)

        result = json.loads(result)
        if 'text' in result:
            str_ret += result['text'] + ' '
    # else:
    #     print(rec.PartialResult())

# print(rec.FinalResult())
result = json.loads(rec.FinalResult())
if 'text' in result:
    str_ret += result['text']

print(str_ret)
s4.3 跑一下代码
> python .\test_simple.py cn2.wav
床前明月光

测试用到的 cn2.wav 是使用系统的录音机录的,再用格式工厂转为wav格式,这里需要注意的是wav必须是单声道的,否则没法识别的。
vosk使用,笔记,语音识别,python,人工智能

结论

准确率还是不错的,就是耗时比较大,就上面的一行诗得3秒左右,不知道是不是跟电脑配置也有关系文章来源地址https://www.toymoban.com/news/detail-516468.html

到了这里,关于python使用VOSK实现离线语音识别(中文普通话)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【FunASR】Paraformer语音识别-中文-通用-16k-离线-large-onnx

    模型文件: damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch Paraformer-large长音频模型集成VAD、ASR、标点与时间戳功能,可直接对时长为数小时音频进行识别,并输出带标点文字与时间戳: ASR模型:Parformer-large模型结构为非自回归语音识别模型,多个中文公开数据集

    2024年02月03日
    浏览(46)
  • Vosk 扬声器内录语音识别转文字 最简洁的C#代码

    最近在看小众西语电影,但苦于没字幕,只能自己想办法弄实时语音识别。然而网上给出的很多相关代码,大部分是基于已有的wav文件或者麦克风外录的方式实现的。我这里就稍微改进了一下,可以在内录(英文资料说的的是loopback audio recording)的情况下进行语音转文字。这里

    2024年02月14日
    浏览(48)
  • 【语音识别】落地实现--离线智能语音助手

    参考:基于python和深度学习(语音识别、NLP)实现本地离线智能语音控制终端(带聊天功能和家居控制功能) 基于V3S的语音助手(三)移植pocketsphnix唤醒 基于V3S的语音助手(二)移植pyaudio到开发板 基于V3S的语音助手(一)python3的编译和安装(该版本解决zlib readline可

    2024年03月09日
    浏览(58)
  • Java 离线语音识别实现语音转文字

    model下载 我们需要实现离线语音识别,那么就得将模型下载到本地电脑。下载地址为官网的 Models 模块: https://alphacephei.com/vosk/models 我们直接找到 Chinese 分类,这里有 2 个模型 将下载的语言模型包,在下面代码中引入 代码 CommonUtils 注意:以上代码只支持.wav格式的音频文件

    2024年02月05日
    浏览(63)
  • 免费离线语音识别软件开发工具包(SDK):实现高效准确的语音识别

    语音识别技术在当今信息时代扮演着重要的角色,为用户提供了更加便捷和自然的交互方式。然而,传统的语音识别方案通常需要依赖云服务器进行语音数据的处理,这可能会涉及到隐私问题和网络延迟。为了解决这些问题,免费离线语音识别软件开发工具包(SDK)应运而生

    2024年02月04日
    浏览(59)
  • 使用python实现语音识别

    语音识别技术,也被称为自动语音识别,目标是以电脑自动将以人类的语音内容转换为相应的文字和文字转换为语音。 一. 文本转换为语音 1.1 使用pyttsx 使用名为pyttsx的python包,可以将文本转换为语音。 安装pyttsx包 示例 运行之后可以播放语音。 1.2 使用SAPI 在python 中,也可

    2024年02月04日
    浏览(47)
  • 【离线文本转语音文件】java spring boot jacob实现文字转语音文件,离线文本转化语音,中英文生成语音,文字朗读,中文生成声音,文字生成声音文件,文字转语音文件,文字变声音。

    输入文字(支持中英文),点击转换生成***.wav文件,点击下载到本地就可。  生成后的音频文件播放,时长1分8秒          这次采用jacob实现,相比百度AI需要联网,本项目定位内网环境实现。所以最终采jacob。 1.环境配置: 本次采用版本jacob-1.19,我们需要下载jacob.jar和dll

    2024年02月16日
    浏览(85)
  • Python使用PaddleSpeech实现语音识别(ASR)、语音合成(TTS)

    目录 安装 语音识别 补全标点 语音合成 参考 PaddleSpeech是百度飞桨开发的语音工具 注意,PaddleSpeech不支持过高版本的Python,因为在高版本的Python中,飞桨不再提供paddle.fluid API。这里面我用的是Python3.7 需要通过3个pip命令安装PaddleSpeech: 在使用的时候,urllib3库可能会报错,因

    2024年04月25日
    浏览(43)
  • Whisper对于中文语音识别与转写中文文本优化的实践(Python3.10)

    阿里的FunAsr对Whisper中文领域的转写能力造成了一定的挑战,但实际上,Whisper的使用者完全可以针对中文的语音做一些优化的措施,换句话说,Whisper的“默认”形态可能在中文领域斗不过FunAsr,但是经过中文特殊优化的Whisper就未必了。 Whisper经常被人诟病的一点是对中文语音

    2024年01月25日
    浏览(45)
  • Python使用whisper实现语音识别(ASR)

    目录 Whisper的安装 Whisper的基本使用 识别结果转简体中文 断句 Whisper是OpenAI的一个强大的语音识别库,支持离线的语音识别。在使用之前,需要先安装它的库: 使用whisper,还需安装setuptools-rust: 但是,whisper安装时,自带的pytorch可能有些bug,因此需要卸载重装: 卸载: 重装

    2024年03月20日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包