如何在javamidi程序中更换乐器
如何在Midi中更换乐器? 我可以将通道的值改为9,然后它会显示“通道超出范围”,这是所有的钢琴。例如,我如何将它改为吉他如何在javamidi程序中更换乐器,java,midi,javax.sound.midi,Java,Midi,Javax.sound.midi,如何在Midi中更换乐器? 我可以将通道的值改为9,然后它会显示“通道超出范围”,这是所有的钢琴。例如,我如何将它改为吉他 public noteplay() throws InvalidMidiDataException,MidiUnavailableException { bpm =80; beatLength = 1; theTimeMelody = 0; theTimeBass =0; seq = new Sequence(Sequen
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标准为鼓保留第十个通道
您可以使用其他十五个声道演奏旋律乐器。通用MIDI标准为鼓保留了第十个声道
您可以将其他15个频道用于旋律乐器。您是否尝试跳过第10频道?通常是为鼓准备的。你试过跳过10频道吗?它通常是为鼓准备的。