"Gervill" is a software sound synthesizer which was created as a proposal for the Audio Synthesis Engine Project.
Gervill was designed to be generic synthesizer for Java. By adding gervill.jar to your classpath you should be able to load SoundFonts/DLS files using MidiSystem.getSoundBank(). And MidiSystem.getSynthesizer() should return instance of Gervill Synthesizer.
Advanced features of Gervill are accessed thru the AudioSynthesizer interface.
Warning! This interface may change or be moved in future.
Gervill has been tested successfully with these applications:
Gervill project mainly consists of 3 modules:
Made of these classes:
com.sun.media.sound.DLS*
com.sun.media.sound.SF2*
com.sun.media.sound.AudioFileSoundbankReader
There is a one SoundBank reader/writer for each soundbank format which Gervill supports.
Currently there are 2+ formats supported:
DLS, SoundFonts and Audio Files.
Made of these classes:
com.sun.media.sound.Model*
All the soundbank readers above implements the internal instrument model.
Made of these classes:
com.sun.media.sound.Soft*
The heart of the code. Here is where we have resamplers, filters, mixing, tuning, voice/channel managament, control routing, midi messages parsers.
Gervill is distributed under the terms of the GNU General Public License v2 with "Classpath" exception. See http://www.gnu.org/software/classpath/license.html