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

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

Simple MIDI Sequencer (SMS) is a free and libre software developed with Purr Data (an improved version of Pure Data Vanilla). SMS runs under Purr Data (to be installed), a free and libre development environment oriented objects, on at least free and libre GNU/Linux, as well as proprietary macOS and Windows operating systems.

Simple MIDI Sequencer (SMS) can be used as it is or freely modified – adapted by anyone to her/his particular needs/tastes (DIY – Do It Yourself).

Content of this article:

  • Simple Control Panel
  • General Purpose MIDI Sequencer & Player
  • MIDI Information Display
  • MIDI PC & CC Controllers
  • AUDIO/Voice Recorder & Player
  • MIDI & AUDIO Connections
  • SMS Alpha v.0.2.5 – Download

♦ Simple Control Panel

The Control Panel of Simple MIDI Sequencer is zoomable (14 levels) as well as full screen, without any definition loss. This allows anyone to find the right level of personal visualization in function of the screen size & resolution / the distance to the screen / her-his visual acuity / etc.

Simple MIDI Sequencer – Alpha v.0.2.5 | Simple but not simplistic Control Panel under GNU/Linux

SMS is a MIDI sequencer with SYSEX (System Exclusive) capability including an Audio Recorder/Player composed of 4 main modules (subpatchs): General Purpose MIDI Sequencer/Player + MIDI Information Display + MIDI PC & CC Controllers + Voice/Audio Recorder/Player. SMS can record a Live session from any MIDI equipment. SMS reads SMF files (Format 0 & 1) but saves files in MIDI Format 0 or Text (Purr Data format). SMS can record Audio/Voice from any available sources. For further flexibility, a MIDI patchbay and an Audio mixer are highly recommended. The possible combinations of use being multiple, we will introduce only some of them.

♦ General Purpose MIDI Sequencer & Player

This module deals with MIDI-IN and MIDI-OUT (Musical Instrument Digital Interface) messages.

Simple MIDI Sequencer – Alpha v.0.2.5 | Universal MIDI Sequencer in zoomed mode

• Quick Guide

REC (2x) records in PC RAM a MIDI performance or session from any MIDI equipment connected to SMS on 1 track with up to 16 channels (Format 0). ST ends the recording process.

PLAY plays a just recorded MIDI performance – session or a compatible MIDI file loaded in PC RAM from disk. PA pauses the playback, CO continues it and ST ends the playback process. The same file can be played in LOOP by clicking on the appropriate button.

SAVE File / LOAD File open the File Manager of the operating system which is used by the performer. MIDI Files can be saved as .mid (Format 0 SMF – Std MIDI File) or .txt (Purr Data format) or any .xyz extension (useful for differentiating between several MIDI equipment). Compatible Format 0+1 SMF + .txt or .xyz files can be loaded into SMS and then played back.

TEMPO during Playback can progressively change the speed between 40-240 BPM (range of 6x) or by step 40, 80, 120 (default), 180, 240 and 480 BPM ( range of 12x).

CHRONO displays either the Record or Play elapsed time in mm:ss. PA pauses and CO continues the Chrono.

BANNER indicates to the performer the operation which is in progress or the pressed button.

(?) displays in the Banner the Folder/File Name of the last Saved or Loaded file by the performer.

Panic! mutes All Sounding Notes on the connected MIDI equipment (it does it so regardless of notes release time or sustain).

♦ MIDI Information Display

This module displays in real time all relevant MIDI information useful for the performer during both Record and Playback sessions.

Simple MIDI Sequencer – Alpha v.0.2.5 | MIDI Display in zoomed mode

• Quick Guide

MIDI Source is selected either automatically by the sequencer or manually by the performer during Record or Playback. MIDI-IN can also be used by the performer to check the MIDI flow received by SMS from any MIDI equipment.

MIDDLE C Octave #, there is no consensus among MIDI manufacturers and users regarding Middle C numbering. For MMA and MIDI.org, Middle C is always Note Number #60. In SMS, the Performer can change the display of Middle C Octave numbering (range of +/- 2) accordingly to her/his preferences-needs.

French / English musical notation correspondence with MIDI note number

♦ MIDI PC & CC Controllers

This module sends in real time MIDI Program Change (PC) and Control Change (CC) messages to any MIDI equipment connected to SMS. PC has its own Channel Nb when All CC share the same Channel Nb.

Simple MIDI Sequencer – Alpha v.0.2.5 | PC & CC Controllers in zoomed mode

• Quick Guide

PC/CH sends Program Change Nb (0-127) on a given specific Channel (1-16).

VOL/EXP sends Control Change Nb (7 or 11) with CC Value (0-127) on a given common Channel (1-16).

BAL/PAN sends Control Change Nb (8 or 10) with CC Value (0-127) on a given common Channel (1-16).

HSliders 1-8 allows the performer to freely choose the Control Change Nb (0-127) for each slider. Then sends Control Change Nb with CC Value (0-127) on a given common Channel (1-16).

Panic! mutes All Sounding Notes on the connected MIDI equipment (it does it so regardless of notes release time or sustain).

RCtrls resets All Controllers to their default values on the connected MIDI equipment.

RST-Ctrls resets All graphic controllers to their default values in this module.

♦ AUDIO/Voice Recorder & Player

This Audio module can be used in Standalone mode or in Synchro mode with the MIDI sequencer. In both cases, the Audio is recorded (with CD quality) and saved directly to disk. DSP is automatically put in either ON or OFF mode when the performer is doing appropriate actions.

Simple MIDI Sequencer – Alpha v.0.2.5 | Audio Recorder/Player in zoomed mode

• Quick Guide

STANDALONE MODE: the performer can record Audio from any available source (microphone, line-in, S/W-audio-out, etc.) within his/her PC. An Audio mixer is highly recommended.

. REC opens the File Manager in SAVE mode of the operating system. Choose a folder, give a name to the file (with .wav, .aiff or .snd extension) and confirm your choice. This launch the Recording process. A click on Pause pauses the recording, a new click on it continues the session (X = Continue!). A new click on REC ends the recording process.

. PLAY opens the File Manager in LOAD mode of the operating system. Choose a folder and a compatible file (with .wav, .aiff or .snd extension) and confirm your choice. This launch the Playback process. A click on Pause pauses the playback, a new click on it continues the session (X = Continue!). A new PLAY ends the playback process. The same file can be played in LOOP by clicking on the appropriate button.

SYNCHRO MODE: the performer can record the Audio output of a loaded-played MIDI file into the MIDI sequencer awa sings and records on top of it.

. 1st LOAD a compatible MIDI file in the MIDI Sequencer.

. 2nd Switch MIDI Hradio to Y.

. REC acts as in above Standalone Mode. In add, when the MIDI file ends playing, it stops automatically the Audio recording process.

CHRONO displays either the Record or Play elapsed time in mm:ss. Pause acts as above in Standalone mode.

S-M switches Audio from Stereo to Monophonic.

RST resets All commands to their default values with DSP = OFF (Audio engine) for saving CPU utilization.

ioMONI echoes Audio-IN => Audio-OUT. It can be used with REC or just to monitor Audio-IN if you have an Audio mixer available in your PC or an external one.

♦ MIDI & AUDIO Connections

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

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

QjackCtl – 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.

♦ Simple MIDI Sequencer Alpha v.0.2.5 – Download

• Purr Data (Pd-l2ork) / An improved version of Pure Data Vanilla

To use this Free/Libre SMS project, PURR DATA must be first installed on your computer!
The current version is 2.10.0 of November 2019 which is compatible with GNU/Linux, macOS and Windows operating systems.

Purr Data is a graphical data-flow programming environment which is geared towards real-time interactive computer music and multimedia applications.

Purr Data is a full-featured open-source alternative to its commercial sibling, Cycling74’s Max.

See the following links to discover and install Purr Data:

• Free/Libre SMS (Simple MIDI Sequencer) Project

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. And you are ready to go!

Simple MIDI Sequencer / αlpha v.0.2.5

DOWNLOAD ===> simple-midi-sequencer-025.zip Build.200109 File size ~ 38 KB

• 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.

Simple MIDI Sequencer (SMS) | A general purpose MIDI Sequencer with embedded PC-CC & Audio functions

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

♦ Visit SMS dedicated page

for following the evolution of this MIDI/Audio project.

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