> teletype : code exchange

Well you do realize that all i2c to the 301 begins with “SC.” in teletype land, right?

Yup; and altering that for the JF would in theory be replacing that with JF, depending on if the syntax (or ability) match.

Just waving to say hi, brand new Teletype owner here. So far so good, I’ve recreated the Turing Machine from scratch and have started to add my own features (64 step patterns, multiple patterns you can move between, gate out on pattern restart to keep drums in order).

It’s a ton of fun! Glad there’s a community for this little beast.

17 Likes

Congrats!
Would you share your patch?
Thanks!

2 Likes

I’ve been thinking about the possibility of using TT and TXo to sort of recreate the functionality of the pitch wheel on the Yamaha CS70. Basically what I wanted to do is use the PARAM knob as that pitch wheel, to change pitch by fifths and octaves. This is very basic but it’s one of the first scripts I’ve come up with myself - any feedback on how to improve or clean this up is welcome!

Sending pitch CV to IN, corresponding trigger to SCRIPT 1. I have M set to 25, triggering SCRIPT 2, and PARAM is scaled to 1-5

#1
TO.CV 1 IN

#2
IF EQ PRM 1: TO.CV.OFF 1 N -12
IF EQ PRM 2: TO.CV.OFF 1 N -5
IF EQ PRM 3: TO.CV.OFF 1 N 0
IF EQ PRM 4: TO.CV.OFF 1 N 7
IF EQ PRM 5: TO.CV.OFF 1 N 12
2 Likes

Movie Snacks

A simple sequencer scene inspired by Bastl’s Popcorn

A simple sequencer script designed with @bpcmusic’s Telex expanders in mind that takes two gate inputs. For each gate input you can determine how many steps forward or backwards the sequencer should progress.

Requirements

Telex input expander (TXI), but you can easily rewrite this to work without.

How it works

You write notes and mod data in the tracker, then you send a pair of gates to inputs 1 and 2. A trigger into input 3 will reset the sequence.
The knobs on the TXI control how the sequence is being read.

The tracker pattern is organized like this:

  1. on the first column there’s note values
  2. on the second column you set slew to on or off for the step. a value of 1 means the step will triggler a slew
  3. This is an additional modulation data lane. values are in VV

The knobs on the TXI work like this:
knob 1 and 2: turn clockwise from 12 o’clock to play every N steps, with N going from 1 to 4, turn counterclockwise from 12 o’clock to do the same but backwards (sequencer will jump back N steps).
knob 3 controls the slew speed
knob 4 transposes the whole sequence.

Overwiew: Inputs, outputs and controls

INPUTS

TR 1= CLOCK 1 / TR 2= CLOCK 2
TR 3= RESET

TXI KNOBS

1=JUMP 1 / 2=JUMP 2 / 3=SLEW SPEED
4=TRANSPOSE

OUTPUTS

NOTES: CV1 / TR1
MOD: CV2

Scene

v1.0.0 tt14s.txt (1.5 KB)

you can download the txt here (change name and remove “s” before writing to the TT), or copy/paste the code below

1

Y PN.L 0
A MOD ADD A TI.PARAM 1 Y
PN.I 0 A; PN.I 1 A
B PN.HERE 1
SCRIPT 4; SCRIPT 5
IF > A 256: A 0

2

A ADD A TI.PARAM 2

3

PN.I 0 0
PN.I 1 0
PN.I 2 0
A 0

4

C TI.PARAM 3
IF > B 1: CV.SLEW 1 C
ELSE: CV.SLEW 1 0
X TI.PARAM 4
CV 1 N + X PN.HERE 0
IF NZ B: TR.P 1

5

PN.I 2 A
CV 2 VV PN.HERE 2

I

L 1 2: TI.PARAM.MAP I -4 4 
TI.PARAM.MAP 3 10 1000 
TI.PARAM.MAP 4 0 12 
L 1 2: TI.IN.MAP I -4 4 
CV.SLEW 2 0
11 Likes

I’ve completed my first 1.1 scene, so named the Turglebug because it has two Turing Machines and two wogglebug-like stepped (one stepped, one smoothed) voltage outputs. It’s not magic, but it’s my first one and I’m quite pleased with the effect.

TURGLEBUG MACHINE

PARAM KNOB SETS PROB FOR
PATTERN CHANGE
1 IS TURING, 2 OCTAVE SCALE
16 STEP PATTERN LENGTH
3 IS TURING, 4 OCTAVE SCALE
32 STEP PATTERN LENGTH
OUTPUT 3 IS STEPPED VOLTAGES
FROM 0 TO 10V
OUTPUT 4 IS SLEWED VOLTAGES
FROM 0 TO 10V
OUTPUTS 3 AND 4 ARE STEPPED
FASTER THE FARTHER THE KNOB
IS TO THE RIGHT
5 HAS A PROBABILITY TO TRIG 3
BASED ON KNOB POSITION
5 WILL ALSO DELAY TWO TRIGS
ON 3 BY DRUNK TIMES 100 AND
200



#1
P.N 0
X N RRAND 0 23
PROB A : P P.I X
CV 1 P.HERE
TR.PULSE 1
P.NEXT

#2

#3
P.N 1
Y N RRAND 0 47
PROB A : P P.I Y
CV 2 P.HERE
TR.PULSE 2
P.NEXT

#4

#5
T LIM MUL 10 A 0 100
PROB T : TR.PULSE 3
T ABS MUL DRUNK 100
DEL T : TR.PULSE 3
T ABS MUL DRUNK 200
DEL T : TR.PULSE 3

#6

