我可以使用哪些技术来编写 drum-pattern 基于音频信号的识别程序?

What technologies I may use to write drum-pattern audio signal based recognition program?

如问题标题所述 - 我可以使用哪些技术来编写 drum-pattern 基于音频信号的识别程序?作为一名鼓手音乐家,我想为我创建一个工具来从唱片中转录 drum-part。我认为这是与 speech-recog 类似的技术,但专门用于以前在某种鼓模式基础中定义的鼓模式。 问题是我是编程的初学者。半年来,我对具有基本 C++ 的微控制器感兴趣,甚至对 OOP 都不感兴趣。目前我正在尝试 python,这是我最终的编程 knowledge/experience 背景。现在由于know-how的IT水平很差,我真的不知道我应该对这种项目感兴趣的技术、框架等。很明显我应该寻找 speech-recognition 技术并学习它,然后应用这些知识来构建我自己的程序,但我不确定从哪里开始最好,以及我是否准备好阅读厚重的墙壁专业的开源项目代码。也许有某种友好的 python 框架可以帮助我开始该主题?我在研究中发现了 Python Librosa 框架,但它看起来真的很先进,看起来我应该学习 signal-theory 才能流利地使用它。让我知道您的想法以及您认为我应该采取什么样的策略。

将音乐从音频自动转录为音符(通常是 MIDI)的任务在研究界被称为自动音乐转录。仅在鼓上进行的专门任务称为 自动鼓转录 (ADT)。

ADT 被广泛研究,开源和商业解决方案均可用。 ADTLib 中可以找到一款开源软件。它提供了一个非常简单的 Python API,它采用 WAV 文件和 returns 转录的鼓音轨。自述文件中有链接的文件,描述了它是如何组合在一起的。 一个名为 ADTWeb 的基于网络的工具允许在不安装任何软件的情况下尝试转录鼓。

请注意,ADT 通常假设输入是 only/predominantly 鼓。如果您想从包含其他乐器的混合歌曲中提取鼓模式,您可能还需要某种 源分离 步骤。