Getting to know the Electra One

Let us introduce you to the Electra One. The following lines will guide you through the landscape of our controller and the companion software tools. The Electra One is often referred to as the MIDI controller. That is correct, but Electra One also is much more.

What does it do?

  • Sends out MIDI messages on user actions or programmatically.
  • Receives and visualizes incoming MIDI messages.
  • Routes and merges MIDI messages between USB device, USB host, and MIDI IO ports.
  • Composes and parses System Exclusive messages in real-time.
  • Runs Lua script to generate and process MIDI data and hook Lua functions to all event types.
  • Saves and re-calls snapshots and sets of all preset values.

Where does it fit in my setup?

There are endless possibilities to connect Electra One to your setup. It always depends on the style of your work and the gear you have. To give you an idea, let us show you a few examples:

A synth programmer

The most straightforward connection. In this scenario, Electra One usually runs a preset that covers all parameters of the connected synthesizer. The benefit is instant control of all sound parameters.

It is also possible to create presets that extend the functionality of the connected device, for example, by adding extra MIDI LFOs and other functionality by using Lua scripting.

DAW and VST/AU controller

In DAW-based setups, Electra One controls the DAW, for example, the channel strips and the parameters of VST/AU plugins.

There are two ways of doing this. Either by mapping individual DAW and plugin parameters or by using controller integrations, such as Electra One Ableton script and Electra One Bitwig integration.

Multiple MIDI devices

This is typically used on the stage and in performance setups. The Electra One preset consits of controls from all connected synths. A good example is having all the filter cutoffs and resonances on one page and tweaking them from there.

As switching between presets is easy, you can have Electra One presets tailored to specific sets or songs.

Hardware gear and computer

This is a variation of the above setup. It comes in handy for both studio and stage setups. The only difference is that your Electra One preset controls sound parameters in your DAW and / or runs a DAW controller script.

The hardware synths can be controlled either directly by the Electra One or the MIDI messages can be routed through the DAW.

MIDI router based setup

Using a MIDI router is the most flexible and convenient way of adding Electra One to complex setups. It allows you to completely manage the flow of MIDI messages between the controller and the gear. Of course, a MIDI router represents an extra cost.

Electra One has been successfully used with iConnectivity routers and the BomeBox.

Where do I find presets?

The Preset library

Electra One comes with a cloud-based service to create, edit, and share presets. One part of the service is a Preset library. It is a user-friendly tool to browse all available presets and upload them to the Electra One controller. Of course, you can use it to manage your own presets.

Users can decide if they share their presets. We leave it up to you. Usually, people share presets that cover the MIDI implementation of a specific synthesizer, while presets for their studio setups stay private.

Each preset may come with a description and instructions about how to use it and how the connected MIDI device needs to be configured. The information is provided by the preset author. We encourage our users to fill it in. It is super handy to have such information available when using the preset for the first time.

The preset description often includes links to User Guides, manuals, and the MIDI Implementation documentation. In a way, the Preset library is also a neat reference place for your favorite gear.

Managing the controller

Besides the Preset library, you can use the online service to manage presets and configurations stored in your controller and run firmware updates of the hardware controller.

Easy, fast, and safe firmware updates are our priority. We listen to our users, and we keep adding new features and release bug fixes often. The Preset library keeps you informed about new updates. And updating your controller is a matter of a single click.

There is more to tell about the Preset library, but for now, you should have a good idea about what it does by now. Let's move to the second bit of Electra One cloud service - the Preset editor.

How do I create presets?

Easily. Creating basic presets is matter of minutes spent in the MIDI learn panel and drag and dropping the controls to the preset.

The Preset editor

The word "basic" might be a bit misleading. We talk here about presets that send out Control Changes, Notes, AfterTouch, and all other MIDI message types. Of course, such a preset will also track values according to the incoming MIDI data.

Preset controls are organized by placing them on pages, assigning them to categories, and changing their colors. Everything is well organized. You will not most likely need to look at the User guide.

Preset also allows you to define up to 32 MIDI devices to communicate with, to set their MIDI ports, channels, and assign controls to them.

Whenever you upload a preset to your Electra One controller or when you save it, a new revision of the preset is stored safely in our system. This gives you a chance to restore older versions of your work later when you need it.

