一种汉语盲文语音合成方法及系统

文档序号:170826 发布日期:2021-10-29 浏览:33次 >En<

阅读说明:本技术 一种汉语盲文语音合成方法及系统 (Method and system for synthesizing Chinese braille voice ) 是由 王向东 朱靖雯 毛建国 刘宏 钱跃良 于 2021-07-02 设计创作,主要内容包括:本发明提出一种汉语盲文语音合成方法和系统,包括:通过将待语音合成的通用盲文文本中标点符号和音节分别转换为中文标点和拼音,得到拼音序列;通过汉字预测模型将该拼音序列转换为汉字,得到带有分词信息的汉字序列,并将该汉字序列输入至韵律预测模型,得到该汉字序列的韵律标签;结合该韵律标签和拼音序列,得到含有韵律标签的拼音序列,并将其输入至语音合成模块,得到该通用盲文文本的语音合成结果。本发明可应用于盲用终端上的电子书阅读器文本编辑器等软件,可以实现通用盲文的实时语音转换,帮助盲人在阅读盲文时可以实时听到其触摸的文字,更好地理解他们所阅读的内容。(The invention provides a method and a system for synthesizing Chinese braille voice, comprising the following steps: converting the punctuation marks and syllables in the universal Braille text to be voice-synthesized into Chinese punctuation marks and pinyin respectively to obtain a pinyin sequence; converting the pinyin sequence into Chinese characters through a Chinese character prediction model to obtain a Chinese character sequence with word segmentation information, and inputting the Chinese character sequence into a rhythm prediction model to obtain a rhythm label of the Chinese character sequence; combining the rhythm label and the pinyin sequence to obtain a pinyin sequence containing the rhythm label, and inputting the pinyin sequence into a voice synthesis module to obtain a voice synthesis result of the universal braille text. The invention can be applied to software such as an electronic book reader text editor on a blind terminal, can realize the real-time voice conversion of universal braille, helps the blind to hear the characters touched by the blind in real time when reading the braille and better understand the content read by the blind.)

一种汉语盲文语音合成方法及系统

技术领域

本发明涉及盲文处理技术和语音合成技术领域,特别是通用盲文到语音的自动转换领域。

背景技术

在中国有超过1700万的视力障碍者,其中包括500多万的盲人。盲文是盲人使用的读写系统,通过触觉通道获取信息。在通过触觉阅读盲文时,在需要时能同时收听到盲文对应的语音,也是盲人所希望的。这可以为信息获取提供一种方便提多的方式,帮助盲人更好地理解他们所阅读的内容,特别是对于那些不善于阅读盲文的人来说。而在大多数情况下,盲文文本是独立生成的或从明眼人使用的文本经修改得到的,这导致无法获得相应的明眼人使用的文本,因此,需要直接从盲文文本进行语音合成的方法和系统。

对于大多数语言,如英语,盲文文本可以通过简单的字符级映射转换为相应的明眼人使用的文本,从而使盲文语音合成与明眼人使用的文本的语音合成几乎相同。然而,对于汉语来说,情况并非如此。由于数以万计的汉字和64个盲文符号(也称为“方”)之间不可能做到直接的一一映射,因此汉语盲文被设计成一种拼音文字,其中每个汉字最多对应三方,分别代表与该字对应的音节的声母、韵母和声调。为了避免歧义,汉语盲文中引入了分词连写规则,将词或某些短语对应的盲文符号连写在一起,而与其它连写的词或短语之间用特定的盲文符号(称作“空方”,相当于明眼人使用的文字中的空格)分隔。盲文的分词连写规则与中文分词存在区别:很多语法和语义上结合较紧密的短语需要连写在一起,以避免太多的空方。盲文标准中规定了许多具体的语法和语义相关的标准,以规范哪些短语需要连写。汉语盲文主要有三种方案:现行盲文、双拼盲文和通用盲文。这三种方案的主要区别是,在现行盲文中,只有少量的音节(约5%)是标有声调的。而双拼盲文和通用盲文则几乎实现了“字字标调”。其中,通用盲文是2018年国家语委等部门联合发布并推广的盲文方案。本发明主要研究从通用盲文文本进行语音合成。

目前,关于盲文语音合成的工作还很少。从汉语盲文合成语音,有两种路线,一种是采用盲文到汉字的转换系统将盲文文本转换为汉字文本,然后采用汉语语音合成系统生成语音;另一种是直接从汉语盲文进行语音合成。目前还没有见到关于直接从汉语盲文合成语音的研究。但事实上,直接从汉语盲文合成语音比从盲文转换的汉语文本合成语音更为优势:首先,为了进行语音合成,汉语文本和盲文文本都需要转换为发音标记,通常是中文拼音,以传入TTS(文本转语音)系统,而使用盲文文本进行这种转换显然比使用从盲文文本转换的中文文本要好。这是因为汉字中有许多多音字和同音字,盲文到汉字和汉字到拼音的转换都可能引入错误,从而使得最终得到的发音标记(拼音)准确性不足,而盲文到拼音的转换则具有相当高的准确性。其次,盲文中的词语分割是由专家生成的,并且比中文单词分割的粒度更粗,可以传达更完整的语义信息,因此可以帮助韵律预测(语音合成过程中的一个重要阶段),而如果直接将盲文转换得到的汉字文本输入已有的中文语音合成系统,则无法利用盲文中的分词信息。

汉语盲文语音合成面临很多挑战。最大的困难是缺乏盲文语音合成语料库和盲文韵律标注语料库。中文语音合成一般使用拼音作为系统输入。盲文转换为拼音后,可以使用中文语音合成语料库作为替代。因此,从盲文到拼音的转换是否准确,直接影响到整个系统的性能。在转换过程中,有必要恢复盲文方案中的一些省略规则和变化,以得到完整的拼音表示。同时,汉语是一种声调语言。在口语情况下,有些音节会变调。盲文中的所有音节都被标记为本调,所以需要对音节进行变调处理。预测韵律的任务更具挑战性,韵律必须由语言学专家来标注,所以标注有韵律的语料库的数量是有限的。在语料库有限的情况下,一般的方法如隐马尔可夫模型(HMM)、条件随机场(CRF)、循环神经网络(RNN)等性能并不令人满意。如果我们使用基于预训练模型微调的方法,可以减少对数据集的需求,但预训练模型通常以汉字作为输入。为了直接使用盲文来预测韵律,并利用预训练模型的优势,还需要将盲文拼音准确预测为汉字。

除了上述挑战之外,还需要建立语音合成模块,用于从带有韵律的拼音串生成语音。早期的语音合成模块是基于波形串联和统计参数。近年来,深度神经网络已被广泛采用并显示出很大的优势。基于深度神经网络的模块通常由两部分组成:一个声学模型和一个声码器。声学模型使用文本作为输入来预测声学特征,然后声码器将预测的特征还原到音频波形。

发明内容

本发明要解决技术问题为:针对缺乏甚至没有可用的大规模盲文语音合成语料库和盲文韵律标注语料库的现状,采用中文语音合成语料库和中文韵律标记语料库,通过实现一个通用盲文-拼音转换系统,面向盲文的韵律预测系统和语音合成模块,从而实现通用盲文的语音合成。

针对现有技术的不足,本发明提出一种汉语盲文语音合成方法,其中包括:

步骤1、通过将待语音合成的通用盲文文本中标点符号和音节分别转换为中文标点和拼音,得到拼音序列;

步骤2、通过汉字预测模型将该拼音序列转换为汉字,得到带有分词信息的汉字序列,并将该汉字序列输入至韵律预测模型,得到该汉字序列的韵律标签;

步骤3、结合该韵律标签和拼音序列,得到含有韵律标签的拼音序列,并将其输入至语音合成模块,得到该通用盲文文本的语音合成结果。

所述的汉语盲文语音合成方法,其中该步骤1包括:

将标点符号和汉字音节从该通用盲文文本中分离,并保留分词信息,根据编码表,将标点符号转换为中文标点,汉字音节转换为拼音,并根据通用盲文系统的规则,对缺省的部分声母、韵母或声调进行恢复,得到初始拼音序列;

根据语气词词典并结合该初始拼音序列中每一个音节的位置信息、分词信息和标点符号信息对该初始拼音序列中存在歧义的音调进行歧义消除,得到中间拼音序列;对于该通用盲文文本中阿拉伯数字、希腊字母、特殊字符使用文本正则化得到其对应的汉字文本并使用汉字转拼音工具得到对应的拼音,并将其补充至该中间拼音序列,得到完整的该拼音序列;

其中该语气词词典的构造和使用方法为:基于规则将训练用盲文转换为拼音后,与该训练用盲文对应的正确拼音进行对照,选取声调误标的高频语气词,并构建为该语气词词典;在进行通用盲文拼音转换时,对于每一个音节,结合位置信息、分词信息、标点符号以及该语气词词典中是否存在该音节判断当前音节是否为语气词,并进行声调修正。

所述的汉语盲文语音合成方法,其中

步骤1中该拼音序列包括正常拼音序列和变调拼音序列;

步骤3包括:结合该韵律标签和该变调拼音序列,得到含有韵律标签的变调拼音序列;

其中,通过通用盲文系统的规则将该通用盲文文本中标点符号和音节分别转换为中文标点和拼音,得到该正常拼音序列;

根据变调规则,将该正常拼音序列中拼音转换为变调拼音,得到该变调拼音序列。

所述的汉语盲文语音合成方法,其中步骤2中该汉字预测模型由预处理网络、多头自注意力层和卷积网络块组成;该拼音序列经该预处理网络进行多维的字嵌入处理,得到嵌入向量,并通过多头自注意力层,在不同的特征空间中利用上下文信息进行特征的自我更新,建立拼音上下文之间的关联关系,在多头自注意力层后使用了残差连接,将该多头自注意力层的输入和输出进行融合,得到融合向量;该卷积网络块包括多层不同粒度的二维卷积网络模块,且卷积核尺寸逐层递增,每层网络挖掘的上下文跨度逐层增加,随着网络深度的加深,感受野也不断增大,以对该融合向量进行从局部到全局的特征提取,且在每层卷积网络中加入批标准化,用于缓解内部协变量偏移,并使用最大池化机制进行下采样,最后使用softmax,计算各拼音对应的汉字词集中的概率分布,选取概率最大的汉字作为该汉字序列。

所述的汉语盲文语音合成方法,其中该语音合成模块包括声学模型和声码器,该声学模型用于提取含有韵律标签的拼音序列的声学特征,该声码器用于将该声学特征还原为音频波形;该声学模型的构建过程包括:获取Tacotron2模型,将Tacotron2模型中PostNet层从原本5层减少到3层,并在Tacotron2模型的自回归解码过程中,使用的历史输出为前4步的历史输出:yt=Decoder(yt-4yt-3yt-2,,yt-1,,ct)。

所述的汉语盲文语音合成方法,其中该分词信息为预设符号,该汉字序列中分词位置用该预设符号表示;或

该汉字序列的文本嵌入信息、前后句分割嵌入信息、位置嵌入信息和分词信息分别输入至该韵律预测模型的词条嵌入信息层、前后句分割嵌入信息层、位置嵌入信息层和分词嵌入信息层。

本发明还提出了一种汉语盲文语音合成系统,其中包括:

模块1,用于通过将待语音合成的通用盲文文本中标点符号和音节分别转换为中文标点和拼音,得到拼音序列;

模块2,用于通过汉字预测模型将该拼音序列转换为汉字,得到带有分词信息的汉字序列,并将该汉字序列输入至韵律预测模型,得到该汉字序列的韵律标签;

模块3,用于结合该韵律标签和拼音序列,得到含有韵律标签的拼音序列,并将其输入至语音合成模块,得到该通用盲文文本的语音合成结果。

所述的汉语盲文语音合成系统,其中该模块1包括:

将标点符号和汉字音节从该通用盲文文本中分离,并保留分词信息,根据编码表,将标点符号转换为中文标点,汉字音节转换为拼音,并根据通用盲文系统的规则,对缺省的部分声母、韵母或声调进行恢复,得到初始拼音序列;

根据语气词词典并结合该初始拼音序列中每一个音节的位置信息、分词信息和标点符号信息对该初始拼音序列中存在歧义的音调进行歧义消除,得到中间拼音序列;对于该通用盲文文本中阿拉伯数字、希腊字母、特殊字符使用文本正则化得到其对应的汉字文本并使用汉字转拼音工具得到对应的拼音,并将其补充至该中间拼音序列,得到完整的该拼音序列;

其中该语气词词典的构造和使用系统为:基于规则将训练用盲文转换为拼音后,与该训练用盲文对应的正确拼音进行对照,选取声调误标的高频语气词,并构建为该语气词词典;在进行通用盲文拼音转换时,对于每一个音节,结合位置信息、分词信息、标点符号以及该语气词词典中是否存在该音节判断当前音节是否为语气词,并进行声调修正。

所述的汉语盲文语音合成系统,其中

模块1中该拼音序列包括正常拼音序列和变调拼音序列;

模块3包括:结合该韵律标签和该变调拼音序列,得到含有韵律标签的变调拼音序列;

其中,通过通用盲文系统的规则将该通用盲文文本中标点符号和音节分别转换为中文标点和拼音,得到该正常拼音序列;

根据变调规则,将该正常拼音序列中拼音转换为变调拼音,得到该变调拼音序列。

所述的汉语盲文语音合成系统,其中模块2中该汉字预测模型由预处理网络、多头自注意力层和卷积网络块组成;该拼音序列经该预处理网络进行多维的字嵌入处理,得到嵌入向量,并通过多头自注意力层,在不同的特征空间中利用上下文信息进行特征的自我更新,建立拼音上下文之间的关联关系,在多头自注意力层后使用了残差连接,将该多头自注意力层的输入和输出进行融合,得到融合向量;该卷积网络块包括多层不同粒度的二维卷积网络模块,且卷积核尺寸逐层递增,每层网络挖掘的上下文跨度逐层增加,随着网络深度的加深,感受野也不断增大,以对该融合向量进行从局部到全局的特征提取,且在每层卷积网络中加入批标准化,用于缓解内部协变量偏移,并使用最大池化机制进行下采样,最后使用softmax,计算各拼音对应的汉字词集中的概率分布,选取概率最大的汉字作为该汉字序列。

所述的汉语盲文语音合成系统,其中该语音合成模块包括声学模型和声码器,该声学模型用于提取含有韵律标签的拼音序列的声学特征,该声码器用于将该声学特征还原为音频波形;该声学模型的构建过程包括:获取Tacotron2模型,将Tacotron2模型中PostNet层从原本5层减少到3层,并在Tacotron2模型的自回归解码过程中,使用的历史输出为前4步的历史输出:yt=Decoder(yt-4yt-3yt-2,,yt-1,,ct)。

所述的汉语盲文语音合成系统,其中该分词信息为预设符号,该汉字序列中分词位置用该预设符号表示;或

该汉字序列的文本嵌入信息、前后句分割嵌入信息、位置嵌入信息和分词信息分别输入至该韵律预测模型的词条嵌入信息层、前后句分割嵌入信息层、位置嵌入信息层和分词嵌入信息层。

由以上方案可知,本发明的优点在于:

通过采用本发明提出的通用盲文语音合成方法和系统,可以克服当前盲文语音合成语料缺乏和盲文韵律预测语料缺乏的问题,采用已有的汉语语音合成语料和汉语韵律预测语料,使用通用盲文-拼音转换系统,面向盲文的韵律预测系统和实时语音合成模块,实现实时的通用盲文语音合成系统。将该技术应用于盲用终端上的电子书阅读器文本编辑器等软件,可以实现通用盲文的实时语音转换,帮助盲人在阅读盲文时可以实时听到其触摸的文字,更好地理解他们所阅读的内容。

附图说明

图1为本发明盲文语音合成整体流程图;

图2为本发明汉字预测和韵律预测模型结构图;

图3为传统RoBERTa输入表示图;

图4为本发明添加分词信息的输入表示图;

图5为本发明实时语音合成模块结构图。

具体实施方式

本发明核心步骤包括:

1.构建一个通用盲文-拼音转换系统。汉语拼音是一种表示汉字发音的工具。它通过组合不同的声母、韵母和声调来表示音节。通用盲文本质上也是一种拼音文字,它也采用声母、韵母和声调来表示音节,其声母、韵母和声调可以通过编码表转换为汉语拼音中的声母、韵母和声调;同时,为了使通用盲文易于学习和使用,通用盲文在拼写规则、标调规则和简写规则方面有20多条特殊规则以及专家制定的分词规则。

首先,将标点符号和汉字音节从盲文中分离出来,并保留分词信息,根据编码表,将标点符号转换为相应的中文标点,音节转换为拼音,并根据通用盲文系统的规则,对缺省的部分声母、韵母或声调进行恢复。部分存在歧义的声调根据构建的语气词词典,结合位置信息、分词信息和标点符号信息进行歧义消除。

然后,对于阿拉伯数字、希腊字母、特殊字符等使用文本正则化得到其对应的汉字文本并使用汉字转拼音工具得到对应的拼音。

最后,根据变调规则,将拼音转换为语音合成所需的变调拼音。该系统最后输出一份含有盲文分词信息的正常拼音和语音合成系统需要的变调拼音。

2.训练面向盲文的韵律预测模型。韵律描述了节奏的变化。说话者在其话语中对一些词和短语进行分组,这体现在停顿、音节长度的变化和语调的中断上。韵律结构一般分为若干等级,如二级韵律结构或三级韵律结构,一个典型的三级汉语韵律结构可以分为韵律词(PW)、韵律短语(PPH)和语调短语(IPH)。对这些特征的准确预测对合成语音的自然性和可理解性具有重要意义。

在韵律预测中,当前没有盲文韵律语料库,而汉语(拼音)韵律语料库也非常有限。通用盲文通过步骤1构建的通用盲文-拼音转换系统,可以得到含有分词信息的正常拼音,但是以拼音作为输入,在少量的拼音韵律标注语料上,使用常用的韵律预测模型比如双向长短时记忆网络(BiLSTM)等无法得到令人满意的准确率。而要利用预训练模型在少量韵律语料的情况下的优势,则必须以汉字作为模型输入。因此本发明提出通过构建一个高准确率的拼音-汉字转换系统和基于汉字的三级韵律预测模型来实现面向盲文的韵律预测。

本发明中的拼音-汉字转换系统是一个基于多头自注意力机制的神经网络。基于汉字的三级韵律预测模型是采用预训练的RoBERTa模型微调方案。输入为带有盲文分词信息的汉字。

3.构建实时语音合成模块,该模型包含声学模型Tacotron2和声码器LPCNet。Tacotron2是一个频谱预测模型,它以80维梅尔频谱为预测目标。但是原始的Tacotron2连接的声码器WaveNet推理时速度慢,无法满足实时的需求。且其对于长句建模能力有限。本发明选择Tacotron2+LPCNet来构建一个语音合成系统,并对Tacotron2进行了优化。

由于LPCNet声码器的预测目标是18维BFCC(巴克频率倒谱系数)和2维pitch(音高)参数。Tacotron2的原始模型结构和参数不能很好地模拟LPCNet声码器的预测目标。我们将PostNet(后处理网络)层的数量从5层减少到3层。在自回归解码过程中,将历史输入从前一步输出值替换为前四步的输出值。并将Location-Sensitive Attention(位置敏感注意力机制)替换为Forward Attention(前向注意力机制)以增强模型的长句建模能力。

为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。

本发明提出了一种实时的通用盲文语音合成的方法和系统,实现将汉语通用盲文实时转化为语音。其流程如图1所示:

1.构建一个通用盲文-拼音转换系统。汉语拼音是一种表示字符发音的工具。它通过组合不同的声母、韵母和声调来表示音节。通用盲文本质上也是一种拼音文字,它包含非常相似的声母、韵母、声调和拼写规则。

为了使通用盲文易于学习和使用,在拼写规则、标调规则和简写规则方面有20多条特殊规则。它规定一些元素可以简写,如"zhi、chi、shi"可以简写为"zh、ch、sh"等。还规定了特殊的书写方法来区分高频同音字,如"他、她、它"。为了节省空间,对于每个声母,指定的默认声调可以省略,而其它声调应明确标注,没有标注声调的音节将被视为对应默认声调的音节。例如,声母“f”省写阴平符号(第一声),声母“p、m、t、n”省写阳平符号(第二声)。通用盲文规定不标明轻声,这将使得轻声和默认不标音调的音节产生歧义。因此,应根据语境消除歧义。同时,汉语是一种声调语言。当两个或两个以上的特殊音节连接在一起时,或者一些特定的字符,如"一"或"不",在汉语口语中就会出现声调变调现象。而对于使用阿拉伯数字、希腊字母或者特殊字符的情况,需要通过文本正则化转化为其对应文本和拼音。

首先,将标点符号和音节从盲文中分离出来,并保留分词信息,以帮助后续的歧义消除。根据编码表,标点符号直接转换为相应的中文标点,音节则转换为拼音。但此时得到的拼音是不完整的。有些音节缺少声母、韵母或声调。最后,根据通用盲文系统的规则,对简化的音节和省略的声调进行恢复。根据盲文语料库的统计结果,大多数轻声音节是情态语气词,在句子的位置上有很强的一致性(例如经常出现在句尾)。通过构建语气词变调词典,结合位置信息、分词信息和标点符号,可以消除99.0%以上的语气词音节歧义。语气词变调词典的构造和使用方法为:基于规则将通用盲文转换为拼音后,与真实拼音进行对照,筛选声调被误标的高频语气词,并构建为词典。在进行通用盲文-拼音转换时,对于每一个音节,结合位置信息、分词信息、标点符号以及语气词变调词典中是否存在该音节判断当前音节是否为语气词,并进行声调修正。

汉语发音中的变调可以分为特殊音节的变调和基于语义的变调。当两个上声声调连接在一起时,第一个上声声调(第三声)会变成阳平声调(第二声)。这可以根据规则来处理。对于基于语义的变调,如'一'、'不',当去声(第四声)跟在它后面时,改为阳平音(第二声)。它还包括非去声声调前念去声调,夹在重叠动词之间时念轻声等变调规则。这需要根据上下文来处理。由于拼音和汉字之间存在一对多的关系,因此存在语义上的混乱。为了处理变调,我们建立了一个高频的变调字典,同时也使用了音节在词中的位置信息。

比如汉语:“卡尔普陪外孙玩滑梯”,其通用盲文盲方为: 通过我们的通用盲文-拼音转换系统,可以得到本调拼音:“ka3er3pu3 pei2 wai4sun1 wan2 hua2ti1”,变调拼音:“ka3er2pu3 pei2wai4sun1 wan2 hua2ti1”(数字1、2、3、4、5分别表示第一声、第二声、第三声、第四声、轻声,空格表示分词信息)。再比如:“盲人是指视觉有障碍的人”,其盲文盲方为: 由于其不存在变调现象,则输出的正常拼音和变调拼音,均为:“mang2ren2 shi4 zhi3 shi4jue2 you3zhang4ai4 de5 ren2。”

2.面向盲文的韵律预测。韵律描述了节奏的变化。说话者在其话语中对一些词和短语进行分组,这体现在停顿、音节长度的变化和语调的中断上。一个典型的汉语音节结构可以分为韵律词(PW)、韵律短语(PPH)、语调短语(IPH)。对这些特征的准确预测对合成语音的自然性和可理解性具有重要意义。

为了获得盲文的韵律,我们首先通过第一个步骤的通用盲文-拼音转换系统将通用盲文转换为拼音,并保留盲文的分词信息。为了利用预训练模型在缺乏韵律语料的情况下的优势,我们设计了一个基于多头自注意力模型的神经网络模型来预测拼音对应的汉字。预测出的汉字和盲文分词信息融合在一起,作为韵律预测模型的输入。预测结果与拼音相结合,作为语音合成模型的输入。上述两个模型的结构如图2所示。

汉字预测模型由PreNet(预处理网络)、Multi-Head Self-Attention(多头自注意力机制)和卷积网络块组成。一个1024维的字嵌入代表了输入的拼音字符。嵌入向量表示首先通过由两层全连接层构成的预处理网络来消除信息瓶颈,挖掘隐含的语义信息,并通过多头自注意力机制,在不同的特征空间中利用上下文信息进行特征的自我更新,建立拼音上下文之间的关联关系,同时为了避免网络退化和有效信息的丢失,在多头自注意力层后使用了残差连接,将该网络层的输入和输出进行融合,在后续的非线性变换中也应用了此机制。为了挖掘不同跨度的上下文信息,使用了多层不同粒度的二维卷积网络模块,卷积核尺寸逐层递增,每层网络挖掘的上下文跨度逐层增加,随着网络深度的加深,感受野也不断增大,实现了从局部到全局的特征提取。为了加速模型拟合,在每层卷积网络中还加入了批标准化(batch normalization)用于缓解内部协变量偏移带来的影响,并使用最大池化机制进行下采样,降低特征计算量。最后使用softmax,计算各拼音对应的汉字词集中的概率分布,选取概率最大的汉字作为预测结果。假设步骤1输出的拼音是“mang2ren2 shi4zhi3shi4jue2 you3 zhang4ai4 de5 ren2”,则经过汉字预测模型可以得到“盲人是指视觉有璋碍的人。”(其中空格表示盲文自带的分词信息,此处“璋”字是预测错误的字。)

韵律预测模型是一个基于RoBERTa的序列标记模型。该模型的输入是带有分词信息的预测汉字序列,输出是韵律边界标签和分词边界标签的序列。我们将最后四个编码器层的输出连接起来,并使用一个全连接层进行微调。

我们设计了2种利用分词信息的方式。方法一,将分词位置用“#”表示,例如由汉字预测模型得到:“盲人是指视觉有璋碍的人”,将分词信息用“#”表示后则是:“盲人#是#指#视觉#有#璋碍#的#人”。将添加分词信息后的句子输入到基于RoBERTa的序列标记模型,其对应输出为“<N><PW>#<N>#<IPH>#<N><PPH>#<N>#<N><N>#<N>#<END>”,其中,<N>表示该字后不需要停顿,<PW><PPH><IPH>分别表示该字后需要一级韵律停顿、二级韵律停顿、三级韵律停顿。分词标记位置的对应输出仍然为分词标记,<END>表示是句末。

方法二则对RoBERTa模型结构进行了修改。RoBERTa模型和BERT模型结构一样,如图3所示,对于给定的token(词条),其输入表示通过对相应的token embeddings(词条嵌入信息)、segment embeddings(前后句分割嵌入信息)和position embeddings(位置嵌入信息)进行求和来构造。为了增加分词信息,我们添加了一层word segment embeddings(分词嵌入信息),如图4所示。此时模型的输入则是正常的文本,例如由汉字预测模型得到,“盲人是指视觉有璋碍的人”,韵律预测模型输入的文本则是:“盲人是指视觉有璋碍的人”其分词信息按照如图4所示方式添加到分词嵌入信息层,输出则是对应位置字符后是否是韵律停顿序列,即“<N><PW><N><IPH><N><PPH><N><N><N><N><END>”,最后通过简单的规则转换以及通用盲文-拼音转换系统提供的变调后的拼音,即可以得到含有韵律的拼音序列“mang2ren2<PW>shi4 zhi3<IPH>shi4 jue2<PPH>you3 zhang4 ai4 de5 ren2”作为步骤3实时语音合成模块的输入。

3.构建实时语音合成模块。我们选择Tacotron2+LPCNet来构建一个语音合成模块。Tacotron2是一个频谱预测模型,它以梅尔频谱为预测目标。LPCNet是一个整合了DSP(数字信号处理)技术和神经网络的实时声码器。它使用DSP来预测音频信号的线性部分,并使用神经网络来拟合线性预测值和实际值之间的残差。LPCNet实现了声音质量和推理速度的平衡。语音合成模块的结构如图5所示。

原始的Tacotron2模型使用80维的MFCC(梅尔频率倒谱系数)作为中间声学特征,而LPCNet使用18维的BFCC、2维的Pitch相关参数。Tacotron2的原始模型结构和参数不能很好地模拟新特征。因此,我们对Tacotron2做了如下改进:

我们将PostNet(后处理网络)层的数量从5层减少到3层。在自回归解码过程中,将使用的历史输出从前1步的输出扩大到前4步的输出,以获取更好的声音质量,如公式(1)所示:

yt=Decoder(yt-4yt-3yt-2,,yt-1,,ct) (1)

其中yt-n(n=1,2,3,4)是前n帧的预测值(即解码器的输出),Ct是当前时刻根据注意力机制计算得到的上下文向量。

Tacotron2采用了位置敏感的注意力机制。但当合成文本的长度达到一定阈值时,合成语音的错误率会急剧增加。前向注意力机制Forward Attention采用一种前向递归算法来计算每个时间步长的修正注意力概率,提高了模型的稳定能力。我们使用位置敏感的注意力来计算注意力的权重,并使用前向注意力来修改权重。实验结果表明,收敛速度更快,声学特征预测的稳定性更高。

模型的输入是由拼音中提取的音素,因为汉字太稀疏了,而且拼音有一些冗余信息。训练数据的格式是<audio,text>。训练文本包含三个层次的韵律信息。LPCNet的训练数据是从真实音频中提取的声学特征。

以下为与上述方法实施例对应的系统实施例,本实施系统可与上述实施方式互相配合实施。上述施方式中提到的相关技术细节在本实施系统中依然有效,为了减少重复,这里不再赘述。相应地,本实施系统中提到的相关技术细节也可应用在上述实施方式中。

本发明还提出了一种汉语盲文语音合成系统,其中包括:

模块1,用于通过将待语音合成的通用盲文文本中标点符号和音节分别转换为中文标点和拼音,得到拼音序列;

模块2,用于通过汉字预测模型将该拼音序列转换为汉字,得到带有分词信息的汉字序列,并将该汉字序列输入至韵律预测模型,得到该汉字序列的韵律标签;

模块3,用于结合该韵律标签和拼音序列,得到含有韵律标签的拼音序列,并将其输入至语音合成模块,得到该通用盲文文本的语音合成结果。

所述的汉语盲文语音合成系统,其中该模块1包括:

将标点符号和汉字音节从该通用盲文文本中分离,并保留分词信息,根据编码表,将标点符号转换为中文标点,汉字音节转换为拼音,并根据通用盲文系统的规则,对缺省的部分声母、韵母或声调进行恢复,得到初始拼音序列;

根据语气词词典并结合该初始拼音序列中每一个音节的位置信息、分词信息和标点符号信息对该初始拼音序列中存在歧义的音调进行歧义消除,得到中间拼音序列;对于该通用盲文文本中阿拉伯数字、希腊字母、特殊字符使用文本正则化得到其对应的汉字文本并使用汉字转拼音工具得到对应的拼音,并将其补充至该中间拼音序列,得到完整的该拼音序列;

其中该语气词词典的构造和使用系统为:基于规则将训练用盲文转换为拼音后,与该训练用盲文对应的正确拼音进行对照,选取声调误标的高频语气词,并构建为该语气词词典;在进行通用盲文拼音转换时,对于每一个音节,结合位置信息、分词信息、标点符号以及该语气词词典中是否存在该音节判断当前音节是否为语气词,并进行声调修正。

所述的汉语盲文语音合成系统,其中

模块1中该拼音序列包括正常拼音序列和变调拼音序列;

模块3包括:结合该韵律标签和该变调拼音序列,得到含有韵律标签的变调拼音序列;

其中,通过通用盲文系统的规则将该通用盲文文本中标点符号和音节分别转换为中文标点和拼音,得到该正常拼音序列;

根据变调规则,将该正常拼音序列中拼音转换为变调拼音,得到该变调拼音序列。

所述的汉语盲文语音合成系统,其中模块2中该汉字预测模型由预处理网络、多头自注意力层和卷积网络块组成;该拼音序列经该预处理网络进行多维的字嵌入处理,得到嵌入向量,并通过多头自注意力层,在不同的特征空间中利用上下文信息进行特征的自我更新,建立拼音上下文之间的关联关系,在多头自注意力层后使用了残差连接,将该多头自注意力层的输入和输出进行融合,得到融合向量;该卷积网络块包括多层不同粒度的二维卷积网络模块,且卷积核尺寸逐层递增,每层网络挖掘的上下文跨度逐层增加,随着网络深度的加深,感受野也不断增大,以对该融合向量进行从局部到全局的特征提取,且在每层卷积网络中加入批标准化,用于缓解内部协变量偏移,并使用最大池化机制进行下采样,最后使用softmax,计算各拼音对应的汉字词集中的概率分布,选取概率最大的汉字作为该汉字序列。

所述的汉语盲文语音合成系统,其中该语音合成模块包括声学模型和声码器,该声学模型用于提取含有韵律标签的拼音序列的声学特征,该声码器用于将该声学特征还原为音频波形;该声学模型的构建过程包括:获取Tacotron2模型,将Tacotron2模型中PostNet层从原本5层减少到3层,并在Tacotron2模型的自回归解码过程中,使用的历史输出为前4步的历史输出:yt=Decoder(yt-4yt-3yt-2,,yt-1,,ct)。

所述的汉语盲文语音合成系统,其中该分词信息为预设符号,该汉字序列中分词位置用该预设符号表示;或

该汉字序列的文本嵌入信息、前后句分割嵌入信息、位置嵌入信息和分词信息分别输入至该韵律预测模型的词条嵌入信息层、前后句分割嵌入信息层、位置嵌入信息层和分词嵌入信息层。

虽然本发明以上述实施例公开,但具体实施例仅用以解释本发明,并不用于限定本发明,任何本技术领域技术人员,在不脱离本发明的构思和范围内,可作一些的变更和完善,故本发明的权利保护范围以权利要求书为准。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:语音对话方法、装置、电子设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!