CN113724711A - 一种语音识别服务实现方法、装置、系统、介质及设备 - Google Patents
一种语音识别服务实现方法、装置、系统、介质及设备 Download PDFInfo
- Publication number
- CN113724711A CN113724711A CN202111021827.7A CN202111021827A CN113724711A CN 113724711 A CN113724711 A CN 113724711A CN 202111021827 A CN202111021827 A CN 202111021827A CN 113724711 A CN113724711 A CN 113724711A
- Authority
- CN
- China
- Prior art keywords
- recognition service
- voice recognition
- voiceprint
- task
- voice
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 239000013598 vector Substances 0.000 claims description 69
- 238000000605 extraction Methods 0.000 claims description 30
- 238000004458 analytical method Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 abstract description 14
- 238000006243 chemical reaction Methods 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 235000009421 Myristica fragrans Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011840 criminal investigation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000001115 mace Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification
- G10L17/02—Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
Abstract
本发明公开了一种语音识别服务现方法,包括:接收GRPC客户端发送的语音音频数据和语音服务请求;调用与所述语音服务请求对应的语音识别服务模型以执行语音识别服务任务,并基于所述语音音频数据通过所述语音识别服务模型输出语音识别服务任务执行结果。本发明基于GRPC的轻量级的实现语音识别服务方法,解决了语音识别服务模型工业部署应用较为困难的问题,使得语音识别服务模型可以无需进行onnx转换,无需依赖于固定的tfServing推理框架,具备更好的灵活性与可扩展性的同时,极大提高了服务器资源利用率与声纹识别服务并发量。同时结合GRPC与Protobuf对语音音频数据进行序列化压缩,减小传输数据大小,提高传输效率,减少大文件传输时延。
Description
技术领域
本发明涉及语音识别技术领域,具体涉及一种语音识别服务实现方法、装置、系统、介质及设备。
背景技术
声纹识别,又称说话人识别技术。随着近年来深度学习技术的飞速发展,基于深度神经网络的声纹识别技术也有了广泛的应用,如d-vector、x-vector等都取得了非常不错的效果。
但基于深度神经网络的声纹识别模型,如x-vector,在工业部署与使用的时候非常困难,步骤较为繁琐。Kaldi常用来训练声纹识别模型,在进行工业部署时,常见的做法是先将KaldiNnet3模型转换成onnx模型,引擎使用onnx模型提供声纹识别服务(例如:MACE移动端AI计算引擎)。或使用Tensorflow Serving的方式进行部署,但这两种方式所使用的框架固定,不易修改,对于声纹识别任务来说,灵活性以及扩展性都较差,且仅支持Kaldi神经网络推理部分的算子。而Kaldi原生提供的基于Websocket和Gstreamer框架的语音服务引擎可以提供一定的语音服务能力,但是在内存资源占用,计算速度,并发度上均无法满足实际工业部署要求。
长时音频文件的传输也是声纹识别引擎需要考虑的一个问题。声纹识别引擎一般对外提供Rest-API的访问方式,没有对传输的音频数据进行序列化压缩机制,不利于长时语音音频大文件的数据传输。另一方面,语音音频格式多样,而一般声纹识别引擎仅支持事先定义好的一类音频格式,无法动态适应不同的需求,这样就限制了引擎的服务场景。
声纹识别可应用于各类需要身份确认的场景中,不同场景需要应用的声纹识别技术可能不同,如在缩小刑侦范围时可能需要1:N声纹辨认技术,而银行在交易确认身份时可能更需要1:1声纹确认技术。因此声纹识别引擎一般需要能同时实现多个子任务,其中主要包括声纹数据注册入库,进行1:1声纹对比返回比对结果以及进行1:N声纹辨认返回TOPN结果。这就要求引擎要能较方便的将这些功能统一在一起,并能提供更安全可靠的服务。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种语音识别服务实现方法、装置、系统、介质及设备,用于解决现有技术中的至少一个缺陷。
为实现上述目的及其他相关目的,本发明提供一种语音识别服务实现方法,包括:
接收GRPC客户端发送的语音音频数据和语音识别服务请求;
调用与所述语音识别服务请求对应的语音识别服务模型以执行语音识别服务任务,并基于所述语音音频数据通过所述语音识别服务模型输出语音识别服务任务执行结果。
可选地,所述调用与所述语音识别服务请求对应的语音识别服务模型,包括:
解析所述语音识别服务请求,得到语音识别服务请求字段,所述语音识别服务请求字段包括任务名称字段;
根据所述任务名称字段调用与所述任务名称字段对应的语音识别服务模型。
可选地,在接收所述语音音频数据和所述语音识别服务请求前,所述语音音频数据和所述语音识别服务请求被ProtoBuf序列化;在接收到序列化后的语音音频数据和语音识别服务请求后通过ProtoBuf进行反序列化,并对反序列化的语音音频数据进行解析,得到PCM数据。
可选地,在输出语音识别服务任务执行结果后,通过ProtoBuf对所述语音识别服务任务执行结果进行序列化。
可选地,所述语音识别服务任务包括以下至少之一:
声纹注册任务、1:1声纹比对任务、1:N声纹比对任务。
可选地,若所述语音识别服务任务为声纹注册任务,则利用声纹提取模型对所述PCM音频数据进行特征提取,得到第一声纹特征向量,并利用所述第一声纹特征向量进行注册;
若所述语音识别服务任务为1:1声纹比对任务,则利用声纹提取模型对所述PCM音频数据进行特征提取,得到第一声纹特征向量;将所述第一声纹特征向量与注册过的1个对象的第二声纹特征向量进行比对,得到比对结果;
若所述语音识别服务任务为1:N声纹比对任务,则利用声纹提取模型对所述PCM音频数据进行特征提取,得到第一声纹特征向量;将所述第一声纹特征向量与注册过的N个对象的第二声纹特征向量进行比对,得到比对结果。
为实现上述目的及其他相关目的,本发明提供一种语音识别服务实现装置,包括:
接收模块,用于接收GRPC客户端发送的语音音频数据和语音识别服务请求;
任务执行模块,用于调用与所述语音识别服务请求对应的语音识别服务模型以执行语音识别服务任务,并基于所述语音音频数据通过所述语音识别服务模型输出语音识别服务任务执行结果。
可选地,所述任务执行模块包括:
解析模块,用于解析所述语音识别服务请求,得到语音识别服务请求字段,所述语音识别服务请求字段包括任务名称字段;
调用模块,用于根据所述任务名称字段调用与所述任务名称字段对应的语音识别服务模型。
可选地,该装置还包括:
序列化模块,用于在接收所述语音音频数据和所述语音识别服务请求前,对所述语音音频数据和所述语音识别服务请求被ProtoBuf序列化;以及在接收到序列化后的语音音频数据和语音识别服务请求后通过ProtoBuf进行反序列化;
解析模块,用于对反序列化的语音音频数据进行解析,得到PCM数据。
可选地,所述序列化模块还用于在输出语音识别服务任务执行结果后,通过ProtoBuf对所述语音识别服务任务执行结果进行序列化。
可选地,所述语音识别服务任务包括以下至少之一:
声纹注册任务、1:1声纹比对任务、1:N声纹比对任务。
可选地,若所述语音识别服务任务为声纹注册任务,则利用声纹提取模型对所述PCM音频数据进行特征提取,得到第一声纹特征向量,并利用所述第一声纹特征向量进行注册;
若所述语音识别服务任务为1:1声纹比对任务,则利用声纹提取模型对所述PCM音频数据进行特征提取,得到第一声纹特征向量;将所述第一声纹特征向量与注册过的1个对象的第二声纹特征向量进行比对,得到比对结果;
若所述语音识别服务任务为1:N声纹比对任务,则利用声纹提取模型对所述PCM音频数据进行特征提取,得到第一声纹特征向量;将所述第一声纹特征向量与注册过的N个对象的第二声纹特征向量进行比对,得到比对结果。
为实现上述目的及其他相关目的,本发明提供一种语音识别服务实现系统,包括:
GRPC客户端,用于获取语音音频数据,并向GRPC服务端发送语音识别服务请求;
GRPC服务端,用于接收GRPC客户端发送的语音音频数据和语音识别服务请求;所述GRPC服务端调用与所述语音识别服务请求对应的语音识别服务模型以执行语音识别服务任务,并基于所述语音音频数据通过所述语音识别服务模型输出语音识别服务任务执行结果;所述GRPC客户端接收所述语音识别服务任务执行结果。
为实现上述目的及其他相关目的,本发明提供一种语音识别服务实现设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当所述一个或多个处理器执行时,使得所述设备执行一个或多个所述的方法。
为实现上述目的及其他相关目的,本发明提供一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行一个或多个所述的方法。
如上所述,本发明的一种语音识别服务实现方法、装置、系统、介质及设备,具有以下有益效果:
本发明的一种语音识别服务实现方法,包括:接收GRPC客户端发送的语音音频数据和语音识别服务请求;调用与所述语音识别服务请求对应的语音识别服务模型以执行语音识别服务任务,并基于所述语音音频数据通过所述语音识别服务模型输出语音识别服务任务执行结果。本发明基于GRPC的轻量级的实现语音识别服务方法,解决了语音识别服务模型工业部署应用较为困难的问题,使得语音识别服务模型可以无需进行onnx转换,无需依赖于固定的tfServing推理框架,具备更好的灵活性与可扩展性的同时,极大提高了服务器资源利用率与声纹识别服务并发量。同时结合GRPC与Protobuf对语音音频数据进行序列化压缩,减小传输数据大小,提高传输效率,减少大文件传输时延。
图附说明
图1为本发明一实施例一种语音识别服务实现方法的流程图;
图2为本发明一实施例语音识别服务模型调用的方法的流程图;
图3为本发明一实施例一种实现语音识别服务装置的硬件结构示意图;
图4为本发明一实施例任务执行模块的硬件结构示意图;
图5为本发明一实施例一种语音识别服务实现系统的硬件结构示意图;
图6为本发明一实施例中终端设备的硬件结构示意图;
图7为本发明一实施例中终端设备的硬件结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
以下先对一些名词进行详细解释
Kaldi:是语音识别领域主流的,使用最广的语音识别专有深度学习平台;
GRPC:Google的远程过程调用服务框架,基于http2标准协议设计的,多语言支持;GRPC是对RPC(RemoteProcedureCalls)一种非常简洁的实现并且解决了很多RPC的问题;
ProtoBuf:GoogleProtocolBuffers,是一种语言无关,平台无关,可扩展的序列化数据结构的方法,用于数据通信协议,数据存储等;
ONNX:OpenNeuralNetworkExchange,开放神经网络交换格式,是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移;
Gstreamer:是一个支持跨平台的多媒体框架
PCM:PulseCodeModulation,是一种脉冲调制编码格式,用数字表示采样音频模拟信号的方法。
如图1所示,本申请一实施例提供一种语音识别服务实现方法,包括:
S10接收GRPC客户端发送的语音音频数据和语音识别服务请求;
S11调用与所述语音识别服务请求对应的语音识别服务模型以执行语音识别服务任务,并基于所述语音音频数据通过所述语音识别服务模型输出语音识别服务任务执行结果。
本发明基于GRPC的轻量级的实现语音识别服务方法,解决了语音识别服务模型工业部署应用较为困难的问题,使得语音识别服务模型可以无需进行onnx转换,无需依赖于固定的tfServing推理框架,具备更好的灵活性与可扩展性的同时,极大提高了服务器资源利用率与声纹识别服务并发量。
以下对上述实施例各步骤进行详细说明。
在步骤S10中,接收GRPC客户端发送的语音音频数据和语音请求服务。根据语音请求服务可以实现相应的语音识别服务任务。语音识别服务任务包括以下至少之一:声纹注册任务、1:1声纹比对任务、1:N声纹比对任务。
声纹注册任务,即基于深度学习模型从说话对象的语音中提取声纹特征,得到声纹特征向量,将声纹特征向量存入到声纹库中。其中,声纹库可以根据具体的应用领域进行分类;例如,银行的声纹库,小区的声纹库,社区的声纹库,公安的声纹库,具体可以通过声纹库的ID实现声纹库的分类,不同声纹库的ID不同。
1:1声纹比对任务,即从说话对象的语音中提取声纹特征,并与指定的声纹进行匹配,判断测试语音是否来自所声明的目标对象。
1:N声纹比对任务,从说话对象的语音中提取声纹特征,并在声纹库中进行检索,判定测试语音属于已注册的说话对象集合中哪一个对象。
对声纹注册任务而言,获取用户注册语音音频数据时的有效语音音频数据;提取所述有效语音音频数据的声纹特征向量;将声纹特征向量存入到相应应用领域的声纹库中。
对1:1声纹比对任务而言,将GRPC客户端发送的语音音频数据和注册过的1个目标说话对象的声纹特征向量enroll_emb进行比对。具体地,首先利用声纹模型提取GRPC客户端发送的语音音频数据的声纹特征向量spk_emb,然后将声纹特征向量spk_emb和声纹特征向量enroll_emb进行进行比对,比对结果可以为一个数值,例如0.98;将这个数值与设置的阈值进行比较,若比对结果的数值大于设置的阈值,则认为GRPC客户端发送的语音音频数据为目标说话对象的语音音频数据。
对1:N声纹比对任务而言,将GRPC客户端发送的语音音频数据和注册过的N个说话对象的声纹特征向量enroll_emb_i进行比对,其中0≤i<N。具体地,首先利用声纹模型提取GRPC客户端发送的语音音频数据的声纹特征向量spk_emb,然后声纹特征向量spk_emb和声纹特征向量enroll_emb_i依次进行比对,比对结果可以为一个数值,例如0.98;将这个数值与设置的阈值进行比较,若比对结果中存在数值大于设置的阈值的值,则认为GRPC客户端发送的语音音频数据为已注册的对象中的某一个。若存在多个数值大于设置的阈值的比对结果,则对这多个比对结果按由大到小进行排序。
在步骤S11中,调用与所述语音识别服务请求对应的语音识别服务模型以执行语音识别服务任务,并基于所述语音音频数据通过所述语音识别服务模型输出语音识别服务任务执行结果。
具体地,如图2所示,所述调用与所述语音识别服务请求对应的语音识别服务模型,包括:
S20解析所述语音识别服务请求,得到语音识别服务请求字段,所述语音识别服务请求字段包括任务名称字段;
其中,任务名称字段可以包括声纹注册、1:1声纹比对、1:N声纹比对任务。
S21根据所述任务名称字段调用与所述任务名称字段对应的语音识别服务模型。
例如,所述任务名称字段为声纹注册,则调用声纹注册模型执行声纹注册任务;所述任务名称字段1:1声纹比对,则调用1:1声纹比对模型执行1:1声纹比对任务;所述任务名称字段为1:N声纹比对,则调用1:N声纹比对模型执行1:N声纹比对任务。
在一实施例中,在接收所述语音音频数据和所述语音识别服务请求前,所述语音音频数据和所述语音识别服务请求被ProtoBuf序列化。通过ProtoBuf对语音音频数据进行序列化,极大地减少大文件音频网络传输开销,提高了传输速率,减少大文件传输时延。
由于接收到的语音音频数据和语音识别服务请求经过ProtoBuf进行序列化,要完成对相应数据的解析,先要将经过序列化后的语音音频数据和语音识别服务请求进行反序列化,得到原始的语音音频数据;其中,反序列化可以通过ProtoBuf实现。在得到原始语音音频数据后,可以对所述原始语音音频数据进行解析,得到原始语音音频数据对应的PCM数据。在后续执行相关的语音识别服务任务时,基于PCM数据实现。
在一实施例中,在执行完相应的语音识别服务任务,得到语音识别服务任务执行结果后,对所述语音识别服务任务执行结果进行序列化,然后将序列化后的语音识别服务任务执行结果返回至GRPC客户端,通过GRPC客户端对序列化后的语音识别服务任务执行结果进行反序列化,得到语音识别服务任务执行结果,同时,GRPC客户端还将保存相应的说话对象的声纹特征向量。
如图3所示,本申请一实施例还提供一种语音识别服务实现装置,包括:
接收模块30,用于接收GRPC客户端发送的语音音频数据和语音识别服务请求;
任务执行模块31,用于调用与所述语音识别服务请求对应的语音识别服务模型以执行语音识别服务任务,并基于所述语音音频数据通过所述语音识别服务模型输出语音识别服务任务执行结果。
请参照图4,在一实施例中,所述任务执行模块包括:
解析模块40,用于解析所述语音识别服务请求,得到语音识别服务请求字段,所述语音识别服务请求字段包括任务名称字段;
调用模块41,用于根据所述任务名称字段调用与所述任务名称字段对应的语音识别服务模型。
在一实施例中,该装置还包括:
序列化模块,用于在接收所述语音音频数据和所述语音识别服务请求前,对所述语音音频数据和所述语音识别服务请求被ProtoBuf序列化;以及在接收到序列化后的语音音频数据和语音识别服务请求后通过ProtoBuf进行反序列化;
解析模块,用于对反序列化的语音音频数据进行解析,得到PCM数据。
在一实施例中,所述序列化模块还用于在输出语音识别服务任务执行结果后,通过ProtoBuf对所述语音识别服务任务执行结果进行序列化。
在一实施例中,所述语音识别服务任务包括以下至少之一:
声纹注册任务、1:1声纹比对任务、1:N声纹比对任务。
在一实施例中,若所述语音识别服务任务为声纹注册任务,则利用声纹提取模型对所述PCM音频数据进行特征提取,得到第一声纹特征向量,并利用所述第一声纹特征向量进行注册;
若所述语音识别服务任务为1:1声纹比对任务,则利用声纹提取模型对所述PCM音频数据进行特征提取,得到第一声纹特征向量;将所述第一声纹特征向量与注册过的1个对象的第二声纹特征向量进行比对,得到比对结果;
若所述语音识别服务任务为1:N声纹比对任务,则利用声纹提取模型对所述PCM音频数据进行特征提取,得到第一声纹特征向量;将所述第一声纹特征向量与注册过的N个对象的第二声纹特征向量进行比对,得到比对结果。
由于上述装置实施例与方法实施例相对应,在装置实施例中各模块的功能实现可以参照方法实施例的实现方式,此处不再赘述。
如图5所示,本申请一实施例还提供一种语音识别服务实现系统,包括:
GRPC客户端50,用于获取语音音频数据,并向GRPC服务端发送语音识别服务请求;
GRPC服务端51,用于接收GRPC客户端发送的语音音频数据和语音识别服务请求;所述GRPC服务端调用与所述语音识别服务请求对应的语音识别服务模型以执行语音识别服务任务,并基于所述语音音频数据通过所述语音识别服务模型输出语音识别服务任务执行结果;所述GRPC客户端接收所述语音识别服务任务执行结果。
在本发明中,客户端与服务端均是基于GRPC的,解决了语音识别服务模型工业部署应用较为困难的问题,使得语音识别服务模型可以无需进行onnx转换,无需依赖于固定的tfServing推理框架,具备更好的灵活性与可扩展性的同时,极大提高了服务器资源利用率与声纹识别服务并发量。
GRPC客户端可以支持多语言,可以根据proto文件编译生成GRPC服务端接口,实现与GRPC服务端的消息传输。
所述GRPC客户端包括第一序列化模块,所述第一序列化模块用于通过Protobuf对语音音频数据和语音识别服务请求进行序列化。
所述GRPC服务端包括第二序列化模块,所述第二序列化模块用于通过Protobuf对序列化后的语音音频数据和语音识别服务请求进行反序列化,得到原始语音音频数据;还用于对语音识别服务任务执行结果进行序列化。
所述GRPC服务端还包括语音数据解析模块,用于对原始语音音频数据进行解析,得到PCM数据。当然在解析过程中,会根据语音音频的格式选择对应的解析方法进行解码操作。
所述GRPC服务端还包括声纹识别核心算法模块,用于根据语音识别服务请求,选择相应的语音识别服务模型执行相应的语音识别服务任务,得到语音服务结果。
其中,语音识别服务任务包括以下至少之一:声纹注册任务、1:1声纹比对任务、1:N声纹比对任务。
声纹注册任务,即基于深度学习模型从说话对象的语音中提取声纹特征,得到声纹特征向量,将声纹特征向量存入到声纹库中。其中,声纹库可以根据具体的应用领域进行分类;例如,银行的声纹库,小区的声纹库,社区的声纹库,公安的声纹库,具体可以通过声纹库的ID实现声纹库的分类,不同声纹库的ID不同。
1:1声纹比对任务,即从说话对象的语音中提取声纹特征,并与指定的声纹进行匹配,判断测试语音是否来自所声明的目标对象。
1:N声纹比对任务,从说话对象的语音中提取声纹特征,并在声纹库中进行检索,判定测试语音属于已注册的说话对象集合中哪一个对象。
以下对整个语音识别服务任务过程进行详细说明。
GRPC客户端获取语音音频数据,并生成语音识别服务请求;在将语音音频数据和语音识别服务请求发送到GRPC服务端之前,通过第一序列化模块对语音音频数据和语音识别服务请求进行序列化,然后将序列化后的语音音频数据和语音识别服务请求发送到GRPC服务端;
GRPC服务端在接收到序列化后的语音音频数据和语音识别服务请求后,通过第二序列化模块进行反序列化,得到原始语音音频数据;同时GRPC服务端的语音数据解析模块解析语音识别服务请求和原始语音音频数据,得到语音识别服务请求字段和语音音频数据对应的PCM数据;其中,所述语音识别服务请求字段包括任务名称字段;其中,任务名称字段可以包括声纹注册、1:1声纹比对、1:N声纹比对任务;在得到任务名称字段后,根据所述任务名称字段调用与所述任务名称字段对应的语音识别服务模型。例如,所述任务名称字段为声纹注册,则调用声纹注册模型执行声纹注册任务;所述任务名称字段1:1声纹比对,则调用1:1声纹比对模型执行1:1声纹比对任务;所述任务名称字段为1:N声纹比对,则调用1:N声纹比对模型执行1:N声纹比对任务。
对声纹注册任务而言,GRPC服务端获取语音音频数据;提取所述语音音频数据的声纹特征向量;将声纹特征向量存入到相应应用领域的声纹库中。
对1:1声纹比对任务而言,将GRPC客户端发送的语音音频数据的PCM数据和注册过的1个目标说话对象的声纹特征向量enroll_emb进行比对。具体地,首先利用声纹模型提取GRPC客户端发送的语音音频数据的声纹特征向量spk_emb,然后将声纹特征向量spk_emb和声纹特征向量enroll_emb进行进行比对,比对结果可以为一个数值,例如0.98;将这个数值与设置的阈值进行比较,若比对结果的数值大于设置的阈值,则认为GRPC客户端发送的语音音频数据为目标说话对象的语音音频数据。
对1:N声纹比对任务而言,将GRPC客户端发送的语音音频数据的PCM数据和注册过的N个说话对象的声纹特征向量enroll_emb_i进行比对,其中0≤i<N。具体地,首先利用声纹模型提取GRPC客户端发送的语音音频数据的声纹特征向量spk_emb,然后声纹特征向量spk_emb和声纹特征向量enroll_emb_i依次进行比对,比对结果可以为一个数值,例如0.98;将这个数值与设置的阈值进行比较,若比对结果中存在数值大于设置的阈值的值,则认为GRPC客户端发送的语音音频数据为已注册的对象中的某一个。若存在多个数值大于设置的阈值的比对结果,则对这多个比对结果按由大到小进行排序。
在执行完成相应的语音识别服务任务后,得到语音识别服务任务执行结果,GRPC服务端通过第二序列化模块对所述语音识别服务任务执行结果进行序列化,然后将序列化后的语音识别服务任务执行结果返回至GRPC客户端。对于声纹注册任务而言,GRPC服务端将目标对象的声纹特征向量返回至GRPC客户端;对于1:1声纹比对任务而言,GRPC服务端将比对结果返回至GRPC客户端;对于1:N声纹比对任务而言,GRPC服务端将排名前N位的比对结果返回至GRPC客户端。
GRPC客户端通过第一序列化模块对序列化后的语音识别服务任务执行结果进行反序列化,得到最终的语音识别服务任务执行结果。
本申请实施例还提供了一种设备,该设备可以包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行图1所述的方法。在实际应用中,该设备可以作为终端设备,也可以作为服务器,终端设备的例子可以包括:智能手机、平板电脑、电子书阅读器、MP3(动态影像专家压缩标准语音层面3,MovingPictureExpertsGroup AudioLayerIII)播放器、MP4(动态影像专家压缩标准语音层面4,MovingPicture ExpertsGroupAudioLayerIV)播放器、膝上型便携计算机、车载电脑、台式计算机、机顶盒、智能电视机、可穿戴设备等等,本申请实施例对于具体的设备不加以限制。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例的图1中方法所包含步骤的指令(instructions)。
图6为本申请一实施例提供的终端设备的硬件结构示意图。如图所示,该终端设备可以包括:输入设备1100、第一处理器1101、输出设备1102、第一存储器1103和至少一个通信总线1104。通信总线1104用于实现元件之间的通信连接。第一存储器1103可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,第一存储器1103中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。
可选的,上述第一处理器1101例如可以为中央处理器(CentralProcessing Unit,简称CPU)、应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,该第一处理器1101通过有线或无线连接耦合到上述输入设备1100和输出设备1102。
可选的,上述输入设备1100可以包括多种输入设备,例如可以包括面向用户的用户接口、面向设备的设备接口、软件的可编程接口、摄像头、传感器中至少一种。可选的,该面向设备的设备接口可以是用于设备与设备之间进行数据传输的有线接口、还可以是用于设备与设备之间进行数据传输的硬件插入接口(例如USB接口、串口等);可选的,该面向用户的用户接口例如可以是面向用户的控制按键、用于接收语音输入的语音输入设备以及用户接收用户触摸输入的触摸感知设备(例如具有触摸感应功能的触摸屏、触控板等);可选的,上述软件的可编程接口例如可以是供用户编辑或者修改程序的入口,例如芯片的输入引脚接口或者输入接口等;输出设备1102可以包括显示器、音响等输出设备。
在本实施例中,该终端设备的处理器包括用于执行各设备中各模块的功能,具体功能和技术效果参照上述实施例即可,此处不再赘述。
图7为本申请的一个实施例提供的终端设备的硬件结构示意图。图7是对图6在实现过程中的一个具体的实施例。如图所示,本实施例的终端设备可以包括第二处理器1201以及第二存储器1202。
第二处理器1201执行第二存储器1202所存放的计算机程序代码,实现上述实施例中图1所述方法。
第二存储器1202被配置为存储各种类型的数据以支持在终端设备的操作。这些数据的示例包括用于在终端设备上操作的任何应用程序或方法的指令,例如消息,图片,视频等。第二存储器1202可能包含随机存取存储器(randomaccess memory,简称RAM),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
可选地,第二处理器1201设置在处理组件1200中。该终端设备还可以包括:通信组件1203,电源组件1204,多媒体组件1205,语音组件1206,输入/输出接口1207和/或传感器组件1208。终端设备具体所包含的组件等依据实际需求设定,本实施例对此不作限定。
处理组件1200通常控制终端设备的整体操作。处理组件1200可以包括一个或多个第二处理器1201来执行指令,以完成上述数据处理方法中的全部或部分步骤。此外,处理组件1200可以包括一个或多个模块,便于处理组件1200和其他组件之间的交互。例如,处理组件1200可以包括多媒体模块,以方便多媒体组件1205和处理组件1200之间的交互。
电源组件1204为终端设备的各种组件提供电力。电源组件1204可以包括电源管理系统,一个或多个电源,及其他与为终端设备生成、管理和分配电力相关联的组件。
多媒体组件1205包括在终端设备和用户之间的提供一个输出接口的显示屏。在一些实施例中,显示屏可以包括液晶显示器(LCD)和触摸面板(TP)。如果显示屏包括触摸面板,显示屏可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
语音组件1206被配置为输出和/或输入语音信号。例如,语音组件1206包括一个麦克风(MIC),当终端设备处于操作模式,如语音识别模式时,麦克风被配置为接收外部语音信号。所接收的语音信号可以被进一步存储在第二存储器1202或经由通信组件1203发送。在一些实施例中,语音组件1206还包括一个扬声器,用于输出语音信号。
输入/输出接口1207为处理组件1200和外围接口模块之间提供接口,上述外围接口模块可以是点击轮,按钮等。这些按钮可包括但不限于:音量按钮、启动按钮和锁定按钮。
传感器组件1208包括一个或多个传感器,用于为终端设备提供各个方面的状态评估。例如,传感器组件1208可以检测到终端设备的打开/关闭状态,组件的相对定位,用户与终端设备接触的存在或不存在。传感器组件1208可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在,包括检测用户与终端设备间的距离。在一些实施例中,该传感器组件1208还可以包括摄像头等。
通信组件1203被配置为便于终端设备和其他设备之间有线或无线方式的通信。终端设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个实施例中,该终端设备中可以包括SIM卡插槽,该SIM卡插槽用于插入SIM卡,使得终端设备可以登录GPRS网络,通过互联网与服务器建立通信。
由上可知,在图7实施例中所涉及的通信组件1203、语音组件1206以及输入/输出接口1207、传感器组件1208均可以作为图6实施例中的输入设备的实现方式。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (15)
1.一种语音识别服务实现方法,其特征在于,包括:
接收GRPC客户端发送的语音音频数据和语音识别服务请求;
调用与所述语音识别服务请求对应的语音识别服务模型以执行语音识别服务任务,并基于所述语音音频数据通过所述语音识别服务模型输出语音识别服务任务执行结果。
2.根据权利要求1所述的语音识别服务实现方法,其特征在于,所述调用与所述语音识别服务请求对应的语音识别服务模型,包括:
解析所述语音识别服务请求,得到语音识别服务请求字段,所述语音识别服务请求字段包括任务名称字段;
根据所述任务名称字段调用与所述任务名称字段对应的语音识别服务模型。
3.根据权利要求1所述的语音识别服务实现方法,其特征在于,在接收所述语音音频数据和所述语音识别服务请求前,所述语音音频数据和所述语音识别服务请求被ProtoBuf序列化;在接收到序列化后的语音音频数据和语音识别服务请求后通过ProtoBuf进行反序列化,并对反序列化的语音音频数据进行解析,得到PCM数据。
4.根据权利要求1或3所述的语音识别服务实现方法,其特征在于,在输出语音识别服务任务执行结果后,通过ProtoBuf对所述语音识别服务任务执行结果进行序列化。
5.根据权利要求3所述的实现语音识别服务方法,其特征在于,所述语音识别服务任务包括以下至少之一:
声纹注册任务、1:1声纹比对任务、1:N声纹比对任务。
6.根据权利要求5所述的语音识别服务实现方法,其特征在于,
若所述语音识别服务任务为声纹注册任务,则利用声纹提取模型对所述PCM音频数据进行特征提取,得到第一声纹特征向量,并利用所述第一声纹特征向量进行注册;
若所述语音识别服务任务为1:1声纹比对任务,则利用声纹提取模型对所述PCM音频数据进行特征提取,得到第一声纹特征向量;将所述第一声纹特征向量与注册过的1个对象的第二声纹特征向量进行比对,得到比对结果;
若所述语音识别服务任务为1:N声纹比对任务,则利用声纹提取模型对所述PCM音频数据进行特征提取,得到第一声纹特征向量;将所述第一声纹特征向量与注册过的N个对象的第二声纹特征向量进行比对,得到比对结果。
7.一种语音识别服务实现装置,其特征在于,包括:
接收模块,用于接收GRPC客户端发送的语音音频数据和语音识别服务请求;
任务执行模块,用于调用与所述语音识别服务请求对应的语音识别服务模型以执行语音识别服务任务,并基于所述语音音频数据通过所述语音识别服务模型输出语音识别服务任务执行结果。
8.根据权利要求7所述的语音识别服务实现装置,其特征在于,所述任务执行模块包括:
解析模块,用于解析所述语音识别服务请求,得到语音识别服务请求字段,所述语音识别服务请求字段包括任务名称字段;
调用模块,用于根据所述任务名称字段调用与所述任务名称字段对应的语音识别服务模型。
9.根据权利要求7所述的语音识别服务实现装置,其特征在于,该装置还包括:
序列化模块,用于在接收所述语音音频数据和所述语音识别服务请求前,对所述语音音频数据和所述语音识别服务请求被ProtoBuf序列化;以及在接收到序列化后的语音音频数据和语音识别服务请求后通过ProtoBuf进行反序列化;解析模块,用于对反序列化的语音音频数据进行解析,得到PCM数据。
10.根据权利要求7或9所述的语音识别服务实现装置,其特征在于,所述序列化模块还用于在输出语音识别服务任务执行结果后,通过ProtoBuf对所述语音识别服务任务执行结果进行序列化。
11.根据权利要求9所述的语音识别服务实现装置,其特征在于,所述语音识别服务任务包括以下至少之一:
声纹注册任务、1:1声纹比对任务、1:N声纹比对任务。
12.根据权利要求11所述的语音识别服务实现装置,其特征在于,
若所述语音识别服务任务为声纹注册任务,则利用声纹提取模型对所述PCM音频数据进行特征提取,得到第一声纹特征向量,并利用所述第一声纹特征向量进行注册;
若所述语音识别服务任务为1:1声纹比对任务,则利用声纹提取模型对所述PCM音频数据进行特征提取,得到第一声纹特征向量;将所述第一声纹特征向量与注册过的1个对象的第二声纹特征向量进行比对,得到比对结果;
若所述语音识别服务任务为1:N声纹比对任务,则利用声纹提取模型对所述PCM音频数据进行特征提取,得到第一声纹特征向量;将所述第一声纹特征向量与注册过的N个对象的第二声纹特征向量进行比对,得到比对结果。
13.一种语音识别服务实现系统,其特征在于,包括:
GRPC客户端,用于获取语音音频数据,并向GRPC服务端发送语音识别服务请求;
GRPC服务端,用于接收GRPC客户端发送的语音音频数据和语音识别服务请求;所述GRPC服务端调用与所述语音识别服务请求对应的语音识别服务模型以执行语音识别服务任务,并基于所述语音音频数据通过所述语音识别服务模型输出语音识别服务任务执行结果;所述GRPC客户端接收所述语音识别服务任务执行结果。
14.一种语音识别服务实现设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当所述一个或多个处理器执行时,使得所述设备执行如权利要求1-6中一个或多个所述的方法。
15.一个或多个机器可读介质,其特征在于,其上存储有指令,当由一个或多个处理器执行时,使得设备执行如权利要求1-6中一个或多个所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111021827.7A CN113724711A (zh) | 2021-09-01 | 2021-09-01 | 一种语音识别服务实现方法、装置、系统、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111021827.7A CN113724711A (zh) | 2021-09-01 | 2021-09-01 | 一种语音识别服务实现方法、装置、系统、介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113724711A true CN113724711A (zh) | 2021-11-30 |
Family
ID=78680610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111021827.7A Pending CN113724711A (zh) | 2021-09-01 | 2021-09-01 | 一种语音识别服务实现方法、装置、系统、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113724711A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115620729A (zh) * | 2022-12-21 | 2023-01-17 | 北京华晟经世信息技术股份有限公司 | 基于鲁棒语音增强算法的工业设备语音控制方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101740031A (zh) * | 2010-01-21 | 2010-06-16 | 安徽科大讯飞信息科技股份有限公司 | 一种基于网络动态负载均衡的声纹识别系统及其识别方法 |
CN102789781A (zh) * | 2011-05-20 | 2012-11-21 | 上海先先信息科技有限公司 | 一种在VoiceXML 2.0中支持声纹验证的方式 |
CN112289307A (zh) * | 2020-11-12 | 2021-01-29 | 四川云从天府人工智能科技有限公司 | 基于GRPC实现Kaldi语音识别服务的方法、系统及介质 |
US20210173865A1 (en) * | 2019-12-09 | 2021-06-10 | Open Text Holdings, Inc. | System and Method for Multi-Media Search in a Content Management System |
CN113192510A (zh) * | 2020-12-29 | 2021-07-30 | 云从科技集团股份有限公司 | 实现语音年龄和/或性别识别服务的方法、系统及介质 |
-
2021
- 2021-09-01 CN CN202111021827.7A patent/CN113724711A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101740031A (zh) * | 2010-01-21 | 2010-06-16 | 安徽科大讯飞信息科技股份有限公司 | 一种基于网络动态负载均衡的声纹识别系统及其识别方法 |
CN102789781A (zh) * | 2011-05-20 | 2012-11-21 | 上海先先信息科技有限公司 | 一种在VoiceXML 2.0中支持声纹验证的方式 |
US20210173865A1 (en) * | 2019-12-09 | 2021-06-10 | Open Text Holdings, Inc. | System and Method for Multi-Media Search in a Content Management System |
CN112289307A (zh) * | 2020-11-12 | 2021-01-29 | 四川云从天府人工智能科技有限公司 | 基于GRPC实现Kaldi语音识别服务的方法、系统及介质 |
CN113192510A (zh) * | 2020-12-29 | 2021-07-30 | 云从科技集团股份有限公司 | 实现语音年龄和/或性别识别服务的方法、系统及介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115620729A (zh) * | 2022-12-21 | 2023-01-17 | 北京华晟经世信息技术股份有限公司 | 基于鲁棒语音增强算法的工业设备语音控制方法及系统 |
CN115620729B (zh) * | 2022-12-21 | 2023-03-10 | 北京华晟经世信息技术股份有限公司 | 基于鲁棒语音增强算法的工业设备语音控制方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8352962B2 (en) | Managing application interactions using distributed modality components | |
US9843667B2 (en) | Electronic device and call service providing method thereof | |
CN111427569B (zh) | 免安装程序适配方法、装置、电子设备及存储介质 | |
CN110933075B (zh) | 服务调用方法、装置、电子设备及存储介质 | |
US11818491B2 (en) | Image special effect configuration method, image recognition method, apparatus and electronic device | |
CN112035768A (zh) | 快应用的页面渲染方法、装置、存储介质及电子设备 | |
WO2023124141A1 (zh) | 一种输入法调用方法及相关设备 | |
CN113918856A (zh) | 数字人应用系统、应用方法、计算机设备以及存储介质 | |
CN111078316B (zh) | 布局文件加载方法、装置、存储介质及电子设备 | |
CN108874554B (zh) | 信息通信方法及装置 | |
CN113724711A (zh) | 一种语音识别服务实现方法、装置、系统、介质及设备 | |
CN112843681B (zh) | 虚拟场景控制方法、装置、电子设备及存储介质 | |
CN113052942B (zh) | 图表生成方法、装置、存储介质及电子设备 | |
CN112839065B (zh) | 信息处理方法、装置、第一设备及存储介质 | |
CN111240776B (zh) | 动态壁纸设置方法、装置、存储介质及电子设备 | |
CN111309323B (zh) | 参数初始化方法、装置和电子设备 | |
CN113836424A (zh) | 数据获取方法、装置、电子设备及存储介质 | |
CN113761588A (zh) | 一种数据校验方法、装置、终端设备及存储介质 | |
CN112306337B (zh) | 一种会议同屏系统、方法、装置、计算机设备及存储介质 | |
CN113192510B (zh) | 实现语音年龄和/或性别识别服务的方法、系统及介质 | |
CN113569728B (zh) | 一种数据处理方法、系统、设备及计算机可读介质 | |
CN113157360B (zh) | 用于处理api的方法、装置、设备、介质和产品 | |
CN114661804A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN117540805A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113380224A (zh) | 语种确定方法、装置、电子设备及存储介质 |
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 |