Friday, April 3, 2009

Ingen: Opensource Modular Synth

After trying alsa modular synth and seeing it crashing every 2 mins, I decided to search the web for something better... and I found Ingen.

A simple MIDI-controlled synthesizer patch

Ingen is a software that uses LADSPA and LV2 plugins, connected with each other, to create synths. LV2 is a new format of plugin, that probably will substitute the old and limited LADSPA if all goes right.
LV2 gives the programmer the possibility to create a custom GUI, just like VSTs do.

You can install Ingen from your distro's repository, but if the version you get is not up to date, you should checkout the latest from SVN: If you are able do deal with the console, the second is the better choice, because it means more stable software.

On this page there's the step-by-step guide to compile it from SVN.
(The build system, waf, needs python 2.x to work.)

If you get an error ending with
/giomm-2.4/giomm/error.h:97: error: expected declaration before ‘}’ token Build failed
-> task failed (err #1):
{task: cxx ConnectWindow?.cpp -> ConnectWindow?_1.o}

I managed (in a not so good way) to "solve" it:
Just open the file error.h (that should be in some folder like "/usr/include/giomm-2.4/giomm/") and skip the source to the line indicated by the number indicated (in this case, 97). After that, change the line from "HOST_NOT_FOUND," to "HOST_NOT_FOUND_," and do the same for the next line.
Then recompile with ./waf and all should work fine. After compiling, reopen error.h and revert the changes.

Now, a simple "sudo ./waf install" or "./waf install" if you are already root installs the app on your system.
To run it, if you don't see it on the app menu, open a shell and write "ingen -eg": this will start ingen with the graphical frontend.

As I wrote before, Ingen needs plugins installed on your computer, otherwise it is quite useless.
Here are some links to good plugins:
Ingen automatically adds LV2 plugins in its menu, while for LADSPA ones you must right click->find.

If you have any problem or question, just leave a comment or write some line on Ingen's IRC channel on freenode.

I hope to write a short tutorial to describe how to create a simple synth with ADSR ampli.

3mpty