Simple MIDI Sequencer (SMS) v.0.2.9 with Audio capability (cross-platform)

SMS is a real-time MIDI & Audio Sequencer offering all the basic functions needed by musicians for easily recording and playing back their performances on any computer

See the previous articles about Simple MIDI Sequencer v.0.2.5 & 0.2.7.

They introduce this free/libre (FLOSS) cross-platform software, present its working principle, show the full connection diagram of each module (subpatch), give examples of MIDI/Audio connections and use with VMPK (Virtual MIDI Piano Keyboard), and explain the system requirements for smoothly running it on any computer (GNU/Linux, macOS or Windows operating system).

Content of this article about SMS v.0.2.9

  • Simple Control Panel (zoomable) – Update
  • Audio/Voice Recorder/Player (full connection diagram) – Update
  • SMS with Catia (a JACK Patchbay with A2J Bridge integration) – New
  • MIDI/Audio Tools (full connection diagram) – New
  • SMS Alpha v.0.2.9 – Download
  • SMS’s future improvements

This new version 0.2.9 of Simple MIDI Sequencer introduces some bugs fix and functions improvement as well as it’s strengthening its overall functioning (mainly Audio module).

As always, SMS can be used as it is or freely modified – adapted by anyone to her/his particular taste. Do It Yourself (DIY) and tailor Simple MIDI Sequencer to your particular needs and MIDI/Audio environment.

♦ Simple Control Panel (zoomable) – Update

The most visible improvement has been made in the Audio Module with the introduction of a second VU-Meter. Now VUs display both left and right audio channels level.

Some minor tweaks have been also done by adding dedicated status Leds for REC/PLAY in both Sequencer and Audio modules.

Simple MIDI Sequencer – Alpha v.0.2.9 | Simple -but not simplistic- Control Panel under GNU/Linux (zoom level x10)

♦ Audio/Voice Recorder/Player – Update

Now, the Audio module has 2 VU-Meters and the Stereo/Mono switch works correctly in all Recording / Playing / Monitoring modes.

The ioMONI switch (Audio Monitoring) has been improved. In Playing mode, it’s now ineffective. In Recording mode, it can connect the Audio-IN port to the Audio-Out port. The same can be achieved even when not in Recording mode. The last one is useful when the performer can’t use a dedicated Audio mixer.

The REC & PLAY Pau (Pause) buttons are now following Purr Data (Pure Data) GUI rules, i.e. X = function activated (it was the opposite in previous releases, so it was confusing).

Simple MIDI Sequencer – Alpha v.0.2.9 | Audio/Voice Recorder/Player (full connection diagram)

Note that the Audio module can record any internal or external audio source available to SMS.

♦ SMS with Catia – New

Catia (a member of Cadence bundle from KXStudio) is a nice JACK Patchbay, with some neat features like A2J (ALSA to JACK) Bridge support and JACK Transport. It’s supposed to be as simple as possible, so it can work nicely on Linux and non-Linux platforms. It’s compatible with GNU/Linux and Windows.

Catia is an alternative to Patchage which is running under GNU/Linux and macOS but not Windows.

Simple MIDI Sequencer – Alpha v.0.2.9 | MIDI & AUDIO Test configuration under GNU/Linux with Catia

This is one example of possible MIDI/AUDIO connections under GNU/Linux using Catia and jackEQ (a JACK mixer for routing and manipulating Audio from/to multiple input/output sources including a simple 3 bands equalizer).

QjackCtl (GNU/Linux) / Jack Control (Windows) – JACK Audio Connection Kit – Qt GUI Interface – provides a simple GUI dialog for setting several JACK daemon parameters, which are properly saved between sessions, and a way to control the status of the Audio server daemon. With time, this primordial interface has become richer by including an enhanced Audio/MIDI patchbay and connection control features (can be used instead of or with Catia).

♦ MIDI/Audio Tools – New

