gpt4 book ai didi

java - 实时处理 MIDI 音符

转载 作者:行者123 更新时间:2023-11-30 04:40:32 30 4
gpt4 key购买 nike

基本上,我想在音序器播放时实时获取并显示 MIDI 音符(轨道、音符和 Octave )的数据。

我希望能够将其添加到以下代码中:

Sequencer sequencer = MidiSystem.getSequencer();
sequencer.setSequence(MidiSystem.getSequence(song));
sequencer.open();
sequencer.start();
while(true) {
if(sequencer.isRunning()) {
try {
Thread.sleep(1000); // Check every second
} catch(InterruptedException ignore) {
break;
}
} else {
break;
}
}

但是我不知道该怎么做。

最佳答案

将 ControllerEventListener 添加到 Sequencer。它将节省您的主动等待时间,并提供您需要显示的所有信息。

ControllerEventListener controllerEventListener = new ControllerEventListener() {
public void controlChange(ShortMessage event) {
// TODO convert the event into a readable/desired output
System.out.println(event);
}
};

Sequencer sequencer = MidiSystem.getSequencer();
int[] controllersOfInterest = { 1, 2, 4 };
sequencer.addControllerEventListener(controllerEventListener, controllersOfInterest);

看看这个 page也是如此。

关于java - 实时处理 MIDI 音符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12414193/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com