MidiShow解析出的小调调号不正确

我上传了一个MIDI,但MidiShow解析出的调号标记不正确。
文件内填写的是A小调和Bb小调,但MidiShow显示的是 C 大调、♭D 大调。

1 Like

根据之前提到的编码错误,其实也好说因为什么原因识别错了

1 Like

以我粗淺的認知,似乎A小調相當於C大調,Bb小調相當於bD大調,其中或許有我不知道的詳情,但是我都是這麼理解的

1 Like

非常高兴您的解释,不过请看标题。


技术问题就跟乐理没什么关系了,纯粹只是网站故障。

可能是忽略 MIDI 元事件而完全根据 Note 事件进行解析的也说不定,毕竟会在 MIDI 文件里面填写调号元数据的人不会太多吧。

3 Likes

如果确实是这样处理的话,那么大小调、升降号可能就不好判断了,需要结合和弦。因此会出现三度的偏移。

2 Likes

真实情况是:除非指定了调号元事件,否则不会显示该项。

1 Like

结合有Meta Messages以及自动识别到平行调的情况来看,谜底手的调性识别是只看Note消息,,,
(因为大部分上传的midi都不会有手动编辑的Meta Messages?()

2 Likes

差点忘了有这回事


不过纯用音符排列去识别和弦,如果有一份独轨乐谱。那不炸了

旋律线也能被识别进和弦中,还要拆。(跟制谱用mid偷跑,露馅了)

1 Like

等下,上面都在说。错误和弦由只识别音符导致


不过实际细节也观察到了吧

(没指定)


(pass in key)

那想触发这个bug还得有个调号事件。

不好说,识别肯定是能够的。(也不至于说全靠音符)

但为什么识别的像靠全音符,那就不知道了

1 Like

网站应该无视了调号元数据中第五个字节,即用来表示大调/小调的字节,只根据升/降号个数,一律解析为大调

3 Likes

好像确实是这样,因为这个MIDI是正常的,并且也有乱码。
我自己也试了下,成功复现了该问题。

1 Like

有可能欸,看起来和表现能够对应得上。

1 Like