AlsaModularSynth and Qt Audio & MIDI Tools


AlsaModularSynth, POV-Ray image by Jörg Anders.


AlsaModularSynth is a realtime modular synthesizer and effect processor. It features
  • MIDI controlled modular software synthesis
  • Realtime effect processing with capture from e.g. "Line In" or "Mic In".
  • Full control of all synthesis and effect parameters via MIDI.
  • Integrated LADSPA Browser with search capability
  • JACK Support
The documentation and many commented example patches show how to use AlsaModularSynth.

Add64 is an additive synthesizer.

QMidiArp is a MIDI-Arpeggiator.

QMidiRoute is a MIDI router and filter utility.

QMidiControl is a virtual MIDI fader box.

QAMix is a configurable mixer for ALSA. The GUI description is defined in an XML file. Default interfaces for standard AC 97 cards and Soundblaster Live are provided. QAMix can be controlled via MIDI. Any number of MIDI events can be bound to any mixer control.

QARecord is a simple multithreaded stereo recording tool. It can record both 16 bit and 32 bit WAVs. By using a large ringbuffer for the captured data, buffer overruns are avoided. QARecord can also be used as JACK client.

KAconnect is a Qt version of the aconnect utility for the ALSA sequencer system.

If you would like to write some audio software yourself, this ALSA Programming Howto may get you started. Some audio filters using the LADSPA plugin interface are found here.


German Keyboards magazine has published some example sounds of AlsaModularSynth. Some patches used for these recordings are available in the Download section.

The following examples have been recorded with AlsaModularSynth and the MCP/REV/VCO-Plugins using only a simple computer keyboard (with vkeybd). The example instrument patch "miniams.ams" was used for these demo recordings.

Slow Lead Synth With Powerful Bass
Slow Powerful Noisy Synth Best Played In The Bass Region
Three Octave Synth With Resonance Envelope
Lead Synth For Baroque Music
Soft Bass Synth
Noise Explosion
Percussive Noise
Bright Synth For Baroque Music
Synth Trumpet
Filter Modulation With VCO 1 Best Played In Bass Region

The file bwv29_01b.ogg is a recording of J.S. Bach's Sinfonia BWV 29 played on AlsaModularSynth with MCP-Plugins .


The complete file list is found on the project page. Note: You need FFTW , JACK and LADSPA to compile AlsaModularSynth. The example sound patches require also the newest version of MCP-plugins, VCO-plugins and REV-plugins and the clalsadrv library.

Note that some smaller files listed below are only available through the respective links provided on this web page.

Download AlsaModularSynth

Download Add64

Download KAconnect, QAMix, QARecord, QMidiArp, QMidiControl, QMidiRoute

Download some of the patches used for the Keyboards examples

Download vkeybdrc configuration file for american keyboards

Download vkeybdrc configuration file for german keyboards

If you use one of the above vkeybdrc files to extend the playable range for vkeybd, make sure you start vkeybd with the option --octave 5. You have to copy the configuration file as vkeybdrc or .vkeybdrc in your home directory.

Download midisend.c

midisend is a simple command line tool that you can use to send MIDI events via the ALSA MIDI sequencer. Compile it with
cc -o midisend -lasound midisend.c


