The Linux Softsynth Roundup
Dr Matthias Nagorni has written a variety of useful applications and utilities for ALSA, JACK and LADSPA; however, his current crowning achievement must be his wonderful ALSA Modular Synthesizer (AMS). This software emulates the great modular synths of yesteryear, providing the user with a large selection of modules to choose from.
Figure 2 illustrates AMS in its most basic form. In a subtractive synthesis patch, the routing essentially is identical to that used by amSynth, but the difference lies in the greater flexibility of AMS. Unlike the fixed design of amSynth, AMS is completely flexible with regard to the connections between its various modules.
Most modules cheerfully accept arbitrary input connections and have little or no concern for the destination of their own outputs. But beware; when modules are connected in atypical configurations, the output can be quite unusual or even overpowering, so take care with your system volume control when testing such patches. Each module has its own dialog (shown in Figure 2), which is opened by right-clicking over the module's name.
Dr Nagorni supplied the following informative notes:
AMS implements special features to ensure that all three major synthesis methods [additive, subtractive, FM] can be easily used with it. The module Dynamic Waves implements additive synthesis of up to eight oscillators in one single module. Each harmonic can be shaped with an eight-point envelope, and the envelopes are graphically visualized. To enable easy access to integer harmonic tuning, useful for FM, VCOs have an additional harmonic and subharmonic slider. There is also the required linear FM input port. For subtractive synthesis to work properly, it is crucial that control voltages obey the classical logarithmic convention of 1V/Octave. This way, you can move the filter cutoff wherever you like, and you can still have perfect VCF tracking. Log Frequency is also useful at other places, including vibrato with an LFO.
AMS has been designed for real-time work. It is especially well-suited for MIDI control, and most parameters can be linked to a MIDI controller for real-time changes. AMS can be used equally well as a monophonic or polyphonic synth, and multiple instances of AMS may communicate over JACK to create a multi-timbral setup. Its support for the LADSPA plugins extends its already rich feature set, making AMS an ideal solution for those of us without access to a hardware synthesizer. A complete MIDI composition environment can be built from nothing more than a reasonably fast machine, one of the fine Linux MIDI sequencers, such as MusE or Rosegarden, and AMS.
Some setups will work better than others, so the good doctor has prepared a healthy supply of sample patches for your study and experimentation. You can hear some of them in the demo files available from the AMS home page, but as with all the synths profiled here, I suggest you download and install it yourself to see and hear what really it can do.
First there was SpiralSynth, then there was the SpiralLoops program, a cool looping sequencer, and then there was the SpiralSynthBaby, designed to be a plugin for SpiralLoops. Finally, developer Dave Griffiths decided to roll all of them into one open-ended modular synthesizer construction kit called SpiralSynth Modular (SSM). Like AMS, SpiralSynth Modular provides the user with a canvas and a palette of modules for placement and connection on the canvas, but SSM has its own unique design and sound-producing capabilities.
Figure 3 shows off SSM running its first tutorial patch. This example shows a simple type of synthesis called wavetable synthesis. The wavetable is a predefined stored waveform (sine, square, triangle, pulse, etc.) that is triggered by the virtual keyboard and modified by the envelope generator before heading out to the sound card DAC through the OSS output module. In the example, we can see that the synthesizer is played through the computer keyboard, but SSM also provides a MIDI module for receiving and routing MIDI messages. The keyboard module is a nice touch, and I had great fun with it playing SSM from my laptop's QWERTY keys.
SSM does not function as a native ALSA sequencer client, so it cannot be wired directly to an ALSA port like amSynth or AMS. However, it can be hooked to the standard OSS/Free MIDI device (/dev/midi) for input from any hardware or software connected to that device. If your machine has no MIDI hardware, you can employ ALSA's virmidi virtual MIDI ports by setting the MIDI channel to the appropriate port in the SSM Options (/dev/snd/midiC1D0 for my laptop; see Figure 4). This enables connection to other ALSA-aware processes through aconnect or the ALSA patch bay.
Dave Griffiths has thoughtfully provided some excellent demos of the synth on the SSM home site. Its FLTK interface is pleasant and easy to use, the program includes a generous share of interesting and useful modules, including LADSPA support, and the latest version can be built with support for JACK. Dave plans to include a much-improved plugin version of SpiralLoops for a soon-to-arrive version of SSM, and we can expect more direct support for ALSA as well.
Similis sum folio de quo ludunt venti.
|Speed Up Your Web Site with Varnish||Jun 19, 2013|
|Non-Linux FOSS: libnotify, OS X Style||Jun 18, 2013|
|Containers—Not Virtual Machines—Are the Future Cloud||Jun 17, 2013|
|Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer||Jun 12, 2013|
|Weechat, Irssi's Little Brother||Jun 11, 2013|
|One Tail Just Isn't Enough||Jun 07, 2013|
- Speed Up Your Web Site with Varnish
- Containers—Not Virtual Machines—Are the Future Cloud
- Linux Systems Administrator
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Senior Perl Developer
- Technical Support Rep
- Non-Linux FOSS: libnotify, OS X Style
- UX Designer
- RSS Feeds
- Varnish works!
7 min 2 sec ago
- Reply to comment | Linux Journal
36 min 39 sec ago
- Reply to comment | Linux Journal
3 hours 2 min ago
- Reply to comment | Linux Journal
7 hours 2 min ago
- Yeah, user namespaces are
8 hours 18 min ago
- Cari Uang
11 hours 49 min ago
- user namespaces
14 hours 43 min ago
15 hours 9 min ago
- One advantage with VMs
17 hours 37 min ago
- about info
18 hours 11 min ago
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?