博舍

语音识别算法 语音识别算法 开源是什么

语音识别算法

广告关闭

腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元!

录音文件识别请求,数据结构,androidsdk,iossdk,自学习模型,使用云函数方式的录音文件识别,node.jssdk,热词,node.jssdk,更新热词表,获取热词表,删除热词表,创建热词表,设置热词表状态,列举热词表,下载热词表,识别效果问题排查,产品动态,trtc接入实时语音识别,访问管理概述,可授权资源类型,授权策略语法,查询自...

腾讯云语音识别服务开放实时语音识别、一句话识别和录音文件识别三种服务形式,满足不同类型开发者需求...语音识别简介腾讯云语音识别为企业提供极具性价比的语音识别服务被微信王者荣耀腾讯视频等大量内部业务使用外部落地录音质检会议实时转写法庭审讯记录语音输入法等多个场景产品文档产品视频实时...

wav2letter++由facebookai研究院(fair)的语音团队推出,以c++写成,使用了arrayfire张量库和flashlight机器学习库。facebook还说,它是第一个完全由c++写成的语音识别系统,也是第一个全卷积语音识别系统。所谓“全卷积”,指的是wav2letter++在从声波到文本的处理过程中,所有可学习的部件都是由卷积层构成的...

接口描述本接口服务对实时音频流进行识别,同步返回识别结果,达到“边说边出文字”的效果。接口是httprestful形式,在使用该接口前,需要在语音识别控制台开通服务,并进入api密钥管理页面新建密钥,生成appid、secretid和secretkey,用于api调用时生成签名,签名将用来进行接口鉴权。接口要求集成实时...

同时,数据万象支持对识别结果进行处理,包括脏词屏蔽、语气词过滤、阿拉伯数字智能转换等,满足多种语音识别需求。适用场景呼叫中心语音质检数据万象语音识别服务支持对电话场景下的录音文件进行识别通过对通话双方语音内容进行分离,可实现客服服务评级打分,提升电话客服服务质量。视频字幕生成针对音频文件,可...

为开发者提供语音转文字服务的最佳体验。语音识别服务经微信、腾讯视频、王者荣耀等大量内部业务验证,同时也在线上线下大量外部客户业务场景下成功落地,具备识别准确率高、接入便捷、性能稳定等特点。腾讯云语音识别服务开放实时语音识别、一句话识别和录音文件识别三种服务形式,满足不同类型开发者需求...

简介语音识别是针对已经录制完成的录音文件,进行识别的服务,异步返回识别文本,可应用于呼叫中心语音质检、视频字幕生成,会议语音资料转写等场景。相关说明支持中文普通话、英语和粤语的语音识别。支持wav、mp3、m4a的音频格式。语音文件的时长不能大于5小时,文件大小不超过512mb。说明:语音识别是付费...

国内语音识别行业的佼佼者科大讯飞的语音听写准确率则达到了95%,表现强悍。国内诸如阿里、百度、腾讯等大公司,也纷纷发力语音识别,前景一片看好。...这不仅要相当完善的数据库,满足这样的准确率还得效率较高的识别提取算法和自学习系统。但然这样的数据我们要以辨证的眼光来看,俗话说,一句话百样说...

接口描述本接口服务采用websocket协议,对实时音频流进行识别,同步返回识别结果,达到“边说边出文字”的效果。在使用该接口前,需要在语音识别控制台开通服务,并进入api密钥管理页面新建密钥,生成appid、secretid和secretkey,用于api调用时生成签名,签名将用来进行接口鉴权。2.接口要求集成实时...

适用场景可应用于呼叫中心语音质检、视频字幕生成,会议语音资料转写等场景。相关说明语音识别功能仅支持中国大陆公有云地域。语音识别功能为收费项,由数据万象收取,按照识别时长进行计费,每个账户每月有10小时的免费体验额度,超出后将正常计费。具体费用请参见计费与定价。目前支持中文普通话、英语和粤语...

