我一直在尝试训练一个模型,以便从单声道乐谱中生成序列。在互联网上,我找到了一些使用字符级lstm网络和音乐ABC符号来做这件事的例子(很多人使用karpathy中的实现:http://karpathy.github.io/2015/05/21/rnn-effectiveness/ )。
虽然这看起来相当有效,但序列并没有包含尽可能紧凑的音乐信息。我的想法是将音乐信息直接表示为一系列音符。然而,音符有多个特征:音高,八度,持续时间,它是否与下一个音符连接,等等。我不确定如何将这些信息正确地表示为特征向量,并且还没有找到很多关于这个主题的信息。
我的数据集在音符音调和长度方面的多样性相当有限。它可能包含3个八度,10个不同的音符持续时间,只有4/4的时间签名。然而,表示这些音符的每个不同的组合将得到一个巨大的输入特征向量。
任何建议都将不胜感激!
发布于 2016-01-14 09:53:20
只要您能够以文本格式编码和解码您的训练示例,我认为您就可以适应和使用字符级lstm方法。
例如,您可以使用字母(ABCDEFG)表示每个音符,使用+-表示尖锐或降调,后面跟一个代码,如x,y,z表示八度,数字0到9表示持续时间值,空格表示是否连接。
像这样的蓝调即兴小品:
Cx1 E-x1 Cx1 E-x1 Fx4 Gx2 B-x2 Cy1Cy1Cy1Cy1, etc.有了足够的训练数据,RNN将学习音符的语法和语法,以及音符之间的模式和关系,这些模式和关系导致“音乐”sequences...depending你使用哪种音乐来训练它。
https://stackoverflow.com/questions/34496571
复制相似问题