#7
CV 3 RRAND 0 V 10

#8
CV 4 RRAND 0 V 10

#M
A SCALE 0 16383 0 100 PARAM
Z SCALE 0 100 150 10 A
L 7 8 : SCRIPT I
M Z
Z SCALE 500 0 300 20 Z
CV.SLEW 4 Z

#I
M 10
M.ACT 1
SCRIPT 2
SCRIPT 4
CV.SLEW 4 100

#P
16	32	0	0
1	1	1	1
0	0	0	0
63	63	63	63

0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0
19 Likes

Nice. Thanks for sharing. I’ll have a go at this tonight.

1 Like

Amazing :smiley::ok_hand:
Thanks a lot

1 Like

Oh heck yes! Thanks for sharing this! I’d love for folks to start sharing their TT scripts again; especially when they can help bring very specific value to the family such as your Turing machine.

Thanks so much! Looking forward to using this!

2 Likes

For anyone looking to expand this to include the red mode (drum patterns) as I was a few months ago, I found the root drum patterns in the code (although could not decipher enough to know how the outputs are then derived from these).

If anyone has the chops for that bit of decoding it’s somewhere in here:

3 Likes

minor update on this:

friend of mine took 30 minutes to look over the code with me. There’s an ‘if even, no change’ and ‘if odd, change’ and the first pattern on the list is indexed as 0 (and is 12 o’clock on the knob which, if memory serves, gives a steadily alternating kick and snare with no fill). So the way to emulate it with tt would be to populate the tracker with these patterns, with some variable x that determines the current pattern, to increment all of the patterns on a unified trigger, and to call pn.here x to determine which trigger to come out of. x could be drunk or just some kind of weighted random (think mod rrnd 0 2 2, which gives 0 2/3rds of the time and 1 only 1/3rd of the time).

It may be a few months before I get around to it, but if/when I do I’ll post another update. Ultimately what this mode is doing is extremely simple, and there’s no reason we can’t write a Crow script even to emulate it – also recall that Disting EX integration is now a thing, so at some point in the future a 12 HP probabalistic drum machine will be a thing one could hack together, perhaps with clock and bias as the two inputs for Crow, taking up less space than the OG marbles. Seems a lot of people use marbles primarily for drums and treat the right side as just another stepped random, so this feels like a solution that could really enhance a lot of people’s flow.

Just posted this over in the Morphagene thread but thought it might be useful to have here too. I basically figured out TT CV values to hit the more “tonal” spots on Morph’s varispeed knob and wrote a script to make a quantized varispeed knob with the TT Param knob based on those values.

This quantizes it to octaves, 4ths and 5ths both in regular and reverse playback. Set your varispeed knob fully CCW and your varispeed attenuverter fully CW.

Tracker values (let’s say in pattern bank 0):

0 (reverse +octave)
41 (reverse +5th)
54 (reverse +4th)
85 (reverse)
118 (reverse -5th)
133 (reverse -4th)
164 (reverse -octave)
330 (stop)
486 (-octave)
518 (-4th)
532 (-5th)
564 (normal)
598 (+4th)
612 (+5th)
800 (+octave)

SCRIPT 1:

J PARAM
CV 1 VV PN 0 J

And PARAM.SCALE 0 14.

16 Likes

Hi! Finally im having some time to learn the Teletype :slight_smile
Thanks to all involved on making such a special device!
So i guess with the learning come the questions…
Apart from the usual i need more code lines, variables, scenes, etc that most newbies come to realise…i have one question:
I have a script that has a line that randomizes the pattern from where values are read. I have run out of scripts so i was wondering if there is any way to make a function comment out a line inside a script?
Say i found a random pattern that i like on pattern 0, but i dont want to randomize it again on the next trigger of the script. How can i disable the randomizing bit?
Sorry im away from my computer so i cannot copy / at the moment.
Any ideas?
Thanks!

Ps: Am i right in thinking that i probably cannot assign each fader of the 16n (therefore 16 fader functions ) and that i should just try to use the txi? I had lots of ideas for ñpattern manipulation but, there is no way with my knowledge im going to be able to fit that on 8 scripts, plus I and M.

Less is more?

Thanks a bunch!

I’m not sure I’m understanding correctly, but the first thing to say is that you can comment lines by hand using ALT-/

If you’re wanting to prevent a line from running programmatically, then you can use an IF. For example you could have a variable A, which if it was non-zero would trigger the thing to run and otherwise skip it by using IF A: and then the rest of the line would be your code.

I suspect this isn’t what you’re after, but just in case!

Thanks for your answer @SimonKirby!

I knew about the commenting out bit, but i had no thought about making a conditional state…but what related too? What condition should or should not be met to stop the randomizing action?

Scratching my head!

Thanks!

Well, I guess if you want something that says “stop randomising” because you like what you hear you will need an input from you to do that. One way is to simply type A 0 at the live prompt in teletype to set the variable. Another way would be to use the PARAM knob. You could check for it being zero instead of A and then just turn it to the left when you like the pattern. (You might need to set the range of the param knob in order to make sure it actually reliably goes to zero when turned all the way left).

1 Like

Thanks for the quick reply and input @SimonKirby i think i might use one of the faders of the 16n to move between 0 1 making the line of code that randomizes the pattern active or not. So if the variable is equal to the value it will randomize the pattern, and if not then it would “jump” the line of the script, maybe with an else if?
Will give it s go and report back! Many thanks!

2 Likes

Hi Thopa, there are also a few scences of Turing machines around if you like to get inspired and not already found it - just try the search.

2 Likes

This is veeery useful :slight_smile: thank you!