/** * Creates a WAV file based on the Sequence, using the sounds from the specified soundbank; to * prevent memory problems, this method asks for an array of patches (instruments) to load. * * @param soundbankFile * @param midiFile * @param outputFile * @throws MidiUnavailableException * @throws InvalidMidiDataException * @throws IOException */ public void createWavFile(final File soundbankFile, final File midiFile, final File outputFile) throws MidiUnavailableException, InvalidMidiDataException, IOException { // Load soundbank final Soundbank soundbank = loadSoundbank(soundbankFile); // Open the Synthesizer and load the requested instruments this.synth.open(); this.synth.unloadAllInstruments(soundbank); final Instrument[] instruments = soundbank.getInstruments(); for (final Instrument instrument : instruments) { synth.loadInstrument(instrument); } createWavFile(midiFile, outputFile); }