【问题标题】:Looking for training data for music accompaniment [closed]寻找音乐伴奏的训练数据[关闭]
【发布时间】:2014-03-28 14:56:46
【问题描述】:

我正在构建一个系统,该系统使用机器学习在播放主旋律时实时生成伴奏旋律。它使用一种循环神经网络,并且在每一步都尝试预测伴随音轨上的下一个音符。在这一点上,我对使用 MIDI 文件感到满意。

我遇到了严重的难以找到训练数据。我最初的想法是只从mididb等网站下载midi文件并将它们转换为csv,但问题是很难想出一种方法来区分主旋律和伴奏旋律强>。有时这是可能的,但我还是希望伴奏曲目总是来自相同(或相似)的乐器,因为不同的乐器使用方式不同(音符的持续时间和音高从一种乐器到其他等),这只会让网络非常混乱。

我在 the UCI Machine Learning repository 找到了 Bach Corales。然而,这个数据集的问题在于它只有一个声音的旋律。我想要具有 2 个声音的数据集,其中一个是主旋律,另一个是伴奏旋律

我知道这很困难,因此非常感谢任何有关如何解决该问题的建议。我有将 midi 文件转换为 csv 格式的工具,如果你能想到某些类型/流派的歌曲,很容易区分前导曲目和伴奏曲目(以编程方式或手动),请告诉我。任何建议将不胜感激。

【问题讨论】:

  • 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是题外话,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。

标签: machine-learning neural-network regression prediction


【解决方案1】:

令人兴奋的话题。除了您提到的集合之外,没有太多其他数据库可用于数据挖掘。所以你需要有点创意。

您是否阅读过 Jürgen Schmidhuber 使用 LSTM 递归神经网络进行音乐创作的方法?如果没有,您绝对应该这样做:

A First Look at Music Composition using LSTM Recurrent Neural Networks

Finding Temporal Structure in Music: Blues Improvisation with LSTM Recurrent Networks

你可以在his site浏览他的作品

现在,第一篇论文创建了自己的数据集,您可以尝试询问作者。后一篇论文的训练集可以看on their webpage to the study


我认为最好的方法是生成自己的数据集:
1) 请注意,他们使用了工作表 (pdf) 和音频(不仅是 midi,还包括 wav/mp3),因此您可能需要考虑从 wav 文件中提取和弦并用可能的旋律和声手动标记它们。

2) 您可以直接搜索单个分数,而不是数据挖掘数据集。例如。 www.free-scores.com 查找具体分数。您可以编辑它们,将它们导入 Sibelius 或 Finale,然后在这些程序中将它们转换为 midi。最简单的方法是,如果您可以找到用 Sibelius/Finale 本身编写的乐谱,那么您可以立即将它们导出到 midi。

编辑:

对您的和弦/旋律结构的更多评论。一开始尽量保持简单。尝试保持类似于“First Look at..”论文中的格式:旋律+和弦结构。没有仪器。完成此操作后,您可以尝试从多个乐器乐谱构建此表示来达到相同的结果。如果可行,请尝试从 midi 构建多个乐器乐谱。如果可行,请从真正的音频文件开始。

【讨论】:

  • 非常感谢。这很有帮助。 www.free-scores.com 似乎正是我想要的,因为我可以选择带有 2 种特定乐器(即贝斯和钢琴)的乐谱,并教网络说,在以钢琴旋律作为输入的同时弹奏贝司。我还会看看 Jürgen Schmidhuber 的方法(还没有找到)。
猜你喜欢
  • 2010-09-16
  • 2015-07-20
  • 1970-01-01
  • 2011-02-18
  • 2021-11-11
  • 2013-12-16
  • 2011-11-24
  • 2012-07-13
  • 2020-08-22
相关资源
最近更新 更多