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 (Computer-aided music – Home Studio).

[FR] 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 (Musique assistée par ordinateur – Home Studio).

• Last update / Dernière mise à jour : 23 September 2020

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.

[FR] REMARQUE : SMS n’est pas destiné à être un logiciel professionnel mais plutôt un logiciel « fait maison » (DIY – Faites-le par vous-même) servant à démocratiser le codage logiciel en utilisant un environnement libre/gratuit de programmation visuelle 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. The GUI of Purr Data is available in 3 languages: English (default), French and German.
SMS is a cross-platform project and it is working with the same features under at least free/libre GNU/Linux, and proprietary macOS & Windows operating systems.

[FR] 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. L’interface graphique utilisateur de Purr Data est disponible en 3 langues : allemand, anglais (défaut) et français.
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 & Windows.

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

[FR] 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 — Au sommaire

SMS project: here under GNU/Linux

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

♦ SMS Main Features — Principales caractéristiques

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).
[FR] Un séquenceur MIDI/Audio multi-plateforme et polyvalent pour votre Home Studio (MAO) testé avec les interfaces M-Audio Midi/USB (MidiSport Uno 1×1 et MidiSport 2×2 AE).

  • Compatible with at least GNU/Linux + macOS + Windows Operating systems (Thanks to Purr Data)
  • Modular design architecture allowing easy reuse of modules (patchs/sub-patchs) 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 (Type 0) + SYSEX (System Exclusive)
    • Play SMF (Standard MIDI File) Types 0 (mono-track) and 1 (multi-track) & Text files (Purr Data) + SYSEX (System Exclusive)
    • 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) up to several hours
    • Banner for SMS messages (MIDI & Audio) 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 (CC) channel / number / value, Volume and Expression (CC) levels, Program Changes (PC) 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 with CD quality
    • Write/Read Audio files: free/libre .OGG (Vorbis), Microsoft .WAV, Apple .AIF, Sun/Next .AU and .SND
    • Write Audio files: .MP3 (but Read .MP3 is not available yet!)
    • Synchronized Copy of MIDI-to-Audio files: Read MIDI (from-RAM) => Write Audio (to-Disk)
    • Recorder/Player Stereo Graphs & Vu-Meters
    • Record/Play Chronograph (mm:ss) up to several hours
  • [pd dt]  — Display current Date & Time (useful when SMS is in full screen view)
  • [pd help] — An embedded help on How-To use SMS (only in English today)
  • [pd tools] — Several useful MIDI/Audio tools
  • GUI with 15x Zoom levels + Full screen view

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/09/20

• The current version of SMS is the 0.2.40 (7th release – 4th βeta).

DOWNLOAD ===> simple-midi-sequencer-0240.zip Build.20200920 File size ~ 55 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 (thanks to its SVG GUI), 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 you to split SMS and the associated software across multiple screens and/or multiple virtual desktops (like under GNU/Linux systems).

[FR] L’interface graphique de SMS est optimisée pour des écrans 16/9 avec une résolution de 1.920 x 1.080. Comme son interface graphique est librement zoomable sur 15 niveaux + plein écran sans aucune perte de définition (grâce à son interface SVG), le performeur peut facilement l’adapter à son écran/goût spécifique. Plus grand sera l’écran, meilleure sera la lisibilité.
Comme pour tout environnement MIDI/Audio et Home Studio, je vous suggère de diviser SMS et les logiciels associés sur plusieurs écrans et/ou plusieurs bureaux virtuels (comme sous les systèmes GNU/Linux).

• Purr Data (Pd-L2Ork v.2)

Purr Data — Walking Cat

NOTE that before using Simple MIDI Sequencer (SMS)Purr Data v.2.14.2 or higher (a free/libre graphical data-flow programming environment which is geared towards real-time interactive computer music and multimedia applications) must be installed (~ 100 MB) 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,
as Simple MIDI Sequencer is running inside Purr Data.

[FR] Nota bene : Avant d’utiliser Simple MIDI Sequencer (SMS), Purr Data v.2.14.2 ou version ultérieure (un environnement libre de programmation de flux de données graphiques qui est orienté vers des applications de musique et multimédia interactives en temps réel) doit être installé (~ 100 Mo) sur votre ordinateur (GNU/Linux, macOS ou Windows) comme Simple MIDI Sequencer s’exécute à l’intérieur de Purr Data.

Make sure to read at least the following chapters of Purr Data Installation for setting up your fresh install:

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 55 KB zipped and 135 KB unzipped, of which 1/5th for the image. These 2 files, after decompression, are to be deposited into the same folder of your choice on your computer (GNU/Linux, macOS or Windows). 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.

[FR] Le projet SMS se compose de 2 fichiers : le programme lui-même (un module principal avec environ 8 sous-modules intégrés) et une image SMS. Le tout ne pèse qu’environ 55 Ko zippé et 135 Ko décompressé, dont 1/5ème pour l’image. Ces 2 fichiers, après décompression, sont à déposer dans le même dossier de votre choix sur votre ordinateur (GNU/Linux, macOS ou Windows). Une fois sur votre ordinateur avec Purr Data installé, pour lancer SMS, double-cliquez simplement sur son fichier *.pd qui ouvrira d’abord Purr Data puis le programme lui-même. Et vous êtes prêt à passer en mode utilisation !

Comme toujours, le projet SMS peut être utilisé tel quel ou librement modifié – adapté par n’importe qui à son goût spécifique. Faites-le par vous-même (DIY) et adaptez Simple MIDI Sequencer à vos besoins particuliers et à votre environnement MIDI/Audio.

• The SMS project is a Work in Progress (WIP)…
   [FR] Le projet SMS est un travail en cours…

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/09/20 — Download ==> Simple MIDI Sequencer (SMS) v.0.2.40
   with Audio Recording/Playing capability and cross-platform

  • 7th release – 4th βeta
  • [all modules] –Cosmetic improvements including colors changes code
  • [pd audio]Added MP3 codec support for recording Audio from any available source (synthesizer, microphone, etc.) to SMS while writing-saving it directly to disk
    Note that reading-playing MP3 files is not supported yet! (could come later on)
  • [pd seq] — The banner will now display the MIDI file name.ext during playback
  • [pd seq] — In this module the banner for the MIDI messages to the performer will now also display the Audio messages when actions are done within [pd audio]
  • [pd display] — Now by default the MIDI messages on CHannel 10 (Drums) are not displayed. If the performer wants to add it to the MIDI messages flow, she/he can switch the Vradio to the ON_10 position for doing so.
  • [pd display] — The display of CHannel number has been added to CC Nb-Val and PC Nb
• 2020/09/14 — Download ==> Simple MIDI Sequencer (SMS) v.0.2.30
  • 6th release – 3rd βeta
  • [all modules] — Cosmetic improvements
  • [pd display] — Added a vertical slider for displaying both Volume (CC 7) and Expression (CC 11) levels (0-127) on all channels (1-16)
  • [pd audio]Both VU-Meters have been recalibrated as they were displaying incorrect dB values and now the Graphs gain is not impacting anymore the dB levels
  • GUI Zoom-Out — In Purr Data v.2.13+ the Ctrl (+) keys combination bug has been frozen on non-QWERTY keyboards. Now, use Ctrl (+) Mouse wheel for GUI Zoom In/Out.
  • Minor bugs fix & some tweaks added
• 2020/05/11 — Download: Simple MIDI Sequencer (SMS) v.0.2.21
  • 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

Playing MIDI files with SMS: Associated software

Lecture de fichiers MIDI avec Simple MIDI Sequencer et QJackCtl (serveur Audio JACK) + QSynth (gestion de SoundFonts) + VMPK (affiche les notes MIDI lues) + JMeters (affiche niveaux Audio JACK) sous Manjaro Linux 20 (Bureau n° 1)

Playing MIDI files with SMS: ALSA/JACK configuration example

Configuration ALSA/JACK pour la lecture de fichiers MIDI avec Simple MIDI Sequencer sous Manjaro Linux 20 (Bureau n° 2)

SMS MIDI/Audio configuration example under GNU/Linux:
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 example under GNU/Linux:
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