语音文件的时长不能大于5小时,文件大小不超过512mb。说明:语音识别是付费服务,由数据万象计费,按照识别时长进行计费,具体费用请参见计费与定价。数据万象为每个账户提供每月10小时的免费体验额度,超出后将正常计费。未使用额度不会累积至下一月。语音识别只支持中国大陆公有云地域。操作步骤您可通过...

概述腾讯云智聆口语评测(smartoralevaluation,soe)是腾讯云推出的语音评测产品是基于口语类教育培训场景和腾讯云的语音处理技术,应用特征提取、声学模型和语音识别算法,为儿童和成人提供高准确度的口语发音评测。腾讯云智聆口语评测支持单词和句子模式的评测,多维度反馈口语表现,可广泛应用于中文及英语...

概述腾讯云智聆口语评测(smartoralevaluation,soe)是腾讯云推出的语音评测产品是基于口语类教育培训场景和腾讯云的语音处理技术,应用特征提取、声学模型和语音识别算法,为儿童和成人提供高准确度的口语发音评测。支持单词、句子和段落模式的评测,多维度反馈口语表现,可广泛应用于中文及英语口语类教学中...

概述腾讯云智聆口语评测(smartoralevaluation,soe)是腾讯云推出的语音评测产品是基于口语类教育培训场景和腾讯云的语音处理技术,应用特征提取、声学模型和语音识别算法,为儿童和成人提供高准确度的口语发音评测。腾讯云智聆口语评测支持单词、句子和段落模式的评测,多维度反馈口语表现,可广泛应用于中文及...

腾讯云智聆口语评测(smartoralevaluation)英语口语评测服务,是基于英语口语类教育培训场景和腾讯云的语音处理技术,应用特征提取、声学模型和语音识别算法,为儿童和成人提供高准确度的英语口语发音评测。支持单词和句子模式的评测,多维度反馈口语表现。支持单词和句子评测模式,可广泛应用于英语口语类教学...

内容识别(cr)是由腾讯云数据万象提供的内容识别和理解能力。其集成腾讯云ai的多种强大功能,对腾讯云对象存储的数据提供图片标签、人脸智能裁剪、语音识别、人脸特效等增值服务广泛应用于电商网站、社交软件等多种场景,方便用户对图片进行内容管理...

概述当用户接入实时音视频(tencentrtc)服务后,有时会有实时语音识别需求,从而实现实时会议字幕或语音弹幕等功能,本文档帮助客户端(androidios)用户在已经接入trtc服务后,更好的对实时语音识别进行接入。ios接入流程首先需要接入trtc,跑通流程。根据实时语音识别音频流格式要求,参考trtc技术文档...

例如在trigram(n取值为3)模型,可将上式化简:?5语音识别效果展示基于pc的语音识别展示demo如下视频所示:视频包括使用“小致同学”唤醒设备,设备唤醒之后有12秒时间进行语音识别控制,空闲时间超过了12秒将再次休眠。我们的语音识别算法已经部分移植到了基于aworks的cortex-m7系列m1052-m16f128awi-t平台。...

解读a3:我们语音识别也是以云服务器的清明为例,真奇怪以云服务器查看实例列表(describeinstances)请求为例,当用户调用这一接口时,其请求参数可能如下...均已开源,支持python、java、php、go、nodejs、.net。解读a:这些语言说给了签名算法,我怎么没有在官网上找到呢?腾讯云api会对每个访问请求进行...

依图语音识别算法在全球最大开源中文数据库aishell-2上词错率仅3.71%,比原业内领先者提升约20%,大幅刷新现有纪录。比对各家语音识别算法,当今智能语音战场,英雄唯讯飞与依图尔?2018年底,智能语音市场意外杀入一匹黑马。素来被认为是“人脸识别独角兽”——或者更宽泛一点说,“计算机视觉独角兽”的依图科技...

Kaldi 语音识别基础教程

Kaldi介绍

Kaldi是由C++编写的语音识别工具,其目的在于为语音识别研究者提供一个研究和使用的平台。

Kaldi环境搭建

