Ansible Development and Beta Firmware Discussion

Here is a patch which changes the duration parameter behavior so that at the maximum duration setting, no matter what your duration clock divider, notes will always tie because note-off events are disabled when this parameter is set. This does potentially represent a behavior change, but I think it was the intended behavior? Some discussion e.g. here, I suspect that this change is basically the same as what @scanner_darkly posted here.

ansible.hex (369.9 KB - 7e8ef44 - 2020/06/04)

This also includes all 3.0.0 functionality, and the “meta pattern locking” suggestion discussed a bit up-thread. The topic is old enough that I cannot edit the top post anymore, Brian briefly re-enabled this for me but I squandered the opportunity to change the top post into a wiki or something.


kr.scale is not working for me, setting nor getting, latest beta
or does this belong in teletype thread

Works for me, can you describe your Ansible settings? Do other Kria i2c ops work?

How easy might it be to adapt levels so that each ring behaved independently, allowing for individual step lengths for each ring?

Rather than being 16 patterns, where each pattern “is the set of four values assigned to rings”, I’ve been re-imagining levels as four step sequencers with individual lengths of up to 16 steps.

This would allow for polyrhythmic sequencer patterns of up to four voices, or patterns where CV output assigned to e.g. env. decay or filter cut-off would fall on a different note in a sequence each run though. (I’m aware this is a pretty fair description of exactly what kria does, but I really like everything else about the arc / levels interface.)

Does this sound like something that might make for a possible future development for levels, or is this is a significant enough departure from the original vision so as to make it highly unlikely?

I guess I’ve been watching too many 0-CTRL videos. :slight_smile:

I had forgotten that while in leader mode, no ansible ops will work. Not ideal, but at least nothing’s broken!


Correct, being fully bidirectional is probably not possible in general, see discussion here.
However you can send I2C messages to your voice modules from Teletype at the same time, to some extent. I would say this is technically experimental, but I do it a lot. If it locks up any of your modules, give a shout.

Thank you!

What I’m interested in are vivid harmonic modulations… easy to implement transposition with JF.SHIFT, but not in combination with timed scale changes. Perhaps a more interesting-sounding approach would be sequencing just friends TIME and INTONE outside just type mode, but I feel closer to something immediately beautiful with the impossible–all i2c–approach.

I understand this could be accomplished with kria’s metasequencing, which I’ve found daunting for some reason. Or I suppose teletype control over ansible’s leader/follower mode could solve my problem easily… switching modes within a script, but that seems a funny workaround in this case.

New build in the top post (7a8f852) contains (hopefully) fixed MIDI tuning behavior, and the option for a reset pulse in Kria to reset the metapattern playhead as well as the pattern playhead. This was mentioned quite a while ago, sorry for the delay. Access it by holding panel key 2 to access the config page and then toggling the “pattern” key on the grid (furthest bottom-right). Several users have requested this functionality, including @nmihalevich, @gebeata

I’m sure some folks are itching for Ansible leader mode support for all the new W/ I2C functionality – I’ve got loads of ideas for this but it will take some time. Wanted to knock out some of these outstanding issues and feature asks first.


I understand not wanting to overload jf’s mix out, but i’m finding the volumes too low from ansible leader mode—far quieter than any other implementation of just type in my setup so far (none of which have clipped the output that I can remember).

This was a bit of a design conundrum but the goal is to let you use the Kria duration parameter to control velocity so you can manipulate dynamics in your sequence. The values were chosen to have as much range as possible for this parameter. For modes other than Kria this is a bit weird, I’m interested in hearing feedback about what kind of UI you’d like to see for controlling JF velocity in other modes.

1 Like

I remember that discussion, but that feature doesn’t seem to be working anymore. I usually have JF in sustain mode for detailed articulations, and the duration page is adjusting note-off-time. For my purposes, this is great: I prefer to use a filter or lpg after JF instead of adjusting velocity in kria.

But I did just test transient mode, and velocity is not effected by duration page… at least for me.

1 Like

Great catch, really not sure what happened here but I believe it should be fixed in the top post (77f5309). Also fixed this issue where velocity values did not get reset when exiting leader mode.


i’ve added the ability to control expert sleepers disting ex as a follower directly from ansible, beta firmware in the OP (contains everything from the previous beta build).

to enable, change the disting i2c address to 65 (Settings -> MIDI / I2C -> I2C address), then follow the steps described here. you should now see 4 follower buttons: just friends / telexo / er-301 / disting ex.

if you open the follower config page, there are 4 modes available for disting ex:

  • SD multisample, voices allocated by disting ex
  • SD multisample, fixed voices
  • MIDI (via a MIDI breakout) channel 1
  • MIDI channels 1-4

for meadowphysics mode 1 is best as it doesn’t cut off previous notes (it only sends 1 voice). if you want to use disting chord / arpeggiator functionality, also use mode 1 (due to how disting works). i think there are still some bugs when too many notes are playing - if you run into this, try reducing env time.

the very cool thing about disting ex is that it has built in pullups - so you don’t need any extra hardware other than a cable to connect i2c!

video demos:

string chords with earthsea
meadowphysics music box
digitone sequenced by kria


@scanner_darkly @csboling is it about time for a new release?


Yes, I think there are several important bug fixes it would be good to get out there. A few outstanding things:

  • We should get the new Disting EX functionality merged in.
  • I’ve PMed some users of older edition grid / arc for help testing a build that might resolve the longstanding timing glitch on USB connect issue. If you use older edition monome controllers with Ansible and would like to help test, please PM me!
  • There is an issue with how note tying interacts with the new Just Friends 4.0 firmware. I’ve been chatting with Trent a bit about how best to resolve this, the behavior in the currently posted beta might be confusing.

Is there anything special that needs to be set on the Disting? My bus is Ansible, Crow, JF, and Disting. Ansible can play JF without trouble but no luck on Disting. It was locking up because of a flipped ii cable, but it’s set right now and no locks, Disting just isn’t responding when enabled in Ansible settings.

The i2c history isn’t showing anything either which is troubling.

forgot to add - you need to change i2c address on the disting to 65:

Settings -> MIDI / I2C -> I2C address

if it still doesn’t work, try enabling pullups on crow and disabling them on disting.

1 Like

Hot damn! i2c channel to 65 did the trick. This feels like magic. Thank you!

1 Like

great to hear! do you have pullups enabled on the disting?

(should mention that 65 is also the address to use when using disting ex with teletype)

The pullups are enabled. Even with Crow on the same bus, Disting does not respond without its own pullups enabled.

1 Like