"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.
Currently this project mostly needs testing and debugging.
You can checkout the sources via CVS by issuing the following command:
cvs -d :pserver:username@cvs.dev.java.net:/cvs login
cvs -d :pserver:username@cvs.dev.java.net:/cvs checkout gervill