【问题标题】:What type of neural network should I use? [closed]我应该使用什么类型的神经网络? [关闭]
【发布时间】:2023-03-03 18:40:01
【问题描述】:

我正在启动一个使用神经网络生成音乐的项目。鉴于我的样本规格,我想知道我应该考虑哪种类型的网络。这是我正在使用的。

我正在训练的音乐旨在作为经典任天堂声音芯片的指令集播放。所以,很明显,我的训练集采用了相同的格式。下面是一行指令的样子:

第 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]

或其他东西,只是简单地说。无论如何,这些指令以相当快的速度输入到声音芯片仿真器中(比如 256 用于 3 小节歌曲)。因此,整首歌曲可以仅表示为一个 long 二维数组。

在我读到的内容中,LSTM 是一种非常流行的音乐生成策略,但我想知道我是否可以做一些事情,比如在代表整首歌曲的二维数组上最小化损失?既然每首歌曲发送了这么多指令,那么使用 LSTM 是否合理?我应该从训练完整歌曲改为一次做几个小节吗?

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

【问题讨论】:

    标签: machine-learning neural-network deep-learning lstm recurrent-neural-network


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我在一个与音乐生成相关的项目上工作了一段时间,所以有一些想法:

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

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

      如果您想让它变得不那么难:将您的数组拆分为音符间隙和长度;分批;为间隙广告长度添加 2 个 RNN 层;训练你的数据。有时模型可以堆叠和零间隙(预测一个音符),但在这里数据清理可能会有所帮助。

      祝你一切顺利!

      【讨论】:

        猜你喜欢
        • 2017-03-05
        • 2018-11-01
        • 2018-10-23
        • 1970-01-01
        • 2016-09-11
        • 2010-11-27
        • 2010-12-09
        • 2017-05-06
        • 1970-01-01
        相关资源
        最近更新 更多