At the Sounding Edge: Using QSynth and QJackCtl
The fluidsynth project provides Linux musicians with a free and open-source soundfont-based synthesizer. A soundfont is a soundfile format combining audio data and performance control data. Soundfonts are not merely played back, they require an engine (synthesizer) designed to apply the performance controls to the raw audio data. fluidsynth is such an engine.
Like JACK, fluidsynth can be run from the command line, but its configuration at the prompt can be a bit complicated (see 'man fluidsynth'). QSynth is the GUI solution to that problem.
Figure 4 shows QSynth's default appearance. The main panel is arranged clearly and is comprehensible. As with QJackCtl, QSynth employs helpful tooltips to clarify the function of each interface component.
Again, we start our little tour with the Setup panel. Options here include tabs for audio and MIDI driver configuration, soundfont bank selection and a summary of QSynth's default and current settings. QSynth supports audio and MIDI drivers for ALSA and OSS, a MIDI-only driver for MidiShare and an audio-only driver for JACK. In Figures 5 and 6, QSynth has been configured as an ALSA sequencer client and as a JACK audio client, respectively.
Click the Soundfonts tab to specify the soundfont banks you want to assign to the QSynth engine. As Figure 7 shows, you can list multiple banks, but only the last font listed is active.
Close the Setup panel and click on the Channels button to open the channel/instrument assignment panel shown in Figure 8. The maximum number of channels is determined in the Setup/MIDI tab, with a default of 16 channels to the allowable maximum of 256, all in increments of 16. Right-click on an entry in the Channels dialog and select an instrument from the soundfont instrument list seen in Figure 9. Repeat per channel as necessary.
QSynth is a multitimbral synthesizer, meaning that you can assign a different instrument to each channel for a mixed ensemble of independent players. Alternatively, you can assign a single instrument to multiple channels to create rich layered sound textures. Or, you can mix all of these methods as you please. To use different soundfonts at the same time, right-click on the engine selector tab at the bottom left corner of the main panel--labeled qsynth1 in Figure 4--to add another instance of QSynth to the fun. Each engine can access a different soundfont, with independent master gain and effects settings. With the right fonts, you might find that QSynth is all the synthesizer you'll ever need.
By the way, if you want to expand your collection of soundfonts, be sure to check out the listings at Hammersound (see Resources), which link to some excellent free fonts. You might also want to peruse the Linux Audio Users mail list archives for links to free fonts. Some list members have designed fonts for truly free redistribution, but the community still needs a truly free and open-source general MIDI soundfont.
At this point, return to QJackCtl and start the JACK server if it isn't already running. Click on the Connections button and select the Audio tab to make your JACK audio connections. Figure 11 illustrates one arrangement of multiple QSynth engines with independent output ports connected to the ALSA PCM input ports; it's a good example of how QJackCtl simplifies complex routing arrangements.
Now select the MIDI tab to set your MIDI connections. Here we find the same flexibility found in the audio tab, as shown in Figure 12. In that screenshot the input from my physical MIDI port--SBLive with adapter connected to a Casio CZ101 MIDI keyboard--is routed to the first QSynth engine. The first ALSA virtual MIDI port is connected to the second QSynth engine and to the EMU10k1 synthesizer on the SBLive. Finally, the last virtual MIDI output port is connected to the third QSynth engine and to the EMU10k1 synth. Again, a complex configuration is simplified by using QJackCtl.
Click the Patchbay button to view, edit and save/load your audio and MIDI connections as user-defined presets. Figure 13 illustrates this neat feature, showing the Patchbay preset defined for the connections in Figures 11 and 12.
We've made QSynth's audio and MIDI connections, so now it's time to put them to use. Figure 14 illustrates seq24 using QSynth with multiple engines, with each engine driven by a separate sequence in seq24. Remember, seq24 makes its MIDI connections internally, there's no need to use the MIDI Connections tab in QJackCtl. QSynth autoconnects to the ALSA PCM input ports, but you need to reconnect if you want to route QSynth's output elsewhere. Figure 14 also demonstrates such a connection, with one engine's output routed to a LADSPA effects processor in the JACK Rack, the output of which is sent to the ALSA PCM ports.
By the way, the screenshot in Figure 14 is included for demonstration only. QSynth's own effects processors, reverb and chorus, are quite serviceable, but they're not going to equal the performance of a dedicated software or hardware processor.
Similis sum folio de quo ludunt venti.
Fast/Flexible Linux OS Recovery
On Demand Now
In this live one-hour webinar, learn how to enhance your existing backup strategies for complete disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible full-system recovery solution for UNIX and Linux systems.
Join Linux Journal's Shawn Powers and David Huffman, President/CEO, Storix, Inc.
Free to Linux Journal readers.Register Now!
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- Profiles and RC Files
- Astronomy for KDE
- Maru OS Brings Debian to Your Phone
- Understanding Ceph and Its Place in the Market
- OpenSwitch Finds a New Home
- Git 2.9 Released
- SoftMaker FreeOffice
- The Giant Zero, Part 0.x
- Snappy Moves to New Platforms
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide