Ansible Development and Beta Firmware Discussion

Neat idea, will have to think about this. Guess it would be 8 ER-301 triggers, or 8 TXo triggers across 2 TXos, or 4 triggers + 4 ENV.TRIGs on one TXo. . . Not sure about Just Friends, maybe each trigger is just a JF.NOTE?


Sounds like a reasonable approach.

This would be awesome with just friends and the 301.

Would love to sequence JustFriends with an Ansible in midi mode. Is it possible to poll Ansible CV directly without using a specific app op? Something generic like ANS.CV 1 or something?

One difficulty with this is that each Ansible app listens on a different I2C address. This has some nice advantages – you can use I2C with two Ansibles running different apps at the same time, Meadowphysics and Earthsea ops can be used as-is with Ansible versions of these apps or with trilogy modules – but means that you can’t really have all-call commands. I have implemented a couple of ops (ANS.*) which work no matter what app Ansible is running, the way this works is that Teletype sends a message to every possible Ansible address (eight different addresses!) and every app handles this message in its I2C handler. A bit messy and I’ve been concerned about the timing / bus stability impact it might have to do this for something that would be called more often like polling the CV value.

You should be able to do this with Ansible leader mode I believe, though I have personally done relatively little midi testing. You do need to use a grid to configure leader mode. (Actually… this probably can be done with ANS.APP and ANS.G with just Ansible and Teletype.)

1 Like

Thanks @csboling your explanation cleared up a few things I was wondering about how ansible listened to teletype. I have a grid, but not sure in the docs where it explains how to make an ansible a leader, also wondering if I need to detach the i2c to teletype or if I could leave it on the same bus as the teletype but just not call anything from to jf to avoid cross talk.

Configuration for leader mode is described in this post, this was only recently merged to Ansible and I haven’t added it to the monome docs yet since it’s not officially released yet. You can definitely have both leaders on the same bus, frankly I frequently send messages from both Ansible and Teletype to the same follower quite often. Though this does run the risk of one or more modules crashing and needing a reset, I have not had much of an issue with this for a little while.


Just tried Ansible leader mode with Just Friends, and I LOVE it. Here’s a short clip. Thank you so much for making this happen!


Added a build (58f0caf) in the top post which adds a Kria metapattern feature proposed here, letting you lock which pattern you’re editing, so you can listen to the whole metapattern sequence while editing the content of a specific pattern. UI is described here.


@okyeron, @pnyboer do you know if anyone got the Morph working with Ansible? I just tried it today, and had no luck (I could be running an older version of the Ansible firmware). I’d be happy to test if there’s a patch, or test firmware.

Nevermind. Built the firmware from the latest Ansible and libavr code. Works :slight_smile:

Would it be possible to create a 6 track version of Kria to control all 6 voices of JF? If crow is connected we could also get 6 physical outs in total too, as well as an extra set of inputs that could be used for say, global transpose and sequence morphing…
Oh dreams… aren’t they lovely :blush:

1 Like

It’s a neat idea, I suspect that with all the other stuff on Ansible you would probably start running into flash or RAM limitations – each Kria track stores quite a bit of state. The assumption of 4 tracks is also pretty pervasive in the Kria code right now, it would take a bit of doing. I think if someone were working on, for instance, a dedicated Multipass version of Kria, this would be a very cool feature.

I’m not sure if this is possible because as far as I know crow’s first 2 jacks are wired to different hardware, doing A/D conversions at a different rate than the outputs, and can’t be used as outputs.

1 Like

I guess it would have to be a multi pass version. It’s would be very cool.
Also I edited my last post as I think you may have misinterpreted what I was saying about the physical tracks. Bad wording I guess.
Still… it’s a nice dream.

maybe has already been mentioned/addressed, but it would be awesome to get different loop lengths for each of the 4 tracks in kria! also, more flexibility on the scales - microtuning and transposing above a fifth would be cool :slight_smile:

Can you expand on what you’re looking for? You can set different loop lengths for each track and each parameter within each track, depending on your config settings.

There is a grid interface which is mostly intended for calibrating the DACs but can in principle be used to arbitrarily reprogram the tuning table. Given the breadth of possibilities for microtonal music it’s hard to know (probably largely due to my ignorance about microtonality) what kinds of microtonal features are of use to different users.

Some discussion of this up-thread, I suspect this will require some rethinking of the scale interface, perhaps using a separate page. Interested in input on how the UI for this could be realized.

ahhh yes that’s it! thank you. not sure how i missed that in the manual but that’s exactly what i was looking for. that’s true for the scales, might not be worth it for the amount of people who would use it. not at my system right now, but would time be included in track parameters per row? for example you could set one track to the slowest possible speed while the others are at the fastest?

This and many other timing configurations are possible, see the Time section. For this setting:

  • Hold down key 1 (TIME) on Ansible.
  • Tap the single lit key by itself in the lower-right area of the grid, to select time div sync = TRACK.

wow… maybe im going through the manual too quickly :slight_smile: thanks again though, can’t wait to explore these possibilities

1 Like

Congrats on 3.0!

Not sure how hard the process of adding new i2c devices is but it would be incredible to address the new Expert Sleepers Disting EX from Ansible via i2c. It has native i2c support (with switchable pullup resistors) and you can map things via i2c just like MIDI mapping.

All three grid apps would be amazing with the SD multisample mode which allows 8 note polyphonic multisample playback. The 6 triggers algorithm would be a great drum machine with Kria or Meadowphysics. I know these algorithms already support MIDI input, not sure how much work it would take to trigger note messages via i2c.

As an aside (which I don’t realistically think would ever get rolled into Ansible), wouldn’t it be cool to use grid as a matrix mixer interface? The disting’s first algorithm is a 6 input 4 output matrix mixer. I’m imagining a grid app with the 6 inputs arranged in the top row and the 4 outputs in the left column, and you can press squares to route the signals accordingly, sorta like a Synthi/VCS3 pin matrix. Hold a patch square and use separate increment decrement buttons to control signal strength strength. Press another to invert the signal. You could potentially even pattern record to get a sequence-able patching matrix!