Enzo editor v1.0
Control your Meris Enzo pedal with your web browser. View all the pedal's settings at once.
- A browser that supports the WebMIDI standard. Currently, only Chrome and Opera support this standard.
- A Meris MIDI I/O interface.
- A MIDI interface in your computer. This can be a homestudio audio interface or, if your computer support Bluetooth, a MIDI Bluetooth adapter plugged into the Meris MIDI I/O interface.
- Set the Enzo's EXP/MIDI connector for MIDI communication.
- Set the Enzo's MIDI mode to MIDI OUT.
- Set the Enzo's MIDI PORT.
- Connect the Enzo with the MIDI I/O interface. Use a stereo (TRS) jack cable.
- Connect the MIDI I/O interface to your computer.
- Open studiocode.dev/enzo-editor
- Allow the browser to access your MIDI devices.
- In the top-right of the editor, select the MIDI input and output devices corresponding to the MIDI I/O and the MIDI port corresponding to your Enzo MIDI port setting.
- Move a knob on your Enzo, the corresponding control in the editor must react accordingly.
- Play some sound through the Enzo and move a knob in the editor. The sound should change as if you have moved the same control on the Enzo.
- Enjoy your Enzo!
Note: if you can switch presets from the editor but nothing happens when you move a control, that means the input and output devices are correct but that the MIDI channel is incorrect.
MIDI on the Enzo
If you can't get the MIDI communication working, check the following on the Enzo:
- The Global Settings EXP MODE is set to MIDI
- The Global Settings MIDI is set to MIDI OUT
- Choose a Global Settings MIDI CHANNEL.
- The cable between the Enzo and the MIDI I/O interface is TRS (stereo).
- The MIDI I/O interface is powered on.
- The Enzo is powered on.
- The TSR cable is connected between one of the 4 MIDI I/O jack and the Enzo's EXP/MIDI connector.
- The MIDI I/O interface is connected to your PC.
- The MIDI editor uses the same channel as the Enzo's MIDI channel defined in the Global Settings.
MIDI in the editor
Once you have your Enzo connected to the MIDI I/O interface, you must configure the editor:
- Select the input device
- Select the output device
- Select the MIDI channel
The editor's preferences (settings) are saved in your browser's Local Storage.
If you refuse access to MIDI, the editor will display the following message:
Waiting for MIDI interface access... ERROR: WebMidi could not be enabled.
See the WebMIDI page for instructions about how to enable WebMIDI.
The square buttons 1 to 16 on the top left of the editor allow you to directly select one of the sixteen editor settings.
|No communication with Enzo. Preset not modified since loaded.|
|No communication with Enzo. Preset has been modified since loaded.|
|Communication with Enzo OK. Preset not modified since received.|
|Communication with Enzo OK. Preset has been modified since received.|
A normal (or slightly dark) background indicates that the editor is not able to communicate with the Enzo.
A yellow background indicates that the editor is able to communicate with the Enzo.
No dot in the preset selector means that the preset has not been modified since it has been loaded from a file or received from the Enzo.
A dot in the preset selector means that the preset has been modified since it has been loaded from a file or received from the Enzo. In that case the dot means that the values in the editor (and in Enzo when communication is working) are different from the values stored in Enzo memory (or saved in the preset file, when loaded from a file).
If you want to keep your current values and store them in the Enzo memory then you have to use the SAVE command from the menu. See next chapter.
- Select a preset,
- Twist the knobs, have fun, make a great sound,
- Save the preset
From the Meris online FAQ:
To save a preset, press one of the footswitches on the preset switch, modify your sound, then hold ALT to save."
Note: you can not save to preset number different than the current number.
To save the preset, use the SAVE menu option in the editor or press and hold the ALT button on the Enzo.
Note: if you save the preset on the Enzo (with ALT button), then you have to select the preset again in the editor to make sure it remains in sync with the Enzo.
Presets can be stored in files (binary .syx files) and, with this editor, presets can also be stored as URLs.
When you load a preset, it is sent to the Enzo and replace the current live values. It does not replace the preset stored in memory. If you want to keep the preset you loaded in the Enzo, then you need to store it, either by using the menu SAVE command of this editor or by pressing and holding the ALT button on the Enzo.
Press the Tab key on your keyboard or click "down" near the EXP slider in the editor to toggle between the two sets of values stored in a preset.
When you edit the second set of values, the control's name are written in lowercase. They are written in uppercase when you edit the default set of value.
The EXP slider allows you to simulate an expression pedal connected to the Enzo.
- The slider's toe up position (slider at 0) corresponds to a opened (toe up) expression pedal.
- The slider's down position (slider at 127) corresponds to a closed (toe down) expression pedal.
The value displayed next to the slider is:
- 0 : corresponds to an expression pedal in the toe up position (default position)
- 100 : corresponds to an expression pedal in the toe down position.
How to set the values for the EXP pedal
- Set the normal values, for the toe up position of the pedal.
- Click the "down" button next to the EXP slider to enter the EXP edit mode
- Click the "copy" button next to the EXP slider (this button is only displayed when "down" is pressed)
- Set the second values, those used for the toe down position of the pedal.
- Click the "down"" button next to the EXP slider to quit the EXP edit mode
Now, when you move the EXP slider you must see the controls' values morph between the normal and second values you set.
Do not forget to save these values in Enzo preset memory if you like them. Use the menu SAVE command.
EXP in detail
For each of its knobs, the Enzo stores two values:
- the first one is the default one and is used when the expression pedal is at 0 or when no expression pedal is connected.
- the second value is the one ued when the expression pedal is at its maximum.
When you move the expression pedal between its min and max position, the Enzo will morph the values between those two sets of values.
Please read the Meris Enzo User Manual, section 5, for more informations.
This editor lets you define the values for the two positions of the expression pedal.
By default, the first set of values is always used. To edit the second sets of values you have to click on EXP down button:
The down text will be highlighted and also all the knobs names will change to lowercase. This shows you that you are now editing the second set of values.
Note: you can also use your keyboard TAB key to toggle between the two sets of values.
When you are editing the second set of of values, you can use the copy button to copy the first set of value to the second set.
To switch back to the default set of value, simply click down again. The down text must change back to black and the knobs names must change back to uppercase.
You can now use the EXP slider to smoothly morph between the two sets of values. The editor will interpolate the values to show you what the Enzo is probably doing. But there is no guarantee about that. The editor does a linear interpolation. Maybe Enzo does a different kind of interpolation.
If you want to use this with a real expression pedal connected to the Enzo (and thus without MIDI), do not forget to save your preset with the menu's SAVE command.
MIDI Input 2
You can enable a second MIDI input in the editor's preferences.
When enabled, this second input can be very useful to test the pedal's configuration with an external MIDI controler.
All messages received by this second input are forwarded to the selected MIDI output if the message if supported by the pedal.
You can also use this second input to check the configuration of an external MIDI controler even without a pedal connected to the editor. The received messages will update the editor's controls and thus you'll be able to check that your external controler send valid messages.
The editor can update its URL to include a representation of the current settings. This is like appending a hexadecimal SysEx to the URL.
When you access an URL containing such a parameter, the editor will use it to set the value of the knobs and switches. It will also send these values to the Enzo.
So you can use URLs as preset bookmarks!
Opening the editor with a URL containing a preset
If you already have the Enzo running with a nice preset and you connect it to the editor, maybe you don't want the editor to overwrite this preset because you open it with such a URL. To avoid this case, in the editor preferences, you can choose the behavior you prefer:
Automatic update of the URL
You can manually update the URL with the URL command in the menu or you can let the editor automatically update it. You can set this in the editor preferences:
The REC button also lets you start at will the auto-updating of the URL.
REC is automatically stopped if you use your browser's history.
Use REC to record all your changes and later on travel back in time!
|Init||editor --> Enzo||Set convenient "default" values.|
|Randomize||editor --> Enzo||Set random values for all controls.|
|Send||editor --> Enzo||Send the editor's current values to Enzo (does not save in Enzo's memory).|
|Save||editor --> Enzo||Tell the Enzo to save in its memory the editor's current values (updates the current preset).|
|URL||editor only||Update the editor's URL with the current values. This makes a "bookmarkable preset".|
|editor only||Open a popup window with the currents settings displayed for printing (or saving as PDF).|
|Load||editor --> Enzo||Load a preset from a sysex file and send the values to the Enzo.|
|Download||editor only||Download the current editor's values as a sysex file.|
|Midi||editor <--> Enzo||Open a popup displaying all the MIDI messages exchanged between the editor and the Enzo.|
|Global||editor <--> Enzo||Display and edit the Global Settings of the Enzo.|
|Prefs||editor only||Display and edit the editor's preferences.|
|Help||editor only||Display a summary of the editor usage.|
|About||editor only||Display version and credits about the editor.|
Synchronizing Enzo and the editor
IMPORTANT: please keep in mind that the editor only has the possibility to read the saved preset from Enzo. It can not read the current values of the controls. These values may be different from the one saved in memory (saved as a preset).
Also, do not forget that each time you access a "Alt/2nd layer" value, the preset is saved (see Enzo User Manual Section 7, page 9).
It is therefore recommended to always select a preset from the editor as first action after having opened it. After that, unless the MIDI connection is interrupted, the Enzo and the editor should always remain in sync.
Synchronizing with SysEx messages
The editor can receive SysEx from the Enzo. You can use this possibility to update the editor with the current preset of the Enzo. You have two possibilities to synchronize the editor with the Enzo:
- Select a preset from the editor.
- Or, from the Enzo, send the preset as Sysex Data (see Enzo User Manual page 9). To do that, press the Bypass LED switch while holding the ALT button. The editor will tell you when it has received a preset as SysEx.
Note: while you hold the ALT switch, the Enzo will save the preset before sending it.
Out of sync
The editor can become out-of-sync with the Enzo in that situation:
- The editor is not yet connected to Enzo.
- On the Enzo a preset has been loaded.
- On the Enzo, some values have been modified.
- The editor is started. a. The editor will read the current preset (from the Enzo memory) b. Enzo will send the value saved in memory for the current preset. It will not send the current values of the knobs and buttons.
To avoid this problem:
- Option 1: select a preset in the editor. This will select the preset in the Enzo. Unsaved settings will be lost.
- Option 2: save the current preset (with the WRITE command in the editor or the ALT switch in Enzo) then select this preset from the editor. No settings will be lost and the editor will be in sync.
Limitations of this editor
This editor will not work in Firefox, Safari, IE or Edge because these browsers do not support the WebMIDI API.
The editor will not work under iOS (iPad, iPhone).
This editor has mainly been tested with Chrome on a MacBook pro running the latest OS release. Some tests have been done with success with Chrome under Linux Mint 17.1 and with Chrome under Windows 10.
Still under active development. Feel free to log bugs/issues.
- Filter Type does not follow EXP.
- The TEMPO value is not accurate when set from the TAP switch.
- It is not possible to capture the press & hold of the TAP footswitch because the Enzo only sends a message for when the footswitch is pressed, but not for when it is released.
- Selecting a preset with EXP set to max in the editor does not reset EXP when the new setting is loaded.
A big thank you to Meris for having provided precious information regarding the SysEx data. This editor could not have been so complete without their support.
Disclaimer and License
This editor is not endorsed by, directly affiliated with, maintained, or sponsored by Meris.
This editor is published under GNU General Public License v3.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You can view and get a copy the license at https://www.gnu.org/licenses/licenses.en.html#GPL.
This editor is an Open Source project. You are welcome to contribute. The code is available at https://github.com/francoisgeorgy/enzo-web-editor.
To contribute your bug fixes, new features, etc.:
- Fork the project.
- Create a pull-request.