Simple MIDI Sequencer (SMS)

• Simple MIDI Sequencer (SMS) is a real-time MIDI & Audio Sequencer offering all the basic functions needed by amateur musicians for easily recording (keyboard, synthesizer, voice, etc.) and playing back their performances on any computer (Home Studio).

Simple MIDI Sequencer (SMS) est un séquenceur MIDI & Audio temps réel offrant toutes les fonctions de base nécessaires aux musiciens amateurs pour enregistrer facilement (clavier, synthétiseur, voix, etc.) et reproduire leurs performances sur n’importe quel ordinateur (Home Studio).

NOTE that SMS is not aimed to be a professional piece of software but rather a ‘home made’ one (DIY – Do It Yourself) serving the purpose to democratize software coding by using a free/libre visual programing environment that everyone can master.

REMARQUE : SMS n’est pas destiné à être un logiciel professionnel mais plutôt un logiciel « fait maison » (DIY – Do It Yourself) servant à démocratiser le codage logiciel en utilisant un environnement de programmation visuelle libre/gratuit que tout le monde peut maîtriser.

Simple MIDI Sequencer is a free/libre (open source) software published under GPL v3 license written with Purr Data (Pd-l2ork v2), an improved fork (with a modern HTML5 GUI written in JavaScript using NW.js) of Pure Data Vanilla.
SMS is a cross-platform project and it is working with the same features under at least free/libre GNU/Linux, proprietary macOS and Windows operating systems.

Simple MIDI Sequencer est un logiciel libre (à code source ouvert) publié sous licence GPL v3 écrit avec Purr Data (Pd-l2ork v2), un fork amélioré (avec une interface graphique HTML5 moderne écrite en JavaScript utilisant NW.js) de Pure Data Vanilla.
SMS est un projet multi-plateforme et il fonctionne avec les mêmes fonctionnalités sous au moins les systèmes d’exploitation libres GNU/Linux, et propriétaires macOS et Windows.

• Performers who are willing to test the SMS project and to give feedback are the welcome!

Les performeurs qui sont désireux de tester le projet SMS et de donner un retour d’information sont les bienvenu·e·s !

◊ Table of contents

SMS project under GNU/Linux

Simple MIDI Sequencer – v.0.2.21 | A simple Control Panel under GNU/Linux (zoom level x9)

♦ SMS Main Features

A cross-platform & general purpose MIDI/Audio Sequencer for your Home Studio (CAM) tested with M-Audio Midi/USB interfaces (MidiSport Uno 1×1 & MidiSport 2×2 AE).

  • Modular design architecture allowing easy reuse of modules (patch/sub-patch) in other projects
  • 5 main modules with GOP (Graph-on-Parent – GUI): [pd seq] + [pd display] + [pd ctrls] + [pd audio] + [pd dt]
  • 3 additional modules (without GOP): [pd help] + [pd tools] + [pd license]
  • [pd seq] — MIDI-In/Out Sequencer for real-time performances
    • Record 1x Track / 16x Channels + SYSEX (System Exclusive)
    • Play SMF (Standard MIDI File) Formats 0 (mono-track) + 1 (multi-tracks) and .txt files (Purr Data)
    • Read/Write MIDI files (.mid, .kar & .txt) from/to HDD-SSD-USB
    • Playback Tempo from 40 to 240-480 BPM
    • Record/Play Chronograph (mm:ss)
    • Banner for SMS messages to the performer
  • [pd display] — Display MIDI-In/Out activity & messages in real-time
    • Notes channel / number / velocity / after-touch / breath / name / octave, Control Changes channel / number / value, Program Changes channel / number, SysEx flow
  • [pd ctrls] — MIDI-Out 1x Program Change (PC) + 12x Control Change (CC) Controllers
    • Send predefined & user defined Controllers messages to external MIDI equipment: CC channel / number / value (MSB & LSB) & PC channel / number
  • [pd audio] — Audio/Voice Recorder/Player (direct-to/from-disk)
    • Record/Play stereo Audio tracks (CD quality)
    • Read/Write Audio files (free/libre .ogg, Microsoft .wav, Apple .aif, Sun/Next .au and .snd)
    • Synchronized Copy of MIDI-to-Audio file
    • Recorder/Player Stereo Graphs & Vu-Meters
    • Record/Play Chronograph (mm:ss)
  • [pd dt]  — Display current Date & Time (useful when SMS is in full screen)
  • [pd help] — An embedded help on how to use SMS
  • [pd tools] — Several useful MIDI/Audio tools
  • GUI with 15x Zoom levels + Full screen
  • Compatible with GNU/Linux + macOS + Windows Operating systems (Thanks to Purr Data)

SMS project with a fixed window size under GNU/Linux

Simple MIDI Sequencer – v.0.2.20 | A simple Control Panel under GNU/Linux with Zoom levels x1 – x6 – x13

♦ SMS Current Version as of 2020/05/11

• The current version of SMS is the 0.2.21 (5th release – 2nd βeta).

DOWNLOAD ===> Build.20200511 File size ~ 45 KB

SMS’s GUI is optimized for 16/9 screens with 1,920 x 1,080 resolution. As its GUI is freely zoomable on 15 levels + full screen without any definition loss, the performer can easily adapt it to her/his specific screen/taste. Bigger will be the screen better will be the readability.
As for all MIDI/Audio environment and Home Studio, I suggest to split SMS and the associated software across multiple screens and/or multiple virtual desktops (like under GNU/Linux systems).

• Purr Data

NOTE that before using Simple MIDI Sequencer (SMS)Purr Data v.2.10.1 or higher (a free graphical data-flow programming environment which is geared towards real-time interactive computer music and multimedia applications) must be installed on your computer under:
– either GNU/Linux with the recommended OBS/JGU (Open Build System / Johannes Gutenberg University) procedure,
– or Apple macOS or Microsoft Windows.

Make sure to read at least the following chapters of Purr Data Installation for setting up your fresh install:
  • macOS & Windows
  • GNU/Linux
  • Running Purr Data: First-Time Setup, macOS and Windows Users, Linux Users, Using JACK MIDI with Purr Data
  • – as well as- ‘Meet the Cat’ Tutorial – A quick introduction to Purr Data, how it came about, and how to use it, including Configuration: Audio and MIDI Devices, GUI and Startup Options and Getting Help

Purr Data Audio/MIDI Preferences & Test

Simple MIDI Sequencer — Purr Data | Configure the Audio & MIDI inputs and outputs, GUI and Startup (here an example under GNU/Linux)

• SMS zipped file

The SMS project consists of 2 files: the program itself (a main module with about 8 integrated sub-modules) and a SMS image. The whole thing weighs only about 46 KB zipped and 120 KB unzipped, of which 1/6th is for the image. These 2 files, after decompression, are to be deposited into the same folder of your choice on your computer.
Once on your computer with Purr Data installed, to run SMS, simply double-click on its *.pd file which will first launch Purr Data and then the program itself. And you are ready to go!

As always, the SMS project 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 to your MIDI/Audio environment.

• The SMS project is a Work in Progress (WIP)…

Home Studio (CAM) with SMS in action under GNU/Linux

Simple MIDI Sequencer v.0.2.21 – Purr Data 2.10.1 (with Pure Data 0.48.0 engine) under Ubuntu Studio 20.04 LTS — in action associated with Qsynth + SoundFont .sf2 + VMPK (1st virtual desktop)

An example of how Simple MIDI Sequencer can be used in a Home Studio (computer-aided music) under GNU/Linux. The same thing can be also achieved under macOS and Windows.

Simple MIDI Sequencer v.0.2.21 – Purr Data 2.10.1 (with Pure Data 0.48.0 engine) under Ubuntu Studio 20.04 LTS — in action associated with Ubuntu Studio Controls + Carla + QasMixer + MidiSnoop (2nd virtual desktop)

♦ SMS Releases History & Changes Log

• 2020/05/11 — Download: Simple MIDI Sequencer (SMS) v.0.2.21
   with Audio Recording/Playing capability and cross-platform

  • 5th release – 2nd βeta
  • [pd seq] & [pd audio] — These 2 modules have been reorganized into Russian (nested) dolls architecture (GOP + separated main program) for better real-time performances (less stress on CPU load), especially when moving the mouse across them.
  • [pd tools] — Added MIDI Channel Status / HEX-to-DECIMAL Converters which will help you to find the right decimal values to put in Note, CC, PC and so on messages. They can also be used for manual entry into a MIDI.txt file (compatible with SMS / Purr Data) using a simple text editor.
  • [pd help] — Its content was updated.
  • Minor bugs fix & some tweaks added.
  • Known bug — GUI Zoom Out: Ctrl (+) keys combination is not working as expected on non-QWERTY keyboards but rather adds a [dropdown] object to SMS. This is a Purr Data bug which will be fixed later. Until then, the best is to use Ctrl (+) Mouse wheel for GUI Zoom In/Out.

• 2020/02/13 — SMS v.0.2.12

  • 4th release – 1st βeta
  • The Control Panel is zoomable on 15 levels plus full screen, without any definition loss. This is true on all the 3 supported operating systems: GNU/Linux, macOS and Windows. Thanks to Purr Data’s modern GUI which is using the latest Web technology.
  • Manually create and/or edit a MIDI.txt file compatible with SMS.
  • MIDI Flow Display was completed by adding an On/Off switch, a MIDI-In/Out (Midi-Thru) capability and the possibility to display SysEx-In traffic (if any).
  • Tips about free/libre Music Engraving Software.
  • Audio/Voice Recorder & Player support now two kind of codecs:
    – 1st one is for .ogg (free and open format) sound files, and
    – 2nd one is for .wav (Microsoft) + .aif (Apple) + .au & .snd (Sun) sound files.
    This module can also playback compatible sound files which were recorded with other audio recorders.
  • Audio/MIDI Toolbox has now Midi-In On/Off switches for both Chords Detector/Guesser and Midi-To-Frequency Converter tools.

• 2020/01/30 — SMS v.0.2.9

  • 3rd release – αlpha
  • Audio Module
    • A second VU-Meter was added. Now VUs display both left and right audio channels level.
    • The Stereo/Mono switch works now correctly in all Recording / Playing / Monitoring modes.
  • Some minor tweaks have been also done by adding dedicated status Leds for REC/PLAY in both Sequencer and Audio modules.
  • MIDI/Audio Tools module was added offering 4 useful functions to the performer:
    • Chords Detector/Guesser
    • Notes Scaler
    • MIDI-to-Frequency Converter
    • Frequency-to-MIDI Converter

• 2020/01/19 — SMS v.0.2.7

  • 2nd release – αlpha
  • Universal MIDI Sequencer
    • A RST (reset button) was added.
    • Now LOAD File / SAVE File stop the Recording / Playing operation in progress, if any.
  • MIDI Flow Display
    • Bug fix: wrong display of the Octave Nb if it was different of Middle C = 4. The Octave range has also been extended from 8 to 9 by adding one low octave.
    • SX-IN (system exclusive) values display was added as SMS can also record SYSEX messages, in add to standard MIDI messages (Notes, PC, CC).
  • MIDI PC & CC Controllers: The performer can now set up individually the Channel Nb for each of the 5 pairs of CC (Control Change) controllers. This allows, when needed, for the 4 pairs of CC (1-8) to easily manage the MSB/LSB values for a given pair of CC.
  • Audio/Voice Recorder/Player
    • It can be used in Standalone or in Synchro mode (the MIDI switch) with the MIDI sequencer. In both cases, the Audio is recorded (with CD quality) and saved directly to disk. DSP (the Audio engine of Purr Data) is automatically put in either ON or OFF mode when the performer is doing appropriate actions.
    • Bug fix: a constant time shift of 2 seconds in both Recording and Playing mode.

• 2020/01/10 — SMS v.0.2.5

  • 1st release – αlpha
  • POC – Proof of concept

♦ SMS Screen Captures

SMS MIDI/Audio configuration under GNU/Linux
with M-Audio Uno + VMPK + Catia (Cadence) + jackEQ + Qsynth

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

SMS MIDI/Audio configuration under GNU/Linux
with M-Audio Uno + Patchage + jackEQ + Qsynth

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

SMS Midi-to-Audio copy under GNU/Linux
with Virtual Midi Piano Keyboard (VMPK)

Simple MIDI Sequencer – Alpha v.0.2.7 in action with VMPK (Virtual MIDI Piano Keyboard) v.0.7.1


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