AlsaModularSynth (alsamodular) is a digital replica of an analog modular synthesizer. The program has a JACK interface and can load all kinds of LADSPA effect plug-ins. Thus, it can also be used as a versatile effect processor.
Enter ams to start AlsaModularSynth from the command line. The parameter -j activates the JACK mode, provided the JACK engine jackd is running (see Section “The JACK Audio Connection Kit”). The required port connections can be established with QJackConnect. In the JACK mode, PCM modules are automatically converted to JACK modules (and vice versa). Separate ports are generated for each JACK module. AlsaModularSynth only appears in the list of QJackConnect if at least one JACK module exists.
The directory usr/share/doc/packages/alsamodular contains numerous example patches that demonstrate the various possibilities. Detailed documentation is available in the subdirectory html.
A quick overview of some of the sound possibilities is provided by the patches that randomly play sounds without a MIDI keyboard or audio input. example_ams_demo.ams generates impressive random music. In example_ams_demo_scope_spectrum.ams, this music can even be visualized with the scope and spectrum viewer modules. Right-click to open the view of these modules. See how the character of the music changes when you change the quantization in the quantizer module (ID 7) from the pentatonic scale to a value such as 1/6 (whole-tone scale).
One of the most legendary (and expensive) analog synthesizer modules is the frequency shifter invented by H. Bode and built by R. A. Moog. This module was recently implemented as a LADSPA plug-in by S. W. Harris and is therefore available for AlsaModularSynth. In example_ams_demo_bode.ams, the effect is applied to the random music. example_bode.ams demonstrates the frequency shifter in the spectrum viewer module. One example by the author of the plug-in is example_bode_wail.ams. Here, realize a feedback by way of the JACK In module in the JACK mode.
example_wind.ams shows that even the sound of wind can be generated with AlsaModularSynth. There are also other example patches, like example_random_* and sequence0*.
Especially in the JACK mode, AlsaModularSynth can be used as a versatile effect processor. One example for this is example_capture.ams. If you connect an external sound source to your sound card and use alsamixer to specify the correct settings for the capture, the example will work even without JACK. With the , started with -> , generate modules for LADSPA effects. Plug-ins should always be created with , unless you use AlsaModularSynth as a polyphonic synthesizer. generates a separate plug-in instance for each part.
After having used the MIDI patchbay kaconnect to connect AlsaModularSynth with a master keyboard (vkeybd or an external keyboard), you can use the program as a synthesizer. If polyphony is not explicitly activated with the parameter --poly, AlsaModularSynth will be monophonic, just like its classical model. example_basic.ams contains the simplest synthesizer patch. In example_basic_vcf.ams, the sound is modified by a filter. Portamento and resonance filters are added in example_basic_vcf_reverb.ams. In most patches, the pitch bend and modulation wheel are determined by module parameters. To prevent parameter leaps, the movements of these MIDI controllers is only effective when the current parameter value is accepted. As in many analog synthesizers, the envelope modules are single triggered — they are not restarted for legato playback. This enables some interesting phrases.
In example_full_midi.ams, the first sixteen MIDI controller events are linked to module parameters. If you do not have a device that can send these events, use the software MIDI controller box QMidiControl, started with qmidicontrol. When experimenting with this program, open -> . If is activated here, the most recently moved MIDI controller and the first parameter associated with it are automatically displayed. More information about the is available in the following section.
The main purpose of the Control Center is to bind module parameters to MIDI controllers. However, extended parameter control settings, such as the range of sliders, can also be specified here.
The list to the left displays the MIDI controllers used in a patch. In this tree view, the parameters associated with a controller are shown under the respective controller. As soon as a controller event that does not exist in the list is received via MIDI, it is added to the list. The list to the right shows the modules and their parameters. If you select a parameter here, the respective control appears, enabling modification of the parameter and range limits.
To create a MIDI binding, select a controller in the list to the left and a parameter in the list to the right. Then click. To clear a MIDI binding, simply select the respective parameter in the list to the left under the controller and click . clears the entire list of MIDI controllers and bindings. With , determine whether a parameter should increase or decrease with rising controller values.
The output of the MIDI events generated by a MIDI Out module is realized by way of the two readable MIDI ports of AlsaModularSynth in the left list of kaconnect. If several MIDI Out modules are used simultaneously, the MIDI events are merged accordingly. As both notation and controller events can be sent, the module can also be used to control all kinds of parameters via control voltage. To do this, the readable MIDI ports must be connected with the writable MIDI port. The example example_midiout_controller.ams shows the change in an envelope with autogenerated controller events. Easily follow the movement of the envelope by opening the configuration dialog of the ENV module (ID 5) with the right mouse button. The option in the should be deactivated while this patch is running.
If you connect the readable MIDI ports of AlsaModularSynth with a MIDI sound generator, example_midiout_note.ams plays scales controlled by an LFO. example_midiout_note_velocity.ams shows that the velocity data can also be autogenerated. example_midiout_random.ams generates random music with drums.
Using the WAV Out module, directly record the signals generated or processed by AlsaModularSynth as a WAV file in CD quality. In the configuration dialog of the module, select to open a file browser. If the file displayed under is successfully generated, the buttons under are activated and can be used.