CN112750445B - 语音转换方法、装置和系统及存储介质 - Google Patents
语音转换方法、装置和系统及存储介质 Download PDFInfo
- Publication number
- CN112750445B CN112750445B CN202011609526.1A CN202011609526A CN112750445B CN 112750445 B CN112750445 B CN 112750445B CN 202011609526 A CN202011609526 A CN 202011609526A CN 112750445 B CN112750445 B CN 112750445B
- Authority
- CN
- China
- Prior art keywords
- posterior probability
- time
- time frame
- speech
- 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.)
- Active
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 112
- 238000000034 method Methods 0.000 title claims abstract description 78
- 239000013598 vector Substances 0.000 claims abstract description 370
- 238000009826 distribution Methods 0.000 claims abstract description 27
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 19
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 19
- 230000002159 abnormal effect Effects 0.000 claims description 56
- 230000009466 transformation Effects 0.000 claims description 30
- 238000012937 correction Methods 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 14
- 230000015654 memory Effects 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000013527 convolutional neural network Methods 0.000 claims description 7
- 238000001228 spectrum Methods 0.000 claims description 7
- 238000012935 Averaging Methods 0.000 claims description 6
- 238000003062 neural network model Methods 0.000 claims description 6
- 230000001965 increasing effect Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000007787 long-term memory Effects 0.000 claims description 3
- 230000006403 short-term memory Effects 0.000 claims description 3
- 241000534944 Thia Species 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 8
- 230000005856 abnormality Effects 0.000 abstract 1
- 229920001451 polypropylene glycol Polymers 0.000 description 47
- 238000012549 training Methods 0.000 description 34
- 238000005516 engineering process Methods 0.000 description 12
- 230000002123 temporal effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 6
- 230000002708 enhancing effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000002459 sustained effect Effects 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/003—Changing voice quality, e.g. pitch or formants
- G10L21/007—Changing voice quality, e.g. pitch or formants characterised by the process used
- G10L21/013—Adapting to target pitch
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/20—Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/003—Changing voice quality, e.g. pitch or formants
- G10L21/007—Changing voice quality, e.g. pitch or formants characterised by the process used
- G10L21/013—Adapting to target pitch
- G10L2021/0135—Voice conversion or morphing
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种语音转换方法、装置和系统及存储介质。方法包括:获取源说话者的源语音;对源语音进行特征提取;将源说话者的声学特征输入语音识别模型,以获得PPG;从PPG中检测概率分布存在问题的至少一个时间帧集,每个时间帧集包括多个连续的时间帧,概率分布存在问题的时间帧集是指该时间帧集中的所有时间帧所对应的预测语音类别的一致性不满足预设要求,预测语音类别是对应时间帧下后验概率最大的语音类别;对至少一个时间帧集所对应的后验概率向量进行修正;将经修正的PPG输入特征转换模型,以获得目标说话者的声学特征;基于目标说话者的声学特征进行语音合成。修正PPG中概率分布异常进而导致所识别的语音内容有误的部分,提升语音转换的效果。
Description
技术领域
本发明涉及语音信号处理技术领域,具体地,涉及一种语音转换方法、装置和系统及存储介质。
背景技术
在语音信号处理领域中,语音转换(即语音音色转换)技术是当前比较重要的一个研究方向。语音转换旨在修改任意说话者的音色,将其转换为某一固定说话者的音色,同时说话内容保持不变。语音转换涉及到前端信号处理、语音识别和语音合成技术。基于自动语音识别(ASR)技术的语音转换系统可以从任意的源输入语音中提取与说话人无关的特征,进而通过特征转换模型和声码器,转换得到具有指定目标说话者的音色的声音。
现有的语音转换技术具有以下缺点:声音转换的源输入场景繁杂,背景噪声多种多样,当背景噪声比较嘈杂或者比较陌生的噪声出现在源输入语音中时,转换后的语音内容往往会有些模糊,不够清晰,听感上语音含糊不清,严重影响用户体验。
发明内容
为了至少部分地解决现有技术中存在的问题,提供一种语音转换方法、装置和系统及存储介质。
根据本发明一个方面,提供一种语音转换方法,包括:获取源说话者的源语音;对源语音进行特征提取,以获得源说话者的声学特征;将源说话者的声学特征输入语音识别模型,以获得语音识别模型输出的源说话者的语音后验概率,语音后验概率包括与多个时间帧一一对应的多个后验概率向量,每个后验概率向量包括与C1个语音类别一一对应的C1个元素,每个元素表示在对应时间帧下对应语音类别的后验概率,其中,C1为大于0的整数;从语音后验概率中检测概率分布存在问题的至少一个时间帧集,每个时间帧集包括多个连续的时间帧,其中,概率分布存在问题的时间帧集是指该时间帧集中的所有时间帧所对应的预测语音类别的一致性不满足预设要求,预测语音类别是对应时间帧下后验概率最大的语音类别;对至少一个时间帧集所对应的后验概率向量进行修正,以获得经修正的语音后验概率;将经修正的语音后验概率输入特征转换模型,以获得特征转换模型输出的目标说话者的声学特征;基于目标说话者的声学特征进行语音合成,以获得目标说话者的目标语音。
示例性地,从语音后验概率中检测概率分布存在问题的至少一个时间帧集包括:
从语音后验概率的所有时间帧中划分出m-k+1个时间窗,其中,m是语音后验概率的所有时间帧的总数目,k是每个时间窗包括的时间帧的数目,第i个时间窗包括语音后验概率的所有时间帧中的第i个时间帧至第i+k-1个时间帧,其中,m为大于0的整数,k为大于0的整数,k<m,i=1,2,……,m-k+1;
针对第i个时间窗,
计算k个预测语音类别中数目最多的关键语音类别在k个预测语音类别中所占的比例,其中,k个预测语音类别与第i个时间窗所包括的k个时间帧一一对应;
在所计算的比例小于比例阈值的情况下,确定第i个时间窗是波动时间窗,否则,确定第i个时间窗是非波动时间窗;
对所有波动时间窗进行分组,以获得至少一个波动时间窗组,其中,每个波动时间窗组包括至少一个波动时间窗且每个波动时间窗组中的任意两个相邻的波动时间窗之间不存在非波动时间窗;
对于至少一个波动时间窗组中的每一个,将该波动时间窗组中第一个波动时间窗中最先出现的非关键语音类别所对应的时间帧作为起点时间帧,并将该波动时间窗组中最后一个波动时间窗中最后出现的非关键语音类别所对应的时间帧作为尾点时间帧,以获得与至少一个波动时间窗组一一对应的至少一个时间帧集,其中,至少一个时间帧集中的每一个包括对应波动时间窗组中的起点时间帧、尾点时间帧以及起点时间帧和尾点时间帧之间的所有时间帧,其中,任一时间窗中的非关键语音类别是该时间窗所对应的k个预测语音类别中的除数目最多的关键语音类别以外的其他预测语音类别。
示例性地,从语音后验概率的所有时间帧中划分出m-k+1个时间窗包括:通过滑动窗技术在语音后验概率的所有时间帧上进行滑动检测,以获得m-k+1个时间窗中的每个时间窗,其中,滑动窗技术采用的滑动窗的大小等于k个时间帧,滑动步长为1个时间帧。
示例性地,对所有波动时间窗进行分组,以获得至少一个波动时间窗组包括:如果两个相邻的波动时间窗之间不存在非波动时间窗,则将这两个波动时间窗分配到同一波动时间窗组,如果两个相邻的波动时间窗之间存在非波动时间窗,则将这两个波动时间窗分配到不同波动时间窗组,以获得至少一个波动时间窗组。
示例性地,对至少一个时间帧集所对应的后验概率向量进行修正,以获得经修正的语音后验概率包括:
对于至少一个时间帧集中的每一个,
从该时间帧集中的所有时间帧所对应的预测语音类别中找出目标语音类别;
用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量,其中,至少一个目标后验概率向量中的每一个是在其中目标语音类别的后验概率最大的后验概率向量,至少一个待修正时间帧包括该时间帧集中的所有异常时间帧,异常时间帧是所对应的预测语音类别不是目标语音类别的时间帧。
示例性地,在从该时间帧集中的所有时间帧所对应的预测语音类别中找出目标语音类别之前,方法还包括:
基于该时间帧集之前的在先时间帧所对应的后验概率向量确定上文语音类别,和/或,基于该时间帧集之后的在后时间帧所对应的后验概率向量确定下文语音类别;
将上文语音类别和/或下文语音类别输入预训练的语言模型,以确定C2个语音类别各自的上下文概率,其中,任一语音类别的上下文概率表示位于上文语音类别和下文语音类别之间的语音类别是该语音类别的概率,C2为大于0的整数;
基于以下公式计算该时间帧集中的所有时间帧所对应的预测语音类别中任一预测语音类别x的预测概率:
P(x)=α1×PC1(x)+α2×PC2(x);
其中,P(x)是预测语音类别x的预测概率,PC1(x)是预测语音类别x在该时间帧集中的所有时间帧所对应的预测语音类别中所占的比例,PC2(x)是预测语音类别x的上下文概率,α1和α2是预设系数;
从该时间帧集中的所有时间帧所对应的预测语音类别中找出目标语音类别包括:
确定该时间帧集中的所有时间帧所对应的预测语音类别中预测概率最大的预测语音类别是目标语音类别。
示例性地,从该时间帧集中的所有时间帧所对应的预测语音类别中找出目标语音类别包括:从该时间帧集中的所有时间帧所对应的预测语音类别中找出数目最多的预测语音类别作为目标语音类别。
示例性地,在用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量之前,方法还包括:
对至少一个待修正时间帧进行分组,以获得至少一个待修正时间帧组,其中,每个待修正时间帧组中的所有待修正时间帧在时间上是连续的;
对于至少一个待修正时间帧组中的任一个,
从语音向量库中搜索与目标语音类别相对应的、持续帧数等于该待修正时间帧组的帧数的向量组,其中,语音向量库用于存储与C3个语音类别一一对应的C3个向量集合,其中,每个向量集合包括与至少一个预设时间帧组一一对应的至少一个向量组,每个向量组包括与对应预设时间帧组中的所有预设时间帧一一对应的后验概率向量,与第j个语音类别相对应的向量集合中的每个后验概率向量中第j个语音类别的后验概率最大,并且同一向量集合所对应的任意两个不同预设时间帧组的持续帧数不同,其中,C3为大于0的整数,j=1,2,……,C3;
基于搜索到的向量组确定目标向量组,其中,至少一个目标后验概率向量包括目标向量组中的所有目标后验概率向量,目标向量组中的目标后验概率向量用于替换该待修正时间帧组所对应的后验概率向量。
示例性地,基于搜索到的向量组确定目标向量组包括:对搜索到的向量组中的后验概率向量分别执行变换操作,以获得变换后的向量组,其中,变换操作为线性变换、对数变换或sigmoid变换;以及确定变换后的向量组为目标向量组。
示例性地,在用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量之前,方法还包括:从该时间帧集中的所有非异常时间帧所对应的后验概率向量中选择其中之一作为第一目标后验概率向量,其中,至少一个目标后验概率向量包括第一目标后验概率向量,第一目标后验概率向量用于替换至少一个待修正时间帧中的至少部分待修正时间帧所对应的后验概率向量,非异常时间帧是所对应的预测语音类别是目标语音类别的时间帧。
示例性地,在用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量之前,方法还包括:从该时间帧集中的所有非异常时间帧所对应的后验概率向量中选择至少部分后验概率向量,其中,非异常时间帧是所对应的预测语音类别是目标语音类别的时间帧;对至少部分后验概率向量的值求平均,以获得第二目标后验概率向量,其中,至少一个目标后验概率向量包括第二目标后验概率向量,第二目标后验概率向量用于替换至少一个待修正时间帧中的至少部分待修正时间帧所对应的后验概率向量。
示例性地,在用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量之前,方法还包括:对于至少一个待修正时间帧中的任一特定待修正时间帧,对前一时间帧所对应的后验概率向量和后一时间帧所对应的后验概率向量求平均,以获得第三目标后验概率向量,其中,前一时间帧是该时间帧集中位于特定待修正时间帧之前且距离特定待修正时间帧最近的非异常时间帧,后一时间帧是该时间帧集中位于特定待修正时间帧之后且距离特定待修正时间帧最近的非异常时间帧,至少一个目标后验概率向量包括第三目标后验概率向量,第三目标后验概率向量用于替换特定待修正时间帧所对应的后验概率向量,非异常时间帧是所对应的预测语音类别是目标语音类别的时间帧。
示例性地,在用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量之前,方法还包括:对于至少一个待修正时间帧中的任一特定待修正时间帧,将特定待修正时间帧所对应的后验概率向量中目标语音类别的后验概率增大至预定值,以获得第四目标后验概率向量,其中,预定值大于特定待修正时间帧所对应的后验概率向量中除目标语音类别以外的所有剩余语音类别的后验概率,至少一个目标后验概率向量包括第四目标后验概率向量,第四目标后验概率向量用于替换特定待修正时间帧所对应的后验概率向量。
示例性地,语音识别模型包括以下一种或多种网络模型:长短期记忆网络模型、卷积神经网络模型、时延神经网络模型、深度神经网络模型;和/或,特征转换模型包括以下一种或多种网络模型:张量到张量网络模型、卷积神经网络模型、序列到序列模型、注意力模型。
示例性地,源说话者的声学特征为梅尔频率倒谱系数特征、感知线性预测特征、滤波器组特征或常Q倒谱系数特征,目标说话者的声学特征为梅尔倒谱特征、线谱对特征、梅尔频率后的线谱对特征、基于梅尔广义倒谱分析的线谱对特征或线性预测编码特征。
根据本发明另一方面,提供一种语音转换装置,包括:获取模块,用于获取源说话者的源语音;提取模块,用于对源语音进行特征提取,以获得源说话者的声学特征;第一输入模块,用于将源说话者的声学特征输入语音识别模型,以获得语音识别模型输出的源说话者的语音后验概率,语音后验概率包括与多个时间帧一一对应的多个后验概率向量,每个后验概率向量包括与C1个语音类别一一对应的C1个元素,每个元素表示在对应时间帧下对应语音类别的后验概率,其中,C1为大于0的整数;检测模块,用于从语音后验概率中检测概率分布存在问题的至少一个时间帧集,每个时间帧集包括多个连续的时间帧,其中,概率分布存在问题的时间帧集是指该时间帧集中的所有时间帧所对应的预测语音类别的一致性不满足预设要求,预测语音类别是对应时间帧下后验概率最大的语音类别;修正模块,用于对至少一个时间帧集所对应的后验概率向量进行修正,以获得经修正的语音后验概率;第二输入模块,用于将经修正的语音后验概率输入特征转换模型,以获得特征转换模型输出的目标说话者的声学特征;合成模块,用于基于目标说话者的声学特征进行语音合成,以获得目标说话者的目标语音。
根据本发明另一方面,还提供一种语音转换系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述语音转换方法。
根据本发明另一方面,还提供一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述语音转换方法。
根据本发明实施例的语音转换方法、装置和系统及存储介质,采用基于PPG的语音转换技术进行语音转换。在获得源说话者的PPG之后,从PPG中检测预测语音类别的一致性不满足预设要求的时间帧集,并对这些时间帧集所对应的后验概率向量进行修正。这种方式可以修正PPG中受噪声影响概率分布异常进而导致所识别的语音内容有误的部分,即可以补偿噪声对语音识别部分带来的影响,这有助于增强最终获得的语音转换结果的区分度,进而有助于提升语音转换的效果。
在发明内容中引入了一系列简化形式的概念,这将在具体实施方式部分中进一步详细说明。本发明内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
以下结合附图,详细说明本发明的优点和特征。
附图说明
本发明的下列附图在此作为本发明的一部分用于理解本发明。附图中示出了本发明的实施方式及其描述,用来解释本发明的原理。在附图中,
图1示出根据本发明一个实施例的语音转换方法的示意性流程图;
图2示出根据本发明一个实施例的语音转换系统的训练和转换阶段的示意性流程图;
图3示出根据本发明一个实施例的语音向量库的构建过程以及基于语音向量库搜索向量组的示意图;
图4示出根据本发明一个实施例的语音转换装置的示意性框图;以及
图5示出根据本发明一个实施例的语音转换系统的示意性框图。
具体实施方式
在下文的描述中,提供了大量的细节以便能够彻底地理解本发明。然而,本领域技术人员可以了解,如下描述仅示例性地示出了本发明的优选实施例,本发明可以无需一个或多个这样的细节而得以实施。此外,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行详细描述。
现有的基于ASR技术的语音转换方案,首先从海量语音训练数据中提取声学特征并从与语音训练数据对应的标注文本中得到对应的音素状态集合,并采用深度学习模型对声学特征和音素状态之间的关系进行建模,训练得到与说话者无关的自动语音识别(SI-ASR)模型。随后,可以利用训练好的SI-ASR模型从目标说话者的语音中提取语音后验概率(PPG)。随后,可以利用深度学习模型对目标说话者的声学特征和PPG之间的对应关系进行建模,训练得到特征转换模型(Feature Converter,FC)。完成所有模型的训练之后,当任何一个源说话者的语音输入时,可以首先通过SI-ASR模型提取该源说话者的PPG,之后通过FC将源说话者的PPG转换得到目标说话者的声学特征,再经过声码器合成出声音。最后获得的目标语音和源语音的内容相同,而音色与目标说话者的音色基本相同。
PPG为与说话人无关的语音后验概率,主要用于表征语音的音频内容。发明人研究发现,对于相对纯净的源语音而言,每一个音素会持续若干帧,且这些帧的最高后验概率值均对应于该音素。当源语音中混杂了较为明显的噪声时,会影响这些帧的概率分布,概率分布异常的帧则会导致最后转换获得的目标语音发音不清晰,含糊不清。
为了至少部分地解决上述技术问题,本发明实施例提供一种语音转换方法、装置和系统及存储介质。根据本发明实施例,通过对语音识别模型识别出的PPG中概率分布存在问题的部分进行修正,从而修正所识别的语音内容,有助于增强最终获得的语音转换结果的区分度,进而有助于提升语音转换的效果。
为方便理解,下文将结合图1-3描述根据本发明实施例的语音转换方法的实现方式。首先,图1示出根据本发明一个实施例的语音转换方法100的示意性流程图。如图1所示,语音转换方法100包括步骤S110-S170。
在步骤S110,获取源说话者的源语音。
在步骤S120,对源语音进行特征提取,以获得源说话者的声学特征。
为进行区分,在本发明中,通过特征提取获得的声学特征可以称为识别声学特征(类似于常规语音识别技术中识别出的声学特征),用于输入声码器中进行语音合成的声学特征可以称为合成声学特征(类似于常规语音合成技术中识别出的声学特征)。
本文所述的特征提取可以采用任何现有的或将来可能出现的特征提取方法实现,该特征提取可以视为语音识别的一部分。示例性地,此处提取出的源说话者的声学特征(或称为源说话者的识别声学特征)可以为梅尔频率倒谱系数特征(MFCC)、感知线性预测特征(PLP)、滤波器组特征(FBank)或常Q倒谱系数特征(CQCC)。
在步骤S130,将源说话者的声学特征输入语音识别模型,以获得语音识别模型输出的源说话者的PPG,PPG包括与多个时间帧一一对应的多个后验概率向量,每个后验概率向量包括与C1个语音类别一一对应的C1个元素,每个元素表示在对应时间帧下对应语音类别的后验概率,其中,C1为大于0的整数。
语音识别模型即上述SI-ASR模型。示例性地,语音识别模型可以包括以下一种或多种网络模型:长短期记忆网络模型(LSTM)、卷积神经网络模型(CNN)、时延神经网络模型(TDNN)、深度神经网络模型(DNN)。
PPG包括与时间范围和语音类别范围相对应的值集合。所述时间范围包括多个时间帧,所述语音类别范围包括多个预设的语音类别,所述值集合中的每个值表示对应的时间帧下对应语音类别的后验概率。具体地,PPG可以是一个时间对类别的矩阵,其表示对于一个话语的每个特定时间帧,每个语音类别的后验概率。语音类别可以指词、音素或音素状态(senone)等。在不同语音话语的语言内容/发音相同的地方,从SI-ASR模型获得的PPG相同。在一些实施例中,从SI-ASR模型获得的PPG可以表示语音数据在说话者归一化空间中的可听清晰度(articulation),并且独立于说话者与语音内容相对应。因此,这些PPG被视为源说话者和目标说话者之间的桥梁。
在对语音数据(例如源语音、目标语音等)进行特征提取之前,可以对语音数据进行预处理。预处理可以包括诸如分帧等。本领域技术人员可以理解语音数据的预处理方法,本文不赘述。通过分帧可以获得多个时间帧下的语音数据片段,对每个时间帧下的语音数据片段进行特征提取,可以获得每个时间帧下的声学特征,该声学特征例如是MFCC特征向量。假设输入语音识别模型的是第t个时间帧的MFCC特征向量,表示为Xt,则语音识别模型可以输出第t个时间帧下的后验概率向量Pt=(p(s|Xt)|s=1,2,......,C1),其中,p(s|Xt)是每个语音类别s的后验概率。PPG可以包括若干时间帧下的后验概率向量。
在步骤S140,从PPG中检测概率分布存在问题的至少一个时间帧集,每个时间帧集包括多个连续的时间帧,其中,概率分布存在问题的时间帧集是指该时间帧集中的所有时间帧所对应的预测语音类别的一致性不满足预设要求,预测语音类别是对应时间帧下后验概率最大的语音类别。
例如,在多个连续的时间帧下,这些时间帧所对应的后验概率向量中最大概率的预测语音类别不是一致的,其存在较大波动,且波动程度超过规定程度,则可以认为这些连续的时间帧组成的时间帧集是存在问题的、需要修正的时间帧集。
在本文的描述中,将主要以语音类别是音素为示例来描述本发明,但这并非对本发明的限制,其他类型的语音类别也是可行的。如上所述,一个音素通常会持续若干帧,例如某音素“w”持续了10帧,因此,这10个时间帧所对应的10个后验概率向量中,音素“w”的后验概率原本应该都是最大的。如果存在噪声,可能导致某些时间帧中“w”以外的其他音素的后验概率成了最大,使得这10个后验概率向量所对应的预测音素不是持续的“w”,而是存在变化、波动。如果检测发现这10个后验概率向量所对应的预测音素的波动程度较大,则可以对这10个后验概率向量进行修正。示例性地而非限制性地,预测语音类别(例如上述预测音素)的一致性是否满足预设要求可以通过预测语音类别中数目最多的关键语音类别(例如关键音素)在这些预测语音类别中所占的比例是否大于预设的比例阈值来判断,这将在下文描述。
在步骤S150,对至少一个时间帧集所对应的后验概率向量进行修正,以获得经修正的PPG。
可选地,对于至少一个时间帧集中的每个时间帧集,可以对该时间帧集(即当前时间帧集)中的至少部分时间帧所对应的后验概率向量进行修正。例如,对于至少一个时间帧集中的每个时间帧集,可以仅对该时间帧集中的异常时间帧所对应的后验概率向量进行修正。又例如,对于至少一个时间帧集中的每个时间帧集,可以该时间帧集中的异常时间帧和至少部分非异常时间帧所对应的后验概率向量进行修正。上述异常时间帧是所对应的预测语音类别不是目标语音类别的时间帧。相反地,非异常时间帧是所对应的预测语音类别是目标语音类别的时间帧。目标语音类别可以是所属时间帧集中的所有时间帧所对应的预测语音类别之一,例如,可以是这些预测语音类别中数目最多的预测语音类别(即关键语音类别)。
修正可以采用多种修正方式,例如从语音向量库中搜索预存储的后验概率向量,以用来替换待修正时间帧所对应的后验概率向量,或者基于非异常时间帧下的后验概率向量计算新的后验概率向量,以用来替换待修正时间帧所对应的后验概率向量。这些修正方式将在下文描述。
示例性地,在经修正的PPG中,所述至少一个时间帧集中的同一时间帧集的所有时间帧所对应的预测语音类别的一致性满足预设要求,例如同一时间帧集的所有时间帧所对应的预测语音类别是一致或基本一致的。修正的目的是将时间帧集所对应的各后验概率向量所指示的最有可能的预测语音类别的波动程度降低,即,使得在同一时间帧集中,各时间帧所对应的后验概率向量所指示的最有可能的预测语音类别基本一致。这样可以补偿噪声带来的影响,使得基于修正后的PPG获得的目标语音的发音能够更清晰、更平滑。
在步骤S160,将经修正的PPG输入特征转换模型,以获得特征转换模型输出的目标说话者的声学特征。
示例性地,特征转换模型可以包括以下一种或多种网络模型:张量到张量网络模型(T2T)、CNN、序列到序列模型(Seq2Seq)、注意力模型(attention)。例如,特征转换模型可以是双向长短期记忆网络模型(DBLSTM)。
示例性地,所述目标说话者的声学特征(或目标说话者的合成声学特征)为MCEP、线谱对特征(LSP)、梅尔频率后的线谱对特征(Mel-LSP)、基于梅尔广义倒谱分析的线谱对特征(MGC-LSP)或线性预测编码特征(LPC)。
在步骤S170,基于目标说话者的声学特征进行语音合成,以获得目标说话者的目标语音。
语音合成可以通过声码器实现,本领域技术人员可以理解其实现方式,此处不赘述。
下面结合图2简单描述本发明涉及的语音转换系统的训练和实际应用方式。图2示出根据本发明一个实施例的语音转换系统的训练和转换阶段的示意性流程图。语音转换系统可以包括语音识别模型、特征转换模型和声码器。基于PPG的模型训练和实际语音转换的整个流程可以划分为三个阶段:第一训练阶段、第二训练阶段和转换阶段。第一训练阶段是语音识别模型的训练阶段,第二训练阶段是特征转换模型的训练阶段,转换阶段指的是模型训练好之后实际进行语音转换时执行的实际转换阶段。
在训练阶段,可以采用样本说话者的语音(称为样本训练语音)和目标说话者的语音(称为目标训练语音)进行模型训练。样本说话者和目标说话者可以是任意说话者,其中,训练模型时涉及的目标说话者与实际语音转换中的目标说话者保持一致,而训练模型时涉及的样本说话者与实际语音转换中的源说话者可以一致,也可以不一致。示例性地,样本说话者的样本训练语音可以来自TIMIT语料库。
参见图2,在第一训练阶段,从样本语音库(例如上述TIMIT语料库)获取样本说话者的样本训练语音以及与样本语音相对应的标注文本,标注文本中标注有样本训练语音所对应的每个语音类别(例如音素状态)。可以对样本说话者的样本训练语音进行特征提取,获得样本说话者的识别声学特征,并且从标注文本中提取语音类别信息。特征提取之后获得的样本说话者的识别声学特征可以为MFCC,但是这仅是示例而非对本发明的限制。随后,可以基于样本说话者的识别声学特征和对应的语音类别信息对语音识别模型net1进行训练,获得训练好的语音识别模型。
参见图2,在第二训练阶段,从目标语音库获取目标说话者的目标训练语音。对目标说话者的目标训练语音进行特征提取,获得目标说话者的声学特征。在第二训练阶段的特征提取步骤中,除提取出目标说话者的合成声学特征之外,还可以提取目标说话者的识别声学特征。在图2所示的实施例中,目标说话者的合成声学特征可以为梅尔倒谱特征(MCEP),目标说话者的识别声学特征可以为MFCC,但是这仅是示例而非对本发明的限制。随后,可以将目标说话者的识别声学特征输入训练好的语音识别模型net1,获得该模型输出的目标说话者的PPG。随后,基于目标说话者的PPG和目标说话者的合成声学特征对特征转换模型net2进行训练,获得训练好的特征转换模型。训练好的特征转换模型可以实现PPG和目标说话者的合成声学特征之间的映射。在图2中,特征转换模型可以为DBLSTM模型,这仅是示例而非对本发明的限制。
声码器可以是预先训练好的,其可以采用类似常规语音合成技术中的声码器来实现。
随后,参见图2,在转换阶段,可以从任意源说话者的源语音中提取源说话者的声学特征。将提取的声学特征输入训练好的语音识别模型,以获得源说话者的PPG。随后,对源说话者的PPG进行修正,获得经修正的PPG。随后,将经修正的PPG输入训练好的特征转换模型,获得目标说话者在转换阶段的合成声学特征,再通过声码器进行语音合成,获得所需的目标语音。
示例性地,在转换阶段中,还可以进行附加参数的提取,例如提取出源语音的基频信息F0以及非周期分量AP。此外,可以对F0进行线性转换。在声码器中进行语音合成时,可以将附加参数加入。例如,可以将目标说话者的声学特征与转换的F0以及AP一起输入声码器以合成目标语音。
根据本发明实施例的语音转换方法,采用基于PPG的语音转换技术进行语音转换。在获得源说话者的PPG之后,从PPG中检测预测语音类别的一致性不满足预设要求的时间帧集,并对这些时间帧集所对应的后验概率向量进行修正。这种方式可以修正PPG中受噪声影响概率分布异常进而导致所识别的语音内容有误的部分,即可以补偿噪声对语音识别部分带来的影响,这有助于增强最终获得的语音转换结果的区分度,进而有助于提升语音转换的效果。
根据本发明实施例,从PPG中检测概率分布存在问题的至少一个时间帧集(步骤S140)可以包括:
从PPG的所有时间帧中划分出m-k+1个时间窗,其中,m是PPG的所有时间帧的总数目,k是每个时间窗包括的时间帧的数目,第i个时间窗包括PPG的所有时间帧中的第i个时间帧至第i+k-1个时间帧,其中,m为大于0的整数,k为大于0的整数,k<m,i=1,2,……,m-k+1;
针对第i个时间窗,
计算k个预测语音类别中数目最多的关键语音类别在k个预测语音类别中所占的比例,其中,k个预测语音类别与第i个时间窗所包括的k个时间帧一一对应;
在所计算的比例小于比例阈值的情况下,确定第i个时间窗是波动时间窗,否则,确定第i个时间窗是非波动时间窗;
对所有波动时间窗进行分组,以获得至少一个波动时间窗组,其中,每个波动时间窗组包括至少一个波动时间窗且每个波动时间窗组中的任意两个相邻的波动时间窗之间不存在非波动时间窗;
对于至少一个波动时间窗组中的每一个,将该波动时间窗组中第一个波动时间窗中最先出现的非关键语音类别所对应的时间帧作为起点时间帧,并将该波动时间窗组(即当前波动时间窗组)中最后一个波动时间窗中最后出现的非关键语音类别所对应的时间帧作为尾点时间帧,以获得与至少一个波动时间窗组一一对应的至少一个时间帧集,其中,至少一个时间帧集中的每一个包括对应波动时间窗组中的起点时间帧、尾点时间帧以及起点时间帧和尾点时间帧之间的所有时间帧,其中,任一时间窗中的非关键语音类别是该时间窗所对应的k个预测语音类别中的除数目最多的关键语音类别以外的其他预测语音类别。
上述技术方案是可选的。例如,对于至少一个波动时间窗组中的每一个,可以直接将该波动时间窗组中的第一个时间帧作为起点时间帧,并将该波动时间窗组中的最后一个时间帧作为尾点时间帧,以获得与该波动时间窗组对应的时间帧集。在这种情况下,至少一个时间帧集中的每一个同样包括对应波动时间窗组中的起点时间帧、尾点时间帧以及起点时间帧和尾点时间帧之间的所有时间帧。
为了检测是否存在需要修正的时间帧,可以以具有一定长度的时间窗为单位进行检测。时间窗的长度可以根据需要设定。例如,在语音类别是音素的情况下,时间窗的长度可以是音素的平均持续时长,例如10个时间帧等。
可选地,时间窗可以采用滑动窗技术获得。例如,从PPG的所有时间帧中划分出m-k+1个时间窗可以包括:通过滑动窗技术在PPG的所有时间帧上进行滑动检测,以获得m-k+1个时间窗中的每个时间窗,其中,滑动窗技术采用的滑动窗的大小等于k个时间帧,滑动步长为1个时间帧。滑动窗技术是比较简单快速的划分方式,这种方式便于边滑动边执行后续处理(例如下述波动分析等)。
可以理解,相邻时间窗是存在重叠部分的。假设,PPG共对应于100个时间帧,时间窗长度为10个时间帧,则可以划分出91个时间窗,其中,第1个时间窗包括第1-10帧,第2个时间窗包括第2-11帧,第3个时间窗包括第3-12帧……第91个时间窗包括第91-100帧。
关键语音类别是指k个预测语音类别中数目最多的预测语音类别,每个预测语音类别是在对应时间帧下后验概率最大的语音类别。例如,假设对于第3个时间窗中的10个时间帧,它们所对应的10个后验概率向量中最大后验概率分别属于音素“a”、“a”、“b”、“b”、“a”、“c”、“a”、“a”、“b”、“a”。在上述示例中,该时间窗中音素“a”出现次数最多,其为该时间窗中的关键音素(即关键语音类别),其他出现的音素“b”、“c”为该时间窗中的非关键音素(即非关键语音类别)。计算第3个时间窗中音素“a”出现的比例,为60%,将该比例与比例阈值相比较。比例阈值可以是任何合适的值,其可以根据需要设定,本发明不进行限定。
假设比例阈值是80%,则第3个时间窗中音素“a”出现的比例小于比例阈值,此时可以认为第3个时间窗的波动过大,该第3个时间窗为波动时间窗,需要修正。反之,假设比例阈值是50%,则第3个时间窗中音素“a”出现的比例大于比例阈值,此时可以认为第3个时间窗的波动不大,该第3个时间窗为非波动时间窗,无需修正。
对划分出的所有m-k+1个时间窗,均可以执行上述波动分析,以判断每个时间窗是波动时间窗还是非波动时间窗。对于波动时间窗,可以进行分组,便于以组为单位进行修正。需注意,上述波动分析以及时间窗的分组可以按照前后顺序执行,也可以同时执行。例如,可以对所有m-k+1个时间窗全部进行波动分析之后,再对所确定的所有波动时间窗进行分组。又例如,还可以对m-k+1个时间窗按照时间顺序逐一进行波动分析,同时每次对当前时间窗进行波动分析之后,根据该当前时间窗的波动分析结果将当前时间窗分到对应的组。上述对m-k+1个时间窗按照时间顺序逐一进行波动分析可以结合上述滑动窗技术实现,即采用滑动窗技术获得每个当前时间窗,并在获得当前时间窗之后进行波动分析。
对波动时间窗进行分组可以有多种实现方式,下面简单介绍。
在一个示例中,对所有波动时间窗进行分组,以获得至少一个波动时间窗组可以包括:如果两个相邻的波动时间窗之间不存在非波动时间窗,则将这两个波动时间窗分配到同一波动时间窗组,如果两个相邻的波动时间窗之间存在非波动时间窗,则将这两个波动时间窗分配到不同波动时间窗组,以获得至少一个波动时间窗组。
通过这种方式,连续的波动时间窗将被分到同一波动时间窗组,一旦中断之后,后续的波动时间窗将被分到另一波动时间窗组。例如,假设在上述91个时间窗中,第1和第2个时间窗均是非波动时间窗,则不进行分组,从第3个时间窗开始,出现波动时间窗,直到第6个时间窗才又变成了非波动时间窗,则可以将第3-5个时间窗划分到一个波动时间窗组。
上述波动时间窗组的分组方式仅是示例,分组可以有其他方式。示例性地,在分组时还可以考虑时间窗组的长度。例如,在分组时,保证波动时间窗组所包括的时间窗的数目不超过预设阈值。在一个示例中,对所有波动时间窗进行分组,以获得至少一个波动时间窗组可以包括:如果当前波动时间窗与前一波动时间窗之间不存在非波动时间窗且前一波动时间窗所属的波动时间窗组所包括的时间窗的数目小于预设阈值,则将当前波动时间窗分配到与前一波动时间窗相同的波动时间窗组;如果当前波动时间窗与前一波动时间窗之间不存在非波动时间窗且前一波动时间窗所属的波动时间窗组所包括的时间窗的数目不小于预设阈值,则将当前波动时间窗分配到与前一波动时间窗不同的波动时间窗组;如果两个相邻的波动时间窗之间存在非波动时间窗,则将这两个波动时间窗分配到不同波动时间窗组。
分组之后,可以针对每个波动时间窗组进行起点和尾点的确定操作,以确定每个波动时间窗组中的需要修正的时间帧是哪些,每个波动时间窗组中需要修正的时间帧组成一个时间帧集,最终可以获得本文所述的至少一个时间帧集。
例如,假设第3-5个时间窗属于一个波动时间窗组,对于第3个时间窗来说,其包括的10个时间帧中,第1-4个时间帧所对应的预测语音类别都是第3个时间窗的关键音素“a”,直至第5个时间帧,才首次出现非关键音素“b”,则可以将第3个时间窗的第5个时间帧作为起点时间帧。此外,还假设对于第5个时间窗来说,其包括的10个时间帧中,第9-10个时间帧所对应的预测语音类别都是第5个时间窗的关键音素“a”,第8个时间帧是最后一次出现非关键音素“c”,则可以将第5个时间窗的第8个时间帧作为尾点时间帧。任一时间窗组的起点时间帧、尾点时间帧再加上起点时间帧和尾点时间帧之间的时间帧组成一个时间帧集,即后续需要修正的时间帧集。
分组获得的每个波动时间窗组可以包括至少一个波动时间窗,即可以包括一个或多个波动时间窗。在任一波动时间窗组包括一个波动时间窗的情况下,该波动时间窗组中的起点时间帧和尾点时间帧可以均从这一时间窗中获得。
根据本发明实施例,对至少一个时间帧集所对应的后验概率向量进行修正,以获得经修正的PPG(步骤S150)可以包括:
对于至少一个时间帧集中的每一个,
从该时间帧集中的所有时间帧所对应的预测语音类别中找出目标语音类别;
用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量,其中,至少一个目标后验概率向量中的每一个是在其中目标语音类别的后验概率最大的后验概率向量,至少一个待修正时间帧包括该时间帧集中的所有异常时间帧,异常时间帧是所对应的预测语音类别不是目标语音类别的时间帧。
对于任一时间帧集来说,其对应的至少一个目标后验概率向量的数目与其对应的至少一个待修正时间帧的数目可以相同或不同。例如,可以采用同一目标后验概率向量替换多个待修正时间帧所对应的后验概率向量。
对于任一时间帧集来说,可以从其预测出的所有预测语音类别中找出目标语音类别,该目标语音类别可以是该时间帧集所对应的所有预测语音类别中的关键语音类别,也可以是该时间帧集所对应的所有预测语音类别中除关键语音类别以外的语音类别。所述关键语音类别是指该时间帧集所对应的所有预测语音类别中数目最多的预测语音类别。
可选地,对于任一时间帧集来说,其所对应的至少一个待修正时间帧可以包括该时间帧集中的所有异常时间帧。可以仅对所有异常时间帧所对应的后验概率向量进行替换,这种方式数据处理量比较小。
可选地,对于任一时间帧集来说,其所对应的至少一个待修正时间帧可以包括该时间帧集中的所有异常时间帧以及至少部分非异常时间帧。除异常时间帧以外,还可以选择对异常时间帧前后的某些非异常时间帧所对应的后验概率向量进行替换,这种方式替换获得的PPG所指示的语音类别识别结果更平滑,有利于进一步提升转换后的目标语音的发音效果。
可选地,对于任一时间帧集来说,可以直接将该时间帧集中的关键语音类别作为目标语音类别进行修正。可选地,还可以进一步结合上下文信息确定目标语音类别并进行修正。下面分别介绍这两种实现方案。
示例性地,从该时间帧集中的所有时间帧所对应的预测语音类别中找出目标语音类别可以包括:从该时间帧集中的所有时间帧所对应的预测语音类别中找出数目最多的预测语音类别作为目标语音类别。
如上所述,任一时间帧集中的所有时间帧所对应的预测语音类别中的数目最多的预测语音类别即为该时间帧集中的关键语音类别,可以直接将该关键语音类别作为目标语音类别。例如,沿用上述示例,假设第3个时间窗的第5个时间帧为起点时间帧,第5个时间窗的第8个时间帧为尾点时间帧,获得一个包含24个时间帧的时间帧集。假设在这24个时间帧中,音素“a”数目最多,则该音素“a”为该时间帧集中的关键音素,并可以将该关键音素“a”直接作为目标音素(即目标语音类别)。随后,通过替换操作,将24个时间帧中,预测音素不是“a”的时间帧下的后验概率向量替换为最大后验概率所对应的音素为“a”的后验概率向量。
这种目标语音类别的确定方式比较简单,处理速度快。
根据本发明实施例,在从该时间帧集中的所有时间帧所对应的预测语音类别中找出目标语音类别之前,方法100还可以包括:
基于该时间帧集之前的在先时间帧所对应的后验概率向量确定上文语音类别,和/或,基于该时间帧集之后的在后时间帧所对应的后验概率向量确定下文语音类别;
将上文语音类别和/或下文语音类别输入预训练的语言模型,以确定C2个语音类别各自的上下文概率,其中,任一语音类别的上下文概率表示位于上文语音类别和下文语音类别之间的语音类别是该语音类别的概率,C2为大于0的整数;
基于以下公式计算该时间帧集中的所有时间帧所对应的预测语音类别中任一预测语音类别x的预测概率:
P(x)=α1×PC1(x)+α2×PC2(x) 公式(1);
其中,P(x)是预测语音类别x的预测概率,PC1(x)是预测语音类别x在该时间帧集中的所有时间帧所对应的预测语音类别中所占的比例,PC2(x)是预测语音类别x的上下文概率,α1和α2是预设系数;
从该时间帧集中的所有时间帧所对应的预测语音类别中找出目标语音类别包括:
确定该时间帧集中的所有时间帧所对应的预测语音类别中预测概率最大的预测语音类别是目标语音类别。
对于任一时间帧集来说,该时间帧集之前的在先时间帧的数目可以是一个或多个,即可以根据一个或多个在先时间帧确定该时间帧集的上文语音类别,例如上文音素。该时间帧集之后的在后时间帧的数目也可以是一个或多个,即可以根据一个或多个在后时间帧确定该时间帧集的下文语音类别,例如下文音素。在边滑动边检测波动时间窗进而检测时间帧集并进行修正的方案中,可以仅基于上文语音类别确定当前时间帧集所对应的C2个语音类别各自的上下文概率。在确定所有波动时间窗并进而确定各时间帧集之后再对所有时间帧集分别进行修正的方案中,可以基于上文语音类别和/或下文语音类别确定当前时间帧集所对应的C2个语音类别各自的上下文概率。
预训练的语言模型可以是诸如隐马尔科夫(HMM)模型等。将上文语音类别和/或下文语音类别输入该预训练的语言模型,可以获得C2个语音类别各自的上下文概率。可以理解,在源语音的不同位置上,即对不同的时间帧集来说,存在不同的上文语言类别和/或下文语音类别,这可能使得获得的C2个语音类别发生变化,即C2个语音类别并非固定的,而是随着时间帧集变化的。
由于C2是随当前时间帧集在源语音中的位置变化的,因此C1和C2可能相等或不等。此外,C1个语音类别与C2个语音类别也可以相同或不同。如果C1个语音类别中的某一语音类别在C2个语音类别中没有出现,则可以将该语音类别的上下文概率PC2(x)取为0。
例如,假设源语言的内容是“你好”,对应的音素串是“n-i-h-ao”。假设在音素“i”位置处存在较大波动,使得获得与之对应的待修正的时间帧集。然而,在该时间帧集中,数目最多的预测音素是“a”,数目第二多的预测音素才是“i”。同时发现上文音素和下文音素分别为“n”、“h”。通过语言模型预测发现,“n”、“h”之间为“i”比为“a”的概率更大,并通过基于公式(1)分别计算“i”和“a”的预测概率,发现最终“i”的预测概率更大,因此将音素“i”而非“a”确定为目标音素。这样就可以将该时间帧集中,预测音素不是“i”的时间帧下的后验概率向量替换为最大后验概率所对应的音素为“i”的后验概率向量,使得该时间帧集最终发音为平稳的“i”。
由上述示例可以发现,与单纯将数目最多的关键语言类别直接确定为目标语言类别相比,结合上下文语言类别的信息来确定目标语言类别的方案可以有效提升修正后的PPG所指示的语音内容的正确度,有利于获得更准确的语言转换结果。
根据本发明实施例,在用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量之前,方法100还可以包括:
对至少一个待修正时间帧进行分组,以获得至少一个待修正时间帧组,其中,每个待修正时间帧组中的所有待修正时间帧在时间上是连续的;
对于至少一个待修正时间帧组中的任一个,
从语音向量库中搜索与目标语音类别相对应的、持续帧数等于该待修正时间帧组的帧数的向量组,其中,语音向量库用于存储与C3个语音类别一一对应的C3个向量集合,其中,每个向量集合包括与至少一个预设时间帧组一一对应的至少一个向量组,每个向量组包括与对应预设时间帧组中的所有预设时间帧一一对应的后验概率向量,与第j个语音类别相对应的向量集合中的每个后验概率向量中第j个语音类别的后验概率最大,并且同一向量集合所对应的任意两个不同预设时间帧组的持续帧数不同,其中,C3为大于0的整数,j=1,2,……,C3;
基于搜索到的向量组确定目标向量组,其中,至少一个目标后验概率向量包括目标向量组中的所有目标后验概率向量,目标向量组中的目标后验概率向量用于替换该待修正时间帧组所对应的后验概率向量。
每个待修正时间帧组中的所有待修正时间帧在时间上是连续的,也就是说,每个待修正时间帧组中的任意两个待修正时间帧之间不存在其他非待修正时间帧,非待修正时间帧即正常的无需修正的时间帧。
待修正时间帧的分组方式可以参考上述时间窗组的分组方式。例如,如果两个相邻的待修正时间帧之间不存在非待修正时间帧,则将这两个待修正时间帧分配到同一待修正时间帧组,如果两个相邻的待修正时间帧之间存在非待修正时间帧,则将这两个待修正时间帧分配到不同待修正时间帧组,以获得至少一个待修正时间帧组。
语音向量库可以是预先训练获得的。例如,可以获取一个或多个样本说话者的训练语音,可以从训练语音中提取每个语音类别(例如每个音素)所对应的语音片段。训练语音可以共包括C3个语音类别所对应的语音片段,使得提取出的语音片段包括与C3个语音类别一一对应的语音片段。此外,C3个语音类别中的每个语音类别所对应的语音片段可以包括至少一个语音片段,其中,任意两个语音片段的持续帧数是不同的,并且每组语音片段可以包括至少一个具有对应持续帧数的语音片段。可以将从训练语音中提取出的所有语音片段分别输入上述语音识别模型,获得与所有语音片段一一对应的向量组。由于同一语音类别具有不同持续帧数的语音片段,因此针对该语音类别可以获得具有不同持续帧数的向量组。
图3示出根据本发明一个实施例的语音向量库的构建过程以及基于语音向量库搜索向量组的示意图。
如图3所示,可以首先从训练语音库中提取每个音素的语音片段,进而获得与音素1、音素2……音素N各自对应的语音片段,即音素1集合、音素2集合……音素N集合,N等于C3。每个音素集合包括持续帧数不同的至少一组语音片段。随后,将每个语音片段分别输入语音识别模型net1中进行处理,获得与每个语音片段对应的向量组。可以理解,一个语音片段持续多少帧,则对应的向量组包括多少个后验概率向量。如果同一语音类别的同一组语音片段包括两个或更多语音片段,由于这些语音片段持续帧数相同,可以获得两个或更多具有同一持续帧数的向量组,此时,可以选择对这两个或更多具有同一持续帧数的向量组进行综合计算,例如求平均等,计算获得这一语音类别下,这一持续帧数下的一个向量组,并存储到语音向量库中。
例如,音素1是音素“a”,其各个向量组可以分别用a_0001,a_0002,a_0003,a_0004,a_0005....表示,其中,后缀可以代表该音素的持续帧数。其他音素同理,不再赘述。不同音素所对应的向量组的数目可以相同或不同。如图3所示,对于每个待修正时间帧组,可以基于其所对应的目标音素和该待修正时间帧组的帧数搜索匹配的向量组。随后,可选地,可以对搜索到的向量组进行变换,获得目标向量组。或者,可以直接将搜索到的向量组作为目标向量组。
可选地,C1和C3可以相等或不等,C1个语音类别与C3个语音类别可以相同或不同。比较可取的,C3个语音类别包括C1个语音类别。如果C1个语音类别中的某些语音类别不属于C3个语音类别且目标语音类别是这些不属于C3个语音类别的语音类别之一,则在语音向量库中可能无法搜索到与目标语音类别相对应的向量组,此时,可以选择采用其他方式修正待修正时间帧下的后验概率向量,所述其他方式可以是下文描述的修正方式之一。
假设在一个时间帧集中,共包括30个时间帧,其中第1-5帧的预测音素是“b”,第6-15帧的预测音素是“a”,第16-20帧的预测音素是“c”,第21-27帧的预测音素是“a”,第28-30帧的预测音素是“b”。统计可知,音素“a”出现次数最多,为17次,其次是音素“b”,出现8次,最后是音素“c”,出现5次。假设音素“a”是目标音素,即需要将预测音素为“b”和“c”的时间帧下的后验概率向量替换为其中音素“a”的后验概率最大的后验概率向量。
在一个示例中,可以仅替换预测音素为“b”和“c”的时间帧下的后验概率向量,此时可以将第1-5帧分为第1个待修正时间帧组,将第16-20帧分为第2个待修正时间帧组,将第28-30帧分为第3个待修正时间帧组。可以从音素向量库中找出音素“a”的持续帧数为5帧的向量组,并用该向量组中的5个后验概率向量替换第1个待修正时间帧组中的5个时间帧下的后验概率向量,并且还可以用该向量组中的5个后验概率向量替换第2个待修正时间帧组中的5个时间帧下的后验概率向量。此外,还可以从音素向量库中找出音素“a”的持续帧数为3帧的向量组,并用该向量组中的3个后验概率向量替换第3个待修正时间帧组中的3个时间帧下的后验概率向量。
在另一个示例中,除替换预测音素为“b”和“c”的时间帧下的后验概率向量以外,还可以连同部分预测音素为“a”的时间帧下的后验概率向量一起替换。例如,可以将整个时间帧集中的30个时间帧均替换为其中目标音素“a”的后验概率最大的后验概率向量。可选地,此时可以将这30个时间帧分为一个待修正时间帧组,从音素向量库中找出音素“a”的持续帧数为30帧的向量组,并用该向量组中的30个后验概率向量替换该待修正时间帧组中的30个时间帧下的后验概率向量。
语音向量库中的后验概率向量是事先做好的后验概率向量模板,为此,利用语音向量库中的后验概率向量修正概率分布异常的帧所对应的后验概率向量,在理论上可以有效提升语音内容的准确度和区分度,进而提升转换后的效果。
根据本发明实施例,基于搜索到的向量组确定目标向量组可以包括:对搜索到的向量组中的后验概率向量分别执行变换操作,以获得变换后的向量组,其中,变换操作为线性变换、对数变换或sigmoid变换;以及确定变换后的向量组为目标向量组。
变换操作的目的是为了使从语音向量库中搜索出的后验概率向量能够与实际语音转换过程中生成的后验概率向量相匹配。因为语音向量库中存储的后验概率向量是预先生成的,其概率的分布范围是固定的。但是实际的源语音情况复杂,可能多种多样,导致生成的PPG中的概率分布范围大小不一。如果语音向量库中搜索获得的后验概率向量与基于源语音生成的后验概率向量的概率分布范围相差较大,会导致修正后的PPG中,经修正的部分音素所对应的后验概率向量与未经修正的部分音素所对应的后验概率向量不匹配、不协调,导致最后转换获得的目标语音发音突兀,影响其发音效果。
通过变换操作可以解决上述问题,使得最后转换获得的目标语音发音更平滑,发音效果更好。
对搜索到的向量组中的后验概率向量分别执行变换操作,是指对搜索到的向量组中的每个后验概率向量均执行变换操作,任一后验概率向量经变换后即为目标后验概率向量,搜索到的向量组中的所有后验概率向量变换之后获得所有对应的目标后验概率向量,这些目标后验概率向量组成目标向量组。
上述变换仅是示例而非对本发明的限制,例如,可以直接将搜索到的向量组作为目标向量组,并执行后续的替换操作。
根据本发明实施例,在用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量之前,方法100还可以包括:从该时间帧集中的所有非异常时间帧所对应的后验概率向量中选择其中之一作为第一目标后验概率向量,其中,至少一个目标后验概率向量包括第一目标后验概率向量,第一目标后验概率向量用于替换至少一个待修正时间帧中的至少部分待修正时间帧所对应的后验概率向量,非异常时间帧是所对应的预测语音类别是目标语音类别的时间帧。
沿用上述示例,假设在一个时间帧集中,共包括30个时间帧,其中第1-5帧的预测音素是“b”,第6-15帧的预测音素是“a”,第16-20帧的预测音素是“c”,第21-27帧的预测音素是“a”,第28-30帧的预测音素是“b”。根据异常时间帧和非异常时间帧的定义可知,第6-15、21-27帧是非异常时间帧。可选地,可以从第6-15、21-27帧中选择其中某一帧,并将该时间帧所对应的后验概率向量作为第一目标后验概率向量。可以用该第一目标后验概率向量替换第1-5、16-20、28-30帧中的至少部分时间帧所对应的后验概率向量。
这种直接选择某一非异常时间帧的后验概率向量并用该后验概率向量对待修正时间帧所对应的后验概率向量进行替换的修正方式,所需的计算量比较小,有利于提高语音转换速度。
根据本发明实施例,在用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量之前,方法100还可以包括:从该时间帧集中的所有非异常时间帧所对应的后验概率向量中选择至少部分后验概率向量,其中,非异常时间帧是所对应的预测语音类别是目标语音类别的时间帧;对至少部分后验概率向量的值求平均,以获得第二目标后验概率向量,其中,至少一个目标后验概率向量包括第二目标后验概率向量,第二目标后验概率向量用于替换至少一个待修正时间帧中的至少部分待修正时间帧所对应的后验概率向量。
沿用上述示例,假设在一个时间帧集中,共包括30个时间帧,其中第1-5帧的预测音素是“b”,第6-15帧的预测音素是“a”,第16-20帧的预测音素是“c”,第21-27帧的预测音素是“a”,第28-30帧的预测音素是“b”。可以对非异常时间帧第6-15、21-27帧所对应的17个后验概率向量的值求平均,获得第二目标后验概率向量。随后,可以用该第二目标后验概率向量替换第1-5、16-20、28-30帧中的至少部分时间帧所对应的后验概率向量。
根据本发明实施例,在用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量之前,方法100还可以包括:对于至少一个待修正时间帧中的任一特定待修正时间帧,对前一时间帧所对应的后验概率向量和后一时间帧所对应的后验概率向量求平均,以获得第三目标后验概率向量,其中,前一时间帧是该时间帧集中位于特定待修正时间帧之前且距离特定待修正时间帧最近的非异常时间帧,后一时间帧是该时间帧集中位于特定待修正时间帧之后且距离特定待修正时间帧最近的非异常时间帧,至少一个目标后验概率向量包括第三目标后验概率向量,第三目标后验概率向量用于替换特定待修正时间帧所对应的后验概率向量,非异常时间帧是所对应的预测语音类别是目标语音类别的时间帧。
沿用上述示例,假设在一个时间帧集中,共包括30个时间帧,其中第1-5帧的预测音素是“b”,第6-15帧的预测音素是“a”,第16-20帧的预测音素是“c”,第21-27帧的预测音素是“a”,第28-30帧的预测音素是“b”。对于异常时间帧第1-5帧来说,不存在前一时间帧,但是存在后一时间帧,因此可以将非异常时间帧第6帧所对应的后验概率向量的值作为第三目标后验概率向量。随后,可以用该第三目标后验概率向量替换第1-5帧所对应的后验概率向量。对于异常时间帧第16-20帧来说,前一时间帧是第15帧,后一时间帧是第21帧,可以对第15帧和21帧所对应的后验概率向量的值求平均,获得第三目标后验概率向量,并用该第三目标后验概率向量替换第16-20帧所对应的后验概率向量。对于异常时间帧第28-30帧来说,存在前一时间帧,但是不存在后一时间帧,因此可以将非异常时间帧第27帧所对应的后验概率向量的值作为第三目标后验概率向量,并用该第三目标后验概率向量替换第28-30帧所对应的后验概率向量。
根据本发明实施例,在用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量之前,方法100还可以包括:对于至少一个待修正时间帧中的任一特定待修正时间帧,将特定待修正时间帧所对应的后验概率向量中目标语音类别的后验概率增大至预定值,以获得第四目标后验概率向量,其中,预定值大于特定待修正时间帧所对应的后验概率向量中除目标语音类别以外的所有剩余语音类别的后验概率,至少一个目标后验概率向量包括第四目标后验概率向量,第四目标后验概率向量用于替换特定待修正时间帧所对应的后验概率向量。
沿用上述示例,假设在一个时间帧集中,共包括30个时间帧,其中第1-5帧的预测音素是“b”,第6-15帧的预测音素是“a”,第16-20帧的预测音素是“c”,第21-27帧的预测音素是“a”,第28-30帧的预测音素是“b”。对于任一异常时间帧(例如第1帧)来说,可以直接将其中音素“a”的后验概率增大,直至超过原始的预测音素(例如第1帧的音素“b”)的后验概率,使得在修改后的后验概率向量中,音素“a”的后验概率变为了最大。这种直接将目标语音类别的后验概率增大的方式比较简单易行。
根据本发明另一方面,提供一种语音转换装置。图4示出了根据本发明一个实施例的语音转换装置400的示意性框图。
如图4所示,根据本发明实施例的语音转换装置400包括获取模块410、提取模块420、第一输入模块430、检测模块440、修正模块450、第二输入模块460和合成模块470。所述各个模块可分别执行上文中结合图1描述的语音转换方法100的各个步骤/功能。以下仅对该语音转换装置400的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
获取模块410用于获取源说话者的源语音。
提取模块420用于对源语音进行特征提取,以获得源说话者的声学特征。
第一输入模块430用于将源说话者的声学特征输入语音识别模型,以获得语音识别模型输出的源说话者的语音后验概率,语音后验概率包括与多个时间帧一一对应的多个后验概率向量,每个后验概率向量包括与C1个语音类别一一对应的C1个元素,每个元素表示在对应时间帧下对应语音类别的后验概率,其中,C1为大于0的整数。
检测模块440用于从语音后验概率中检测概率分布存在问题的至少一个时间帧集,每个时间帧集包括多个连续的时间帧,其中,概率分布存在问题的时间帧集是指该时间帧集中的所有时间帧所对应的预测语音类别的一致性不满足预设要求,预测语音类别是对应时间帧下后验概率最大的语音类别。
修正模块450用于对至少一个时间帧集所对应的后验概率向量进行修正,以获得经修正的语音后验概率。
第二输入模块460用于将经修正的语音后验概率输入特征转换模型,以获得特征转换模型输出的目标说话者的声学特征。
合成模块470用于基于目标说话者的声学特征进行语音合成,以获得目标说话者的目标语音。
根据本发明另一方面,提供一种语音转换系统。图5示出了根据本发明一个实施例的语音转换系统500的示意性框图。语音转换系统500包括处理器510和存储器520。
所述存储器520存储用于实现根据本发明实施例的语音转换方法100中的相应步骤的计算机程序指令。
所述处理器510用于运行所述存储器520中存储的计算机程序指令,以执行根据本发明实施例的语音转换方法100的相应步骤。
根据本发明另一方面,提供一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的语音转换方法100的相应步骤,并且用于实现根据本发明实施例的语音转换装置400中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的模型训练或语音转换系统中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
Claims (17)
1.一种语音转换方法,包括:
获取源说话者的源语音;
对所述源语音进行特征提取,以获得所述源说话者的声学特征;
将所述源说话者的声学特征输入语音识别模型,以获得所述语音识别模型输出的所述源说话者的语音后验概率,所述语音后验概率包括与多个时间帧一一对应的多个后验概率向量,每个后验概率向量包括与C 1个语音类别一一对应的C 1个元素,每个元素表示在对应时间帧下对应语音类别的后验概率,其中,C 1为大于0的整数;
从所述语音后验概率中检测概率分布存在问题的至少一个时间帧集,每个时间帧集包括多个连续的时间帧,其中,概率分布存在问题的时间帧集是指该时间帧集中的所有时间帧所对应的预测语音类别的一致性不满足预设要求,所述预设要求包括所述预测语音类别中数目最多的关键语音类别在所述预测语音类别中所占的比例大于预设的比例阈值,所述预测语音类别是对应时间帧下后验概率最大的语音类别;
对所述至少一个时间帧集所对应的后验概率向量进行修正,以获得经修正的语音后验概率;
将所述经修正的语音后验概率输入特征转换模型,以获得所述特征转换模型输出的目标说话者的声学特征;
基于所述目标说话者的声学特征进行语音合成,以获得所述目标说话者的目标语音;
其中,所述对所述至少一个时间帧集所对应的后验概率向量进行修正,以获得经修正的语音后验概率包括:
对于所述至少一个时间帧集中的每一个,
从该时间帧集中的所有时间帧所对应的预测语音类别中找出目标语音类别;
用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量,其中,所述至少一个目标后验概率向量中的每一个是在其中所述目标语音类别的后验概率最大的后验概率向量,所述至少一个待修正时间帧包括该时间帧集中的所有异常时间帧,所述异常时间帧是所对应的预测语音类别不是所述目标语音类别的时间帧。
2.根据权利要求1所述的语音转换方法,其中,所述从所述语音后验概率中检测概率分布存在问题的至少一个时间帧集包括:
从所述语音后验概率的所有时间帧中划分出m-k+1个时间窗,其中,m是所述语音后验概率的所有时间帧的总数目,k是每个时间窗包括的时间帧的数目,第i个时间窗包括所述语音后验概率的所有时间帧中的第i个时间帧至第i+k-1个时间帧,其中,m为大于0的整数,k为大于0的整数,k < m,i = 1, 2, ……, m-k+1;
针对第i个时间窗,
计算k个预测语音类别中数目最多的关键语音类别在所述k个预测语音类别中所占的比例,其中,所述k个预测语音类别与所述第i个时间窗所包括的k个时间帧一一对应;
在所计算的比例小于所述比例阈值的情况下,确定所述第i个时间窗是波动时间窗,否则,确定所述第i个时间窗是非波动时间窗;
对所有波动时间窗进行分组,以获得至少一个波动时间窗组,其中,每个波动时间窗组包括至少一个波动时间窗且每个波动时间窗组中的任意两个相邻的波动时间窗之间不存在非波动时间窗;
对于所述至少一个波动时间窗组中的每一个,将该波动时间窗组中第一个波动时间窗中最先出现的非关键语音类别所对应的时间帧作为起点时间帧,并将该波动时间窗组中最后一个波动时间窗中最后出现的非关键语音类别所对应的时间帧作为尾点时间帧,以获得与所述至少一个波动时间窗组一一对应的所述至少一个时间帧集,其中,所述至少一个时间帧集中的每一个包括对应波动时间窗组中的起点时间帧、尾点时间帧以及起点时间帧和尾点时间帧之间的所有时间帧,其中,任一时间窗中的非关键语音类别是该时间窗所对应的k个预测语音类别中的除数目最多的关键语音类别以外的其他预测语音类别。
3.根据权利要求2所述的语音转换方法,其中,所述从所述语音后验概率的所有时间帧中划分出m-k+1个时间窗包括:
通过滑动窗技术在所述语音后验概率的所有时间帧上进行滑动检测,以获得所述m-k+1个时间窗中的每个时间窗,其中,所述滑动窗技术采用的滑动窗的大小等于k个时间帧,滑动步长为1个时间帧。
4.根据权利要求2所述的语音转换方法,其中,所述对所有波动时间窗进行分组,以获得至少一个波动时间窗组包括:
如果两个相邻的波动时间窗之间不存在非波动时间窗,则将这两个波动时间窗分配到同一波动时间窗组,如果两个相邻的波动时间窗之间存在非波动时间窗,则将这两个波动时间窗分配到不同波动时间窗组,以获得所述至少一个波动时间窗组。
5.根据权利要求1所述的语音转换方法,其中,
在所述从该时间帧集中的所有时间帧所对应的预测语音类别中找出目标语音类别之前,所述方法还包括:
基于该时间帧集之前的在先时间帧所对应的后验概率向量确定上文语音类别,和/或,基于该时间帧集之后的在后时间帧所对应的后验概率向量确定下文语音类别;
将所述上文语音类别和/或所述下文语音类别输入预训练的语言模型,以确定C 2个语音类别各自的上下文概率,其中,任一语音类别的上下文概率表示位于所述上文语音类别和所述下文语音类别之间的语音类别是该语音类别的概率,C 2为大于0的整数;
基于以下公式计算该时间帧集中的所有时间帧所对应的预测语音类别中任一预测语音类别x的预测概率:
P(x) = α 1×P C1(x)+ α 2× P C2(x);
其中,P(x)是所述预测语音类别x的预测概率,P C1(x)是所述预测语音类别x在该时间帧集中的所有时间帧所对应的预测语音类别中所占的比例,P C2(x)是所述预测语音类别x的上下文概率,α 1和α 2是预设系数;
所述从该时间帧集中的所有时间帧所对应的预测语音类别中找出目标语音类别包括:
确定该时间帧集中的所有时间帧所对应的预测语音类别中预测概率最大的预测语音类别是所述目标语音类别。
6.根据权利要求1所述的语音转换方法,其中,所述从该时间帧集中的所有时间帧所对应的预测语音类别中找出目标语音类别包括:
从该时间帧集中的所有时间帧所对应的预测语音类别中找出数目最多的预测语音类别作为所述目标语音类别。
7.根据权利要求1所述的语音转换方法,其中,在所述用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量之前,所述方法还包括:
对所述至少一个待修正时间帧进行分组,以获得至少一个待修正时间帧组,其中,每个待修正时间帧组中的所有待修正时间帧在时间上是连续的;
对于所述至少一个待修正时间帧组中的任一个,
从语音向量库中搜索与所述目标语音类别相对应的、持续帧数等于该待修正时间帧组的帧数的向量组,其中,所述语音向量库用于存储与C 3个语音类别一一对应的C 3个向量集合,其中,每个向量集合包括与至少一个预设时间帧组一一对应的至少一个向量组,每个向量组包括与对应预设时间帧组中的所有预设时间帧一一对应的后验概率向量,与第j个语音类别相对应的向量集合中的每个后验概率向量中所述第j个语音类别的后验概率最大,并且同一向量集合所对应的任意两个不同预设时间帧组的持续帧数不同,其中,C 3为大于0的整数,j = 1, 2, ……, C 3;
基于搜索到的向量组确定目标向量组,其中,所述至少一个目标后验概率向量包括所述目标向量组中的所有目标后验概率向量,所述目标向量组中的目标后验概率向量用于替换该待修正时间帧组所对应的后验概率向量。
8. 根据权利要求7所述的语音转换方法,其中,所述基于搜索到的向量组确定目标向量组包括:
对所述搜索到的向量组中的后验概率向量分别执行变换操作,以获得变换后的向量组,其中,所述变换操作为线性变换、对数变换或sigmoid变换;以及
确定所述变换后的向量组为所述目标向量组。
9.根据权利要求1所述的语音转换方法,其中,在所述用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量之前,所述方法还包括:
从该时间帧集中的所有非异常时间帧所对应的后验概率向量中选择其中之一作为第一目标后验概率向量,其中,所述至少一个目标后验概率向量包括所述第一目标后验概率向量,所述第一目标后验概率向量用于替换所述至少一个待修正时间帧中的至少部分待修正时间帧所对应的后验概率向量,所述非异常时间帧是所对应的预测语音类别是所述目标语音类别的时间帧。
10.根据权利要求1所述的语音转换方法,其中,在所述用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量之前,所述方法还包括:
从该时间帧集中的所有非异常时间帧所对应的后验概率向量中选择至少部分后验概率向量,其中,所述非异常时间帧是所对应的预测语音类别是所述目标语音类别的时间帧;
对所述至少部分后验概率向量的值求平均,以获得第二目标后验概率向量,其中,所述至少一个目标后验概率向量包括所述第二目标后验概率向量,所述第二目标后验概率向量用于替换所述至少一个待修正时间帧中的至少部分待修正时间帧所对应的后验概率向量。
11.根据权利要求1所述的语音转换方法,其中,在所述用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量之前,所述方法还包括:
对于所述至少一个待修正时间帧中的任一特定待修正时间帧,对前一时间帧所对应的后验概率向量和后一时间帧所对应的后验概率向量求平均,以获得第三目标后验概率向量,
其中,所述前一时间帧是该时间帧集中位于所述特定待修正时间帧之前且距离所述特定待修正时间帧最近的非异常时间帧,所述后一时间帧是该时间帧集中位于所述特定待修正时间帧之后且距离所述特定待修正时间帧最近的非异常时间帧,所述至少一个目标后验概率向量包括所述第三目标后验概率向量,所述第三目标后验概率向量用于替换所述特定待修正时间帧所对应的后验概率向量,所述非异常时间帧是所对应的预测语音类别是所述目标语音类别的时间帧。
12.根据权利要求1所述的语音转换方法,其中,在所述用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量之前,所述方法还包括:
对于所述至少一个待修正时间帧中的任一特定待修正时间帧,将所述特定待修正时间帧所对应的后验概率向量中所述目标语音类别的后验概率增大至预定值,以获得第四目标后验概率向量,
其中,所述预定值大于所述特定待修正时间帧所对应的后验概率向量中除所述目标语音类别以外的所有剩余语音类别的后验概率,所述至少一个目标后验概率向量包括所述第四目标后验概率向量,所述第四目标后验概率向量用于替换所述特定待修正时间帧所对应的后验概率向量。
13.根据权利要求1至12任一项所述的语音转换方法,其中,所述语音识别模型包括以下一种或多种网络模型:长短期记忆网络模型、卷积神经网络模型、时延神经网络模型、深度神经网络模型;和/或,
所述特征转换模型包括以下一种或多种网络模型:张量到张量网络模型、卷积神经网络模型、序列到序列模型、注意力模型。
14.根据权利要求1至12任一项所述的语音转换方法,其中,所述源说话者的声学特征为梅尔频率倒谱系数特征、感知线性预测特征、滤波器组特征或常Q倒谱系数特征,
所述目标说话者的声学特征为梅尔倒谱特征、线谱对特征、梅尔频率后的线谱对特征、基于梅尔广义倒谱分析的线谱对特征或线性预测编码特征。
15.一种语音转换装置,包括:
获取模块,用于获取源说话者的源语音;
提取模块,用于对所述源语音进行特征提取,以获得所述源说话者的声学特征;
第一输入模块,用于将所述源说话者的声学特征输入语音识别模型,以获得所述语音识别模型输出的所述源说话者的语音后验概率,所述语音后验概率包括与多个时间帧一一对应的多个后验概率向量,每个后验概率向量包括与C 1个语音类别一一对应的C 1个元素,每个元素表示在对应时间帧下对应语音类别的后验概率,其中,C 1为大于0的整数;
检测模块,用于从所述语音后验概率中检测概率分布存在问题的至少一个时间帧集,每个时间帧集包括多个连续的时间帧,其中,概率分布存在问题的时间帧集是指该时间帧集中的所有时间帧所对应的预测语音类别的一致性不满足预设要求,所述预设要求包括所述预测语音类别中数目最多的关键语音类别在所述预测语音类别中所占的比例大于预设的比例阈值,所述预测语音类别是对应时间帧下后验概率最大的语音类别;
修正模块,用于对所述至少一个时间帧集所对应的后验概率向量进行修正,以获得经修正的语音后验概率;
第二输入模块,用于将所述经修正的语音后验概率输入特征转换模型,以获得所述特征转换模型输出的目标说话者的声学特征;
合成模块,用于基于所述目标说话者的声学特征进行语音合成,以获得所述目标说话者的目标语音;
其中,所述修正模块包括:
找出子模块,用于对于所述至少一个时间帧集中的每一个,从该时间帧集中的所有时间帧所对应的预测语音类别中找出目标语音类别;
替换子模块,用于对于所述至少一个时间帧集中的每一个,用至少一个目标后验概率向量替换该时间帧集中的至少一个待修正时间帧所对应的后验概率向量,其中,所述至少一个目标后验概率向量中的每一个是在其中所述目标语音类别的后验概率最大的后验概率向量,所述至少一个待修正时间帧包括该时间帧集中的所有异常时间帧,所述异常时间帧是所对应的预测语音类别不是所述目标语音类别的时间帧。
16.一种语音转换系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至14任一项所述的语音转换方法。
17.一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行如权利要求1至14任一项所述的语音转换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011609526.1A CN112750445B (zh) | 2020-12-30 | 2020-12-30 | 语音转换方法、装置和系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011609526.1A CN112750445B (zh) | 2020-12-30 | 2020-12-30 | 语音转换方法、装置和系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112750445A CN112750445A (zh) | 2021-05-04 |
CN112750445B true CN112750445B (zh) | 2024-04-12 |
Family
ID=75649560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011609526.1A Active CN112750445B (zh) | 2020-12-30 | 2020-12-30 | 语音转换方法、装置和系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112750445B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113689866B (zh) * | 2021-08-18 | 2023-04-25 | 北京百度网讯科技有限公司 | 一种语音转换模型的训练方法、装置、电子设备及介质 |
CN113724718B (zh) * | 2021-09-01 | 2022-07-29 | 宿迁硅基智能科技有限公司 | 目标音频的输出方法及装置、系统 |
CN114360557B (zh) * | 2021-12-22 | 2022-11-01 | 北京百度网讯科技有限公司 | 语音音色转换方法、模型训练方法、装置、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105679316A (zh) * | 2015-12-29 | 2016-06-15 | 深圳微服机器人科技有限公司 | 一种基于深度神经网络的语音关键词识别方法及装置 |
CN107610717A (zh) * | 2016-07-11 | 2018-01-19 | 香港中文大学 | 基于语音后验概率的多对一语音转换方法 |
WO2019156101A1 (ja) * | 2018-02-08 | 2019-08-15 | 日本電信電話株式会社 | 音声認識精度劣化要因推定装置、音声認識精度劣化要因推定方法、プログラム |
CN111816210A (zh) * | 2020-06-23 | 2020-10-23 | 华为技术有限公司 | 一种语音评分的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111341299B (zh) * | 2018-11-30 | 2021-10-15 | 阿里巴巴集团控股有限公司 | 一种语音处理方法及装置 |
-
2020
- 2020-12-30 CN CN202011609526.1A patent/CN112750445B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105679316A (zh) * | 2015-12-29 | 2016-06-15 | 深圳微服机器人科技有限公司 | 一种基于深度神经网络的语音关键词识别方法及装置 |
CN107610717A (zh) * | 2016-07-11 | 2018-01-19 | 香港中文大学 | 基于语音后验概率的多对一语音转换方法 |
WO2019156101A1 (ja) * | 2018-02-08 | 2019-08-15 | 日本電信電話株式会社 | 音声認識精度劣化要因推定装置、音声認識精度劣化要因推定方法、プログラム |
CN111816210A (zh) * | 2020-06-23 | 2020-10-23 | 华为技术有限公司 | 一种语音评分的方法及装置 |
Non-Patent Citations (1)
Title |
---|
《Pan: Phoneme-Aware Network for Monaural Speech Enhancement》;Zhihao Du et al.;《ICASSP 2020》;20200409;第6634-6638页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112750445A (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11373633B2 (en) | Text-to-speech processing using input voice characteristic data | |
US11996097B2 (en) | Multilingual wakeword detection | |
US10522134B1 (en) | Speech based user recognition | |
CN112750445B (zh) | 语音转换方法、装置和系统及存储介质 | |
US7693713B2 (en) | Speech models generated using competitive training, asymmetric training, and data boosting | |
US6304844B1 (en) | Spelling speech recognition apparatus and method for communications | |
US8271283B2 (en) | Method and apparatus for recognizing speech by measuring confidence levels of respective frames | |
US20220262352A1 (en) | Improving custom keyword spotting system accuracy with text-to-speech-based data augmentation | |
CN112750446B (zh) | 语音转换方法、装置和系统及存储介质 | |
US12080282B2 (en) | Natural language processing using context | |
CN112349289B (zh) | 一种语音识别方法、装置、设备以及存储介质 | |
US11282495B2 (en) | Speech processing using embedding data | |
US11715472B2 (en) | Speech-processing system | |
US20240071385A1 (en) | Speech-processing system | |
US11929058B2 (en) | Systems and methods for adapting human speaker embeddings in speech synthesis | |
JP6027754B2 (ja) | 適応化装置、音声認識装置、およびそのプログラム | |
JP6852029B2 (ja) | ワード検出システム、ワード検出方法及びワード検出プログラム | |
CN113689885A (zh) | 基于语音信号处理的智能辅助引导系统 | |
Wang et al. | Improved Mandarin speech recognition by lattice rescoring with enhanced tone models | |
EP1369847A1 (en) | Speech recognition method and system | |
US11908480B1 (en) | Natural language processing using context | |
Herbig et al. | Adaptive systems for unsupervised speaker tracking and speech recognition | |
JPH0981177A (ja) | 音声認識装置および単語構成要素の辞書並びに隠れマルコフモデルの学習方法 | |
CN117059069A (zh) | 维吾尔语的语音识别方法、装置、电子设备及存储介质 | |
NZ704832B2 (en) | Method and system for real-time keyword spotting for speech analytics |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Country or region after: China Address after: Room 1201, Building B, Phase 1, Innovation Park, No. 1 Keyuan Weiyi Road, Laoshan District, Qingdao City, Shandong Province, 266101 Applicant after: Beibei (Qingdao) Technology Co.,Ltd. Address before: 100192 a203a, 2 / F, building B-2, Dongsheng Science Park, Zhongguancun, 66 xixiaokou Road, Haidian District, Beijing Applicant before: DATABAKER (BEIJNG) TECHNOLOGY Co.,Ltd. Country or region before: China |
|
GR01 | Patent grant | ||
GR01 | Patent grant |