我计划制作一个AI作曲器,它可以接收一种乐器的多首歌曲,提取音乐音符(如ABCDEFG)和声波的某些特征,进行机器学习(最可能通过递归神经网络),并输出一个ABCDEFG音符序列(即生成自己的歌曲/音乐)。
我认为这将是一个无监督学习问题,但我不是很确定。
我认为我会使用递归神经网络,但我在如何接近这个问题上有一些疑问:
– 我应该从声波中提取哪些特征,以便输出的音乐是悦耳的?
另外,我还有一些其他问题 – 使用递归神经网络,是否可以输出一个序列化的音乐音符(ABCDEF)向量?
– 我有什么聪明的方法可以同时输入声波的特征以及音乐音符的序列吗?
回答:
我曾经做过类似的事情(在Matlab上制作了一个类似Shazam的应用),我认为你可以使用FFT(快速傅里叶变换)将其分解为组成频率及其相应的幅度。然后,你可以使用不同乐器的频率范围,从整个集合中选出它们并进行分类。