Ansible Earthsea


Excited to give this a try over the weekend!


Wow! Thank you so much @scanner_darkly! This looks incredible. :star_struck::star_struck:

Which Ansible firmware is this based on? Does it have the @freqout updates?


probably has everything except ratcheting as i haven’t done a pull request for that feature yet. i can submit that over the weekend and hopefully we can keep new Ansible developments relatively unfragmented.


shouldn’t be a problem, i can merge your change once it’s merged to master.

i had a couple of hours before my trip, so here is a new beta:

it includes bugfixes for the following bugs:

  • pressing runes transposed when arp mode is active
  • linearize didn’t account for chords (interval too small)
  • boundaries for arp mode were incorrect

also you can now invoke runes while in pattern view mode - very handy.
started on edge mode, if i only had half more hour it’d be included in this beta…


something i’ve always wanted in earthsea is a way to overdub notes on an existing pattern as it plays back. would this be possible with the new ansible earthsea codebase?

also, will it be possible to switch this into monophonic?


I would love a mono mode! Or maybe to be able to select how many voices are being used.


quad mono mode would be amazing.


how would that work? i mean, how is this different from polyphonic mode?


one page per independent pattern/voice, with the advantage of knowing which voice is being controlled by a dedicated cv/gate-out pair. plus it would allow for portamento/note slew per voice, like the original monophonic earthsea implementation.

it’s what elektron does with the analog4, where you have four independent oscillators, with different pattern entry pages for each. you can program them to simulate polyphonic phrases, or just use them to create individual unique melodies and counterpoint, with their own parameter locks etc. forming a four-track song.


i’m going to say this unfortunately exceeds how much time i can dedicate to it. a multi page UI would be a major feature.

but: i will try to add settings for max number of voices for pattern and live play (so, you could make a mono pattern playing as voice 1 and then play live on top of it using voices 2&3, for instance).

overdub: was already thinking about adding it. will see if i can do it quickly, might have to be something for next version.


Personally, I think that seeing all the voices at once is fine. Overdub could just be a button that you activate and the mode would let you add to your existing pattern, no need for extra pages. Also, an undo of the last pass would be nice, but I’m not sure how complex that is.


it would be a pretty major effort. it’s basically programming four independent tape loops, with all their beautiful phasing against each other at different playback speeds–to me, that’s the real advantage of an ansible port; four monophonic earthseas in just one module. definitely a tricky thing to solve. i might dig through the code for mp/kria; see how their page system is implemented. maybe the three bottom-left buttons could be used as page switches…


exactly, i don’t think elektron allows you to have arbitrary intervals and pattern length per voice…

this can be done in a much easier manner. i could add the ability to play multiple patterns at once. then you specify voice allocation for each pattern. if they share a voice they’ll steal from each other when needed, if not they can play simultaneously.

forgot to mention, i’m also planning to make double speed non destructive (and i should also mention i’m not planning on porting new features to original ES).


Does this require Teletype? [N.B. I hope not!]


it does not! i do want to add some crazy teletype ops for this though (such as get pattern length, get total time, get event by index, skip to position by index or time etc etc)


This thread is making it hard to avoid buying an Ansible. :rage::rofl:

Or 3.


i’ve been thinking about this, and i’d like to propose a couple of things. first, instead of double speed / half speed how about more gradual adjustments? say, increasing/decreasing by 25%. another option: having 2 sets of runes for speed, coarse / fine. as mentioned earlier i’m also planning to make these non destructive, so if you increase and then decrease speed you won’t lose precision.

another thing i could do is add an option to keep note lengths intact when changing speed. this would be in addition to changing note length proportionally - sometimes i think you’d want the latter.

this doesn’t mean there won’t be edge modes anymore - as a matter of fact i think it would be useful to have the option to apply the current edge setting to all notes in a pattern. actually, it could even be an option to adjust length for all notes by a specified amount (similarly to speed) but i don’t want to overcomplicate the user interface. perhaps this could be added as a new edge mode? so, you’d have original note length / fixed with specified time / shortened or lengthened by specified amount / drone.

what does everybody think of losing the top row for playing and instead making it a jump to “position” mlr style? together with the ability to define a loop. @michael_matos @shellfritsch is this what you guys had in mind?


thank you @scanner_darkly!!!

you made this dream of mine come true. So wonderful. I spent a good long time today playing the shit out of ansible/earthsea (might i suggest Æarthsea as a name variation?)

i’m not sure if it would be a total pain in the ass thing but I have found myself really wanting an octave up/down transposition control. I wonder if that could fit on the page with the speed control stuff?

thanks again!!


sorry it took a bit longer than promised :slight_smile:

for octave/semitone up/down it would be easy to add. but isn’t it already possible with arp mode?


no worries, I’m just thankful you made it happen.

yeah it is possible with the arp mode, but i was more interested in shifting the whole keybed up and down.