本文主要通过使用Docker和Nvidia-docker构建Ubuntu环境对Kaldi进行搭建。Docker针对的是无GPU的环境,Nvidia-docker针对的是需要使用GPU计算的环境,如果读者机器上存在GPU计算资源,请使用Nvidia-docker,使用Nvidia官方提供的CUDA镜像,可以省去安装CUDA的麻烦。Kaldi的环境搭建分为两部分,一部分为依赖工具安装,另一部分为自身源码编译。

Docker基础命令

本节简单介绍在安装Kaldi过程中使用到的Docker基础命令,如读者需要更加详细的学习Docker,请主动寻找相应的专业书籍、文档学习。

本章中所用到的Docker命令如下:

dockerpull从DockerHub中拉取镜像dockerimages查看系统中所有Docker镜像dockerrun运行Docker镜像dockerexec登陆已经运行的Docker镜像dockercommit在原有镜像基础上创建新镜像dockerps查看镜像是否运行

注意: 如果读者需要使用GPU来进行计算,需要安装Nvidia-docker,该软件的运行命令与Docker的运行命令一致。Docker与Nvidia-docker的安装过程这里不做介绍。

Kaldi环境搭建

这里假设读者电脑已经安装Docker和Nvidia-docker,如果未安装,请先安装再进行如下操作。

首先通过Docker获取相应的Ubuntu系统。

dockerpullnvidia/cuda:9.0-base-ubuntu16.04

之后启动该镜像,并安装相应软件

nvidia-dockerrun-itdnvidia/cuda:9.0-base-ubuntu16.04/bin/bash启动镜像并保持后台运行nvidia-dockerps获取该启动镜像的ContainerIDnvidia-dockerexec-it/bin/bash进入系统apt-getupdateapt-getinstallgitvimcd/opt&&gitclonehttps://github.com/kaldi-asr/kaldi.git&&cdkaldi

接下来进行Kaldi的第一部分安装,第一部分主要是针对Kaldi依赖工具的安装比如Openfst、Portaudio等。安装步骤如下:

cdtools&&extras/check_dependencies.shapt-getinstallg++zlib1g-devmakeautomakeautoconfbzip2unzipwgetsoxlibtoolsubversionpython2.7python3libatlas-devlibatlas-base-devmakeextras/install_irstlm.sh

Kaldi安装的第二部分为源码编译部分,这里的首要条件是第一部分正常安装之后,第二部分才能顺利完成。安装步骤如下:

cd/opt/kaldi/src./configure--sharedmakedepend-j8make-j8

只有以上两部顺利安装,Kaldi的安装才算成功。

最后读者可以退出终端,使用命令:

dockercommitkaldi:latest

来构建一个可以长时间使用的Docker镜像,当然读者也可以使用作者已经做好的Dockerfile文件来生成Docker镜像,或者直接拉取作者已经做好的Docker镜像。

Kaldi目录介绍

本节主要对Kaldi的目录进行详细介绍。

Kaldi一级目录

在Kaldi的一级主目录中(也就是进入kaldi目录之后大家所看到的所有目录)包括:egs、misc、scripts、src、tools、windows。

egs:此目录为Kaldi例子目录,其中例子包含了不乏语音识别、语种识别、声纹识别、关键字识别等。misc:此目录包含了一些pdf、以及相关docker、htk等资源scripts:此目录只用来存放Rnnlm,以及相应的运行脚本。src:此目录为Kaldi的源代码目录,Kaldi的多数算法的源代码都存放于此,其中不乏GMM、Ivector、Nnet等一系列的算法。tools:此目录主要存放Kaldi依赖库的安装脚本windows:此目录为在Windows平台运行所必须的脚本以及相关的执行程序。

这里只是针对性的对egs和src目录进行介绍,其他目录读者可以自行了解。

Kaldi一级目录Egs

Egs目录主要用于存放Kaldi的所有例程,这里会统一罗列出相关文件所包含的相关例子。

