YesXR (Yamaha Electone Simple SysEX-Recorder) built with YAD (Yet Another Dialog)

  • Last Update: July 24th, 2022

◊ Table of contents

YesXR (Yamaha Electone Simple SysEX-Recorder) is a free/libre and open Project (GNU GPL v.3) which targets the owners of the ‘vintage’:
Yamaha ELECTONE Series (MIDI organs) marketed worldwide between ~ 1986 and 2001, and
– Yamaha Music Disk Recorder (MDR) device peripherals marketed worldwide between ~ 1986 and 1996.

Yamaha Electone ‘vintage’ Series

This version of YesXR (here a shell script with GUI using YAD) ‘should run’ under any free/libre GNU/Linux operating systems such as:

– ARCH Linux & all their derivatives-flavors like Manjaro Linux, Endeavour OS and even Manjaro-Arm,

– DEBIAN & all their derivatives-flavors like Ubuntu, Linux Mint, MX Linux, Pop!_OS, Elementary, Deepin Linux, Zorin and even Raspberry Pi OS (Arm),

– RED HAT & all their derivatives-flavors like Fedora and others,

– SUSE & all their derivatives-flavors like openSUSE and others,

    …and…

– Surely much more distributions.

♦ Presentation

YesXR -a MIDI SysEx utility software- is handling the ‘All-RAM Data’; i.e. Registrations & other Non-Performance Data- of the compatible Yamaha ELECTONE ‘vintage’ Series.
It can be used as a partial replacement or substitution of the Yamaha ‘Music Disk Recorder’ peripheral devices (MDR-2 / MDR-3 / MDR-4 / MDR-10) designed exclusively for Electone use, -but their file formats are not compatible!-.

Overview of ELECTONE’s All-RAM = Registration & other Non-Performance Data
This applies to both  ELECTONE <==> YesXR  -and-  MDR ==> YesXR  transmissions
  • Data memorized at the Registration Memory (#1-to-8 or #1-to-16)
  • Data of the Current Registration Memory
  • Internal Sequencer (iSEQ) data or Full Music Programmer (F.M.P.) data
  • Data of the Chord Sequence Programmer (C.S.P.) / Rhythm Sequence Programmer (R.S.P.)
  • Data of the User Rhythm Patterns (U.R.P.1) or User Rhythmic Patterns (U.R.P.2)
  • Data of User defined Voices (U.V.)
  • For the Specific List of All-RAM data which can be recorded, please consult the User’s Guide or Owner’s Manual of your Yamaha Electone Series / Model.

Note: ‘Yes-XR’ is not designed for recording Electone Live Performance data  -but-  the future ‘Yes-MDR’ should do it!

YesXR — Yamaha Electone Simple SysEX Recorder — Control Panel (Yad) | Linux Mint 20.3 Cinnamon

• Minimum screen resolution

The Control Panel of YesXR has a fixed resolution of 960 x 520 pixels (17:9 ratio).
Thus, a minimum screen resolution of 1,024 x 768 pixels (XGA – 4:3 ratio) or 1,280 x 800 pixels (WXGA – 16:10 ratio) is highly suggested. A 1,920 x 1,080 pixels screen resolution (HD1080 – 16:9 ratio) will be ideal.

NOTE: The visual appearance of YesXR can slightly vary across the GNU/Linux operating systems (few hundreds currently available with few dozens of main distributions). The GUIs aspect of YesXR are influenced at least by the following used elements: YAD (Yet Another Dialog) & GTK+ (Widget Toolkit) versions, Desktop environment (Gnome, KDE Plasma, Cinnamon, MATE, Xfce, etc.), Theme (use dark one’s!) and System Font characters (types and sizes).

• YesXR  -a GNU/Linux MIDI utility software-  allows you to easily

  • Record/Save ‘All-RAM’ Data from your Yamaha Electone’s RAM to your GNU/Linux PC’s Disk.
  • Load/Send back these ‘All-RAM’ Data from your PC’s Disk to your Yamaha Electone MIDI organ.
  • Backup/Save ‘All-RAM’ Data stored on your Yamaha MDR’s storage device (song by song) to PC’s Disk.
  • Display ‘MIDI Traffic’ in HEXAdecimal for System Exclusive (SysEx F0h, …, F7h) Data and even Any MIDI Messages.
  • YesXR is compatible with at least the Yamaha ELECTONE ‘vintage’ CHX / HX / HS / US / HE / HC / EL Series. See the complete list of the ~ 40 Organ Models at the bottom of this article.
  • This is achieved by handling dedicated MIDI (Musical Instrument Digital Interface) System Exclusive Messages (ELECTONE / MDR common messages — BULK DUMP related messages (F0h, 43h, …, …, …, …, …, F7h):
    • Request-ELECTONE-to-Send All-RAM-data,
    • Request-ELECTONE-to-Receive All-RAM-data, and
    • Request-MDR-to-Send All-RAM-data (storage device).

YesXR is a lightweight portable utility software. Thus, it can be used from either an internal disk (HDD or SSD) and/or an external one (USB stick, USB storage or SD Card).

YesXR — Yamaha Electone Simple SysEX Recorder — At A Glance! (Yad v.12.0) | Manjaro Linux 21.3

• To run successfully YesXR

  • The following 3 software packages must be installed in your GNU/Linux operating system:
    • Alsa-utils v. ≥ 1.2.2 used for the communication between the MIDI Devices; i.e. Yamaha ELECTONE organ / Yamaha MDR peripheral / MIDI/USB Interface & PC,
    • YAD v. = 0.40.x or ≥ 10.1 used for the GUI (graphical user interface) dialogs, and
    • Gnome-terminal v. ≥ 3.36.2 which is only needed for the [MIDI MONITOR] operation.
  • If they are not installed yet, depending of your GNU/Linux experience, this can be done from:
    • the Software Center / Manager – a GUI utility for easily exploring, installing and removing software in your preferred distribution (see below screen capture), or
    • the Command Line in a Terminal; e.g.:
      – Debian & derivatives (Linux Mint, Pop!_OS, Ubuntu, etc.): sudo apt install <application_name>
      – Arch Linux & derivatives (Manjaro, Endeavour OS, etc.): sudo pacman -Syu <application_name>
  • The script’s GUI is using the Theme of your Desktop environment. Make sure to use a ‘Dark’ system Theme for allowing a good readability of the Control Panel and the user messages.
  • The Testing Terminal is now only used on-demand for displaying potential issues when using YesXR.
YAD‘ – Yet Another Dialog / Display GTK+ dialogs from shell scripts or command-line — An improved fork of Zenity program
  • YAD is a utility program that will display GTK+ dialog boxes, and return (either in the return code or on standard output) the user’s inputs.
Alsa-utils‘ / Advanced Linux Sound Architecture – Utilities
  • This package contains the command line utilities, including MIDI, for the ALSA project.

YESXR — Installation of Yad & Alsa-utils from the Software Manager (GNU/Linux)

Gnome-terminal‘ / A Terminal emulator for GNOME and All UNIX compatible Desktop Environments.
  • This package contains the program that emulates a console in a graphical interface. It allows you to launch commands and visualize outputs.

♦ ‘Yes…’ Future versions

• YesXR — Yamaha Electone Simple SysEx Recorder project with Yad & Alsa-utils

  • Future releases should be mainly for maintenance purpose.

YesMDR — Yamaha Electone Simple Music Disk Recorder project with Yad but Alsa-utils ?

  • YesMDR will be an upgrade of YesXR (All-RAM Bulk Data Dump; i.e. Registrations & other Non-Performance data, and MIDI Monitors).
  • Add Live ELECTONE Performance: Record & Playback
  • Add Backup MDR Performance; i.e. similar to MDR’s Custom Playback.
  • YesMDR could replace (more or less) the Yamaha Music Disk Recorder peripheral devices (MDR-2 / MDR-3 / MDR-4 / MDR-10) designed exclusively for Electone use, -but- their file formats will not be compatible neither for the Bulk Data Dump nor for the Live Performance.
  • NOTE: The YesMDR project is delayed due to the fact that the Alsa-utils are not providing the expected features in the area of Live Performance. Currently several other MIDI command-line utilities (like MidiSh, ReceiveMidi/SendMidi and others) are under investigation for properly handling MIDI Live Performance as well as Bulk Data Dump (All-RAM) and MIDI/USB Interfaces.

♦ YesXR OPERATION — ‘YAD’ version

To make the use of YesXR (Yamaha ELECTONE Simple SysEX-Recorder) as easy as possible its operation is automated as much as doable.

• CONNECTING your MIDI DEVICES together
  • FIRST: You must properly connect your compatible Yamaha ELECTONE and/or your Yamaha MDR to your MIDI/USB Interface·s (much better and easier if Class Compliant I/F) to your GNU/Linux PC.
  • Note: Without at least one MIDI/USB I/F connected to and recognized by your PC, you will not be able to use – explore the functionalities of YesXR!
YAMAHA Device
Communication
INTERFACE Communication
Personal Computer
ELECTONE Organ <– Command MIDI / USBa <– Command GNU/Linux YesXR
Send or Receive <— MIDI DATA —>   <— MIDI DATA —> Receive or Send
M.D.R. Peripheral <– Command MIDI / USBb <– Command GNU/Linux YesXR
Send only MIDI DATA —>   MIDI DATA —> Receive only
Note: Since YesXR v.0.1.40, you can now freely select the connected MIDI/USB Interfaces of your choice!

Yamaha Electone Organ connected to PC thru MIDI/USB I/F

• RUNNING ‘YesXR-0.x.yy.sh’ script (0.x.yy = version number)
  • From within your File Manager, double-click on YesXR-0.x.yy.sh file, a window opens and then click on the Run button.
  • This will launch the script and open its GUI Control Panel.
    Since YesXR v.0.1.33, the Script Terminal is not used anymore, except if needed for testing and debugging purpose of the [too] many (dozens – hundreds) available GNU/Linux distributions.
• [QUITTING] the Utility software (Script)
  • Click on the [– QUIT –] button.
  • The QUIT — YesXR window is displayed and the program is quitting after a 2 seconds countdown progress bar.
• 1- [SELECTING] MIDI/USB I/Fs
  • Note: Without at least one MIDI/USB Interface connected to and recognized by your PC, you will not be able to explore the functionalities of YesXR and appropriate Error windows will show up when necessary.
  • Click on the [MIDI/USB I/F] button for scanning all available ALSA MIDI/USB Interfaces to YesXR.
  • MIDI/USB I/F Choice — YesXR, 2x windows appear (new since v.0.1.85).
    • Select in the List the MIDI/USB /IF for All-RAM & HEX-Monitor and valid your choice by clicking the [√ Confirm I/F Selection] button.
    • Select in the List the MIDI/USB I/F for TEXT-Monitor and valid your choice by clicking on the [√ Confirm I/F Selection] button.
  • You are back to the Control Panel window which is now displaying 3 updated lines:
    – Last ACTION: [ MIDI/USB I/Fs Selection ] = Status, and
    – Current MIDI/USB I/Fs – ALSA Ports:
      . For ALL-RAM / HEX-Monitor
    = Name of the I/F you have just chosen, and
      . For TEXT-Monitor = Name of the I/F you have just chosen.

YesXR — Yamaha Electone Simple SysEX Recorder — Control Panel + MIDI/USB I/F Choice (Yad v.0.40.0) | Ubuntu Studio 22.04 LTS

An example with ‘M-Audio MidiSport’ and ‘Roland UM-ONE mk2’ MIDI/USB Interfaces which are Class Compliant (no need for driver) and compatible with GNU/Linux Operating Systems & MIDI Messages including System Exclusive (SysEx) Bulk Data Dump (e.g. Yamaha: F0h, 43h, …, …, …, / … … /, …, …, …, F7h).

ALL-RAM & HEX-Monitor — Table
MIDI/USB Interface
DIR. DEVICE #
ALSA Name  (Individual Port) Comment
M-Audio UNO (1×1) I/O hw:0,0,0 USB Uno MIDI Interface MIDI 1  
M-Audio 2×2 Anniversary
I/O hw:1,0,0 MIDISPORT 2×2 Anniv MIDI 1 Switch = USB/Merge
  I/O hw:1,0,1 MIDISPORT 2×2 Anniv MIDI 2  
Roland UM-ONE mk2 (1×1) I/O hw:3,0,0 UM-ONE MIDI 1 Switch = COMP(uter)
– And so on… I/O hw:x,y,z    

Note: Devices & Ports Numbers could/will change depending of the MIDI/USB Interfaces connection order, the USB ports used, how many Interfaces are connected to the PC, and the GNU/Linux distribution which is used.

TEXT-Monitor — Table
MIDI/USB Interface PORT #
CLIENT Name PORT Name Comment
M-Audio UNO (1×1) 24:0 USB Uno MIDI I/F USB Uno MIDI I/F
MIDI 1
 
M-Audio 2×2 Anniversary 26:0 MIDISPORT 2×2 Anniv MIDISPORT 2×2 Anniv
MIDI 1
Switch = USB/Merge
  26:1 MIDISPORT 2×2 Anniv MIDISPORT 2×2 Anniv
MIDI 2
 
Roland UM-ONE mk2 (1×1) 28:0 UM-ONE UM-ONE MIDI 1 Switch = COMP(uter)
– And so on… xx:y      
• MANAGING -Bulk Dump- Files
  • Since v.0.1.70: YesXR is now properly handling ‘white spaces’ in both directory/folder and file names.
  • Since v.0.1.52: YesXR is also using the System File Manager for [Backup-mRam] operation.
  • Since v.0.1.33: YesXR integrates the System File Manager for both [Record-eRam] and [Send-eRam] operations.
  • The name of File.ext (binary file!) can be freely chosen by the performer.
    For the .ext, it’s best to use specific extension dedicated to YesXR (Yad); e.g. .eram/.mram or .xram/.zram. This will allow you to easily handle different versions of your recorded / backed-up files for building your ELECTONE’s / MDR’s ‘All-RAM’ library with YesXR.

* YesXR v.0.1.80 — Quick presentation — ‘YAD’ version *

• 2- [RECORDING] -All-RAM Bulk Dump- from Yamaha ELECTONE-to-PC
  • Make sure you have previously selected the right MIDI/USB I/F connected to your Yamaha Electone organ!
  • On the Control Panel window, click on the [RECORD-eRAM] button.
  • The RECORD All-eRAM / Electone-to-File — YesXR window appears (System File Manager), Choose the Folder and Type a new NAME.ext -or- Select a FILE.ext previously recorded with YesXR.
  • Once done, click on the [Confirm SAVE File / RECORD All-eRAM] button (at the bottom).
  • The RECORDing All-eRAM — YesXR window appears with a pulsing elapse time bar (in seconds). This window will close automatically once All-eRAM will have been recorded.
  • Then, you are back to the Control Panel window which is now displaying two updated lines:
    – Last ACTION done: [ RECORD All-eRAM / ELECTONE-to-PC ] = Status, and
    – Last FILE used: Path/Filename.ext of xyz bytes.

Note: The time required to record All-RAM data will vary with the ELECTONE model / series and the type of data currently memorized at the ELECTONE. This can take from just few seconds up to several tens of seconds or even more.

• 3- [SENDING] -All-RAM Bulk Dump- from PC-to-ELECTONE
  • Make sure you have previously selected the right MIDI/USB I/F connected to your Yamaha Electone organ!
  • On the Control Panel window, click on the [SEND-xRAM] button.
  • The SEND All-xRAM / PC-to-Electone — YesXR windows appears (System File Manager), Choose the Folder and Select an existing FILE.ext recorded with YesXR.
  • Once done, click on the [Confirm LOAD File / SEND All-xRAM] button (at the bottom).
  • The SENDing All-xRAM — YesXR windows appears with a countdown progress bar (its timing is proportional to the size of the chosen file). This window will close automatically once All-eRAM will have been sent.
  • Then, you are back to the Control Panel window which is now displaying two updated lines:
    – Last ACTION done: [ SEND All-xRAM / PC-to-ELECTONE ] = Status, and
    – Last FILE used: Path/Filename.ext of xyz bytes (~ x s).

Note: The time required to transmit All-RAM data, at the MIDI standard rate of 31,250 baud, will be identical to the time that was required during recording from the ELECTONE or backing up from the MDR.

• 4- [BACKING UP] -All-RAM Bulk Dump- from Yamaha MDR-to-PC
  • Make sure you have previously selected the right MIDI/USB I/F connected to your Yamaha Music Disk Recorder (MDR) peripheral!
    – A recorded storage media (Floppy disk / USB stick) is introduced into your M.D.R. -and- the desired Song number to be red is selected too! YesXR is automatically managing the PLAY/STOP commands of your MDR device.
  • On the Control Panel window, click on the [BACKUP-mRAM] button.
  • The BACKUP All-mRAM / MDR-to-PC — YesXR window appears (System File Manager), Choose the Folder and Type a new NAME.ext -or- Select a FILE.ext previously recorded with YesXR.
  • Once done, click on the [Confirm SAVE File / RECORD All-mRAM] the button (at the bottom).
  • The BACKUPing All-mRAM — YesXR window appears with a pulsing elapse time bar (in seconds). This window will close automatically once All-mRAM will have been recorded.
  • Then, you are back to the Control Panel window which is now displaying two updated lines:
    – Last ACTION done: [ BACKUP All-mRAM / MDR-to-PC ] = Status, and
    – Last FILE used: Path/Filename.ext of xyz bytes.

Note: The time required to backup All-RAM data will vary with the type of data which was originally recorded by the MDR model from the ELECTONE model / series. This can take from just few seconds up to several tens of seconds or even more (especially if SEQ or FMP data were recorded).

• 5- [MONITORING] – MIDI Traffic in HEXadecimal Bytes or Human Readable TEXT
  • TEXT Monitor: available since YesXR v0.1.85.
  • HEX Monitor: available since YesXR v.0.1.80.
  • Make sure you have previously selected the right MIDI/USB I/Fs connected to the MIDI Device you want to monitor! These devices could be of course a Yamaha ELECTONE or a Yamaha MDR, but also any other MIDI peripherals from any brands.
  • On the YesXR Control Panel window, click on the [MIDI MONITOR] button.
  • A Choice/Selection window appears giving you the choice between HEX Bytes Monitor or Readable TEXT Monitor. Once your choice is made, click on either the HEX or the TEXT button. This will open accordingly a dedicated Gnome Terminal.
  • Each MONITORing Terminal prints/displays the MIDI Data (System Exclusive and/or Any MIDI messages) received from the selected ALSA MIDI-IN port as HEXAdecimal Bytes or Readable TEXT.
  • If needed, you can Copy/Paste its output to a Text editor or an Hexa editor for an easy reuse.
    If the length (at the beginning) of the output is truncated, increase in the Gnome Terminal’s Preferences the max. number of lines value of the history.

YesXR — Yamaha Electone Simple SysEX Recorder — HEX & TEXT MIDI Traffic Monitors (Yad version)

Note: You can use both HEX & TEXT MIDI Monitors as a learning / debugging tool. It can display from small to large Manufacturer System Exclusive data (F0h, IDh, …, …, …, F7h). You can also discover Yamaha specific SysEx messages (F0h, 43h, …, …, …, F7h) sent by the ELECTONE when pressing on any specific buttons on the organ. For Electone’s buttons and commands which are part of the MIDI v.1.x specification, e.g. Notes (channel, number, velocity, aftertouch), Program Change (PC) and Control Change (CC), these 2x Monitors will display their MIDI values (either in Hex Bytes or Readable Text).

• ERRORs Handling

YESXR — Yamaha Electone Simple SysEx Recorder — Errors windows (Yad version)

  • No MIDI/USB Interface ‘Detected’ or ‘Selected’!
    The above YesXR — Errors! windows can be displayed after having clicked on the [MIDI/USB I/F], [RECORD-eRAM], [SEND-xRAM], [BACKUP-mRAM] or [MIDI MONITOR] button. See above 1- [SELECTING] MIDI/USB I/F.
  • No CHOICE -or- Unexpected ERROR!
    ⇒ It has been removed since v.0.1.85 and replaced by improving the internal operation of YesXR.

    If No CHOICE was confirmed by the Performer on the Control Panel window or a Dysfunction has occurred, the above YesXR — Oops! window is displayed and the program is quitting after a 5 seconds countdown progress bar.
* YesXR v.0.1.80 — Errors & Warnings windows — ‘YAD’ version *

Since v.0.1.80: YesXR is now warning the Performer when No File.ext was typed or selected and when the File.ext size is 0 KB (i.e. empty). This is applying for all three [RECORD-eRAM], [SEND-eRAM] and [BACKUP-mRAM] operations.

• DEBUGGING / TESTING YesXR
  • From within your File Manager, double-click on YesXR-0.x.yy.sh file, a system window opens and then click on [Run in a Terminal] button (instead of just [Run] for normal operation).
  • This is opening a dedicated Debugging Terminal (its window is maximized by default) indicating YesXR’s version as well as the script’s GUI Control Panel on top of it.
  • Proceed as per above for [MIDI/USB I/F], [RECORD-eRAM], [SEND-eRAM], [BACKUP-mRAM] or [MIDI MONITOR] operation.
  • Report any issue (well documented) you could face to when using YesXR with your preferred GNU/Linux distribution.

YESXR — Yamaha Electone Simple SysEX Recorder — Testing & Debugging Terminal (Yad version)

⇒ For reporting Bugs:
  • In the bottom of YesXR’s Control Panel window, click on the Contact URL under ⇒ About YesXR © www.linuxrouen.fr and fill in the Contact form on the web site.

♦ Download YesXR — ‘αlpha version’ (GNU/Linux)

• 2022/07/24  -for-  ‘YAD‘ versions either =0.40.x -or- ≥10.1 (GTK+ v.3.24.20/29)
   Download: ==>  YesXR_v.0.1.85.zip  (~ 15 KB)

  • TEXT MIDI Monitor: Functionality added. It prints any MIDI Data (System Exclusive and/or Any MIDI Messages/Data) received from the selected ALSA MIDI-IN port as Human Readable Text in a dedicated Monitor (but only if the Gnome Terminal is installed).
  • Some improvements and cosmetic changes.

Note: After a successful download on your GNU/Linux PC, unzip this zipped archive and extract its 2 files YesXR-0.1.85.sh (YAD – Bash script) and yesxr_logo-small.png (Logo) in the folder of your choice somewhere under your /home/user directory.
YesXR being a lightweight portable software, you can also put its 2 files on a USB stick and plug it into one of the USB ports (≥ v.2.0) of your GNU/Linux PC, as long as both ‘YAD’ and ‘Alsa-Utils’ are installed on the host PC.

IMPORTANT: With your System File Manager, verify/change if necessary the ‘Properties’ of ‘YesXR-0.x.yy.sh’ under the ‘Permissions’ tab (on your distribution the content of this window could look slightly different):
  • Proprietary: Yourself with full access (read/write)
  • Group: Yourself with full access (read/write)
  • Execution: √ Allow the execution of this file as a program!

⇒ The performers and users who are willing
to test the YesXR project and give feedback
are the welcome!

• Change Log History

2022/07/02: YesXR v.0.1.82 -for- 'Yad' version either =0.40.x -or- ≥10.1 (GTK+ v.3.24.20/29)
– YAD Compatibility: Now YesXR is also compatible with the latest YAD v.12.0 released on May 3rd, 2022.
– Some improvements and cosmetic changes.
2021/05/16: YesXR v.0.1.80 -for- 'Yad' version either =0.40.x -or- ≥10.1 (GTK+ v.3.24.20/29)
– HEX MIDI Monitor: Functionality added. It prints MIDI Data (System Exclusive and/or Any MIDI messages) received from the selected ALSA MIDI-IN port as HEXAdecimal Bytes in a dedicated Monitor (but only if the Gnome Terminal is installed).
– Many improvements and some cosmetic changes.
2021/05/08: YesXR v.0.1.70 -for- 'Yad' versions either =0.40.x -or- ≥9.3 (GTK+ v.3.24.20/28)
– ‘White Space’: Now all authorized characters, including ‘white spaces’, in the System File Manager are properly handle by YesXR for both Directory/Folder and File names.
– Minor tweaks and improved embedded source code documentation.
2021/05/03: YesXR v.0.1.68 -for- 'Yad' versions either =0.40.x -or- ≥9.3 (GTK+ v.3.24.20/28)
– Maintenance release: Fixed some error detection regressions, reordered the action buttons and made few cosmetic adjustments.
– Known issue: Currently YesXR cannot handle neither Directory/Folder nor File names containing ‘WhiteSpace’! This annoying problem will be fixed with the next release of YesXR.
2021/04/28: YesXR v.0.1.66 -for- ‘Yad’ versions either =0.40.x -or- ≥9.3 (GTK+ v.3.24.20/28)
– Control Panel: Now displays the last Action done with the File.ext used and its size.
– Technical tweaks for a better compatibility between the YAD versions and across the different GNU/Linux distributions.

YESXR v.0.1.66 — Control Panel with YAD v.0.40.0 (Linux Mint v.20) & v.9.3.0 (Manjaro Linux v.21)

2021/04/23: YesXR v.0.1.63 -for- ‘Yad’ versions either =0.40.x -or- ≥9.3 (GTK+ v.3.24.20/28)
– Control Panel: now displays the MIDI/USB I/F which was selected by the Performer.
– Additional Errors Windows: display messages when No file typed or No file selected in the File selection windows during [Backup-Mdr] – [Record-Ram] & [Send-Ram] operations.
– Countdown Bar: added back a Work in Progress indication for both [Backup-Mdr] and [Record-Ram] operations.
Minor technical tweaks & bugs fix.
2021/04/18: YesXR v.0.1.60 -for- ‘Yad’ versions either =0.40.x -or- ≥9.1 (GTK+ v.3.24.20/28)
YAD versions: Fixed compatibility issues between them and across distributions.
Now YesXR can be used with Yad versions between at least 0.40.0 (released in November 2017) & 9.1.0 (released in March 2021). This fix is a ‘compromise’ until the number of active YAD versions in circulation will be lesser and only closer to the latest releases. The look of YesXR can be slightly different from one distribution to an other one.
2021/04/15: YesXR v.0.1.52 -for- ‘Yad’ version =0.40.x (GTK+ v.3.24.20)
– Backup/Record All-RAM (Bulk Dump data): Capability added to do it directly from the Storage of the physical Yamaha MDR (Music Disk Recorder) ‘vintage’ devices (MDR-2 / MDR-3 / MDR-4 / MDR-10). This is allowing the performer to reuse his/her existing Electone All-RAM library with YESXR.
   . Today: MDR ⇒ MIDI/USB I/F ⇒ YESXR / YESXR ⇔ USB/MIDI I/F ⇔ ELECTONE
   . Yesterday: MDR ⇔ MIDI I/F ⇔ ELECTONE / ELECTONE ⇔ MIDI/USB I/F ⇔ YESXR
– Very Hot Issue: Too many active YAD versions are in circulation among the distributions!
YesXR is not fully compatible with YAD versions ≥ 1.0 up to today v.9.x! The YAD & Distributions developers are just getting me totally crazy! ⇒ Investigations are in progress to try to find a viable and medium term solution…
2021/04/12: YesXR v.0.1.43 -for- ‘Yad’ version =0.40.x (GTK+ v.3.24.20)
Improved Errors messages for the MIDI/USB Interfaces; i.e. Not detected & Not selected.
Minor technical and cosmetic tweaks
2021/04/08: YesXR v.0.1.40 -for- ‘Yad’ version =0.40.x (GTK+ v.3.24.20)
– MIDI/USB I/F Selection: Added a Selection window for choosing a specific pair of In/Out ports among multiple MIDI/USB Interfaces/Ports (rather than being limited to the 1st listed one).
Fine tuned Progress Bar/Window for both Recording and Sending.
Fine tuned the program reactivity.
2021/04/01: YesXR v.0.1.33 -for- ‘Yad’ version =0.40.x (GTK+ v.3.24.20)
– GUI: Major change from GxMessage to YAD (Yet Another Dialog).
Terminal is not used anymore for normal operation (just for testing and debugging purpose).
Added File Selection Window for both Recording and Sending.
Added Progress Bars for both Recording and Sending. – Fine tuned the errors handling.
2021/03/21: YesXR v.0.1.24 -for- GxMessage version / It was used as a POC (Proof of Concept)
– Minor GUI and names updates.
Minor technical tweaks.
Timing adjustments for older MIDI/USB I/Fs.

♦ It’s MANDATORY!

For reliable MIDI Messages Transfer including System Exclusive (SysEx) Messages/Data and Bulk Dump:
 – Choose modern Class Compliant devices versus Legacy ones which need dedicated drivers.
 – Use only high quality MIDI/USB Interfaces from well-known brands.
 – If using USB 3.x ports, make sure they are compatible with USB 2 mode.
 – Avoid all CHEAP and DIRTY No Brand Interfaces!

MIDI Tutorial — to learn more about this magical musical thing.
– You can also consult The Complete MIDI v.1.0 Detailed Specification or this short summary.

♦ Compatible YAMAHA ELECTONE
‘Vintage’ Series: ~ 40 Models (1986-to-2001)

Accordingly to their technical specifications, the Yamaha ELECTONE ‘Vintage’ Series hereafter should be fully compatible with YesXR (Yad versions = 0.40.x and ≥ 10.1).
Note: This MIDI (SysEx Bulk Dump) utility software has been fully tested under:
Linux MINT 20.3  —  a general purpose distribution based on Ubuntu 20.04 LTS (Debian),
Ubuntu STUDIO 22.04  —  a specialized distribution based on Ubuntu 22.04 LTS (Debian), and
MANJARO Linux 21.3  —  a general purpose distribution based on Arch Linux rolling release,
   -but only- with the
– Yamaha ELECTONE CHX/HX, HS & US Series, and
– Yamaha MDR-3 device peripheral (expander).
As the other here-below ELECTONE ‘vintage’ Series are using the same Bulk Dump Protocol than the above three ones, YesXR should operate smoothly with them without any issue.
Please, consult the User’s Guide or Owner’s Manual of your Yamaha ELECTONE Series and Music Disk Recorder for the detail of the recordable All-RAM Bulk Dump.

⇒ Should you have any question, feedback and/or suggestion, please feel free to contact me through this Contact Form.

Note: Not All Yamaha ELECTONE Series/Models were marketed in All Countries.
The (Date) is the date of the 1st Release accordingly to Yamaha’s official documentation.

Yamaha   ELECTONE   ‘vintage’   Series   -compatible-   with   YesXR  (Yad)
No  GM  Mode Specific  GM  Mode Specific  GM+XG  Mode
CHX-1 / HX-1 / HX-3 / HX-5
(1986)
EL-90 / EL-70  (1991)
⇒ EL-87  (1995)
EL-900 / EL-900m
(1998/2000)
HS-8 / HS-7 / HS-6 / HS-5 / HS-4
(1987)
EL-60 / EL-40
(1991)
EL-700 / EL-500
(1999)
US-1 / US-xyz
(1988/89)
EL-50  (1991)
⇒ EL-57 / EL-37  (1998/96)
EL-400 / EL-200 / EL-100
(2000/2001)
HE-8 / HE-6 / HE-4 / HE-3  (1989) EL-28 / EL-25  (1993/92)  
HC-4 / HC-2  (1989) EL-27 / EL-20  (1993/92)  
  EL-15 / EL-7  (1992)  

– ELECTONE ‘OTHER’ Series: They could be added if they are compatible with YesXR and upon enough interest and demands from the performers – users…

♦ Frequently Asked Questions

Q: Can I run YesXR on macOS or Windows?
A: No! YesXR built with YAD is only running under the GNU/Linux operating systems / distributions. But a version of YesXR in development built with Purr Data / Pd-L2Ork (Pd), instead of Yad, will run under free/libre GNU/Linux and proprietary macOS and Windows operating systems.
Q: Why I can't run YesXR?
A: Make sure you have correctly installed the ‘YAD’ package and all its dependencies on your GNU/Linux distribution.
Q: Why my MIDI/USB I/F is not recognized by YesXR?
A: Verify that the ‘Alsa-utils’ package and all its dependencies are well installed on your GNU/Linux distribution. Verify also that its USB cable is correctly connected to a compatible and working USB port on your computer. Make sure to use a class compliant and high quality MIDI/USB I/F from a well known brand.
Q: Why YesXR can’t communicate with my Electone / MDR despite my MIDI/USB I/F is recognized by it?
A: If its MIDI-IN/OUT cables are correctly connected to the Electone / MDR, you are probably using a chip and dirty no brand MIDI/USB I/F which is not complying to the MIDI v.1.x specification and especially for the System Exclusive (SysEx) messages and data. Use a high quality device from a well known brand.
Q: Why the MIDI Monitor is not working in YesXR?
A: Verify that the ‘GNOME Terminal’ is well installed on your GNU/Linux distribution.
Q: Can I use YesXR with other Yamaha electronic Synthesizers or Pianos?
A: The response in principle is ‘yes’, -BUT- the YesXR script needs to be adapted to the particular model or Series of such Yamaha instruments. If you have some knowledge about computer programming (such as Bash/Shell script, Yad, Alsa utilities, etc.) and the MIDI v.1.x specification, you can do it by modifying about (only) a dozen of lines in the YesXR script. For doing that, you will need to know which specific System Exclusive Messages / Bulk Dump Related Messages of the targeted MIDI device you will have to use. Consult their Technical Specifications / User’s Guide / Owner’s Manual.
Q: Can I use YesXR with other Brands of electronic Organs, Synthesizers or Pianos?
A: The response in principle is ‘yes’, -BUT- with the same remarks than in the previous answer for Yamaha.
Q: With which tools can I modify and debug the Source code of the YesXR script?
A: The basic way is to use an enhanced Text editor with at least Code syntax highlighting like Gedit (Gnome), Kate (KDE), Notepadqq, Pluma (Mate), Xed (Cinnamon), etc. and a standard Linux Terminal emulator.
Or you can choose a more powerful Development environment like enhanced Source-code Editors or IDEs (Integrated Development Environments) that can be used with a large variety of programming languages and plugins. Among them you will find Anjuta, Eclipse, Geany, PyCharm, Visual Studio Code, etc.

YesXR Project (Yad) developed under Visual Studio Code / Linux Mint