Linux MIDI: A Brief Survey, Part 3
Dr. Matthias Nagorni apparently is a tireless musician and Linux MIDI software developer who has given us one of the finest Linux synthesizers, his ALSA Modular Synth. He also has written a number of wonderful MIDI utilities, collectively known as Kalsatools.
QMidiArp is a MIDI arpeggiator. The programmable arpeggiator was one of the coolest features of analog modular synths. In principle, the arpeggiator was an early sequencer, recording a series of instructions for repeated and transposed pitches to be played automatically over single notes; arpeggiators were especially popular on monophonic synths. QMidiArp does the same thing in software, extending the original model to include as many arpeggiators as you like and adding the ability to include chords as parts of an arpeggiation. The program also is a multichannel/multiport-sensible ALSA sequencer client.
Figure 7 shows QMidiArp processing a demonstration file provided by the good doctor, but no mere screenshot can give you any idea what QMidiArp actually does. You have to download it and and hear it for yourself.
QMidiControl (Figure 8) is a simpler utility. In its default configuration QMidiControl displays a bank 16, numbered sequentially 1 through 16. The number of faders in the bank can be increased with the --num_controller option, and the initial numbering can be offset with the --offset flag. QMidiControl is indeed a simple program, representing only the numbered MIDI controllers--that is, no sysex or pitch bend--but you may find it quite helpful if your synthesizer responds to MIDI controllers but lacks the physical knobs and sliders. QMidiControl is useful especially when configured for use with Dr. Nagorni's QAMix, a MIDI-controllable soundcard mixer.
QMidiRoute is a MIDI mapper. It receives a certain type of MIDI message and converts it to another type. Mapping can be quite useful: for example, you could map the note velocity to a controller that affects a reverb parameter, creating a reverberation that "follows" the note event velocity.
The screenshot in Figure 9 shows QMidiRoute configured to convert a stream of pitch-bend messages to MIDI notes (Map 1) and, simultaneously, to a stream of MIDI controller messages for controller #7, the MIDI volume controller (Map 2). The volume control response is reversed, so when the pitch-bend wheel is turned down it produces a chromatic stream of notes that get louder as they go lower. Turning the wheel upwards, the volume decays as the pitches rise.
I leave it to the reader to imagine other uses for QMidiRoute. A MIDI mapper can be a useful tool, and I hope to see more development of this program.
The ALSA MIDI sequencer API refers to something rather different from the MIDI sequencers I profiled in last month's column. Programs that subscribe to the ALSA sequencer API can function as freely connectable clients of each other, allowing multiple simultaneous connections to and from a single resource (MIDI multiplexing). Management of these connections is possible with the ALSA aconnect command-line tool utility, but the graphic MIDI patch bay is easier to use. It makes connections instantly and clearly displaying the state of all your MIDI connections.
Some of the screenshots in this series already have shown off the MIDI connections panel in Rui Nunez Capela's QJackCtl, an all-purpose GUI for connecting clients of the JACK audio server and the ALSA MIDI sequencer. Other graphic interfaces for connecting ALSA sequencer clients include Bob Hamm's ALSA Patch Bay (Figure 10), Matthias Nagorni's KAconnect (Figure 11) and Maarten De Boer's aconnectgui (Figure 12).
Similis sum folio de quo ludunt venti.
Webinar: 8 Signs You’re Beyond Cron
On Demand NOW
Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.View Now!
|Non-Linux FOSS: Vienna, Not Just for Sausages||Jun 02, 2015|
|June 2015 Issue of Linux Journal: Networking||Jun 01, 2015|
|June 2015 Video Preview||Jun 01, 2015|
|My Humble Little Game Collection||May 28, 2015|
|New Linux Based OS Brings Internet of Things Closer to Reality||May 27, 2015|
|Non-Linux FOSS: All the Bitcoin, None of the Bloat||May 26, 2015|
- June 2015 Issue of Linux Journal: Networking
- Non-Linux FOSS: Vienna, Not Just for Sausages
- New Linux Based OS Brings Internet of Things Closer to Reality
- Dr Hjkl on the Command Line
- Initializing and Managing Services in Linux: Past, Present and Future
- Using Hiera with Puppet
- My Humble Little Game Collection
- Gartner Dubs DivvyCloud Cool Cloud Management Vendor
- Download "Linux in the Time of Malware"
- Infinite BusyBox with systemd