ツクールではサウンドを再生するときにピッチを指定することができます。
ピッチはパーセント単位で指定でき、例えば 50% と指定すると音の高さが1オクターブ下がり、テンポが半分になります(ただし MIDI のテンポは変化しません)。
では、これを半音単位で指定するにはどうすればよいのでしょう? 実は 2^(x/12) で求められる以下のピッチを指定すればよいのです(小数点以下は四捨五入しています)。
+12: 200%
+11: 189%
+10: 178%
+ 9: 168%
+ 8: 159%
+ 7: 150%
+ 6: 141%
+ 5: 133%
+ 4: 126%
+ 3: 119%
+ 2: 112%
+ 1: 106%
0: 100%
- 1: 94%
- 2: 89%
- 3: 84%
- 4: 79%
- 5: 75%
- 6: 71%
- 7: 67%
- 8: 63%
- 9: 59%
-10: 56%
-11: 53%
-12: 50%
ここで問題が生じます。ツクールではピッチの指定を 5% 単位でしか行えないのです。
しかし RGSS ではそれよりも細かい単位で指定することが可能です。例えば Battle1 というBGMを 67% のピッチで再生するには、次のようにします。
bgm = RPG::BGM.new("Battle1", 100, 67)
bgm.play
これでピッチをより細かく指定できるようになりました。