基于编码模型的语音转换方法、装置、电子设备及介质与流程



1.本技术涉及语音转换技术领域,尤其涉及一种基于编码模型的语音转换方法、装置、电子设备及介质。


背景技术:



2.随着语音信号处理技术的发展,语音转换逐渐成为语音信号处理领域的重要研究分支,语音转换任务是在给定待转换的源说话人语音和目标说话人语音的前提下,生成具有源说话人语音内容和目标说话人个性特征的语音,目前语音转换的技术类别主要包含以下三大类:基于自编码器、基于tts(text to speech,从文本到语音)和基于生成对抗网络。这些技术研究重点主要集中于训练数据集内的说话人之间的语音转换,已可取得较高语音自然度和音相似度。但很少关注训练数据集以外的说话人语音转换的问题。现有技术中利用包含大量说话人的海量数据集预训练说话人编码器,并利用其解耦说话人音和语音内容,以实现任意说话人语音转换。然而,在数据和计算资源有限的条件下,说话人编码器难以泛化到任意说话人,从而降低语音转换的准确性。


技术实现要素:



3.本技术实施例的主要目的在于提出一种基于编码模型的语音转换方法、装置、电子设备及介质,能够增强编码模型对任意说话人的泛化性,提高语音转换的准确性以及真实性。
4.为实现上述目的,本技术实施例的第一方面提出了一种基于编码模型的语音转换方法,所述方法包括:
5.获取样本语音集合,所述样本语音集合包括源说话人语音和参考语音;
6.基于所述编码模型对所述样本语音集合中的所述源说话人语音和所述参考语音进行语音合成,得到目标语音;
7.根据所述目标语音对所述编码模型进行训练,确定与所述编码模型对应的损失函数;
8.根据所述损失函数更新所述编码模型,得到目标编码模型;
9.接收用户的语音请求,所述语音请求携带音信息;
10.将所述语音请求输入所述目标编码模型,根据所述音信息将所述语音请求中的语音转换成对应的合成语音。
11.在一些实施例,所述编码模型包括内容编码器和向量编码器;所述基于所述编码模型对所述样本语音集合中的所述源说话人语音和所述参考语音进行语音合成,得到目标语音,包括:
12.将所述源说话人语音输入所述编码模型中的所述内容编码器进行映射,得到所述源说话人语音的语音内容;
13.将所述参考语音输入所述编码模型中的所述向量编码器进行向量提取,得到所述
参考语音的参考语音向量;
14.根据所述参考语音向量和所述语音内容进行语音合成,得到所述目标语音。
15.在一些实施例,所述根据所述参考语音向量和所述语音内容进行语音合成,得到所述目标语音,包括:
16.将所述源说话人语音输入所述编码模型中的所述向量编码器进行向量提取,得到所述源说话人语音的源说话人向量;
17.根据所述参考语音向量对所述源说话人语音中的所述源说话人向量进行替换,得到替换结果;
18.将所述替换结果和所述语音内容输入所述编码模型中的生成器进行合成,生成所述目标语音。
19.在一些实施例,所述损失函数包括编码损失函数、生成损失函数和辨别损失函数;所述根据所述目标语音对所述编码模型进行训练,确定与所述编码模型对应的损失函数,包括:
20.根据所述目标语音对所述编码模型中的编码器和生成器进行训练,生成训练语音;
21.根据所述编码模型中的辨别器对所述训练语音进行计算,得到辨别预测值;
22.根据所述辨别预测值更新所述辨别器的辨别损失函数以及所述生成器的生成损失函数;
23.根据所述语音内容更新所述内容编码器的所述编码损失函数。
24.在一些实施例,所述根据所述编码模型中的辨别器对所述训练语音进行计算,得到辨别预测值,包括:
25.获取真实语音集合,其中,所述真实语音集合由多名说话人的真实语音组成;
26.将所述训练语音输入所述编码模型中的辨别器,以使所述训练语音与所述真实语音集合中的真实语音进行对比,得到对比结果;
27.根据所述对比结果得到所述辨别预测值。
28.在一些实施例,所述目标编码模型包括目标编码器和目标生成器,所述语音请求包括请求语音向量;所述将所述语音请求输入所述目标编码模型,根据所述音信息生成与所述语音请求对应的合成语音,包括:
29.将所述语音请求输入所述目标编码模型中的目标编码器进行向量提取,得到所述语音请求的所述请求语音向量;
30.将所述请求语音向量输入所述目标编码模型进行相对熵计算,得到计算结果;
31.将所述计算结果和所述音信息输入所述目标编码模型的目标生成器,生成与所述语音请求对应的所述合成语音。
32.在一些实施例,所述目标编码器包括残差层;所述将所述语音请求输入所述目标编码模型中的目标编码器进行向量提取,得到所述语音请求的所述请求语音向量,包括:
33.将所述语音请求输入所述目标编码模型中的目标编码器进行提取,得到所述语音请求的梅尔倒频谱;
34.根据所述目标编码器的残差层对所述梅尔倒频谱进行计算,得到所述请求语音向量。
35.为实现上述目的,本技术实施例的第二方面提出了一种基于编码模型的语音转换装置,所述装置包括:
36.样本获取模块,用于获取样本语音集合,所述样本语音集合包括源说话人语音和参考语音;
37.语音合成模块,用于基于所述编码模型对所述样本语音集合中的所述源说话人语音和所述参考语音进行语音合成,得到目标语音;
38.模型训练模块,用于根据所述目标语音对所述编码模型进行训练,确定与所述编码模型对应的损失函数;
39.模型更新模块,用于根据所述损失函数更新所述编码模型,得到目标编码模型;
40.接收请求模块,用于接收用户的语音请求,所述语音请求携带音信息;
41.语音转换模块,用于将所述语音请求输入所述目标编码模型,根据所述音信息将中的语音所述语音请求转换成对应的合成语音。
42.为实现上述目的,本技术实施例的第三方面提出了一种电子设备,所述电子设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现上述第一方面所述的基于编码模型的语音转换方法。
43.为实现上述目的,本技术实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一方面所述的基于编码模型的语音转换方法。
44.本技术提出的基于编码模型的语音转换方法和装置、电子设备及存储介质,首先,获取样本语音集合,并基于编码模型对样本语音集合中的源说话人语音和参考语音进行合成,得到目标语音,便于对编码模型的训练,之后通过目标语音对编码模型进行训练,得到编码模型的损失函数,根据损失函数对编码模型进行更新,得到目标编码模型,从而增强编码模型的泛化能力,提高语音转换的效率以及准确率,最后接收用户的语音请求,并将语音请求输入目标编码模型,使得目标编码模型根据语音请求中的音信息对语音进行转换,得到最终的合成语音,从而增强编码模型对任意说话人的泛化性,提高语音转换的准确性,并通过对音信息的改善,增强合成语音的真实性。
附图说明
45.图1是本技术实施例提供的基于编码模型的语音转换方法的流程图;
46.图2是图1中的步骤s102的流程图;
47.图3是图2中的步骤s203的流程图;
48.图4是图1中的步骤s103的流程图;
49.图5是图4中的步骤s402的流程图;
50.图6是图1中的步骤s106的流程图;
51.图7是图6中的步骤s601的流程图;
52.图8是本技术实施例提供的基于编码模型的语音转换装置的结构示意图;
53.图9是本技术实施例提供的电子设备的硬件结构示意图。
具体实施方式
54.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
55.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
56.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
57.首先,对本技术中涉及的若干名词进行解析:
58.人工智能(artificial intelligence,ai):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
59.自然语言处理(natural language processing,nlp):nlp用计算机来处理、理解以及运用人类语言(如中文、英文等),nlp属于人工智能的一个分支,是计算机科学与语言学的交叉学科,又常被称为计算语言学。自然语言处理包括语法分析、语义分析、篇章理解等。自然语言处理常用于机器翻译、手写体和印刷体字符识别、语音识别及文语转换、信息意图识别、信息抽取与过滤、文本分类与聚类、舆情分析和观点挖掘等技术领域,它涉及与语言处理相关的数据挖掘、机器学习、知识获取、知识工程、人工智能研究和与语言计算相关的语言学研究等。
60.信息抽取(information extraction):从自然语言文本中抽取指定类型的实体、关系、事件等事实信息,并形成结构化数据输出的文本处理技术。信息抽取是从文本数据中抽取特定信息的一种技术。文本数据是由一些具体的单位构成的,例如句子、段落、篇章,文本信息正是由一些小的具体的单位构成的,例如字、词、词组、句子、段落或是这些具体的单位的组合。抽取文本数据中的名词短语、人名、地名等都是文本信息抽取,当然,文本信息抽取技术所抽取的信息可以是各种类型的信息。
61.映射(mapping):数据映射(data mapping)给定两个数据模型,在模型之间建立起数据元素的对应关系,将这一过程称为数据映射。数据映射是很多数据集成任务的第一步,例如:数据迁移(data migration)、数据清洗(data cleaning)、数据集成、语义网构造、p2p信息系统。数据映射的方式有两种:手工编码(hand-coded)和可视化操作(graphical manual)。手工编码是直接用类似xslt,java,c++这样的编程语言定义数据对应关系。可视化操作通常支持用户在数据项之间画一条线以定义数据项之间的对应关系。有些支持可视化操作的工具可以自动建立这种对应关系。这种自动建立的对应关系一般要求数据项具有
相同的名称。无论采用手工方式操作还是自动建立关系,最终都需要工具自动将图形表示的对应关系转化成xslt,java,c++这样的可执行程序。
62.鲁棒性(robust):鲁棒是robust的音译,也就是健壮和强壮的意思。它也是在异常和危险情况下系统生存的能力。比如说,计算机软件在输入错误、磁盘故障、网络过载或有意攻击情况下,能否不死机、不崩溃,就是该软件的鲁棒性。所谓“鲁棒性”,也是指控制系统在一定(结构,大小)的参数摄动下,维持其它某些性能的特性。根据对性能的不同定义,可分为稳定鲁棒性和性能鲁棒性。以闭环系统的鲁棒性作为目标设计得到的固定控制器称为鲁棒控制器。
63.损失函数(loss function):损失函数或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。例如在统计学和机器学习中被用于模型的参数估计(parametric estimation),在宏观经济学中被用于风险管理(risk management)和决策,在控制理论中被应用于最优控制理论(optimal control theory)。
64.相对熵(relative entropy):又被称为kullback-leibler散度(kullback-leibler divergence)或信息散度(information divergence),是两个概率分布(probability distribution)间差异的非对称性度量。在在信息理论中,相对熵等价于两个概率分布的信息熵(shannon entropy)的差值。
65.梅尔倒频谱(mel-frequency spectrum,mfc):系一个可用来代表短期音讯的频谱,其原理根基于以非线性的梅尔刻度(mel scale)表示的对数频谱(spectrum)及其线性余弦转换(linear cosine transform)之上;并且梅尔倒频谱系数(mel-frequency cipstal coefficients,mfcc)是一组用来建立梅尔倒频谱的关键系数。由音乐讯号当中的片段,我们可以得到一组足以代表此音乐讯号之倒频谱,而梅尔倒频谱系数即是从这个倒频谱中推得的倒频谱(也就是频谱的频谱)。与一般的倒频谱不同,梅尔倒频谱最大的特在于,于梅尔倒频谱上的频带是均匀分布于梅尔刻度上的,也就是说,这样的频带会较一般我们所看到、线性的倒频谱表示方法,和人类非线性的听觉系统(audio system)更为接近。例如:我们在音讯压缩的技术中,便常常使用梅尔倒频谱来处理。
66.基于此,本技术实施例提供了一种基于编码模型的语音转换方法和装置、电子设备及存储介质,旨在增强编码模型对任意说话人的泛化性,提高语音转换的准确性。
67.本技术实施例提供的基于编码模型的语音转换方法和装置、电子设备及存储介质,具体通过如下实施例进行说明,首先描述本技术实施例中的基于编码模型的语音转换方法。
68.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
69.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深
度学习等几大方向。
70.本技术实施例提供的基于编码模型的语音转换方法,涉及人工智能技术领域。本技术实施例提供的基于编码模型的语音转换方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现基于编码模型的语音转换方法的应用等,但并不局限于以上形式。
71.本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
72.图1是本技术实施例提供的基于编码模型的语音转换方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤s101至步骤s106。
73.步骤s101,获取样本语音集合;
74.需要说明的是,样本语音集合包括源说话人语音和参考语音。
75.可以理解的是,参考语音可以为其他说话人的语音、卡通人物的语音或者是已合成的语音,参考语音可以人为输入或者直接从语音库中调用,本实施例不做具体限制。
76.步骤s102,基于编码模型对样本语音集合中的源说话人语音和参考语音进行语音合成,得到目标语音;
77.步骤s103,根据目标语音对编码模型进行训练,确定与编码模型对应的损失函数;
78.步骤s104,根据损失函数更新编码模型,得到目标编码模型;
79.步骤s105,接收用户的语音请求;
80.需要说明的是,语音请求携带音信息。
81.步骤s106,将语音请求输入目标编码模型,根据音信息将语音请求中的语音转换成对应的合成语音。
82.本技术实施例所示意的步骤s101至步骤s106,首先,获取样本语音集合,并基于编码模型对样本语音集合中的源说话人语音和参考语音进行合成,得到目标语音,便于对编码模型的训练,之后通过目标语音对编码模型进行训练,得到编码模型的损失函数,根据损失函数对编码模型进行更新,得到目标编码模型,从而增强编码模型的泛化能力,提高语音转换的效率以及准确率,最后接收用户的语音请求,并将语音请求输入目标编码模型,使得目标编码模型根据语音请求中的音信息对语音进行转换,得到最终的合成语音,从而增强编码模型对任意说话人的泛化性,提高语音转换的准确性,并通过对音信息的改善,增强合成语音的真实性。
83.在一些实施例的步骤s102中,基于编码模型对样本语音集合中的源说话人语音和参考语音进行语音合成,得到目标语音,便于后续通过目标语音对编码模型进行训练。
84.需要说明的是,编码模型包括编码器、生成器以及辨别器,其中,编码器又包括内容编码器和向量编码器两部分。
85.在一些实施例的步骤s103中,根据目标语音对编码模型进行训练,确定与编码模型对应的损失函数,从而提高编码模型的语音转换以及语音合成的效率。
86.在一些实施例的步骤s104中,根据损失函数更新编码模型,得到目标编码模型,从而增强编码模型的泛化能力,便于对输入语音的转换。
87.在一些实施例的步骤s105中,接收用户携带音信息的语音请求,其中,语音请求为用户想要转换的语音信息。
88.在一些实施例的步骤s106中,将语音请求输入目标编码模型,根据音信息将语音请求中的语音转换成对应的合成语音,从而实现对语音的转换,提高语音转换的真实性。
89.需要说明的是,将语音请求输入目标编码模型,能够使得目标编码模型根据音信息对语音请求中的语音进行转换,从而提高语音转换的真实性,避免出现音差异过大,语音转换不准确等情况。
90.请参阅图2,在一些实施例中,步骤s102可以包括但不限于包括步骤s201至步骤s203:
91.需要说明的是,编码模型包括内容编码器和向量编码器。
92.步骤s201,将源说话人语音输入编码模型中的内容编码器进行映射,得到源说话人语音的语音内容;
93.步骤s202,将参考语音输入编码模型中的向量编码器进行向量提取,得到参考语音的参考语音向量;
94.步骤s203,根据参考语音向量和语音内容进行语音合成,得到目标语音。
95.在一些实施例的步骤s201中,将源说话人语音输入编码模型中的内容编码器进行映射,得到源说话人语音的语音内容,从而避免出现语音内容错误、语音内容缺失等情况。
96.需要说明的是,语音内容包括说话人的说话内容、语音音素以及语音韵律等。
97.在一些实施例的步骤s202中,将参考语音输入编码模型中的向量编码器进行向量提取,得到参考语音的参考语音向量,便于后续进行语音合成。
98.在一些实施例的步骤s203中,根据参考语音向量和语音内容进行语音合成,得到目标语音,此时目标语音包括源说话人语音的语音内容和参考语音的参考语音向量,从而保留了源说话人语音的内容,并且在语音内容不发生变化的情况下,与参考语音向量进行合成,得到目标语音,避免目标语音中的语音内容发生缺失。
99.请参阅图3,在一些实施例中,步骤s203可以包括但不限于包括步骤s301至步骤s303:
100.步骤s301,将源说话人语音输入编码模型中的向量编码器进行向量提取,得到源说话人语音的源说话人向量;
101.步骤s302,根据参考语音向量对源说话人语音中的源说话人向量进行替换,得到替换结果;
102.步骤s303,将替换结果和语音内容输入编码模型中的生成器进行合成,生成目标
语音。
103.在一些实施例的步骤s301中,将源说话人语音输入编码模型中的向量编码器进行向量提取,得到源说话人语音的源说话人向量,便于后续进行语音合成。
104.在一些实施例的步骤s302中,根据参考语音向量对源说话人语音中的源说话人向量进行替换,得到替换结果,从而实现对语音信息的转换,避免因语音向量离散带来的转换语音不连续等问题。
105.在一些实施例的步骤s303中,将替换结果和语音内容输入编码模型中的生成器进行合成,生成目标语音,从而完成对语音的转换和合成。
106.请参阅图4,在一些实施例中,步骤s103可以包括但不限于包括步骤s401至步骤s404:
107.需要说明的是,损失函数包括编码损失函数、生成损失函数和辨别损失函数。
108.步骤s401,根据目标语音对编码模型中的编码器和生成器进行训练,生成训练语音;
109.步骤s402,根据编码模型中的辨别器对训练语音进行计算,得到辨别预测值;
110.步骤s403,根据辨别预测值更新辨别器的辨别损失函数以及生成器的生成损失函数;
111.步骤s404,根据语音内容更新内容编码器的编码损失函数。
112.在一些实施例的步骤s401中,根据目标语音对编码模型中的编码器和生成器进行训练,生成训练语音,其中,训练语音为编码器和生成器生成的合成语音,便于后续对辨别器的训练。
113.在一些实施例的步骤s402中,根据编码模型中的辨别器对训练语音进行计算,得到辨别预测值,便于后续更新编码损失函数。
114.需要说明的是,首先通过目标语音对编码器和生成器进行训练,得到训练语音,从而能够根据训练语音去训练辨别器,使得辨别器判断训练语音是否为合成语音,得到训练语音与真实语音的区别,并根据训练语音与真实语音的区别得到辨别预测值。
115.在一些实施例的步骤s403中,根据辨别预测值更新辨别器的辨别损失函数以及生成器的生成损失函数,便于通过辨别损失函数和生成损失函数对辨别器和生成器进行更新,提高模型转换的效率。
116.需要说明的是,辨别损失函数和生成损失函数都为对抗性损失函数。
117.在一些实施例中,辨别损失函数的公式(1)和生成损失函数(2)表示如下:
[0118][0119][0120]
可以理解的是,公式(1)和公式(2)中,d为辨别器,g为生成器,c为源说话人的语音内容,为训练语音的语音向量,ec为内容编码器,为辨别器对训练语音进行计算得到的辨别预测值。
[0121]
在一些实施例的步骤s404中,根据语音内容更新内容编码器的编码损失函数,从而使得转换的后的合成语音保持源说话人的语音内容,避免语音内容发生改变或者缺失。
[0122]
在一些实施例中编码损失函数的公式(3)表示如下::
[0123][0124]
可以理解的是,公式(3)中ec(x)为将源说话人语音输入内容编码器得到的结果。
[0125]
请参阅图5,在一些实施例中,步骤s402还可以包括但不限于包括步骤s501至步骤s502:
[0126]
步骤s501,获取真实语音集合;
[0127]
需要说明的是,真实语音集合由多名说话人的真实语音组成。
[0128]
步骤s502,将训练语音输入编码模型中的辨别器,以使训练语音与真实语音集合中的真实语音进行对比,得到对比结果;
[0129]
步骤s503,根据对比结果得到辨别预测值。
[0130]
在一些实施例的步骤s501中,获取真实语音集合,并且真实语音集合由多名说话人的真实语音组成,真实语音包括真实语音内容以及真实语音向量等,便于后续辨别器对真实语音与训练语音进行对比。
[0131]
在一些实施例的步骤s502中,将训练语音输入编码模型中的辨别器,以使训练语音与真实语音集合中的真实语音进行对比,得到对比结果,从而能够准确的得到训练语音与真实语音之间的区别,便于精准确定辨别预测值。
[0132]
需要说明的是,训练语音与真实语音进行对比包括对两者的音信息、音频信息、音素信息等进行对比,从而得到多个对比结果。
[0133]
在一些实施例的步骤s503中,根据步骤s502得到的多个对比结果进行整合,从而得到辨别预测值,实现对编码模型的更新。
[0134]
请参阅图6,在一些实施例,步骤s106包括但不限于包括步骤s601至步骤s602:
[0135]
需要说明的是,目标编码模型包括目标编码器和目标生成器。
[0136]
步骤s601,将语音请求输入目标编码模型中的目标编码器进行向量提取,得到语音请求的请求语音向量;
[0137]
步骤s602,将请求语音向量输入目标编码模型进行相对熵计算,得到计算结果;
[0138]
步骤s603,将计算结果和音信息输入目标编码模型的目标生成器,生成与语音请求对应的合成语音。
[0139]
在一些实施例的步骤s601中,将语音请求输入目标编码模型中的目标编码器进行向量提取,得到语音请求的请求语音向量,便于后续根据请求语音向量进行语音转换。
[0140]
在一些实施例的步骤s602中,将请求语音向量输入目标编码模型进行相对熵计算,得到计算结果,从而实现对请求语音向量的约束,提高了目标编码模型对输入的语音请求的鲁棒性,使得请求语音向量更加平滑和连续。
[0141]
在一些实施例的步骤s603中,将计算结果和音信息输入目标编码模型的目标生成器,生成与语音请求对应的合成语音,从而使得合成语音与请求语音中的音信息一致,提高语音转换的音相似度。
[0142]
在一些实施例中,还可以通过音信息对目标生成器进行训练,从而增加与目标生成器对应的重构损失函数,重构损失函数(4)如下:
[0143]
l
fm
(g,ec)=||d(x)-d(g(c,z))||
ꢀꢀꢀ
(4)
[0144]
可以理解的是,公式(4)中,d为辨别器,g为生成器,c为源说话人的语音内容,z为请求语音向量,ec为内容编码器。
[0145]
请参阅图7,在一些实施例中,步骤s601可以包括但不限于包括步骤s701至步骤s702:
[0146]
需要说明的是,目标编码器包括残差层。
[0147]
在一些实施例中,目标编码器中的目标编码器包括四层上采样层和四层残差层,目标生成器包括四层残差层和四层下采样层。
[0148]
步骤s701,将语音请求输入目标编码模型中的目标编码器进行提取,得到语音请求的梅尔倒频谱;
[0149]
步骤s702,根据目标编码器的残差层对梅尔倒频谱进行计算,得到请求语音向量。
[0150]
在一些实施例的步骤s701中,将语音请求输入目标编码模型中的目标编码器进行提取,得到语音请求的梅尔倒频谱,从而降低目标编码模型对语料的要求。
[0151]
在一些实施例的步骤s702中,根据目标编码器的残差层对梅尔倒频谱进行计算,得到请求语音向量,便于后续根据请求语音向量进行语音转换。
[0152]
在一些实施例中,首先提取目标语音请求中的梅尔倒频谱,之后将梅尔倒频谱输入目标编码器的残差层进行计算,得到请求语音向量,最后将请求语音向量输入目标编码模型进行相对熵计算,得到计算结果。
[0153]
需要说明的是,将请求语音向量输入目标编码模型进行相对熵计算的相对熵函数(5)如下:
[0154]
l
kl
(es)=log(p(z;μ,σ))-log(n(z;0,1))
ꢀꢀꢀ
(5)
[0155]
可以理解的是,n(z;0,1)表示标准正态分布。p(z;μ,σ)表示说话人向量z服从以均值为μ,标准差为σ的正态分布。其中均值μ和标准差σ为编码器es的输出,均值μ和标准差σ为将梅尔倒频谱输入目标编码器的残差层进行计算的结果。
[0156]
在一些实施例中,通过公式(1)-(5)得到目标编码网络的损失函数(6),具体公式如下:
[0157]
l(g,ec,es)=l
adv
(g,ec)+l
fm
(g,ec)+l
con
(g,ec)+l
kl
(es)
ꢀꢀꢀ
(6)
[0158]
请参阅图8,本技术实施例还提供一种基于编码模型的语音转换装置,可以实现上述基于编码模型的语音转换方法,该装置包括:
[0159]
样本获取模块801,用于获取样本语音集合,样本语音集合包括源说话人语音和参考语音;
[0160]
语音合成模块802,用于基于编码模型对样本语音集合中的源说话人语音和参考语音进行语音合成,得到目标语音;
[0161]
模型训练模块803,用于根据目标语音对编码模型进行训练,确定与编码模型对应的损失函数;
[0162]
模型更新模块804,用于根据损失函数更新编码模型,得到目标编码模型;
[0163]
接收请求模块805,用于接收用户的语音请求,语音请求携带音信息;
[0164]
语音转换模块806,用于将语音请求输入目标编码模型,根据音信息将中的语音请求转换成对应的合成语音。
[0165]
该基于编码模型的语音转换装置的具体实施方式与上述基于编码模型的语音转换方法的具体实施例基本相同,在此不再赘述。
[0166]
本技术实施例还提供了一种电子设备,电子设备包括::存储器、处理器、存储在存
储器上并可在处理器上运行的程序以及用于实现处理器和存储器之间的连接通信的数据总线,程序被处理器执行时实现上述基于编码模型的语音转换方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
[0167]
请参阅图9,图9示意了另一实施例的电子设备的硬件结构,电子设备包括:
[0168]
处理器901,可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specificintegrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本技术实施例所提供的技术方案;
[0169]
存储器902,可以采用只读存储器(read only memory,rom)、静态存储设备、动态存储设备或者随机存取存储器(random access memory,ram)等形式实现。存储器902可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器902中,并由处理器901来调用执行本技术实施例的基于编码模型的语音转换方法;
[0170]
输入/输出接口903,用于实现信息输入及输出;
[0171]
通信接口904,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信;
[0172]
总线905,在设备的各个组件(例如处理器901、存储器902、输入/输出接口903和通信接口904)之间传输信息;
[0173]
其中处理器901、存储器902、输入/输出接口903和通信接口904通过总线905实现彼此之间在设备内部的通信连接。
[0174]
本技术实施例还提供了一种存储介质,存储介质为计算机可读存储介质,用于计算机可读存储,存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述基于编码模型的语音转换方法。
[0175]
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0176]
本技术实施例提供的基于编码模型的语音转换方法、基于编码模型的语音转换装置、电子设备及存储介质,首先,获取样本语音集合,并基于编码模型对样本语音集合中的源说话人语音和参考语音进行合成,得到目标语音,便于对编码模型的训练,之后通过目标语音对编码模型进行训练,得到编码模型的损失函数,根据损失函数对编码模型进行更新,得到目标编码模型,从而增强编码模型的泛化能力,提高语音转换的效率以及准确率,最后接收用户的语音请求,并将语音请求输入目标编码模型,使得目标编码模型根据语音请求中的音信息对语音进行转换,得到最终的合成语音,从而增强编码模型对任意说话人的泛化性,提高语音转换的准确性,并通过对音信息的改善,增强合成语音的真实性。
[0177]
本技术实施例描述的实施例是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
[0178]
本领域技术人员可以理解的是,图1-7中示出的技术方案并不构成对本技术实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
[0179]
上述对本技术特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,附图中描绘的过程不一定必须按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0180]
本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0181]
本技术实施例提供的装置、设备、计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、计算机存储介质的有益技术效果。
[0182]
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。
[0183]
例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,例如:
[0184]
abel(advanced boolean expression language);ahdl(altera hardware description language);confluence;cupl(cornell university programming language);hdcal;以及jhdl(java hardware description language);lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等;目前,在本领域技术之中,相比之下更加较为常用的是vhdl(very-high-speed integrated circuit hardware description language)以及语言verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0185]
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,
asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:
[0186]
arc 625d、atmel at91sam、microchip地址pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0187]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0188]
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本技术实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0189]
本领域内的技术人员应明白,本技术实施例可提供为方法、系统、或计算机程序产品。因此,本技术实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0190]
本说明书是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0191]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0192]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0193]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0194]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或
非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0195]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0196]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0197]
本技术实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示单独存在a、同时存在a和b、单独存在b的情况。其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
[0198]
本技术实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0199]
本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0200]
以上仅为本技术实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。

