簡體   English   中英

如何在Java MIDI程序中更改樂器

[英]How to change instrument in Java MIDI program

如何在Midi中更換樂器? 在顯示“ Channel out of range”(通道超出范圍)后,我可以將channel的值最多更改為9,這全是鋼琴。 例如,如何將其更改為吉他

  public noteplay()
  throws InvalidMidiDataException,MidiUnavailableException
  {
    bpm =80;
    beatLength = 1;
    theTimeMelody = 0;
    theTimeBass =0;
    seq = new Sequence(Sequence.PPQ,3);
    trkBass = seq.createTrack();
    trkMelody = seq.createTrack();
  }
  public void melody(int volume)
    throws InvalidMidiDataException,MidiUnavailableException

  {

   int list1[] = { 56,59,60,63,56,59,60,63, 61,64,65,68,61,64,65,68,    56,59,60,63,56,59,60,63,    63,66,67,70,73,66,67,70,};

    for (int pitch : list1)
      {
    ShortMessage onMsg = new ShortMessage();
    onMsg.setMessage(ShortMessage.NOTE_ON, 0, pitch, 80);

    ShortMessage offMsg = new ShortMessage();
    offMsg.setMessage(ShortMessage.NOTE_OFF, 0, pitch, 90);

    trkBass.add(new MidiEvent(onMsg,theTimeBass));
    trkBass.add(new MidiEvent(offMsg,theTimeBass+beatLength));
    theTimeBass += beatLength;

      }
  } 
}

通用MIDI標准為鼓保留了第十個通道。

您可以將其他十五個通道用於旋律樂器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM