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!

So I started my journey into Teletype 12 days ago when I decided a good way to dive in was porting Norns’ amazing Awake to a Teletype scene. It turned out harder than I expected, misunderstanding id’s within a group (thanks @scanner_darkly for clarifying) and being limited (but in a fun/challenging way) by the amount of scripts/rows/chars/vars. Yesterday I finally got my first oscillator in the mail (also just dove into modular) so I was able to test and fix a last bug in the scene.

I present to you: HALF-AWAKE:

  • Script 1: advance and play sequence 1 (default 8 steps)
  • Script 2: advance transposition sequence 2 (PARAM decides steps)
  • Script 3: change note or transposition and “on/off” state for steps
  • Script 4: morph note sequence or transposition sequence for steps that are on
  • Script 5: morph sequence 1 with script 4
  • Script 6: morph sequence 2 with script 4
  • Script 7: reset sequence 1 playhead
  • Script 8: reset sequence 2 playhead

tt02s.txt (1.7 KB)

P.S. If you want to trigger scripts 1 and/or 2 externally remove them from the Metro script!

13 Likes

This is great! I’d love to take a look at how you wrote the scene.

Added it to the first post! please change the script number to the desired spot to overwrite when writing to teletype :slight_smile:

excellent, added it to the grid teletype code exchange page!

2 Likes

Hi!
Im trying to input param readings in realtime in a pattern.
So the pattern is playing with P.NEXT and i want to input the readings from the PARAM pot on each index of a pattern in real time.
I have tried:

P.N 0 ; P.INS 0 PARAM

and

P.N 0; P.PUSH PARAM

With no luck.

I have also tried scaling PARAM on the I script and assigning its value to A but its not working either.

Can this be achieved? would be great to have a pseudo Malekko voltage block function where fader movement is recorded in real timein a pattern…

Cheers

@thopa here is a clocked recorder script I made which works similar to what you’re asking. It does not have “motion detector recording” like Voltage Block, though. Instead you use a gate on input 1 to clear old and begin a new clocked recording on the “IN” jack. When the gate is low the script is in clocked playback mode.

Script 1 (arm record while high, disarm and reset sequence on falling edge):

IF ! STATE 1: X 0; P.I P.L
IF ! STATE 1: BREAK
IF X: BREAK
P.I 0; P.L 0; X 1
P.MAP: 0

Script 2 (trigger advances clock):

IF && X STATE 1: $ 4
IF ! OR X STATE 1: $ 3

Script 3 (playback function):

CV 1 P.NEXT

Script 4 (record function):

J IN; P.PUSH J; CV 1 J

Init script:

$.POL 1 3; X 0
2 Likes

Hi @thopa. did a modification of „morphing faders“ of @scanner_darkly with recording function. But you need a txi (and a grid would be handy but not necessary).

1 Like

Thanks @desolationjones !
Its not a problem to trigger a clocked recording, i actually made a module to send triggers on push button push.
Thanks a lot for your example code, im going to try to implement it on my current scene but i probably will start a new one since im (as always) out of space on this one.
Will let you know how it goes thank again!

Hi @KitKatAndy thanks for your reply! Luckily i got a Txi : and a grid too!
Looking into it too, much appreciated! But being honest I havent tackled teletype grid interaction yet, but i will do soon…Gracias :slight_smile:

Hi!

Creating a script for Teletype that is capable of triggering voice polyphony in Just Friends, I run into a problem when it comes to finding the best way to update the CV’s that come through the TXi without using a huge amount of delays … Basically this is the structure for each voice, with control for the level of each voice with the TXi knobs:

I:
L 1 6: $.POL I 3
JF.MODE 1
L 1 4: TI.PRM.MAP I 0 1000

1: 
K STATE 1; I VV * TI.PRM 1 K
DEL 50: X TI.IN 1
DEL 50: JF.VOX 1 X I

What do you think of it? Should be a better way to update the CV’s?

Why the delays? Are your variables not updating fast enough?

Yes. If Y don’t put those delays the JF is always one trigger behind. So I need to add some kind of delays, although I don’t know if this is the best way …

How easy is it to convert the JF teletype scripts to w/syn? is there a comprehensive guide at all?

Hi, Im working on a euclidean sequencer and i have it working on 4 channels;
Each channel reads from the Txi pots, and assigns pattern length, number of beats and offset.
I wanted to create a variable A that was assigned to the last pot of the txi.
I wanted to divide the number of triggers by the value of that variable as a sort of clock divider, but im stuck on the last bit.

PN 0 O TI.PARAM 2
PN 0 1 TI. PARAM 1
PN 0 TI.PARAM 3
X PN 0 2
Y ER PN 0 0 PN 0 1 SUB T X
IF Y: TR.PULSE 1

So im trying to divide the number of pulses of TR.PULSE 1 by the value of the Variable A.

i have tried IF Y: TR.PULSE 1 DIV Y A (Fail)
and IF Y: TR.PULSE 1 DIV M A (Fail)

Any ideas?

Many Thanks!