Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Homunculus - a Formant Synth Plugin (JUCE, GPL3)

Homunculus is a free and open source synth based on a very simplified model of the human voice. A band limited impulse train models glottal pulses, and a bank of resonant filters models the shape of the mouth, toungue, etc. While this synth can create sounds that are human-like, it is capable of producing a range of sounds.


There are two procompiled installers:

Using homunculus


This plugin includes a very simple LFO vibrato that can be controlled using the LFO Hz and LFO % knobs.

It also includes a very simple amplitude envelope that can be controlled using the A, D, S, and R knobs.

Performance Mode Image

Homunculus performance mode

Performance Mode

Interpolating between formants involves moving the slider labeled Morph. When the slider is moved, the formant visualizer will show an indicator of the frequency response of the formant filters.

To add, remove, and edit formant sets, press the edit button which will put the plugin into Editor Mode.

Editor Mode Image

Homunculus editor mode

Editor Mode

The editor mode allows the editing of formant sets. Each formant set includes three bandpass filters with editable frequency, Q, and gain. The parameters of each filter can be edited by the knobs on the left hand side of the plugin. The formants are labeled F1, F2, and F3 and the paramters for each filter are labeled F (frequency), Q and Gain.

To change the currently edited formant set, move the slider labeled Edit Sel..

To add formants press the button labeled "+". To remove them, press the button labeled "-". Note, that there is a minimum of two formants required. (There is no maximum, unfortunately.)

When the plugin first launches, formant parameters are selected at random.

To go back to performance mode, press the Edit button.


I wanted to learn JUCE, general prinicples of software architecture, and some DSP (Blit and filtering). While I have much to learn, I did not have the heart to let this languish on my hard drive: it's too spunky.

Compiling from source

This code requires JUCE. It is also recommended that one uses the Projucer for setting up compile options.

One should be able to simply open homunculus.jucer with the Projucer. From there, one should be able to open the default IDE and compile. This has only been tested minimally, so your mileage may vary.


Formant Synthesizer written in JUCE GPL3







No packages published