Yes, that solves the problem perfectly. My personal opinion: I would make this the default behaviour, and I wouldn’t need this to be configurable. But others might see this differently…?

Thanks a lot for fixing this!

1 Like

Is there a way to clock Kria’s master clock via teletype? I can clock individual tracks via KR.CLK X
but the master clock that controls the cue clock for pattern sequencing appears to only be clocked via the input 1.

KR.CLK 0 clocks all tracks at once but I think this also does not affect the master clock. I would probably just patch a Teletype trigger to Ansible’s clock input most of the time but that can use up a trigger output. Having an I2C command to clock Ansible sounds desirable, but with the way Ansible I2C is currently implemented this would probably mean sending a message for each app in sequence (since TT doesn’t know the active app, though it could I2C query it first) which I worry about clogging up the bus or introducing latency.

1 Like

Thanks for clarifying, I didn’t know about KR.CLK 0 that will save me some space on a few scripts. I will just continue to just patch ansible a master clock from a teletype trig, id rather have a stable clock that use i2c and risk some sync issues.

Hello @csboling
I have been using the official release for a while and I have noticed something strange happening.
I have used the calibration matrix to have Ansible to respect the equal temperament scale (octave 0.0V, 1.0V, 2.0V etc - FIfth 0.5V, 1.5V, 2.5V etc).
I have been able to get the right Voltage values across all four channels and calibrated it.
I played with it just after calibrating and everything has been fine (also compared to an MI CVpal that I have).
After a couple of days I turned off my case and started playing with it and I have noticed that Ansible was a bit off compared to CVpal; measured the voltage and it is now about 0.006V across all notes.
I did perform another calibration (long process) and everything was worked fine.
I turned on this morning after 3 days and again the same issue!

Any idea?

Thanks as usual

Hm, other than confirming that the whole tuning table you programmed is not getting reset (which I’m happy to do if you send me an ansible-preset.json) I’m not sure I can be a lot of help here. I believe all the usual tuning advice applies (let the modules warm up, etc) but am definitely out of my depth on a lot of that. You’re able to power it off and back on immediately after saving your tuning and get the output you expect? If so then the saving must be working fine. Not sure what other factors there might be but I think an op-amp upgrade has been mentioned as one possible way to improve tuning accuracy, see this thread.

Any update on the tuning accuracy? I have been noticing this with my ansible as well.

Also, in Kria I am noticing that when saving and recalling presets, I am not able to see the glyphs I draw. For example, if I save a preset at the very top, exit, and then re enter preset mode, I press the key and see nothing (the key does not light up either) though the preset will load. Am I missing something?

There is a tuning interface for grid in 2.0.0 that will let you (theoretically, laboriously) correct for differences between outputs in software. If people have other ideas for control schemes you would prefer for adjusting the tuning I’m interested. Probably the smoothest interface would be to map the outputs to arc rings and let you dial in exactly the offsets you want (although you may wish to adjust intonation as well as absolute offsets for each output), but ideally you would be able to access this functionality without needing particular devices connected. It would be possible to implement something to let you load tuning over I2C, for instance, if this is something people would find useful.

Interesting, I can’t reproduce this in the 2.0.0 release build, glyphs are preserved along with presets after I long-press a preset slot to save, then re-enter preset mode or reboot. Are you using a 4-step varibrightness grid? I don’t think I ever modified brightness levels on the preset page but this might need adjusting.

A quick update:
TUrning on and off maintain the tuning as expected.
It is in the long run that ansible lose it, in the sense that tuning is consistent between the different channels; it is just an issue if you use it with another sequencer or cv interface.
In my case CVPal is very stable but ansible is not, if I tune ansible to have 1.000V at C1, I always end up having C1 at 1.0006V to 1.0010V.
My strategy so far is never exchange oscillators, what is controlled by ansible remains with ansible, same as for CVPal.

This is just an heads-up in case is possible to resolve this in one way or another

Hello @csboling,
I might have found another bug, maybe, in the official release 2.0.0.
When having note sync on and loop sync track, I cannot have the same loop lenght for every parameter of the track.
Track behaviour is the same as loop sync off in my case.

I can’t reproduce this, can you confirm that note sync (square glyph, offset 2 keys from the bottom and 2 keys from the left, when key 2 is held) is engaged rather than note div sync (square glyph, all the way in the bottom-left, when key 1 is held)? If so can you post a demo video?