技术特征:


1.一种基于编码模型的语音转换方法,其特征在于,所述方法包括:获取样本语音集合,所述样本语音集合包括源说话人语音和参考语音;基于所述编码模型对所述样本语音集合中的所述源说话人语音和所述参考语音进行语音合成,得到目标语音;根据所述目标语音对所述编码模型进行训练,确定与所述编码模型对应的损失函数;根据所述损失函数更新所述编码模型,得到目标编码模型;接收用户的语音请求,所述语音请求携带音信息;将所述语音请求输入所述目标编码模型,根据所述音信息将所述语音请求中的语音转换成对应的合成语音。2.根据权利要求1所述的基于编码模型的语音转换方法,其特征在于,所述编码模型包括内容编码器和向量编码器;所述基于所述编码模型对所述样本语音集合中的所述源说话人语音和所述参考语音进行语音合成,得到目标语音,包括:将所述源说话人语音输入所述编码模型中的所述内容编码器进行映射,得到所述源说话人语音的语音内容;将所述参考语音输入所述编码模型中的所述向量编码器进行向量提取,得到所述参考语音的参考语音向量;根据所述参考语音向量和所述语音内容进行语音合成,得到所述目标语音。3.根据权利要求2所述的基于编码模型的语音转换方法,其特征在于,所述根据所述参考语音向量和所述语音内容进行语音合成,得到所述目标语音,包括:将所述源说话人语音输入所述编码模型中的所述向量编码器进行向量提取,得到所述源说话人语音的源说话人向量;根据所述参考语音向量对所述源说话人语音中的所述源说话人向量进行替换,得到替换结果;将所述替换结果和所述语音内容输入所述编码模型中的生成器进行合成,生成所述目标语音。4.根据权利要求2所述的基于编码模型的语音转换方法,其特征在于,所述损失函数包括编码损失函数、生成损失函数和辨别损失函数;所述根据所述目标语音对所述编码模型进行训练,确定与所述编码模型对应的损失函数,包括:根据所述目标语音对所述编码模型中的编码器和生成器进行训练,生成训练语音;根据所述编码模型中的辨别器对所述训练语音进行计算,得到辨别预测值;根据所述辨别预测值更新所述辨别器的辨别损失函数以及所述生成器的生成损失函数;根据所述语音内容更新所述内容编码器的所述编码损失函数。5.根据权利要求4所述的基于编码模型的语音转换方法,其特征在于,所述根据所述编码模型中的辨别器对所述训练语音进行计算,得到辨别预测值,包括:获取真实语音集合,其中,所述真实语音集合由多名说话人的真实语音组成;将所述训练语音输入所述编码模型中的辨别器,以使所述训练语音与所述真实语音集合中的真实语音进行对比,得到对比结果;根据所述对比结果得到所述辨别预测值。
6.根据权利要求1所述的基于编码模型的语音转换方法,其特征在于,所述目标编码模型包括目标编码器和目标生成器;所述将所述语音请求输入所述目标编码模型,根据所述音信息生成与所述语音请求对应的合成语音,包括:将所述语音请求输入所述目标编码模型中的目标编码器进行向量提取,得到所述语音请求的请求语音向量;将所述请求语音向量输入所述目标编码模型进行相对熵计算,得到计算结果;将所述计算结果和所述音信息输入所述目标编码模型的目标生成器,生成与所述语音请求对应的所述合成语音。7.根据权利要求6所述的基于编码模型的语音转换方法,其特征在于,所述目标编码器包括残差层;所述将所述语音请求输入所述目标编码模型中的目标编码器进行向量提取,得到所述语音请求的所述请求语音向量,包括:将所述语音请求输入所述目标编码模型中的目标编码器进行提取,得到所述语音请求的梅尔倒频谱;根据所述目标编码器的残差层对所述梅尔倒频谱进行计算,得到所述请求语音向量。8.一种基于编码模型的语音转换装置,其特征在于,所述装置包括:样本获取模块,用于获取样本语音集合,所述样本语音集合包括源说话人语音和参考语音;语音合成模块,用于基于所述编码模型对所述样本语音集合中的所述源说话人语音和所述参考语音进行语音合成,得到目标语音;模型训练模块,用于根据所述目标语音对所述编码模型进行训练,确定与所述编码模型对应的损失函数;模型更新模块,用于根据所述损失函数更新所述编码模型,得到目标编码模型;接收请求模块,用于接收用户的语音请求,所述语音请求携带音信息;语音转换模块,用于将所述语音请求输入所述目标编码模型,根据所述音信息将中的语音所述语音请求转换成对应的合成语音。9.一种电子设备,其特征在于,所述电子设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现如权利要求1至7任一项所述的基于编码模型的语音转换方法的步骤。10.一种存储介质,所述存储介质为计算机可读存储介质,用于计算机可读存储,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1至7中任一项所述的基于编码模型的语音转换方法的步骤。

技术总结


本申请实施例提供了一种基于编码模型的语音转换方法、装置、电子设备及介质,属于语音转换技术领域。该方法包括:获取样本语音集合,样本语音集合包括源说话人语音和参考语音;基于编码模型对样本语音集合中的源说话人语音和参考语音进行语音合成,得到目标语音;根据目标语音对编码模型进行训练,确定与编码模型对应的损失函数;根据损失函数更新编码模型,得到目标编码模型;接收用户的语音请求,语音请求携带音信息;将语音请求输入目标编码模型,根据音信息将语音请求中的语音转换成对应的合成语音,本申请实施例能够增强编码模型对任意说话人的泛化性,提高语音转换的准确性以及真实性。以及真实性。以及真实性。


技术研发人员:

郭洋 王健宗

受保护的技术使用者:

平安科技(深圳)有限公司

技术研发日:

2022.07.29

技术公布日:

2022/11/2

本文发布于:2024-09-22 23:23:59,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/16126.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:语音   所述   模型   目标
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议