1.本发明涉及生成音信号的技术。
背景技术:
2.以往提出由生成表示歌唱音或演奏音等各种音的音信号的技术。例如,公知的midi(musical instrument digital interface)音源生成被赋予了断奏等演奏记号的音的音信号。另外,在非专利文献1公开了利用神经网络合成歌唱音的技术。
3.非专利文献1:merlijn blaauw,jordi bonada,"a neural parametric singing synthesizer,"arxiv,2017.4.12
技术实现要素:
4.在以往的midi音源中,被指示了断奏(staccato)的
音符的持续长度通过选通时间(gate time)的控制而以规定的比率(例如50%)进行缩短。但是,在实际的乐曲的歌唱或演奏中由于断奏而音符的持续长度被缩短的程度根据位于该音符的前后的音符的音高等各种要素而发生变化。因此,在被指示了断奏的音符的持续长度以固定的程度进行缩短的以往的midi音源中,难以生成表示在音乐上自然的音。另外,基于非专利文献1的技术,存在基于在机器学习中利用的训练
数据的倾向使各音符的持续长度缩短的情况,但没有设想例如针对每个音符单独地指示断奏的情况。此外,在以上的说明中例示出断奏,但例如对于使音符的持续长度缩短的任意的指示,能设想到同样的问题。考虑到以上情况,本发明的一个方式的目的在于,根据包含使音符的持续长度缩短的指示的
乐谱数据,生成表示在音乐上自然的音的音信号。
5.为了解决以上课题,本发明的一个方式涉及的音信号生成方法生成与乐谱数据相对应的音信号,该乐谱数据表示多个音符各自的持续长度和使
所述多个音符之中的特定音符的持续长度缩短的缩短指示,在该音信号生成方法中,通过将表示所述乐谱数据针对所述特定音符而指定的发音条件的条件数据输入至第1推定模型,从而生成表示使所述特定音符的持续长度缩短的程度的缩短率,根据所述乐谱数据,生成表示发音条件且反映出使所述特定音符的持续长度根据所述缩短率而缩短的控制数据,生成与所述控制数据相对应的音信号。
6.本发明的一个方式涉及的推定模型训练方法取得包含条件数据和缩短率的多个训练数据,通过利用所述多个训练数据的机器学习,以对所述条件数据和所述缩短率之间的关系进行学习的方式对推定模型进行训练,其中,所述条件数据表示乐谱数据针对特定音符而指定的发音条件,该乐谱数据表示多个音符各自的持续长度和使所述多个音符之中的所述特定音符的持续长度缩短的缩短指示,所述缩短率表示使所述特定音符的持续长度缩短的程度。
7.本发明的一个方式涉及的音信号生成系统具有1个以上的处理器和记录了程序的存储器,生成与乐谱数据相对应的音信号,该乐谱数据表示多个音符各自的持续长度和使
所述多个音符之中的特定音符的持续长度缩短的缩短指示,在该音信号生成系统中,所述1个以上的处理器通过执行所述程序而实现如下处理:通过将表示所述乐谱数据针对所述特定音符而指定的发音条件的条件数据输入至第1推定模型,从而生成表示使所述特定音符的持续长度缩短的程度的缩短率,根据所述乐谱数据,生成表示发音条件且反映出使所述特定音符的持续长度根据所述缩短率而缩短的控制数据,生成与所述控制数据相对应的音信号。
8.本发明的一个方式涉及的程序用于生成与乐谱数据相对应的音信号,该乐谱数据表示多个音符各自的持续长度和使所述多个音符之中的特定音符的持续长度缩短的缩短指示,该程序使计算机执行如下处理:通过将表示所述乐谱数据针对所述特定音符而指定的发音条件的条件数据输入至第1推定模型,从而生成表示使所述特定音符的持续长度缩短的程度的缩短率,根据所述乐谱数据,生成表示发音条件且反映出使所述特定音符的持续长度根据所述缩短率而缩短的控制数据,生成与所述控制数据相对应的音信号。
附图说明
9.图1是例示出音信号生成系统的结构的框图。
10.图2是信号生成部使用的数据的说明图。
11.图3是例示出音信号生成系统的功能性结构的框图。
12.图4是例示出信号生成处理的具体流程的流程图。
13.图5是学习处理部使用的数据的说明图。
14.图6是例示出与第1推定模型相关的学习处理的具体流程的流程图。
15.图7是例示出取得训练数据的处理的具体流程的流程图。
16.图8是例示出机器学习处理的具体流程的流程图。
17.图9是例示出第2实施方式的音信号生成系统的结构的流程图。
18.图10是例示出第2实施方式的信号生成处理的具体流程的流程图。
具体实施方式
19.a:第1实施方式
20.图1是例示出本发明的第1实施方式涉及的音信号生成系统100的结构的框图。音信号生成系统100是具有控制装置11、存储装置12和放音装置13的计算机系统。音信号生成系统100例如通过智能手机、平板终端或个人计算机等信息终端而实现。此外,音信号生成系统100除了通过单体的装置而实现以外,还可以通过相互分体地构成的多个装置(例如客户端服务器系统)而实现。
21.控制装置11是对音信号生成系统100的各要素进行控制的单个或多个处理器。具体而言,例如通过cpu(central processing unit)、spu(sound processing unit)、dsp(digital signal processor)、fpga(field programmable gate array)、或asic(application specific integrated circuit)等1种以上的处理器构成控制装置11。
22.控制装置11生成表示成为合成的目标的任意音(以下,称为“目标音”)的音信号v。音信号v是表示目标音的波形的时域的信号。目标音是通过乐曲的演奏而发音的演奏音。具体而言,目标音除了通过乐器的演奏而发音的乐音以外,还包含通过歌唱而发音的歌唱音。
即,“演奏”是除了乐器的演奏这一原本含义以外还包含歌唱的广义性概念。
23.放音装置13对由控制装置11生成的音信号v所表示的目标音进行放音。放音装置13例如是扬声器或耳机。此外,将音信号v从数字变换为模拟的d/a变换器和将音信号v放大的放大器出于便利而省略了图示。另外,在图1,例示出将放音装置13搭载于音信号生成系统100的结构,但与音信号生成系统100分体的放音装置13也可以通过有线或无线的方式与音信号生成系统100连接。
24.存储装置12是对控制装置11执行的程序和控制装置11使用的各种数据进行存储的单个或多个存储器。存储装置12例如由磁记录介质或半导体记录介质等公知的记录介质构成,或者由多种记录介质的组合构成。此外,也可以准备与音信号生成系统100分体的存储装置12(例如,云存储),经由例如移动通信网或互联网等通信网而由控制装置11执行针对存储装置12的写入及读出。即,存储装置12可以从音信号生成系统100省略。
25.存储装置12对表示乐曲的乐谱数据d1进行存储。如图2所例示的那样,乐谱数据d1针对构成乐曲的多个音符各自而指定音高和持续长度(音符时值)。在目标音为歌唱音的情况下,乐谱数据d1包含各音符的音韵(歌词)的指定。另外,针对由乐谱数据d1指定的多个音符之中1个以上的音符(以下,称为“特定音符”)而指示断奏。断奏是指使特定音符的持续长度缩短的演奏记号。音信号生成系统100生成与乐谱数据d1相对应的音信号v。
26.[1]信号生成部20
[0027]
图3是例示出音信号生成系统100的功能性结构的框图。控制装置11通过执行在存储装置12存储的音信号生成程序p1而作为信号生成部20起作用。信号生成部20根据乐谱数据d1而生成音信号v。信号生成部20具有调整处理部21、第1生成部22、控制数据生成部23和输出处理部24。
[0028]
调整处理部21通过乐谱数据d1的调整而生成乐谱数据d2。具体而言,调整处理部21如图2所例示的那样,通过将乐谱数据d1针对每个音符而指定的起点及终点在时间轴上进行调整,从而生成乐谱数据d2。例如,乐曲的演奏音有时在由乐谱指定的音符的起点到来前开始发音。例如,在对由辅音和元音构成的歌词进行发音的情况下,如果从音符的起点前开始进行辅音的发音,在该起点开始进行元音的发音,则由聆听者识别为自然的歌唱音。考虑到以上的倾向,调整处理部21通过将乐谱数据d1所表示的各音符的起点及终点在时间轴上向前方调整,从而生成乐谱数据d2。例如,调整处理部21通过将乐谱数据d1所指定的各音符的起点向前方调整,从而以使得从调整前的音符的起点前开始进行辅音的发音,在该起点开始进行元音的发音的方式,对各音符的期间进行调整。乐谱数据d2与乐谱数据d1相同地,是针对乐曲的多个音符各自而指定音高和持续长度的数据,针对特定音符而包含断奏的指示(缩短指示)。
[0029]
图3的第1生成部22针对乐曲内的每个特定音符而生成缩短率α,该缩短率α表示使乐谱数据d2所指定的多个音符之中的特定音符缩短的程度。对于由第1生成部22进行的缩短率α的生成,利用第1推定模型m1。第1推定模型m1是针对条件数据x的输入而输出缩短率α的统计模型,该条件数据x表示乐谱数据d2针对特定音符而指定的条件(以下,称为“发音条件”)。即,第1推定模型m1是对乐曲内的特定音符的发音条件和与该特定音符相关的缩短率α之间的关系进行了学习的机器学习模型。缩短率α是例如相对于缩短前的特定音符的持续长度的缩短幅度的比率,设定为小于1的正数。缩短幅度是缩短前的特定音符的持续长度之
中由于缩短而消失的区间的时间长度(即,缩短前的持续长度和缩短后的持续长度之间的差值)。
[0030]
由条件数据x表示的发音条件(环境(context))例如包含特定音符的音高及持续长度。此外,持续长度可以通过时间长度进行指定,也可以通过音符时值进行指定。另外,发音条件例如包含与位于特定音符的前方(例如紧邻前方)的音符、和位于特定音符的后方(例如紧邻后方)音符中的至少一者相关的任意信息(例如音高、持续长度、开始位置、结束位置、与特定音符的音高差等)。但是与位于特定音符的前方或后方的音符相关的信息也可以从由条件数据x表示的发音条件省略。
[0031]
第1推定模型m1例如由循环神经网络(rnn:recurrent neural network)、或卷积神经网络(cnn:convolutional neural network)等任意形式的深度神经网络构成。也可以将多种深度神经网络的组合作为第1推定模型m1而利用。另外,长短期存储(lstm:long short-term memory)单元等附加性要素也可以搭载于第1推定模型m1。
[0032]
第1推定模型m1通过使控制装置11执行根据条件数据x而生成缩短率α的运算的推定程序、和应用于该运算的多个变量k1(具体而言,加权值及偏差)的组合而实现。第1推定模型m1的多个变量k1在通过机器学习事先设定的基础上存储于存储装置12。
[0033]
控制数据生成部23生成与乐谱数据d2和缩短率α相对应的控制数据c。由控制数据生成部23进行的控制数据c的生成是针对时间轴上的每个单位期间(例如规定长度的帧)而执行的。单位期间是与乐曲的音符相比充分短的时间长度的期间。
[0034]
控制数据c是表示与乐谱数据d2对应的目标音的发音条件的数据。具体而言,各单位期间的控制数据c例如包含将该单位期间包含在内的音符的音高n及持续长度。另外,各单位期间的控制数据c例如包含与包含该单位期间的该音符的前方(例如紧邻前方)的音符及后方(例如紧邻后方)的音符中的至少一者相关的任意信息(例如音高、持续长度、开始位置、结束位置、与特定音符之间的音高差等)。另外,在目标音为歌唱音的情况下,控制数据c包含音韵(歌词)。此外,与前方或后方的音符相关的信息也可以从控制数据c省略。
[0035]
在图2中示意性图示出通过控制数据c的时间序列表现的目标音的音高。控制数据生成部23生成控制数据c,该控制数据c表示反映出使特定音符的持续长度根据该特定音符的缩短率α而缩短的发音条件。控制数据c表示的特定音符是将乐谱数据d2所指定的特定音符与缩短率α相对应地缩短后的音符。例如,控制数据c表示的特定音符的持续长度被设定为,将从规定值(例如1)减去缩短率α的数值乘以乐谱数据d2所指定的特定音符的持续长度得到的时间长度。控制数据c表示的特定音符的起点和乐谱数据d2表示的特定音符的起点是共通的。因此,特定音符的缩短的结果是,产生从该特定音符的终点至紧邻后方的音符的起点为止的无音的期间(以下,称为“无音期间”)τ。控制数据生成部23针对无音期间τ内的各单位期间而生成表示无音的控制数据c。例如,对代表无音的数值设定了音高n后的控制数据c是针对无音期间τ内的各单位期间而生成的。此外,针对无音期间τ内的各单位期间,也可以取代将音高n设定于无音的控制数据c,而由控制数据生成部23生成表示休止符的控制数据c。即,控制数据c只要是能够区分音符发音的发音期间和没有发音的无音期间τ的数据即可。
[0036]
图3的输出处理部24生成与控制数据c的时间序列相对应的音信号v。即,控制数据生成部23及输出处理部24作为如下要素起作用,该要素生成反映出与缩短率α相对应的特
定音符的缩短的音信号v。输出处理部24具有第2生成部241和波形合成部242。
[0037]
第2生成部241利用控制数据c而生成目标音的频率特性z。频率特性z是与目标音相关的频率区域的特征量。具体而言,频率特性z例如包含梅尔频谱或振幅频谱等频谱、和目标音的基本频率。频率特性z针对每个单位期间而生成。具体而言,根据各单位期间的控制数据c而生成该单位期间的频率特性z。即,第2生成部241生成频率特性z的时间序列。
[0038]
对于由第2生成部241进行的频率特性z的生成,利用与第1推定模型m1不同的第2推定模型m2。第2推定模型m2是针对控制数据c的输入而输出频率特性z的统计模型。即,第2推定模型m2是对控制数据c和频率特性z之间的关系进行了学习的机器学习模型。
[0039]
第2推定模型m2例如由循环神经网络或卷积神经网络等任意形式的深度神经网络构成。也可以将多种深度神经网络的组合作为第2推定模型m2而利用。另外,也可以将长短期存储单元等附加性要素搭载于第2推定模型m2。
[0040]
第2推定模型m2通过使控制装置11执行根据控制数据c而生成频率特性z的运算的推定程序、和应用于该运算的多个变量k2(具体而言,加权值及偏差)的组合来实现。第2推定模型m2的多个变量k2在通过机器学习事先设定的基础上存储于存储装置12。
[0041]
波形合成部242根据频率特性z的时间序列而生成目标音的音信号v。波形合成部242例如通过包含离散逆傅里叶变换的运算将频率特性z变换为时域性波形,针对相前后的单位期间将该波形连结,由此生成音信号v。此外,也可以利用例如对频率特性z和音信号v之间的关系进行了学习的深度神经网络(所谓神经声码器),由波形合成部242根据频率特性z而生成音信号v。波形合成部242生成的音信号v被供给至放音装置13,由此,目标音被从放音装置13放音。
[0042]
图4是例示出控制装置11生成音信号v的处理(以下,称为“信号生成处理”)的具体流程的流程图。例如以来自利用者的指示作为契机,开始信号生成处理。
[0043]
如果开始信号生成处理,则调整处理部21根据存储装置12所存储的乐谱数据d1而生成乐谱数据d2(s11)。第1生成部22从由乐谱数据d2表示的多个音符对被指示了断奏的各特定音符进行检测,将与该特定音符相关的条件数据x输入至第1推定模型m1,由此生成缩短率α(s12)。
[0044]
控制数据生成部23与乐谱数据d2和缩短率α相对应地,生成各单位期间的控制数据c(s13)。如前述那样,针对与缩短率α相对应的特定音符的缩短被反映于控制数据c、且由于该缩短而产生的无音期间τ内的各单位期间,生成表示无音的控制数据c。
[0045]
第2生成部241通过将控制数据c输入至第2推定模型m2而生成单位期间的频率特性z(s14)。波形合成部242根据单位期间的频率特性z而生成目标音的音信号v之中的该单位期间内的部分(s15)。控制数据c的生成(s13)、频率特性z的生成(s14)和音信号v的生成(s15)是针对整个乐曲,在每个单位期间执行的。
[0046]
如以上所说明的那样,在第1实施方式,将乐谱数据d2表示的多个音符之中的特定音符的条件数据x输入至第1推定模型m1,由此生成缩短率α,生成反映出使特定音符的持续长度通过该缩短率α进行了缩短的控制数据c。即,使特定音符缩短的程度与乐曲内的特定音符的发音条件相对应地变化。因此,能够根据包含特定音符的断奏的乐谱数据d2而生成音乐上自然的目标音的音信号v。
[0047]
[2]学习处理部30
[0048]
如图3所例示的那样,控制装置11通过执行存储装置12所存储的机器学习程序p而作为学习处理部30起作用。学习处理部30通过机器学习对在信号生成处理中利用的第1推定模型m1和第2推定模型m2进行训练。学习处理部30具有调整处理部31、信号解析部32、第1训练部33、控制数据生成部34和第2训练部35。
[0049]
存储装置12对在机器学习中利用的多个基础数据b进行存储。多个基础数据b分别由乐谱数据d1和参照信号r的组合构成。乐谱数据d1如前述那样,是针对乐曲的多个音符的各自指定音高和持续长度的数据,针对特定音符而包含断奏的指示(缩短指示)。包含不同的乐曲的乐谱数据d1的多个基础数据b被存储于存储装置12。
[0050]
图3的调整处理部31与前述的调整处理部21相同地,根据各基础数据b的乐谱数据d1而生成乐谱数据d2。乐谱数据d2与乐谱数据d1相同地,是针对乐曲的多个音符的各自指定音高和持续长度的数据,针对特定音符而包含断奏的指示(缩短指示)。但是,乐谱数据d2所指定的特定音符的持续长度没有被缩短。即,在乐谱数据d2没有反映出断奏。
[0051]
图5是学习处理部30使用的数据的说明图。各基础数据b的参照信号r是表示该基础数据b内的与乐谱数据d1对应的乐曲的演奏音的时域性信号。例如,对通过乐曲的演奏而从乐器发音的乐音、或通过乐曲的歌唱而发音的歌唱音进行收录,由此生成参照信号r。
[0052]
图3的信号解析部32在参照信号r中对与各音符对应的演奏音的发音期间q进行确定。如图5所例示的那样,例如,在参照信号r中音高或音韵发生变化的时间点或音量小于阈值的时间点确定为发音期间q的起点或终点。另外,信号解析部32针对时间轴上的每个单位期间而生成参照信号r的频率特性z。频率特性z如前述那样,例如是包含梅尔频谱或振幅频谱等频谱和参照信号r的基本频率的频率区域的特征量。
[0053]
在参照信号r中与乐曲内的各音符对应的音的发音期间q与乐谱数据d2表示的各音符的发音期间q基本上一致。但是,由于在乐谱数据d2所表示的各发音期间q没有反映出断奏,因此在参照信号r中与特定音符对应的发音期间q比乐谱数据d2所表示的特定音符的发音期间q短。如根据以上说明所理解的那样,通过对特定音符的发音期间q和发音期间q进行对比,从而能够掌握乐曲内的特定音符的持续长度在实际演奏中被缩短的程度。
[0054]
图3的第1训练部33通过利用多个训练数据t1的学习处理sc而对第1推定模型m1进行训练。学习处理sc是利用多个训练数据t1的有教师的机器学习。多个训练数据t1各自由条件数据x和缩短率α(正确值)的组合构成。
[0055]
图6是例示出学习处理sc的具体流程的流程图。如果开始学习处理sc,则第1训练部33取得多个训练数据t1(sc1)。图7是例示出第1训练部33取得训练数据t1的处理sc1的具体流程的流程图。
[0056]
第1训练部33从不同的乐谱数据d1,选择由调整处理部31生成的多个乐谱数据d2的任意者(以下,称为“选择乐谱数据d2”)(sc11)。第1训练部33从选择乐谱数据d2表示的多个音符,选择特定音符(以下,称为“选择特定音符”)(sc12)。第1训练部33生成表示选择特定音符的发音条件的条件数据x(sc13)。条件数据x表示的发音条件(环境)如前述那样,包含:选择特定音符的音高及持续长度;位于选择特定音符的前方(例如紧邻前方)的音符的音高及持续长度;位于选择特定音符的后方(例如紧邻后方)的音符的音高及持续长度。也可以将选择特定音符和紧邻前方或紧邻后方的音符之间的音高差包含在发音条件中。
[0057]
第1训练部33对选择特定音符的缩短率α进行计算(sc14)。具体而言,第1训练部33
通过对选择乐谱数据d2表示的选择特定音符的发音期间q和由信号解析部32根据参照信号r而确定出的该选择特定音符的发音期间q进行对比而生成缩短率α。例如,发音期间q的时间长度与发音期间q的时间长度的比率被作为缩短率α而进行计算。第1训练部33将由选择特定音符的条件数据x和该选择特定音符的缩短率α的组合构成的训练数据t1储存于存储装置12(sc15)。各训练数据t1的缩短率α相当于根据该训练数据t1的条件数据x而由第1推定模型m1应当生成的缩短率α的正确值。
[0058]
第1训练部33判定是否针对选择乐谱数据d2的全部的特定音符而生成了训练数据t1(sc16)。在残存有未选择的特定音符的情况下(sc16:no),第1训练部33从选择乐谱数据d2表示的多个特定音符中对未选择的特定音符进行选择(sc12),针对该选择特定音符而生成训练数据t1(sc13-sc15)。
[0059]
如果针对选择乐谱数据d2的全部的特定音符而生成训练数据t1(sc16:yes),则第1训练部33对是否针对多个乐谱数据d2的全部执行了以上的处理进行判定(sc17)。在残存有未选择的乐谱数据d2的情况下(sc17:no),第1训练部33从多个乐谱数据d2中对未选择的乐谱数据d2进行选择(sc11),针对该选择乐谱数据d2而执行各特定音符的训练数据t1的生成(sc12-sc16)。在针对全部的乐谱数据d2而执行了训练数据t1的生成的阶段(sc17:yes),将多个训练数据t1存储于存储装置12。
[0060]
如果通过以上的流程生成多个训练数据t1,则第1训练部33如图6所例示的那样,通过利用了多个训练数据t1的机器学习而对第1推定模型m1进行训练(sc21-sc25)。首先,第1训练部33选择多个训练数据t1的任意者(以下,称为“选择训练数据t1”)(sc21)。
[0061]
第1训练部33通过将选择训练数据t1的条件数据x输入至暂时的第1推定模型m1而生成缩短率α(sc22)。第1训练部33对损失函数进行计算(sc23),该损失函数表示第1推定模型m1生成的缩短率α和选择训练数据t1的缩短率α(即,正确值)之间的误差。第1训练部33以使得损失函数减小(理想情况是最小化)的方式,对规定第1推定模型m1的多个变量k1进行更新(sc24)。
[0062]
第1训练部33对规定的结束条件是否成立进行判定(sc25)。结束条件例如是,损失函数小于规定的阈值、或者损失函数的变化量小于规定的阈值。在结束条件不成立的情况下(sc25:no),第1训练部33对未选择的训练数据t1进行选择(sc21),利用该训练数据t1而执行缩短率α的计算(sc22)、损失函数的计算(sc23)和多个变量k1的更新(sc24)。
[0063]
第1推定模型m1的多个变量k1被确定为结束条件成立的阶段(sc25:yes)的数值。如以上所例示的那样,利用了训练数据t1的多个变量k1的更新(sc24)直至结束条件的成立为止反复进行。因此,第1推定模型m1对多个训练数据t1的条件数据x和缩短率α之间潜在的关系进行学习。即,由第1训练部33训练后的第1推定模型m1针对未知的条件数据x,基于该关系而输出统计上适当的缩短率α。
[0064]
图3的控制数据生成部34与控制数据生成部23相同地,针对每个单位期间而生成与乐谱数据d2和缩短率α相对应的控制数据c。对于控制数据c的生成,能利用在学习处理sc的步骤sc22中由第1训练部33计算出的缩短率α、或者利用在学习处理sc处理后的第1推定模型m1而生成的缩短率α。由控制数据生成部34针对各单位期间生成的控制数据c、和针对该单位期间而由信号解析部32根据参照信号r所生成的频率特性z的组合构成的多个训练数据t2被供给至第2训练部35。
[0065]
第2训练部35通过利用了多个训练数据t2的学习处理se对第2推定模型m2进行训练。学习处理se是利用了多个训练数据t2的有教师的机器学习。具体而言,第2训练部35与各训练数据t2的控制数据c相对应地,对表示由暂时的第2推定模型m2输出的频率特性z和该训练数据t2所包含的频率特性z之间的误差的误差函数进行计算。第2训练部35以使得误差函数减小(理想情况是最小化)的方式,对规定第2推定模型m2的多个变量k2反复进行更新。因此,第2推定模型m2对多个训练数据t2的控制数据c和频率特性z之间潜在的关系进行学习。即,由第2训练部35训练后的第2推定模型m2针对未知的控制数据c,基于该关系而输出统计上适当的频率特性z。
[0066]
图8是例示出控制装置11对第1推定模型m1及第2推定模型m2进行训练的处理(以下,称为“机器学习处理”)的具体流程的流程图。例如,以来自利用者的指示作为契机而开始机器学习处理。
[0067]
如果开始机器学习处理,则信号解析部32根据多个基础数据b各自的参照信号r,对多个发音期间q和每个单位期间的频率特性z进行确定(sa)。调整处理部31根据多个基础数据b各自的乐谱数据d1而生成乐谱数据d2(sb)。此外,参照信号r的解析(sa)和乐谱数据d2的生成(sb)的顺序也可以颠倒。
[0068]
第1训练部33通过前述的学习处理sc对第1推定模型m1进行训练。控制数据生成部34针对每个单位期间而生成与乐谱数据d2和缩短率α相对应的控制数据c(sd)。第2训练部35通过利用了多个训练数据t2的学习处理se对第2推定模型m2进行训练,该多个训练数据t2包含控制数据c和频率特性z。
[0069]
如根据以上说明所理解的那样,以对表示乐谱数据d2所表示的多个音符之中的特定音符的条件的条件数据x、和表示使特定音符的持续长度缩短的程度的缩短率α之间的关系进行学习的方式,对第1推定模型m1进行训练。即,特定音符的持续长度的缩短率α与该特定音符的发音条件相对应地变化。因此,能够根据包含使音符的持续长度缩短的断奏的乐谱数据d2,生成音乐上自然的目标音的音信号v。
[0070]
b:第2实施方式
[0071]
对第2实施方式进行说明。此外,在以下所例示的各方式中针对功能与第1实施方式相同的要素,沿用与在第1实施方式的说明中使用的标号相同的标号,适当省略各自的详细说明。
[0072]
在第1实施方式,在控制数据生成部23根据乐谱数据d2而生成控制数据c的处理(sd)中,应用缩短率α。在第2实施方式,在调整处理部21根据乐谱数据d1而生成乐谱数据d2的处理中,应用缩短率α。学习处理部30的结构及机器学习处理的内容与第1实施方式相同。
[0073]
图9是例示出第2实施方式的音信号生成系统100的功能性结构的框图。第1生成部22针对乐曲内的每个特定音符生成缩短率α,该缩短率α表示使乐谱数据d1所指定的多个音符之中的特定音符缩短的程度。具体而言,第1生成部22通过将表示乐谱数据d1针对各特定音符而指定的发音条件的条件数据x输入至第1推定模型m1,从而生成该特定音符的缩短率α。
[0074]
调整处理部21通过乐谱数据d1的调整而生成乐谱数据d2。调在由调整处理部21进行的乐谱数据d2的生成中应用缩短率α。具体而言,调整处理部21除了与第1实施方式相同地对乐谱数据d1针对每个音符而指定的起点及终点进行调整以外,还通过缩短率α使由乐
谱数据d1表示的特定音符的持续长度缩短,由此生成乐谱数据d2。即,生成反映出通过缩短率α进行的特定音符的缩短的乐谱数据d2。
[0075]
控制数据生成部23针对每个单位期间而生成与乐谱数据d2相对应的控制数据c。控制数据c与第1实施方式相同地,是表示与乐谱数据d2相对应的目标音的发音条件的数据。在第1实施方式,在控制数据c的生成中应用了缩短率α,但在第2实施方式,由于在乐谱数据d2反映出缩短率α,因此在控制数据c的生成中不应用缩短率α。
[0076]
图10是例示出第2实施方式的信号生成处理的具体流程的流程图。如果开始信号生成处理,则第1生成部22根据乐谱数据d1所指定的多个音符,对被指示了断奏的各特定音符进行检测,将与该特定音符相关的条件数据x输入至第1推定模型m1,由此生成缩短率α(s21)。
[0077]
调整处理部21生成与乐谱数据d1和缩短率α相对应的乐谱数据d2(s22)。在乐谱数据d2反映出通过缩短率α进行的特定音符的缩短。控制数据生成部23与乐谱数据d2相对应地,生成各单位期间的控制数据c(s23)。如根据以上说明所理解的那样,第2实施方式的控制数据c的生成包含如下处理:生成乐谱数据d1的特定音符的持续长度通过缩短率α而被缩短的乐谱数据d2的处理(s22);生成与乐谱数据d2对应的控制数据c的处理(s23)。第2实施方式的乐谱数据d2是“中间数据”的一个例子。
[0078]
以后的处理与第1实施方式相同。即,第2生成部241通过将控制数据c输入至第2推定模型m2而生成各单位期间的频率特性z(s24)。波形合成部242根据单位期间的频率特性z而生成目标音的音信号v之中的该单位期间内的部分(s25)。在第2实施方式,也能实现与第1实施方式相同的效果。
[0079]
此外,在学习处理sc中作为正确值而利用的缩短率α是与参照信号r的各音符的发音期间q和由调整处理部31调整后的乐谱数据d2指定于各音符的发音期间q之间的关系相对应地设定的。另一方面,第2实施方式的第1生成部22根据调整前的初始的乐谱数据d1而对缩短率α进行计算。因此,对比将与调整后的乐谱数据d2相对应的条件数据x输入至第1推定模型m1的第1实施方式,有可能生成与在学习处理sc中由第1推定模型m1学习到的条件数据x和缩短率α之间的关系完全不匹配的缩短率α。因此,从生成准确地与多个训练数据t1的倾向匹配的缩短率α的观点出发,通过将与调整后的乐谱数据d2相对应的条件数据x输入至第1推定模型m1而生成缩短率α的第1实施方式的结构是优选的。但是,在第2实施方式,也能生成概略地与多个训练数据t1的倾向匹配的缩短率α,因此有可能缩短率α的误差不会成为特别的问题。
[0080]
c:变形例
[0081]
以下,例示出向以上例示的各方式附加的具体变形的方式。可以在彼此不矛盾的范围,适当将从以下例示任意选择出的2个以上方式合并。
[0082]
(1)在前述的各方式,例示出将缩短幅度相对于缩短前的特定音符的持续长度的比率作为缩短率α,但缩短率α的计算方法不限定于以上的例示。例如,也可以将缩短前的特定音符的持续长度和缩短后的特定音符的持续长度的比率作为缩短率α而利用,还可以将表示缩短后的特定音符的持续长度的数值作为缩短率α而利用。在将缩短前的特定音符的持续长度和缩短后的特定音符的持续长度的比率作为缩短率α而利用的方式中,控制数据c表示的特定音符的持续长度被设定为向缩短前的特定音符的持续长度乘以缩短率α得到的
时间长度。另外,缩短率α可以是实际时间比例(scale)的数值,也可以是以各音符的音符时值作为基准的时间(tick)的比例的数值。
[0083]
(2)在前述的各方式,由信号解析部32对参照信号r的各音符的发音期间q进行了解析,但对发音期间q进行确定的方法不限定于以上的例示。例如,也可以是能够对参照信号r的波形进行参照的利用者以手动方式对发音期间q的端点进行指定。
[0084]
(3)条件数据x所指定的特定音符的发音条件不限定于在前述的各方式中例示出的事项。例如,例示出表示特定音符或周围的音符的强弱(强弱记号或速率)、在乐曲内包含特定音符的区间的和弦、节奏或调号、与特定音符相关的连奏线(slur)等演奏记号等与特定音符相关的各种条件的数据作为条件数据x。另外,乐曲内的特定音符被缩短的程度也依赖于在演奏中使用的乐器的种类、乐曲的演奏者、或乐曲的音乐流派。因此,条件数据x表示的发音条件还可以包含乐器的种类、演奏者、或音乐流派。
[0085]
(4)在前述的各方式,例示出由断奏实现的音符的缩短,但用于使音符的持续长度缩短的缩短指示不限定于断奏。例如,对于被指示了重音(accent)等的音符,也存在持续长度缩短的倾向。因此,除了断奏以外,重音等指示也包含于“缩短指示”。
[0086]
(5)在前述的各方式,例示出输出处理部24包含利用第2推定模型m2而生成频率特性z的第2生成部241的结构,但输出处理部24的具体结构不限定于以上的例示。例如,也可以利用对控制数据c和音信号v之间的关系进行了学习的第2推定模型m2,由输出处理部24生成与控制数据c相对应的音信号v。第2推定模型m2输出构成音信号v的各样本。另外,也可以由第2推定模型m2输出与音信号v的样本相关的概率分布的信息(例如平均及方差)。第2生成部241生成遵照概率分布的随机数作为音信号v的样本。
[0087]
(6)也可以通过在与智能手机或平板终端等终端装置之间进行通信的服务器装置而实现音信号生成系统100。例如,音信号生成系统100通过针对从终端装置接收到的乐谱数据d1的信号生成处理而生成音信号v,将该音信号v发送至终端装置。在将由终端装置内的调整处理部21生成的乐谱数据d2从该终端装置进行发送的结构中,从音信号生成系统100省略调整处理部21。另外,在输出处理部24搭载于终端装置的结构中,从音信号生成系统100省略输出处理部24。即,由控制数据生成部23生成的控制数据c被从音信号生成系统100发送至终端装置。
[0088]
(7)在前述的各方式,例示出具有信号生成部20和学习处理部30的音信号生成系统100,但也可以省略信号生成部20及学习处理部30的一者。具有学习处理部30的计算机系统还称为推定模型训练系统(机器学习系统)。推定模型训练系统的信号生成部20的有无是任意的。
[0089]
(8)以上例示的音信号生成系统100的功能如前述的那样,通过构成控制装置11的单个或多个处理器、和存储于存储装置12的程序(p1,p2)的协同动作而实现。本发明涉及的程序可以以储存于计算机可读取的记录介质的方式提供而安装于计算机。记录介质例如是非临时性(non-transitory)的记录介质,优选是cd-rom等光学式记录介质(光盘),还包含半导体记录介质或磁记录介质等公知的任意形式的记录介质。此外,作为非临时性的记录介质,包含除了临时性的传输信号(transitory,propagating signal)以外的任意的记录介质,也可以不将易失性的记录介质除外。另外,在传送装置经由通信网而传送程序的结构中,在该传送装置,对程序进行存储的存储装置12相当于前述的非临时性的记录介质。
[0090]
此外,实现第1推定模型m1或第2推定模型m2的程序的执行主体不限定于cpu等通用的处理电路。例如,也可以由专门用于tensor processing unit或neural engine等人工智能的处理电路执行程序。
[0091]
d:附录
[0092]
根据以上例示的方式,例如能够掌握以下结构。
[0093]
本发明的一个方式(方式1)涉及的音信号生成方法生成与乐谱数据相对应的音信号,该乐谱数据表示多个音符各自的持续长度和使所述多个音符之中的特定音符的持续长度缩短的缩短指示,在该音信号生成方法中,通过将表示所述乐谱数据针对所述特定音符而指定的发音条件的条件数据输入至第1推定模型,从而生成表示使所述特定音符的持续长度缩短的程度的缩短率,根据所述乐谱数据,生成表示发音条件且反映出使所述特定音符的持续长度根据所述缩短率而缩短的控制数据,生成与所述控制数据相对应的音信号。
[0094]
根据以上方式,通过将表示由乐谱数据表示的多个音符之中的特定音符的发音条件的条件数据输入至第1推定模型,从而生成表示使特定音符的持续长度缩短的程度的缩短率,生成控制数据,该控制数据表示反映出使特定音符的持续长度根据该缩短率而缩短的发音条件。即,使特定音符的持续长度缩短的程度与乐谱数据相对应地变化。因此,能够根据包含使音符的持续长度缩短的缩短指示的乐谱数据,生成音乐上自然的音的音信号。
[0095]“缩短指示”的代表例为断奏。但是,考虑到针对被指示了重音等的音符也存在持续长度缩短的倾向,重音等指示也包含于“缩短指示”。
[0096]“缩短率”的代表例是缩短幅度相对于缩短前的持续长度的比率、或缩短后的持续长度相对于缩短前的持续长度的比率,但缩短后的持续长度的数值等表示持续长度的缩短的程度的任意数值包含于“缩短率”。
[0097]“条件数据”表示的特定音符的“发音条件”是使缩短该特定音符的持续长度的程度变动的条件(即,变动要因)。例如,特定音符的音高或持续长度通过条件数据指定。另外,例如,与位于特定音符的前方(例如紧邻前方)的音符及位于特定音符的后方(例如紧邻后方)的音符中的至少一者相关的各种发音条件(例如音高、持续长度、开始位置、结束位置、与特定音符之间的音高差等)可以通过条件数据进行指定。即,在条件数据表示的发音条件中除了特定音符自身的条件以外,还可以包含与位于特定音符的周围的其他音符相关的条件。另外,乐谱数据表示的乐曲的音乐流派、或该乐曲的演奏者(包含歌唱者)等也包含于由条件数据表示的发音条件。
[0098]
在方式1的具体例(方式2)中,所述第1推定模型是对在乐曲内的音符指定的发音条件和该音符的缩短率之间的关系进行了学习的机器学习模型。根据以上方式,能够基于在利用于训练(机器学习)的多个训练数据中潜在的倾向,生成相对于乐曲内的音符的发音条件而统计上合适的缩短率。
[0099]
作为第1推定模型而利用的机器学习模型的种类是任意的。例如,神经网络或svr(support vector regression)模型等任意形式的统计模型被作为机器学习模型而利用。此外,从实现高精度的推定的观点出发,特别优选将神经网络作为机器学习模型。
[0100]
在方式2的具体例(方式3)中,所述条件数据表示的发音条件包含所述特定音符的音高及持续长度、和与位于所述特定音符的前方的音符及位于后方的音符中的至少一者相关的信息。
[0101]
在方式1至3中任一项的具体例(方式4)中,在所述音信号的生成中,通过将所述控制数据输入至与所述第1推定模型不同的第2推定模型,从而生成所述音信号。根据以上方式,通过利用与第1推定模型不同而单独准备的音信号生成用的第2推定模型,能够生成听感上自然的音信号。
[0102]“第2推定模型”是对控制数据和音信号之间的关系进行了学习的机器学习模型。作为第2推定模型而利用的机器学习模型的种类是任意的。例如,将神经网络或svr(support vector regression)模型等任意形式的统计模型作为机器学习模型而利用。
[0103]
在方式1至方式4中任一项的具体例(方式5)中,所述控制数据的生成包含如下处理:生成使得所述乐谱数据的所述特定音符的持续长度根据所述缩短率而缩短的中间数据,生成与所述中间数据对应的所述控制数据。
[0104]
本发明的一个方式涉及的推定模型训练方法取得包含条件数据和缩短率的多个训练数据,通过利用所述多个训练数据的机器学习,以对所述条件数据和所述缩短率之间的关系进行学习的方式对推定模型进行训练,其中,所述条件数据表示乐谱数据针对特定音符而指定的发音条件,该乐谱数据表示多个音符各自的持续长度和使所述多个音符之中的所述特定音符的持续长度缩短的缩短指示,所述缩短率表示使所述特定音符的持续长度缩短的程度。
[0105]
本发明的一个方式涉及的音信号生成系统具有1个以上的处理器和记录了程序的存储器,生成与乐谱数据相对应的音信号,该乐谱数据表示多个音符各自的持续长度和使所述多个音符之中的特定音符的持续长度缩短的缩短指示,在该音信号生成系统中,所述1个以上的处理器通过执行所述程序而实现如下处理:通过将表示所述乐谱数据针对所述特定音符而指定的发音条件的条件数据输入至第1推定模型,从而生成表示使所述特定音符的持续长度缩短的程度的缩短率,根据所述乐谱数据,生成表示发音条件且反映出使所述特定音符的持续长度根据所述缩短率而缩短的控制数据,生成与所述控制数据相对应的音信号。
[0106]
本发明的一个方式涉及的程序用于生成与乐谱数据相对应的音信号,该乐谱数据表示多个音符各自的持续长度和使所述多个音符之中的特定音符的持续长度缩短的缩短指示,该程序使计算机执行如下处理:通过将表示所述乐谱数据针对所述特定音符而指定的发音条件的条件数据输入至第1推定模型,从而生成表示使所述特定音符的持续长度缩短的程度的缩短率,根据所述乐谱数据,生成表示发音条件且反映出使所述特定音符的持续长度根据所述缩短率而缩短的控制数据,生成与所述控制数据相对应的音信号。
[0107]
本发明的一个方式涉及的推定模型通过条件数据的输入而输出缩短率,该条件数据表示乐谱数据针对特定音符而指定的发音条件,该乐谱数据表示多个音符各自的持续长度和使所述多个音符之中的所述特定音符的持续长度缩短的缩短指示,该缩短率表示使所述特定音符的持续长度缩短的程度。
[0108]
标号的说明
[0109]
100
…
音信号生成系统,11
…
控制装置,12
…
存储装置,13
…
放音装置,20
…
信号生成部,21
…
调整处理部,22
…
第1生成部,23
…
控制数据生成部,24
…
输出处理部,241
…
第2生成部,242
…
波形合成部,30
…
学习处理部,31
…
调整处理部,32
…
信号解析部,33
…
第1训练部,34
…
控制数据生成部,35
…
第2训练部。
技术特征:
1.一种音信号生成方法,其生成与乐谱数据相对应的音信号,该乐谱数据表示多个音符各自的持续长度和使所述多个音符之中的特定音符的持续长度缩短的缩短指示,该音信号生成方法通过计算机实现如下处理:通过将表示所述乐谱数据针对所述特定音符而指定的发音条件的条件数据输入至第1推定模型,从而生成表示使所述特定音符的持续长度缩短的程度的缩短率,根据所述乐谱数据生成控制数据,该控制数据表示发音条件且反映出使所述特定音符的持续长度根据所述缩短率而缩短,生成与所述控制数据相对应的音信号。2.根据权利要求1所述的音信号生成方法,其中,所述第1推定模型是对在乐曲内的音符指定的发音条件和该音符的缩短率之间的关系进行了学习的机器学习模型。3.根据权利要求2所述的音信号生成方法,其中,所述条件数据表示的发音条件包含所述特定音符的音高及持续长度、和与位于所述特定音符的前方的音符及位于后方的音符中的至少一者相关的信息。4.根据权利要求1至3中任一项所述的音信号生成方法,其中,在所述音信号的生成中,通过将所述控制数据输入至与所述第1推定模型不同的第2推定模型,从而生成所述音信号。5.根据权利要求1至4中任一项所述的音信号生成方法,其中,所述控制数据的生成包含如下处理:生成使得所述乐谱数据的所述特定音符的持续长度根据所述缩短率而缩短的中间数据;以及生成与所述中间数据对应的所述控制数据。6.一种推定模型训练方法,其通过计算机实现如下处理:取得包含条件数据和缩短率的多个训练数据,通过利用所述多个训练数据的机器学习,以对所述条件数据和所述缩短率之间的关系进行学习的方式对推定模型进行训练,其中,所述条件数据表示乐谱数据针对特定音符而指定的发音条件,该乐谱数据表示多个音符各自的持续长度和使所述多个音符之中的所述特定音符的持续长度缩短的缩短指示,所述缩短率表示使所述特定音符的持续长度缩短的程度。7.一种音信号生成系统,其具有1个以上的处理器和记录了程序的存储器,生成与乐谱数据相对应的音信号,该乐谱数据表示多个音符各自的持续长度和使所述多个音符之中的特定音符的持续长度缩短的缩短指示,在该音信号生成系统中,所述1个以上的处理器通过执行所述程序而实现如下处理:通过将表示所述乐谱数据针对所述特定音符而指定的发音条件的条件数据输入至第1推定模型,从而生成表示使所述特定音符的持续长度缩短的程度的缩短率,根据所述乐谱数据生成控制数据,该控制数据表示发音条件且反映出使所述特定音符的持续长度根据所述缩短率而缩短,
生成与所述控制数据相对应的音信号。8.一种程序,其用于生成与乐谱数据相对应的音信号,该乐谱数据表示多个音符各自的持续长度和使所述多个音符之中的特定音符的持续长度缩短的缩短指示,该程序使计算机执行如下处理:通过将表示所述乐谱数据针对所述特定音符而指定的发音条件的条件数据输入至第1推定模型,从而生成表示使所述特定音符的持续长度缩短的程度的缩短率,根据所述乐谱数据生成控制数据,该控制数据表示发音条件且反映出使所述特定音符的持续长度根据所述缩短率而缩短,生成与所述控制数据相对应的音信号。
技术总结
音信号生成系统生成与乐谱数据相对应的音信号,该乐谱数据表示多个音符各自的持续长度、和使多个音符之中的特定音符的持续长度缩短的缩短指示。具体而言,音信号生成系统通过将表示乐谱数据针对特定音符而指定的发音条件的条件数据输入至第1推定模型,从而生成表示使特定音符的持续长度缩短的程度的缩短率,根据乐谱数据,生成表示发音条件且反映出使特定音符的持续长度根据缩短率而缩短的控制数据,生成与控制数据相对应的音信号。生成与控制数据相对应的音信号。生成与控制数据相对应的音信号。
技术研发人员:
西村方成 才野庆二郎
受保护的技术使用者:
雅马哈株式会社
技术研发日:
2021.03.08
技术公布日:
2022/11/15