Aishell:此目录为中文语音识别和声纹识别相关例子。Aishell2:此目录主要为中文语音识别例子,但是针对Aishell在脚本方面更加规整。ami:此目录主要涉及到多信道语音识别的例子。an4:此例子为CMU提供语音识别例子,并没有涉及神经网络。apiai_decode:此例子为解码器使用的例子,其中包含了如何使用预训练模型,这里主要针对的是Nnet3解码。aspire:此为ASpIRE挑战赛的例子,其中包含了怎样使用噪声数据构建多条件数据的例子。aurora4:此例子主要介绍RBM预训练。babel:此例子主要是用来训练KWS(KeyWordSearch)。babel_multilang:此例子为训练多语音KWS。bentham:手写笔识别的例子。bn_music_speech:音乐与语音区分的例子。callhome_diarization:说话人分割的例子。callhome_etyptian:埃及语语音识别例子。chime1-5:主要针对CHiME竞赛开放的例子。cigar:图像分类的例子。commonvoice:MozillaCommonVoice语音识别的例子。csj:日语语音识别例子。dihard_2018:DiHARDSpeechDiarizationCHALLENGE的例子。fame:富里西语语音识别和声纹识别的例子。farsdat:主要用来声学语音研究和语音识别的例子。fisher_callhome_spanish:使用Callhome预料进行语音识别的例子。fisher_english:英文双声道8000Hz对话电话语音数据集的语音识别例子。fisher_swbd:包含fisher数据集以及swbd数据集的语音识别例子。gale_arabic:阿拉伯语语音识别例子。gale_mandarin:普通话语音识别例子。gp:全球电话语音识别例子(多语种语音识别例子)。heroico:西班牙语音识别例子。houst:普通话电话语音识别例子。hub4_english:英语新闻广播语音识别例子。hub4_spanish:西班牙新闻广播语音识别例子。iam:IAM手写笔识别例子。iban:语音识别例子。ifnenit:阿拉伯语手写笔识别例子。librispeech:英语语音识别例子。lre/lre07:语种识别例子。madcat_ar:手写笔识别例子。madcat_zh:中文手写笔识别例子。mini_librispeech:英语语音识别例子。mult_en:英语LVCSR例子。pub:RNNLM模型构建例子。reverb:REVERB挑战赛例子。rimes:法语手写笔识别例子。rm:英语语音识别例子,包含了如何进行迁移学习。sitw:sitw说话人识别挑战赛的例子。sprakbanken:丹麦语语音识别例子。sprakbanken_swe:瑞典语语音识别例子。sre08/10/16:说话人识别的例子。svhn:图像分类的例子。swahili:班图人语语音识别例子。swab:双声道对电话语音识别例子。tedium:英语语音识别例子。thchs30:普通话语音识别例子。tidigits:基础语音识别的例子。timit:主要是GMM/HMM语音识别例子。tunisian_msa:阿拉伯语音识别例子。uw3:OCR识别例子。voxceleb:说话人识别例子。vystadial_cz:捷克语语音识别例子。voxforge:基础语音识别例子,以及对应的在线demo的例子。vystadial_en:英文语音识别例子。wsj:wsj英文语音识别例子。yesno:独立词语音识别例子。yomdle_fa/korean/russian/tamil/zh:OCR识别例子。zeroth_korean:朝鲜语语音识别例子。

注意: 虽然Egs中存放了大量的例子,但由于某些外部原因并不是所有例子的数据都能免费获得。

Kaldi一级目录src

src目录为Kaldi的源码目录,主要保存了包括GMM、HMM等在内的大部分Kaldi语音项目源代码。这里分别对相关算法目录进行介绍。

在src目录中,有两类文件夹,一类是算法原目录,一类为算法组合生成bin(可执行程序)目录。

base:Kaldi基础目录,主要包括与Kaldi项目相关的基础宏定义、类型定义等。bin:Kaldi的基础bin目录,主要是包括基础的执行程序。例如,查看tree信息、矩阵拷贝等基础操作。cudamatrix:Kaldi矩阵计算相关GPU计算目录matrix:Kaldi矩阵计算相关CPU计算目录itf:Kaldi相关的interfacehmm:Kaldi相关隐马尔可夫算法的代码目录utils:Kaldi相关,语音算法无关的工具目录,例如,线程操作、io操作、文本操作等。probe:Kaldi相关的exp(指数)测试目录transform:Kaldi相关的特征转换算法目录fstext:Kaldi中fst相关的算法基础目录fstbin:Kaldi中fst对应的算法执行文件夹feat:Kaldi相关的特征提取算法目录featbin:Kaldi相关的特征提取可执行目录gmm:Kaldi相关的GMM算法基础目录gmmbin:Kaldi相关的GMM算法可执行文件目录ivector:Kaldi相关的ivector算法基础目录ivectorbin:Kaldi相关的ivector算法的可执行目录,以及基于能量的vad执行目录。kws:Kaldi相关的关键字搜索基础算法目录kwsbin:Kaldi相关的关键字搜索执行目录lat:Kaldi相关的网格生成基础算法目录latbin:Kaldi相关的网格生成算法的可执行文件目录lm:Kaldi自带的语言模型基础算法目录lmbin:Kaldi相关语音模型的可执行文件目录nnet:Kaldi相关的nnet1基础算法实现目录nnetbin:Kaldinnet1相关的算法可执行文件目录nnet2:Kaldinnet2相关的基础算法实现目录nnet2bin:Kaldinnet2相关的算法可执行文件目录nnet3:Kaldinnet3相关基础算法实现目录nnet3bin:Kaldinnet3相关实现算法的可执行文件目录online:Kaldionline1相关解码算法的实现目录onlinebin:Kaldionline1相关解码器算法的可执行目录online2:Kaldionline2相关解码器算法的实现目录online2bin:Kaldionline2相关解码器算法的可执行目录rnnlm:Kaldirnnlm相关的语音模型基础算法实现目录rnnlmbin:Kaldirnnlm相关的语音模型的可执行目录sgmm2:Kaldisgmm2相关的子空间GMM基础算法实现目录sgmm2bin:Kaldisgmm2相关的子空间GMM基础算法可执行目录tfrnnlm:Kaldi相关的Tensorflowrnnlm基础算法目录tfrnnlmbin:Kaldi相关的Tensorflowrnnlm基础算法实现的可执行目录KaldiEgsAishell例子黑箱运行

本节的目的在于,让读者在不了解Kaldi语音识别相关的算法的情况下,能过顺利运行Aishell的例子,并顺利获得语音识别模型。

首先需要有几个注意点:

如果需要运行神经网络相关的算法,确保机器拥有GPU运算能力。确保以上Kaldi编译成功。如果网络下载速度有限,请离线下载相关数据集。确定运行代码机器内存和硬盘大小。

本例子完全运行需要硬盘资源为76G,所以需要确定硬盘是否有足够的空间。

Aishell例子运行

为了能过顺利黑箱运行Aishell语音识别的例子。需要对/opt/kaldi/egs/Aishell/s5中的run.sh脚本进行几点修改。

假设Aishell的语音数据已经全部下载,目录存放于/newdata/corpus/Aishell,那么对应的run.sh脚本修改如下:

同时,由于我们的数据集已经下载,故需要注释掉与Aishell数据相关的下载脚本,修改如下:

由于大家机器、内存和CPU数量的不同,在部分脚本相对应的运行进程上也要进行部分修改,这里需要大家根据自己实际机器情况。假设运行的机器为16G内存,run.sh脚本修改为,vim打开run.sh,进入命令模式:

:%s/--nj10/--nj5/g

同时,需要修改 local/nnet3/run_ivector_common.sh 该脚本中对应的nj个数,修改方法如上一步。

注意: 由于在运行神经网络计算之前会进行ivector计算,因此需要根据运行机器的内存情况进行重新设置。这里建议:如果运行机器内存不到32G,在此例子中ivector的nj个数设置为1,对应之上脚本的118行。

最后,需要注意,如果需要进行神经网络相关训练操作,需要对 local/chain/run_tdnn.sh 进行修改,修改操作为将 num_jobs_initial 和 num_jobs_final 统一修改成该训练机器所对应的GPU个数。修改如下图:

最后,回到run.sh的目录中,使用命令:

nohupshrun.sh&

确保run.sh能够在后台运行。直至出现错误或者运行成功自动结束。

运行结束之后,我们可以在exp目录下的对应目录下找到对应的错误率,以及识别结果。例如,使用chain来构建的神经网络,目录位置如下:

exp/chain/tdnn_1a_sp/

目录中存放的解码所需要的大部分信息。

如何在黑箱情况下,使用独立语音进行模型模型构建

本节假设读者已经成功运行上一节黑箱的例子,相信大家做语音识别的初衷亦或者兴趣点在于如何使用自己的语音训练模型,那么本节的主要目的就在于告诉大家如何在Aishell的基础上,使用自己的语音构建模型。

学习本节,读者依旧不需要了解任何的Kaldi语音识别相关内容。此时,读者可能会有疑问,既然是黑箱,那如何能够使用独立语音训练集训练出自己的模型呢?

其实很简单,我们这里有两种方法提供给大家:

方法一: 我们只需要模仿Aishell的数据存放规律进行存放即可。

方法二: 如果我们现有的独立数据集有自己的规律存放,那么只需要修改针对性的修改run.sh中的两个脚本即可。

方法一这里不做详细说明,大家根据上一节使用的Aishell的数据方式模仿存储即可。这里针对方法二进行示范。

再次回到run.sh脚本中,我们可以发现,Aishell的数据处理逻辑主要存在于两个子脚本中。他们分别为如图所示:

这两个脚本即是我们需要修改的数据处理脚本。

首先看第一个脚本: local/Aishell_prepare_dict.sh,此脚本的作用在于处理Aishell语音数据集所包含的发音字典信息。由于我们使用的是我们自己的独立数据集合,因此,我们需要通过我们自己的独立语音数据集获取相对应的发音词典。对应于Aishell数据集中的lexicon.txt文件。

第二步:修改local/Aishell_data_prep.sh 脚本。该脚本主要是用来读取训练数据集、验证集以及测试集相对应的语音和语音相对应文本的对应关系。

由于第一步只需要进行匹配和人工标注,这里不多赘述。这里简单说明一下第二部分如何修改。

假设我们的语音数据集的分布为如图所示:

同时,我们可以通过Aishell的数据,看出数据存放格式如下图所示:

那么,我们只需要将我们的数据集中session文件夹去除掉,亦或者修改脚本中如下图所示的代码即可:

只需要将49行的NF-1修改为NF-2即可。这样就可以顺利运行我们自己的独立语音数据集合。

总结

本章主要介绍了Kaldi相关的Docker基础操作,并介绍了如何正确安装Kaldi以及Kaldi相关的目录结构,之后介绍了黑盒运行Aishell的例子,最后简单介绍了如何修改脚本来运行自己的独立语音数据集。

本文首发于GitChat,未经授权不得转载,转载需与GitChat联系。

python语音识别开源库

自己开了一个state-of-the-art的端到端语音识别项目,后续会不断更新和优化的。

当前还处于一个开发阶段,可能存在一些bug,欢迎大家使用并反馈bug。

有什么意见建议可以在issue或者在这里提。代码地址见下。

最近没有时间更新代码了,开了一个技术交流群,大家一起来建设吧。欢迎加入。

TensorflowASR

简介:

该项目集成了当前业界最新的语音识别结构,包括CTC、RNN-Transducer、ListenAttentionandSpell。使用简单,容易上手。

CTCRNN-TransducerListenAttentionandSpell

特点:tensorflow的音频Mel特征提取层,用以支持跨平台的端到端集成

参照librosa的mel特征提取逻辑:

librosa:

mellayer:

实时响应性能

C++接口调用方案

已支持的模型:

Mel_layer+Conformer+CTC

+Transducer

+LAS

DeepSpeech2

ESPNet

TransformerO2O-Encoder-Decoder

O2O-Encoder

Typic

声学模型

Conformer模型为google今年5月发表的论文中提及:https://arxiv.org/abs/2005.08100​arxiv.or

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