语音设备的控制方法、装置、语音设备和存储介质与流程

文档序号:21279534发布日期:2020-06-26 23:30阅读:205来源:国知局
语音设备的控制方法、装置、语音设备和存储介质与流程
本申请涉及语音设备的
技术领域
,特别涉及一种语音设备的控制方法、装置、语音设备和存储介质。
背景技术
:目前,语音设备广泛应用于生活中,诸如智能音箱、语音机器人、车载语音服务装置等。一般地,语音设备中相关算法(声源定位、语音增强、语音唤醒、语音识别等算法)在出厂之前已经固定下来。然而,实际应用场景并不等同于研发阶段的实验场景,例如麦克风故障状况、所摆放的室内场景等不同。因此,在实际中,语音设备的效果不如实验阶段。而关于麦克风故障的自检,目前大都只能判断出是否存在故障麦克风,难以准确检测出具体哪个麦克风出现故障。技术实现要素:本申请的主要目的为提供一种语音设备的控制方法、装置、语音设备和存储介质,旨在克服目前难以根据实际场景调整语音设备算法的缺陷。为实现上述目的,本申请提供了一种语音设备的控制方法,所述语音设备包括扬声器以及麦克风,所述方法包括以下步骤:通过所述扬声器播放激励信号;通过所述麦克风接收所述激励信号的响应信号;基于所述激励信号以及所述麦克风接收到的响应信号,计算当前环境的冲激响应函数以及混响时间;根据所述冲激响应函数优化所述语音设备的语音处理算法;或者,根据所述混响时间与算法方案的对应关系,切换所述语音设备的语音处理算法。进一步地,所述基于所述激励信号以及所述麦克风接收到的响应信号,计算当前环境的冲激响应函数以及混响时间的步骤,包括:对所述激励信号以及一个所述响应信号进行快速傅里叶变换,得到对应的第一频域信号以及第二频域信号;计算所述第二频域信号与第一频域信号的比值;将所述比值进行逆快速傅里叶变换恢复到时域,得到当前环境的冲激响应函数;根据所述比值以及预设的滤波器系数,得到声压级函数;根据所述声压级函数,计算得到所述混响时间。进一步地,所述麦克风至少为一个,每个所述麦克风均接收所述激励信号的响应信号;所述通过所述麦克风接收所述激励信号的响应信号的步骤之后,包括:基于所述激励信号以及每个所述麦克风接收到的响应信号,分别检测对应的每个所述麦克风是否损坏。进一步地,所述麦克风为多个;所述基于所述激励信号以及每个所述麦克风接收到的响应信号,分别检测对应的每个所述麦克风是否损坏的步骤之后,包括:从多个所述麦克风中确定出未损坏的麦克风;将所述未损坏的麦克风组成新的麦克风阵列流型,并切换与所述新的麦克风阵列流型匹配的麦克风阵列算法方案。进一步地,所述基于所述激励信号以及每个所述麦克风接收到的响应信号,分别检测对应的每个所述麦克风是否损坏的步骤,包括:计算所述激励信号以及每个所述麦克风接收到的响应信号之间的互相关系数;分别判断每个所述互相关系数是否大于预设的互相关阈值;若不大于,则判定对应的所述麦克风损坏;若大于,则判定对应的所述麦克风未损坏。进一步地,所述通过所述扬声器播放激励信号的步骤之前,包括:基于每个所述麦克风获取当前环境指定时间段内的声音信号;基于所述声音信号,分别计算每个所述麦克风所在通道的平均短时能量,并从中确定出最大的平均短时能量;判断所述最大的平均短时能量是否小于阈值;若小于,则判定当前环境为安静状态,则执行通过所述扬声器播放激励信号的步骤。进一步地,所述激励信号为最大长度序列信号以及扫频信号中的一种。本申请还提供了一种语音设备的控制装置,所述语音设备包括扬声器以及麦克风,所述装置包括:播放单元,用于通过所述扬声器播放激励信号;接收单元,用于通过所述麦克风接收所述激励信号的响应信号;计算单元,用于基于所述激励信号以及所述麦克风接收到的响应信号,计算当前环境的冲激响应函数以及混响时间;调整单元,用于根据所述冲激响应函数优化所述语音设备的语音处理算法;或者,根据所述混响时间与算法方案的对应关系,切换所述语音设备的语音处理算法。进一步地,所述计算单元,包括:变换子单元,用于对所述激励信号以及一个所述响应信号进行快速傅里叶变换,得到对应的第一频域信号以及第二频域信号;第一计算子单元,用于计算所述第二频域信号与第一频域信号的比值;第二计算子单元,用于将所述比值进行逆快速傅里叶变换恢复到时域,得到当前环境的冲激响应函数;第三计算子单元,用于根据所述比值以及预设的滤波器系数,得到声压级函数;第四计算子单元,用于根据所述声压级函数,计算得到所述混响时间。进一步地,所述麦克风至少为一个,每个所述麦克风均接收所述激励信号的响应信号;所述装置还包括:检测单元,用于基于所述激励信号以及每个所述麦克风接收到的响应信号,分别检测对应的每个所述麦克风是否损坏。进一步地,所述麦克风为多个;所述装置还包括:确定单元,用于从多个所述麦克风中确定出未损坏的麦克风;切换单元,用于将所述未损坏的麦克风组成新的麦克风阵列流型,并切换与所述新的麦克风阵列流型匹配的麦克风阵列算法方案。进一步地,所述检测单元,具体用于:计算所述激励信号以及每个所述麦克风接收到的响应信号之间的互相关系数;分别判断每个所述互相关系数是否大于预设的互相关阈值;若不大于,则判定对应的所述麦克风损坏;若大于,则判定对应的所述麦克风未损坏。进一步地,所述装置还包括:获取单元,用于基于每个所述麦克风获取当前环境指定时间段内的声音信号;能量计算单元,用于基于所述声音信号,分别计算每个所述麦克风所在通道的平均短时能量,并从中确定出最大的平均短时能量;判断单元,用于判断所述最大的平均短时能量是否小于阈值;若小于,则判定当前环境为安静状态,则执行通过所述扬声器播放激励信号。进一步地,所述激励信号为最大长度序列信号以及扫频信号中的一种。本申请还提供一种语音设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。本申请提供的语音设备的控制方法、装置、语音设备和存储介质,其中语音设备包括扬声器以及麦克风,所述方法包括:通过所述扬声器播放激励信号;通过每个所述麦克风接收所述激励信号的响应信号;基于所述激励信号以及所述麦克风接收到的响应信号,计算当前环境的冲激响应函数以及混响时间;根据所述冲激响应函数优化所述语音设备的语音处理算法;或者,根据所述混响时间与算法方案的对应关系,切换所述语音设备的语音处理算法。本申请计算出当前环境的冲激响应函数以及混响时间,以便根据实际场景对应进行语音处理算法的调整。附图说明图1是本申请一实施例中语音设备的控制方法步骤示意图;图2是本申请一实施例中的冲激响应曲线图;图3是本申请一实施例中的声压级函数曲线图;图4是本申请一实施例中语音设备的控制装置结构框图;图5为本申请一实施例的语音设备的结构示意框图。本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。参照图1,本申请一实施例中提供了一种语音设备的控制方法,所述语音设备包括扬声器以及麦克风,所述方法包括以下步骤:步骤s1,通过所述扬声器播放激励信号;步骤s2,通过每个所述麦克风接收所述激励信号的响应信号;步骤s3,基于所述激励信号以及所述麦克风接收到的响应信号,计算当前环境的冲激响应函数以及混响时间;步骤s4,根据所述冲激响应函数优化所述语音设备的语音处理算法;或者,根据所述混响时间与算法方案的对应关系,切换所述语音设备的语音处理算法。在本实施例中,上述语音设备包括上自带有扬声器以及麦克风;将上述语音设备放置于当前环境(例如一封闭空间)中,当需要进行麦克风的故障自检时,则如上述步骤s1所述的,通过扬声器播放激励信号,该激励信号为白噪声信号、脉冲信号、最大长度序列信号以及扫频信号中的任意一种。上述激励信号播放之后,上述的当前环境可以对上述激励信号进行响应。如上述步骤s2所述的,每个上述麦克风可以采集到上述激励信号的响应信号,基于上述麦克风的品质不同,其采集到的响应信号也会有所不同。目前,上述语音设备在所摆放的室内场景,多采用固定的算法,需要用户手动选择语音设备所处室内场景来适配算法。若需要提升其语音效果,往往需要用户手动填写当前室内场景(厨房、客厅、卧室、会议室等),然而,这使得客户的操作繁琐化,影响客户体验;此外,房间的大小、形状、墙壁材质、物体的分布、设备的摆放位置都是不尽相同的,不一定完全适合语音设备所在的状态,都会影响到语音设备的语音效果,使得使用效果不稳定。因此,如上述步骤s3所述的,从上述各个麦克风接收到的响应信号中选择出一个响应信号用于计算冲激响应函数以及混响时间。优选地,选择回声消除所用的麦克风所在通道的响应信号。进而根据上述激励信号以及所述麦克风接收到的响应信号,便可以计算出当前环境的冲激响应函数以及混响时间。上述冲激响应函数以及混响时间可以反映的是当前环境下,当前环境的布局、大小、形状对声音信号的影响,基于该特性,则可以如上述步骤s4所述的,适应性调整语音设备在当前环境下最佳的算法方案。具体地,上述语音设备受混响时间影响的算法方案包括声源定位、语音增强、回声消除、啸叫抑制、语音唤醒、语音识别等算法,因此它们可以利用当前环境的冲激响应函数来优化算法,或者按照混响时间查表法来选取备选算法方案。其中混响时间查表法指的是,预设有一个映射表,不同的混响时间对应不同的算法方案。例如:混响时间t算法方案0s~0.09s算法方案一0.1s~0.19s算法方案二0.2s~0.29s算法方案三......回声、啸叫,是由于上述语音设备的扬声器所发出的声音被麦克风回采所导致,因此受该环境冲激响应影响最直接,因此应该优先选择回声消除所用的麦克风通道作为检测通道。此外,回声消除算法、啸叫抑制算法可以利用该环境的冲激响应函数进行优化。声源定位、语音增强、语音唤醒、语音识别等算法,由于处理的声源不是上述语音设备的扬声器,而是人声,所以不能直接用该环境的冲激响应函数来优化,而可以根据混响时间查表的方式来选取备选算法方案。应当注意的是,当需要计算上述混响时间时,上述激励信号可以是白噪声信号、脉冲信号、最大长度序列信号以及扫频信号中的任意一种。当需要计算上述冲激响应函数时,上述激励信号可以最大长度序列信号以及扫频信号中的任意一种。在一实施例中,所述基于所述激励信号以及所述麦克风接收到的响应信号,计算当前环境的冲激响应函数以及混响时间的步骤s3,包括:步骤s31,对所述激励信号以及一个所述响应信号进行快速傅里叶变换,得到对应的第一频域信号以及第二频域信号;步骤s32,计算所述第二频域信号与第一频域信号的比值;步骤s33,将所述比值进行逆快速傅里叶变换恢复到时域,得到当前环境的冲激响应函数;步骤s34,根据所述比值以及预设的滤波器系数,得到声压级函数;步骤s35,根据所述声压级函数,计算得到所述混响时间。在本实施例中,对上述激励信号s进行快速傅里叶变换(fft),得到第一频域信号;对所述响应信号进行快速傅里叶变换,得到第二频域信号。其中,代表频率索引,。其中,计算所述第二频域信号与第一频域信号的比值为:;将上述比值进行逆快速傅里叶变换(ifft)恢复到时域上,可以得到房间冲激响应函数,如图2所示。可选地,乘以一个分数倍频程滤波系数后得到。在上述fft点数选择足够的情况下,则可以优选1/3倍频程的a计权滤波器系数,将扩展成k个点的滤波器系数。则有:;然后将进行逆快速傅里叶变换恢复到时域上,可以得到。继而可以通过求得声压级函数:;其中是常数,指激励信号单位带宽功率,是计算声压级而选取的参考值。将采样点下标转换为时刻下标,即。其中,为采样率。在一具体实施例中,可以得到如图3所示的曲线图。从图3可见,时刻对应的声压级开始算起,声压级下降了10db的时刻为,声压级下降了20db的时刻为,声压级下降了30db时刻为。则可以求得混响时间:;;。在上述实施例中,上述激励信号以指数扫频信号为例,该指数扫频信号的频率随时间增加而呈指数增长。上述指数扫频信号持续时间为最大混响时间的2~4倍,同时激励信号结束后,记录响应信号的安静测量时间应等于期望的最大混响时间。上述最大混响时间可以根据上述语音设备的同样使用场景,利用伊林公式来估计,在此不做赘述。通常的室内环境难以直接测到t60,可选地,如果语音设备的最大声压级比背景噪声高出45db以上,可以选择测试t30;如果语音设备的最大声压级比背景噪声高出35db以上,可以选择测试t20,如果语音设备的最大声压级比背景噪声高出25db以上,可以选择测试t10。播放激励信号的时候既要获得较准确的测量,同时也要顾虑用户的听觉不适感,因此激励信号不应该超过扬声器的最大声压级。上述指数扫频信号最低频率可选择在30hz以上,最高频率则不超过麦克风采样率的一半。在一实施例中,所述麦克风至少为一个,每个所述麦克风均接收所述激励信号的响应信号;所述通过所述麦克风接收所述激励信号的响应信号的步骤s2之后,包括:步骤s3a,基于所述激励信号以及每个所述麦克风接收到的响应信号,分别检测对应的每个所述麦克风是否损坏。目前关于麦克风故障的自检,往往采用短时能量或者短时互相关的方式来进行自检,然而这些方式可以判断是否存在有故障的麦克风,但是较难判断具体哪些麦克风存在故障,哪些麦克风处于正常。如上述步骤s3a所述的,由于每个麦克风接收到的响应信号不同,可以代表该麦克风的质量是否出现故障,因此基于上述激励信号以及每个所述麦克风接收到的响应信号,便可以分别检测对应的每个所述麦克风是否损坏。在本实施例中,可以计算激励信号与所述响应信号的互相关系数,或者通过所述麦克风接收到的响应信号的能量来检测对应的麦克风是否损坏。特别地,当激励信号为扫频信号时,可以计算上述麦克风接收到的响应信号的总谐波失真;举例而言,其中总谐波失真大于阈值时(例如10%,该阈值通过实验统计得到),则认为麦克风出现故障。采用互相关系数以及相应信号的能量来判断麦克风是否损坏的方法,则需要预先得到对应的阈值,对应的计算结果小于该阈值则判定为麦克风出现故障。在本实施例中,所述麦克风为多个;所述基于所述激励信号以及每个所述麦克风接收到的响应信号,分别检测对应的每个所述麦克风是否损坏的步骤s3a之后,包括:步骤s4a,从多个所述麦克风中确定出未损坏的麦克风;步骤s5a,将所述未损坏的麦克风组成新的麦克风阵列流型,并切换与所述新的麦克风阵列流型匹配的麦克风阵列算法方案。在本实施例中,记录已损坏的麦克风的标号,如果全部麦克风都已损坏,则结束本次自检状态,提醒用户全部麦克风已坏。如果所述麦克风没有全部损坏,则去掉损坏的麦克风,将剩下正常的麦克风组成新的麦克风阵列流型,并切换为与之匹配的备选麦克风阵列算法方案。具体地,上述语音设备的拾音模块为一个四麦阵列,其中一个麦克风出现故障,经过自检排查,得知出现故障的麦克风序号,去掉该故障麦克风,得到剩下的其它三个正常麦克风,则可以组合成新的麦克风阵列流型,此时切换为与其配套的麦克风阵列算法。在一具体实施例中,采用计算激励信号与所述响应信号的互相关系数的方式来检测麦克风是否出现故障。因此,在本实施例中,所述基于所述激励信号以及每个所述麦克风接收到的响应信号,分别检测对应的每个所述麦克风是否损坏的步骤s3a,包括:步骤s301,计算所述激励信号以及每个所述麦克风接收到的响应信号之间的互相关系数;步骤s302,分别判断每个所述互相关系数是否大于预设的互相关阈值;步骤s303,若不大于,则判定对应的所述麦克风损坏;若大于,则判定对应的所述麦克风未损坏。在本实施例中,在计算上述互相关系数之前,需要做信号的对齐,即麦克风所接收的响应信号应该与播放的激励信号在时间上对齐,截去多余的声音部分。在本实施例中,上述麦克风为m个;其中,第m个麦克风对应通道的响应信号与激励信号的互相关系数为,为相应的经验阈值,当,则认为第m个麦克风损坏。第m个麦克风对应通道的响应信号与激励信号的互相关系数的计算方式为:;其中,,,n是激励信号的点数。x(n)为响应信号,s(n)为激励信号。在一实施例中,所述通过所述扬声器播放激励信号的步骤s1之前,包括:步骤s10,基于每个所述麦克风获取当前环境指定时间段内的声音信号;步骤s11,基于所述声音信号,分别计算每个所述麦克风所在通道的平均短时能量,并从中确定出最大的平均短时能量;步骤s12,判断所述最大的平均短时能量是否小于阈值;若小于,则判定当前环境为安静状态,则执行通过所述扬声器播放激励信号的步骤。在本实施例,为了保障上述自检过程的准确性,应当确保当前环境为安静状态,因此需要检测当前环境是否处于安静,若不安静,则需要提醒用户自检需要保证环境安静。具体地,基于每个所述麦克风获取当前环境指定时间段内的声音信号,其中,第m个麦克风获取一个时间段内的数据;其中,小括号内数值代表帧索引,是该指定时间段内对应的声音信号的帧数。进一步地,利用平均短时能量来判断当前环境是否安静。具体地,分别计算每个所述麦克风所在通道的平均短时能量,得到m个平均短时能量,进而从中选择出值最大的平均短时能量。通过统计以往安静环境中的短时能量,得到阈值。将最大的平均短时能量和阈值比较,以判断当前环境是否安静。即,当,则此时环境不是安静,当,则此时环境为安静。其中,,。参照图4,本申请另一实施例中还提供了一种语音设备的控制装置,所述语音设备包括扬声器以及麦克风,所述装置包括:播放单元,用于通过所述扬声器播放激励信号;接收单元,用于通过所述麦克风接收所述激励信号的响应信号;计算单元,用于基于所述激励信号以及所述麦克风接收到的响应信号,计算当前环境的冲激响应函数以及混响时间;调整单元,用于根据所述冲激响应函数优化所述语音设备的语音处理算法;或者,根据所述混响时间与算法方案的对应关系,切换所述语音设备的语音处理算法。在一实施例中,所述计算单元,包括:变换子单元,用于对所述激励信号以及一个所述响应信号进行快速傅里叶变换,得到对应的第一频域信号以及第二频域信号;第一计算子单元,用于计算所述第二频域信号与第一频域信号的比值;第二计算子单元,用于将所述比值进行逆快速傅里叶变换恢复到时域,得到当前环境的冲激响应函数;第三计算子单元,用于根据所述比值以及预设的滤波器系数,得到声压级函数;第四计算子单元,用于根据所述声压级函数,计算得到所述混响时间。在一实施例中,所述麦克风至少为一个,每个所述麦克风均接收所述激励信号的响应信号;所述装置还包括:检测单元,用于基于所述激励信号以及每个所述麦克风接收到的响应信号,分别检测对应的每个所述麦克风是否损坏。在一实施例中,所述麦克风为多个;所述装置还包括:确定单元,用于从多个所述麦克风中确定出未损坏的麦克风;切换单元,用于将所述未损坏的麦克风组成新的麦克风阵列流型,并切换与所述新的麦克风阵列流型匹配的麦克风阵列算法方案。在一实施例中,所述检测单元,具体用于:计算所述激励信号以及每个所述麦克风接收到的响应信号之间的互相关系数;分别判断每个所述互相关系数是否大于预设的互相关阈值;若不大于,则判定对应的所述麦克风损坏;若大于,则判定对应的所述麦克风未损坏。在一实施例中,所述装置还包括:获取单元,用于基于每个所述麦克风获取当前环境指定时间段内的声音信号;能量计算单元,用于基于所述声音信号,分别计算每个所述麦克风所在通道的平均短时能量,并从中确定出最大的平均短时能量;判断单元,用于判断所述最大的平均短时能量是否小于阈值;若小于,则判定当前环境为安静状态,则执行通过所述扬声器播放激励信号。在上述实施例中,所述激励信号为最大长度序列信号以及扫频信号中的一种。在本实施例中,上述各个单元的具体实现,请参照上述方法实施例中所述,在此不再进行赘述。参照图5,本申请实施例中还提供一种语音设备,该语音设备可以是服务器,其内部结构可以如图5所示。该语音设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该语音设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该语音设备的数据库用于存储语音信息等。该语音设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种语音设备的控制方法。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的语音设备的限定。本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种语音设备的控制方法。可以理解的是,本实施例中的计算机可读存储介质可以是易失性可读存储介质,也可以为非易失性可读存储介质。综上所述,为本申请实施例中提供的语音设备的控制方法、装置、语音设备和存储介质,其中语音设备包括扬声器以及麦克风,所述方法包括:通过所述扬声器播放激励信号;通过每个所述麦克风接收所述激励信号的响应信号;基于所述激励信号以及所述麦克风接收到的响应信号,计算当前环境的冲激响应函数以及混响时间;根据所述冲激响应函数优化所述语音设备的语音处理算法;或者,根据所述混响时间与算法方案的对应关系,切换所述语音设备的语音处理算法。本申请计算出当前环境的冲激响应函数以及混响时间,以便根据实际场景对应进行语音处理算法的调整。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram通过多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的
技术领域
,均同理包括在本申请的专利保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1