CN113889112A - 一种基于kaldi的在线语音识别的方法 - Google Patents

一种基于kaldi的在线语音识别的方法 Download PDF

Info

Publication number
CN113889112A
CN113889112A CN202111293511.3A CN202111293511A CN113889112A CN 113889112 A CN113889112 A CN 113889112A CN 202111293511 A CN202111293511 A CN 202111293511A CN 113889112 A CN113889112 A CN 113889112A
Authority
CN
China
Prior art keywords
kaldi
voice
online
speech recognition
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111293511.3A
Other languages
English (en)
Inventor
刘文婷
黄建青
李帆
张蓓蕾
张锦涛
汪思冒
傅月平
林洲
苏思友
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Spaceflight Electronic and Communication Equipment Research Institute
Original Assignee
Shanghai Spaceflight Electronic and Communication Equipment Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Spaceflight Electronic and Communication Equipment Research Institute filed Critical Shanghai Spaceflight Electronic and Communication Equipment Research Institute
Priority to CN202111293511.3A priority Critical patent/CN113889112A/zh
Publication of CN113889112A publication Critical patent/CN113889112A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • G10L15/142Hidden Markov Models [HMMs]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0635Training updating or merging of old and new templates; Mean values; Weighting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Computation (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及一种基于kaldi的在线语音识别的方法,所述方法包括:通过将音频信号经过AD转换后的PCM码流进行网络组包,将音频数据上传服务器;服务器进行在线识别,并根据应答策略进行在线回答语音合成;将数据传回硬件平台后进行DA转换进行播放。在线应答策略用户可配置。采用神经网络算法。命令集可进行用户扩展。单条识别率超过99.7%,识别时间不超过1s,语音合成MOS分值超过4.0。

Description

一种基于kaldi的在线语音识别的方法
技术领域
本发明涉及语音识别领域,具体涉及一种基于kaldi的在线语音识别的方法。
背景技术
语音是人类相互交流和通信最方便快捷的手段。如何高效地实现语音传输、存储和通过语音实现人机交互,是语音信号处理领域中的重要研究课题。语音信号处理涉及数字信号处理,语言学、语音学、生理学、心理学、计算机科学以及模式识别、人工智能等诸多学科领域,是目前信息科学技术中发展最为迅速的领域之一。
有关语音识别技术的国外研究起始于上个世纪50年代,而在这一时期的研究内容主要只是关于语音学的一些基本概念和原理。在1952年,美国贝尔实验室研究所Davis等人成功实现了世界上第一个能识别10个英文数字发音的语音识别系统即Audry系统。1960年第一个计算机语音识别系统由英国的Denes等人成功实现。到了70年代语音识别在小词汇量、孤立词等方面取得了实质性的进展。80年代以后,由于词汇量比较大、非特定人的连续语音识别研究成为了重点。在这一阶段,研究思路上发生了一定改变,基于统计模型(HMM)的技术思路被提出来,将神经网络技术引入到语音识别问题中,这就改变了原来基于标准模板匹配的思路。90年代,语音识别的实用化研究却取得了很大进展,很多很有影响力的公司针对语音识别都推出了自己的系统。在苹果的iOS系统中内建一款的人工智能的助理软件Siri。使用该软件用户可以与手机进行对话,使其完成很多服务功能,比如说搜寻资料、查询通讯录、设定闹铃等许多服务。更重要的是它还具有自适应学习的能力,能够不断学习新的语音和语调,能够提供对话式的应答。
随着人工智能领域的发展,语音交互系统逐渐被应用于各个领域。语音交互系统能够极大地方便用户操作,简化操作过程,提升操作效率。
发明内容
为达到上述目的,本申请提出了一种基于kaldi的在线语音交互系统设计方案,提出包含语音识别、智能问答、语音合成模块的在线语音交互系统设计方案,基于加权莱文斯坦距离的拼音相似度匹配算法,基于深度神经网络的降噪算法。
本申请提出了一种基于kaldi的在线语音识别的方法,包括以下步骤:
步骤一:通过将音频信号经过AD转换后的PCM码流进行网络组包,将音频数据上传至服务器;
步骤二:所述服务器进行在线识别;
步骤三:根据应答策略进行在线回答语音合成;
步骤四:将所述合成数据传回硬件平台后进行DA转换并进行播放。
在一个可能的实现方式中,所述步骤一包括:
对OpenFst进行编译,所述OpenFst是用于将信号的构造、组合、优化和搜索;
编译OpenBlas及Clapack库,分别用于矩阵运算以及线性代数计算,至此,所有库均移植到Windows上;
编译onlinebin解码器。
在一个可能的实现方式中,所述步骤二包括:使用人工智能标记语言AIML构建应答系统。
在一个可能的实现方式中,所述步骤四包括:
调用Windows的SAPI接口合成应答语音,将应答文本转换为语音输出,其中,合成语音的质量在MOS值4分以上。
在一个可能的实现方式中,所述方法还包括:系统内部接口的整合及代码编写,其中,在线系统各模块间的信息传递均采用文本文件格式来传递。
由于上述技术方案的运用,本发明与现有技术相比具有下列有益效果:
(1)使用开源语音识别工具Kaldi中的NNET3函数,用DNN-HMM(深度神经网络-隐马尔科夫模型)框架完成了对非特定人连续语音的识别,实时率(处理时间与音频时长之比)低且受噪音影响较小,在低信噪比环境中表现较好,准确率达到项目要求。
(2)使用PyAIML框架实现给定话术的任务完成型应答,通过AIML文件中的标签实现对话中上文语境及分支的匹配,并且知识库的内容可以不断进行更新、修改。引入基于拼音的编辑距离作为模糊匹配的距离标准,进一步提高系统识别应答的准确率。
(3)使用微软公司提供的SAPI接口,对系统给出的应答实现文字转语音的操作,生成的语音清晰、与人声相似度高,质量达到MOS值4.0分以上。
(4)连接语音识别、策略应答和语音合成三个子模块构建语音识别应答系统,并通过网络模块和DSP端进行连接传送音频,完成在线语音交互的整体流程。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的基于kaldi的在线语音识别的方法的流程示意图;
图2为本发明提供的方法中在线语音交互系统各模块接口设计图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
需要说明的是,在不冲突的情况下,本申请中的实施例以及实施例中的特征可以相互组合。
图1为本申请的方法流程示意图。
本发明提出一种基于kaldi的在线语音识别系统的实现方法,包含以下步骤:
步骤一:研究语音识别的架构、kaldi语音识别工具包的原理及涉及到的算法:基于深度学习的语音识别算法、基于深度学习的语音降噪算法、基于拼音的模糊匹配算法。
步骤二:搭建一个基于windows的kaldi运行环境,具体包括以下步骤:
(1)准备好工具,包括git,cmake,Visual Studio 2017。
(2)编译OpenFst。OpenFst是一个用于构造、组合、优化和搜索的加权有限状态转换器的库。
(3)编译OpenBlas及Clapack库。这两个库分别用于矩阵运算以及线性代数计算。至此,kaldi所需的所有库均移植到Windows上。
(4)编译onlinebin解码器。
(5)新建kaldi项目,做好相关配置后读取模型并调试。可以在线识别语音,也可以对wav文件进行解码识别。
步骤三:使用人工智能标记语言AIML(Artificial Intelligence MarkupLanguage)来构建应答系统。
AIML是一种XML兼容的语言,可以根据具体的话术表来创建应答数据库。类似于XML的语法,通过不同的标签来执行功能。比如:<aiml>和</aiml>标签对定义一个AIML文件的开始与结束;<category>和</category>标签对定义一个知识单元(即,话术表中的一组话术);<pattern>和</pattern>标签对定义一个模板块,待匹配用户可能的输入;<that>和</that>标签对用来匹配上文语境;根据<pattern>中的用户输入及<that>中的上文语境,匹配到某一<template>和</template>标签对中的内容,提供返回应答。
在实际情况中,前一阶段语音识别结果的可靠度有待提升。在输入文本可靠度有限的条件下,为了得出正确的应答,就需要加入匹配机制。匹配机制在指令池中找出与输入文本最为近似的一个指令,作为应答环节的输入。在这里,可以将输入文本转换为对应的拼音字符串,应用编辑距离(Edit Distance),在所有指令对应的拼音字符串中找出最近似的,作为匹配指令。进一步,考虑到汉语的发音,调整编辑距离中不同字母插入、删除、替换的权重,得到带权编辑距离,匹配效果更好。
步骤四:使用SAPI实现语音合成:将应答文本转换为语音输出,是应答系统的最后一个阶段,要求合成语音的质量在MOS值4分以上。目前针对中文的开源的语音合成系统资源不是很多。服务器端的语音合成使用的开源TTS引擎有eSpeak、微软SAPI(The MicrosoftSpeech API)等。但是eSpeak的语音合成效果不是很好,考虑到服务器采用Windows操作系统,可以直接调用Windows的SAPI接口合成应答语音。
步骤五:系统内部接口的整合及代码编写,具体包括以下内容:语音识别模块、问答系统模块和语音合成模块依次相接,完成整体应答系统的全部功能。由于语音识别模块Kaldi和语音合成模块SAPI使用C++编写,而问答系统模块AIML使用Python3编写,所以使用Kaldi代码调用AIML的应答函数,并将SAPI的部分整合进Kaldi代码中,来完成整体流程。
在线系统各模块间的信息传递均采用文本文件格式来传递。且为实现基于上下文匹配的实现需求,PyAIML在线语音问答模块被分割为两部分:学习部分、应答部分。
首先,Kaldi语音识别模块启动时,会同时启动PyAIML模块的学习部分(并行执行)。其次,Kaldi语音识别模块将识别出的文本输出到txt文本文件后,将会调用PyAIML的应答部分检索应答数据库获取相应的应答语句,此应答语句将输出到另一txt文本文件中。最后,调用SAPI语音合成模块将此文本文件中的内容转换成相应的语音,并输出音频文件。模块之间的接口设计如图2所示。
系统主要完成了以下几点工作:
(1)使用开源语音识别工具Kaldi中的NNET3函数,用DNN-HMM(深度神经网络-隐马尔科夫模型)框架完成了对非特定人连续语音的识别,实时率(处理时间与音频时长之比)低且受噪音影响较小,在低信噪比环境中表现较好,准确率达到项目要求。
(2)使用PyAIML框架实现给定话术的任务完成型应答,通过AIML文件中的标签实现对话中上文语境及分支的匹配,并且知识库的内容可以不断进行更新、修改。引入基于拼音的编辑距离作为模糊匹配的距离标准,进一步提高系统识别应答的准确率。
(3)使用微软公司提供的SAPI接口,对系统给出的应答实现文字转语音的操作,生成的语音清晰、与人声相似度高,质量达到MOS值4.0分以上。
(4)连接语音识别、策略应答和语音合成三个子模块构建语音识别应答系统,并通过网络模块和DSP端进行连接传送音频,完成在线语音交互的整体流程。
总体来说,低信噪比环境中在线语音识别应答系统的实现是成功的,既完成了语音识别、应答、合成的功能性需求,也满足了实时率、扩展性以及合成音频在质量上的非功能性需求。
本文中应用了具体个例对发明构思进行了详细阐述,以上实施例的说明只是用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离该发明构思的前提下,所做的任何显而易见的修改、等同替换或其他改进,均应包含在本发明的保护范围之内。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性地,本申请的真正范围和精神由上述的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (5)

1.一种基于kaldi的在线语音识别系统,其特征在于,所述方法包括:
步骤一:通过将音频信号经过AD转换后的PCM码流进行网络组包,将音频数据上传至服务器;
步骤二:所述服务器进行在线识别;
步骤三:根据应答策略进行在线回答语音合成;
步骤四:将所述合成数据传回硬件平台后进行DA转换并进行播放。
2.如权利要求1所述的基于kaldi的在线语音识别方法,其特征在于,所述步骤一包括:
对OpenFst进行编译,所述OpenFst是用于将信号的构造、组合、优化和搜索;
编译OpenBlas及Clapack库,分别用于矩阵运算以及线性代数计算,至此,所有库均移植到Windows上;
编译onlinebin解码器。
3.如权利要求1所述的基于kaldi的在线语音识别方法,其特征在于,所述步骤二包括:使用人工智能标记语言AIML构建应答系统。
4.如权利要求1所述的基于kaldi的在线语音识别方法,其特征在于,所述步骤四包括:
调用Windows的SAPI接口合成应答语音,将应答文本转换为语音输出,其中,合成语音的质量在MOS值4分以上。
5.如权利要求1所述的基于kaldi的在线语音识别方法,其特征在于,所述方法还包括:系统内部接口的整合及代码编写,其中,在线系统各模块间的信息传递均采用文本文件格式来传递。
CN202111293511.3A 2021-11-03 2021-11-03 一种基于kaldi的在线语音识别的方法 Pending CN113889112A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111293511.3A CN113889112A (zh) 2021-11-03 2021-11-03 一种基于kaldi的在线语音识别的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111293511.3A CN113889112A (zh) 2021-11-03 2021-11-03 一种基于kaldi的在线语音识别的方法

Publications (1)

Publication Number Publication Date
CN113889112A true CN113889112A (zh) 2022-01-04

Family

ID=79016159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111293511.3A Pending CN113889112A (zh) 2021-11-03 2021-11-03 一种基于kaldi的在线语音识别的方法

Country Status (1)

Country Link
CN (1) CN113889112A (zh)

Similar Documents

Publication Publication Date Title
CN111933129B (zh) 音频处理方法、语言模型的训练方法、装置及计算机设备
EP1366490B1 (en) Hierarchichal language models
WO2022083083A1 (zh) 一种声音变换系统以及声音变换系统的训练方法
US6910012B2 (en) Method and system for speech recognition using phonetically similar word alternatives
CN110364171A (zh) 一种语音识别方法、语音识别系统及存储介质
CN111883110A (zh) 语音识别的声学模型训练方法、系统、设备及介质
CN111477216A (zh) 一种用于对话机器人的音意理解模型的训练方法及系统
Huang et al. Pretraining techniques for sequence-to-sequence voice conversion
CN111243599B (zh) 语音识别模型构建方法、装置、介质及电子设备
CN115019776A (zh) 语音识别模型及其训练方法、语音识别方法及装置
Ghannay et al. Where are we in semantic concept extraction for Spoken Language Understanding?
Pieraccini AI assistants
Reddy Machine models of speech perception
CN117149977A (zh) 一种基于机器人流程自动化的智能催收机器人
CN109859746B (zh) 一种基于tts的语音识别语料库生成方法及系统
CN114238605B (zh) 一种智能语音客服机器人自动对话方法及装置
TWI731921B (zh) 語音識別方法及裝置
Avram et al. Romanian speech recognition experiments from the robin project
CN113889112A (zh) 一种基于kaldi的在线语音识别的方法
Jackson Automatic speech recognition: Human computer interface for kinyarwanda language
CN114420159A (zh) 音频评测方法及装置、非瞬时性存储介质
Zhang et al. Chinese speech synthesis system based on end to end
Ghadekar et al. ASR for Indian regional language using Nvidia’s NeMo toolkit
Kuzdeuov et al. Speech Command Recognition: Text-to-Speech and Speech Corpus Scraping Are All You Need
WO2023162513A1 (ja) 言語モデル学習装置、対話装置及び学習済言語モデル

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination