Where do I begin? Maximising the Electra One's Capabilities

I have owned the Electra One for a while now and there’s usually a few roadblocks I come up against when trying to complete presets.
It seems that in order to get the maximum use out of the device it is necessary to have more technical knowledge than I currently have. I have some knowledge of MIDI but not much beyond that.

Would anyone be able to give me a distinct learning path to get me up to speed? I see the Lua scripting language mentioned a lot. I’m guessing that’s part of it. Are there any other essential topics to learn? What would be the best order to learn them in?

Thank you.


What devices are you trying to talk to with the Electra One?

That would help give some context so you could get more immediately useful info.

Not to hijack the thread, but I have (or will have) the same concerns as the OP, except I don’t have one yet and am about to join in the pre-order. For me the only hardware I’d use it with is an old Kawai K3m & and Alesis Micron. But I think most of my use for it is really for softsynths like GForce’s OB-E, Pigments, Korg’s lineup, especially OpSix/Wavestate & Collection, etc. I even thought about jumping into videoplayback like Resolume.
I used to be technical, then as I got older I seem to have gotten technologically stupider, so I hope the Electra won’t be too complicated for me. Not a whole lotta vids are out there it seems, for newbies like me. Guess remember how to read manuals again :grimacing:


One of the reasons for asking is that a lot of softsynths let you use a Learn type function to more easily map hw controls to parameters.

The Micron has an Electra One preset created and I thought someone was working on a Kawai one as well.

The updates that Martin had been doing to the E1 and the web GUI have really improved the ease of use and speed of developing new presets.

Typically what causes the most headaches is the semi-documented, convoluted MIDI system exclusive specs of older gear as well as their inability to support a fully remote mode of control.

(Prime examples include being able to send and receive MIDI dumps but not being able to send messages to control front panel button pushes. This ends up either creating a lot of complex internal steps and processing or requiring the user to still interact with the hw unit)

Thanks for the replies.

I didn’t make the question device specific because I didn’t want to be spoonfed the answers.
I figured it would be less time consuming to just learn what I needed to learn. Sometimes I have a problem and my lack of knowledge makes it difficult to just word the question properly.

Anything beyond needing to use MIDI CC is where I start to struggle.

One question would be how to get a device to send it’s parameter values back to the Electra One once the preset loads.
Another would be how to scale MIDI CC to a devices parameter when the parameter isn’t 0-127. For example I have an EQ pedal that accepts MIDI. I would like to control the frequency parameters but since frequency isn’t linear, I’m not sure how to proceed.

These are just examples. I’m guessing all my questions will come back to Lua scripting. This is something I should be able to learn. I did a little programming many…many years ago so it won’t be completely alien to me.

I was wondering will it suffice to learn just Lua or are there other topics I need to learn in order to implement it?

The next level you need to make yourself acquainted with MIDI NRPN and RPN messages, then learn about MIDI SYSEX if you are into hardware.
At the device side, learn about its MIDI implementation chart and check against your own learned knowledge. That should make sense now. Check also if the device can ‘speak’ sysex and if you can find those specs. If it still all make sense to you , apply the knowledge to create your own presets.

For software devices, check what the software allows you to configure when it comes to MIDI settings. Try to create a preset that matches that configuration.

Once you are there and still hungry, make your presets more complex until you hit the limits of what you can do with presets without lua. Now you’ve reached the moment to learn a bit about lua…

1 Like

Fair enough. Easiest place to start is to define a few controls in a new preset and set their type to CC, NRPN or whatever. Demonstrate to yourself that you can modify settings on the fly.

For keeping the device and the Electra One in sync, usually you’ll need to send a ‘Patch Request’ to the device and parse the response. That requires finding and generally understanding the specific MIDI sysex protocol for that device.

You can do a lot without needing LUA. Martin has really tried to create an editing and development environment that can handle a lot of basic interactions.

Read through the on line docs and just play around a bit. If/when you hit some limitations, then start the dive into LUA.

1 Like

Quite a few devices send out the current preset parameters when receiving a program change, in either CC Format (easy) or sysex (not so easy).
Some others need a special patch request sysex command.


Just to do a bit of follow-up. If your device has a published MIDI specification and it can send/receive patch dumps, then you can definitely have the Electra One request the current patch and process the info.

Second - scaling of parameters. Even though the device is showing frequency jumps they still map in some way to the available range of whatever MIDI protocol is being used. Yes, CCs are 0-127, but the device is free to say “when I see a CC value of 10 it mean 120 Hz, 11 mean 125 Hz, and 12 means 132 Hz”. NRPNs and system exclusive messages provide a finer degree of control, but not all devices support them.

So if you pedal only has CC control, your job would be to simply send MIDI CCs for the particular parameter number and value(s) you need. That can be done with 1 control on the Electra One and no LUA necessary.

Taking an existing template for a real piece of gear or one of the examples Martin has kindly created is the best way to see how things can be implemented. It would help your learning curve if you selected examples that used the same protocols that you needed for your device. Even if you don’t have the actual device to hook to the E1, looking at the controls and any underlying LUA code in the web UI is a great starting point.

Also - there are on-line/web LUA compilers where you can type in (or cut and paste) LUA code and see how it runs without needing the full Electra One system available. Doing some basic programming tutorials outside of the E1 is a great way to understand the basics of how LUA can be used.

1 Like

Thanks everyone for your input.

1 Like