The Java Synthesizer – jSynth

What Is jSynth?

JavaSynth (jSynth) is a Java application using the Java Sound Synthesizer (which is a part of Java), exposing it to the user as a software synthesizer. It can also act as a MIDI router, sending its output on a MIDI interface connected to another synthesizer.

It makes use of sound-fonts (.sf2 files) to provide the sounds of various instruments. The default sound-font is a set of instruments adhering to the General-MIDI (GM) standard. Sound-fonts loaded don’t necessarily need to conform to the General-MIDI standard.

The synthesizer implements other aspects of the General-MIDI standard, such as using MIDI channel 10 for percussion (drums), for example.

It is intended for use by connecting a MIDI keyboard to it, and playing the synthesizer. It provides an easy means of changing instruments and volume, when used with keyboards not providing an easy way of changing instruments.

You can set up all 16 MIDI channels to your liking, and it will remember all settings the next time it is run.

It also provides an easy means of experimenting with layered voices (sounds), or simultaneously playing up to 16 different instruments. You can use it in this capacity to play external synthesizers using a MIDI interface.


The Java Sound Synthesizer makes use of ordinary audio device drivers (rather than high-efficiency device drivers, such as ASIO on Windows, or JACK on Linux), and therefore has a noticeable amount of latency (delay between hitting a key and hearing its sound). On Mac OS X and Linux, this latency is not bad, but on Windows, it is barely tolerable. Latency makes it hard to play faster-tempo pieces.

Using normal audio device drivers at the same time as high-efficiency audio device drivers (such as ASIO or JACK), may cause your system to hang, so do not attempt to use JavaSynth while you are using VST instruments (which use ASIO), or synthesizers that use JACK.

When used on machines with lower than 2 gigahertz speed on a single-core processor, or 1.6 gigahertz on a dual core processor, audio may cut-out occasionally. In some cases, such cut-outs may disappear after playing it for 30 seconds or more. It may not work at all on single-core processor machines slower than 1.8 gigahertz.

If you use it on a slower machine, playing layered voices (or playing simultaneous instrument sounds) may result in cut-outs in the audio (sound).

When you first start playing it, before long, audio may cut-out briefly (while Java consolidates its memory storage (referred-to as garbage collection). When you continue playing it, these cut-outs usually cease (after maybe one more time).

Known Problems

For more information, you can read the Help Information online, which is also installed with the application.

Installing Java Synth

To install jSynth (and to read the instructions on how to install it), click on the link below:

Installation Instructions and Download

(Hit your browser's “Back” button to return to where you were.)