Teletype workflow, basics, and questions

Which BPM are, for those interested, 160 (375 ms), 150 (400 ms), 125 (480 ms), 120 (500 ms), 100 (600 ms), 96 (625 ms), as well as the multiples of these — i.e. 60 (1000 ms), 80 (750 ms) and so forth.


How do you connect the teletype and the op-z?

As of now, they’re just sharing a mixer :slight_smile: I was hoping that if they were BPM-matched I could just manually synchronize them on the go by pressing play on the OP-Z at the correct time! A crude fix but should work, at least in theory…

Ok, I see.

If you have, or have access to, a midi to cv interface (like cv.ocd) I would suggest you take a trigger and drive the TT from that in one of the triggers (and using say $ 1 over M).

But it seems that might not be the case…

I do have a MIDI to CV converter, but no expander for the OP-Z — so I’d have to clock the OP-Z from a computer, which would be also sending a MIDI clock through the converter into the Teletype. Doable but very complex!

Alternatively I could settle for mono sound with the OP-Z and hard pan right a click track, then use an envelope follower to generate a trigger for the TT.

This is all very batty and would be solved by me getting the OP-Z MIDI and CV expander, but at $200 I’m hesitant — it’s absurd that it doesn’t come with that functionality built in, especially as it’s marketed as a sequencer.

speaking of tempos, apologies for this very basic question, but is there a good way to make a continuously variable clock with tt?

in my instrumental music i like time to be free flowing… i’d love to get some less than predictable clocks for a similar feeling!

Ok, agree $200 is a bit steep. Bummer.

On the idea of hard panning for mono out + click, I would imagine you could use that click directly to drive the tt, without the need of extra stuff in between. Might have to experiment with which sample to use, a short pulse of 10ms and max gain would be my first suggestion…

I assume you’re driving your tt from The metro script. Did you try simply randomizing M inside the metro script?

Ah yes that’s very smart! Could possibly just sample a trigger from elsewhere in my system and use that? Thank you for all of the insight!

is there a way to keep running that random number generation? is it as easy as using “every[…]?”

it would be nice to get new speeds every x ticks.

Yeah sampling a trigger might work just fine. If it doesn’t work, or works unreliably, I’d take it to a computer and crank the volume up!

I made a 10ms pulse sample in renoise that you could try (it seems you have to right-click and save-as):

Sure! Something like this should work:

EVERY 4: M RRND 150 200

Or for something more “wild”:

EVERY RND 4: M + 100 << 1 RND 10

Or variations hereof…

1 Like

I am sure it is possible, but I am not getting it working. I want a Kria-CV to be written to the Patterntracker of Teletype, so that I can use it as a lookup-table for ratcheting Rings. So that Rings can play chords, that are always in tune with my sequences of Kria. It works fine if I just write CV-Voltages into the tracker. But how can I translate these Voltages into Note-Numbers?
e.g.: PN.INS 0 0 KR.CV 1
this inserts Voltges to the Tracker, but how can I get it to write Note-Numbers?

Basic question. Testing the BPM calculator i get:

BPM 500
> 119


Edit: I’m an idiot. It should of course be BPM 120 gives 500. I used the function the wrong way.

Not sure if this is the most elegant solution, but I use:

/ QT KR.CV 1 N 1 N 1

@vicimity because TT measures time in milliseconds. Peep the manual for more info.


Oh, I understand that part. It’s the calculation. 500 ms should return 120.

Looking at the code for that operation, it looks like a rounding error from how that value is calculated


Coffee before internet, coffee before internet, coffee before internet make brain go goooooooood.

1 Like

Thanks! Great! Seems to work…

1 Like

Is there a code that loads in the quicksave patches from er-301 to it.
Like if you type

SC.QS (0…1)*, 1 ///loads in quicksave 1

*mode for asking when loading in the patch, default 0 for asking.

This would be very performative

1 Like