SynthPi is a hobby project of mine. I wanted to find out if it is possible to program a decent sound synthesis engine in Java. It should run on any operating system supporting Java 1.8. Originally I had the idea to install it on a Raspberry Pi computer, hence the name. It will run on a Raspberry Pi 2, but with some limitations (e.g. reduced voices, additive synth not working good, external sound interface needed).
- 3 Synthesizer Modes: Waves (Virtual Analog), Additive Organ, String Modelling
- 2 Oscillators, Noise Generator
- 2 routable Multimode Filters (LP/LP24, BP, HP, Notch, AP)
- 2 Filter Envelopes
- 1 Amp Envelope
- 1 LFO, 1 Mod Envelope
- All Envelopes Loopable
- Effects Section: Drive, Chorus, Delay, Reverb
- 8 Voice Polyphony
- MIDI, MIDI CC Mapping
- Web Browser Real Time Control Interface
SynthPi is Open Source software. The source code can be found on github:
For SynthPi to work it is mandatory that you have installed a Java Runtime Environment (at least version 1.8). It is also recommended that you have a MIDI controller keyboard. This is not necessarily needed, but without one, you can only play SynthPi with a clunky mouse keyboard.
- Make sure a Java Runtime Environment is installed on your computer. If not, you can find one under java.com/download.
Caution Mac-Users: The standard Apple-provided Java version is outdated and has serious bugs concerning MIDI. If you can’t start the application you need to download an up to date version of Java from the link above.
- Download the latest release “jar” file from GitHub:
- Under Mac OS or Windows just double click the downloaded “jar” file and the application will start.
An alternative method for starting is to open a console window and enter
java -jar path_to_your_download_location/SynthPi-1.0.0-SNAPSHOT-boxed.jar
The following pages try to cover all usage aspects of SynthPi.