在播放时捕获 MIDI 音符



我正在尝试构建一个程序,以便在合成器播放时使用Java Sound API(javax.sound.midi)在屏幕上显示MIDI音符。MIDI 文件需要从磁盘加载,我在将音序器连接到合成器时遇到了一些问题,以便我可以在合成器播放时捕获音符。

我不能只将序列加载到 Sequencer 并使用 sequencer.start(),因为那样我将无法捕获 midi 消息,因此会丢失note_on消息。另一方面,如果我将音序器连接到合成器并将消息发送到合成器,它只会以错误的时间播放所有音符。有没有办法在要播放的时候将消息发送到合成器?一定有一些带有迷笛蜱的东西可以做到这一点,但我无法弄清楚。另外,我不太明白Java是如何管理midi ticks的。

如果音序器支持多个发射器,请将其中两个连接到合成器和您自己的接收器。

最新更新