The Linux Softsynth Roundup
The testing hardware included a generic machine with an 800MHz AMD Duron CPU, 512MB RAM and a 15GB IDE hard disk. The audio hardware consisted of two sound cards, a SoundBlaster SBLive Value and a SoundBlaster PCI128; a Casio CZ101 synthesizer was used for external MIDI keyboard input. I used Steve Ratcliff's pmidi MIDI file player, and I also employed a second computer running Voyetra's Sequencer Plus Gold under MS-DOS. The video system included a generic 19" monitor and a Voodoo3 graphics card. Audio output from the sound cards ran to a Yamaha DMP7 mixer then out to a 100-watt QSC power amplifier and a pair of Yorkville Sound YSM-10 reference speakers.
The low- and middle-level software included Linux kernel 2.4.5 patched for low latency, the ALSA 0.9.0rc6 package (audio library, drivers and utilities), the latest JACK and the LADSPA plugin sets from Richard Furse and Steve Harris. Other support software included Maarten de Boer's alsamixergui and Bob Ham's ALSA MIDI patch bay, both of which provide GUIs (and more) for the ALSA alsamixer and aconnect utilities.
Many of the synths profiled here include the recommendation to be run with root permissions, either as root yourself or by making the binary suid root. Doing so usually ensures a higher priority for the running application but is also considered a serious security risk if the user is on a network.
Apart from the security issues, I should explain that when a real-time process runs away from the root user the outcome is not pretty, and your machine may lock up entirely. In one test while running as root user, simply specifying an unrecognized MIDI device froze my system. So be warned. Running as root can indeed enhance performance, but you also are running risks. Run normal applications as a normal user as much as possible.
The Software Synthesis section of the Linux Sound & Music Software site includes a subsection of Softsynths & Samplers. More than 30 URLs are currently active, taking you to a variety of software synthesizers. Table 1 has pruned some of that variety by focusing on synthesizers capable of polyphonic (plays many notes at once) real-time output, ignoring off-line synthesizers and environments such as Csound or RTCmix. Due to their real-time nature, I have included beatbox programs and the MAX-like environments of Pd and jMax.
Because this article is a roundup and not a shoot-out, I'll profile only some selections from Table 1 and prune it a bit more. The profiles represent a cross section of the various synthesis methods, but I have purposely focused on the standalone softsynths.
Nick Dowell's amSynth is an excellent representation of the dedicated subtractive synthesis architecture. The signal flow is fixed in a classic design. The output of the two oscillators is routed through a filter and an amplifier, then that signal can be given to the effects (amSynth provides reverb and distortion) and/or modulation stages for final processing before heading to your sound card digital-to-analog converter (DAC). In classic synthesis, the main parts of this design are referred to as the VCO (voltage-controlled oscillator), the VCF (voltage-controlled filter) and the VCA (voltage-controlled amplifier).
amSynth includes some great-sounding presets. No General MIDI patch is set to support the General MIDI standardized map of instruments, but it does respond to incoming MIDI Program Change messages. Because amSynth is essentially a standalone single instrument that handles only one MIDI channel at a time, it is perhaps best used as a lead or pad instrument. It can be driven by a MIDI sequencer.
The full name for amSynth is Analogue Modelling Synthesizer. There are no real voltage-controlled components, so we might rightly wonder if Nick has been able to achieve his goal of modelling the sound of an analog subtractive synth. I'm happy to report that the sounds from amSynth are fat and lively, but you need not take my word for it. The excellent demos on the amSynth home page show off its sounds far better than I can describe here.
Similis sum folio de quo ludunt venti.
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.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- Designing Electronics with Linux
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Dynamic DNS—an Object Lesson in Problem Solving
- Using Salt Stack and Vagrant for Drupal Development
- Build a Skype Server for Your Home Phone System
- Why Python?
- New Products
- A Topic for Discussion - Open Source Feature-Richness?
- Validate an E-Mail Address with PHP, the Right Way
- Tech Tip: Really Simple HTTP Server with Python
- Understanding the Linux Kernel
1 hour 35 min ago - General
4 hours 5 min ago - Kernel Problem
14 hours 8 min ago - BASH script to log IPs on public web server
18 hours 35 min ago - DynDNS
22 hours 11 min ago - Reply to comment | Linux Journal
22 hours 43 min ago - All the articles you talked
1 day 1 hour ago - All the articles you talked
1 day 1 hour ago - All the articles you talked
1 day 1 hour ago - myip
1 day 5 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
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?






Comments
Is there a distribution that integrates all this?
I've been using Dyne:Bolic, which is very very nice, especially the Pure:Dyne flavor.
Is there a distro of that sort (not necessarily a live CD) that integrates all the components described above? Meaning, RT kernel with jack, alsa, etc' fully integrated and working properly, all the synths, good MIDI support, wide driver base and high performance on a standard PC.
Kind regards,
VirtualFlavius
About
A very interesting and usefull article.
Thanks a lot
Wow! I had no idea!
Absolutely amazing article! I had no idea Linux could do this! Thanks for introducing me to these! More articles like this please!