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!

If you want A to work as a clock divider, then you want to have the variable that handles the step index into the ER op to update more slowly. You’re doing that with the variable T in your code, but I don’t see where that is being updated. I’m guessing you have this in your M script? If so, then you want to update it not every click of the metronome, but fewer, depending on A. One way to do this is using: EVERY A: T + T 1

(caveat, I’m not at my teletype just now, so might be wrong!)

Hi @SimonKirby apologies for the late reply! Im in the middle of rearranging the whole studio so i have been in the twilight zone forva few dsys (and more to come)
Yes, T gets updated inside the M script.
Ill try with your counsel and report back,
Thanks s lot for your help! Much appreciated!

1 Like

Hello everyone, long time lurker first time poster here. I recently created my first melodic Just Type patch and I’d love to share it. I have much to learn, there’s nothing too clever going on here, but I have to say I’m quite enjoying the Teletype so far. The concept was a sort of modular wind chimes. Here is a video.

I:
JF.MODE 1
TR.TOG A

1:
P.N 0
JF.VOX 1 N P.NEXT V 10

2:
P.N 1
JF.VOX 2 P.NEXT V 8

3:
P.N 2
JF.VOX 3 N P.NEXT V 8

4:
P.N 3
JF.VOX 4 N P.NEXT V 8

5:
PROB 33: JF.SHIFT N -24
PROB 33: JF.SHIFT N -29
PROB 33: JF.SHIFT N -22
JF.VOX 5 N 35 V 5
JF.VOX 6 N 40 V 5

6:
JF.VOX 1 N 16 V 8
JF.VOX 2 N 31 V 8
JF.VOX 3 N 23 V 8
JF.VOX 4 N 38 V 8
JF.VOX 5 N 28 V 8
JF.VOX 6 N 42 V 8

7:
JF.VOX 1 N 12 V 7
JF.VOX 2 N 31 V 7
JF.VOX 3 N 23 V 7
JF.VOX 4 N 38 V 7
JF.VOX 5 N 28 V 7
JF.VOX 6 N 43 V 7

TRACKER:
4, 12, 23, 48
7, 16, 26, 47
-1, 11, -, 43
0, 24, -, 40
-, 26, -, 35
-, 31, -, 31
-, -, -, 30
-, -, -, 26
-, -, -, 23
-, -, -, 26
-, -, -, 30

The scripts are randomly triggered by Steppy and Pam’s. The TR.TOG A in the I: is sending a high voltage to the Ornament & Crime Quadrature LFO to enable clock division.

This was a fun first patch but I’m looking forward to learning how to do more with it, it is truly awesome what some of y’all are creating, and I thank you for everything that I’ve learned here.

3 Likes

This is a really nice patch, I especially liked that little groove around 3’ - keep it up!

1 Like

I am new to teletype and have a basic question about setting this up…first does PARAM.SCALE 0 14 go in the Init script and, second, are you triggering script 1 continuously to then update the position of the knob? Sorry for the simple questions, just trying to understand how this script works.