(ansible) 3.0.0 release

Just to clarify, the ii lines are low message from crow doesn’t mean the pullups are off, rather it happens when an i2c message failed because the bus was in the busy state for too long. I can see how the error message is confusing if pullups are already enabled.

The issue is likely insufficient pullup current as crow’s pullups are very weak and typically only work for 1 or 2 devices on the bus (though it is highly dependent on which devices). I believe a powered busboard will solve your problem.

1 Like

wow, this is amazing. thank you.


Thanks for the clarification on all that. Sounds like the powered bb is the ticket. I’m glad I was able to find one as there were only a couple available from the place selling pre-built ones.

Thanks. I think I’ve managed the Ansible 3.0 update correctly. Two notes, from my experience today on Windows:

First, I couldn’t use the cmd (Command Prompt) app, even in administrator mode, to do this, but I did manage to use the (new, beta) Windows PowerShell. (I have no doubt I was doing something incorrect in regard to Command Prompt, but so be it.)

Second, when running dfu-programmer it required me to put .\ before dfu-programmer (i.e., .\dfu-programmer etc.) for it to function. I am clueless in terminal mode, so I just follow instructions and hope not to erase reality.

Otherwise, it all seems to have worked. Is there a way to test out the Ansible to confirm what version of the firmware it’s running? Thanks.

This is probably the easiest visual indicator that your upgrade worked:

1 Like

Many thanks :bowing_man: @csboling
Scrolling through the manual it seems like I2C is only implemented in grid modes (Kria, Meadowphysics). I was thinking about mapping NanoKontorl’s sliders in MIDI mode and use those as a controllers for 301. Do you think it’s possible to achieve something like that or should I be looking at 16n instead?

You need to use a grid to configure it and this has been my primary usage during development, but everything should work for midi or arc apps. I believe some users in the Ansible development thread confirmed that this worked during development.

It also should work to load i2c configuration from a USB disk by manually editing a backup JSON file, this is not too user-friendly but I can write up a procedure for how to do this if there’s interest.


@csboling: Will this Ansible Kria Feature Requests be implemented in 3.1? I love this meta pattern chaining so much that I have switched back from 3.0 again to 2.x :frowning:. Thanks for your update :slight_smile:.

The build posted in the development thread should contain all the 3.0.0 features and bug fixes as well as new work like this. I didn’t feel confident enough in the thoroughness of my testing to slip this feature in before this release. Suggesting and using new functionality like this, finding bugs, and suggesting UI improvements is super helpful, so thank you for staying on the bleeding edge!


Direct i2c control of JF is amazing! Thanks for this!

How are people with multiple leader-capable modules thinking about how they want to employ them? For a while I had Ansible, Teletype, and Crow all in separate cases, but I recently moved them all back into the isms for maximum i2c’age. I have a TT busboard and this seems to be working fine. Aside from the technical considerations, is this a good idea conceptually? Is this too much control for one rack/bus? Would it make more sense to spread the capabilities around?

a couple of things to consider - you could use teletype for additional control of ansible apps (or to tie ansible presets to specific tt scenes) and you could read ansible values from teletype and do something with them (making chords / octave switching etc etc). you could build a macro sequencer or controller for ansible on teletype (and use grid to control it).


Hey @EqualTemperament are you reading this about using Ansible from TT to make chords?

1 Like

I did. What a great idea!


the new N.C / N.CS / N.S ops should be handy for this! and use the param knob to select the chord (or perhaps could be cool using one of the kria tracks for chord selection?)


Do you also have a teletype? Then you could try this ER-301 controller scene. https://forum.orthogonaldevices.com/t/grid-ops-base-controller-for-er-301/1907

The released firmware is not able to save presets to a USB drive due to a typo I made. This has been patched in master and a fixed firmware build is here:
ansible.hex (371.3 KB - 2bd3eb0 - 2020/05/09)
You may wish to update from v3.0.0 to this build now so that you can save your presets correctly the next time you reflash. Otherwise carrying over presets from one firmware version to the next is quite a bit more involved.

Thanks @mlogger for finding this bug.


Hi, not sure if this is the appropriate place to file bugs for ansible 3.0, please move this post if there’s a better place. I’ve updated my old Ansible to 3.0.0 recently and am now trying to learn Kria according to the docs. I have not yet stored any presets after the update.

Not possible to set different loop lengths parameters
According to the docs, “…each of the extended parameter subpages have their own probability, clock division and loop controls.” However, I can not set different loop lengths for e.g. the main note and the alternate note on track 1. So when I change the loop length for the alternate note, the loop for the main note follows this change.

