At the Sounding Edge: Using QSynth and QJackCtl
In last month's column, I introduced seq24, a minimal but powerful MIDI sequencer. The final screenshot for that column shows off seq24 at work here in Studio Dave. In that screenshot you can see two of my favorite Linux audio programs, Rui Nuno Capela's QJackCtl and QSynth. In this month's column, we look at those applications more closely to learn what they do and how you can use them in your own Linux MIDI music workstation.
QSynth and QJackCtl are GUI front-ends for other software. QSynth provides a friendly user interface for the fluidsynth soundfont-based synthesizer. QJackCtl supplies a similar interface for the JACK audio server/transport control system. Both applications use a recent version of the Qt graphics toolkit and up-to-date versions of their other required components. Complete instructions for installing and configuring QSynth and QJackCtl can be read on their respective Web sites (see Resources), and most of the necessary software is included in mainstream Linux distributions. JACK and fluidsynth typically are not found in mainstream distros, but the QSynth/QJackCtl Web sites include URLs for those and all other required parts.
When I refer to a feature of QSynth or QJackCtl in many instances the feature really belongs to the underlying application. The GUIs organize the available functions of fluidsynth and JACK for easier access and control, so for convenience I've written as though QSynth and QJackCtl are complete in themselves.
JACK is an audio server and transport control system designed for low-latency and robust performance up to professional levels of use. Given a properly tuned base system--low-latency kernel, optimized disk throughput and so on--client applications can be routed and connected freely, sharing audio data without dropouts and potentially working with synchronized transport control. The system has been adopted throughout the Linux audio development community and has become a necessary part of any modern Linux-based music and sound production system.
JACK can be launched and controlled from the command prompt. But, when working in X, it's much nicer to use a GUI to configure the parameters of the JACK system. QJackCtl provides that GUI.
If you're running an audio-optimized Linux system, such as AGNULA/Demudi or Planet CCRMA, QJackCtl either is activated by default or is available as a menu item. If you start QJackCtl from the command prompt you can add the --help option to see a few possible startup options.
Figure 1 shows off QJackCtl's main panel. Its buttons control the JACK system active state (start/stop/quit), messaging and status reports, device connection management, transport control (play/pause), the setup configuration and a program information pop-up. The main panel also includes a visual display of the information reported by the status button.
Click the Setup button to open the system configuration dialog shown in Figure 2. This article is not about JACK, so I am going to skip a detailed explanation of JACK's parameters. QJackCtl attempts to configure itself with sensible defaults, but you will be able to tune JACK for better performance as you learn more about its capabilities. (See the JACK reference materials for more information).
The Setup panel contains tabs for startup/shutdown scripts, font display settings and some miscellaneous options. The Display tab includes two items of special note, an option for connections to be drawn as Bezier curves and an option for renaming the clients and their ports. They may not seem so remarkable, but they are thoughtful and useful touches.
Assuming you have a working system, you now can click on the Start button to start using JACK. Figure 3 demonstrates QJackCtl at work with my M-Audio Delta 66. JACK typically handles only one soundcard at a time, so I have separate server configurations for my SBLive and Delta 66 cards. Figure 3 also shows the system status represented by the status panel and its visual display.
Now that we have a running JACK system, we can use it with QSynth. However, before making the connections, let's look at QSynth.
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!
- Google's Abacus Project: It's All about Trust
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- Seeing Red and Getting Sleep
- Secure Desktops with Qubes: Introduction
- Fancy Tricks for Changing Numeric Base
- Back to Backups
- Working with Command Arguments
- Secure Desktops with Qubes: Installation
- CentOS 6.8 Released
- Linux Mint 18
Until recently, IBM’s Power Platform was looked upon as being the system that hosted IBM’s flavor of UNIX and proprietary operating system called IBM i. These servers often are found in medium-size businesses running ERP, CRM and financials for on-premise customers. By enabling the Power platform to run the Linux OS, IBM now has positioned Power to be the platform of choice for those already running Linux that are facing scalability issues, especially customers looking at analytics, big data or cloud computing.
￼Running Linux on IBM’s Power hardware offers some obvious benefits, including improved processing speed and memory bandwidth, inherent security, and simpler deployment and management. But if you look beyond the impressive architecture, you’ll also find an open ecosystem that has given rise to a strong, innovative community, as well as an inventory of system and network management applications that really help leverage the benefits offered by running Linux on Power.Get the Guide