CN110288965B - 一种音乐合成方法、装置、电子设备及存储介质 - Google Patents
一种音乐合成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110288965B CN110288965B CN201910426223.7A CN201910426223A CN110288965B CN 110288965 B CN110288965 B CN 110288965B CN 201910426223 A CN201910426223 A CN 201910426223A CN 110288965 B CN110288965 B CN 110288965B
- Authority
- CN
- China
- Prior art keywords
- neural network
- music
- network unit
- recurrent neural
- preset
- 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
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0008—Associated control or indicating means
- G10H1/0025—Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/311—Neural networks for electrophonic musical instruments or musical processing, e.g. for musical recognition or control, automatic composition or improvisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
本公开提供了一种音乐合成方法、装置和电子设备及存储介质,所述方法包括:获取当前隐变量;将当前隐变量输入至循环神经网络模型包括的各个循环神经网络单元中,以得到各个循环神经网络单元输出的音乐特征;通过对抗神经网络模型中训练完成的生成器,将各个循环神经网络单元输出的音乐特征分别转换为对应的音乐序列;其中,循环神经网络单元以及生成器为在对抗神经网络模型中的判别器为训练完成的情况下得到的;将音乐序列进行序列拼接得到当前隐变量对应的合成音乐序列。各个音乐序列依赖于当前隐变量以及各个循环单元之前的至少一个循环单元输出的音乐特征,使得各个音乐序列依赖的序列长度较短,实现了人工智能合成较长音乐。
Description
技术领域
本公开涉及信息处理技术领域,尤其涉及一种音乐合成方法、装置、电子设备及存储介质。
背景技术
由于音乐本身具备结构性,例如,可以通过听觉器官识别到一段音乐的和弦走向、音阶等。这样,可以基于该音乐具备的结构性进行人工智能合成音乐的创作,通常当前时刻需要预测的音频信号可以由当前时刻之前的历史音频信号决定,可见,若该当前时刻之前的历史音频信号越多,则该当前时刻预测的音频信号越准确。考虑到音乐通常由一维离散的音频信号组成,例如,对于10s的音乐片段,若通过16KHz对该10s音乐片段进行采样,则可以得到160000个音频信号。
综上,对于较长时间的音乐片段,通常包括的音频信号均较多,则通过卷积神经网络对该音乐片段的下一音频信号进行预测的情况下,需要该卷积神经网络具备较大的感受野、或者增加该卷积神经网络的卷积层数,此时,造成卷积神经网络的内存消耗显著增长,使得在设备硬件上难以实现,从而导致无法对较长时间的音乐片段进行音乐合成。
发明内容
为克服相关技术中存在的问题,本公开提供一种音乐合成方法、装置、电子设备及存储介质,以解决现有技术中设备硬件上难以实现人工智能合成较长音乐的问题。
根据本公开实施例的第一方面,提供一种音乐合成方法,所述方法包括:
获取当前隐变量;
将所述当前隐变量输入至循环神经网络模型包括的各个循环神经网络单元中,以得到各个循环神经网络单元输出的音乐特征;
通过对抗神经网络模型中训练完成的生成器,将所述各个循环神经网络单元输出的音乐特征分别转换为对应的音乐序列;其中,所述各个循环神经网络单元以及所述生成器为在所述对抗神经网络模型中的判别器为训练完成的情况下得到的;
将所述音乐序列进行序列拼接,得到所述当前隐变量对应的合成音乐序列。
可选地,所述循环神经网络单元包括首个循环神经网络单元和非首个循环神经网络单元;所述将所述当前隐变量输入至循环神经网络模型包括的各个循环神经网络单元中,以得到各个循环神经网络单元输出的音乐特征,包括:
在所述循环神经网络单元为所述首个循环神经网络单元的情况下,将所述当前隐变量输入至所述循环神经网络模型包括的首个循环神经网络单元中,以得到所述首个循环神经网络单元输出的音乐特征;
在所述循环神经网络单元包括非首个循环神经网络单元的情况下,将所述当前隐变量、以及在所述非首个循环神经网络单元之前的至少一个循环神经网络单元输出的音乐特征,输入至所述循环神经网络模型包括的非首个循环神经网络单元中,以得到所述非首个循环神经网络单元输出的音乐特征;所述至少一个循环神经网络单元包括所述非首个循环神经网络单元对应的上一循环神经网络单元。
可选地,所述方法还包括:
获取第一隐变量样本;
将所述第一隐变量样本输入至所述循环神经网络模型包括的各个预设循环神经网络单元中,以得到各个预设循环神经网络单元输出的第一音乐特征样本;
通过所述对抗神经网络模型包括的预设生成器,将所述各个预设循环神经网络单元输出的第一音乐特征样本转换为对应的第一音乐序列样本;
将所述第一音乐序列样本进行序列拼接,得到所述第一隐变量样本对应的合成音乐序列样本;
获取多个目标音乐序列样本,并根据所述第一隐变量样本对应的合成音乐序列样本和所述多个目标音乐序列样本,对所述对抗神经网络模型包括的预设判别器进行训练得到训练完成的判别器,以及根据训练完成的判别器和第二隐变量样本对所述预设生成器和预设循环神经网络单元进一步训练得到训练完成的生成器和循环神经网络单元。
可选地,所述根据所述第一隐变量样本对应的合成音乐序列样本和所述多个目标音乐序列样本,对所述对抗神经网络模型包括的预设判别器进行训练得到训练完成的判别器,包括:
将所述第一隐变量样本对应的合成音乐序列样本和所述多个目标音乐序列样本分别输入至所述对抗神经网络模型包括的预设判别器中,得到第一判别结果;
根据所述第一判别结果对所述预设判别器进行训练,以得到训练完成的判别器。
可选地,所述根据训练完成的判别器和第二隐变量样本对所述预设生成器和预设循环神经网络单元进一步训练得到训练完成的生成器和循环神经网络单元,包括:
将所述第二隐变量样本输入至所述循环神经网络模型包括的各个预设循环神经网络单元中,以得到各个预设循环神经网络单元输出的第二音乐特征样本;
通过所述对抗神经网络模型包括的预设生成器,将所述各个预设循环神经网络单元输出的第二音乐特征样本转换为对应的第二音乐序列样本;
将所述第二音乐序列样本进行序列拼接,得到所述第二隐变量样本对应的合成音乐序列样本;
将所述第二隐变量样本对应的合成音乐序列样本输入至训练完成的判别器中,得到第二判别结果;
根据第二判别结果对所述预设生成器和所述预设循环神经网络单元进行训练,以得到训练完成的生成器和循环神经网络单元。
根据本公开实施例的第二方面,提供一种音乐合成装置,所述装置包括:
当前隐变量获取模块,被配置为获取当前隐变量;
音乐特征获取模块,被配置为将所述当前隐变量输入至循环神经网络模型包括的各个循环神经网络单元中,以得到各个循环神经网络单元输出的音乐特征;
音乐特征转换模块,被配置为通过对抗神经网络模型中训练完成的生成器,将所述各个循环神经网络单元输出的音乐特征分别转换为对应的音乐序列;其中,所述各个循环神经网络单元以及所述生成器为在所述对抗神经网络模型中的判别器为训练完成的情况下得到的;
合成音乐获取模块,被配置为将所述音乐序列进行序列拼接,得到所述当前隐变量对应的合成音乐序列。
可选地,所述循环神经网络单元包括首个循环神经网络单元和非首个循环神经网络单元;所述音乐特征获取模块,被配置为在所述循环神经网络单元为所述首个循环神经网络单元的情况下,将所述当前隐变量输入至所述循环神经网络模型包括的首个循环神经网络单元中,以得到所述首个循环神经网络单元输出的音乐特征;
在所述循环神经网络单元包括非首个循环神经网络单元的情况下,将所述当前隐变量、以及在所述非首个循环神经网络单元之前的至少一个循环神经网络单元输出的音乐特征,输入至所述循环神经网络模型包括的非首个循环神经网络单元中,以得到所述非首个循环神经网络单元输出的音乐特征;所述至少一个循环神经网络单元包括所述非首个循环神经网络单元对应的上一循环神经网络单元。
可选地,还包括:
隐变量样本获取模块,被配置为获取第一隐变量样本;
音乐特征样本获取模块,被配置为将所述第一隐变量样本输入至所述循环神经网络模型包括的各个预设循环神经网络单元中,以得到各个预设循环神经网络单元输出的第一音乐特征样本;
音乐特征样本转换模块,被配置为通过所述对抗神经网络模型包括的预设生成器,将所述各个预设循环神经网络单元输出的第一音乐特征样本转换为对应的第一音乐序列样本;
合成音乐样本获取模块,被配置为将所述第一音乐序列样本进行序列拼接,得到所述第一隐变量样本对应的合成音乐序列样本;
模型训练模块,被配置为获取多个目标音乐序列样本,并根据所述第一隐变量样本对应的合成音乐序列样本和所述多个目标音乐序列样本,对所述对抗神经网络模型包括的预设判别器进行训练得到训练完成的判别器,以及根据训练完成的判别器和第二隐变量样本对所述预设生成器和预设循环神经网络单元进一步训练得到训练完成的生成器和循环神经网络单元。
可选地,所述模型训练模块,被配置为将所述第一隐变量样本对应的合成音乐序列样本和所述多个目标音乐序列样本分别输入至所述对抗神经网络模型包括的预设判别器中,得到第一判别结果;根据所述第一判别结果对所述预设判别器进行训练,以得到训练完成的判别器。
可选地,所述模型训练模块,被配置为将所述第二隐变量样本输入至所述循环神经网络模型包括的各个预设循环神经网络单元中,以得到各个预设循环神经网络单元输出的第二音乐特征样本;通过所述对抗神经网络模型包括的预设生成器,将所述各个预设循环神经网络单元输出的第二音乐特征样本转换为对应的第二音乐序列样本;将所述第二音乐序列样本进行序列拼接,得到所述第二隐变量样本对应的合成音乐序列样本;将所述第二隐变量样本对应的合成音乐序列样本输入至训练完成的判别器中,得到第二判别结果;根据第二判别结果对所述预设生成器和所述预设循环神经网络单元进行训练,以得到训练完成的生成器和循环神经网络单元。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述的音乐合成方法。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行上述的音乐合成方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括一条或多条指令,该一条或多条指令可以由电子设备的处理器执行时,使得电子设备能够执行上述的音乐合成方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
本示例性实施例示出的音乐合成方法,首先获取当前隐变量;接着将所述当前隐变量输入至循环神经网络模型包括的各个循环神经网络单元中,以得到各个循环神经网络单元输出的音乐特征;然后通过对抗神经网络模型中训练完成的生成器,将所述各个循环神经网络单元输出的音乐特征分别转换为对应的音乐序列;其中,所述循环神经网络单元以及所述生成器为在所述对抗神经网络模型中的判别器为训练完成的情况下得到的;最后将所述音乐序列进行序列拼接,得到所述当前隐变量对应的合成音乐序列。综上,基于循环神经网络单元的特性,各个循环神经网络单元输出的音乐特征可以基于当前隐变量以及各个循环神经网络单元之前的至少一个循环神经网络单元输出的音乐特征得到,这样,使得生成器生成的各个音乐序列依赖于当前隐变量以及各个循环神经网络单元之前的至少一个循环神经网络单元输出的音乐特征,无需依赖各个音乐序列之前的全部音乐序列,可见,各个音乐序列依赖的序列长度较短,无需占用硬件设备的大量内存,并且通过序列拼接的方式可以增大感受野,从而实现了人工智能合成较长音乐,并且本公开获取到的合成音乐更接近真实,合成效果更好。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种用于音乐合成的神经网络***的结构框图;
图2是根据一示例性实施例示出的一种音乐合成方法的流程图;
图3是根据一示例性实施例示出的又一种音乐合成方法的流程图;
图4是根据一示例性实施例示出的另一种音乐合成方法的流程图;
图5是根据一示例性实施例示出的一种音乐合成装置的框图;
图6是根据一示例性实施例示出的又一种音乐合成装置的框图;
图7是根据一示例性实施例示出的一种电子设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
首先,为了便于对本公开进行说明,如图1所示,示出了一种用于音乐合成的神经网络***,该***包括了循环神经网络11和对抗神经网络12。
其中,该循环神经网络11中包括了多个循环神经网络单元(如图1中的循环神经网络单元111、循环神经网络单元112、循环神经网络单元113、…、以及循环神经网络单元m),各个循环神经网络单元之间存在连接关系以及先后顺序,以使得一个循环神经网络单元输出的音乐特征可以作为另一个循环神经网络单元的输入数据,从而该另一个循环神经网络单元根据该一个循环神经网络单元输出的音乐特征以及当前隐变量z,获取该另一个循环神经网络单元输出的音乐特征。在一种可能的实现方式中,该循环神经网络模型中相邻顺序的循环神经网络单元连接,如图1所示,在该当前循环神经网络单元包括非首个循环神经网络单元的情况下,该当前循环神经网络单元的输入数据包括:当前隐变量以及当前循环神经网络单元对应的上一循环神经网络单元输出的音乐特征,例如,循环神经网络单元111输出的音乐特征以及当前隐变量z可以作为循环神经网络单元112的输入数据等。示例地,该循环神经网络单元可以为GRU(Gated Recurrent Unit,门控循环单元),或者LSTM(Long-Short Term Memory,长短期记忆网络)循环神经网络单元等,本公开对此不作限定。
该对抗神经网络12包括生成器121和判别器122,该生成器121用于根据该多个循环神经网络单元输出的音乐特征,得到音乐特征对应的音乐序列,以便对音乐序列进行序列拼接得到当前隐变量z对应的合成音乐序列,其中,图1中虚线的箭头表示该循环神经网络单元输出的音乐特征通过生成器121后,得到与该循环神经网络单元对应的音乐特征,以使得音乐序列根据循环神经网络单元的先后顺序进行序列拼接;该判别器122用于对得到的合成音乐序列以及目标音乐序列样本t进行判别得到判别结果,并输出该判别结果,该目标音乐序列样本即为用户需要生成的音乐类型的音乐,如若用户需要生成莫扎特风格的音乐,则该目标音乐序列样本即为莫扎特音乐,如若用户需要生成摇滚风格的音乐,则该目标音乐序列样本即为摇滚音乐,等等。
基于上述的神经网络***,对本公开进行详细说明。
图2是根据一示例性实施例示出的一种音乐合成方法的流程图,如图2所示,所述方法可以包括以下步骤:
在步骤201中,获取当前隐变量。
在本公开实施例中,该隐变量可以为随机初始化的行向量或者列向量。示例地,该当前隐变量为1乘以100的行向量。
其中,该当前隐变量可以为单个隐变量,当然,本发明中的当前隐变量还可以为多个隐变量,该多个隐变量的数量与该循环神经网络单元的数量相同,该多个隐变量可以分别不相同。在一种可能的实现方式中,可以获取均匀分布函数,并基于该均匀分布函数中构建隐变量集合,隐变量集合中包括多个待选择隐变量,即对于每个待选择隐变量,可以首先从该均匀分布函数中随机确定第一个数值,并获取该第一个数值对应的第一概率值,将该第一概率值作为该待选择隐变量的第一个向量元素,接着从该均匀分布函数中随机确定第二个数值,并获取该第二个数值对应的第二概率值,将该第二概率值作为该待选择隐变量的第二个向量元素,依次类推,得到该待选择隐变量的全部向量元素,通过该全部向量元素构建该待选择隐变量。这样,可以从隐变量集合包括的待选择隐变量中获取本公开中需要的多个隐变量,上述获取待选择隐变量的方式只是举例说明,本公开对此不作限定。
在步骤202中,将所述当前隐变量输入至循环神经网络模型包括的各个循环神经网络单元中,以得到各个循环神经网络单元输出的音乐特征。
在本发明实施例中,在该当前隐变量为单个隐变量的情况下,即将该单个隐变量分别输入至循环神经网络模型包括的各个循环神经网络单元中,以得到各个循环神经网络单元输出的音乐特征;在该当前隐变量为多个隐变量的情况下,可以将该多个隐变量分别分配至对应的循环神经网络单元,即该隐变量与该循环神经网络单元存在一一对应关系,并将每个隐变量输入至对应的循环神经网络单元中,以得到各个循环神经网络单元输出的音乐特征。如该当前隐变量z包括z1、z2、z3、…、zm,且多个循环神经网络单元包括循环神经网络单元111、循环神经网络单元112、循环神经网络单元113、…、以及循环神经网络单元m,则可以将z1分配至循环神经网络单元111,将z2分配至循环神经网络单元112,z3分配至循环神经网络单元113,…,将zm分配至循环神经网络单元m,这样,可以将z1输入至循环神经网络单元111,将z2输入至循环神经网络单元112,将z3输入至循环神经网络单元113,…,将zm输入至循环神经网络单元m。
其中,由于该循环神经网络模型中的各个循环神经网络单元存在先后顺序,在一种可能的实现方式中,第一循环神经网络单元输出的音乐特征会对第二循环神经网络单元输出的音乐特征造成影响,该第一循环神经网络单元在该循环神经网络模型中的顺序比第二循环神经网络单元在该循环神经网络模型中的顺序靠前。如图1所示,该多个循环神经网络单元的先后顺序依次为:循环神经网络单元111、循环神经网络单元112、循环神经网络单元113、…、以及循环神经网络单元m,此时,在一种可能的实现方式中,循环神经网络单元111输出的音乐特征可以分别作为循环神经网络单元112、循环神经网络单元113、…、以及循环神经网络单元m的输入数据,该循环神经网络单元112输出的音乐特征可以分别作为循环神经网络单元113、…、以及循环神经网络单元m的输入数据,该循环神经网络单元113输出的音乐特征可以作为循环神经网络单元m的输入数据,等等,以使得循环神经网络单元112、循环神经网络单元113、…、以及循环神经网络单元m分别根据输入数据以及当前隐变量获取各个循环神经网络单元(即循环神经网络单元112、循环神经网络单元113、…、以及循环神经网络单元m)输出的音乐特征;在另一种可能的实现方式中,循环神经网络单元111输出的音乐特征可以作为循环神经网络单元112的输入数据,该循环神经网络单元112输出的音乐特征可以作为循环神经网络单元113的输入数据,该循环神经网络单元113输出的音乐特征可以作为循环神经网络单元113对应的下一循环神经网络单元的输入数据,循环神经网络单元m对应的上一循环神经网络单元输出的音乐特征可以作为循环神经网络单元m的输入数据,等等,以使得循环神经网络单元112、循环神经网络单元113、…、以及循环神经网络单元m分别根据输入数据以及当前隐变量获取各个循环神经网络单元(即循环神经网络单元112、循环神经网络单元113、…、以及循环神经网络单元m)输出的音乐特征。
在步骤203中,通过对抗神经网络模型中训练完成的生成器,将所述各个循环神经网络单元输出的音乐特征分别转换为对应的音乐序列;其中,所述各个循环神经网络单元以及所述生成器为在所述对抗神经网络模型中的判别器为训练完成的情况下得到的。
在本步骤中,各个循环神经网络单元输出的音乐特征与音乐序列存在一一对应关系,各个循环神经网络单元输出的音乐特征依赖于该当前隐变量以及该各个循环神经网络单元之前的至少一个循环神经网络单元的输出的音乐特征得到,该至少一个循环神经网络单元包括各个循环单元对应的上一循环神经网络单元,同理地,将各个循环神经网络单元输出的音乐特征转换得到的音乐序列,同样依赖于该当前隐变量以及该各个循环神经网络单元之前的至少一个循环神经网络单元输出的音乐特征得到。因此,在某个音乐序列之前存在数量较多的历史音乐序列的情况下,相关技术中需要通过全部历史音乐序列进行该某个音乐序列的预测,而循环神经网络模型的记忆长度为有限的,从而通过循环神经网络模型无法实现将全部历史音乐序列进行记忆存储,进而无法实现人工智能合成较长音乐。
为了解决该问题,本公开通过循环神经网络模型中的各个循环神经网络单元获取不同时间段的音乐特征,使得生成器在将不同时间段的音乐特征转换为不同时间段的音乐序列,从而后续步骤中将不同时间段的音乐序列进行序列拼接得到合成音乐序列。可见,生成器在获取不同时间段的音乐序列时,可以根据不同时间段之前的部分时间段的音乐特征以及当前隐变量获取该不同时间段的音乐特征,以便根据该不同时间段的音乐特征获取该不同时间段的音乐序列,无需根据不同时间段之前的音乐序列获取该不同时间段的音乐序列,减少了需要记忆的序列长度。
在步骤204中,将所述音乐序列进行序列拼接,得到所述当前隐变量对应的合成音乐序列。
在本公开实施例中,生成器对各个循环神经网络单元输出的音乐特征分别进行转换得到对应的音乐序列,由于各个循环神经网络单元输出的音乐特征具有时间顺序,即顺序靠前的循环神经网络单元,输出的音乐特征位于音乐靠前部分,顺序靠后的循环神经网络单元,输出的音乐特征位于音乐靠后部分。这样,在生成器将各个循环神经网络单元输出的音乐特征分别转换为对应的音乐序列的情况下,该音乐序列也相应地存在时间先后顺序,即位于音乐靠前部分的音乐特征,对应的音乐序列相应地位于音乐靠前部分,位于音乐靠后部分的音乐特征,对应的音乐序列相应地位于音乐靠后部分。综上,本公开需要将该音乐序列按照拼接顺序进行序列拼接,得到该合成音乐序列,该拼接顺序可以根据该循环神经网络模型中的各个循环神经网络单元的先后顺序得到,并且通过序列拼接的方式可以增大感受野。当然,本公开可以在PyTorch中使用torch.cat(x1,x2,…,xi)方法进行序列拼接,xi表示第i个音乐序列,该第i个音乐序列为第i个循环神经网络单元输出的音乐特征转换的音乐序列,上述示例只是举例说明,本公开对此不作限定。
采用上述方法,首先获取当前隐变量;接着将所述当前隐变量输入至循环神经网络模型包括的各个循环神经网络单元中,以得到各个循环神经网络单元输出的音乐特征;然后通过对抗神经网络模型中训练完成的生成器,将所述各个循环神经网络单元输出的音乐特征分别转换为对应的音乐序列;其中,所述循环神经网络单元以及所述生成器为在所述对抗神经网络模型中的判别器为训练完成的情况下得到的;最后将所述音乐序列进行序列拼接,得到所述当前隐变量对应的合成音乐序列。综上,基于循环神经网络单元的特性,各个循环神经网络单元输出的音乐特征可以基于当前隐变量以及各个循环神经网络单元之前的至少一个循环神经网络单元输出的音乐特征得到,这样,使得生成器生成的各个音乐序列依赖于当前隐变量以及各个循环神经网络单元之前的至少一个循环神经网络单元输出的音乐特征,无需依赖各个音乐序列之前的全部音乐序列,可见,各个音乐序列依赖的序列长度较短,无需占用硬件设备的大量内存,并且通过序列拼接的方式可以增大感受野,从而实现了人工智能合成较长音乐,并且本公开获取到的合成音乐更接近真实,合成效果更好。
图3是根据一示例性实施例示出的一种音乐合成方法的流程图,如图3所示,所述方法可以包括以下步骤:
在步骤301中,获取第一隐变量样本。
在本步骤中,该第一隐变量样本可以为随机初始化的行向量或者列向量。同样地,该第一隐变量样本可以为单个隐变量样本,当然,本发明中的第一隐变量样本还可以为多个隐变量样本,该多个隐变量样本的数量与该循环神经网络单元的数量相同,该多个隐变量样本可以分别不相同,获取该多个隐变量样本的方式可以参考步骤201,不再赘述。
在步骤302中,将所述第一隐变量样本输入至所述循环神经网络模型包括的各个预设循环神经网络单元中,以得到各个预设循环神经网络单元输出的第一音乐特征样本。
其中,由于该循环神经网络模型中的各个预设循环神经网络单元存在先后顺序,在一种可能的实现方式中,该循环神经网络模型中顺序靠前的预设循环神经网络单元输出的第一音乐特征样本,会对该循环神经网络模型中的顺序靠后的预设循环神经网络单元输出的第一音乐特征样本造成影响。获取第一音乐特征样本的具体方法可以参考步骤202中的获取音乐序列的方法,不再赘述。
另外,同样地,在该第一隐变量样本为单个隐变量样本的情况下,即将该单个隐变量样本分别输入至循环神经网络模型包括的各个预设循环神经网络单元中,以得到各个预设循环神经网络单元输出的第一音乐特征样本;在该第一隐变量样本为多个隐变量样本的情况下,可以将该多个隐变量样本分别分配至对应的预设循环神经网络单元,即该隐变量样本与该预设循环神经网络单元存在一一对应关系,并将每个隐变量样本输入至对应的预设循环神经网络单元中,以得到各个预设循环神经网络单元输出的第一音乐特征样本。
在步骤303中,通过所述对抗神经网络模型包括的预设生成器,将所述各个预设循环神经网络单元输出的第一音乐特征样本转换为对应的第一音乐序列样本。
其中,该预设循环神经网络单元的数量可以由合成音乐长度、以及每个预设循环神经网络单元对应的生成音乐长度决定。例如,若每个预设循环神经网络单元输出的音乐特征样本通过预设生成器后,得到生成音乐长度为1s的音乐序列样本,则在合成音乐长度为10s的情况下,本公开可以在循环神经网络模型中设置10个预设循环神经网络单元,在合成音乐长度为50s的情况下,本公开可以在循环神经网络模型中设置50个预设循环神经网络单元,上述示例只是举例说明,本公开对此不作限定。
在本步骤中,为了方便描述,以该第一隐变量样本为单个隐变量样本为例进行说明,若该预设循环神经网络单元为首个预设循环神经网络单元,则对应的第一音乐特征样本可以通过该第一隐变量样本得到,此时,该预设生成器将该第一音乐特征样本进行转换得到的第一音乐序列样本,也依赖于该第一隐变量样本;若该预设循环神经网络单元为非首个预设循环神经网络单元,则对应的第一音乐特征样本可以通过该第一隐变量样本,以及在该非首个预设循环神经网络单元之前的至少一个预设循环神经网络单元输出的第一音乐特征样本得到,该至少一个预设循环神经网络单元可以包括该非首个预设循环神经网络单元对应的上一预设循环神经网络单元,此时,该预设生成器将该第一音乐特征样本进行转换得到的第一音乐序列样本,也依赖于该第一隐变量样本以及该至少一个预设循环神经网络单元输出的音乐特征样本,并未依赖该音乐序列样本之前的全部音乐序列样本。示例地,在相关技术中若采用16KHz对10s的音乐进行采样,则获取到160000个音频信号,此时,需要根据160000个音频信号对下一音频信号进行预测。在本公开中,若需要获取第10s的音乐序列样本,且每个预设循环神经网络单元输出的音乐特征样本通过预设生成器后,得到生成音乐长度为1s的音乐序列样本,则在一种可能的实现方式中,可以获取该第一隐变量样本以及循环神经网络模型中的第9个预设循环神经网络单元输出的音乐特征样本,并根据第一隐变量样本以及第9个预设循环神经网络单元输出的音乐特征获取第10s的音乐特征,从而第10s的音乐序列依赖第一隐变量样本以及第9个预设循环神经网络单元输出的音乐特征,即需要记忆的序列长度即为第一隐变量样本以及第9个预设循环神经网络单元输出的音乐特征按位相加的长度,以便通过一个序列长度较短的相加结果获取第10s的音乐序列样本。
在步骤304中,将所述第一音乐序列样本进行序列拼接,得到所述第一隐变量样本对应的合成音乐序列样本。
在本步骤中,可以参考步骤204中的获取合成音乐序列的方式,获取该第一隐变量样本对应的合成音乐序列样本,不再赘述。
在步骤305中,获取多个目标音乐序列样本,并根据所述第一隐变量样本对应的合成音乐序列样本和所述多个目标音乐序列样本,对所述对抗神经网络模型包括的预设判别器进行训练得到训练完成的判别器,以及根据训练完成的判别器和第二隐变量样本对所述预设生成器和预设循环神经网络单元进一步训练得到训练完成的生成器和循环神经网络单元。
在本步骤中,该目标音乐序列样本可以为非人工智能合成的音乐序列样本,具体地,该目标音乐序列样本即为用户需要生成的音乐类型的音乐,如若用户需要生成莫扎特风格的音乐,则该目标音乐序列样本即为莫扎特音乐,如若用户需要生成摇滚风格的音乐,则该目标音乐序列样本即为摇滚音乐,等等。该第二隐变量样本可以为随机初始化的行向量或者列向量,该第二隐变量样本的获取方法可以参考该第一隐变量样本的获取方法,不再赘述。
在步骤306中,获取当前隐变量。
在本公开实施例中,该当前隐变量可以为随机初始化的行向量或者列向量。示例地,该当前隐变量为1乘以100的行向量,具体过程可以参考步骤201,不再赘述。
在步骤307中,将所述当前隐变量输入至循环神经网络模型包括的各个循环神经网络单元中,以得到各个循环神经网络单元输出的音乐特征。
本步骤可以参考步骤202,不再赘述。
其中,为了方便描述,本实施例以该当前隐变量为单个隐变量为例进行说明,所述循环神经网络单元包括首个循环神经网络单元和非首个循环神经网络单元。这样,在所述循环神经网络单元为所述首个循环神经网络单元的情况下,将所述当前隐变量输入至所述循环神经网络模型包括的首个循环神经网络单元中,以得到所述首个循环神经网络单元输出的音乐特征;在所述循环神经网络单元包括非首个循环神经网络单元的情况下,将所述当前隐变量、以及在所述非首个循环神经网络单元之前的至少一个循环神经网络单元输出的音乐特征,输入至所述循环神经网络模型包括的非首个循环神经网络单元中,以得到所述非首个循环神经网络单元输出的音乐特征;所述至少一个循环神经网络单元包括所述非首个循环神经网络单元对应的上一循环神经网络单元。在本公开可选实施例中,在至少一个循环神经网络单元为单个循环神经网络单元的情况下,将所述当前隐变量、以及在所述非首个循环神经网络单元对应的上一循环神经网络单元输出的音乐特征,输入至所述循环神经网络模型包括的非首个循环神经网络单元中,以得到所述非首个循环神经网络单元输出的音乐特征。
在步骤308中,通过对抗神经网络模型中训练完成的生成器,将所述各个循环神经网络单元输出的音乐特征分别转换为对应的音乐序列。
在步骤309中,将所述音乐序列进行序列拼接,得到所述当前隐变量对应的合成音乐序列。
在本公开实施例中,生成器对各个循环神经网络单元输出的音乐特征分别进行转换得到对应的音乐序列,由于各个循环神经网络单元输出的音乐特征具有时间顺序,即顺序靠前的循环神经网络单元,输出的音乐特征位于音乐靠前部分,顺序靠后的循环神经网络单元,输出的音乐特征位于音乐靠后部分,这样,在生成器将各个循环神经网络单元输出的音乐特征分别转换为对应的音乐序列的情况下,该音乐序列也相应地存在时间先后顺序,即位于音乐靠前部分的音乐特征,对应的音乐序列相应地位于音乐靠前部分,位于音乐靠后部分的音乐特征,对应的音乐序列相应地位于音乐靠后部分。综上,本公开需要将该音乐序列按照拼接顺序进行序列拼接,得到该合成音乐序列,该拼接顺序可以根据该循环神经网络模型中的各个循环神经网络单元的先后顺序得到。当然,本公开可以在PyTorch中使用torch.cat(x1,x2,…,xi)方法进行序列拼接,xi表示第i个音乐序列,该第i个音乐序列为第i个循环神经网络单元输出的音乐特征转换的音乐序列,上述示例只是举例说明,本公开对此不作限定。
采用上述方法,由于循环神经网络单元以及生成器为在对抗神经网络模型中的判别器为训练完成的情况下得到的,这样,可以通过循环神经网络单元以及生成器,获取到该当前隐变量对应的合成音乐序列。综上,基于循环神经网络单元的特性,各个循环神经网络单元输出的音乐特征可以基于当前隐变量以及各个循环神经网络单元之前的至少一个循环神经网络单元输出的音乐特征得到,这样,使得生成器生成的各个音乐序列依赖于当前隐变量以及各个循环神经网络单元之前的至少一个循环神经网络单元输出的音乐特征,无需依赖各个音乐序列之前的全部音乐序列,可见,各个音乐序列依赖的序列长度较短,无需占用硬件设备的大量内存,并且通过序列拼接的方式可以增大感受野,从而实现了人工智能合成较长音乐,并且本公开获取到的合成音乐更接近真实,合成效果更好。
图4是根据一示例性实施例示出的一种音乐合成方法的流程图,如图4所示,步骤305中所述的根据所述第一隐变量样本对应的合成音乐序列样本和所述多个目标音乐序列样本,对所述对抗神经网络模型包括的预设判别器进行训练得到训练完成的判别器,以及根据训练完成的判别器和第二隐变量样本对所述预设生成器和预设循环神经网络单元进一步训练得到训练完成的生成器和循环神经网络单元,具体可以包括以下步骤:
在步骤3051中,将所述第一隐变量样本对应的合成音乐序列样本和所述多个目标音乐序列样本分别输入至所述对抗神经网络模型包括的预设判别器中,得到第一判别结果。
其中,该第一判别结果可以为第一隐变量样本对应的合成音乐序列样本属于人工智能合成音乐类型的第一概率值,以及该多个目标音乐序列样本分别属于非人工智能合成音乐类型的第二概率值。
在步骤3052中,根据所述第一判别结果对所述预设判别器进行训练,以得到训练完成的判别器。
在本步骤中,已知该目标音乐序列样本为非人工智能合成的音乐序列样本,以及本公开中获取到的合成音乐序列样本为人工智能合成的音乐序列样本,因此,在该第二概率值与第一预设概率值(如该第一预设概率值为1)之间的差值小于或者等于第一预设阈值,以及该第一概率值与第二预设概率值(如该第二预设概率值为0)之间的差值小于或者等于第二预设阈值的情况下,确定该预设判别器即为训练完成的判别器,在该第二概率值与第一预设概率值之间的大于第一预设阈值,和/或,该第一概率值与第二预设概率值之间的差值大于第二预设阈值的情况下,可以不断调整判别器的模型参数,并根据调整后的判别器重新获取新第一概率值和新第二概率值,直至新第二概率值与第一预设概率值之间的差值小于或者等于第一预设阈值,以及新第一概率值与第二预设概率值之间的差值小于或者等于第二预设阈值。
在步骤3053中,将所述第二隐变量样本输入至所述循环神经网络模型包括的各个预设循环神经网络单元中,以得到各个预设循环神经网络单元输出的第二音乐特征样本。
其中,由于该循环神经网络模型中的各个预设循环神经网络单元存在先后顺序,在一种可能的实现方式中,该循环神经网络模型中顺序靠前的预设循环神经网络单元输出的第二音乐特征样本,会对该循环神经网络模型中的顺序靠后的预设循环神经网络单元输出的第二音乐特征样本造成影响。具体可以参考步骤202,不再赘述。
在步骤3054中,通过所述对抗神经网络模型包括的预设生成器,将所述各个预设循环神经网络单元输出的第二音乐特征样本转换为对应的第二音乐序列样本。
在步骤3055中,将所述第二音乐序列样本进行序列拼接,得到所述第二隐变量样本对应的合成音乐序列样本。
在本步骤中,可以参考步骤204中的获取合成音乐序列的方式,获取该第二隐变量样本对应的合成音乐序列样本,不再赘述。
在步骤3056中,将所述第二隐变量样本对应的合成音乐序列样本输入至训练完成的判别器中,得到第二判别结果。
其中,该第二判别结果可以为第二隐变量样本对应的合成音乐序列样本属于人工智能合成音乐类型的第三概率值。
在步骤3057中,根据第二判别结果对所述预设生成器和所述预设循环神经网络单元进行训练,以得到训练完成的生成器和循环神经网络单元。
本公开中需要使得训练完成的生成器无法识别出该第二隐变量样本对应的合成音乐序列样本属于人工智能合成的音乐序列样本,因此,在该第三概率值与第三预设概率值(如该第三预设概率值为0.5)之间的差值小于或者等于第三预设阈值的情况下,可以确定该预设生成器和预设循环神经网络单元训练完成,即通过该预设生成器和预设循环神经网络单元得到的合成音乐序列样本接近真实,在该第三概率值与第三预设概率值之间的差值大于第三预设阈值的情况下,不断调整预设生成器和预设循环神经网络单元的模型参数,直至通过调整后的预设生成器以及调整后的预设循环神经网络单元重新获取到的新第三概率值与第三预设概率值之间的差值小于或者等于第三预设阈值,此时,调整后的预设生成器以及调整后的预设循环神经网络单元即为训练完成的生成器和训练完成的循环神经网络单元。
在本公开的一可选实施例中,由于预设训练单元(即包括上述所述的预设生成器和各个预设循环神经网络单元)和预设判别器为一个对抗的过程,这样,在一种可能的实现方式中,可以使得预设训练单元和预设判别器之间的学习速率保持一致,即通过第一个第一隐变量样本和多个目标音乐序列样本对该预设判别器进行第一次训练后,根据第一次训练完成的预设判别器以及第一个第二隐变量样本对预设训练单元进行第一次训练,接着根据第一次完成训练的预设训练单元、第二个第一隐变量样本以及多个目标音乐序列样本对第一次训练完成的预设判别器进行第二次训练,然后根据第二次训练完成的预设判别器以及第二个第二隐变量样本对第一次训练完成的预设训练单元进行第二次训练,依次类推,可以不断对该预设判别器和预设训练单元进行多次训练,以使得满足训练终止条件,示例地,该训练终止条件可以包括任一隐变量样本属于非人工智能合成音乐类型对应的概率值与第三预设概率值(如该第三预设概率值为0.5)之间的差值小于或者等于第三预设阈值,上述预设阈值的大小可以为符合用户需求的数值。
在本公开的另一可选实施例中,可以将预设生成器和各个预设循环神经网络单元以及预设判别器之间进行学习速率保持一致的训练过程,即通过第一个第一隐变量样本和多个目标音乐序列样本对该预设判别器进行第一次训练后,根据第一次训练完成的预设判别器以及第一个第二隐变量样本和各个预设循环神经网络单元对预设生成器进行第一次训练,接着根据第一次训练完成的预设生成器、第一次训练完成的预设判别器以及第二个第二隐变量样本对各个循环神经网络单元进行第一次训练,然后根据第一次训练完成的预设生成器、第一次训练完成的各个循环神经网络单元、第二个第一隐变量样本以及多个目标音乐序列样本对第一次训练完成的预设判别器进行第二次训练,然后根据第二次训练完成的预设判别器、第一次完成训练的各个循环神经网络单元以及第三个第二隐变量样本对第一次训练完成的预设生成器进行第二次训练,其次根据第二次训练完成的预设判别器、第二次训练完成的预设生成器以及第四个第二隐变量样本对第一次训练完成的预设循环神经网络单元进行第二次训练,依次类推,可以不断对该预设判别器和预设生成器以及各个预设循环神经网络单元进行多次训练,以使得满足训练终止条件,示例地,该训练终止条件可以包括任一隐变量样本属于非人工智能合成音乐类型对应的概率值与第三预设概率值(如该第三预设概率值为0.5)之间的差值小于或者等于第三预设阈值,上述预设阈值的大小可以为符合用户需求的数值。
采用上述方法,由于循环神经网络单元以及生成器为在对抗神经网络模型中的判别器为训练完成的情况下得到的,使得通过循环神经网络单元以及生成器,获取到该当前隐变量对应的合成音乐序列,属于非人工智能合成音乐类型。综上,基于循环神经网络单元的特性,各个循环神经网络单元输出的音乐特征可以基于当前隐变量以及各个循环神经网络单元之前的至少一个循环神经网络单元输出的音乐特征得到,这样,使得生成器生成的各个音乐序列依赖于当前隐变量以及各个循环神经网络单元之前的至少一个循环神经网络单元输出的音乐特征,无需依赖各个音乐序列之前的全部音乐序列,可见,各个音乐序列依赖的序列长度较短,无需占用硬件设备的大量内存,并且通过序列拼接的方式可以增大感受野,从而实现了人工智能合成较长音乐,并且本公开获取到的合成音乐更接近真实,合成效果更好。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
图5是根据一示例性实施例示出的一种音乐合成装置的框图。参照图5,该装置包括:
当前隐变量获取模块501,被配置为获取当前隐变量;
音乐特征获取模块502,被配置为将所述当前隐变量输入至循环神经网络模型包括的各个循环神经网络单元中,以得到各个循环神经网络单元输出的音乐特征;
音乐特征转换模块503,被配置为通过对抗神经网络模型中训练完成的生成器,将所述各个循环神经网络单元输出的音乐特征分别转换为对应的音乐序列;其中,所述各个循环神经网络单元以及所述生成器为在所述对抗神经网络模型中的判别器为训练完成的情况下得到的;
合成音乐获取模块504,被配置为将所述音乐序列进行序列拼接,得到所述当前隐变量对应的合成音乐序列。
可选的,在另一实施例中,所述循环神经网络单元包括首个循环神经网络单元和非首个循环神经网络单元;所述音乐特征获取模块502,被配置为在所述循环神经网络单元为所述首个循环神经网络单元的情况下,将所述当前隐变量输入至所述循环神经网络模型包括的首个循环神经网络单元中,以得到所述首个循环神经网络单元输出的音乐特征;
在所述循环神经网络单元包括非首个循环神经网络单元的情况下,将所述当前隐变量、以及在所述非首个循环神经网络单元之前的至少一个循环神经网络单元输出的音乐特征,输入至所述循环神经网络模型包括的非首个循环神经网络单元中,以得到所述非首个循环神经网络单元输出的音乐特征;所述至少一个循环神经网络单元包括所述非首个循环神经网络单元对应的上一循环神经网络单元。
图6是根据一示例性实施例示出的一种音乐合成装置的框图。参照图6,该装置还包括:
隐变量样本获取模块505,被配置为获取第一隐变量样本;
音乐特征样本获取模块506,被配置为将所述第一隐变量样本输入至所述循环神经网络模型包括的各个预设循环神经网络单元中,以得到各个预设循环神经网络单元输出的第一音乐特征样本;
音乐特征样本转换模块507,被配置为通过所述对抗神经网络模型包括的预设生成器,将所述各个预设循环神经网络单元输出的第一音乐特征样本转换为对应的第一音乐序列样本;
合成音乐样本获取模块508,被配置为将所述第一音乐序列样本进行序列拼接,得到所述第一隐变量样本对应的合成音乐序列样本;
模型训练模块509,被配置为获取多个目标音乐序列样本,并根据所述第一隐变量样本对应的合成音乐序列样本和所述多个目标音乐序列样本,对所述对抗神经网络模型包括的预设判别器进行训练得到训练完成的判别器,以及根据训练完成的判别器和第二隐变量样本对所述预设生成器和预设循环神经网络单元进一步训练得到训练完成的生成器和循环神经网络单元。
可选的,在另一实施例中,所述模型训练模块509,被配置为将所述第一隐变量样本对应的合成音乐序列样本和所述多个目标音乐序列样本分别输入至所述对抗神经网络模型包括的预设判别器中,得到第一判别结果;根据所述第一判别结果对所述预设判别器进行训练,以得到训练完成的判别器。
可选的,在另一实施例中,所述模型训练模块509,被配置为将所述第二隐变量样本输入至所述循环神经网络模型包括的各个预设循环神经网络单元中,以得到各个预设循环神经网络单元输出的第二音乐特征样本;通过所述对抗神经网络模型包括的预设生成器,将所述各个预设循环神经网络单元输出的第二音乐特征样本转换为对应的第二音乐序列样本;将所述第二音乐序列样本进行序列拼接,得到所述第二隐变量样本对应的合成音乐序列样本;将所述第二隐变量样本对应的合成音乐序列样本输入至训练完成的判别器中,得到第二判别结果;根据第二判别结果对所述预设生成器和所述预设循环神经网络单元进行训练,以得到训练完成的生成器和循环神经网络单元。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种电子设备700的框图。电子设备可以为移动终端也可以为服务器,本公开实施例中以电子设备为移动终端为例进行说明。例如,电子设备700可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图7,电子设备700可以包括以下一个或多个组件:处理组件702,存储器704,电力组件706,多媒体组件708,音频组件710,输入/输出(I/O)的接口712,传感器组件714,以及通信组件716。
处理组件702通常控制电子设备700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
存储器704被配置为存储各种类型的数据以支持在电子设备700的操作。这些数据的示例包括用于在电子设备700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件706为电子设备700的各种组件提供电力。电源组件706可以包括电源管理***,一个或多个电源,及其他与为电子设备700生成、管理和分配电力相关联的组件。
多媒体组件708包括在所述电子设备700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当电子设备700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当电子设备700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
I/O接口712为处理组件702和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件714包括一个或多个传感器,用于为电子设备700提供各个方面的状态评估。例如,传感器组件714可以检测到电子设备700的打开/关闭状态,组件的相对定位,例如所述组件为电子设备700的显示器和小键盘,传感器组件714还可以检测电子设备700或电子设备700一个组件的位置改变,用户与电子设备700接触的存在或不存在,电子设备700方位或加速/减速和电子设备700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图谱传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件716被配置为便于电子设备700和其他设备之间有线或无线方式的通信。电子设备700可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、7G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述图2至图4中所示的音乐合成方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由电子设备700的处理器720执行以完成上述图2至图4中所示的音乐合成方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,当计算机程序产品中的指令由电子设备700的处理器720执行时,使得电子设备700执行上述图2至图4中所示的音乐合成方法。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种音乐合成方法,其特征在于,所述方法包括:
获取当前隐变量;所述当前隐变量为随机初始化的行向量或者列向量;
将所述当前隐变量输入至循环神经网络模型包括的各个循环神经网络单元中,以得到各个循环神经网络单元输出的音乐特征,所述循环神经网络单元包括首个循环神经网络单元和非首个循环神经网络单元,包括:在所述循环神经网络单元为所述首个循环神经网络单元的情况下,将所述当前隐变量输入至所述循环神经网络模型包括的首个循环神经网络单元中,以得到所述首个循环神经网络单元输出的音乐特征;在所述循环神经网络单元包括非首个循环神经网络单元的情况下,将所述当前隐变量、以及在所述非首个循环神经网络单元之前的至少一个循环神经网络单元输出的音乐特征,输入至所述循环神经网络模型包括的非首个循环神经网络单元中,以得到所述非首个循环神经网络单元输出的音乐特征;所述至少一个循环神经网络单元包括所述非首个循环神经网络单元对应的上一循环神经网络单元;
通过对抗神经网络模型中训练完成的生成器,将所述各个循环神经网络单元输出的音乐特征分别转换为对应的音乐序列;其中,所述各个循环神经网络单元以及所述生成器为在所述对抗神经网络模型中的判别器为训练完成的情况下得到的;
将所述音乐序列进行序列拼接,得到所述当前隐变量对应的合成音乐序列。
2.根据权利要求1所述的方法,其特征在于,在所述获取当前隐变量之前,所述方法还包括:
获取第一隐变量样本;
将所述第一隐变量样本输入至所述循环神经网络模型包括的各个预设循环神经网络单元中,以得到各个预设循环神经网络单元输出的第一音乐特征样本;
通过所述对抗神经网络模型包括的预设生成器,将所述各个预设循环神经网络单元输出的第一音乐特征样本转换为对应的第一音乐序列样本;
将所述第一音乐序列样本进行序列拼接,得到所述第一隐变量样本对应的合成音乐序列样本;
获取多个目标音乐序列样本,并根据所述第一隐变量样本对应的合成音乐序列样本和所述多个目标音乐序列样本,对所述对抗神经网络模型包括的预设判别器进行训练得到训练完成的判别器,以及根据训练完成的判别器和第二隐变量样本对所述预设生成器和预设循环神经网络单元进一步训练得到训练完成的生成器和循环神经网络单元。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一隐变量样本对应的合成音乐序列样本和所述多个目标音乐序列样本,对所述对抗神经网络模型包括的预设判别器进行训练得到训练完成的判别器,包括:
将所述第一隐变量样本对应的合成音乐序列样本和所述多个目标音乐序列样本分别输入至所述对抗神经网络模型包括的预设判别器中,得到第一判别结果;
根据所述第一判别结果对所述预设判别器进行训练,以得到训练完成的判别器。
4.根据权利要求2所述的方法,其特征在于,所述根据训练完成的判别器和第二隐变量样本对所述预设生成器和预设循环神经网络单元进一步训练得到训练完成的生成器和循环神经网络单元,包括:
将所述第二隐变量样本输入至所述循环神经网络模型包括的各个预设循环神经网络单元中,以得到各个预设循环神经网络单元输出的第二音乐特征样本;
通过所述对抗神经网络模型包括的预设生成器,将所述各个预设循环神经网络单元输出的第二音乐特征样本转换为对应的第二音乐序列样本;
将所述第二音乐序列样本进行序列拼接,得到所述第二隐变量样本对应的合成音乐序列样本;
将所述第二隐变量样本对应的合成音乐序列样本输入至训练完成的判别器中,得到第二判别结果;
根据第二判别结果对所述预设生成器和所述预设循环神经网络单元进行训练,以得到训练完成的生成器和循环神经网络单元。
5.一种音乐合成装置,其特征在于,所述装置包括:
当前隐变量获取模块,被配置为获取当前隐变量;所述当前隐变量为随机初始化的行向量或者列向量;
音乐特征获取模块,被配置为将所述当前隐变量输入至循环神经网络模型包括的各个循环神经网络单元中,以得到各个循环神经网络单元输出的音乐特征;
音乐特征转换模块,被配置为通过对抗神经网络模型中训练完成的生成器,将所述各个循环神经网络单元输出的音乐特征分别转换为对应的音乐序列;其中,所述各个循环神经网络单元以及所述生成器为在所述对抗神经网络模型中的判别器为训练完成的情况下得到的;
合成音乐获取模块,被配置为将所述音乐序列进行序列拼接,得到所述当前隐变量对应的合成音乐序列;
其中,所述循环神经网络单元包括首个循环神经网络单元和非首个循环神经网络单元;所述音乐特征获取模块,被配置为在所述循环神经网络单元为所述首个循环神经网络单元的情况下,将所述当前隐变量输入至所述循环神经网络模型包括的首个循环神经网络单元中,以得到所述首个循环神经网络单元输出的音乐特征;
在所述循环神经网络单元包括非首个循环神经网络单元的情况下,将所述当前隐变量、以及在所述非首个循环神经网络单元之前的至少一个循环神经网络单元输出的音乐特征,输入至所述循环神经网络模型包括的非首个循环神经网络单元中,以得到所述非首个循环神经网络单元输出的音乐特征;所述至少一个循环神经网络单元包括所述非首个循环神经网络单元对应的上一循环神经网络单元。
6.根据权利要求5所述的装置,其特征在于,还包括:
隐变量样本获取模块,被配置为获取第一隐变量样本;
音乐特征样本获取模块,被配置为将所述第一隐变量样本输入至所述循环神经网络模型包括的各个预设循环神经网络单元中,以得到各个预设循环神经网络单元输出的第一音乐特征样本;
音乐特征样本转换模块,被配置为通过所述对抗神经网络模型包括的预设生成器,将所述各个预设循环神经网络单元输出的第一音乐特征样本转换为对应的第一音乐序列样本;
合成音乐样本获取模块,被配置为将所述第一音乐序列样本进行序列拼接,得到所述第一隐变量样本对应的合成音乐序列样本;
模型训练模块,被配置为获取多个目标音乐序列样本,并根据所述第一隐变量样本对应的合成音乐序列样本和所述多个目标音乐序列样本,对所述对抗神经网络模型包括的预设判别器进行训练得到训练完成的判别器,以及根据训练完成的判别器和第二隐变量样本对所述预设生成器和预设循环神经网络单元进一步训练得到训练完成的生成器和循环神经网络单元。
7.根据权利要求6所述的装置,其特征在于,所述模型训练模块,被配置为将所述第一隐变量样本对应的合成音乐序列样本和所述多个目标音乐序列样本分别输入至所述对抗神经网络模型包括的预设判别器中,得到第一判别结果;
根据所述第一判别结果对所述预设判别器进行训练,以得到训练完成的判别器。
8.根据权利要求7所述的装置,其特征在于,所述模型训练模块,被配置为将所述第二隐变量样本输入至所述循环神经网络模型包括的各个预设循环神经网络单元中,以得到各个预设循环神经网络单元输出的第二音乐特征样本;
通过所述对抗神经网络模型包括的预设生成器,将所述各个预设循环神经网络单元输出的第二音乐特征样本转换为对应的第二音乐序列样本;
将所述第二音乐序列样本进行序列拼接,得到所述第二隐变量样本对应的合成音乐序列样本;
将所述第二隐变量样本对应的合成音乐序列样本输入至训练完成的判别器中,得到第二判别结果;
根据第二判别结果对所述预设生成器和所述预设循环神经网络单元进行训练,以得到训练完成的生成器和循环神经网络单元。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1至4中任一项所述的音乐合成方法的步骤。
10.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行权利要求1至4中任一项所述的音乐合成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910426223.7A CN110288965B (zh) | 2019-05-21 | 2019-05-21 | 一种音乐合成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910426223.7A CN110288965B (zh) | 2019-05-21 | 2019-05-21 | 一种音乐合成方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110288965A CN110288965A (zh) | 2019-09-27 |
CN110288965B true CN110288965B (zh) | 2021-06-18 |
Family
ID=68002494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910426223.7A Active CN110288965B (zh) | 2019-05-21 | 2019-05-21 | 一种音乐合成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110288965B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110853604A (zh) * | 2019-10-30 | 2020-02-28 | 西安交通大学 | 基于变分自编码器的具有特定地域风格的中国民歌自动生成方法 |
CN113611265B (zh) * | 2021-07-07 | 2022-09-23 | 湖南师范大学 | 一种人工智能作曲方法和*** |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107123415A (zh) * | 2017-05-04 | 2017-09-01 | 吴振国 | 一种自动编曲方法及*** |
CN108682418A (zh) * | 2018-06-26 | 2018-10-19 | 北京理工大学 | 一种基于预训练和双向lstm的语音识别方法 |
CN108766409A (zh) * | 2018-05-25 | 2018-11-06 | 中国传媒大学 | 一种戏曲合成方法、装置和计算机可读存储介质 |
CN108805000A (zh) * | 2018-04-09 | 2018-11-13 | 平安科技(深圳)有限公司 | 电子装置、基于深度学习的乐谱识别方法及存储介质 |
CN108959551A (zh) * | 2018-06-29 | 2018-12-07 | 北京百度网讯科技有限公司 | 近邻语义的挖掘方法、装置、存储介质和终端设备 |
CN109086416A (zh) * | 2018-08-06 | 2018-12-25 | 中国传媒大学 | 一种基于gan的配乐生成方法、装置及存储介质 |
CN109192187A (zh) * | 2018-06-04 | 2019-01-11 | 平安科技(深圳)有限公司 | 基于人工智能的作曲方法、***、计算机设备和存储介质 |
CN109189974A (zh) * | 2018-08-08 | 2019-01-11 | 平安科技(深圳)有限公司 | 一种作曲模型的建立方法、***、设备和存储介质 |
CN109346043A (zh) * | 2018-10-26 | 2019-02-15 | 平安科技(深圳)有限公司 | 一种基于生成对抗网络的音乐生成方法及装置 |
CN109492764A (zh) * | 2018-10-24 | 2019-03-19 | 平安科技(深圳)有限公司 | 生成式对抗网络的训练方法、相关设备及介质 |
CN109584846A (zh) * | 2018-12-21 | 2019-04-05 | 成都嗨翻屋科技有限公司 | 一种基于生成对抗网络的旋律生成方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2017168870A1 (ja) * | 2016-03-28 | 2019-02-07 | ソニー株式会社 | 情報処理装置及び情報処理方法 |
US10380983B2 (en) * | 2016-12-30 | 2019-08-13 | Google Llc | Machine learning to generate music from text |
US20190108448A1 (en) * | 2017-10-09 | 2019-04-11 | VAIX Limited | Artificial intelligence framework |
US11106975B2 (en) * | 2017-10-20 | 2021-08-31 | Asapp, Inc. | Fast neural network implementations by increasing parallelism of cell computations |
US11710300B2 (en) * | 2017-11-06 | 2023-07-25 | Google Llc | Computing systems with modularized infrastructure for training generative adversarial networks |
CN108334497A (zh) * | 2018-02-06 | 2018-07-27 | 北京航空航天大学 | 自动生成文本的方法和装置 |
-
2019
- 2019-05-21 CN CN201910426223.7A patent/CN110288965B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107123415A (zh) * | 2017-05-04 | 2017-09-01 | 吴振国 | 一种自动编曲方法及*** |
CN108805000A (zh) * | 2018-04-09 | 2018-11-13 | 平安科技(深圳)有限公司 | 电子装置、基于深度学习的乐谱识别方法及存储介质 |
CN108766409A (zh) * | 2018-05-25 | 2018-11-06 | 中国传媒大学 | 一种戏曲合成方法、装置和计算机可读存储介质 |
CN109192187A (zh) * | 2018-06-04 | 2019-01-11 | 平安科技(深圳)有限公司 | 基于人工智能的作曲方法、***、计算机设备和存储介质 |
CN108682418A (zh) * | 2018-06-26 | 2018-10-19 | 北京理工大学 | 一种基于预训练和双向lstm的语音识别方法 |
CN108959551A (zh) * | 2018-06-29 | 2018-12-07 | 北京百度网讯科技有限公司 | 近邻语义的挖掘方法、装置、存储介质和终端设备 |
CN109086416A (zh) * | 2018-08-06 | 2018-12-25 | 中国传媒大学 | 一种基于gan的配乐生成方法、装置及存储介质 |
CN109189974A (zh) * | 2018-08-08 | 2019-01-11 | 平安科技(深圳)有限公司 | 一种作曲模型的建立方法、***、设备和存储介质 |
CN109492764A (zh) * | 2018-10-24 | 2019-03-19 | 平安科技(深圳)有限公司 | 生成式对抗网络的训练方法、相关设备及介质 |
CN109346043A (zh) * | 2018-10-26 | 2019-02-15 | 平安科技(深圳)有限公司 | 一种基于生成对抗网络的音乐生成方法及装置 |
CN109584846A (zh) * | 2018-12-21 | 2019-04-05 | 成都嗨翻屋科技有限公司 | 一种基于生成对抗网络的旋律生成方法 |
Non-Patent Citations (2)
Title |
---|
Semi-Recurrent CNN-Based VAE-GAN For Sequential Data Generation;Mohammad Akbari et al;《arXiv》;20180601;第1-4节 * |
隐式特征和循环神经网络的多声部音乐生成***;苗北辰等;《智能***学报》;20190131;第158-164页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110288965A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108510987B (zh) | 语音处理方法及装置 | |
CN106202330B (zh) | 垃圾信息的判断方法及装置 | |
CN107105314B (zh) | 视频播放方法及装置 | |
CN107945133B (zh) | 图像处理方法及装置 | |
CN112258381B (zh) | 模型训练方法、图像处理方法、装置、设备及存储介质 | |
CN111651263B (zh) | 移动终端的资源处理方法、装置、计算机设备及存储介质 | |
CN111405302B (zh) | 直播间关注提醒方法、装置、电子设备及存储介质 | |
CN106358087B (zh) | 表情包生成方法及装置 | |
CN107967459B (zh) | 卷积处理方法、装置及存储介质 | |
CN109599104B (zh) | 多波束选取方法及装置 | |
CN107341509B (zh) | 卷积神经网络的训练方法、装置及可读存储介质 | |
CN110288965B (zh) | 一种音乐合成方法、装置、电子设备及存储介质 | |
US20220277204A1 (en) | Model training method and apparatus for information recommendation, electronic device and medium | |
CN109214175B (zh) | 基于样本特征训练分类器的方法、装置及存储介质 | |
CN112333518B (zh) | 用于视频的功能配置方法、装置及电子设备 | |
CN111601377B (zh) | 温度的控制方法、装置及存储介质 | |
CN107239758B (zh) | 人脸关键点定位的方法及装置 | |
CN110148424B (zh) | 语音处理方法、装置、电子设备及存储介质 | |
US20220335250A1 (en) | Methods and apparatuses for fine-grained style-based generative neural networks | |
CN111382242A (zh) | 一种信息提供方法、装置及可读介质 | |
CN109711386B (zh) | 获取识别模型的方法、装置、电子设备及存储介质 | |
CN110909886B (zh) | 一种机器学习网络运行方法、装置及介质 | |
CN114268802A (zh) | 虚拟空间展示方法、装置、电子设备及存储介质 | |
CN113923517A (zh) | 一种背景音乐生成方法、装置及电子设备 | |
CN112784701A (zh) | 一种视频语义分割方法、装置及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |