在下面的给定代码中,频率 240 和 254.1764 相距很远,但都在 240 处发声。288 和 301.395 也是如此,最后两个 432 和 552.09 也存在同样的问题。我需要帮助来确定问题出在 java 还是 JFugue 部分。
class JFugueMicrotoneTest{
public static void main(String[]arg)throws InvalidMidiDataException, IOException{
MicrotoneNotation microtone = new MicrotoneNotation();
microtone.put("C", 240.0);
microtone.put("Df", 254.1764705882353);
microtone.put("D", 270.0);
microtone.put("Ef", 288.0);
microtone.put("E", 301.3953488372093);
microtone.put("F", 320.0);
microtone.put("F#", 338.8235294117647);
microtone.put("G", 360.0);
microtone.put("Af", 381.1764705882353);
microtone.put("A", 405.0);
microtone.put("Bf", 432.0);
microtone.put("B", 452.09302325581393);
Player player = new Player();
String music="T[60] <C> <Df> <D> <Ef> <E> <F> <F#> <G> <Af> <A> <Bf> <B>";
Pattern pattern=microtone.getPattern(music);
player.play(pattern);
}
}