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.
- Readers' Choice Awards 2013
- Mars Needs Women
- RSS Feeds
- New Products
- Sublime Text: One Editor to Rule Them All?
- December 2013 Issue of Linux Journal: Readers' Choice
- IBM Will Minimize Impact of Future Disasters
- Raspberry Pi: the Perfect Home Server
- Linux Systems Administrator
- Multi-Booting the Nexus 7 Tablet
- why is GNOME 3 in the fifth position at 14.1 %?
1 hour 51 min ago
- Sublime Is Brilliant!
6 hours 54 min ago
7 hours 13 min ago
- Rapid[Disk,Cache] better than native ram caching?
7 hours 38 min ago
- Nothing is perfect
7 hours 52 min ago
- Mixtapes Community
13 hours 30 min ago
- KDE is one true DE
14 hours 5 min ago
- Command Line Shells (Bash, Zsh, etc.) are 2nd place
14 hours 33 min ago
16 hours 28 min ago
- yes it's Jupiter Broadcasting
17 hours 48 min ago