声波的哪些功能可用于 AI 歌曲作曲家?

数据挖掘 机器学习 神经网络 特征选择 特征提取
2021-10-03 08:39:47

我正计划制作一个人工智能歌曲作曲家,它可以接收一个乐器的一堆歌曲,从声波中提取音符(如 ABCDEFG)和某些特征,进行机器学习(很可能通过循环神经网络),然后输出一系列 ABCDEFG 音符(又名生成自己的歌曲/音乐)。

我认为这将是一个无监督学习问题,但我不太确定。

我想我会使用循环神经网络,但我有几个关于如何解决这个问题的问题:
- 我应该从声波中提取哪些特征才能使输出的音乐悦耳?
- 是否有可能使用循环神经网络输出序列音符向量 (ABCDEF)?
- 有什么聪明的方法可以输入声波的特征以及音符序列吗?

2个回答

首先,忽略仇恨者。我很久以前就开始从事音乐领域的机器学习工作,并通过这项工作获得了几个学位。当我开始的时候,我问人们的问题和你一样。这是一个迷人的领域,总是有新人的空间。我们都必须从某个地方开始。

您查询的研究领域是音乐信息检索(Wiki Link)和计算机音乐(Wiki Link)。你在将问题缩小到单一乐器(单音音乐)方面做出了很好的选择,因为和弦音乐大大增加了难度。

您正在尝试真正解决两个问题:

1)单声道音乐的自动转录(更多阅读)这是从单个乐器乐曲中提取音符的问题。

2)算法作曲(更多阅读),这是使用转录音乐语料库生成新音乐的问题。

直接回答您的问题:

我认为这将是一个无监督学习问题,但我不太确定。

由于这里有两个学习问题,所以有两个答案。对于自动转录,您可能需要遵循监督学习方法,其中您的分类是您尝试提取的注释。对于算法组合问题,它实际上可以采用任何一种方式。在这两个领域的一些阅读将清楚这一点。

我应该从声波中提取哪些特征才能使输出的音乐悦耳?

MIR 中有很多常用的功能。@abhnj 在他的回答中列出了 MFCC,但还有更多。MIR 中的特征分析发生在多个域中,并且每个域都有特征。一些域是:

  1. 频域(这些是我们通过扬声器听到的值)
  2. 谱域(这个域是通过傅里叶函数计算的(阅读有关快速傅里叶变换的信息),并且可以使用多个函数(幅度、功率、对数幅度、对数功率)进行转换
  3. 峰值域(频谱域上的幅度和频谱峰值域)
  4. 谐波域

您将面临的首要问题之一是如何分割或“切割”您的音乐信号,以便您可以提取特征。这是本身很复杂的分段问题(一些读数)。切割声源后,您可以在从片段中提取特征之前将各种功能应用于片段。其中一些函数(称为窗口函数)是:Rectangular、Hamming、Hann、Bartlett、Triangular、Bartlett_hann、Blackman 和 Blackman_harris。

一旦你从你的域中切割出你的段,你就可以提取特征来表示这些段。其中一些将取决于您选择的域。一些特征示例是:您的正常统计特征(平均值、方差、偏度等)、ZCR、RMS、光谱质心、光谱不规则性、光谱平坦度、光谱色调、光谱波峰、光谱斜率、光谱滚降、光谱响度、频谱音高、谐波奇偶比、MFCC 和树皮标度。还有更多,但这些是一些很好的基础知识。

是否有可能使用循环神经网络输出序列音符(ABCDEF)的向量?

是的。已经有几项工作可以做到这一点。这里有几个读数

有什么聪明的方法可以输入声波的特征以及音符序列吗?

标准方法是使用我上面所做的解释(域、段、特征提取)等。为了节省一些工作,我强烈建议从 MIR 框架开始,例如 MARSYAS ( Marsyas )。他们将为您提供特征提取的所有基础知识。有很多框架,所以只要找到一个使用你熟悉的语言的框架。

我相信问题是,您想从音乐作品中学习,并尝试从经过训练的实例中生成曲调。让我们看看我是否可以建立一个简单的模型来执行此操作,然后您可以从那里进行推断。

因此,在处理声音时, MFCC是一个很好的功能。您可以使用它从歌曲的 1-2 秒窗口中提取特征。您现在有了音频文件的指纹。看看条件受限玻尔兹曼机它们是使用多个二进制状态来编码时间序列信息的神经网络。正如您在网页中看到的那样,他们对人类步态数据进行了训练,现在可以生成自己的人类步态。这基本上是您想要的,但对于音乐文件。因此,您可以在您拥有的音频 MFCC 向量上训练 CRBM。

训练完成后,要生成音频文件,您可以用几秒钟的旋律“播种”CRBM,也可以随机初始化它。然后让 CRBM 发疯并记录它产生的任何东西。这是您的新音频文件。要生产另一个样品,请使用不同的种子。

这解决了如何实现“旋律”生成方案的问题。当然也有变化。除了 MFCC,您还可以向矢量添加其他功能。您还可以使用其他时间序列预测器,例如LSTM或 Markov 模型。

综上所述,生成音乐的问题可能比乍一看要微妙得多。机器学习算法只是在数据中应用先前学习的模式。这与“创造”新音乐有何对应,是一个哲学问题。如果我们分析上述算法,本质上 CRBM 将根据它所学习的概率分布生成下一个输出。当所述分布是音符分布时,看看它会产生什么样的输出将会非常有趣。