This new module, accessible from the Control Panel by [pd tools], offers 4 useful functions to the performer:

  • Chords Detector/Guesser – from any MIDI source (like a keyboard, a synth or a file)
    It tries to detect in real time as many chords (notes + chord name) as possible (few hundreds) like:
    – ‘C : C unison’ -or- ‘Eb : Eb unison’ -or- ‘F# : F# unison’, …
    – ‘E G# B : E major’ -or- ‘C Eb : C minor’ -or- ‘G F# : G major F 7th’, …
    – ‘E G B D# : E minor/major 7th’ -or- ‘Eb G B : Eb augmented’ -or- ‘E G# B D# A : E major 11th’, …
    – And so on…
  • Notes Scaler – from Input range slider to Output range slider
    The [notescale] object scales a stream of numbers (input slider range 0-1) to a MIDI note numbers (output range slider 0-127 or performer defined range).
  • MIDI-to-Frequency Converter – from any MIDI source or manual entry (number) -to- AUDIO (DSP)
    The [mtof] object transposes a Midi value into a Frequency in Hertz, so that ’69’ goes to ‘440’. You can specify microtonal pitches as in ‘69.5’ (a quarter tone higher than 69).
  • Frequency-to-MIDI Converter – AUDIO manual entry (number) -to- any MIDI equipment
    The [ftom] object transposes a Frequency in Hz into a Midi value, so ‘440’ goes to ’69’. For microtonal control, see the comment in the here below screen capture.

If needed, these functions can be easily modified for adapting them to a particular purpose.

Simple MIDI Sequencer – Alpha v.0.2.9 | MIDI/Audio Tools

If the performer is often using one or more of them, these functions can be directly integrated within the SMS Control Panel with its-their own GUI.

♦ SMS Alpha v.0.2.9 – Download

Once Purr Data v.2.10.0 or higher is installed on your computer and tested (Menu -> Media -> Test Audio & Midi), you can download the SMS project below.
Unzip the folder and put its 2 files (program + image) in the same directory of your choice on your computer under GNU/Linux, macOS or Windows operating system. And you are ready to go!

• Simple MIDI Sequencer / αlpha v.0.2.9b

DOWNLOAD ===> simple-midi-sequencer-029b.zip Build.20200202 File size ~ 42 KB

Note that the αlpha version 0.2.9b (build 20200202), versus the v.0.2.9 (build 20200129), fixes some minor issues with the MIDI-to-AUDIO copy mechanism.

• Bugs Tracker / Wish List

Feel free to report about your installation and usage concerns, the bugs you may encounter and suggestions you can have for improving the SMS project. My email address is inside the program. If you have any questions before that, go through the form on the Contact page of this site.

♦ SMS’s future improvements

The following list is based on wishes expressed by many performers. They seem to be realizable in future releases of Simple MIDI Sequencer (which must remain ‘as simple as possible’).

  • Audio Recorder/Player module: Add a free and open source audio format for both Record and Playback.
    Currently the choice is going for Vorbis within the same module or in a separate one. The project produces an audio coding format and software reference encoder/decoder (codec) for lossy audio compression (better in terms of quality and compression rate than MP3 format). Vorbis is most commonly used in conjunction with the Ogg container format and it is therefore often referred to as Ogg Vorbis (*.ogg files).
  • Display module: Add the possibility to switch off the module, to display the SysEx-Out traffic (if any) and also to have a Midi-In/Out (Midi-Thru) capability.
  • [pd tools] module: Add Midi-In On/Off switch to both Chords Detector and Midi-To-Frequency Converter.
  • MIDI Sequencer/Player module: Add a Piano Roll capability, at least for displaying played MIDI notes.
    Currently the thinking is going to do it within an additional module due to the complexity of the function to be implemented and the needed displaying space.
    Remember that VMPK (Virtual Midi Piano Keyboard) can be used (single or multiple instances) with SMS for playing both Midi-In notes as well as Midi-Out notes.

…Simple MIDI Sequencer (SMS) is a Work in Progress…

Read next ⇒ Simple MIDI Sequencer (SMS) v.0.2.12 with Audio Recorder (cross-platform)