6款支持中文语音识别开源软件的简单使用

这篇具有很好参考价值的文章主要介绍了6款支持中文语音识别开源软件的简单使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

摘自百度百科

语音识别技术,也被称为自动语音识别(Automatic Speech Recognition,ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。

语音识别是深度学习领域之一, 在 github 上也有很多项目实现 ASR, 支持中文 ASR 的部分项目如下,下面会演示简单使用

  1. https://github.com/PaddlePaddle/PaddleSpeech
  2. https://github.com/nl8590687/ASRT_SpeechRecognition
  3. https://github.com/nobody132/masr
  4. https://github.com/espnet/espnet
  5. https://github.com/wenet-e2e/wenet
  6. https://github.com/mozilla/DeepSpeech

一、PaddleSpeech

PaddleSpeech 是基于飞桨 PaddlePaddle 的语音方向的开源模型库,用于语音和音频中的各种关键任务的开发,包含大量基于深度学习前沿和有影响力的模型。

PaddleSpeech 荣获 NAACL2022 Best Demo Award, 请访问 Arxiv 论文。

1.1 安装

根据官方文档安装即可:https://github.com/PaddlePaddle/PaddleSpeech/blob/develop/README_cn.md#%E5%AE%89%E8%A3%85

官方强烈建议用户在 Linux 环境下,3.7 以上版本的 python 上安装 PaddleSpeech。

但是我电脑是 windows , 而且 python 版本为 3.6.5。选择在windows 下安装 python 3.7.0 版本:https://www.python.org/downloads/windows/,安装过程中报以下错误

pip install paddlespeech

问题一:paddlespeech-ctcdecoders 版本错误

 Could not find a version that satisfies the requirement paddlespeech-ctcdecoders (from paddlespeech) (from versions: )
No matching distribution found for paddlespeech-ctcdecoders (from paddlespeech)

发现 paddlespeech-ctcdecoders 并没有 windows 版本,而且发现已经有人编译windows 版本了,初次编译paddlespeech-ctcdecoders的windows版本,不过官方提示:paddlespeech-ctcdecoders 没有安装成功不要紧,这个包不是必须的。

问题二:gbk 编码错误

UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 5365: illegal multibyte sequence

这个问题等我再次运行就消失了

1.2 运行

报找不到文件错误:

FileNotFoundError: [WinError 2] 系统找不到指定的文件。

打开 Python\Python37\lib\subprocess.py 文件,在684行将 shell=False 改为 shell=True

    _child_created = False  # Set here since __del__ checks it

    def __init__(self, args, bufsize=-1, executable=None,
                 stdin=None, stdout=None, stderr=None,
                 preexec_fn=None, close_fds=True,
                 shell=True, cwd=None, env=None, universal_newlines=None,
                 startupinfo=None, creationflags=0,
                 restore_signals=True, start_new_session=False,
                 pass_fds=(), *, encoding=None, errors=None, text=None):

使用官方的例子测试:

paddlespeech asr --lang zh --input C:\Users\supre\Desktop\sound\PaddleSpeech-develop\zh.wav

开源中文语音识别,github,python,software,语音识别,开源软件,人工智能,python,paddlespeech

使用自己录音的两个例子测试,发现很精确。

开源中文语音识别,github,python,software,语音识别,开源软件,人工智能,python,paddlespeech

开源中文语音识别,github,python,software,语音识别,开源软件,人工智能,python,paddlespeech

1.3 更多功能

除了语音识别,还支持更多功能

  1. 声音分类
paddlespeech cls --input input.wav
  1. 声纹识别
paddlespeech vector --task spk --input input_16k.wav
  1. 语音翻译(英-中)(暂不支持 Windows 系统)
paddlespeech st --input input_16k.wav
  1. 语音合成
paddlespeech tts --input "你好,欢迎使用百度飞桨深度学习框架!" --output output.wav

发现 “你好,aabond, 欢迎使用百度飞桨” 其中 aabond 并没有语音,猜测并不能合成英文,可能需要提供其它参数
开源中文语音识别,github,python,software,语音识别,开源软件,人工智能,python,paddlespeech

  1. 标点恢复
paddlespeech text --task punc --input 今天的天气真不错啊你下午有空吗我想约你一起去吃饭

二、ASRT

ASRT 是一个基于深度学习的中文语音识别系统,使用 tensorFlow.keras 基于深度卷积神经网络和长短时记忆神经网络、注意力机制以及CTC 实现。

2.1 安装

下载服务端,安装依赖

$ pip install tensorflow==2.5.2
$ pip install wave
$ pip install matplotlib
$ pip install requests
$ pip install scipy
$ pip install flask
$ pip install waitress

下载客户端

2.2 运行

python asrserver_http.py

使用百度demo 作为例子,能够正确显示

开源中文语音识别,github,python,software,语音识别,开源软件,人工智能,python,paddlespeech

使用自己录音作为例子,“说话的艺术”被识别为“上”,并不能正确显示,难道是因为我说话太快?应该需要训练数据

开源中文语音识别,github,python,software,语音识别,开源软件,人工智能,python,paddlespeech

还可以实时语音识别,发现精确度一般
开源中文语音识别,github,python,software,语音识别,开源软件,人工智能,python,paddlespeech

三、MASR

MASR 是一个基于端到端的深度神经网络中文普通话语音识别项目.

MASR 使用的是门控卷积神经网络(Gated Convolutional Network),网络结构类似于 Facebook 在2016年提出的 Wav2letter 。但是使用的激活函数不是 ReLU 或者是 HardTanh,而是GLU(门控线性单元)。因此称作门控卷积网络。根据我的实验,使用GLU的收敛速度比 HardTanh 要快。如果你想要研究卷积网络用于语音识别的效果,这个项目可以作为一个参考。

3.1 安装

下载源码,下载预训练模型数据,在源码目录下新建一个 pretrained 目录, 并将模型文件放入其中

3.2 运行

python examples/demo-record-recognize.py

识别结果:

“说话的艺术” 识别为 “说化和一数”

开源中文语音识别,github,python,software,语音识别,开源软件,人工智能,python,paddlespeech

“只因你太美” 识别为 “只因里派云”

开源中文语音识别,github,python,software,语音识别,开源软件,人工智能,python,paddlespeech

四、ESPnet

ESPnet:端到端语音处理工具包,涵盖了端到端语音识别、文本到语音、语音翻译、语音增强、说话者二值化、口语理解等。ESPnet 使用 pytorch 作为深度学习引擎,并遵循 Kaldi 风格的数据处理、特征提取/格式和配方,为各种语音处理实验提供一个完整的设置。

4.1 安装

pip install espnet
pip install espnet_model_zoo
pip install kenlm

4.2 运行

运行下面代码,可能下载速度太慢,可手动下载中文模型数据,放在Python安装路径 Python36\Lib\site-packages\espnet_model_zoo\a1dd2b872b48358daa6e136d4a5ab08b下面,加快速度

import soundfile
from espnet_model_zoo.downloader import ModelDownloader
from espnet2.bin.asr_inference import Speech2Text
d = ModelDownloader()
speech2text = Speech2Text(
**d.download_and_unpack("kamo-naoyuki/aishell_conformer"),
    # Decoding parameters are not included in the model file
    maxlenratio=0.0,
    minlenratio=0.0,
    beam_size=20,
    ctc_weight=0.3,
    lm_weight=0.5,
    penalty=0.0,
    nbest=1
)
audio, rate = soundfile.read("zh.wav")
nbests = speech2text(audio)
text, *_ = nbests[0]
print(text)

可发现百度demo 能够正确识别

开源中文语音识别,github,python,software,语音识别,开源软件,人工智能,python,paddlespeech

测试自己录音demo, “说话的艺术” 识别为 “说话的约束”

开源中文语音识别,github,python,software,语音识别,开源软件,人工智能,python,paddlespeech

五、WeNet

Wenet是出门问问语音团队联合西工大语音实验室开源的一款面向工业落地应用的语音识别工具包,该工具用一套简洁的方案提供了语音识别从训练到部署的一条龙服务,其主要特点如下:

  • 使用 conformer 网络结构和 CTC/attention loss 联合优化方法,具有业界一流的识别效果。
  • 提供云上和端上直接部署的方案,最小化模型训练和产品落地之间的工程工作。
  • 框架简洁,模型训练部分完全基于pytorch生态,不依赖于kaldi等安装复杂的工具。
  • 详细的注释和文档,十分适合用于学习端到端语音识别的基础知识和实现细节。

5.1 安装

pip install wenetruntime

5.2 运行

import sys
import wenetruntime as wenet

wav_file = sys.argv[1]
decoder = wenet.Decoder(lang='chs')
ans = decoder.decode_wav(wav_file)
print(ans)

如果下载文件太慢,可通过手动下载 文件到 C:\Users\supre\.wenet\chs 目录下,记住要解压 chs.tar.gz,而不要再解压 final.zip。

使用百度demo测试,很精确

开源中文语音识别,github,python,software,语音识别,开源软件,人工智能,python,paddlespeech

使用自己录音声音测试,报错如下:

开源中文语音识别,github,python,software,语音识别,开源软件,人工智能,python,paddlespeech

应该是只能输入单声道,而我录音的是双声道。解决方法:使用 Audacity 录音,并将声道改为单声道,并将采样频率修改为 16000 HZ,编码器默认不变,否则会出现下面的错误
开源中文语音识别,github,python,software,语音识别,开源软件,人工智能,python,paddlespeech

最终结果,还是很精确的。

开源中文语音识别,github,python,software,语音识别,开源软件,人工智能,python,paddlespeech

六、DeepSpeech

DeepSpech 是一个开源的语音到文本( Speech-To-Text, STT )引擎,使用了基于百度深度语音研究论文的机器学习技术训练的模型。深度语音项目使用谷歌的Tensorflow,使实现更容易。

6.1 安装

pip install deepspeech

6.2 运行

下载中文模型:deepspeech-0.9.3-models-zh-CN.pbmm,deepspeech-0.9.3-models-zh-CN.scorer

deepspeech --model deepspeech-0.9.3-models-zh-CN.pbmm --scorer deepspeech-0.9.3-models-zh-CN.scorer --audio zh.wav

使用 百度 demo 测试,有误差

开源中文语音识别,github,python,software,语音识别,开源软件,人工智能,python,paddlespeech

使用自己录音,“说话的艺术” 识别为 “兰花的一杯”

开源中文语音识别,github,python,software,语音识别,开源软件,人工智能,python,paddlespeech

使用 deepspeech 自带数据测试 “他有两个哥哥” 识别为 “会有两个哥哥”

开源中文语音识别,github,python,software,语音识别,开源软件,人工智能,python,paddlespeech文章来源地址https://www.toymoban.com/news/detail-522483.html

参考

  1. import paddle 遇到错误
  2. 教你如何使用ASRT部署中文语音识别API服务器
  3. Wenet - 面向工业落地的E2E语音识别工具

到了这里,关于6款支持中文语音识别开源软件的简单使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 本地化部署离线开源免费语音识别API,支持多模态AI能力引擎

    思通数科作为一家专注于多模态AI能力开源引擎平台,其技术产品涵盖了自然语言处理、情感分析、实体识别、图像识别与分类、OCR识别以及语音识别等多个领域。在语音识别这一细分市场,思通数科的技术产品中的音频文件转写服务有着相似的应用场景和功能特点。 思通数

    2024年04月12日
    浏览(64)
  • python使用VOSK实现离线语音识别(中文普通话)

    目标:一个代码简单,离线,可直接使用,常用语句准确率还不错,免费的,普通话语音转文本的工具 几番对比下来,VSOK基本满足我的需求,记录一下。 环境 windows 10 / python3.8.10 s1 安装 vosk s2 下载模型 两个模型,一个很小,文件名中带有small字样,另一个就很大了,就我自

    2024年02月11日
    浏览(48)
  • 语音识别之百度语音试用和OpenAiGPT开源Whisper使用

    0.前言: 本文作者亲自使用了百度云语音识别,腾讯云,java的SpeechRecognition语言识别包 和OpenAI近期免费开源的语言识别Whisper(真香警告)介绍了常见的语言识别实现原理 1.NLP 自然语言处理(人类语言处理) 你好不同人说出来是不同的信号表示 图 a a1 2.处理的类别 3.深度学习带来语言

    2024年02月03日
    浏览(42)
  • openai开源的whisper在huggingface中使用例子(语音转文字中文)

    openai开源的语音转文字支持多语言在huggingface中使用例子。 目前发现多语言模型large-v2支持中文是繁体,因此需要繁体转简体。 后续编写微调训练例子 GitHub地址: https://github.com/openai/whisper

    2024年02月11日
    浏览(45)
  • .Net 使用OpenAI开源语音识别模型Whisper

    .Net 使用OpenAI开源语音识别模型 Whisper Open AI在2022年9月21日开源了号称其英文语音辨识能力已达到人类水准的 Whisper 神经网络,且它亦支持其它98种语言的自动语音辨识。 Whisper系统所提供的自动语音辨识(Automatic Speech Recognition,ASR)模型是被训练来运行语音辨识与翻译任务的

    2024年02月08日
    浏览(55)
  • 开源C++智能语音识别库whisper.cpp开发使用入门

    whisper.cpp是一个C++编写的轻量级开源智能语音识别库,是基于openai的开源python智能语音模型whisper的移植版本,依赖项少,内存占用低,性能更优,方便作为依赖库集成的到应用程序中提供语音识别功能。 以下基于whisper.cpp的源码利用C++ api来开发实例demo演示读取本地音频文件

    2024年02月20日
    浏览(50)
  • 开源中文分词Ansj的简单使用

    ANSJ是由孙健(ansjsun)开源的一个中文分词器,为ICTLAS的Java版本,也采用了Bigram + HMM分词模型:在Bigram分词的基础上,识别未登录词,以提高分词准确度。 虽然基本分词原理与ICTLAS的一样,但是Ansj做了一些工程上的优化,比如:用DAT高效地实现检索词典、邻接表实现分词D

    2024年02月14日
    浏览(26)
  • 中文语音标注工具FunASR(语音识别)

    全称  A Fundamental End-to-End Speech Recognition Toolkit (一个语音识别工具) 可能大家用过 whisper (openAi),它【标注英语的确很完美】,【但中文会出现标注错误】或搞了个没说的词替换上去,所以要人工核对,麻烦。 FunASR作用 :能【准确】识别语音,并转成【文字、标出声调】

    2024年02月04日
    浏览(39)
  • 【语音识别】HMM中文语音识别【含GUI Matlab源码 1385期】

    获取代码方式1: 完整代码已上传我的资源:【语音识别】基于matlab GUI HMM中文语音识别【含Matlab源码 1385期】 点击上面蓝色字体,直接付费下载,即可。 获取代码方式2: 付费专栏Matlab语音处理(初级版) 备注: 点击上面蓝色字体 付费专栏Matlab语音处理(初级版) ,扫描

    2024年02月20日
    浏览(44)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包