MDR Emulator+ Alpha v.0.3.4 – L’émulateur de MDR-3 pour Yamaha Electone HS Series

La dernière mouture du projet libre MDR-E+, l’Alpha v.0.3.4, est maintenant disponible au téléchargement pour être testée par les performeurs disposant d’un orgue Electone série HS (Hi-Style) de Yamaha

MDR Emulator+ = Un émulateur logiciel amélioré, libre et multi-plateforme (GNU/Linux, macOS & Windows) de l’expandeur MDR-3 (Music Disk Recorder) de Yamaha réalisé avec Purr Data (une version améliorée de Pure Data Vanilla).

The latest version of the free/libre MDR-E+ project, the Alpha v.0.3.4, is now downloadable for being tested by Yamaha Electone HS Series’ performers.
MDR Emulator+ = An improved, free/libre and multi-platform (GNU/Linux, macOS & Windows) software emulator of the Yamaha MDR-3 (Music Disk Recorder) expander built with Purr Data (an improved version of Pure Data Vanilla).

Pour avoir une vision globale du projet, consultez les trois précédents articles sur le MDR-E+ :

Contenu de cet article / Content of this article :

  • Avant-propos / Foreword
  • Yamaha MDR-3 Aperçu  / Outline
  • MDR-E+ Alpha v.0.3.4 – Améliorations / Enhancements
  • Fonctionnalités / Features
  • Diagramme simplifié / Simplified diagram
  • Nouveau Panneau de Contrôle / New Control Panel
  • Séquenceur MIDI universel / General Purpose MIDI Sequencer
  • Séquenceurs Performance Live / Live Performance Sequencers
  • Séquenceur SysEx (System Exclusive) / SysEx Bulk Data Sequencer
  • Pseudo Keyboards vs VMPK (Virtual MIDI Piano Keyboards)
  • MDR-E+ Alpha v.0.3.4 Téléchargement / Download
  • MDR-E+ βêta v.0.4 / βeta v.0.4

♦ Avant-propos / Foreword

Pour utiliser MDR-E+ sous GNU/Linux, macOS ou Windows, Purr Data v.2.9.0 ou supérieure doit être installé sur votre ordinateur. Le projet est composé de 2 fichiers : le programme (qui est constitué d’un module principal avec une vingtaine de sous-modules intégrés) et une image d’Electone HS. Le tout ne pèse qu’environ 275 Ko dont 1/4 pour l’image. Ces 2 fichiers sont à déposer dans le dossier de votre choix sur votre ordinateur. Voir le paragraphe Téléchargement à la fin de cet article.

Une fois sur votre ordinateur, pour lancer MDR-E+, il suffit de double-cliquer sur son fichier (actuellement ‘mdr-emulator034.pd’), qui va d’abord lancer Purr Data puis le programme lui-même. En fonction du système d’exploitation utilisé, il faudra configurer sur votre ordinateur la gestion de l’interface MIDI entre celui-ci et l’Electone HS Series.

MDR-E+ a été testé avec succès sous GNU/Linux (Linux Mint 19.2 Cinnamon) et Windows 10 (v.1903) connecté à un Electone HS-6 de Yamaha en utilisant une interface MIDI/USB (ici M-Audio MidiSport Uno ou M-Audio MidiSport 2×2). Surtout, ne pas utiliser d’interface d’entrée de gamme ou sans marque (reconnu) et qui ne respecte pas scrupuleusement la norme MIDI.
Ne disposant pas d’un Mac, je n’ai pas pu tester ce projet sous macOS. Néanmoins, Il devrait fonctionner sans souci sous la marque à la pomme.

Le projet MDR-E+ (sous Purr Data) ne garantit plus la totale compatibilité avec Pure Data Vanilla à cause de différences trop importantes dans la gestion de l’interface graphique utilisateur (GUI) entre ces deux environnements libres de développement multimédia temps réel.

♦ Yamaha MDR-3 Aperçu / Outline

Vous trouverez ci-après un rappel des caractéristiques de l’expandeur matériel MDR-3 de Yamaha, à comparer avec celles du projet libre MDR-E+ qui fait exploser les possibilités offertes aux possesseurs d’orgues Electones HS Series de Yamaha.

Yamaha Music Disk Recorder MDR-3 | Enregistreur/Lecteur de musique MIDI sur disquettes 3.5 pouces 2DD avec ses deux panneaux de contrôle

L’enregistreur/lecteur de musique MIDI sur disquette MDR-3 propose aux possesseurs d’Electone de Yamaha l’enregistrement musical des données numériques (performances jouées en temps réel sur les claviers supérieur (UK) – inférieur (LK) et pédalier (PK), voix et registrations), la surimpression, le playback complet ou partiel, la répétition et plus encore.

Le MDR-3 ne gère que les disquettes 3,5 pouces 2DD (double-sided double density) au format propriétaire MSX-DOS 1.25 d’une capacité de 634 Ko pouvant contenir au maximum 16 chansons et/ou registrations (MDR_00.EVT à MDR_15.EVT et/ou MDR_00.R00 à MDR_15.R00) en fonction de la place restant disponible sur la disquette. Le format MSX-DOS 1.25 n’utilise pas de « secteur de démarrage » sur la disquette au contraire des MS-DOS 2.0 et supérieur, d’où l’impossibilité de lire ces disquettes directement sous Windows ou d’autres systèmes d’exploitation.

Présentation du MDR-3 (Music Disk Recorder) de Yamaha

Caractéristiques des expandeurs Yamaha compatibles avec les Electones HS Serie

♦ MDR-E+ Alpha v.0.3.4
Améliorations / Enhancements

MDR Emulator+ | Un émulateur logiciel amélioré du MDR-3 (Music Disk Recorder) pour Yamaha Electone HS Series Organs

Pour mémoire, le MDR-E+ est au moins :

  • Un Séquenceur MIDI (Musical Instrument Digital Interface) et un séquenceur SYSEX (System Exclusive) dédiés à la série Hi-Style (HS) des orgues Electone de Yamaha, et
  • Un Séquenceur MIDI Universel à usage général,
  • ayant pour principales caractéristiques :
  • 16 Pistes MIDI individuelles (1 canal par piste) + SYSEX (Current Registration + Bulk Data) + SMF (Standard MIDI File)
  • Lit/Écrit les fichiers MIDI (.mid/.kar & .txt (format Purr Data – Pure Data)) depuis/vers les médias HDD-SSD-USB
  • avec une architecture modulable afin de pouvoir être adapté à d’autres séries d’Electone de Yamaha
  • Compatible avec les systèmes d’exploitation libres GNU/Linux et propriétaires macOS + Windows

Liste des principales évolutions / List of main developments :

  • Optimisation de l’ergonomie du Panneau de Contrôle (qui ne devrait plus évoluer jusqu’à la première version finale 1.0) qui est toujours modulable, zoomable ainsi que plein écran
  • Ajout de messages contextuels pour le performeur dans les principaux modules
  • Ajout des choix HS – All et None (Tracks) à l’Individual Tracks Performance Sequencer
  • Le File Manager a été intégré directement dans les deux modules concernés (General Purpose Sequencer & SysEx Bulk Data Sequencer)
  • Correction de bogues connus
  • Amélioration et optimisation du fonctionnement des différents modules
  • Ajout de mécanismes de contrôle de présence de flux (SysEx-In/Out et Midi-In/Out)
  • Renforcement des mécanismes contre les plantages
  • Amélioration de la documentation dans les différents modules
  • Le reste du travail (invisible) s’est fait essentiellement sous le capot

Conversion fichiers MIDI du format GM/XG vers format Electone HS

Comme mentionné précédemment, les Electone HS Series de Yamaha ne sont pas au format GM/XG de la norme MIDI car ils ont été commercialisés quelques années avant que cette norme ne soit finalisée.
To Do List: Il est prévu dans la liste des choses à faire que d’ici la publication de la première version finale de MDR-E+ un nouveau module soit intégré au projet afin de pouvoir convertir-transposer les fichiers MIDI du format GM/XG vers le format MIDI Electone HS. Cela permettra de reproduire-jouer des fichiers MIDI standard (SMF) sur les Electones HS avec plus de réalisme mais en ayant toujours quelques limitations.
Cette intégration se fera étape par étape et le performeur pourra décider de ce qu’il veut convertir-transposer, avec d’abord la conversion des numéros de canal (source 1-16 -> destination 1-16), puis des numéros de Program Change – PC (source 1-128 -> destination que 1-8 ou 1-16), et enfin quelques autres paramètres.

♦ Fonctionnalités / Features

Résumé pour la version Alpha 0.3.4 de MDR-E+. / Summary for the Alpha 0.3.4 version of MDR-E+.

