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).
Pour avoir une vision globale du projet, consultez les précédents articles sur le MDR-E+ :
- MDR Emulator+ Alpha v.0.3.4 – The MDR-3 Emulator for Yamaha Electone HS Series – English version of this article! – 12/12/2019
- MDR Emulator+ Alpha v.0.3 – L’émulateur de MDR-3 pour Yamaha Electone – 22/09/2019
- MDR Emulator Alpha v.0.2 – L’émulateur de MDR-3 pour Yamaha Electone – 11/09/2019
- MDR Emulator Alpha v.0.1 – L’émulateur de MDR-3 pour Yamaha Electone – 29/08/2019
Contenu de cet article :
- Avant-propos
- Yamaha MDR-3 Aperçu
- MDR-E+ Alpha v.0.3.4 – Améliorations
- Fonctionnalités
- Diagramme simplifié
- Nouveau Panneau de Contrôle
- Séquenceur MIDI universel
- Séquenceurs Performance Live
- Séquenceur SysEx (System Exclusive)
- Pseudo Keyboards vs VMPK (Virtual MIDI Piano Keyboards)
- MDR-E+ Alpha v.0.3.4 Téléchargement
- MDR-E+ – 1ère βêta ou Prochaine αlpha ?
♦ Avant-propos
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
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.
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
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 :
- 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
Résumé pour la version Alpha 0.3.4 de 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é
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.
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
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é.
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.
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
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).
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
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.
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.
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)
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.
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.
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
• 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 !
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
- Présentation de Purr Data (Pd-l2ork) – Programmation graphique orientée objet
NB : Parmi d’autres évolutions, l’installation des JGU Packages sous GNU/Linux a changé depuis fin août 2019 passant de PPA (Personal Package Archives – Ubuntu) à OBS (Open Build System – openSUSE). Consulter le détail dans les liens suivants. - Purr Data – Jonathan Wilkes’ cross-platform Pd-l2ork version
Pour la petite histoire : Purr Data de Jonathan Wilkes, aussi connu sous le nom de Pd-l2ork v.2, est une version améliorée de Pure Data (Vanilla) de Miller Puckette. Il est basé sur Pd-l2ork d’Ico Bukvic, qui est à son tour un dérivé de Pd-extended (obsolète) de Hans-Christoph Steiner. - Download JGU packages – pour des versions récentes de distributions GNU/Linux (Arch, Debian, openSUSE, Ubuntu, et leurs variantes-dérivées)
- Installation instructions – des JGU (Johannes Gutenberg University) packages
- Downloads – pour macOS et Windows, avec d’anciennes versions de GNU/Linux
• 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.
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.
♦ MDR-E+ – 1ère βêta ou prochaine αlpha ?
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).