基于神经网络的以词生成节奏的方法、装置及存储介质与流程

文档序号:18642793发布日期:2019-09-11 23:44阅读:210来源:国知局
基于神经网络的以词生成节奏的方法、装置及存储介质与流程

本发明涉及人工智能技术领域,尤其涉及一种基于神经网络的以词生成节奏方法、装置及计算机可读存储介质。



背景技术:

音乐节奏是音乐自动生成算法中重要的一环,音乐节奏能够规范歌词的分布,同时能够约束音高、旋律等,是连接歌词和音乐的桥梁。传统的语音识别和音乐模型的构建,都是采用状态建模,一个音素或者一个字被人为的分成多个没有物理意义的状态,然后采用离散或者连续高斯模型描述每个状态的输出分布。这种建模方式需要预先对连续序列中间的建模单元的边界进行切分,并且输入输出分布边缘对齐,计算速度慢。

人们对于将深度神经网络与各个领域相结合做出了很多努力,在音乐生成方面,概率生成算法、马尔科夫链能够较准确的生成原有的音乐节奏,但生成的音乐节奏的旋律过于简单;长短期记忆网络(longshort-termmemory,lstm)的结构模型过于复杂,模型的训练时间长;而循环神经网络(recurrentneuralnetwork,rnn)在处理距离较远的序列时,很有可能会出现梯度消失的问题。因此,如何将深度学习网络应用到音乐节奏的生成并得到可靠结果使其生成的音乐更加符合原有音乐的规范,且使系统具备稳定的鲁棒性,是一个亟需解决的问题。



技术实现要素:

本发明提供一种基于神经网络的以词生成节奏方法、装置及计算机可读存储介质,其主要目的在于提供一种将深度学习网络应用到音乐节奏的生成的技术方案。

为实现上述目的,本发明提供的一种基于神经网络的以词生成节奏方法,包括:

将给定音乐的歌词按照预设的歌词编码规则转换为向量集合,其中,所述预设的歌词编码规则包括:规定歌词中的单个字符为1,单个标点符号为0,字符之间用0填充;

预先构建神经网络模型,其中,预先构建的所述神经网络模型包含三层时空卷积网络以及一层双向门控循环单元;

向所述三层时空卷积网络中输入给定音乐的歌词的向量集合,提取出特征向量;

利用所述双向门控循环单元对所述特征向量进行聚合操作,得到时间步长;及

对每一个时间步长进行线性变换,得到时间序列分布;

利用所述时间序列分布,对所述歌词进行连接时序分类,得到目标节奏。

可选地,所述时空卷积网络的每一层的计算方式为:

其中,y表示某一层的输出,σ表示激活函数,i,j,k表示样本上对应位置的坐标,表示每一层输入到对应于上述(i,j,k)处与对应卷积核尺寸大小相等的局部区域,表示卷积核的权重矩阵,b表示对应卷积核的偏置值。

可选地,所述利用所述时间序列分布,对所述歌词进行连接时序分类,得到目标节奏,包括:

在给定音乐的歌词v的基础上加上空白标签得到字符串

定义函数b:其中,v*执行下述操作获得:1)合并连续的相同符号;2)去掉空白字符;

对于一个字符串序列y∈v*,定义:

其中,v*的所有元素被称为路径,v*是所有路径的集合,p(y|z)代表目标歌词集合v对应路径的概率之和,z为所述三层时空卷积网络输出的特征向量,t为所有时间步长个数,p(ut,…,ut|z)为所有时间步长个数t的时间序列分布,s.t.|u|=t是一个条件函数,表述需要满足u是在所有时间步长t之中这个条件,b-1(y)s.t.|u|=t表示长度为t且示经过函数b变换结果为字符串y的集合;

根据输入的特征向量z,计算最大概率和,得到输入序列对应的目标歌词序列h(x),即为目标歌词在给定音乐下生成的节奏:

可选地,所述双向门控循环单元采用如下公式得到时间步长:

rt=σ(wr·[ht-1,z]);

ut=σ(wu·[ht-1,z]);

其中:ut和rt分别为更新门和重置门,[]表示两个向量相连接,*表示矩阵元素相乘,σ为sigmoid函数,z={z1,…,zt}为所述三层时空卷积网络输出的特征向量,wr和wu分别为重置门和更新门的权重,表示t时刻的候选状态,表示的权值,ht为t时刻的输出状态,

双向门控循环单元两个方向的映射分别为:

由此得到t时刻的时间步长为:

可选地,所述时间序列分布的计算公式为:

p(ut,…,ut|z)=∏1≤t≤tp(ut|z),

其中,t为时间步长,p(ut|z)=softmax(mlp(ht;wmlp)),所述softmax是一种归一化指数函数,mlp是含有权重wmlp的前馈神经网络,z为三层时空卷积网络输出的特征向量,t为所有时间步长个数。

此外,为实现上述目的,本发明还提供一种基于神经网络的以词生成节奏装置,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的以词生成节奏程序,所述以词生成节奏程序被所述处理器执行时实现一种基于神经网络的以词生成节奏的方法,所述方法包括:

将给定音乐的歌词按照预设的歌词编码规则转换为向量集合,其中,所述预设的歌词编码规则包括:规定歌词中的单个字符为1,单个标点符号为0,字符之间用0填充;

预先构建神经网络模型,其中,预先构建的所述神经网络模型包含三层时空卷积网络以及一层双向门控循环单元;

向所述三层时空卷积网络中输入给定音乐的歌词的向量集合,提取出特征向量;

利用所述双向门控循环单元对上所述特征向量进行聚合操作,得到时间步长;及

对每一个时间步长进行线性变换,得到时间序列分布;

利用所述时间序列分布,对所述歌词进行连接时序分类,得到目标节奏。

可选地,所述时空卷积网络的每一层的计算方式为:

其中,y表示某一层的输出,σ表示激活函数,i,j,k表示样本上对应位置的坐标,表示每一层输入到对应于上述(i,j,k)处与对应卷积核尺寸大小相等的局部区域,表示卷积核的权重矩阵,b表示对应卷积核的偏置值。

可选地,所述利用所述时间序列分布,对所述歌词进行连接时序分类,得到目标节奏,包括:

在给定音乐的歌词v的基础上加上空白标签得到字符串

定义函数b:其中,v*执行下述操作获得1)合并连续的相同符号;2)去掉空白字符;

对于一个字符串序列y∈v*,定义:

其中,v*的所有元素被称为路径,v*是所有路径的集合,p(y|z)代表目标歌词集合v对应路径的概率之和,z为所述三层时空卷积网络输出的特征向量,t为所有时间步长个数,p(ut,…,ut|z)为所有时间步长个数t的时间序列分布,s.t.|u|=t是一个条件函数,表述需要满足u是在所有时间步长t之中这个条件,b-1(y)s.t.|u|=t表示长度为t且示经过函数b变换结果为字符串y的集合;

根据输入的特征向量z,计算最大概率和,得到输入序列对应的目标歌词序列h(x),即为目标歌词在给定音乐下生成的节奏:

可选地,所述双向门控循环单元采用如下公式得到时间步长:

rt=σ(wr·[ht-1,z]);

ut=σ(wu·[ht-1,z]);

其中:ut和rt分别为更新门和重置门,[]表示两个向量相连接,*表示矩阵元素相乘,σ为sigmoid函数,z={z1,…,zt}为所述三层时空卷积网络输出的特征向量,wr和wu分别为重置门和更新门的权重,表示t时刻的候选状态,表示的权值,ht为t时刻的输出状态,

双向门控循环单元两个方向的映射分别为:

由此得到t时刻的时间步长为:

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有以词生成节奏程序,所述的以词生成节奏程序可被一个或者多个处理器执行,以实现如上所述的基于神经网络的以词生成节奏方法的步骤。

本发明提出的基于神经网络的以词生成节奏方法、装置及计算机可读存储介质,将给定音乐的歌词按照预设的歌词编码规则转换为向量集合;向预先构建的神经网络模型中输入给定音乐的歌词的向量集合,得到所述歌词的时间序列分布;利用所述时间序列分布,对所述歌词进行连接时序分类,得到目标节奏。因此,本发明将深度学习网络应用到音乐节奏的生成并可以得到可靠结果使其生成的音乐更加符合原有音乐的规范。

附图说明

图1为本发明一实施例提供的基于神经网络的以词生成节奏方法的流程示意图;

图2为本发明一实施例提供的基于神经网络的以词生成节奏方法中所述的双向门控循环单元的示意图;

图3为本发明一实施例提供的基于神经网络的以词生成节奏方法中数据流的示意图;

图4为本发明一实施例提供的基于神经网络的以词生成节奏装置的内部结构示意图;

图5为本发明一实施例提供的基于神经网络的以词生成节奏装置中以词生成节奏程序的模块示意图。

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

具体实施方式

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

本发明提供一种基于神经网络的以词生成节奏方法。参照图1所示,为本发明一实施例提供的基于神经网络的以词生成节奏方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。

在本实施例中,所述基于神经网络的以词生成节奏方法包括:

s10、将给定音乐的歌词按照预设的歌词编码规则转换为向量集合。

本发明较佳实施例中,所述预设的歌词编码规则包括:规定歌词中的单个字符为1,单个标点符号为0,字符之间用0填充。

本发明较佳实施例中,生成的向量形式为xi=[time,1,1,channel]。其中,“time”为歌词出现在音乐中的时间的bcd码(binary-codeddecimal,亦称二进码十进数或二-十进制代码),“1”引申指的是图像的高和宽,在音乐中一个字符相当于一个像素,所以设置宽高均为1,“channel”为上述的歌词编码,如上所述单个字符的channel值为1,单个标点符号的channel值为0等。于是,给定音乐中的歌词可以转换为向量集合为x={x1,…xi,…xt}。

s20、向预先构建的神经网络模型中输入给定音乐的歌词的向量集合,得到所述歌词的时间序列分布。

本发明所述预先构建的神经网络模型包含三层时空卷积网络(spatiotemporalconvolutionalneuralnetworks,stcnns)以及一层双向门控循环单元(bi-gru,bidirectionalgatedrecurrentunit)。

卷积神经网络(convolutionalneuralnetworks,cnns)是一种前馈神经网络,其可以在图像空间上进行卷积堆叠操作,有助于提高计算机视觉任务的性能。而所述时空卷积网络stcnns可以通过在时间和空间维度上进行卷积运算从而可以对音视频数据进行处理。

本发明所述时空卷积网络stcnns的每一层从输入到输出的计算方式为:

其中,y表示某一层的输出,σ表示激活函数,i,j,k表示样本上对应位置的坐标,表示每一层输入到对应于上述(i,j,k)处与对应卷积核尺寸大小相等的局部区域,表示卷积核的权重矩阵,b表示对应卷积核的偏置值。

本发明较佳实施例中,三层的stcnns卷积核形状为四个维度分别是时间、高、宽和特征数。

在经过训练后,向所述三层时空卷积网络中输入给定音乐的歌词的向量集合x后可以提取出特征向量z。

进一步地,本发明利用bi-gru进一步对stcnns提取到的特征向量z进行进一步聚合,得到时间步长。

本发明较佳实施例在stcnns后连接一层双向门控循环单元(bi-gru)。gru是一种循环神经网络(rnn)的一种变体,gru的重复单元模型如下,它有两个门,分别为更新门ut和重置门rt。更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多。重置门用于控制忽略前一时刻的状态信息的程度,重置门的值越小说明忽略得越多。而bi-gru主要特点是增加了对未来的学习能力,克服了仅能处理历史信息的缺陷。bi-gru将一个普通gru拆成两个方向,一个按照序列顺序向前,一个逆时序反向,但是两个gru连接同一个输入层和输出层,结构如图2所示。本发明较佳实施例中,所述bi-gru的神经元数为256个。

本发明所述bi-gru采用如下公式得到时间步长:

rt=σ(wr·[ht-1,z]);

ut=σ(wu·[ht-1,z]);

其中:ut和rt分别为更新门和重置门,[]表示两个向量相连接,*表示矩阵元素相乘,σ为sigmoid函数,z={z1,…,zt}为bi-gru的输入即stcnns的输出特征,wr和wu分别为重置门和更新门的权重,表示t时刻的候选状态,表示的权值,ht为t时刻的输出状态。

bi-gru两个方向的映射分别为:

由此得到t时刻的时间步长为:

进一步地,本发明对每一个时间步长ht进行线性变换,得到时间序列分布。

为了参数化序列分布,本发明对于对每一个时间步t,使得p(ut|z)=softmax(mlp(ht;wmlp)),其中softmax是一种归一化指数函数,mlp是含有权重wmlp的前馈神经网络,然后定义时间序列分布:

p(ut,…,ut|z)=∏1≤t≤tp(ut|z),

在该模型中z为gru的输入,即stcnns的输出。即在输入为z时,将t时刻的输出状态进行反向传输,得到对每个t时刻状态的分类。最终根据定义得到所有时间步长个数t(即为z的向量长度)的时间序列分布p。

s30、利用所述时间序列分布,对所述歌词进行连接时序分类(connectionisttemporalclassification,ctc),得到目标节奏。

所述ctc是为rnn专门设计的顶层(toplayer),用于序列学习所用,它可以消除输入与目标输出对齐的步骤。

本发明较佳实施例中,对所述歌词进行ctc的主要流程如下:

1)在给定音乐的歌词v的基础上加上空白标签得到字符串

2)定义函数b:其中,v*执行下述操作获得1)合并连续的相同符号;2)去掉空白字符;

对于一个字符串序列y∈v*,定义:

其中,v*的所有元素被称为路径,v*是所有路径的集合,p(y|z)代表目标歌词集合v对应路径的概率之和,z为所述三层时空卷积网络输出的特征向量,t为所有时间步长个数,p(ut,…,ut|z)为所有时间步长个数t的时间序列分布,s.t.|u|=t是一个条件函数,表述需要满足u是在所有时间步长t之中这个条件,b-1(y)s.t.|u|=t表示长度为t且示经过函数b变换结果为字符串y的集合;

3)根据输入的特征向量z,计算最大概率和,得到输入序列对应的目标歌词序列h(x),即为目标歌词在给定音乐下生成的节奏:

综上所述,参阅图3所示,本发明的数据流如下:对于一段音乐,本发明较佳实施例将音乐中的歌词转换为向量,并将其传输到该构建的神经网络中得到时间序列,其中,本发明所述神经网络包括三层时空卷积网络以及一层双向门控循环单元;将得到的时间序列输入到连接时序分类当中,同时输入目标歌词,最终得到对应的目标歌词的序列则为这段音乐对应的目标歌词的节奏。

本发明还提供一种基于神经网络的以词生成节奏装置。参照图4所示,为本发明一实施例提供的基于神经网络的以词生成节奏装置的内部结构示意图。

在本实施例中,基于神经网络的以词生成节奏装置1可以是pc(personalcomputer,个人电脑),也可以是智能手机、平板电脑、便携计算机等终端设备。该基于神经网络的以词生成节奏装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。

其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是基于神经网络的以词生成节奏装置1的内部存储单元,例如该基于神经网络的以词生成节奏装置1的硬盘。存储器11在另一些实施例中也可以是基于神经网络的以词生成节奏装置1的外部存储设备,例如基于神经网络的以词生成节奏装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括以词生成节奏装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于基于神经网络的以词生成节奏装置1的应用软件及各类数据,例如以词生成节奏程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行所述以词生成节奏程序01等。

通信总线13用于实现这些组件之间的连接通信。

网络接口14可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该装置1与其他电子设备之间建立通信连接。

可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在基于神经网络的以词生成节奏装置1中处理的信息以及用于显示可视化的用户界面。

图4仅示出了具有组件11-14以及以词生成节奏程序01的基于神经网络的以词生成节奏装置1,本领域技术人员可以理解的是,图4示出的结构并不构成对基于神经网络的以词生成节奏装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

在图4所示的装置1实施例中,存储器11中存储有以词生成节奏程序01;处理器12执行存储器11中存储的以词生成节奏程序01时实现如下步骤:

步骤一、将给定音乐的歌词按照预设的歌词编码规则转换为向量集合。

本发明较佳实施例中,所述预设的歌词编码规则包括:规定歌词中的单个字符为1,单个标点符号为0,字符之间用0填充。

本发明较佳实施例中,生成的向量形式为xi=[time,1,1,channel]。其中,“time”为歌词出现在音乐中的时间的bcd码(binary-codeddecimal,亦称二进码十进数或二-十进制代码),“1”引申指的是图像的高和宽,在音乐中一个字符相当于一个像素,所以设置宽高均为1,“channel”为上述的歌词编码,如上所述单个字符的channel值为1,单个标点符号的channel值为0等。于是,给定音乐中的歌词可以转换为向量集合为x={x1,…xi,…xt}。

步骤二、向预先构建的神经网络模型中输入给定音乐的歌词的向量集合,得到所述歌词的时间序列分布。

本发明所述预先构建的神经网络模型包含三层时空卷积网络(spatiotemporalconvolutionalneuralnetworks,stcnns)以及一层双向门控循环单元(bi-gru,bidirectionalgatedrecurrentunit)。

卷积神经网络(convolutionalneuralnetworks,cnns)是一种前馈神经网络,其可以在图像空间上进行卷积堆叠操作,有助于提高计算机视觉任务的性能。而所述时空卷积网络stcnns可以通过在时间和空间维度上进行卷积运算从而可以对音视频数据进行处理。

本发明所述时空卷积网络stcnns的每一层从输入到输出的计算方式为:

其中,y表示某一层的输出,σ表示激活函数,i,j,k表示样本上对应位置的坐标,表示每一层输入到对应于上述(i,j,k)处与对应卷积核尺寸大小相等的局部区域,表示卷积核的权重矩阵,b表示对应卷积核的偏置值。

本发明较佳实施例中,三层的stcnns卷积核形状为四个维度分别是时间、高、宽和特征数。

在经过训练后,向所述三层时空卷积网络中输入给定音乐的歌词的向量集合x后可以提取出特征向量z。

进一步地,本发明利用bi-gru进一步对stcnns提取到的特征向量z进行进一步聚合,得到时间步长。

本发明较佳实施例在stcnns后连接一层双向门控循环单元(bi-gru)。gru是一种循环神经网络(rnn)的一种变体,gru的重复单元模型如下,它有两个门,分别为更新门ut和重置门rt。更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多。重置门用于控制忽略前一时刻的状态信息的程度,重置门的值越小说明忽略得越多。而bi-gru主要特点是增加了对未来的学习能力,克服了仅能处理历史信息的缺陷。bi-gru将一个普通gru拆成两个方向,一个按照序列顺序向前,一个逆时序反向,但是两个gru连接同一个输入层和输出层,结构如图2所示。本发明较佳实施例中,所述bi-gru的神经元数为256个。

本发明所述bi-gru采用如下公式得到时间步长:

rt=σ(wr·[ht-1,z]);

ut=σ(wu·[ht-1,z]);

其中:ut和rt分别为更新门和重置门,[]表示两个向量相连接,*表示矩阵元素相乘,σ为sigmoid函数,z={z1,…,zt}为bi-gru的输入即stcnns的输出特征,wr和wu分别为重置门和更新门的权重,表示t时刻的候选状态,表示的权值,ht为t时刻的输出状态。

bi-gru两个方向的映射分别为:

由此得到t时刻的时间步长为:

进一步地,本发明对每一个时间步长ht进行线性变换,得到时间序列分布。

为了参数化序列分布,本发明对于对每一个时间步t,使得p(ut|z)=softmax(mlp(ht;wmlp)),其中softmax是一种归一化指数函数,mlp是含有权重wmlp的前馈神经网络,然后定义时间序列分布:

p(ut,…,ut|z)=∏1≤t≤tp(ut|z),

在该模型中z为gru的输入,即stcnns的输出。即在输入为z时,将t时刻的输出状态进行反向传输,得到对每个t时刻状态的分类。最终根据定义得到所有时间步长个数t(即为z的向量长度)的时间序列分布p。

步骤三、利用所述时间序列分布,对所述歌词进行连接时序分类(connectionisttemporalclassification,ctc),得到目标节奏。

所述ctc是为rnn专门设计的顶层(toplayer),用于序列学习所用,它可以消除输入与目标输出对齐的步骤。

本发明较佳实施例中,对所述歌词进行ctc的主要流程如下:

1)在给定音乐的歌词v的基础上加上空白标签得到字符串

2)定义函数b:其中,v*执行下述操作获得1)合并连续的相同符号;2)去掉空白字符;

对于一个字符串序列y∈v*,定义:

其中,v*的所有元素被称为路径,v*是所有路径的集合,p(y|z)代表目标歌词集合v对应路径的概率之和,z为所述三层时空卷积网络输出的特征向量,t为所有时间步长个数,p(ut,…,ut|z)为所有时间步长个数t的时间序列分布,s.t.|u|=t是一个条件函数,表述需要满足u是在所有时间步长t之中这个条件,b-1(y)s.t.|u|=t表示长度为t且示经过函数b变换结果为字符串y的集合;

3)根据输入的特征向量z,计算最大概率和,得到输入序列对应的目标歌词序列h(x),即为目标歌词在给定音乐下生成的节奏:

可选地,在其他实施例中,所述的以词生成节奏程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述以词生成节奏程序在基于神经网络的以词生成节奏装置中的执行过程。

例如,参照图5所示,为本发明基于神经网络的以词生成节奏装置一实施例中的以词生成节奏程序的程序模块示意图,该实施例中,以词生成节奏程序01可以被分割为歌词转换模块10、模型计算模块20、节奏生成模块30,示例性地:

歌词转换模块10用于:将给定音乐的歌词按照预设的规则转换为向量集合。

可选地,所述预设的歌词编码规则,包括:规定歌词中的单个字符为1,单个标点符号为0,字符之间用0填充。

模型计算模块20用于:向预先构建的神经网络模型中输入给定音乐的歌词的向量集合,得到所述歌词的时间序列分布。

可选地,所述预先构建的神经网络模型包含三层时空卷积网络(spatiotemporalconvolutionalneuralnetworks,stcnns)以及一层双向门控循环单元(bi-gru,bidirectionalgatedrecurrentunit)。

可选地,所述向预先构建的神经网络模型中输入给定音乐的歌词的向量集合x,得到所述歌词的时间序列分布,包括:

向所述三层时空卷积网络中输入给定音乐的歌词的向量集合x,提取出特征向量z;

利用所述双向门控循环单元对上述提取到的特征向量z进行聚合操作,得到时间步长;

对每一个时间步长ht进行线性变换,得到时间序列分布。

可选地,所述双向门控循环单元采用如下公式得到时间步长:

rt=σ(wr·[ht-1,z]);

ut=σ(wu·[ht-1,z]);

其中:ut和rt分别为更新门和重置门,[]表示两个向量相连接,*表示矩阵元素相乘,σ为sigmoid函数,z={z1,…,zt}为bi-gru的输入即stcnns的输出特征,wr和wu分别为重置门和更新门的权重,表示t时刻的候选状态,表示的权值,ht为t时刻的输出状态。

双向门控循环单元两个方向的映射分别为:

由此得到t时刻的时间步长为:

可选地,所述时间序列分布的计算公式为:

p(ut,…,ut|z)=∏1≤t≤tp(ut|z),

其中,t为时间步,p(ut|z)=softmax(mlp(ht;wmlp)),所述softmax是一种归一化指数函数,mlp是含有权重wmlp的前馈神经网络,z为三层时空卷积网络的输出,t为所有时间步长个数。

节奏生成模块30用于:利用所述时间序列分布,对所述歌词进行连接时序分类(connectionisttemporalclassification,ctc),得到目标节奏。

可选地,所述对所述歌词进行连接时序分类包括:

在给定音乐的歌词v的基础上加上空白标签得到字符串

定义函数b:其中,v*执行下述操作获得1)合并连续的相同符号;2)去掉空白字符;

对于一个字符串序列y∈v*,定义:

其中,v*的所有元素被称为路径,v*是所有路径的集合,p(y|z)代表目标歌词集合v对应路径的概率之和,z为所述三层时空卷积网络输出的特征向量,t为所有时间步长个数,p(ut,…,ut|z)为所有时间步长个数t的时间序列分布,s.t.|u|=t是一个条件函数,表述需要满足u是在所有时间步长t之中这个条件,b-1(y)s.t.|u|=t表示长度为t且示经过函数b变换结果为字符串y的集合;

根据输入的特征向量z,计算最大概率和,得到输入序列对应的目标歌词序列h(x),即为目标歌词在给定音乐下生成的节奏:

上述歌词转换模块10、模型计算模块20、节奏生成模块30等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有以词生成节奏程序,所述的以词生成节奏程序可被一个或多个处理器执行,以实现如下操作:

将给定音乐的歌词按照预设的规则转换为向量集合;

向预先构建的神经网络模型中输入给定音乐的歌词的向量集合,得到所述歌词的时间序列分布;

利用所述时间序列分布,对所述歌词进行连接时序分类,得到目标节奏。

本发明计算机可读存储介质具体实施方式与上述基于神经网络的以词生成节奏装置和方法各实施例基本相同,在此不作累述。

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

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

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1