你爱听音乐吗?你是否曾梦想做一名音乐家?你是否想要作曲,但是不太懂乐器?我们的软件可以帮助你实现梦想!你在剪辑视频时,音乐的长短不能很好的匹配视频,但是很多镜头都非常珍贵,不舍得删掉?没关系,我们的软件可以帮你生成自定长度的音乐!
本组选择的题目是实现一个基于机器学习的自动音乐生成软件,软件主要实现的功能是在最少的人为干预下创作一首短曲,并将其播放。目前市面上的音乐生成器,大多是基于Simple RNN和谷歌开发的WaveNet实现的,然而由于模型的局限性,使用这两种模型生成出的音乐同质化严重,听感欠佳。这是因为传统的神经网络无法做到贯穿整个场景,比如使用神经网络对电影中的事件进行分类,我们无法想象传统的神经网络如何能够利用前面的场景去干预后面的预测。在音乐谱曲这一领域,由于整首曲子应该是一个连贯的整体,所以传统神经网络的表现不佳。为了改进上述不足,提高生成音乐的质量,本组准备在软件的核心部分采用LSTM(长短期记忆网络,Long Short-Term Memory)模型。LSTM是循环神经网络(RNNs)的一个变种,它能够捕获输入序列中的长期依赖关系,在语音识别、文本摘要、视频分类等序列到序列建模任务中有着广泛的应用。应用在我们的软件上,我们期望该模型能够提高所生成音乐的连贯性,进而提高音乐质量。
我们的软件主要分为三个模块,音乐生成模块、音频播放模块以及UI(用户界面),音乐生成模块的业务逻辑是根据输入来生成用户自定长度的短曲,音频播放模块的业务逻辑是通过输入音频文件的所在地址对其进行播放,用户可以暂停、调节音量、查看播放进度。UI提供软件功能与用户之间的接口,力求使软件的使用变得方便,舒适。
软件的主要功能是自动生成一段短曲,并将其解码播放。在完成主要功能的基础上,本组还会研究如何实现根据用户的需求和喜好生成不同风格的音乐这一功能,目前的思路是使用不同风格音乐的数据集对模型进行训练,从而完成不同风格短曲的生成,然而这对数据集的要求会比较高。