2014-04-01: AlsaModularSynth (ams) 2.1.1 released
2014-03-15: AlsaModularSynth (ams) 2.1.0 released
2011-08-01: The additive synthesizer project Add64 has moved to
2011-05-18: Additive synthesizer Add64 released
2010-03-15: ALSA Programming Howto and LADSPA filters added
2009-09-20: QMidiRoute 0.3.0 released
2009-08-30: QARecord 0.5.0 released
2009-08-26: David Henningsson joins the development team
2009-08-25: Frank Kober joins the development team
2009-06-12: AlsaModularSynth (ams) 2.0.0 released
2008-08-11: Guido Scholz joins the development team
2007-06-21: Karsten Wiese port the CVS version to Qt4
2007-05-05: Release of 1.8.8RC2, currently the recommanded version. Improvements regarding performance and usability. New modules with reduced cpuload like vco2.
2007-05-01: Malte Steiner wrote an article on AMS in the German Synthesizer-Magazin issue #2
2007-03-03: Malte Steiner and Karsten Wiese join the project.
2006-01-23: The MIDI files have been moved to
2004-11-22: Added KAconnect, QAMix, QARecord, QMidiArp, QMidiControl, QMidiRoute from
2004-09-20: QMidiArp 0.0.2: Fixed bug in slider class --> Groove and Random settings will work now. Improved pattern traversal in repeat mode, this can now be Up or Down.
2004-08-20: QMidiArp 0.0.1: Initial release of MIDI Arpeggiator QMidiArp.
2004-08-05: AlsaModularSynth 1.8.7: The alsa_driver class has been removed. AlsaModularSynth now requires the ALSA driver library (>= 1.0.0) by Fons Adriaensen. If you visit this page, please verify that you have also the latest version of the MCP/VCO/REV-Plugins installed on your system. The barberpole module has been renamed into Multiphase LFO.
2004-07-19: The alsa_driver class has been removed from CVS. AlsaModularSynth (CVS version) now requires the ALSA driver library by Fons Adriaensen. If you visit this page, please verify that you have also the latest version of the MCP/VCO/REV-Plugins installed on your system.
2004-07-16: AlsaModularSynth 1.8.6: Fixed SCHED_FIFO mode for 2.6 Kernel. Added module Barber Pole. Added several demo patches for the new module.
2004-07-06: AlsaModularSynth 1.8.5: Moved Voice Detune and Oscillator Drift features into separate module Analogue Driver. Improved detune/drift algorithmus. Updated most instrument patches to make them use the new Analogue Driver module. Completely rewrote the obsoleted README. Please do read this file now to learn more about the detune/drift parameters and features. By using the Bypass toggle of the Analogue Driver module you can verify that it really adds a new dimension to polyphonic sounds.
2004-06-29: AlsaModularSynth 1.8.4: Added Voice Detune and Oscillator Drift features in Preferences dialog. Both are only effective if the Advanced MCV module is used for MIDI --> Frequency CV conversion. In polyphonic mode this feature adds a lot to the sound. Amplitude parameter 100 correponds to 1 semitone (up/down). Rate parameter 100 corresponds to 1 Hz. There are random factors on the rate parameters for each voice and oscillator.
2004-06-28: Added RPMs built for SUSE Linux 9.1. Remember to also update the LADSPA package.
2004-05-27: AlsaModularSynth 1.8.3: Added Preferences dialog. Added enhanced support for Doepfer Pocket Dial: Controllers will be initialized with the parameter values whenever a patch or preset is loaded.
2004-05-10: AlsaModularSynth 1.8.2: Improved LADSPA module: If plugin has more than 8 parameters, they will be arranged into several tabs. This ensures that all parameter are accessible. Speed optimization in function module.
2004-05-06: AlsaModularSynth 1.8.1: Fixed LADSPA module: Control output ports are now initialized. Small corrections in some of the demo patches.
2004-04-23: AlsaModularSynth 1.8.0: Fixed 0 V convention in MCVs: 0 V now corresponds to middle C. Some patches might need slight adaptions. New instrument hplp_instrument. This requires the new highpass filter by Fons Adriaensen .
2004-03-02: AlsaModularSynth 1.7.6: Fixed support for sustain/hold pedal. Added VC Double Decay. Added demos/example_vcdoubledecay.ams (velocity dependent). Added Quantizer 2. Added pitch-dependend panorama (note that offset and gain are functional in this mode) in VC panning module.
2004-02-24: The MCP/REV/VCO-Plugins have moved to the new Linux Audio page of Fons Adriaensen .
2004-02-13: Added RPMs built for SUSE Linux 9.0.
2004-02-12: AlsaModularSynth 1.7.3: Cables now have jacks. Cable and jack colors can be customized in the context menu of input ports. The main window has a new context menu for customizing background and module colors. Fixed bug concerning negative module positions when patch is saved while scrollview is not at zero position. Adjusted levels of patches in instruments folder.
2004-01-21: Added RPMs built for SUSE Linux 9.0. Moved all larger files to the File Relase System (FRS) of Sourceforge.
2004-01-20: AlsaModularSynth 1.7.2: Fixed polyphony. Added phaser instrument patch. Added some of the patches used for the sound examples published in german Keyboards magazine to the Download section.
2003-12-17: AlsaModularSynth 1.7.1: New ALSA driver contributed by Fons Adriaensen. This driver offers multichannel-I/O and allows to run ams in 24 bit mode. New "Function" module allows arbitrary mappings of CVs. The ParameterView has now an edit line for preset names. The spectrum view module has been improved and now offers a calibrated mode with display in dB. Many corrections and improvements, many of them contributed by Fons Adriaensen, who has joined the project now as "regular" author. Example patches are split into "tutorial", "instruments" and "demos". Don't miss to try out "miniams.ams" in "instruments". Note that this example requires the newest versions of the MCP/REV/VCO-Plugins.
2003-12-11: Added VCO-Plugins by Fons Adriaensen. These plugins implement bandlimited VCOs. MCP/REV-Plugins have been updated as well.
2003-10-23: AlsaModularSynth 1.6.0: Significant improvement of keyboard control over the synth: New module "VC Envelope" with exponential decay/release. New module "Advanced MCV" provides CVs for aftertouch and arbitrary MIDI controller. New module "Converter" converts from logarithmic to linear CV. New patches "example_vcEnvelope.ams", "example_advmcv.ams", "organ*.ams".
2003-09-05: AlsaModularSynth 1.5.12b_pre01: Improved JACK support. There is now a fixed number of JACK ports created at start (--in, --out, default: 2 in, 2 out). These ports are always present and are not deleted when a patch is closed. JACK modules are automatically connected to these ports in ascending order. If there are more JACK modules in a patch than available JACK ports, new ports are automatically created.
2003-08-28: AlsaModularSynth 1.5.12: New "Parameter View" dialog. Here you can build your own GUI. Settings for the parameters in the "Parameter View" can be stored as presets and restored via MIDI program change. Added tutorial patches. Documentation updated.
MCP-Plugins updated: Mvclpf-4 "Output" parameter renamed to "Filter Poles". This parameter allows you to specify 6, 12, 18 and 24 dB/Octave.
REV-plugins: Another new LADSPA library by Fons Adriaensen. Implements a stereo reverb.



The CVS directory for AlsaModularSynth is "ams".




Contact maintainer: mnagorni googlemail com

The development of AlsaModularSynth and the Q* utilities has been supported by

This site is hosted by SourceForge Logo