performance - 可视化钢琴演奏评估

标签 performance evaluation midi piano

我需要开发一个钢琴演奏性能评估器。基于乐谱生成的midi,我需要评估实际演奏(midi键盘)的midi。我打算根据音高、持续时间和响度来评估演奏。评价是我想是对乐谱的音符和在midi中演奏的比较。

但我不知道如何可视化(即显示该人哪里出错了)这个评估过程。即可能同时显示符号并突出显示哪个音符出错了。 但是我怎样才能以某种图形形式显示这些呢?或者更准确地说是在五线谱(乐谱)本身。我将音符详细信息(音高、持续时间)和乐谱详细信息(调号和拍号)存储在一个表中,并且我使用的是 Java。但我不知道如何将所有这些转化为图形形式。

非常感谢任何见解。提前致谢

最佳答案

您所说的实际上是一种用于乐谱的图形差异工具。我认为显示差异的最简单方法是将演奏的音符(和休止符)叠加在“正确”的乐谱符号上。棘手的地方在于显示音量差异,音符是否演奏(或应该演奏)断奏、延音、长音等。例如,上面有一个点的音符意味着断奏,但是你的 MIDI 表示四分音符可能被解释为八个音符后跟八个休止符等。

您还必须 quantize现场演奏的结果,这意味着你必须允许人类在节拍之前或之后有一些余地,而不会有不同的标记。如果不这样做,对音符的唯一“正确”解释将非常机械(并且不悦耳)。

至于绘制乐谱并将其放置在五线谱上的正确线条或空格上,如果您了解如何绘制图形,这并不难。有musical fonts可用,允许您使用字母数字字符来表示音符主体、符干、休止符等。您还必须了解调号,accidentals , 当某些笔记是 enharmonic

您提出的这不是一项小工程,并且已经有很多软件可以完成您正在尝试做的很多事情。也许存在一些完全可以做您想做的事情,所以在开始编码之前先研究一下。 :) 看看各种work that has already been done看看是否有任何您可以使用的东西,或者哪些东西会让您放弃您的项目。

我做了 my own几年前 QuickTime 的 MIDI 实现的键盘播放器/录音机,必须解决您面临的许多问题。我这样做是为了好玩,它很有趣(对我来说也很有教育意义),但它永远无法与同类商业软件竞争。虽然人们确实喜欢它,但我真的没有时间维护它并添加人们想要的功能,所以最终我不得不放弃它。这种事情真的很辛苦。

关于performance - 可视化钢琴演奏评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2905577/

相关文章:

javascript - 离线 HTML 的客户端与服务器端渲染

algorithm - 评估语言识别方法

wpf - Model-View-ViewModel性能问题

matlab - 多个矩阵乘以多个向量的快速乘法

algorithm - 国际象棋位置的简单 Minimax 评估函数

java - MIDINOTE_ONNOTE_OFF消息对应

python - 如何从 Ableton Live 控制表面脚本将 MIDI 数据发送到我的 Arduino 板

python - pygame.midi异常: PortMidi: `Insufficient memory'

oracle - 将 InitialLOBFetchSize 与 EntityFramework 结合使用

r - 依赖于 R 中非标准评估的函数的包装器