我需要开发钢琴演奏的性能评估器。根据乐曲音乐产生的MIDI,我需要评估实际演奏的MIDI(MIDI键盘)。我打算根据音调音高,持续时间和响度评估演奏。评估是我想比较乐谱音乐的音符和在MIDI中演奏。

但是我不知道如何可视化(即显示该人出错的地方)这个评估过程。即,也许显示符号和突出显示哪种音符已经出错。但是,我该如何以某种图形形式显示任何这些?或更准确地说是在脚步(音乐得分)本身上。我有记录详细信息(音高,持续时间)和分数详细信息(密钥和时间签名)存储在表中,我正在使用Java。但是我没有任何线索,因为如何将所有这些都放入图形上。

任何洞察力都是最感激的。进步谢谢

有帮助吗?

解决方案

实际上,您所说的是音乐符号的图形差异工具。我认为显示差异的最简单方法是与“正确”的分数符号相比播放的笔记(和休息)。在显示音量差异的地方,是否播放(或应该播放)staccato,marcato,tenuto等。四分之一便条可能被解释为八个便条,然后是八个休息等。

你还必须 量化 现场播放的结果,这意味着您将不得不允许人类在节拍前或之后稍作余地,而不会有不同的注意。如果您不这样做,对音符的唯一“正确”解释将是非常机械的(并且不讨人喜欢)。

至于绘制符号并将其放在五线根上的正确线或空间上,如果您了解如何绘制图形,那就不难了。有 音乐字体 可用的可让您使用字母数字字符来表示音符的身体,茎,休息等。您还必须了解关键签名, 意外, ,当某些笔记是 启动, , ETC。

这不是您提出的一项小事,而且已经有很多软件可以做很多您要做的事情。也许有些存在可以正当您想做的事情,因此在开始编码之前对其进行研究。 :)看各种 已经完成的工作 看看您是否可以使用任何东西或会让您脱离项目。

我做了 我自己的 几年前,键盘播放器/录音机用于QuickTime的MIDI实施,不得不解决您面临的许多问题。我为了娱乐而做 曾是 乐趣(对我来说是教育意义),但它永远无法与该类型的商业软件竞争。尽管人们确实喜欢它,但我确实没有时间维护它并添加人们想要的功能,因此最终我不得不放弃它。这种事情确实是很多工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top