Tied notes are only possible with master duration multiplier set to max
It looks like that the current implementation does not allow to combine relatively short notes with tied notes, as in order to tie notes, I have not only set the “duration slider” for the tied note all the way down, but also have to set the the master duration multiplier to its maximum value. As this prevents having relatively short notes, I wonder if this behavior is intentional or a bug. If I may make a suggestion: Wouldn’t it make more sense to always create a tied note if its “duration slider” is all the way down, and have the master duration multiplier only affect the remaining 5 positions of the “duration slider”?

Thanks for considering. My apologies if I am not understanding things correctly, please help me get it right.

The default behavior is that “loop sync” is set to “all”, so all parameters in all tracks share the same loop. You can configure loop sync to “track” (all parameters within a track share a loop, but tracks are independent) or “none” (all parameters in all tracks have independent loops) via the Config page, described here.

Yes, I believe this is a limitation of how the duration feature is implemented; it just does a calculation of when to turn the note back off that currently only exceeds the clock interval when at this maximum setting (or something like that). I think something like your UI suggestion is worth experimenting with.

1 Like

Thank you very much for your answer & help, highly appreciated!

One more remark:
In the Kria documentation, the link to the description of the tuning mode (at the end of the paragraph about the Configuration page) points to a page whose content is just a duplication of the Ansible main product page (“Ansible – Far communicator, speaks openly.”).

The URL of this rogue page is: https://monome.org/docs/ansible/#tuning, whereas the information about the tuning mode can be found on this page: https://monome.org/docs/ansible/advanced/#tuning


Some more things, I hope these are not again cases of myself not reading the documentation carefully enough :slight_smile: :

Missing description for Probability
How exactly does probability work? I could not find any documentation about it. From playing around it seems to work like this – I just don’t know the probability values XX and YY:
When holding down the Probability modifier, rows 3–6 set the probability of steps being played. A step in row 3 means this step will never be played (useful to temporarily mute this step), a step in row 6 (default) means this step will always be played. Steps in row 4 will be played with a probability of XX%, steps in Row 5 will have a YY% chance of being played.
If this is correct, would it make sense to add this to the documentation?

Independent adjustment of one note in a scale does not seem to work
Kria documentation says that “To adjust one note in a scale without affecting its interval relationship with the notes after it, hold the scale key while changing the scale note. The subsequent note is adjusted to compensate.” When I try this out on any scale key, it does not seem to have an audible effect, compared to changing the scale note without holding the scale key simultaneously.

Not all root notes accessible in Scale mode
As far as I understood it, the root note can be moved within a range from 0 to 7 semitones. It looks like there is no way to set the root note to 8, 9, 10 or 11 semitones, although this might be desireable when e.g. playing with others.

As it currently looks as if the combination of holding the Scale key and any of the Root keys does not yield an audible effect, perhaps the following could be added in a future revision:
• Scale key + root key 9 or 10 = root key transposition +8, root keys 9 and 10 will be lit.
• Scale key + root key 11 or 12 = root key transposition +9, root keys 11 and 12 will be lit.
• Scale key + root key 13 or 14 = root key transposition +10, root keys 13 and 14 will be lit.
• Scale key + root key 15 or 16 = root key transposition +11, root keys 15 and 16 will be lit.

How to reset a sequence manually?
I can reset all sequences by applying a rising signal to input 2 (reset). Is there a way to achieve the same by pressing a button on the grid?

Thanks much for reading!


Copying Scales
I really enjoy editing a scale while a sequence is running, and of course switching scales is also fun. It would be even better if there was a way to copy the current scale to another scale slot to develop it further, while still being able to switch back to the original and forth to the new edited version.

From a workflow perspective, copying the current scale slot to a different slot could be accomplished accomplished by first holding down the current scale slot, then pressing the scale slot to copy to (while continuing to hold the current scale slot).

Voltage values instead of Notes
It would be great if a track could be set to output voltage values instead of notes. The reason: I’d like to use one or more tracks to control non-pitched parameters, and when doing this, it would be great if (a) the CV value is not be quantized to the currently selected scale, so that it won’t change when changing scales, and (b) if the CV value could be adjusted differently than setting notes and octaves.

To facilitate CV value adjustment, the current note screen could be changed to (1) give a coarse visual indication of the voltage of a step from 0–5 Volts, and (2) allow adjusting the voltage itself per step. The variable brightness of the buttons of row 3–8 could be used to indicate the voltage of a step like this: No button lit = 0 Volt, all buttons lit = 5 Volt, rows 3–6 lit = 2.5 Volt etc.

To adjust the voltage of a step: Press a button in…
…row 3 to decrease the voltage in a 1V step
…row 8 to increase the voltage in a 1V step
…row 4 to decrease the voltage in a 0.1V step
…row 7 to increase the voltage in a 0.1V step
…row 5 to decrease the voltage in a 0.01V step
…row 6 to increase the voltage in a 0.01V step

Again, thanks much for your time for reading and considering!