LSTM 机器学习生成音乐
在网络流量预测入门(二)之LSTM介绍中对LSTM的原理进行了介绍,在简单明朗的 RNN 写诗教程中介绍了如何使用keras构建RNN模型,然后生成五言唐诗。因此,如果对LSTM不了解,建议想去看一看LSTM相关的文章。
在这篇博客中,将介绍如何使用keras构建lstm模型,然后自动生成。(当然这些音乐只是简单的纯音乐)
生成的音乐:auto_music:https://github.com/xiaohuiduan/lstm-music/blob/main/auto_music.mid
实际上,使用LSTM生成音乐,与RNN生成诗词并没有什么很大的不同,原理都是相通的,而在简单明朗的 RNN 写诗教程中,详细的介绍了代码的执行流程,感兴趣的可以借鉴参考。
下面关于音乐(或其组成)的解释,并不是很~~严谨~~(甚至可能是错误的),不过,在这篇博客的目的并不是为了来介绍音乐的组成以及原理,主要是为了使用LSTM,望勿怪。
目录
LSTM 机器学习生成音乐 1
数据集介绍 1
将 mid 转成 note 数组 4
将 note 数组转成 mid 文件 5
获取数据集并将其保存 6
将 note 进行编号 7
构建数据集 8
截取数据 8
进行 one-hot 编码 10
构建模型 11
训练 13
生成音乐 13
加载数据 16
加载模型 16
构建 id 与 note 的映射 16
预测下一个 note 16
源源不断产生 note 数据 17
生成音乐 20
总结 20
参考 20