一种基于语音合成的乐谱智能视唱方法和系统

文档序号:1005936 发布日期:2020-10-23 浏览:19次 >En<

阅读说明:本技术 一种基于语音合成的乐谱智能视唱方法和系统 (Music score intelligent video-singing method and system based on voice synthesis ) 是由 刘昆宏 吴清强 吴苏悦 张敬峥 詹旺平 于 2020-06-24 设计创作,主要内容包括:本发明提供了一种基于语音合成的乐谱智能视唱方法和系统,所述方法包括:步骤一、数据准备,输入并解析abc乐谱,得出具体一个abc乐谱中每个音符的音高以及时长信息;步骤二、训练参数,制作训练数据时生成了长度5个以内的音符,即在处理一个完整的abc乐谱时,将其所有音符划分成5个音符一组;步骤三、合成音频拼接,具体包括乐谱分段识别、片段拼接、波形对齐与空白段填充三个子步骤;步骤四、对合成的音频进行可视化展示。本发明解决了训练过程计算量大、直接拼接时拼接痕迹会比较明显、拼接杂音等技术问题,生成的音频和原数据的效果对比很难分辨出差别。(The invention provides a music score intelligent video-singing method and a music score intelligent video-singing system based on voice synthesis, wherein the method comprises the following steps: step one, data preparation, namely inputting and analyzing an abc music score to obtain pitch and duration information of each note in the specific abc music score; step two, training parameters, namely generating notes with the length within 5 when training data are made, namely dividing all notes into a group of 5 notes when a complete abc music score is processed; step three, synthesizing audio splicing, specifically comprising three substeps of music score segmentation identification, segment splicing, waveform alignment and blank segment filling; and fourthly, visually displaying the synthesized audio. The invention solves the technical problems of large calculation amount in the training process, obvious splicing trace in direct splicing, splicing noise and the like, and the difference is difficult to distinguish by comparing the effects of the generated audio and the original data.)

一种基于语音合成的乐谱智能视唱方法和系统

技术领域

本发明属于计算机领域,具体地,涉及一种基于语音合成的乐谱智能视唱方法和系统。

背景技术

近年来,随着网络的不断发展,手机应用电脑应用的不断更新迭代,网络教育也在不断发展,而艺术类的学科则有一定的特殊性,它更强调老师与学生的沟通和互相的反馈,学生在学习这类课程时需要及时收到反馈才能正确认识到自己的错误,例如音乐学习,单纯的看谱唱谱每个学生会出现不同的问题,老师是无法同一时间去顾及每个学生,而我们学生在学习音乐这门课程的时候,最好是结合眼睛看,耳朵听,嘴巴唱,多个感官配合起来,这样才能够实现更好的去学习音乐这类刺激感官的科目。

本发明研究的是音乐线上教学平台的视唱教学板块,希望乐谱视唱可以由传统的请专业老师把每个乐谱唱好变为由计算机来模拟真人的唱法去唱乐谱,这样不仅学生可以灵活的学***台扩充数据库也有很大作用,所以本发明研究的问题借由计算机来完成乐谱视唱任务。

乐谱视唱是一个类似语音合成的问题,而现在的语音合成技术早已经达到投入市场的水平了,乐谱可以看成是一种特殊的语言,计算机要做的就是学习每个音符的发音。乐谱会在开头的信息中给出节拍等信息,所以处理时需要把这个信息带入到字符串中的所有音符中去,字符串中包含了每个音符的时长和音高的信息,但具体应用时面临训练数据太大会产生无法训练、直接拼接时拼接痕迹会比较明显,会产生杂音的等技术问题。

发明内容

本发明提供了一种基于语音合成的乐谱智能视唱方法和系统,能将乐谱翻译为一种新的语言,使之贴合某种语言的<文字,发音>的对应映射关系,解决了训练过程计算量大、直接拼接时拼接痕迹会比较明显、拼接杂音等技术问题,生成的音频和原数据的效果对比很难分辨出差别。

为了解决上述问题,本发明提供一种基于语音合成的乐谱智能视唱方法,所述方法包括:

步骤一、数据准备,输入并解析abc乐谱,得出具体一个abc乐谱中每个音符的音高以及时长信息;

步骤二、训练参数,制作训练数据时生成了长度5个以内的音符,即在处理一个完整的abc乐谱时,将其所有音符划分成5个音符一组;

步骤三、合成音频拼接,具体包括乐谱分段识别、片段拼接、波形对齐与空白段填充三个子步骤;

步骤四、对合成的音频进行可视化展示。

第二方面,本申请实施例提供了一种基于语音合成的乐谱智能视唱系统,所述系统包括:

数据准备模块,用于输入并解析abc乐谱,得出具体一个abc乐谱中每个音符的音高以及时长信息;

训练参数模块,制作训练数据时生成了长度5个以内的音符,即在处理一个完整的abc乐谱时,将其所有音符划分成5个音符一组;

合成音频拼接模块,包含乐谱分段识别子模块、片段拼接子模块、波形对齐与空白段填充子模块;

可视化模块,用于对合成的音频进行可视化展示。

第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现本申请实施例描述的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于:

所述计算机程序被处理器执行时实现如本申请实施例描述的方法。

附图说明

图1是本发明基于语音合成的乐谱智能视唱流程图;

图2是本发明基于乐谱合成音频结果效果图。

具体实施方式

为了能够使得本发明的发明目的、技术流程及技术创新点进行更加清晰的阐述,以下结合附图及实例,对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

为达到以上目的,本发明提供了一种基于语音合成的乐谱智能视唱方法。主流程如图1所示,该方法包括:

步骤一、数据准备,输入并解析abc乐谱,得出具体一个abc乐谱中每个音符的音高以及时长信息;

本申请的要处理的数据为abc文件,abc文件包含两个部分的信息,前面五行为乐谱的节奏,调等信息,下面内容为音符,与语言不同的是,乐谱是在乐谱的首部规定了整个乐谱的唱法,而语言是每一个词有独立的发音规则,所以在处理abc乐谱时,需要考虑类似的处理办法,将首部的乐谱信息带入到每一个音符中去。

步骤二、训练参数,制作训练数据时生成了长度5个以内的音符,即在处理一个完整的abc乐谱时,将其所有音符划分成5个音符一组;

步骤三、合成音频拼接,具体包括乐谱分段识别、片段拼接、波形对齐与空白段填充三个子步骤;

步骤四、对合成的音频进行可视化展示。

优选的,数据准备步骤还包括:每个音符设定由时长、音符、音高三个部分组成,时长最短单位选取了1/8拍,音符的时长为1/8、1/4、3/8、1/2、3/4、1拍,音域为f3~f#5,数据由于人声数据采集实在困难,使用vocaloid软件合成音频来替代人声,降半调用降一调的升半调表示,为了标注准确,所有“黑键”表示的音都统一用升半调表示。通过这种组合方式可以将乐谱首部信息带入每一个音符中,就解决了abc乐谱翻译问题。

优选的,训练过程还包括:本申请使用脚本生成了总共11000个数据,数据集划分为10000个数据作为训练数据,剩下1000个数据用于测试数据测试模型效果,测试方式为人工听音,分辨声音的时长和发音是否准确。训练每1000步会生成检查点和当前的encoder、decoder对齐状况,中途断开训练可以重新从检查点处恢复训练;将#和***数字都用英文字母代替,小节长度仍然固定,如果发音单词很短,使用长度不固定的数据,“r”音则在后续合成时直接添加进合成音频当中。

采用带宽为80的梅尔刻度声谱图作为解码器的目标输出,样本率为20000hz,帧长为50ms,帧偏移为12.5ms,优化器采用常规的adam,批大小为32,延迟学习率可以有效降低模型过拟合的情况。

优选的,合成音频拼接具体包括:

乐谱分段识别,对于一段abc文件进行拆分,以5个音符为一组拆分为多个小节,遇到“r”符号也进行分割,最后余下的音符一起作为一个小节,然后对每个小节用训练好的模型进行处理合成音频,生成每个小节对应的wav文件;

片段拼接,对分段合成的音频进行拼接;

波形对齐与空白段填充,对于连续唱的乐谱来说,粗略的拼接会有很明显的拼接痕迹,首先利用软件进行简单拼接观察发现需要处理两个基本问题,一是掐头去尾,合成的音频首尾处会有短暂的空白时间,因此需要对空白处进行修剪,由于合成音频的首尾空白时间几乎相同,所以可以统一进行处理,第二个问题是粗略拼接的“啪啪啪”声的问题,主要原因是在某个音后面若是接的浊音,即“哆”、“唻”、“咪”、“拉”四个音,即会出现这种情况,在放大波形图后发现出现杂音是因为该处波形的骤变引起的。为了解决这些问题,本申请采用如下方案:abc乐谱中’r’表示不发音的空音段,在合成音频时,对需要添加的部分直接加入空白时长的音频作为缓冲带,使用sox对小节进行合成,r音由两个部分组成,一是发音长度,二是r,根据abc乐谱的要求选择对应的“r”音频进行处理,每段拼接部分用一个非常短的即可消除杂音又不影响时长感受的r音来处理后输出。这种方法对杂音的消除有意想不到的结果。经试验,如图2所示,对乐谱合成音频结果图放大后可看到拼接处添加的空白r段,听感上并无明显感受。实际效果与直接人工合成音频无异。

作为另一方面,本申请还提供了一种基于语音合成的乐谱智能视唱系统,所述系统包括:

数据准备模块,用于输入并解析abc乐谱,得出具体一个abc乐谱中每个音符的音高以及时长信息;

训练参数模块,制作训练数据时生成了长度5个以内的音符,即在处理一个完整的abc乐谱时,将其所有音符划分成5个音符一组;

合成音频拼接模块,包含乐谱分段识别子模块、片段拼接子模块、波形对齐与空白段填充子模块;

可视化模块,用于对合成的音频进行可视化展示。

优选的,数据准备模块还包括:每个音符设定由时长、音符、音高三个部分组成,时长最短单位选取了1/8拍,音符的时长为1/8、1/4、3/8、1/2、3/4、1拍,音域为f3~f#5,数据由于人声数据采集实在困难,使用vocaloid软件合成音频来替代人声,降半调用降一调的升半调表示,为了标注准确,所有“黑键”表示的音都统一用升半调表示。

优选的,训练参数模块还用于:

训练每1000步会生成检查点和当前的encoder、decoder对齐状况,中途断开训练可以重新从检查点处恢复训练;

将#和***数字都用英文字母代替,小节长度仍然固定,如果发音单词很短,使用长度不固定的数据,“r”音则在后续合成时直接添加进合成音频当中。

优选的,合成音频拼接模块具体包括:

乐谱分段识别子模块,用于对于一段abc文件进行拆分,以5个音符为一组拆分为多个小节,遇到“r”符号也进行分割,最后余下的音符一起作为一个小节,然后对每个小节用训练好的模型进行处理合成音频,生成每个小节对应的wav文件;

片段拼接子模块,用于对分段合成的音频进行拼接;

波形对齐与空白段填充子模块,用于abc乐谱中’r’表示不发音的空音段,在合成音频时,对需要添加的部分直接加入空白时长的音频作为缓冲带,使用sox对小节进行合成,r音由两个部分组成,一是发音长度,二是r,根据abc乐谱的要求选择对应的“r”音频进行处理,每段拼接部分用一个非常短的即可消除杂音又不影响时长感受的r音来处理后输出。

作为另一方面,本申请还提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如描述于本申请实施例描述的方法。

作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中前述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,前述程序被一个或者一个以上的处理器用来执行描述于本申请实施例描述的方法。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(ProgrammableGate Array;以下简称:PGA),现场可编程门阵列(Field ProgrammableGate Array;以下简称:FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!