チュートリアル 


使ってみる「音量調節・テンポ調節・ピッチ調節」 (Midi)

これらの設定は、演奏中に動的に変えることができます。

setMidiVolume()で音量、
setMidiTempo()でテンポ、
setMidiPitch()でピッチを調節できます。

上記のメソッドを使った後に、updatePlayInfo()を使うと、設定がMusicPlayerに反映されます。

setMidiPitch()を使うときは、setMidiMasterPitch()でマスターピッチ機能をONにしてから再生してください。

[Main.tonyu]
extends SpriteChar;

$mplayer = new Ymplayer();
$mplayer.setMidiMasterPitch(1); // マスターピッチ機能をONにする(setMidiPitch()を使うため)
$mplayer.updatePlayInfo(); // 更新
$mplayer.play($se_test, 1); // 再生
midiVolume = 127;
midiTempo  = 1;
midiPitch  = 0;
v = 1;
while (1) {
  if (getkey(65) > 0 && midiVolume >     0) midiVolume --;       // A:音量−
  if (getkey(83) > 0 && midiVolume <   127) midiVolume ++;       // S:音量+
  if (getkey(68) > 0 && midiTempo  >   0.1) midiTempo  -= 0.125; // D:テンポ−
  if (getkey(70) > 0 && midiTempo  <   8  ) midiTempo  += 0.125; // F:テンポ+
  if (getkey(71) > 0 && midiPitch  > -8192) midiPitch  -= 64;    // G:ピッチ−
  if (getkey(72) > 0 && midiPitch  <  8191) midiPitch  += 64;    // H:ピッチ+
  if (v % 6 == 0) { // 1秒間に10回更新
    $mplayer.setMidiVolume(midiVolume); // 音量設定
    $mplayer.setMidiTempo(midiTempo);   // テンポ設定
    $mplayer.setMidiPitch(midiPitch);   // ピッチ設定
    $mplayer.updatePlayInfo(); // 更新
  }
  drawText(100,  0, "音量 :" + midiVolume, $clWhite);
  drawText(100, 20, "テンポ:" + midiTempo , $clWhite);
  drawText(100, 40, "ピッチ:" + midiPitch , $clWhite);
  v ++;
  update();
}

メソッドの詳細

戻る