> teletype : code exchange

llllllll

#536

Whoa! I had no clue that was possible. Thanks for the heads up


#537

This was news to me too. Very useful, thanks!


#538

You could write a script that reads IN and puts the value in the current selected in the pattern then trigger the script with the function keys. Advance the pattern and do it again.

All theory though as I’m many miles away from my TT.


#539

Agh! That was something I was planning on working on. Nice!


#540

i started making a version for the grid integration firmware that is more fun to play with!


#541

SWEET! That was my plan also. You should definitely keep us updated, and/or make sure it’s included in @emenel’s TT github repo.


#542

yea i will add it when i have a chance. i got a little flustered because i was trying to added ratcheting for each division grid cell, but couldn’t figure out a way to do it with the way that the DEL pre currently works D:


#543

I think the issue is that the Teletype script will never know what the currently selected value in the Tracker is


#544

It does! The selected cell is available for reading and writing through ‘P.H’

Those fellows thought of everything!


#545

For this scene I made a sequencer out of the bubble sort sorting algorithm, which my programmer friend Ollie introduced to me. It generates a random sequence and then as the sequencer steps through the 8 steps - it sorts the notes into order, 1 pair at a time. Once a sequencer is fully sorted into ascending order a new random sequence is generated. It turned out surprisingly musical! This is for just friends but could easily be adapted for CV and Gate.

In the video the mangrove is triggered when a note is ordered and I visualised the seuqence on the grid but I’ve not included that code here.

PN 0 is the random pattern
PN 1 is the reference scale

#1
IF C: SCRIPT 8
ELSE: C 1

#8
L 0 63: PN 0 I PN 1 RAND 16

#M
A P.HERE; B P.NEXT
JF.NOTE N P.HERE V 8
IF EZ P.I: SCRIPT 1; BREAK
IF GT A B: P.HERE A; C 0
IF GT A B: P - P.I 1 B

#I
P.L 8
M 200
JF.MODE 1

|0|0|0|0|
|---|---|---|---|
|5|2|0|0|
|38|4|0|0|
|50|5|0|0|
|38|7|0|0|
|36|9|0|0|
|57|11|0|0|
|36|12|0|0|
|12|14|0|0|
|35|16|0|0|
|53|17|0|0|
|33|19|0|0|
|0|21|0|0|
|11|23|0|0|
|9|24|0|0|
|0|26|0|0|
|16|28|0|0|
|36|29|0|0|
|48|31|0|0|
|26|33|0|0|
|23|35|0|0|
|31|36|0|0|
|2|38|0|0|
|36|40|0|0|
|33|41|0|0|
|26|43|0|0|
|14|45|0|0|
|11|47|0|0|
|38|48|0|0|
|19|50|0|0|
|62|52|0|0|
|0|53|0|0|
|7|55|0|0|
|19|57|0|0|
|23|59|0|0|
|60|60|0|0|
|55|62|0|0|
|59|64|0|0|
|50|65|0|0|
|59|67|0|0|
|19|69|0|0|
|23|71|0|0|
|2|72|0|0|
|19|74|0|0|
|43|76|0|0|
|28|77|0|0|
|47|79|0|0|
|9|81|0|0|
|35|83|0|0|
|47|84|0|0|
|14|86|0|0|
|19|88|0|0|
|5|89|0|0|
|52|91|0|0|
|55|93|0|0|
|29|95|0|0|
|52|96|0|0|
|50|98|0|0|
|2|100|0|0|
|35|101|0|0|
|0|103|0|0|
|47|105|0|0|
|38|107|0|0|
|59|108|0|0|

#546

Hi there, i was watching this and wondering whether it could be done with teletype - looks simple but very interesting for stuttery unpredictable patterns. Its influenced by Ryoji Ikeda


#547

So it takes an incoming flow of triggers, skips some of them, and replace them with variable length gates ? Seems easily doable


#548

yes with some sort of random / probability thrown in - when i saw the video i instantly thought Teletype triggered by Meadowphysics to an er301. I think the gate lengths have a rhythmic element, they are just not totally random, theres some magic code there.


#549

You could set the gate lengths based on multiplying/dividing the clock speed in milliseconds…


#550

yes, thats a good idea. Thinking in modular world, i think this maybe could be done with a uLFO or any lfo / oscillator with cv control of pulse wave modulation of a square wave. Add a negative offset and hit it with a trigger whilst CV’ing the PWM at the same time


#551

you can also do it with Maths https://www.muffwiggler.com/forum/viewtopic.php?t=71382&sid=97c606a30e511af04f39486cf7e69ff5


#552

So, given the current firmware, and telex abilities, what is the most elegant and efficient/accurate way of setting ratcheting output based on incoming cocked triggers?

As in: I feed one of the inputs a clock, and I have TT produce script controllable ratchet/clock variations?

What are your best, tried and reliable approaches to that?


#553

the scene discussed here is my best attempt so far. its not great because it eats up several scripts and variables. somewhere in a thread here recently, someone mentioned that there is a ratcheting op planned for a future firmware. I hope it comes along sooner than later because a simple syntax for ratchets would be incredibly useful.


#554

Right: I made some pitches for that long time ago, but wanted to check in again since there was a lot of development happening, and I was not sure if I missed some progress on this front. Especially thinking of all the work done by @scanner_darkly and @sliderule!


#555

I’m working on a scene where pattern 0 is populated by random values selected from either pattern 1, 2, or 3. (Just now it’s mainly an exercise - I’ll let you know how musically useful it is once I get it to work. :slight_smile: )

First I tried stepping through patterns 1,2,3 using the O variable to specify the pattern, and that worked. Then I thought that it might be an idea to use the parameter knob to choose the pattern.

The best way I can find to do this (and bear with me because four hours ago, I didn’t know what bit-shifting was) is this:

Y ADD 1 RSH PARAM 12

This works, providing a value for Y that can then be used here:

L 0 7: PN 0 I PN Y RAND 16

the issue I have with this, though, is that possible values of Y, are 1,2,3 or 4. 4 is not a valid option, though, and so is (presumably?) simply ignored. This seems kind of clumsy. Is there a better way around this?