Music Disk Recorder Emulator+ (MDR-E+)

Music Disk Recorder Emulator+ (MDR-E+) = An improved, free/libre and cross-platform software emulator of the Yamaha MDR-3 (Music Disk Recorder) expander built with Purr Data

MDR-E+ is a free & open source software published under GPL v3 license written with Purr Data (Pd-l2ork v2), an improved fork (with a modern GUI written in JavaScript using NW.js) of Pure Data Vanilla.

Purr Data v.2.10.0 (Pd-l2ork v.2) is a free & open source visual programming environment for real-time music and multimedia creation using Pure Data Vanilla v.0.48-0 engine and carrying on an HTML5 GUI (the last major revision of HTML). It is cross-platform and working at least under GNU/Linux, macOS and Windows operating systems.

The MDR-3 expander was targeting (at least) the owners of the vintage Yamaha Electone HS Series (Hi-Style MIDI electronic organs).
See the brochure: in English – in French.

The Control panel of the original Yamaha MDR-3

MDR Emulator+ | An improved, Free/Libre and multi-platform S/W emulator of the Yamaha MDR-3 expander

• The current version of MDR-E+ is the 0.3.4 (αlpha 4th release).

DOWNLOAD ===> Build.20191124 File size ~ 130 KB

MDR-E+’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.

Before using MDR-E+ under GNU/Linux, macOS or Windows, Purr Data v.2.10.0 or higher must be installed on your computer. The MIDI project consists of 2 files: the program itself (a main module with about 20 integrated sub-modules) and an Electone HS image. The whole thing weighs only about 400 KB, of which 1/4 is for the image. These 2 files, after decompression, are to be deposited into the folder of your choice on your computer.
Once on your computer, to run MDR-E+, 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 MDR-E+ project can be used as it is or freely modified – adapted by anyone to her/his particular taste. Do It Yourself (DIY) and tailor Music Disk Recorder Emulator+ to your particular needs and to your MIDI/Audio environment.

MDR-E+ under GNU/Linux

Yamaha MDR Emulator+ – Alpha v.0.3.4 | The last version of the improved Control Panel under GNU/Linux

The MDR-E+ project is now in STAND-BY!

Why that? To make it short…
Purr Data (currently version 2.10.1) has still serious ongoing issues with the proper management of real-time MIDI and Audio data. So, in these conditions it’s making no sense to pursue further the development of this project. It should return to life when the developers of Purr Data will have fixed these major issues, sooner or later.
To date, there is no plan from their side…

Short explanation of one of these major Purr Data’s issues

Purr Data has several big issues with the real-time MIDI & Audio data management. The problems are increasing as the project is getting bigger. One of them is a very bad handling of the mouse leading to increase abnormally the CPU load as you just move the mouse on the top of the project’s control panel, up the complete freeze of the project!

Then, when I’m effectively running (with EditMode = Off) such or such GOP(s), the situation is getting worse and worse, leading very quickly to continuous erroneous MIDI values, audio glitches from short to long, random freezes of few seconds and finally totally freezing the whole project by just moving the mouse over the GOPs. This is an undocumented and hidden feature of Purr Data!

Purr Data 2.10.1 / All GOPs = IDLE (except [pd dt]) / DSP = OFF => Moving the Mouse => See the very unexpected bad impact on CPU load on the following 2 screen captures.

It’s the same very bad behaviour under GNU/Linux (Linux Mint 19.3) with/without JACK as well as under Windows 10 (v.1909) with/without JACK or ASIO. There is no error or warning mentioned in the Purr Data’s Console.

a- with EditMode = OFF (Purr Data + System Monitor together)

Yamaha MDR Emulator+ – Alpha v.0.3.21 | Major real-time issues with Purr Data 2.10.1 just when moving the mouse!

b- with EditMode = OFF (Purr Data + Htop alone)

Yamaha MDR Emulator+ – Alpha v.0.3.21 | Major real-time issues with Purr Data 2.10.1 just when moving the mouse!

Once above major dysfunctions will have been fixed by Purr Data’s developers…

We could expect that MDR-E+ will include various improvements and bugs fixes as well as new major functionalities, which are not available on the physical MDR-3 expander, like:
  • an Electone HS Voices Volume & Balance module,
  • a MIDI Channels Transposition module,
  • an Audio/Voice Recorder & Player module, and
  • an Audio Effects & MIDI Chords Detector module.

The default zoom level will be increased to offer a better readability to the performer.

Yamaha MDR Emulator+ – Alpha v.0.3.21 | A preview of what the next release of the project could be under GNU/Linux

♦ Main features

Summary for the αlpha 0.3.4 version of MDR-E+.

CONTROL PANEL General Purpose Sequencer Performance + Cur-Reg Sequencers SysEx Bulk Sequencer Comment
[seq MIDI Type 0] [seq T1] to [seq T16] + [seq TREG] [seq BULK] i.e. 19 [seq] in total
FEATURES MIDI Recorder-Player + Conversion 1xTK => 16+1xTK Electone MIDI Performance + Cur-Reg SysEx + Conversion 16+1xTK => 1xTK HS ALL RAM SYSEX Much more than the original MDR-3
MIDI IN/OUT √ [midiin] + [midiout] √ [midiin] + [midiout]
+ [sysexin]
√ [sysexin]
+ [midiout]
MIDI THRU   Built-in loopback
Channel/Track 16×1 1×16 + 1xSysEx 1xSYSEX  
RT RECORD √ track by track or all Real Time
Write SMF √ Format 0     Std MIDi File
PLAYBACK √ track by track or all [bang) [start)
Read SMF √ Format 0 & 1     Std MIDi File
Conversion √ [seq0] <=> √ <=> [seq1-to-16 + cur-reg]   Mono/Multi TKs
File disk Read/Write
.txt + .mid
Use System File Manager
Chrono display √ mm:ss √ mm:ss   [clock]
Play Tempo √ +/- 40-240 bpm √ +/- 40-240 bpm   [start) [metro]
Full Music Programmer
√ Separate Playback commands for CSP/RSP + FMP   Electone HS Series
Synchro Tempo   √ internal/external   Auto / Manual
* HS Voices Volume + Balance
UK + LK + Arp. Chord + Rhythm UK + LK + Arp. Chord + Rhythm   * in next Alpha
* MIDI Channels Transposition from among CH1-to-16 <=> to among <=> CH1-to-16   * in next Alpha
* Audio/Voice Recorder & Player Can be used in standalone mode or in synch. with General Sequencer   * in next Alpha
* Audio Effects & MIDI Chords Detector Chorus, Reverb, Vibrato & Vocoder Recognizes several hundreds of chords   * in next Alpha

Note: A number of Purr Data objects and glue are not really required for the good operation of the MDR Emulator+. They are only present to check the smooth running of the project and facilitate its debugging.

♦ Project Synoptic

This synoptic is presenting the principal parts (modules) of the MDR-E+. It allows the performer to better understand how the project works for easy use and appropriation.

Yamaha MDR Emulator+ – Alpha v.0.3.18 | Project Synoptic

MDR-E+ under Windows

Yamaha MDR Emulator+ – Alpha v.0.3.4 | The last version of the improved Control Panel under Windows

♦ For a global vision of the project, please consult the articles about MDR-E+ (in English & French)

2019/12/12 — MDR Emulator+ Alpha v.0.3.4
The MDR-3 Emulator for Yamaha Electone HS Series
(English version)

  • 4th release
  • Optimization of the Control panel ergonomics which is always flexible, zoomable on 16 levels including full screen
  • Added contextual messages for the performer in most modules
  • Added HS – All and None (Tracks) choices to the Individual Tracks Performance Sequencer
  • The File Manager is now fully integrated directly into the two concerned modules (General Purpose Sequencer & SysEx Bulk Data Sequencer)
  • Fixed known bugs
  • Improvement and optimization of the different modules operation
  • Addition of flow control mechanisms (SysEx-In/Out and Midi-In/Out)
  • Strengthening mechanisms against crashes
  • Improved documentation in the different modules (for easy reuse)
  • The rest of the (invisible) work was essentially done under the hood

2019/11/27 — MDR-E+ Alpha v.0.3.4(French version)

2019/09/22 — MDR-E+ Alpha v.0.3(French version)

  • 3ème publication
  • Introduction d’un nouveau Panneau de Contrôle (Control Panel) complet, modulable, zoomable ainsi que plein écran
  • Utilisation de Modules (sous-programmes / sous-patches) afin de séparer l’interface utilisateur des modules de programmation Purr Data / Pure Data
  • Ajout de la fonction Lecture en boucle pour les modules ‘Performance Sequencer’ et ‘In/out Sequencer’
  • Ajout du module Get (Obtenir) le modèle de l’Electone HS Series (HS-8/7/6/5/4)
  • Ajout du module Memorized Registration on Electone = Changement mémoire de registration sur l’Electone HS
  • Ajout du module Expression Pedal = Contrôle du volume audio de l’Electone HS
  • Ajout du module Full Music Programmer (F.M.P.) du panneau de l’Electone HS
  • Amélioration des possibilités du module Electone HS-Series ‘Pseudo’ Keyboards
  • Ajout d’une Documentation d’utilisation
  • Correction de bogues connus
  • Optimisation du fonctionnement des différents modules
  • Amélioration de la documentation des différents modules

2019/09/11 — MDR-E Alpha v.0.2(French version)

  • 2ème publication
  • PROJET : Disposition sur 2 écrans, un pour le Panneau de contrôle (commandes) + un pour les Séquenceurs et Messages SysEx afin de pouvoir ajouter les fonctions manquantes et améliorer le fonctionnement
  • PROJET : Correction des bogues et dysfonctionnements connus, et ajout de commentaires (en anglais pour les non francophones intéressés par ce projet)
  • FICHIERS : Le gestionnaire de fichiers a été simplifié et optimisé
  • AFFICHAGE : Les notes sont affichées sur le panneau de contrôle avec sélection d’une des 3 sources MIDI
  • SEQ16 : Les 16 pistes sont maintenant toutes gérées individuellement pour permettre une utilisation mix orgues Electone ou MIDI généraliste (autres équipements MIDI compatibles GM/GS/XG ou pas)
  • SEQ16 : Ajout LED d’activité REC/PLAY pour chaque piste
  • SEQ16 : Ajout du désarmement réciproque des boutons REC/PLAY des pistes individuelles
  • SEQ16 : Ajout de la gestion de END des pistes individuelles pour PLAY ALL et PLAY/CONVERT
  • SEQ16 : Ajout de la fonction ‘Tempo interne’ PLAY
  • SEQ16 : Amélioration de la fonction ‘Chronomètre’ RECORD/PLAY
  • SEQ1 : Amélioration de la fonction ‘Tempo interne’ PLAY
  • SEQ1 : Amélioration de la fonction ‘Chrnomètre’ RECORD/PLAY
  • SEQ TRAM : Amélioration de son fonctionnement
  • SEQ TREG : Modification de son fonctionnement
  • SYSEX : Modification de la gestion des messages (TRAM et TREG)

2019/08/29 — MDR-E Alpha v.0.1(French version)

  • 1ère publication
  • POC – Proof of concept / Démonstration de faisabilité

MDR-E+ using VMPK for cloning the 3 keyboards (UK + LK + PK) of Yamaha Electone HS Series organs

Yamaha MDR Emulator+ | Pseudo Keyboards vs VMPK (Virtual MIDI Piano Keyboards) under GNU/Linux