歌词节奏生成方法、设备、存储介质及装置

文档序号:1757130 发布日期:2019-11-29 浏览:22次 >En<

阅读说明:本技术 歌词节奏生成方法、设备、存储介质及装置 (Lyrics rhythm generation method, equipment, storage medium and device ) 是由 朱照华 王健宗 于 2019-08-02 设计创作,主要内容包括:本发明公开了一种歌词节奏生成方法、设备、存储介质及装置,该方法通过获取多个待处理歌词文本,对多个待处理歌词文本进行多线程处理,从待处理歌词文本中提取多个句子,并对提取的句子分别进行字数统计,将提取的句子存储至数据缓存器,按照先进先出规则对数据缓存器中的句子进行遍历,将遍历到的句子作为当前句子;根据当前句子的第一字数从预设歌词节奏生成模型的节拍矩阵集合中选择初始概率矩阵;从初始概率矩阵中选择一个节拍节奏作为当前句子的句子节奏;将生成的各所述句子节奏按时间顺序拼接,获得待处理歌词文本对应的歌词节奏,通过基于马尔可夫模型训练获得的预设歌词节奏生成模型,生成歌词节奏,提高歌词节奏的扩展性。(The invention discloses a kind of lyrics rhythm generation method, equipment, storage medium and devices, this method is by obtaining multiple lyrics texts to be processed, multiple threads are carried out to multiple lyrics texts to be processed, multiple sentences are extracted from lyrics text to be processed, and word counting is carried out respectively to the sentence of extraction, the sentence of extraction is stored to data buffer, the sentence in data buffer is traversed according to first-in first-out rule, using the sentence traversed as current sentence;Probability matrix is selected from the beat set of matrices that default lyrics rhythm generates model according to the first number of words of current sentence;Select a bar and rhythm as the sentence rhythm of current sentence from probability matrix;Each sentence rhythm of generation is spliced in chronological order, obtains the corresponding lyrics rhythm of lyrics text to be processed, model is generated by the default lyrics rhythm obtained based on Markov model training, lyrics rhythm is generated, improves the scalability of lyrics rhythm.)

歌词节奏生成方法、设备、存储介质及装置

技术领域

本发明涉及人工智能的技术领域,尤其涉及一种歌词节奏生成方法、设备、存储介质及装置。

背景技术

目前,现有的自动作曲技术攻坚的重点主要在于旋律的生成,对于节奏而言往往不够重视,而节奏在音乐的呈现中也发挥着巨大的作用,因此对于节奏的自动生成也是自动作曲领域的一个重要的研究方向。在进行自动歌曲创作的过程中不仅需要考虑到旋律的变化是否可以通过演唱者来表达,同时也需要考虑到歌曲节奏的分配是否与歌词能够合理的结合,在此背景下,探寻好的歌词节奏生成方法成为了自动作曲领域特别是自动歌曲创作的必然需求。目前,歌词的生成,需要严格规范的歌词输入,对于不同风格的音乐节奏不能很好的生成相适应的歌词,歌词节奏不能适用于不同风格的音乐节奏,可扩展性差。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

发明内容

本发明的主要目的在于提供一种歌词节奏生成方法、设备、存储介质及装置,旨在解决现有技术中歌词节奏对于不同风格的音乐节奏的适应性差及可扩展性差的技术问题。

为实现上述目的,本发明提供一种歌词节奏生成方法,所述歌词节奏生成方法包括以下步骤:

歌词节奏生成设备获取多个待处理歌词文本;

所述歌词节奏生成设备的多线程处理器对多个待处理歌词文本进行多线程处理,从所述待处理歌词文本中提取多个句子,并对提取的句子分别进行字数统计;

所述歌词节奏生成设备将提取的句子存储至数据缓存器,按照先进先出规则对所述数据缓存器中的句子进行遍历,将遍历到的句子作为当前句子;

所述歌词节奏生成设备根据所述当前句子的第一字数从预设歌词节奏生成模型的节拍矩阵集合中选择初始概率矩阵,所述预设歌词节奏生成模型通过对马尔科夫模型训练获得;

所述歌词节奏生成设备从所述初始概率矩阵中选择一个节拍节奏作为所述当前句子的句子节奏;

所述歌词节奏生成设备将生成的各所述句子节奏按时间顺序拼接,获得所述待处理歌词文本对应的歌词节奏,并将所述歌词节奏发送至播放设备。

优选地,所述将生成的各所述句子节奏按时间顺序拼接,获得所述待处理歌词文本对应的歌词节奏之前,所述歌词节奏生成方法还包括:

所述歌词节奏生成设备获取所述句子节奏的起始字数;

根据所述第一字数和所述起始字数计算所述当前句子的剩余字数;

判断所述剩余字数是否为零;

若所述剩余字数为零,则判断所述当前句子是否为遍历到的最后一个句子;

若所述当前句子是遍历到的最后一个句子,则执行所述将生成的各所述句子节奏按时间顺序拼接,获得所述待处理歌词文本对应的歌词节奏。

优选地,所述判断所述剩余字数是否为零之后,所述歌词节奏生成方法还包括:

所述歌词节奏生成设备在所述剩余字数不为零时,根据所述剩余字数从所述预设歌词节奏生成模型的转移矩阵集合中选择后续节奏矩阵;

从所述后续节奏矩阵中选择一个节拍节奏作为所述当前句子的下一个节奏,获取所述下一个节奏的第二字数;

根据所述剩余字数和所述第二字数计算所述当前句子新的剩余字数,并返回所述判断所述剩余字数是否为零的步骤。

优选地,所述获取多个待处理歌词文本之前,所述歌词节奏生成方法还包括:

所述歌词节奏生成设备建立基础的马尔科夫模型,并获取歌曲样本集合;

根据所述歌曲样本集合中的音乐样本对所述马尔可夫模型进行训练,获得预设歌词节奏生成模型。

优选地,所述根据所述歌曲样本集合中的音乐样本对所述马尔可夫模型进行训练,获得预设歌词节奏生成模型,包括:

所述歌词节奏生成设备从所述歌曲样本集合中的音乐样本中提取各所述音乐样本对应的节奏序列;

统计各所述音乐样本对应的节奏序列中不重复的节奏序列;

将所述不重复的节奏序列记录至不重复节奏集合中;

统计各所述音乐样本中每一句中第一拍出现的节奏类型以及数量,将所述第一拍出现的节奏类型以及数量记录至节拍矩阵;

统计各所述音乐样本中每个句子中相邻两拍节奏之间的转移情况,将所述相邻两拍节奏之间的转移情况记录至转移矩阵中;

通过所述不重复节奏集合、所述节拍矩阵及所述转移矩阵对马尔可夫模型进行训练,获得预设歌词节奏生成模型。

优选地,所述根据所述当前句子的第一字数从预设歌词节奏生成模型的节拍矩阵集合中选择初始概率矩阵,包括:

所述歌词节奏生成设备获取所述预设歌词节奏生成模型的节拍矩阵集合中各节拍矩阵对应的第三字数;

根据所述第三字数判断各所述节拍矩阵中是否存在与所述当前句子的第一字数对应的节拍矩阵;

若各所述节拍矩阵中存在与所述当前句子的第一字数对应的节拍矩阵,则选择与所述第一字数对应的节拍矩阵作为初始概率矩阵。

优选地,所述根据所述第三字数判断各所述节拍矩阵中是否存在与所述当前句子的第一字数对应的节拍矩阵之后,所述歌词节奏生成方法还包括:

所述歌词节奏生成设备在各所述节拍矩阵中不存在与所述当前句子的第一字数对应的节拍矩阵时,计算所述第一字数分别与各所述第三字数之间的字数差值;

选择各所述字数差值中最小值对应的节拍矩阵作为初始概率矩阵。

此外,为实现上述目的,本发明还提出一种歌词节奏生成设备,所述歌词节奏生成设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的歌词节奏生成程序,所述歌词节奏生成程序配置为实现如上文所述的歌词节奏生成方法的步骤。

此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有歌词节奏生成程序,所述歌词节奏生成程序被处理器执行时实现如上文所述的歌词节奏生成方法的步骤。

此外,为实现上述目的,本发明还提出一种歌词节奏生成装置,所述歌词节奏生成装置包括:

获取模块,用于获取多个待处理歌词文本;

多线程处理模块,用于对多个待处理歌词文本进行多线程处理,从所述待处理歌词文本中提取多个句子,并对提取的句子分别进行字数统计;

遍历模块,用于将提取的句子存储至数据缓存器,按照先进先出规则对所述数据缓存器中的句子进行遍历,将遍历到的句子作为当前句子;

选择模块,用于根据所述当前句子的第一字数从预设歌词节奏生成模型的节拍矩阵集合中选择初始概率矩阵,所述预设歌词节奏生成模型通过对马尔科夫模型训练获得;

所述选择模块,还用于所述歌词节奏生成设备从所述初始概率矩阵中选择一个节拍节奏作为所述当前句子的句子节奏;

拼接模块,用于将生成的各所述句子节奏按时间顺序拼接,获得所述待处理歌词文本对应的歌词节奏,并将所述歌词节奏发送至目标终端。

本发明中,歌词节奏生成设备获取多个待处理歌词文本,所述歌词节奏生成设备的多线程处理器对多个待处理歌词文本进行多线程处理,从所述待处理歌词文本中提取多个句子,并对提取的句子分别进行字数统计,所述歌词节奏生成设备将提取的句子存储至数据缓存器,按照先进先出规则对所述数据缓存器中的句子进行遍历,将遍历到的句子作为当前句子,通过遍历提取的句子,以实现对所有句子的歌词节奏生成;根据所述当前句子的第一字数从预设歌词节奏生成模型的节拍矩阵集合中选择初始概率矩阵,从所述初始概率矩阵中选择一个节拍节奏作为所述当前句子的句子节奏,将生成的各所述句子节奏按时间顺序拼接,获得所述待处理歌词文本对应的歌词节奏,通过基于马尔可夫模型训练获得的预设歌词节奏生成模型,生成歌词节奏,对于不同风格的音乐节奏均能生成相适应的歌词节奏,提高歌词节奏的扩展性。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的歌词节奏生成设备的结构示意图;

图2为本发明歌词节奏生成方法第一实施例的流程示意图;

图3为本发明歌词节奏生成方法第二实施例的流程示意图;

图4为本发明歌词节奏生成方法第三实施例的流程示意图;

图5为本发明歌词节奏生成装置第一实施例的结构框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的歌词节奏生成设备结构示意图。

如图1所示,该歌词节奏生成设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口、无线接口,对于用户接口1003的有线接口在本发明中可为USB接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的存储器(Non-volatileMemory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的结构并不构成对歌词节奏生成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及歌词节奏生成程序。

在图1所示的歌词节奏生成设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接用户设备;所述歌词节奏生成设备通过处理器1001调用存储器1005中存储的歌词节奏生成程序,并执行本发明实施例提供的歌词节奏生成方法。

基于上述硬件结构,提出本发明歌词节奏生成方法的实施例。

参照图2,图2为本发明歌词节奏生成方法第一实施例的流程示意图,提出本发明歌词节奏生成方法第一实施例。

在第一实施例中,所述歌词节奏生成方法包括以下步骤:

步骤S10:歌词节奏生成设备获取多个待处理歌词文本。

需要说明的是,本实施例的执行主体是所述歌词节奏生成设备,其中,所述歌词节奏生成设备可为个人电脑或服务器等电子设备,本实施例对此不加以限制。为了提高歌词节奏生成效率,可同时获取多个待处理歌词文本,以对多个待处理歌词文本进行多线程处理,以实现批量处理,提高处理效率。

步骤S20:所述歌词节奏生成设备的多线程处理器对多个待处理歌词文本进行多线程处理,从所述待处理歌词文本中提取多个句子,并对提取的句子分别进行字数统计。

应理解的是,所述多线程处理器可同时对多个待处理歌词文本进行并行处理,从而提高处理效率。所述待处理歌词文本为一段给定的歌词文本U={U1,U2,…Ui…,Us},i为大于等于1的整数,s为该歌词文本中的句子数,对各句子的字数进行统计,获得各句子的字数。从所述待处理歌词文本中提取多个句子,通常需要对所述待处理歌词文本中所有句子均进行提取,并对所有句子均进行字数统计,获得所述待处理歌词文本中所有句子对应的句子字数。

步骤S30:所述歌词节奏生成设备将提取的句子存储至数据缓存器,按照先进先出规则对所述数据缓存器中的句子进行遍历,将遍历到的句子作为当前句子。

可理解的是,为了实现对各句子均进行相应处理,以生成所述待处理歌词文本中各句子对应的歌词节奏,需对提取的句子进行遍历,对于待处理歌词文本当中的每一个句子Ui,按照各句子在所述初始歌词文本中出现的先后顺序进行遍历。可先将提取的句子存储至所述数据缓存器中,在需要对句子进行进一步处理时,再通过先进先出规则对所述数据缓存器中的句子进行遍历;还可将提取的句子按照在所述初始歌词文本中出现的先后顺序进行排序,再对排序的句子按照先后顺序进行遍历;将遍历到的句子作为所述当前句子。

步骤S40:所述歌词节奏生成设备根据所述当前句子的第一字数从预设歌词节奏生成模型的节拍矩阵集合中选择初始概率矩阵,所述预设歌词节奏生成模型通过对马尔科夫模型训练获得。

需要说明的是,所述预设歌词节奏生成模型为经过训练的马尔科夫模型。建立基础的马尔科夫模型,获取歌曲样本集合,根据所述歌曲样本集合中的音乐样本对所述马尔科夫模型进行训练,获得预设歌词节奏生成模型。在训练阶段,统计所述音乐样本的每一句中第一拍出现的节奏类型的种类以及数量,并记录至特定的矩阵Wnum中,其中num表示当前句子剩余歌词的长度,并将所述矩阵Wnum添加至节拍矩阵集合W中。则可根据所述当前句子的第一字数从预设歌词节奏生成模型的节拍矩阵W中选择合适的矩阵作为其生成节奏的初始概率矩阵。如果所述当前句子的第一字数对应的矩阵Wnum属于所述预设歌词节奏生成模型的节拍矩阵W,那么直接挑选Wnum作为初始概率矩阵,否则从所述预设歌词节奏生成模型的节拍矩阵W中选择与所述当前句子的第一字数的字数差值最小的矩阵作为其初始概率矩阵。

步骤S50:所述歌词节奏生成设备从所述初始概率矩阵中选择一个节拍节奏作为所述当前句子的句子节奏。

应理解的是,当选择完初始概率矩阵之后,根据所述初始概率矩阵中各项的概率从中随机选择一个节拍节奏作为其开始的节奏,也可根据各项的概率选取概率最大的节拍节奏作为其开始的节奏,对此不加以限制。并更新剩下的所述剩余字数num=num–c,c为所选的句子节奏的音符数量。判断所述剩余字数是否为零,若所述剩余字数字数不为零,则根据所述剩余字数从所述歌词节奏生成模型的转移矩阵中选择后续节奏矩阵,从所述后续节奏矩阵中选择一个节拍节奏作为所述当前句子的下一个节奏,返回所述判断所述剩余字数是否为零的步骤,直至所述剩余字数为零,则所述当前句子中的文字均选择了对应的节拍节奏,即所述句子节奏及后续的下一节奏拼接构成所述当前句子的完整的句子节奏。

步骤S60:所述歌词节奏生成设备将生成的各所述句子节奏按时间顺序拼接,获得所述待处理歌词文本对应的歌词节奏,并将所述歌词节奏发送至播放设备。

需要说明的是,对提取的句子进行遍历,从而实现对提取的句子均完成从所述预设歌词节奏生成模型的节拍矩阵中选择对应的节拍节奏作为句子节奏。说明所述待处理歌词文本中所有句子的文字均设置了相应的节拍,若所述待处理歌词文本中所有的句子均完成了节拍的选取,则可将所述待处理歌词文本中所有句子的所述句子节奏,按照时间顺序进行拼接,从而获得所述待处理歌词文本对应的歌词节奏。所述播放设备可以是播放器、智能手机或计算机等具有播放功能的设备,将所述歌词节奏发送至所述播放设备,通过所述播放设备对所述歌词节奏进行播放。

本实施例中,歌词节奏生成设备获取多个待处理歌词文本,所述歌词节奏生成设备的多线程处理器对多个待处理歌词文本进行多线程处理,从所述待处理歌词文本中提取多个句子,并对提取的句子分别进行字数统计,所述歌词节奏生成设备将提取的句子存储至数据缓存器,按照先进先出规则对所述数据缓存器中的句子进行遍历,将遍历到的句子作为当前句子,通过遍历提取的句子,以实现对所有句子的歌词节奏生成;根据所述当前句子的第一字数从预设歌词节奏生成模型的节拍矩阵集合中选择初始概率矩阵,从所述初始概率矩阵中选择一个节拍节奏作为所述当前句子的句子节奏,将生成的各所述句子节奏按时间顺序拼接,获得所述待处理歌词文本对应的歌词节奏,通过基于马尔可夫模型训练获得的预设歌词节奏生成模型,生成歌词节奏,对于不同风格的音乐节奏均能生成相适应的歌词节奏,提高歌词节奏的扩展性。

参照图3,图3为本发明歌词节奏生成方法第二实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明歌词节奏生成方法的第二实施例。

在第二实施例中,所述步骤S60之前,还包括:

步骤S501:所述歌词节奏生成设备获取所述句子节奏的起始字数。

应理解的是,若所述当前句子的第一字数对应的矩阵Wnum属于所述预设歌词节奏生成模型的节拍矩阵W,那么直接挑选Wnum作为初始概率矩阵,否则从所述预设歌词节奏生成模型的节拍矩阵W中选择与所述当前句子的第一字数的字数差值最小的矩阵作为所述初始概率矩阵。当选取的所述初始概率矩阵是与所述第一字数的字数差值最小的矩阵,则从所述初始概率矩阵中选择的节拍节奏的字数可能小于所述当前句子的所述第一字数,则所述当前句子中的剩余的文字还未选择对应的节拍节奏。

步骤S502:根据所述第一字数和所述起始字数计算所述当前句子的剩余字数。

可理解的是,通常为了选择出合适的节拍节奏,在所述当前句子的第一字数对应的矩阵Wnum不属于所述预设歌词节奏生成模型的节拍矩阵W时,从所述预设歌词节奏生成模型的节拍矩阵W中选择与所述当前句子的第一字数的字数差值最小,并且字数小于所述第一字数的矩阵作为所述初始概率矩阵。则从所述初始概率矩阵中选择的节拍节奏只能对应所述当前句子的一部分文字,剩余的文字还需从转换矩阵中选择合适的节拍节奏。将所述第一字数减去所述起始字数,获得所述当前句子的剩余字数。

步骤S503:判断所述剩余字数是否为零。

需要说明的是,判断所述剩余字数是否为零,若所述剩余字数为零,说明所述当前句子中所有文字均有对应的节拍节奏。若所述剩余字数不为零,说明所述当前句子中存在部分文字没有对应的节拍节奏。

步骤S504:若所述剩余字数为零,则判断所述当前句子是否为遍历到的最后一个句子。

在具体实现中,若所述剩余字数为零,说明所述当前句子中所有文字均有对应的节拍节奏,则可进一步判断所述当前句子是否为遍历到的最后一个句子。若将提取的句子按照在所述初始歌词文本中出现的先后顺序进行排序,再对排序的句子按照先后顺序进行遍历,则只需判断遍历到的所述当前句子在排序的句子列表中是否还存在下一个句子,若不存在下一个句子,则判定所述当前句子是遍历到的最后一个句子,否则所述当前句子不是遍历到的最后一个句子。

所述步骤S504之后,还包括:若所述当前句子是遍历到的最后一个句子,则执行所述步骤S60。

应理解的是,若所述当前句子是遍历到的最后一个句子,则执行将生成的各所述句子节奏按时间顺序拼接,获得所述待处理歌词文本对应的歌词节奏的步骤。若所述当前句子是遍历到的最后一个句子,说明所述待处理歌词文本中所有句子的文字均设置了相应的节拍,若所述待处理歌词文本中所有的句子均完成了节拍的选取,则可将所述待处理歌词文本中所有句子的所述句子节奏,按照时间顺序进行拼接,从而获得所述待处理歌词文本对应的歌词节奏。

在本实施例中,所述步骤S503之后,还包括:

步骤S506:所述歌词节奏生成设备在所述剩余字数不为零时,根据所述剩余字数从所述预设歌词节奏生成模型的转移矩阵集合中选择后续节奏矩阵。

可理解的是,根据所述歌曲样本集合中的音乐样本对所述马尔科夫模型进行训练,获得预设歌词节奏生成模型。在训练阶段,统计每个句子当中相邻两拍节奏之间的转移情况,将其记录到特定的转移矩阵Hnum当中并添加到转移矩阵集合H,其中num表示节奏变化之前当前句子剩余歌词的长度。

在具体实现中,若所述剩余字数不为零,说明所述当前句子中存在部分文字没有对应的节拍节奏,根据所述剩余字数从所述预设歌词节奏生成模型的转移矩阵H中选择合适的矩阵作为其生成后续节奏的转移矩阵。若所述剩余字数对应的矩阵Hnum属于所述预设歌词节奏生成模型的转移矩阵H,那么直接挑选Hnum作为所述转移矩阵,否则从所述预设歌词节奏生成模型的多个转移矩阵H中选择与所述剩余字数的字数差值最小的转移矩阵作为所述后续节奏矩阵。

步骤S507:从所述后续节奏矩阵中选择一个节拍节奏作为所述当前句子的下一个节奏,获取所述下一个节奏的第二字数。

需要说明的是,根据当前句子的剩余字数从所述后续节奏矩阵中选择一个节拍节奏作为所述当前句子的下一个节奏,具体为根据所述后续节奏矩阵中各项的概率随机选择一个节拍节奏用作下一个节奏,也可根据各项的概率选取概率最大的节拍节奏作为其开始的节奏。

步骤S508:根据所述剩余字数和所述第二字数计算所述当前句子新的剩余字数,并返回所述步骤S503。

在具体实现中,选取所述下一个节奏,同时更新剩下的字数num=num-c,c为所选下一节奏的音符数量,即所述第二字数。当新的剩余字数num不等于零时,说明所述当前句子还存在文字未设置相应的节拍,则需要对剩余的文字继续选取相应的节拍。

进一步地,返回所述步骤S503,即判断所述新的剩余字数是否为零。

应理解的是,判断所述新的剩余字数是否为零,若所述新的剩余字数为零,说明所述当前句子中所有文字均有对应的节拍节奏。若所述新的剩余字数不为零,说明所述当前句子中存在部分文字没有对应的节拍节奏。

进一步地,若所述新的剩余字数为零,则执行所述判断所述当前句子是否为遍历到的最后一个句子的步骤。

可理解的是,若所述新的剩余字数为零,说明所述当前句子中所有文字均有对应的节拍节奏,则可进一步判断所述当前句子是否为遍历到的最后一个句子。若将提取的句子按照在所述初始歌词文本中出现的先后顺序进行排序,再对排序的句子按照先后顺序进行遍历,则只需判断遍历到的所述当前句子在排序的句子列表中是否还存在下一个句子,若不存在下一个句子,则判定所述当前句子是遍历到的最后一个句子,否则所述当前句子不是遍历到的最后一个句子。当所述新的剩余字数为零时,说明所述当前句子中的文字均设置了相应的节拍,若所述待处理歌词文本中所有的句子均完成了节拍的选取,则可将生成的节奏按时间顺序拼接即可生成所述待处理歌词文本对应的歌词节奏。

进一步地,若所述新的剩余字数不为零,则返回根据所述剩余字数从所述预设歌词节奏生成模型的转移矩阵集合中选择后续节奏矩阵的步骤。

需要说明的是,若所述新的剩余字数不为零,则返回根据所述剩余字数从所述预设歌词节奏生成模型的转移矩阵集合中选择后续节奏矩阵的步骤,直至所述当前句子中的歌词文本均从所预设歌词节奏生成模型中选择合适的节拍节奏,直至所述剩余字数为零,则所述当前句子中的文字均选择了对应的节拍节奏,即所述句子节奏以及后续的一个或多个下一节奏拼接构成所述当前句子的完整句子节奏。

本实施例中,若所述剩余字数不为零,则根据所述剩余字数从所述预设歌词节奏生成模型的转移矩阵中选择后续节奏矩阵,从所述后续节奏矩阵中选择一个节拍节奏作为所述当前句子的下一个节奏,重复上述步骤,直至所述剩余字数为零,则所述当前句子中的文字均选择了对应的节拍节奏,从而所述待处理歌词文本中所有句子的所有歌词均能选取合适的节拍节奏,根据歌词自适应的生成合理的节拍节奏,不需要严格规范的歌词输入,具有较好的适应性。

参照图4,图4为本发明歌词节奏生成方法第三实施例的流程示意图,基于上述图3所示的第二实施例,提出本发明歌词节奏生成方法的第三实施例。

在第三实施例中,所述步骤S10之前,还包括:

步骤S01:所述歌词节奏生成设备建立基础的马尔科夫模型,并获取歌曲样本集合。

应理解的是,歌曲节奏序列可看作是具有马尔科夫性质的序列,将相邻时刻的节奏变化看作是马尔可夫过程,则在此基础上构建基础的马尔可夫模型,并对基础的所述马尔可夫模型进行训练,则可通过经过训练的马尔可夫模型生成音乐节奏。

可理解的是,从所述音乐样本库中随机挑选N首歌曲样本构建模型的所述歌曲样本集合T={T1,T2,…Ti…,TN},Ti表示所述歌曲样本集合当中任意的音乐样本,i为大于等于1的整数,记该音乐样本的拍号为A/B,其中A表示每小节的节拍数,B表示一节拍的时间长度。

步骤S02:根据所述歌曲样本集合中的音乐样本对所述马尔可夫模型进行训练,获得预设歌词节奏生成模型。

需要说明的是,在训练阶段,统计所述音乐样本的每一句中第一拍出现的节奏类型的种类以及数量,并记录至特定的矩阵Wnum中,其中num表示当前句子剩余歌词的长度,并将所述矩阵Wnum添加至节拍矩阵集合W中。统计每个句子当中相邻两拍节奏之间的转移情况,将其记录到特定的转移矩阵Hnum当中并添加到转移矩阵集合H,其中num表示节奏变化之前当前句子剩余歌词的长度。对所有音乐样本进行同样的处理即可以完成对于所述马尔可夫模型的训练,然后将各个矩阵当中的每一行的元素除以该行元素的和对其进行概率化。通过上述训练过程根据所述歌曲样本集合中的音乐样本对马尔可夫模型进行训练,从而获得预设歌词节奏生成模型。

在本实施例中,所述步骤S02,包括:

所述歌词节奏生成设备从所述歌曲样本集合中的音乐样本中提取各所述音乐样本对应的节奏序列;

统计各所述音乐样本对应的节奏序列中不重复的节奏序列;

将所述不重复的节奏序列记录至不重复节奏集合中;

统计各所述音乐样本中每一句中第一拍出现的节奏类型以及数量,将所述第一拍出现的节奏类型以及数量记录至节拍矩阵;

统计各所述音乐样本中每个句子中相邻两拍节奏之间的转移情况,将所述相邻两拍节奏之间的转移情况记录至转移矩阵中;

通过所述不重复节奏集合、所述节拍矩阵及所述转移矩阵对马尔可夫模型进行训练,获得预设歌词节奏生成模型。

在具体实现中,对所述歌曲样本集合中的音乐样本进行音高信息剔除,获得各所述音乐样本对应的节奏序列,剔除音高信息之后的节奏序列为Ri={ri,1;ri,2;…ri,j;…;ri,n},其中ri,j表示该样本第j个节拍中的节奏序列,n=m*A,m表示该样本的小节数,i为大于等于1的整数,从而可对所述节奏序列进行提取。当获得音乐样本之后,首先根据其歌词信息当中的句子数对节奏序列进行划分,记划分后的节奏序列Ri={Ri,1;Ri,2;…;Ri,a},其中a为该音乐样本中的句子数,Ri,k为每个句子所涵盖的节奏序列,假设每一个句子所涵盖的小节数为nk,那么有Ri1={ri,l|1≤l≤n1},对于歌曲样本中每一句当中的节奏序列,采用如下的方式来进行模型的训练,首先统计该样本中所有节拍内出现的不重复的节奏序列,将其记录到特定的集合U当中;然后,统计每一句中第一拍出现的节奏类型的种类以及数量,将其记录到特定的矩阵Wnum当中并添加到集合W,其中num表示当前句子剩余歌词的长度;除此之外,统计每个句子当中相邻两拍节奏之间的转移情况,将其记录到特定的转移矩阵Hnum当中并添加到集合H,其中num表示节奏变化之前当前句子剩余歌词的长度。对所有音乐样本进行同样的处理即可以完成对于模型的训练,然后将各个矩阵当中的每一行的元素除以该行元素的和对其进行概率化。通过上述训练过程根据所述歌曲样本集合中的音乐样本对马尔可夫模型进行训练,从而获得歌词节奏生成模型。

在本实施例中,所述步骤S30,包括:

所述歌词节奏生成设备获取所述预设歌词节奏生成模型的节拍矩阵集合中各节拍矩阵对应的第三字数;

根据所述第三字数判断各所述节拍矩阵中是否存在与所述当前句子的第一字数对应的节拍矩阵;

若各所述节拍矩阵中存在与所述当前句子的第一字数对应的节拍矩阵,则选择与所述第一字数对应的节拍矩阵作为初始概率矩阵。

应理解的是,可根据所述当前句子的第一字数从预设歌词节奏生成模型的节拍矩阵W中选择合适的矩阵作为其生成节奏的初始概率矩阵。获取所述预设歌词节奏生成模型的节拍矩阵集合中各节拍矩阵对应的第三字数,将各所述第三字数与所述第一字数进行比较,若存在第三字数与所述第一字数一致,即所述当前句子的第一字数对应的矩阵Wnum属于所述预设歌词节奏生成模型的节拍矩阵W,那么直接挑选Wnum作为初始概率矩阵。

在本实施例中,所述根据所述第三字数判断各所述节拍矩阵中是否存在与所述当前句子的第一字数对应的节拍矩阵之后,还包括:

所述歌词节奏生成设备在各所述节拍矩阵中不存在与所述当前句子的第一字数对应的节拍矩阵时,计算所述第一字数分别与各所述第三字数之间的字数差值;

选择各所述字数差值中最小值对应的节拍矩阵作为初始概率矩阵。

可理解的是,若不存在第三字数与所述第一字数一致,即所述当前句子的第一字数对应的矩阵Wnum不属于所述预设歌词节奏生成模型的节拍矩阵W,则从所述预设歌词节奏生成模型的节拍矩阵集合W中选择与所述当前句子的第一字数的字数差值最小的节拍矩阵作为所述初始概率矩阵。

本实施例中,建立基础的马尔科夫模型,获取歌曲样本集合,根据所述歌曲样本集合中的音乐样本对所述马尔可夫模型进行训练,获得预设歌词节奏生成模型,通过训练获得的所述预设歌词节奏生成模型对所述待处理歌词文本进行歌词节奏预测,生成的歌词节奏可以很好的适用于不同风格的音乐节奏扩展,具有良好的扩展性。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有歌词节奏生成程序,所述歌词节奏生成程序被处理器执行时实现如上文所述的歌词节奏生成方法的步骤。

此外,参照图5,本发明实施例还提出一种歌词节奏生成装置,所述歌词节奏生成装置包括:

获取模块10,用于获取多个待处理歌词文本。

需要说明的是,为了提高歌词节奏生成效率,可同时获取多个待处理歌词文本,以对多个待处理歌词文本进行多线程处理,以实现批量处理,提高处理效率。

多线程处理模块20,用于对多个待处理歌词文本进行多线程处理,从所述待处理歌词文本中提取多个句子,并对提取的句子分别进行字数统计。

应理解的是,所述多线程处理器可同时对多个待处理歌词文本进行并行处理,从而提高处理效率。所述待处理歌词文本为一段给定的歌词文本U={U1,U2,…Ui...,Us},i为大于等于1的整数,s为该歌词文本中的句子数,对各句子的字数进行统计,获得各句子的字数。从所述待处理歌词文本中提取多个句子,通常需要对所述待处理歌词文本中所有句子均进行提取,并对所有句子均进行字数统计,获得所述待处理歌词文本中所有句子对应的句子字数。

遍历模块30,用于将提取的句子存储至数据缓存器,按照先进先出规则对所述数据缓存器中的句子进行遍历,将遍历到的句子作为当前句子。

可理解的是,为了实现对各句子均进行相应处理,以生成所述待处理歌词文本中各句子对应的歌词节奏,需对提取的句子进行遍历,对于待处理歌词文本当中的每一个句子Ui,按照各句子在所述初始歌词文本中出现的先后顺序进行遍历。可先将提取的句子存储至所述数据缓存器中,在需要对句子进行进一步处理时,再通过先进先出规则对所述数据缓存器中的句子进行遍历;还可将提取的句子按照在所述初始歌词文本中出现的先后顺序进行排序,再对排序的句子按照先后顺序进行遍历;将遍历到的句子作为所述当前句子。

选择模块40,用于根据所述当前句子的第一字数从预设歌词节奏生成模型的节拍矩阵集合中选择初始概率矩阵,所述预设歌词节奏生成模型通过对马尔科夫模型训练获得。

需要说明的是,所述预设歌词节奏生成模型为经过训练的马尔科夫模型。建立基础的马尔科夫模型,获取歌曲样本集合,根据所述歌曲样本集合中的音乐样本对所述马尔科夫模型进行训练,获得预设歌词节奏生成模型。在训练阶段,统计所述音乐样本的每一句中第一拍出现的节奏类型的种类以及数量,并记录至特定的矩阵Wnum中,其中num表示当前句子剩余歌词的长度,并将所述矩阵Wnum添加至节拍矩阵集合W中。则可根据所述当前句子的第一字数从预设歌词节奏生成模型的节拍矩阵W中选择合适的矩阵作为其生成节奏的初始概率矩阵。如果所述当前句子的第一字数对应的矩阵Wnum属于所述预设歌词节奏生成模型的节拍矩阵W,那么直接挑选Wnum作为初始概率矩阵,否则从所述预设歌词节奏生成模型的节拍矩阵W中选择与所述当前句子的第一字数的字数差值最小的矩阵作为其初始概率矩阵。

所述选择模块40,还用于从所述初始概率矩阵中选择一个节拍节奏作为所述当前句子的句子节奏。

应理解的是,当选择完初始概率矩阵之后,根据所述初始概率矩阵中各项的概率从中随机选择一个节拍节奏作为其开始的节奏,也可根据各项的概率选取概率最大的节拍节奏作为其开始的节奏,对此不加以限制。并更新剩下的所述剩余字数num=num–c,c为所选的句子节奏的音符数量。判断所述剩余字数是否为零,若所述剩余字数字数不为零,则根据所述剩余字数从所述歌词节奏生成模型的转移矩阵中选择后续节奏矩阵,从所述后续节奏矩阵中选择一个节拍节奏作为所述当前句子的下一个节奏,返回所述判断所述剩余字数是否为零的步骤,直至所述剩余字数为零,则所述当前句子中的文字均选择了对应的节拍节奏,即所述句子节奏及后续的下一节奏拼接构成所述当前句子的完整的句子节奏。

拼接模块50,用于将生成的各所述句子节奏按时间顺序拼接,获得所述待处理歌词文本对应的歌词节奏,并将所述歌词节奏发送至播放设备。

需要说明的是,对提取的句子进行遍历,从而实现对提取的句子均完成从所述预设歌词节奏生成模型的节拍矩阵中选择对应的节拍节奏作为句子节奏。说明所述待处理歌词文本中所有句子的文字均设置了相应的节拍,若所述待处理歌词文本中所有的句子均完成了节拍的选取,则可将所述待处理歌词文本中所有句子的所述句子节奏,按照时间顺序进行拼接,从而获得所述待处理歌词文本对应的歌词节奏。所述播放设备可以是播放器、智能手机或计算机等具有播放功能的设备,将所述歌词节奏发送至所述播放设备,通过所述播放设备对所述歌词节奏进行播放。

本实施例中,通过获取多个待处理歌词文本,所述歌词节奏生成设备的多线程处理器对多个待处理歌词文本进行多线程处理,从所述待处理歌词文本中提取多个句子,并对提取的句子分别进行字数统计,所述歌词节奏生成设备将提取的句子存储至数据缓存器,按照先进先出规则对所述数据缓存器中的句子进行遍历,将遍历到的句子作为当前句子,通过遍历提取的句子,以实现对所有句子的歌词节奏生成;根据所述当前句子的第一字数从预设歌词节奏生成模型的节拍矩阵集合中选择初始概率矩阵,从所述初始概率矩阵中选择一个节拍节奏作为所述当前句子的句子节奏,将生成的各所述句子节奏按时间顺序拼接,获得所述待处理歌词文本对应的歌词节奏,通过基于马尔可夫模型训练获得的预设歌词节奏生成模型,生成歌词节奏,对于不同风格的音乐节奏均能生成相适应的歌词节奏,提高歌词节奏的扩展性。

在一实施例中,所述歌词节奏生成装置还包括:

所述获取模块10,用于获取所述句子节奏的起始字数;

计算模块,用于根据所述第一字数和所述起始字数计算所述当前句子的剩余字数;

判断模块,用于判断所述剩余字数是否为零;

所述判断模块,还用于若所述剩余字数为零,则判断所述当前句子是否为遍历到的最后一个句子;

所述拼接模块50,还用于若所述当前句子是遍历到的最后一个句子,则执行所述将生成的各所述句子节奏按时间顺序拼接,获得所述待处理歌词文本对应的歌词节奏。

在一实施例中,所述选择模块40,还用于在所述剩余字数不为零时,根据所述剩余字数从所述预设歌词节奏生成模型的转移矩阵集合中选择后续节奏矩阵;从所述后续节奏矩阵中选择一个节拍节奏作为所述当前句子的下一个节奏,获取所述下一个节奏的第二字数;

所述计算模块,还用于根据所述剩余字数和所述第二字数计算所述当前句子新的剩余字数,并返回所述判断所述剩余字数是否为零的步骤。

在一实施例中,所述歌词节奏生成装置还包括:

建立模块,用于建立基础的马尔科夫模型,并获取歌曲样本集合;

训练模块,用于根据所述歌曲样本集合中的音乐样本对所述马尔可夫模型进行训练,获得预设歌词节奏生成模型。

在一实施例中,所述训练模块,还用于从所述歌曲样本集合中的音乐样本中提取各所述音乐样本对应的节奏序列;统计各所述音乐样本对应的节奏序列中不重复的节奏序列;将所述不重复的节奏序列记录至不重复节奏集合中;统计各所述音乐样本中每一句中第一拍出现的节奏类型以及数量,将所述第一拍出现的节奏类型以及数量记录至节拍矩阵;统计各所述音乐样本中每个句子中相邻两拍节奏之间的转移情况,将所述相邻两拍节奏之间的转移情况记录至转移矩阵中;通过所述不重复节奏集合、所述节拍矩阵及所述转移矩阵对马尔可夫模型进行训练,获得预设歌词节奏生成模型。

在一实施例中,所述选择模块40,还用于获取所述预设歌词节奏生成模型的节拍矩阵集合中各节拍矩阵对应的第三字数;根据所述第三字数判断各所述节拍矩阵中是否存在与所述当前句子的第一字数对应的节拍矩阵;若各所述节拍矩阵中存在与所述当前句子的第一字数对应的节拍矩阵,则选择与所述第一字数对应的节拍矩阵作为初始概率矩阵。

在一实施例中,所述选择模块40,还用于在各所述节拍矩阵中不存在与所述当前句子的第一字数对应的节拍矩阵时,计算所述第一字数分别与各所述第三字数之间的字数差值;选择各所述字数差值中最小值对应的节拍矩阵作为初始概率矩阵。

本发明所述歌词节奏生成装置的其他实施例或具体实现方式可参照上述各所述方法实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为标识。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(Read Only Memory image,ROM)/随机存取存储器(Random AccessMemory,RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各所述个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:音乐文件的节拍配置/播放方法、系统、介质及设备

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!