Grid ops / integration



Is the idea to run TT scripts on Ansible? I missed the original discussion. That sounds very cool. Headless TT!


yeah, the idea is to run it as headless teletype. the difference in hardware would need to be accounted for - 2 trigger inputs instead of 8, but the 2 buttons could be used as a way to manually trigger 2 more scripts, no input and no knob, but you could use it with a TXi to get 4 knobs and 4 inputs). the mode button could be used to enter the scene selection mode where you would select a scene with the 2 buttons.

The [something] of Teletype

new beta posted. changes are:

  • changed button and fader identifiers and coordinates to 0-based instead of 1-based. if you already have scenes saved you’ll need to modify it - simply subtract 1 from the first 3 parameters in button and fader declarations. if you use math to find buttons or do something similar (trigger sequencer study uses this) it’ll need to be modified as well. i’ve already updated the wiki on ops, and will update all the studies later this week.

  • an important feature - button and fader states will now be saved both to flash and usb. this is really useful if you script sequencers - this way your sequences can be saved together with scenes (and it’s useful in general to have your UI be in exact same state when you power it on). one consequence of this is new buttons and faders don’t get their states reset to 0. if you do prefer this you can simply use G.BTN.V 0 or G.GBTN.V 0 in your init script. this is fully compatible with previous versions - you can load grid aware files on non grid firmware and vice versa. [technical details: grid state takes 64 bytes per scene]

  • total number of buttons increased to 256 for better support of grid 256.

here is an example of how it can be used, a trigger/CV sequencer scene:


all grid studies have been updated to account for the change to make coordinates and ids 0-based and to make sure they will be compatible with the upcoming version 2.1. i’ve also finished the groups study.

a brand new starting simple study shows some simple examples and explains the logic behind the op naming which should make it easier to read/memorize them. all the scenes are available for download and linked in their respective studies!

a video demo for “starting simple”: trigger visualizer / simple sequencer / lofi oscilloscope:


so the button state for all 256 buttons is saved with scenes, but we also have patterns. and since you only need 16 pattern values to store all 256 buttons (1 bit per button, each pattern value can hold 16 bits) you can store up to 16 full snapshots.

this idea led to the pattern canvas scene. this scene uses pattern memory to store 15 grid “slides” (not 16, i needed some pattern memory as extra variables), which could be edited with a grid and recalled with a script. instead of using a slide number it actually treats all slides as one continuous 240x16 steps pattern, and you can slide back and forth:

of course instead or in addition to using it as a visualization tool you could treat it as a 240 step 8 track trigger sequencer!

the script (might add it as one of the studies): pattern_canvas.txt (1.6 KB)

> teletype: grid code exchange
Bit stuffing/shifting on teletype


Can you tell me, does one need just 2.0 firmware installed on TT for the grid integration scripts?


This is a beta for a future release of the TT firmware. The current TT firmware does not contain the grid features.


as @justmat said you will need the beta version posted in the first post of this thread (which is pretty much the official 2.0 with grid integration added). this beta does not include any of the upcoming 2.1 features, but once 2.1 is officially released i will rebase the grid beta on it so it will have all the 2.1 features as well.


so naturally i had to try scrolling canvas with an arc…
16 sounds from 4x TXo modules with decay controlled by one encoder and wave shape controlled by another.

> teletype: grid code exchange

that is very satisfying to watch!


this was one of the very first ideas i had for grid/teletype integration… water circles scene. pressing on grid triggers a note with VCA opened by slewed CV from teletype that gets smaller as the circle grows bigger. position controls pitch and wavetable via a couple of telex TXo modules. ansible levels controls the speed of decay.

> teletype: grid code exchange

Seems that those rare Telex modules are becoming more and more important!


definitely, grid / teletype / telex is a very powerful combo! i really need to take more advantage of the many awesome ops @bpcmusic created for telex…


Holy crap, I just got the October Monome letter and realized this existed. I’d completely looked past this thread. Teletype just went from an inessential luxury to a must have for me. Pretty crafty, @tehn!

I’m not sure if this will constitute the most elegant way to get grid control over Reaktor, or the least elegant, bordering on hilarious. But it’s happening either way!


new beta! i did a rebase on the official 2.1.0 firmware so it now includes all the exciting new features @sliderule added. i did a quick test and everything seems fine. it also includes a bugfix for G.REC causing issues with out of bound coordinates (now they can be safely used and it will crop appropriately). code is now here:

the new beta posted in the op or just grab it here: teletype.hex [B0F9779 grid]

and here is the water circles scene if anybody wants to play with it (this includes a new op for x/y pad that is still work in progress). CV voltages will be updated as circles decay, and trigger will be fired whenever you generate a new circle. it uses all 4 pairs of outputs. it will also output a note corresponding to the X coordinate on TXo outputs (if you don’t have one you can repurpose some of the teletype CV outputs - change it in scripts 4 and 8). i’ll post a breakdown of the scene in a future study.

water_circles.txt (1.4 KB)

oh, and i renamed the thread to make it a bit clearer.

> teletype: grid code exchange

Hi there, I just wanted to introduce myself and express my massive appreciation for all the hard work everyone has put into pushing the Teletype forward. I picked one up at the beginning of the year and have been having a blast with it, but seeing how it’s evolved over time really has blown my mind.

Much respect and love to everyone who’s contributed to this amazing ecosystem!


Can’t wait to play with this later today! Thanks for all of your hard work @scanner_darkly, the TT/Grid integration is such an inspiring idea to me. This, paired with all of @sliderule’s new features is really adding so much value to the TT.


thanks! i hope this will be a source of inspiration for all kinds of crazy ideas. the more i use it the more i’m convinced this will result in many different ways to integrate grid that wouldn’t be possible otherwise. there are so many cool things that can be done, but it doesn’t make sense to create a separate firmware for each, so being able to script them with teletype is such an immediate and powerful tool.

especially now that it includes all the 2.1 ops - when scripting the examples i posted above i often wished i could use some of the new ops. i’m hoping this will encourage more people to try it. the grid ops are not set in stone yet, so any feedback on what feels right, what doesn’t, what’s missing, would be greatly appreciated!

for folks who would like to give this a try - the best place to start is here.


Want to do another shout out to @scanner_darkly for the awesome vision and work on this firmware. It opens up wild opportunities for building interactive applications with the Teletype. The operators are so thoughtful and powerful. Really stellar work!!

Here is a quick and dirty version of Simon that generates random patterns. Get it right and keep going through the 64 tone pattern. Make a mistake and you get to start all over. The PARAM knob adjusts the speed. If you have a TXo, CV output 1 will generate the tones. Otherwise, patch in an oscillator to CV 4 and Envelope + VCA to TR 4.

Download the script to see my messy code. Note - there is no real error handling. If you go too fast after an error, you can confuse it. And, I didn’t handle the case where the user gets to 64. (Nice opportunities for future enhancements.) You will need the latest firmware from @scanner_darkly - listed above.

simon.txt (1.7 KB)

Again - massive thanks to @scanner_darkly for all of the doors he opened with this firmware!!!

> teletype: grid code exchange

this is awesome, thanks for posting this! and such a powerful and yet compact system.

love the idea, there are some really interesting possibilities where you could have a fluid UI steering you towards specific playing style (like here you could make the buttons smaller as you progress). i’m really intrigued by the concept of an instrument teaching you how to play it and adjusting as you become better. i gotta try a beat oriented version of this…