The Linux Softsynth Roundup
This synth is an excellent example of an emulated hardware synthesizer. The Juno6 keyboard and panel controls are faithfully rendered, and like the Bristol synth, all controls are active and available for manipulation at any time. I've owned a Juno6, and Ultramaster's audio emulation is quite faithful to the original, but with the stability of intonation of a digital synth. Best of all, the arpeggiator works. Those of us who remember such amenities probably will have great fun with this feature; alas, arpeggiators are not so common anymore, so newbies can expect to while away many an hour finding interesting and fun uses for this function.
The Juno6 is a straightforward implementation of subtractive synthesis, lending itself to sounds with dramatic filter sweeps. A short example WAV file can be found on the Ultramaster home page, but you'll learn more about the synth's sound and capabilities simply by playing around with it.
Paul Nasca's ZynAddSubFX is an interesting hybrid of additive and subtractive synthesis, with an added effects section for further processing. If that's all ZynAddSubFX offered, it still would grab your attention. An excellent FLTK interface invites experimentation with the various parameters of the synthesis strategies, and as an ALSA-aware client, you can drive the synth from your favorite MIDI sequencer. Figure 8 shows ZynAddSubFX working with the pmidi MIDI file player. It also shows ZynAddSubFX's Scales dialog opened to a collection of tunings from the Scala program. Selecting a new scale automatically updates the current patch's tuning, which invites exploration of unusual intonations and induces some interesting changes upon familiar material.
ZynAddSubFX is multi-timbral, with a different instrument per MIDI channel, making it another good choice for an all-purpose softsynth (minus drums, alas). Its sounds are created by straightforward synthesis methods, but the deployment of those methods and the program's excellent interface combine to help make some fine sounds. Performances can be recorded directly within ZynAddSubFX, and the developer has placed several demos on-line that depict the synth's power as a standalone multi-timbral softsynth. ZynAddSubFX is the newest softsynth profiled here, but its development is steady. As this article was being written, I learned that ZynAddSubFX is now JACK-aware (Figure 8), so with support for scales and tunings from Scala, the ALSA sequencer client configuration and JACK connectivity, this synth is a fine representative example of modern Linux audio software.
I know I promised to steer clear of profiling the more language-based synthesis environment, but I also mentioned the blurring tendency occurring with developments in those environments. jMax rapidly is evolving into a rich multimedia composition/processing suite, but it also can be utilized as a straightforward SWSS toolkit. Figure 9 illustrates a simple jMax synthesis patch, complete with self-documentation. Although this example is itself trivial, jMax is capable of far more complex synthesis patches.
Figure 10 demonstrates Istvan Varga's csoundfltk (a Csound package optimized for Linux) running ImproSculpt, a real-time sampler with a rather complex FLTK graphic interface. This example is not really a synthesis patch, but it shows off the power of the Csound FLTK widget set that lets users design GUI panels and control systems for their Csound synthesis and processing designs. Other examples demonstrate Csound as a straightforward synthesizer, and interested readers should check out the material available at www.csounds.com for more examples of the FLTK/Csound powerhouse.
Similis sum folio de quo ludunt venti.
- Resurrecting the Armadillo
- High-Availability Storage with HA-LVM
- March 2015 Issue of Linux Journal: System Administration
- Real-Time Rogue Wireless Access Point Detection with the Raspberry Pi
- DNSMasq, the Pint-Sized Super Dæmon!
- Localhost DNS Cache
- Days Between Dates: the Counting
- The Usability of GNOME
- Linux for Astronomers
- You're the Boss with UBOS