You are not limited to basic functions only. With the Electra One you can go much further. Composing System Exclusive messages and parsing incoming patch dumps is the next step. The most advantageous user can use Lua scriting to take full control over the controller.

The Patch editor

The Patch editor is quite a unique tool. You can use it to describe the protocol of exchanging the System Exclusive messages with MIDI devices. This is done by defining the data requests and the data responses.

Once the requests and responses ared defined, you can interactively communicate with the MIDI device and observe the incoming messages. The Patch editor will automatically mark changing bits and bytes, allowing you to locate the parameters in the stream of the MIDI data. Assigning the parsed values to the preset controls is just a matter of a few mouse clicks.

The Patch editor can be effectively used for reverse engineering of undocumented System Exclusive MIDI implementation.

The Toolbox

There is a Toolbox with several handy tools to work with Lua and the MIDI message. The Toolbox is a companion to the Preset and Patch editor. The purpose is simple: to make working with Electra One more efficient, easier, and fun.

The Lua editor

Edit the Lua script directly in the Preset editor. The editor is a programming-grade tool with syntax highlighting, code folding, and many other features.

The debugger log window underneath the editor shows info about what is happening in the controller.

The Lua debugger

A command prompt to enter Lua script commands and snippets to be executed interactively on the controller.

The Lua debugger gives you an easy way to develop, test, and debug your Lua scripts efficiently. The log window above the command prompt provides info from the controller.

The MIDI console

Communicate with your gear interactively by sending and monitoring MIDI messages. MIDI console accepts MIDI commands in syntax inspired by the Sendmidi tool in raw dec/hex format.

Received MIDI messages can be analyzed, saved to files, and copied to the Patch editor.

What types of MIDI messages are supported?

All of them and in both directions. Electra One can send out any type of MIDI message, as well it will act upon receiving all of them.

The MIDI messaging is managed with a user-friendly editor, keeping all the technical difficulties away from you.

System Exclusive messages may have variables and custom Lua functions injected. Data can be extracted from incoming System Exclusive messages and transformed into parameter values.

System common messages, such as Tune request, Reset, and Active sensing, can be sent and processed with Lua functions.

  • Control change
  • NRPN and RPN
  • Program change
  • Channel pressure
  • Polyphonic pressure
  • Note on and off
  • Pitchbend
  • Start, stop, and continue
  • Midi clock
  • Song select and Song position pointer
  • System Exclusive

What can I do with the Lua script?

You can do a lot with the Electra One Lua script. It pretty much depends only on you and your skills. You can do simple things to spice up your presets, such as formatting values on the display, or you can develop transcient generators, handle complex SysEx communication, and much more.

The Lua script can be used to control the Electra One user interface, too. You can rearrange controls on display based on values of parameters. That means your presets may show only relevant controls. Changing colours or text lables? All that is just a matter of a few Lua commands.

Electra One Lua comes with a powerful concept of the Parameter Map - a reactive MIDI parameter data store. Just save your values to the Parameter Map and Electra One will take care of displaying and refreshing all visual data everywhere.

You may ask why Lua? The answer is simple it is fast. Speed of processing and fast responses are the highest priority of the Electra One project. Lua perfectly fits that goal. Do you need to process or generate data with every MIDI clock message? No problem, Electra One Lua will handle that just fine.

Last but not least - it is fun. Many of us used to play around with programming when we were young. We gave up, however, as world of serious programming is moving too fast. The Electra One Lua script is intended to provide easy to grasp programming techniques tailored to controlling your MIDI gear.

Learn more about Lua at The official Lua site.

MIDI

A complete suite of functions to send out and process all types of incoming of MIDI messages.

Controls

A library to manage visual representation of the parameters - Controls. Move them around, change dynamicaly their colours, text labels, and visiblity.

Callbacks

A set of callbacks to handle all sorts of Electra One events. Trigger bits of your own functionality when presets are loaded, pages switched, buttons pressed.

Transport

Handle MIDI start, stop, continue events with ease. Run your function at the rate of extrenal MIDI clock.

Timer

A collection of functions to run Lua at user given rates, defined in time intervals or BPM.

Patch

Request and process SysEx messages from connected MIDI devices. Parse incoming MIDI data and populate parameter values.

Visit Electra One Lua Extension Guide to see complete information about programming Electra One Lua..