声纹检索方法、装置、系统、服务器及存储介质
技术领域
本申请属于数据处理
技术领域
,具体涉及一种声纹检索方法、装置、系统、服务器及存储介质。背景技术
声纹检索是将需要进行检索的语音与数据库中存储的语音进行对比,返回数据库中与这段语音来自同一个说话人的一条或多条语音。随着声纹检索技术的发展,声纹检索技术的应用场景也越来越多,尤其是在海量声纹特征检索这方面,相关的声纹检索方法,程序和Redis(Remote Dictionary Server,远程字典服务器)服务器之间都是通过网络传输的方式进行数据传输,进而在检索到的海量声纹特征数据出库的时候,网络传输会带来非常大的性能瓶颈,拖慢检索速度。
发明内容
鉴于上述问题,本申请提出了一种声纹检索方法、装置、系统、服务器以及存储介质,以实现改善上述问题。
第一方面,本申请实施例提供了一种声纹检索方法,应用于声纹检索服务器的声纹检索模块,所述方法包括:获取待检索声纹特征数据;将所述待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对;获取所述待检索声纹特征数据对应的特征比对结果,将所述特征比对结果进行发送。
第二方面,本申请实施例提供了一种声纹检索方法,应用于业务服务器,所述方法包括:向声纹检索服务器发送待检索声纹特征数据,以使所述声纹检索服务器的声纹检索模块将所述待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对;接收所述待检索声纹特征数据对应的特征比对结果,并对所述特征比对结果进行展示。
第三方面,本申请实施例提供了一种声纹检索方法,应用于声纹检索系统,所述系统包括声纹检索服务器和业务服务器,所述方法包括:所述业务服务器向所述声纹检索服务器发送待检索声纹特征数据;所述声纹检索服务器获取所述待检索声纹特征数据;所述声纹检索服务器将所述待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对;所述业务服务器接收所述声纹检索服务器发送的所述待检索声纹特征数据对应的特征比对结果,并对所述特征比对结果进行展示。
第四方面,本申请实施例提供了一种声纹检索装置,运行于声纹检索服务器的声纹检索模块,所述装置包括:数据获取单元,用于获取待检索声纹特征数据;特征比对单元,用于将所述待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对;结果获取单元,用于获取所述待检索声纹特征数据对应的特征比对结果,将所述特征比对结果进行发送。
第五方面,本申请实施例提供了一种声纹检索装置,运行于业务服务器,所述装置包括:数据发送单元,用于向声纹检索服务器发送待检索声纹特征数据,以使所述声纹检索服务器的声纹检索模块将所述待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对;展示单元,用于接收所述待检索声纹特征数据对应的特征比对结果,并对所述特征比对结果进行展示。
第六方面,本申请实施例提供了一种声纹检索系统,所述系统包括声纹检索服务器和业务服务器;所述业务服务器,用于向所述声纹检索服务器发送待检索声纹特征数据;所述声纹检索服务器,用于获取所述待检索声纹特征数据;所述声纹检索服务器,用于将所述待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对;所述业务服务器,用于接收所述声纹检索服务器发送的所述待检索声纹特征数据对应的特征比对结果,并对所述特征比对结果进行展示。
第七方面,本申请实施例提供了一种服务器,包括一个或多个处理器以及存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述的方法。
本申请实施例提供了一种声纹检索方法、装置、系统、服务器及存储介质。首先获取待检索声纹特征数据,然后将待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对,最后获取待检索声纹特征数据对应的特征比对结果,将特征比对结果进行发送。通过上述方法,当获取到待检索声纹特征数据时,直接将待检索声纹特征数据与内存中预先存储的声纹特征数据进行比对,输出声纹特征比对结果,通过直接遍历内存中的声纹特征数据的方式,可以提高声纹特征检索的速度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一实施例提出的一种声纹检索方法的应用场景示意图;
图2示出了本申请一实施例提出的一种声纹检索方法的流程图;
图3示出了本申请另一实施例提出的一种声纹检索方法的流程图;
图4示出了本申请另一实施例提出的一种插入回调函数的场景示意图;
图5示出了本申请再一实施例提出的一种声纹检索方法的流程图;
图6示出了本申请再一实施例提出的一种声纹检索方法中获取待存储声纹特征数据的流程图;
图7示出了本申请再一实施例提出的一种声纹特征数据同步的场景示意图;
图8示出了本申请又一实施例提出的一种声纹检索方法的流程图;
图9示出了本申请又一实施例提出的一种声纹检索场景示意图;
图10示出了本申请实施例提出的一种声纹检索装置的结构框图;
图11示出了本申请实施例提出的另一种声纹检索装置的结构框图;
图12示出了本申请实施例提出的又一种声纹检索装置的结构框图;
图13示出了本申请实施例提出的再一种声纹检索装置的结构框图;
图14示出了本申请实施例提出的一种声纹检索系统的结构框图;
图15示出了本申请实时中的用于执行根据本申请实施例的声纹检索方法的服务器的结构框图;
图16示出了本申请实时中的用于保存或者携带实现根据本申请实施例的声纹检索方法的程序代码的存储单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
声纹检索是获取给定的语音的声纹特征,将给定的语音的声纹特征与数据库存储的语音的声纹特征进行对比,进而返回与这段语音对应的说话人信息。
由于近些年麦克风录入式设备例如手机、个人电脑等等的普及,网络媒体的飞速发展,大量的语音和视频喷涌出现,每一分钟都有成千上百小时的视频上传到云端。声纹检索的用途也越来越广泛,例如通过对于语音的检索来推荐相似语音;通过声纹检索,检测侵权行为;在大规模声纹认证中,说话人过多会导致认证速度慢,也可以使用检索技术加快认证过程等等。
而发明人在对相关的声纹检索方法的研究中发现,声纹检索服务器和声纹数据存储服务器之间都是通过网络传输的方式进行声纹检索数据的传输,进而在检索到的海量声纹特征数据出库的时候,网络传输会带来非常大的性能瓶颈,拖慢检索速度。
因此,发明人提出了本申请中的首先获取待检索声纹特征数据,然后将待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对,最后获取待检索声纹特征数据对应的特征比对结果,将特征比对结果进行发送,当获取到待检索声纹特征数据时,直接将待检索声纹特征数据与内存中预先存储的声纹特征数据进行比对,输出声纹特征比对结果,通过直接遍历内存中的声纹特征数据的方式,可以提高声纹特征检索的速度的声纹检索方法、装置、系统、服务器以及存储介质。
下面针对本发明实施提供的声纹检索方法的应用环境进行介绍:
请参阅图1,本发明实施提供的声纹检索方法可以应用于检索系统100,所述系统100可以包括声纹特征提取服务器110、Redis服务器120、声纹检索服务器710以及业务服务器720。其中,所述声纹检索服务器710包括声纹检索模块711,更进一步的,所述声纹检索模块711还包括Redis动态数据库模块7111、内存7112以及核心算法模块7113。
在本申请实施例中,声纹特征提取服务器110可以用于提取注册者的声音的声纹特征。在声纹特征提取服务器110对声音的声纹特征进行提取时,可以利用声纹特征提取服务器110中包括的声纹特征提取模型来提取注册者的声音的声纹特征。其中,声纹特征提取模型可以为预先训练好的神经网络模型,该模型用于根据输入的注册者的声音,输出注册者的声音的声纹特征;注册者可以为首次向业务服务器720发送声音数据或者音频数据的用户。
Redis服务器120是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的应用程序编程接口(ApplicationProgrammingInterface,API),通常被称为数据结构服务器,因为值(value)可以是字符串(String),哈希(Hash/Map),列表(list),集合(sets)和有序集合(sorted sets)五种类型,操作非常方便。该Redis服务器120可以用于存储注册者的声音的声纹特征数据。
声纹检索服务器710中的声纹检索模块711可以为声纹检索应用程序,用于根据接收到的声纹检索指令,将待检索声纹特征数据与预先存储的声纹特征数据进行声纹特征比对。
其中,预先存储的声纹特征数据可以存储在Redis动态数据库模块7111和内存7112中。具体的,Redis动态数据库模块7111和内存7112可以根据接收到的声纹特征数据同步指令,存储Redis服务器120发送的声纹特征数据。
业务服务器720可以用于接收待检索声纹特征数据,然后将待检索声纹特征数据发送给声纹检索服务器710,以使声纹检索模块711对待检索声纹特征数据进行声纹检索。
下面将结合附图具体描述本申请的各实施例。
请参阅图2,本申请实施例提供的一种声纹检索方法,应用于声纹检索服务器的声纹检索模块,所述方法包括:
步骤S110:获取待检索声纹特征数据。
在本申请实施例中,所述待检索声纹特征数据为输入的需要进行声纹检索的用户的音频数据对应的声纹特征。其中,声纹是用电声学仪器显示的携带言语信息的声波频谱,声纹不仅具有特定性,而且有相对稳定性的特点。在本申请实施例中,所述声纹特征可以包括但不限于MFCC(Mel Frequency Cepstral Coefficients,梅尔倒谱系数)特征、LPCC(Linear Prediction Cepstrum Coefficient,线性预测倒谱系数)特征。其中,MFCC特征,利用了人耳听觉频率非线性特性,将频谱转化为基于Mel频率的非线性频谱,然后转换到倒谱域上,充分模拟了人的听觉特性,而且没有任何前提假设,MFCC特征具有识别性能和抗噪能力;LPCC特征,是线性预测系数在倒谱域的表示方式,是基于语音信号为自回归信号的假设,利用线性预测分析获得倒谱参数,实验中LPC阶数为线性预测倒谱参数,体现了每个人特定的声道特性。
作为一种方式,待检索声纹特征数据可以为实时采集的用户的音频数据对应的声纹特征数据,也可以为通过外部设备传输的预先采集的用户的音频数据对应的声纹特征数据。其中,音频数据可以为通话过程中生成的音频数据,也可以为会议过程中生成的音频数据,也可以为用户在应用软件中输入的音频数据。
若待检索声纹特征数据为通过外部设备传输的预先采集的用户的音频数据对应的声纹特征数据,那么外部设备在采集用户的音频数据进行存储时,可以获取音频数据发生的时间信息,将时间信息、音频数据的来源、文字信息以及对应的声纹特征数据按指定格式进行记录,进而在声纹检索服务器的声纹检索模块获取待检索声纹特征数据时,可以根据时间信息、音频数据的来源等信息来确定待检索声纹特征数据。其中,按指定格式进行记录可以理解为将音频数据对应的时间信息、音频数据的来源、文字信息以及对应的声纹特征数据存储在同一条数据的不同的字段中,进而声纹检索服务器的声纹检索模块可以通过读取该条数据不同的字段获取到对应的数据信息。
当待检索声纹特征数据为通过外部设备传输的预先采集的用户的音频数据对应的声纹特征数据时,声纹检索服务器的声纹检索模块可以预先向外部设备发送声纹特征数据获取请求,当外部设备接收到声纹特征数据获取请求时,向声纹检索服务器的声纹检索模块返回声纹特征数据,作为待检索声纹特征数据。其中,外部设备可以为与声纹检索服务器进行通信连接的音频采集设备,如智能手机、平板电脑或者安装有麦克风的智能设备等。在本申请实施例中,可以通过外部设备中安装的麦克风采集用户的音频数据。
若待检索声纹特征数据为实时采集的用户的音频数据对应的声纹特征数据,那么可以通过音频采集设备实时采集音频数据,在通过音频采集设备采集到用户的音频数据后,可以将采集到的用户的音频数据发送给声纹特征提取服务器,进而声纹特征提取服务器可以对用户的音频数据进行声纹特征提取,当声纹特征提取服务器提取到用户的音频数据对应的声纹特征数据后,将该用户的音频数据对应的声纹特征数据发送给声纹检索服务器的声纹检索模块作为待检索声纹特征数据。
步骤S120:将所述待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对。
作为一种方式,所述内存中预先存储有多个用户的音频数据分别对应的声纹特征数据。当声纹检索服务器的声纹检索模块获取到待检索声纹特征数据时,可以将待检索声纹特征数据与内存中预先存储的多个用户的音频数据分别对应的声纹特征数据一一进行特征比对。
步骤S130:获取所述待检索声纹特征数据对应的特征比对结果,将所述特征比对结果进行发送。
在本申请实施例中,所述特征比对结果可以为声纹比对分数对应的用户。在将待检索声纹特征数据与内存中预先存储的多个用户的音频数据分别对应的声纹特征数据一一进行特征比对,得到待检索声纹特征数据对应的多个声纹比对分数,将多个声纹比对分数中超过声纹分数阈值的声纹比对分数对应的用户作为特征比对结果,并将特征比对结果进行发送。
可选的,也可以将多个声纹比对分数中超过声纹分数阈值的声纹比对分数,按照从高到低的顺序进行排序,将排序靠在前面的指定个数的声纹比对分数对应的用户作为特征比对结果。
本申请提供的一种声纹检索方法,首先获取待检索声纹特征数据,然后将待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对,最后获取待检索声纹特征数据对应的特征比对结果,将特征比对结果进行发送。通过上述方法,当获取到待检索声纹特征数据时,直接将待检索声纹特征数据与内存中预先存储的声纹特征数据进行比对,输出声纹特征比对结果,通过直接遍历内存中的声纹特征数据的方式,可以提高声纹特征检索的速度。
请参阅图3,本申请实施例提供的一种声纹检索方法,应用于声纹检索服务器的声纹检索模块,所述方法包括:
步骤S210:接收声纹特征数据同步指令。
作为一种方式,所述声纹检索模块中包括Redis动态数据库模块。所述声纹特征数据同步指令可以为Redis服务器发送的。具体的,当Redis服务器接收到业务服务器发送的声纹特征数据时,Redis服务器向声纹检索服务器的声纹检索模块发送声纹特征数据同步指令,进而Redis动态数据库模块可以在接收到声纹特征数据同步指令后,向Redis服务器获取声纹特征数据,并进行存储。可选的,在Redis服务器向声纹检索服务器的声纹检索模块发送声纹特征数据同步指令的时,可以将声纹特征数据和声纹特征数据同步指令作为一条数据发送给声纹检索模块,进而声纹检索模块中的Redis动态数据库模块可以直接从该条数据中获取到声纹特征数据,并存储到Redis动态数据库模块中。
步骤S220:基于所述声纹特征数据同步指令,将所述Redis动态数据库模块中存储的声纹特征数据同步存储至所述内存。
其中,所述Redis动态数据库模块中存储的声纹特征数据为在注册阶段采集的注册者的声纹特征数据。
在本申请实施例中,注册者可以为首次向业务服务器发送声音数据或者音频数据的用户。业务服务器向Redis服务器发送的声纹特征数据为在注册阶段采集的注册者的声纹特征数据。具体的,注册者可以通过音频采集设备提供的API接口输入音频数据,当业务服务器接收到注册者输入的音频数据后,将音频数据发送给声纹特征提取服务器,以使声纹特征提取服务器提取注册者输入的音频数据的声纹特征数据。
当声纹特征提取服务器提取到注册者输入的音频数据的声纹特征数据后,将声纹特征数据发送给业务服务器,进而业务服务器将注册者的声纹特征数据发送给Redis服务器进行存储。
当Redis服务器接收到注册者的声纹特征数据后,基于声纹特征数据同步指令将注册者的声纹特征数据同步至Redis动态数据库模块中,进而Redis动态数据库模块将注册的声纹特征数据同步至内存中。
可选的,所述将所述Redis动态数据库模块中存储的声纹特征数据同步存储至所述内存的步骤包括:当接收到所述声纹特征数据同步指令时,通过回调函数将所述Redis动态数据库模块中存储的声纹特征数据同步存储至所述内存。
其中,在本申请实施例中,注册者的声纹特征数据在Redis动态数据库模块中以哈希表的形式进行存储。回调函数可以用于将注册者的声纹特征数据同步存储至内存中。具体的,可以将不同的回调函数插入到哈希表的不同位置处,进而可以使得不同的回调函数可以在声纹检索服务器处于不同运行状态时执行不同的功能,其中,回调函数可以包括数据库状态回调函数、数据库清空回调函数、键值插入回调函数、键值删除回调函数以及键值更新回调函数等。如图4所示,Redis动态数据库模块可以通过数据库状态回调函数、数据库清空回调函数、键值插入回调函数、键值删除回调函数以及键值更新回调函数等回调函数访问内存。
作为一种方式,在确定不同函数的回调函数插入的位置时,可以根据回调函数的作用将回调函数插入到哈希表不同的位置中。具体的,数据库状态回调函数用于启动内存;数据库清空回调函数用于清空内存中存储的声纹特征数据;键值插入回调函数、键值删除回调函数以及键值更新函数均是用于处理声纹特征数据同步至内存中时的数据的修改。由于数据库状态回调函数是用于启动内存的,因此可以将数据库状态回调函数插入到哈希表的开始位置,使得当接收到声纹特征数据同步指令时,可以优先通过数据库状态回调函数来启动内存,进而可以将Redis动态数据库模块中的声纹特征数据同步至内存中。另外,由于数据库清空回调函数、键值插入回调函数、键值删除回调函数以及键值更新回调函数等回调函数都是用于声纹特征数据同步过程中的声纹特征数据的增、删、改以及清空等操作,因此,可以将数据库清空回调函数、键值插入回调函数、键值删除回调函数以及键值更新回调函数等回调函数插入到哈希表的中间位置。进一步的,在将数据库清空回调函数、键值插入回调函数、键值删除回调函数以及键值更新回调函数等回调函数插入到哈希表的中间位置时,可以将数据库清空回调函数、键值插入回调函数、键值删除回调函数以及键值更新回调函数等回调函数插入到哈希表的同一个位置,也可以将数据库清空回调函数、键值插入回调函数、键值删除回调函数以及键值更新回调函数等回调函数插入到哈希表不同的位置处。当将数据库清空回调函数、键值插入回调函数、键值删除回调函数以及键值更新回调函数等回调函数插入到哈希表的不同位置处时,可以根据实际应用过程中声纹特征数据数据的增、删、改以及清空等操作的先后顺序,将数据库清空回调函数、键值插入回调函数、键值删除回调函数以及键值更新回调函数等回调函数插入到哈希表不同的位置中。
步骤S230:接收业务服务器发送的声纹检索指令。
在声纹检索阶段,声纹检索服务器的声纹检索模块可以基于接收到业务服务器发送的声纹检索指令触发开始进行声纹检索。
步骤S240:响应于所述声纹检索指令,获取所述待检索声纹特征数据。
作为一种方式,当声纹检索服务器的声纹检索模块接收到业务服务器发送的声纹检索指令后,开始获取待检索声纹特征数据。可选的,声纹检索模块获取待检索声纹特征数据时,可以基于声纹检索指令,从Redis服务器中获取待检索声纹特征数据,也可以从业务服务器中获取待检索声纹特征数据。
步骤S250:将所述待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对。
本发明实施例可以将各个用户的音频数据对应的声纹特征数据分别作为一个基准声纹特征数据,并存储各个基准声纹特征数据。
作为一种方式,所述内存中可以预先存储有多个用户的音频数据对应的基准声纹特征数据,进而在获取到待检索声纹特征数据时,将待检索声纹特征数据与内存中预先存储的多个用户的音频数据对应的基准声纹特征数据一一进行特征比对。例如,内存中预先存储有N个(N为正整数)基准声纹特征数据。在特征比对过程中,将待检索声纹特征数据依次与N个基准声纹特征数据进行比对,当发现待检索声纹特征数据与某一个基准声纹特征数据一致时,则确定比对结果一致,不再与后续的基准声纹特征数据进行比对。如果待检索声纹特征数据与任一基准声纹特征数据均不一致,则确定比对结果不一致。或者,可以将待检索声纹特征数据分别与N个基准声纹特征数据进行比对,得到N个比对结果,每个比对结果表示待检索声纹特征数据与对应基准声纹特征数据的相似度。进而,获取相似度最大的比对结果,当该最大的相似度超过预设相似度门限时,确定待检索声纹特征数据与对应的基准声纹特征数据的比对结果一致;当该最大的相似度未超过预设相似度门限时,确定待检索声纹特征与任一基准声纹特征均不一致。
步骤S260:获取所述待检索声纹特征数据对应的特征比对结果,将所述特征比对结果发送给所述业务服务器进行展示。
在本申请实施例中,将特征比对结果发送给业务服务器中运行的客户端进行展示。
本申请提供的一种声纹检索方法,首先接收声纹特征数据同步指令,基于声纹特征数据同步指令,将Redis动态数据库模块中存储的声纹特征数据同步存储至内存,然后接收业务服务器发送的声纹检索指令,响应于声纹检索指令,获取待检索声纹特征数据,再将待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对,最后获取待检索声纹特征数据对应的特征比对结果,将特征比对结果发送至业务服务器进行展示。通过上述方法,当获取到待检索声纹特征数据时,直接将待检索声纹特征数据与内存中预先存储的声纹特征数据进行比对,输出声纹特征比对结果,通过直接遍历内存中的声纹特征数据的方式,可以提高声纹特征检索的速度。
请参阅图5,本申请实施例提供的一种声纹检索方法,应用于业务服务器,所述方法包括:
步骤S310:向声纹检索服务器发送待检索声纹特征数据,以使所述声纹检索服务器的声纹检索模块将所述待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对。
在本申请实施例中,在声纹检索阶段,业务服务器会向声纹检索服务器发送待检索声纹特征数据。所述待检索声纹特征数据可以为待验证声音的声纹特征数据。可选地,待验证声音可以是用户输入的语音,具体可以是用户说话的录音经过静音抑制处理后得到的语音文件,其中,静音抑制处理可以是从用户输入的语音的声音信号流里识别并消除长时间的静音片段的过程。
步骤S320:接收所述待检索声纹特征数据对应的特征比对结果,并对所述特征比对结果进行展示。
再者,如图6所示,步骤S310之前还包括:
步骤S301:获取待存储声纹特征数据。
作为一种方式,所述获取待存储声纹特征数据的步骤包括:接收待注册声音;将所述待注册声音发送给声纹特征提取服务器,以使所述声纹特征提取服务器提取所述待注册声音的声纹特征数据;接收所述声纹特征提取服务器发送的所述待注册声音的声纹特征数据,将所述声纹特征数据作为待存储声纹特征数据。
其中,待注册声音和待验证声音相似,均可以是用户输入的语音,具体可以是用户说话的录音经过静音抑制处理后得到的语音文件,为了保证待注册声音的准确性,获取的待注册声音可以是多个。
步骤S302:将所述待存储声纹特征数据同步存储至所述声纹检索服务器中的所述内存中。
具体的,声纹特征数据同步的流程如图7所示,当业务服务器接收到声纹注册指令时,获取待注册声音,然后向声纹特征提取服务器发送声纹特征提取指令,声纹特征提取服务器基于声纹特征提取指令提取待注册声音的声纹特征数据,并将待注册声音的声纹特征数据返回给业务服务器。
当业务服务器接收到待注册声音的声纹特征数据时,将待注册声音的声纹特征数据缓存至Redis服务器,在Redis服务器对待注册声音的声纹特征数据进行缓存后,将待注册声音的声纹特征数据的存储结果返回给业务服务器,进而业务服务器可以通过客户端对存储结果进行展现。
同时,Redis服务器会向声纹检索服务器发送声纹特征数据同步指令,当声纹检索服务器接收到声纹特征数据同步指令时,将待注册声音的声纹特征数据存储至Redis动态数据库模块。当Redis服务器与Redis动态数据库模块同步待注册声音的声纹特征数据时,可以通过回调函数,将待注册声音的声纹特征数据实时同步至内存中。
示例性的,上述实施例的方法的应用过程可以如下:
当用户A通过业务服务器中的客户端向银行系统输入信息进行身份注册时,可以通过语音注册的方式进行身份注册。具体的,当业务服务器接收到用户A输入的声音时,将用户A的声音发送给声纹特征提取服务器进行声纹特征提取,当声纹特征提取服务器提取到用户A的声音的声纹特征数据时,将用户A的声音的声纹特征数据发送给业务服务器,进而业务服务器可以将用户A的声音的声纹特征数据发送给Redis服务器进行存储。
当Redis服务器接收到用户A的声音的声纹特征数据后,向声纹检索服务器发送声纹特征数据同步指令,以将用户A的声音的声纹特征数据存储至Redis动态数据库模块。
当Redis服务器与Redis动态数据库模块同步用户A的声音的声纹特征数据时,可以通过回调函数,将用户A的声音的声纹特征数据实时同步至内存中。
本申请提供的一种声纹检索方法,向声纹检索服务器发送待检索声纹特征数据,以使声纹检索服务器的声纹检索模块将待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对,然后接收待检索声纹特征数据对应的特征比对结果,并对特征比对结果进行展示。通过上述方法,当获取到待检索声纹特征数据时,直接将待检索声纹特征数据与内存中预先存储的声纹特征数据进行比对,输出声纹特征比对结果,通过直接遍历内存中的声纹特征数据的方式,可以提高声纹特征检索的速度。
请参阅图8,本申请实施例提供的一种声纹检索方法,应用于声纹检索系统,所述系统包括声纹检索服务器和业务服务器,所述方法包括:
步骤S410:所述业务服务器向所述声纹检索服务器发送待检索声纹特征数据。
步骤S420:所述声纹检索服务器获取所述待检索声纹特征数据。
步骤S430:所述声纹检索服务器将所述待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对。
步骤S440:所述业务服务器接收所述声纹检索服务器发送的所述待检索声纹特征数据对应的特征比对结果,并对所述特征比对结果进行展示。
示例性的,本申请实施例的方法的应用过程可以如图9所示:
移动终端用户与客户A通过电话沟通的方式进行商务谈判。当业务服务器接收到该客户A的语音时,将客户A的语音发送给声纹特征提取服务器进行声纹特征提取,当业务服务器接收到客户A的语音的声纹特征数据后,向声纹检索服务器发送声纹特征检索指令,声纹特征检索服务器的声纹检索模块利用核心算法模块中的声纹比对算法,将客户A的语音的声纹特征数据与内存中预先存储的声纹特征数据进行特征比对,若不匹配,则表明移动终端用户与该客户A首次进行商务谈判。与该客户A首次谈判时,可将该客户A的声纹特征数据保存至内存中,同时,可以将该客户A的声纹特征数据发送给Redis服务器进行存储,以避免客户A的声纹特征数据在更换移动终端时丢失。由于声纹具有唯一性,以便与该客户A再次进行商务谈判时,移动终端可利用声纹的唯一性识别该客户A。当移动终端用户与客户A再次进行商务谈判时,在接收到客户A的语音的时候,提取客户A的声纹特征数据。由于该客户A的声纹特征数据已经预先存储在内存中了,因此,声纹可匹配成功,移动终端自动开始录制本次商务谈判的音频数据以便需要的时候作为证据使用,无需移动终端用户主动触发录制操作。当然,如果与移动终端用户进行沟通的是客户B,则声纹匹配不成功,移动终端不会自动录制音频数据。
本申请提供的一种声纹检索方法,业务服务器向声纹检索服务器发送待检索声纹特征数据,声纹检索服务器获取待检索声纹特征数据,然后声纹检索服务器将待检索声纹特征数据与内存中预先存储的声纹特征数据进行比对,最后业务服务器接收声纹检索服务器发送的待检索声纹特征数据对应的特征比对结果,并对特征比对结果进行展示。通过上述方法,当获取到待检索声纹特征数据时,直接将待检索声纹特征数据与内存中预先存储的声纹特征数据进行比对,输出声纹特征比对结果,通过直接遍历内存中的声纹特征数据的方式,可以提高声纹特征检索的速度。
请参阅图10,本申请实施例提供的一种声纹检索装置500,运行于声纹检索服务器的声纹检索模块,所述装置500包括:
数据获取单元510,用于获取待检索声纹特征数据。
可选的,所述数据获取单元510用于接收业务服务器发送的声纹检索指令;响应于所述声纹检索指令,获取所述待检索声纹特征数据。
特征比对单元520,用于将所述待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对。
结果获取单元530,用于获取所述待检索声纹特征数据对应的特征比对结果,将所述特征比对结果进行发送。
可选的,所述结果获取单元530用于获取所述待检索声纹特征数据对应的特征比对结果,将所述特征比对结果发送给所述业务服务器进行展示。
请参阅图11,所述装置500还包括:
数据同步单元540,用于接收声纹特征数据同步指令;基于所述声纹特征数据同步指令,将所述Redis动态数据库模块中存储的声纹特征数据同步存储至所述内存。
可选的,所述数据同步单元540用于当接收到所述声纹特征数据同步指令时,通过回调函数将所述Redis动态数据库模块中存储的声纹特征数据同步存储至所述内存。
请参阅图12,本申请实施例提供的一种声纹检索装置600,运行于业务服务器,所述装置600包括:
数据发送单元610,用于向声纹检索服务器发送待检索声纹特征数据,以使所述声纹检索服务器的声纹检索模块将所述待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对。
展示单元620,用于接收所述待检索声纹特征数据对应的特征比对结果,并对所述特征比对结果进行展示。
请参阅图13,所述装置600还包括:
数据存储单元630,用于获取待存储声纹特征数据;将所述待存储声纹特征数据同步存储至所述声纹检索服务器中的所述内存中。
可选的,所述数据存储单元630用于接收待注册声音;将所述待注册声音发送给声纹特征提取服务器,以使所述声纹特征提取服务器提取所述待注册声音的声纹特征数据;接收所述声纹特征提取服务器发送的所述待注册声音的声纹特征数据,将所述声纹特征数据作为待存储声纹特征数据。
请参阅图14,本申请实施例提供的一种声纹检索系统700,所述系统700包括声纹检索服务器710和业务服务器720;
所述业务服务器720,用于向所述声纹检索服务器710发送待检索声纹特征数据。
所述声纹检索服务器720,用于获取所述待检索声纹特征数据。
所述声纹检索服务器720,用于将所述待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对。
所述业务服务器710,用于接收所述声纹检索服务器720发送的所述待检索声纹特征数据对应的特征比对结果,并对所述特征比对结果进行展示。
需要说明的是,本申请中装置实施例与前述方法实施例是相互对应的,装置实施例中具体的原理可以参见前述方法实施例中的内容,此处不再赘述。
下面将结合图15对本申请提供的一种服务器进行说明。
请参阅图15,基于上述的声纹检索方法、装置,本申请实施例还提供的另一种可以执行前述声纹检索方法的服务器800。服务器800包括相互耦合的一个或多个(图中仅示出一个)处理器802、存储器804以及网络模块806。其中,该存储器804中存储有可以执行前述实施例中内容的程序,而处理器802可以执行该存储器804中存储的程序。
其中,处理器802可以包括一个或者多个处理核。处理器802利用各种接口和线路连接整个服务器800内的各个部分,通过运行或执行存储在存储器804内的指令、程序、代码集或指令集,以及调用存储在存储器804内的数据,执行服务器800的各种功能和处理数据。可选地,处理器802可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器802可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器802中,单独通过一块通信芯片进行实现。
存储器804可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。存储器804可用于存储指令、程序、代码、代码集或指令集。存储器804可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储服务器800在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
所述网络模块806用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯,例如和音频播放设备进行通讯。所述网络模块806可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。所述网络模块806可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。例如,网络模块806可以与基站进行信息交互。
请参考图16,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质900中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质900可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质900包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质900具有执行上述方法中的任何方法步骤的程序代码910的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码910可以例如以适当形式进行压缩。
本申请提供的一种声纹检索方法、装置、系统、服务器以及存储介质,首先获取待检索声纹特征数据,然后将待检索声纹特征数据与内存中预先存储的声纹特征数据进行特征比对,最后获取待检索声纹特征数据对应的特征比对结果,将特征比对结果进行发送。通过上述方法,当获取到待检索声纹特征数据时,直接将待检索声纹特征数据与内存中预先存储的声纹特征数据进行比对,输出声纹特征比对结果,通过直接遍历内存中的声纹特征数据的方式,可以提高声纹特征检索的速度。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种用于手机非编剪辑短视频的缓存映像方法