CONTROL PANEL General Purpose Sequencer Performance + Cur-Reg Sequencers SysEx Bulk Sequencer Comment
SEQUENCER 1 TRACK 16 + 1 TRACKS 1 TRACK  
SEQ NAME
[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
N/A
.txt
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
MIDI Channels Transposition
in future release
CH1-to-16 <=>
in future release
<=> CH1-to-16
  forecasted for 1st Beta
HS Voices Volume + Balance
√ UK + LK + Arp. Chord + Rhythm √ UK + LK + Arp.Chord + Rhythm   forecasted for 1st Beta

Nota bene : Un certain nombre d’objets et de glue Purr Data ne sont pas nécessaire au fonctionnement du MDR Emulator+. Ils sont uniquement présents pour vérifier la bonne marche du projet et faciliter son débogage.

♦ Diagramme simplifié / Simplified diagram

Ce diagramme, accessible depuis le Panneau de contrôle du MDR-E+ en cliquant sur [pd diagram], offre une vision synthétique du projet. Il permet au performeur de mieux comprendre le fonctionnement du projet pour une meilleure utilisation et appropriation.

Yamaha MDR Emulator+ – Alpha v.0.3.4 | Diagramme simplifié du projet

Nota bene : MDR-E+ possède une fonction intégrée de LoopBack (MIDI-THRU) qui connecte automatiquement quand nécessaire les Entrées/Sorties MIDI des Performance Sequencer et General Purpose Sequencer lors des opérations de Lecture/Conversion (P+C – Play/Conversion).

♦ Nouveau Panneau de Contrôle / New Control Panel

Le nouveau Panneau de Contrôle du MDR-E+ (Alpha v.0.3.4) a été optimisé, des instructions ont été ajoutées, et il reste entièrement en anglais afin de rendre son utilisation internationale plus aisée.

Le Panneau de Contrôle du MDR-E+ est zoomable sur 16 niveaux sans aucune perte de la qualité visuelle. Chacun·e pourra ainsi trouver son meilleur niveau de confort visuel en fonction de son utilisation pour se concentrer sur  tel·s ou tel·s module·s. Voir les captures d’écran plus bas.

L’aspect et le contenu du Panneau de Contrôle sont identiques, quel que soit le système d’exploitation utilisé.

Yamaha MDR Emulator+ – Alpha v.0.3.4 | La dernière mouture du Panneau de Contrôle amélioré et enrichi sous GNU/Linux

Que ce soit sous GNU/Linux, macOS ou Windows, l’interface utilisateur est donc toujours le même. Le performeur pourra ainsi passer facilement d’un système à un autre et être toujours en terrain connu. Ce sont la beauté et l’efficacité d’un projet libre, ouvert et multi-plateforme.

Yamaha MDR Emulator+ – Alpha v.0.3.4 | La dernière mouture du Panneau de Contrôle amélioré et enrichi sous Windows

Par contre, l’utilisation d’une interface physique MIDI/USB est différente d’un système d’exploitation à un autre. Il faudra se reporter à la documentation spécifique à chaque système. Vous pouvez aussi consulter la documentation intégrée (en cours d’élaboration) à MDR-E+, accessible depuis son Panneau de contrôle en cliquant sur [pd help-aide] (anglais et français), et lire plus particulièrement la fin de celle-ci.

♦ Séquenceur MIDI universel / General Purpose MIDI Sequencer

Le General Purpose MIDI Sequencer (GPMSeq) est à usage multiple et universel (RAM / Disque). Il peut être utilisé pour :

  • Lire/Enregistrer des fichiers MIDI (mono-piste / 16 canaux) avec variation du tempo de lecture.
  • Sauvegarder les enregistrements sur disque au format .mid (SMF Type 0) ou .txt (format Purr Data).
  • Lire les fichiers depuis le disque au format .mid/.kar (SMF Type 0 et 1) ou .txt (format Purr Data).
  • Servir de passerelle avec le Performance Sequencer (16 pistes / 16 canaux) lorsque nous voulons éditer telle·s ou telle·s piste·s.
  • Aussi convertir un fichier Performance HS précédemment enregistré avec la registration actuelle (Current Registration) de l’Electone (Custom Record).

Yamaha MDR Emulator+ – Alpha v.0.3.4 | Le Séquenceur Universel en mode zoomé

Le General Purpose MIDI Sequencer peut être utilisé en lieu et place du Performance Sequencer tant que le performeur n’a pas besoin de travailler au niveau d’une piste / d’un canal spécifique ou n’enregistre pas la Registration actuelle posée sur l’Electone.

♦ Séquenceurs Performance Live / Live Performance Sequencers

Les Live Performance Sequencers se décomposent comme suit :

  • Le Live Performance Sequencer (LPSeq) avec 16 pistes / 16 canaux MIDI dont les commandes actionnent l’ensemble des pistes.
  • L’Individual Tracks Performance Sequencer (ITPSeq) utilise le moteur MIDI du LPSeq mais ses commandes permettent d’agir directement au niveau de chaque Piste/Canal.
  • Le Cur-Reg Sequencer (CRSeq) est couplé au LPSeq et permet d’enregistrer, ou pas, la mémoire de registration actuellement posée sur l’Electone HS au début d’une nouvelle performance – d’un nouvel enregistrement.
  • LPSeq + ITPSeq + CRSeq travaillent uniquement dans la RAM de l’ordinateur (limitation due aux objets actuellement disponibles dans Purr Data + extensions). Pour sauvegarder une Performance HS, il faudra d’abord convertir (P+C) celle-ci vers le GPMSeq puis enregistrer le fichier sur disque avec ce dernier.

Yamaha MDR Emulator+ – Alpha v.0.3.4 | Le Séquenceur Performance Live en mode zoomé

Live Performance Sequencer / Cur-Reg Sequencer

Contrairement au General Purpose MIDI Sequencer (GPMSeq), le Live Performance Sequenceur (LPSeq) est multi-piste (16 pistes synchronisées avec 1 canal/piste). Il lui est associé le Cur-Reg Sequencer (CRSeq) qui est un mini-séquenceur SysEx. LPSeq dispose des mêmes commandes que GPMSeq mais il ne peut pas enregistrer directement la Performance HS sur disque, il faut d’abord la passer au GPMSeq.

Individual Tracks Performance Sequencer

ITPSeq utilise le moteur MIDI du LPSeq. Ses commandes permettent de gérer la Performance HS piste par piste aussi bien en enregistrement qu’en lecture ou une combinaison des deux.

C’est avec ce séquenceur que je passe le plus de temps lors de mes enregistrements de performance live sur mon Electone HS-6.

Yamaha MDR Emulator+ – Alpha v.0.3.4 | Les Séquenceurs Performance Live en mode zoomé

3 autres modules visibles dans la capture d’écran ci-dessus :

Electone HS Model ID permet de connaître le modèle exact de son Electone Yamaha (HS-4, HS-5, HS-6, HS-7 ou HS-8). Ces informations sont des messages et données SysEx.

Electone Registration Memory permet soit de commander (Send) la mémoire de registration de l’Electone HS soit d’afficher (Receive) les changements effectués sur cette mémoire depuis l’Electone HS ou depuis la Performance HS en cours de lecture. Ces informations sont des messages MIDI Program Change (PC).

HS Expr. Pedal permet de commander la pédale d’expression des Electone HS Series. Pour autoriser cette action, il faut d’abord la valider sur l’Electone HS : Multi-Menu #10 -> Ext. Midi. Cont. -> +3. Ces informations sont des messages MIDI Control Change (CC).

♦ Séquenceur SysEx (System Exclusive) / SysEx Bulk Data Sequencer

Ce séquenceur SYSEX (SXSeq) est destiné exclusivement aux Electone HS Series de Yamaha.
Néanmoins, ce module peut être facilement modifié pour l’adapter à d’autres équipements MIDI utilisant SysEx, à condition d’avoir accès à la liste des messages SysEx de l’équipement concerné.

SXSeq permet d’enregistrer sur disque (indépendamment de la Performance HS) tout ou partie de la RAM de l’Electone HS. Electone HS ALL-RAM = REG.MEM + CSP/RSP + FMP + User Rhythm Patterns & Voices + CUR.REG.

Parmi les choix possibles, j’en ai retenu 4 qui me semblent les plus utiles : ALL RAM – REG.MEM – CSP/RSP et FMP. Consulter la documentation des Electone HS Series pour plus d’information.

Yamaha MDR Emulator+ – Alpha v.0.3.4 | Le Séquenceur SysEx (System Exclusive) en mode zoomé

Les fichiers SysEx sont enregistrés au format .TXT (Purr Data). Le nom des extensions de fichier est libre mais je suggère fortement d’avoir une dénomination structurée afin de s’y retrouver facilement, comme dans la capture d’écran ci-dessus.

♦ Pseudo Keyboards vs VMPK (Virtual MIDI Piano Keyboards)

MDR-E+ intègre deux modules : Display et Pseudo 5 octaves Keyboards.
Display permet, après sélection de la source MIDI, d’afficher le numéro de canal, le numéro d’octave, le nom et la vélocité de chaque note musicale. Pseudo 5 octaves Keyboards d’afficher chaque note musicale sur un pseudo clavier Electone HS Series en fonction du numéro de canal utilisé.

Il est aussi possible d’utiliser des claviers virtuels, comme VMPK (Virtual MIDI Piano Keyboard) qui est compatible GNU/Linux, macOS et Windows.
VMPK est un générateur et récepteur d’événements MIDI. Il ne produit aucun son par lui-même, mais peut être utilisé pour commander un synthétiseur MIDI (matériel ou logiciel, interne ou externe), ici les Electone HS Series de Yamaha. Vous pouvez utiliser le clavier de l’ordinateur pour jouer des notes, mais aussi la souris et/ou un écran tactile. Vous pouvez utiliser le clavier virtuel pour visualiser les notes jouées par un instrument comme l’Electone HS ou un lecteur de fichiers MIDI comme le MDR-E+. Pour ce faire, connecter le port de sortie MIDI de votre Electone HS et/ou du MDR-E+ au port d’entrée MIDI de VMPK.

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

Dans l’exemple ci-dessus, j’utilise 3 instances de VMPK en parallèle dont j’ai paramétré :
  • le nombre de touches -> UK = 61, LK = 61 et PK = 20,
  • la hauteur de la touche de départ -> Do / C pour les 3 claviers,
  • le numéro de l’octave de base -> 3 pour les 3 claviers, et
  • le canal MIDI utilisé -> UK = 1, LK = 2 et PK = 3.
Ces 3 claviers virtuels fonctionnent aussi bien :
  • en Midi-IN -> Perform-OUT / General-OUT du MDR-E+ et Midi-OUT de l’Electone HS
  • qu’en Midi-OUT -> Midi-IN du MDR-E+ et Midi-IN de l’Electone HS-6.

Sous GNU/Linux, la gestion des connexions est facilement assurée par Patchage, une baie de brassage MIDI (ALSA/JACK) conviviale.

♦ MDR-E+ Alpha v.0.3.4 Téléchargement / Download

• Purr Data (Pd-l2ork) / Une version améliorée de Pure Data Vanilla

Pour utiliser ce projet libre MDR-E+, ‘PURR DATA’ doit être d’abord installé sur votre ordinateur !
To use this libre MDR-E+ project, ‘PURR DATA’ must be first installed on your computer!

La version actuelle est la 2.10.0 de novembre 2019 qui est compatible avec les systèmes d’exploitation GNU/Linux, macOS et Windows.

Consulter les liens suivants pour découvrir et installer Purr Data

• Projet libre MDR-E+ (Music Disk Recorder Emulator+)

Une fois que Purr Data v.2.9.0 ou supérieure est installé sur votre ordinateur et testé (au moins le MIDI), vous pouvez télécharger ci-dessous le projet MDR-E+. Dézipper le dossier et mettre ses 2 fichiers (programme + image) dans le répertoire de votre choix sur votre ordinateur sous GNU/Linux, macOS ou Windows.

Once Purr Data v.2.9.0 or later is installed on your computer and tested (at least MIDI), you can download the MDR-E+ project below. Unzip the file and put its 2 files (program + image) in the directory of your choice on your computer under GNU/Linux, macOS or Windows.

Music Disk Recorder Emulator+ / αlpha v.0.3.4

DOWNLOAD ===>
mdr-emulator034.zip Build.20191124 File size ~ 130 KB
Bug Tracker / Wish List

N’hésitez pas à me remonter vos soucis d’installation et d’utilisation, les bogues que vous pourriez rencontrer et vos suggestions d’amélioration du projet. Mon adresse mail se trouve à l’intérieur du programme. Si vous avez des questions avant cela, passer par le formulaire qui se trouve sur la page Contact de ce site.

Feel free to tell me about your installation and usage concerns, the bugs you may encounter and the suggestions you may have for improving the 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.

♦ MDR-E+ Première βêta / First βeta

Cette βêta a pris du retard, c’est le pourquoi de la publication de l’αlpha v.0.3.4.
Avant de publier la 1ère βêta du projet, j’attends quelques évolutions-modifications que le Team de développement de Purr Data doit apporter à son environnement de programmation graphique de flux de données conçu pour les applications temps réel multimédia et musique assistée par ordinateur.
Purr Data est une alternative complète, libre et à code source ouvert à son frère commercial, Max de Cycling74’s (Ableton).
Work in progress…

This βeta has fallen behind, which is why the publication of αlpha v.0.3.4.
Before publishing the 1st βeta of the project, I’m waiting for some changes-modifications that the Development Team of Purr Data must bring to its 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 (Ableton).
Work in progress…

Le projet MDR-E+ pourrait être aussi adapté à d’autres séries d’Electone de Yamaha !
The MDR-E+ project could be also adapted to other Yamaha Electone Series!

MDR Emulator+ | Un émulateur logiciel amélioré du MDR-3 (Music Disk Recorder) pour Yamaha Electone Organs