Я хочу зациклить последовательность Midi, используя секвенсор Java и его метод setLoopCount ().
Если выход секвенсора подключен к внешнему устройству Midi Out, каждый раз при повторении последовательности появляется заметная задержка.
Если секвенсор подключен к внутреннему синтезатору Java (Gervill), я не замечаю никакой задержки между циклами.Я пробовал с разными точками петли, это не меняет проблему.Я использую Win10 / Java 8.
sequencer = MidiSystem.getSequencer(false);
sequencer.open();
Sequence sequence = MidiSystem.getSequence(midiFile);
sequencer.setSequence(sequence);
// outDevice=Java synth (Gervill)
// or
// outDevice=Edirol UA-25 (USB)
Receiver outDeviceReceiver = outDevice.getReceiver();
Transmitter seqTransmitter = sequencer.getTransmitter();
seqTransmitter.setReceiver(outDeviceReceiver);
int startLoopTick = 0;
int endLoopTick = -1; // Loop at end of sequence
sequencer.setLoopStartPoint(startLoopTick);
sequencer.setLoopEndPoint(endLoopTick);
sequencer.setLoopCount(Sequencer.LOOP_CONTINUOUSLY);
// if outDevice==Edirol there is a slight delay between loops
sequencer.start();