Teletype 3.2+ feature requests and discussions

If anyone’s curious, I’ve pushed branches to GitHub for both Teletype + Crow with Crow->TT i2c functionality. Together they add three commands to Crow:

  • run script script, 1-indexed (scripts 9 and 10 are the M and I scripts, respectively)
  •, i): run script script with its I variable set to i
  •, i): run script script with its I variable set to i “Teletype volts” (so if TT script 1 is CV 1 I and you call, 1/12) on Crow, Teletype’s CV 1 will be set to 1/12 of a volt).

Not sure there’s enough interest to merge these into the main codebases (and some way of switching TT between leader & follower modes would be needed), but I figured I’d share them here.

To add the Crow functionality to Norns, run the util/ii_norns_actions.lua script in the Crow repo and copy the resulting file over to /home/we/norns/lua/core/crow/ii_actions.lua, as described here.


This is great!

Maybe just an op like II.LEAD 0 that would set the leader state + save it to flash?

I think we’re probably getting to a degree of interconnectedness where it would be nice to tackle the (potentially thorny) problem of generating code for everything from a single source of truth.


Please add sync to midi clock if at all possible or maybe it’s already available and I’m unaware

see this thread: Teletype MIDI IN ops [experimental]

1 Like

Thank you !!! I was unaware

i’ve updated the “official” beta version. it now includes:

3 features are still in active development and therefore are NOT included in the above:

@karol, @desolationjones - could you rebase your versions on the latest code in main branch?

any help with testing is greatly appreciated.

we have a high number of features being developed - i think nobody will argue it’s a bad thing - but we have features going stale because of the lack of feedback. the best encouragement for teletype developers, especially the ones who are just starting to contriubute, is actual user feedback (gentle feedback, i might add - this is all volunteer work) and help with testing. and if we get more feedback, it will help us merge features quicker, which in turn will help keep the number of betas low.


Just wanted to say a big thank you to you and everyone else involved – for all the hard work and effort to develop Teletype further. It really is amazing.

Will try to install the beta and collect feedback.


or II.MODE - 1 would set it to leader, 0 to follower.

and what if we had an i2c command for “take over”, so when you send it to teletype it switches to leader mode. then we could have a mechanism for multiple leaders to pass control to each other…

1 Like

A request for a follower to take control is probably more reliable than one for a leader to cede it, but I see utility in both. A big problem is that a most of the modules in the ecosystem are totally asynchronous. I think crow would be well-suited for central processing, but everything on the bus is listening at all times… augh, if only crow had two buses!

I’m struggling to think of a script where I could reliably predict my needs for passing the lead around. Probably most leader/follower selection would be defined during init, but there should be room for reconfiguration without power cycling.

Which gets me back to an interesting crow question: what are the best ways for interrupting a script for the purposes of changing crow’s behavior? Right now I feel like the options are a “panic” signal input or an I2C message.

yeah it’s a pretty random thought at the moment, but feels like maybe there is some potential use case for it.

Here’s an attempt to demo QT.B and DEL.B. I think these OPs are really fun and can’t wait to see how you guys use them! once I finish the docs and figure out how GitHub works

EDIT: fixed audio hopefully
EDITEDIT: the scale “1709” is actually the durian scale, not the garlic aeolian scale as I claimed


Very low volume on the video

1 Like

It was all done on the phone… Is there a video edit app for Android with volume normalize?
EDIT: found one, uploading now :sunglasses:

another + for i2c to MIDI ( without needing to purchase a DistingMk4 + breakout )
Other suggestions from me - sorry if they have already been mentioned;


I did it this way, but a lower level encapsulation would be useful.

 #1 Tempo Extracting Script
> EVERY 16: Y V -10
> M.ACT 1

Linear Interpolation

where i is a normalised ( 0 to 1 ) interpolation index

(( 1 - i )  * srcA) + ( i  * srcB)

and possibly more forms of interpolation.

Param Slew
Just like the CV slew, but for internal parameter changes.

Another timer, the timer elapsed since a parameter or input changed value

I’ve a few more ideas, but I don’t know if suggestions are requited at the current time.


Suggestions are always good! I like your thought about interpolation.

Your first concept is pretty well covered by LAST :slight_smile:

You can fake the param slew with a really fast DEL.R.

1 Like

Thanks for pointing LAST out to me - well, I enjoyed making my own logic in Teletype anyhow. LAST is more reliable though.

So maybe I am also missing these? Because I can’t seem to see in the docs how to mute individual outputs…

Tr.Mute x
Cv.Mute x

Yeah I think there’s only input mutes! Output mutes could be handy for sure. I’ll have to take a look in the code to see if it can be done.

1 Like

suggestions are always welcome!

re: output mutes - makes sense to have these. this would require updating the live UI (and not sure it could be added to the grid control mode, there isn’t really space for another row of mutes).

welcome to lines! some of teletype code was done while listening to absolute time :slight_smile:

I recorded Absolute Time live to DAT in 1994/95 … I was sequencing on an Amiga with OCTAMed tracker , hitting an S1000 and RZ1 … essentially things haven’t changed much! Creating Techno was so advanced at that time, and it still is. I couldn’t have imagined that workflow could get as refined as it has now with projects such as Monome. I am very proud to have been part of the inspiration!

Here is the remaster I re-released in 2015


this would require updating the live UI

I’m currently just pulling the cables out - which is kind of brutal way of updating the live UI - couldn’t it just be an op? TR.M 1 ?