MIDI parameter modulation?


Sorry if it already has been requested, but I am wondering if the E1 is able to provide four types of modulation and if it’s easy to program :

  1. LFO: according to the documentation, it seems doable.

  2. Envelope: I’d like to trigger a little “curve of values” for a specific parameter when a NOTE ON is received. In other words, it’s like a MIDI ADSR.

  3. Macro: the ability to control different MIDI parameters (not necessarily already programmed in the preset) with specific ranges

  4. Step sequencer: a simple way to trigger a sequence of notes (or parameter values) when hitting a “play” button, or when receiving a NOTE ON message

I don’t know if it’s clear. Don’t hesitate to tell me if it’s not the case.
I don’t have my E1 yet, but I find that these features would be a game changer for a lot of potential new users.

Such things should be possible to implement via the LUA API, specifically the timer API: Preset Lua extension | Electra One Documentation

You can also change the range of existing controls via the LUA API: Preset Lua extension | Electra One Documentation

You’ll either need to be able to script this up yourself or find presets that have the desired functionality already implemented here: Electra One App

Just read the LUA documentation and see if you think you have all the functionality that you need. That’s how I decided if I should buy the E1 (I did :slight_smile: ).

Thank you very much for your answer.

I think you replied to two questions at the same time: such features can be programmed but are not native, and if I have to script everything I should not buy the E1 :sweat_smile:

Can .lua scripts be shared somewhere (just scripts, like max objects)? If someone creates a script for creating macros, can it be implemented in user presets easily? Something as we have in the editor, in the side panel, we could call “macro”, “LFO”, or “step sequencer”.

I know it may not be the initial purpose of the E1, and that providing the users to script is a chance. However, for my personal usage, I don’t want to spend dozen hours before making music. It’s not a big deal if things aren’t all native, but if the community creates great scripts, it should be available quickly for all users, like the Reapack in REAPER.

Users can share their presets including their LUA scripts easily with others here: Electra One App

However, merging scripts from different presets might take a fair bit of scripting on your side, depending on the complexity of the scripts involved (which I’d guess will be rather complex for the features you’re looking for). So I wouldn’t say that it’s easy to implement multiple scripts from other users into a single new script.

Thanks for your reply and your reactivity. You E1 users are very precious for potential newcomers like me.

I don’t see specific filters for scripts in the preset library. I expected something more tidy but if we can download a preset to pick up a script, it’s also a good thing.

@NewIgnis has done a LFO Electra preset in the past

The timer goes down to 10ms currently which should be good for most use cases but might be a little imprecise for something like a snappy envelope.

I had asked at one point if we could get the API a bit lower for the values even if it’s at your own risk :slight_smile:

Getting lower than 10ms on most systems means you have to be really careful with the interrupt service routines so they don’t get too long/burn too much CPU.

1 Like

Thanks for the info. I cannot find it in the preset library. Maybe it would be a good idea to share this script so that other users can copy/paste the code to use a LFO to control any parameter.

You’ll have to ask the creator :wink: (presets can be private or public)
He showed it to me at a superbooth a couple of years ago. It was running great, but taxed the cpu significantly iirc

1 Like