我的朋友Prasad Raghavendra我试图在音频上进行机器学习实验。从单声道非MIDI音乐文件中分离乐器的音频
我们正在这样做,以学习和探索任何即将到来的聚会的有趣的可能性。 我决定了解人类评估的某些音频可以提供多深的学习或任何机器学习。
令我们沮丧的是,我们发现问题必须分解以适应输入的维度。 因此,我们决定放弃主唱,并通过伴奏进行评估,假设主唱和乐器始终相关。
我们试图寻找mp3/wav到MIDI转换器。不幸的是,它们仅适用于SourceForge和Github上的单一工具,其他选项是付费选项。 (Ableton Live,果味循环等)我们决定将此视为一个子问题。
我们想到了FFT,带通滤波器和移动窗口以适应这些。
但是,我们不理解我们如何去分裂乐器,如果演奏和弦并且文件中有5-6个乐器。
我可以寻找哪些算法?
我的朋友知道玩键盘。所以,我将能够获得MIDI数据。但是,有没有这样的数据集?
这些算法可以检测多少种仪器?
我们如何分割音频?我们没有多个音频或混合矩阵
我们也在考虑如何找出伴奏模式,并在伴奏时实时使用这些伴奏。我想我们就可以考虑一下,一旦我们得到答案的1,2,3和4(我们正在考虑这两个和弦进行马尔可夫动态)
感谢所有帮助!
P.S .:我们也试过FFT,我们能够看到一些谐波。当时域输入矩形波时,是否由于fft中的Sinc()?可以用来确定音色吗? FFT of the signals considered
编辑:
我们可以大致制定问题。但是,我们仍然发现很难制定这个问题。如果我们在某个频率上使用频域,那么仪器是无法区分的。以440赫兹播放的长号或以440赫兹播放的吉他将具有除音色以外的相同频率。我们仍然不知道我们如何确定音色。我们决定通过时间考虑笔记。如果音符超过某个八度音阶,我们会将其用作下一个八度音程的单独维度+1,当前八度音程为0,以及前一个八度音程为-1。
如果笔记由'A','B','C'等字母表示,那么问题就会简化为混合矩阵。
O = MI在培训期间。 M是使用已知的O输出和MIDI文件的I输入找出的混合矩阵。
在预测过程中,M必须被替换为概率矩阵P,该概率矩阵P将使用前面的M个矩阵生成。
该问题简化为我预测 = P -1Ò。然后误差将被减少到I的LMSE。我们可以使用DNN使用反向传播来调整P.
但是,在这种方法中,我们假设音符'A','B','C'等是已知的。我们如何在瞬间或短时间内(如0.1秒)检测它们?因为模板匹配可能因谐波而无法工作。任何建议将不胜感激。
复音分解似乎仍然是研究课题。在这次会议上已有数百篇关于此主题的研究论文:http://www.music-ir.org/mirex/wiki/MIREX_HOME – hotpaw2
@ hotpaw2谢谢!我该如何开始?我可以假设多种乐器有不同的速度吗?这可能在物理上不可能区分(给定谐波)。但是,如果我贬低它,比如说,没有一种乐器与音符或其他乐器重叠,它就没有意义。 如何为此构建输入和输出?我已经阅读过有关手动分类的“文书类别”。但是,我想自动化整个过程 - 它可能会在评估功能中使用LMS。任何见解将不胜感激! –
第一个“宝宝步骤”需要做什么假设本身可能是您的第一个研究问题。 – hotpaw2