2

以下のコードでは、周波数 240 と 254.1764 はかなり離れていますが、どちらも 240 で聞こえます。同じことが 288 と 301.395 にも当てはまり、最後の 2 つの 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);
        }
} 
4

1 に答える 1