This morning t works. Sorry I might have done something wrong yesterday evening.

New build (f6a464f) in the top post with some bug fixes (listed next to the build) and improvements to I2C leader mode. Notably: the Just Friends part works now! So you can control Just Friends, a single TELEXo, or ER-301 from any (?) of the Ansible apps, although you need to use a grid to configure it. Note that for this to work you also need some device providing I2C pullup resistors (Teletype, crow, or a powered I2C busboard) since Ansible is not wired to supply power to the I2C lines.

To configure follower mode, go to the Preset page on any grid app (tap the key by the USB port). The left column is still your preset selection and the right half is for drawing glyphs, but the 3 keys in the middle of the 6th column are follower toggles. Switch these on and off to choose which devices Ansible should send note messages to. From top to bottom: Just Friends, TELEXo, ER-301. Toggling any follower on will switch Ansible to leader mode, and it will no longer respond to I2C commands from Teletype or crow. Toggling all followers off will return to follower mode.

Hold the bottom key of the 6th column and tap any of the follower toggles to access the follower configuration page. You can now pick a different follower by tapping any of the follower select keys.
In the (now much simpler) follower configuration page:

  • Touch the bottom key of the 6th column to go back to the normal preset / follower toggle view.

  • The bottom left 4 keys (same as the Kria track selects) are track selects for the follower. You can decide which of Ansible’s gate/CV channels should send an I2C message to this follower, so you can map 2 voices to Just Friends and 2 voices to ER-301, etc. By default all channels are sent to all followers.

  • The top left keys are for octave-shifting all pitches sent to the selected follower.

  • The top right keys are for selecting different modes the follower supports.
    For Just Friends, modes from left to right are:

    • When any Ansible trigger fires, select the next available voice. Think JF.NOTE.
    • Ansible’s 4 channels are mapped to the first 4 voices of Just Friends. Think JF.VOX.
    • Ansible’s 4 channels will trigger the first 4 channels of Just Friends - you can use this with Shape mode to trigger envelopes from Ansible apps instead of notes.

    In all Just Friends modes, the Kria duration parameter is used to determine the velocity when striking a note or trigger.
    For TELEXo, modes from left to right are:

    • Use TXo’s CV outputs as enveloped oscillators, with oscillator pitch controlled by the active Ansible app.
    • Use TXo’s outputs as gate/CV pairs, mirroring Ansible’s outputs.

    ER-301 doesn’t currently have any alternative modes. I also have no idea if it still works after overhauling the code for this feature.

Hope people find this useful and you’ll report lots of bugs! I’ll admit my primary use case for this is controlling voice modules from the grid apps, but it should work roughly the same for every mode on Ansible. I’m interested to know how well it works for Arc apps and midi apps, and if there are other parameter mappings that make sense here - sending midi velocity info to Just Friends seems like one obvious use case, but I have not implemented this.

23 Likes

Awesome :slight_smile: looking forward to trying this. Thank you!

Oh my goodness! What perfect timing… my Just Friends arrives this weekend. :pray:

3 Likes

Found several issues with CV/gate mode on TXo, and with how octave shifts for followers were being calculated. Recommend updating to d3e9d6b in the top post if anyone grabbed the previous build already.

Would still really love to do this directly with Teletype, any idea how easy it would be to implement this function as a Teletype op?

This is awesome, been playing with it tonight and love being able to jam with just ansible and JF. Ansible Earthsea awesome only can’t do sustained notes by holding unfortunately, regardless I’m loving this update really solid fun, makes me feel like I can make a really creative system in extremely few hp… if only more voices would support i2c!

Ah right, yes it sounds very useful to be able to read the current duration value whenever you’re just using Kria to provide triggers and using Teletype to generate gates. Ansible (676e871) + Teletype (bc4c877) builds in the top post add support for KR.DUR x to read duration. Value is in milliseconds and so may need rescaling to pass to Just Friends.

Good catch, I’m realizing now you can send JF.NOTE 0 0 when a note is released and Just Friends will release the voice that has been held the longest. Fixed in the top post. Note that this will also only work when Just Friends is in SUSTAIN mode.

6 Likes

You’re a champion :slightly_smiling_face: