公开/公告号CN112562635A
专利类型发明专利
公开/公告日2021-03-26
原文格式PDF
申请/专利权人 云知声智能科技股份有限公司;厦门云知芯智能科技有限公司;
申请/专利号CN202011396383.0
发明设计人 高洋;
申请日2020-12-03
分类号G10L13/02(20130101);G10L13/033(20130101);
代理机构
代理人
地址 100096 北京市海淀区西三旗建材城内1幢一层101号
入库时间 2023-06-19 10:24:22
技术领域
本发明书一个或多个实施例涉及自然语言处理技术领域,尤其涉及一种解决语音合成中拼接处产生脉冲信号的方法、装置及系统。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述可包括可以探究的概念,但不一定是之前已经想到或者已经探究的概念。因此,除非在此指出,否则在本部分中描述的内容对于本申请的说明书和权利要求书而言不是现有技术,并且并不因为包括在本部分中就承认是现有技术。
随着智能语音技术的迅猛发展,语音交互已经成为众多智能设备中人机交互的必选方案,比如越来越多的企业、机构推出基于语音交互技术的产品,如语音点餐系统。这类产品利用语音识别、自然语言处理等技术,分析用户的语音输入,以完成相应的操作或任务,如点单操作或点餐任务,而实现人机交互过程中必不可少的一环就是语音合成技术。
现有语音合成的应用中,大多数为在线应用场景。相较于离线应用场景,在线场景无法等待完整语音合成后,再进行网络传输或者播放语音,必须进行流式处理,语音分段生成后进行传输或者播放。
但现有技术存在如下问题:语音合成流式处理中,每次返回的为语音片段,且前后段语音片段为独立计算所得。如此两段语音在拼接处经常产生脉冲信号,对语音整体韵律、音质、听感产生很大负面影响。
有鉴于此,亟需一种技术,用于解决语音合成流式处理中解决拼接处产生脉冲信号,以消除其对语音整体韵律、音质、听感产生的负面影响。
发明内容
本说明书一个或多个实施例描述了一种解决语音合成中拼接处产生脉冲信号的方法、装置及系统,可解决目前技术中存在的语音合成过程中,两段语音在拼接处经常产生脉冲信号,容易产生噪声的问题。
本说明书一个或多个实施例提供的技术方案如下:
第一方面,本发明提供了一种解决语音合成中拼接处产生脉冲信号的方法,其特征在于,所述方法包括以下步骤:
从数据库中提取待拼接的两个语音片段分别作为第一语音片段和第二语音片段,并从所述第一语音片段和第二语音片段中预留N个采样点作为重叠部分;其中,N>256;
根据所述采样点,计算渐出系数向量和渐入系数向量;
利用所述渐出系数向量和渐入系数向量,得到重叠部分的采样点值;
基于得到的重叠部分的采样点值,完成所述第一语音片段和第二语音片段的拼接。
在一种可能的实现方式中,利用所述渐出系数向量和渐入系数向量,得到重叠部分的采样点值,具体为:
根据第一语音片段中的采样点值和第二语音片段中的采样点值,以及渐出系数向量和渐入系数向量,得到重叠部分的采样点值。
在一种可能的实现方式中,按如下公式计算渐出系数向量:
在一种可能的实现方式中,按如下公式计算渐出系数向量:
在一种可能的实现方式中,按如下公式计算重叠部分的采样点值:
samples=fadeout
其中,fadeout
第二方面,本发明提供了一种解决语音合成中拼接处产生脉冲信号的装置,包括数据库单元、采样点选择单元、第一计算单元、第二计算单元和拼接单元;
所述数据库,用于存储语音片段;
所述采样点选择单元,用于从第一语音片段和第二语音片段中预留N个采样点作为重叠部分;
所述第一计算单元,用于计算渐出系数向量和渐入系数向量;
所述第二计算单元,用于基于所述渐出系数向量和渐入系数向量,得到重叠部分的采样点值;
所述拼接单元,用于基于得到的重叠部分的采样点值,完成所述第一语音片段和第二语音片段的拼接。
第三方面,本发明提供了一种解决语音合成中拼接处产生脉冲信号的系统,该系统包括至少一个处理器和存储器;
所述存储器,用于存储一个或多个程序指令;
所述处理器,用于运行一个或多个程序指令,用以执行如第一方面中一个或多个所述的方法。
第四方面,本发明提供了一种芯片,所述芯片与系统中的存储器耦合,使得所述芯片在运行时调用所述存储器中存储的程序指令,实现如第一方面中一个或多个所述的方法。
第五方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质包括一个或多个程序指令,所述一个或多个程序指令可被如第三方面所述的系统执行,以实现如第一方面中一个或多个所述的方法。
本发明实施例提供的方法不关心语音合成时拼接处产生脉冲信号的原由,通过前后段采样点值的加权平均之后,达到了语音平滑的效果,极大改善脉冲信号对语音整体韵律、音质、听感产生的负面影响,可以减轻或者避免噪声现象的发生。
附图说明
图1为本发明实施例提供的一种解决语音合成中拼接处产生脉冲信号的方法流程示意图;
图2为本发明实施例提供的语音合成三段返回的过程示意图;
图3为本发明实施例提供的一种解决语音合成中拼接处产生脉冲信号的装置结构示意图;
图4为本发明实施例提供的一种解决语音合成中拼接处产生脉冲信号的系统结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出一个实施例的一种解决语音合成中拼接处产生脉冲信号的方法流程图,所述方法的执行主体可以为任何具有计算、处理能力的装置、设备、平台、设备集群。如图1所示,所述方法包括以下步骤:
步骤10,从数据库中提取待拼接的两个语音片段分别作为第一语音片段和第二语音片段,并所述第一语音片段和第二语音片段中预留N个采样点作为重叠部分;其中,N>256。
具体的,假定前后段语音计算时,预留N个采样点作为OverLap重叠部分,在此,将前后段的语音片段中的前段称之为第一语音片段,后段称之为第二语音片段。建议采样点N>256。
第一语音片段的最后N个采样点为:
samplesout=(sampout
第二语音片段的开始N个采样点为:
samplesin=(sampin
步骤20,根据所述采样点,计算渐出系数向量和渐入系数向量。
具体的,samplesout为渐出系数向量;samplesin为渐入系数向量。
如下公式计算渐出系数向量:
按如下公式计算渐出系数向量:
步骤30,利用所述渐出系数向量和渐入系数向量,得到重叠部分的采样点值。
具体的,根据第一语音片段中的采样点值和第二语音片段中的采样点值,以及渐出系数向量和渐入系数向量,得到重叠部分的采样点值。
按如下公式计算重叠部分的采样点值:
samples=fadeout
其中,fadeout
对于拼接处的采样点值,进行加权平均后,可以很好的解决合成时产生脉冲信号问题,这是因为流式处理拼接处极易产生脉冲信号,虽然脉冲信号一般是由很少的点,但是数值很大产生的,此处加权平均的过程,针对这种虽然值很大,但是给了它很小的权重,乘起来的结果会变小,从而减轻或者避免产生噪声的问题。
步骤40,基于得到的重叠部分的采样点值,完成所述第一语音片段和第二语音片段的拼接。
下面,根据具体实施例来对该方法进行详细说明:
图2为本发明实施例提供的语音合成三段返回的过程示意图,如图2所示,其中,OR代表Right OverLap,OL代表Left OverLap。
OR:若干帧采样点,给定线性渐出系数,如采样点个数为N,该段采样点分别乘以系数(N-1)/N,(N-2)/N,(N-3)/N…,该段采样点记录在内存中不返回。
OL:若干帧采样点,给定线性渐入系数,如采样点个数为N,该段采样点分别乘以系数1/N,2/N,3/N…。
假定返回语音总长度为500ms,采样率为22050,则得到每段的采样点都是22050*500/1000=11025个,此处假定OverLap都是N=256+1。
渐出系数即为:(256/257,254/257,…2/257,1/257)
渐入系数即为:(1/257,2/257,…255/257,256/257)
第一次返回的采样点数的总数为11025-256,OR部分作为下一次返回;
第二次返回时,首先使用上一段的OR,和本次的OL,计算OverLap的值,计算方法为上述公式:
samples=fadeout
简述如下:
假定OR和OL的256个值分别为r1,r2,…r256和l1,l2,…,l256。
则该段计算出来就是:OverLap=(r1*256/257+l1*1/257,r2*255/257+l2*2/257,…,r256*1/257+l256*256/257),共计256个值,第二段除去OL&OR段,还剩下DATA段共计11025-256*2,将上述计算的OverLap与当前段DATA,一起返回,遗留OR段不作处理。
第三次返回剩下的所有语音,与第二次类似,首先计算OverLap,同时,该次返回了剩下的所有语音,所以不需要截出OR段,两端合在一起同时返回即可。
流式处理拼接处极易产生脉冲信号的问题,产生的原因有很多种。此方法不关心产生的原由,通过前后段采样点值的加权平均之后,达到了语音平滑的效果,可以极大的改善此种现象的发生。与上述实施例方法对应的,本发明还提供了一种解决语音合成中拼接处产生脉冲信号的装置,如图3所示,该解决语音合成中拼接处产生脉冲信号的装置包括:数据库单元310、采样点选择单元330、第一计算单元330、第二计算单元340和拼接单元350。具体的:
所述数据库310,用于存储语音片段;
所述采样点选择单元330,用于从第一语音片段和第二语音片段中预留N个采样点作为重叠部分;
所述第一计算单元330,用于计算渐出系数向量和渐入系数向量;
所述第二计算单元340,用于基于所述渐出系数向量和渐入系数向量,得到重叠部分的采样点值;
所述拼接单元350,用于基于得到的重叠部分的采样点值,完成所述第一语音片段和第二语音片段的拼接。
本发明实施例提供的一种解决语音合成中拼接处产生脉冲信号的装置中各部件所执行的功能均已在上述方法中做了详细介绍,因此这里不做过多赘述。
与上述实施例相对应的,本发明实施例、还提供了一种解决语音合成中拼接处产生脉冲信号的的系统,具体如图4所示,该系统包括至少一个处理器410和存储器420;
存储器410,用于存储一个或多个程序指令;
处理器420,用于运行一个或多个程序指令,执行如上述实施例所介绍的一种解决语音合成中拼接处产生脉冲信号的方法中的任一方法步骤。
与上述实施例相对应的,本发明实施例还提供了一种芯片,该芯片与上述系统中的存储器耦合,使得所述芯片在运行时调用所述存储器中存储的程序指令,实现如上述实施例所介绍的解决语音合成中拼接处产生脉冲信号的的方法。
与上述实施例相对应的,本发明实施例还提供了一种计算机存储介质,该计算机存储介质中包括一个或多个程序,其中,一个或多个程序指令用于被解决语音合成中拼接处产生脉冲信号的的系统执行如上介绍的解决语音合成中拼接处产生脉冲信号的方法。
本发明实施例提供的方法不关心语音合成时拼接处产生脉冲信号的原由,对前后段采样点值进行加权平均,针对脉冲信号值大的,给与很小的权重,乘积后的值会变小,从而达到了语音平滑的效果,可以减轻或者避免噪声现象的发生,极大改善脉冲信号对语音整体韵律、音质、听感产生的负面影响,。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 为电子系统中的子系统或电子系统中的子系统中的设备或过程提供时钟信号的过程,该系统为子系统和电子系统提供或通信sinAl时钟,以在时钟信号和时钟中注册标识时钟信号在两个时钟信号中评估时间腕的时钟信号DEtermina u00e7 u00e3o时的故意错误,其中脉冲产生时间的误差表示检测到relogIO信号脉冲中记录的信号序列的检测和检测在时钟网络或设备的信号脉冲中重新分配信号序列,以获取职业信息和/或在不同季节执行处理,以便在电子系统单元中生成时钟信号,从而确定evalia rel “” _的脉冲时间Dios信号rel是否存在时间误差和一个脉冲的产生。
机译: 仅使用数字电路装置程序及其记录介质的,在所有放射线计数图像传感器中减少信号损失并解决在信号读出集成电路处的脉冲堆积的方法
机译: 卷筒纸拼接器控制装置-由计数器信号触发,该信号由停止脉冲产生,该脉冲停止施加到新卷筒纸的重复计数计数器上