【发布时间】:2013-06-26 05:36:25
【问题描述】:
我正在尝试实现一个系统,该系统可以在演奏时为钢琴曲制作乐谱,也就是说,它应该是实时转录,而不是录制的乐曲。
到目前为止,我一直在使用 FFt on MATLAB 对 wav 文件进行测试,但在实时性方面,系统需要非常非常快。
关于我可以使用哪种方法,板子类型的任何建议(我曾考虑使用Arduino)。我可以使用,因为我想直接转移我的 MATLAB code 而不是将其转换为 C。
【问题讨论】:
-
+1 有趣的项目,我还没有进行音乐转录,但我认为您需要将作品录制成小片段并转录。
-
我猜这种方法只适用于转录独立笔记。转录和弦可能不会带来任何好的结果。 MIDI 键盘会容易得多。
-
非常有趣的项目。您能告诉我们您当前基于 fft 的实现工作的速度有多快吗?我以为 fft 应该是 O(n log(n)),这已经非常快了。
-
我认为您应该记住,您还需要一个节拍识别算法,否则将无法正确放置条形。作为一名吉他手、物理学家和 matlab 程序员,我对您的解决方案非常感兴趣。
-
我不确定 arduino 对于这样的项目是否足够快,最高速度为 16MHz。也许吧,但这取决于你的采样率有多高。最好使用某种 Cortex 板,它们通常达到 80MHz。更好的是,使用专用的 DSP 处理器——尽管价格差异令人恐惧!你决定采样率了吗?您可以使用 PLC 或 FPGA 进行快速处理,然后使用 arduino 进行决策、输入、输出等。或者使用 arduino 作为硬件接口并使用 Raspberry Pi、Beaglebone Black、Olinuxino 进行处理。