我应该使用什么类型的神经网络? [关闭]

问题描述 投票:0回答:2

我正在开始一个项目,我使用神经网络来生成音乐。考虑到我的样本规格,我想知道我应该考虑什么类型的网络。这是我正在使用的。

我正在训练的音乐是作为经典任天堂音响的指令集播放的。所以,显然,我的训练集采用相同的格式。以下是一行说明:

行00:E-1 00 F P80 V00 ......:B-0 00 F P80 V00 ......:D-5 00。 P80:1-#00 F V00

我基本上可以解析为与所使用的某些乐器的音高和音量相对应的值。即,我们可以将其更改为类似于数组的类似

[16, 15, 11, 15, 90, 1, 15]

什么的,只是滚球停车。无论如何,这些指令以非常快的速度被送入音响芯片模拟器(对于3首歌曲来说就是256)。因此,整首歌曲可以表示为一个长2-D阵列。

在我读过的内容中,LSTM是一种非常流行的音乐制作策略,但我想知道我是否可以做一些像最小化代表整首歌的二维数组丢失的东西?由于每首歌曲发送的指令太多,使用LSTM是否合理?我是否应该从训练完整的歌曲转变为一次制作一些措施?

我也想从头开始做这个项目,而不使用库。我希望对现实的神经网络创建感到困难和忠诚,但我不希望它过于疯狂。谢谢。如果您有任何关于如何处理此类事情的资源,请告诉我们!

machine-learning neural-network deep-learning lstm recurrent-neural-network
2个回答
3
投票

我建议使用递归神经网络(或LSTM)来解决这个问题,因为它是最合适的选择。不是传入整首歌曲,最好将您的输入标记为一定长度的序列,这样可以提高训练效率。

以下是我在该主题中找到的一些有用资源:


1
投票

我曾经在一个与音乐生成有关的项目上工作过,所以有一些想法:

  1. RNN确实是预测音乐的最佳方式。
  2. 我试图通过原始刻度检测批次(但你需要弄清楚你将如何从一个刻度线转到另一个刻度线)
  3. 我在网上找到了一个更多的想法并且使用了:我分割了音符序列(间隙)和长度。

上一个答案中的链接是一个良好的开端。

如果你想让它变得非常困难:将阵列分成笔记间隙和长度;分成批次;为间隙广告长度添加2个RNN图层;训练你的数据。有时模型可以堆叠和零间隙(预测一个注释)但这里的数据清理可能有所帮助。

祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.