purtroppo si rallenta tutto.. forse sbaglio il posto dove inserire i suoni


Ora sto provando a modificare questa classe per capire il motivo per cui si rallenta tutto ma non so come implementare stop e loop.. qualche idea??
codice:
import javax.sound.midi.*;

import java.io.*;
public class Midi {

private int quale;
File midiFile;

    public Midi( int x) 
    { 
        quale = x;
        
        try {
            
            switch(quale)
            {
             case 1: 
             {
                midiFile = new File("tie28.mid");
                break;
             }
             case 2: 
             {
                 midiFile = new File("ctundsea.mid");
                 break;
             }
             case 3: 
             {
                midiFile = new File("ff3over.mid");
                break;
             }
             case 4:
             {
                 midiFile = new File("map09.mid");
                 break;
             }
             case 5:
             {
                 midiFile = new File("map28.mid");
                 break;
             }
             case 6:
             {
                 midiFile = new File("tie26.mid");
                 break;
             }
             default:
             {
                 midiFile = new File("Xenon_2.mid"); 
                 break;
             }
        }
             
            Sequence sequence = MidiSystem.getSequence( midiFile );
            Sequencer sequencer = MidiSystem.getSequencer();
            
            sequencer.open();
            sequencer.setSequence( sequence );
            
            Synthesizer synth = MidiSystem.getSynthesizer();
            synth.open();
            
            Transmitter transmitter = sequencer.getTransmitter();
            transmitter.setReceiver( synth.getReceiver() );
            
            sequencer.start();
        } catch( Exception ex ) {
            ex.printStackTrace();
        }
    }
}