将迷笛音符数字转换为名称和八度
有没有人知道Java世界中存在的东西,可以将midi音符编号映射到特定的音符名称和八度数。例如,请参阅参考表:
http://www.harmony-central.com/MIDI/Doc/table2.html
我想将一个 midi 音符编号 60 映射到八度 4 中相应的音符名称 (MiddleC)。我可以为此编写一个实用程序类/枚举,但这将是相当乏味的。有人知道什么吗?
我专门用它来编写Java中的Tenori-On/Monome克隆,到目前为止,这很好......
溶液
这就是我最终使用的内容:
String[] noteString = new String[] { "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B" };
int octave = (initialNote / 12) - 1;
int noteIndex = (initialNote % 12);
String note = noteString[noteIndex];