> teletype : code exchange

llllllll
#61

yeah, i like using G1…G4 for gates, easy to remember. and i think i get why you’d want them to be PRE so it would be like saying “execute this command on RISE or FALL only” - but then essentially the trigger scripts are already the way to trigger something on RISE. having things get triggered on FALL could be interesting too, but then it would probably be cleaner to just have separate scripts for FALL instead, so 8 extra scripts, maybe they could be placed after the main 1-8 scripts so they don’t get in the way if you don’t use them?

0 Likes

#62

or just VA, VB etc to save extra character? i also kinda like something like _A, _B as it makes it easy to see variables.

0 Likes

#63

Yes, the RISE : would be redundant. FALL : implemented as a PRE could still work within the 8 scripts. So you would basically be able to define which lines in the script are executed on trigger/rise, and which will be executed on fall. I think that would be useful.

0 Likes

#64

it would use up available lines though… and then you still have the limitation of not being able to use one PRE with another.

0 Likes

#65

my previous intention was a different set of 8 scripts entirely for FALL. this is not a high priority feature to me-- it seems like it’d create much complexity and it’d double the scene size.

0 Likes

#66

and there is a workaround of multing the trigger/gate into an external NOT logic module and using a separate trigger script.

0 Likes

#67

this is true. in fact, if you’re using WALK with a single foot switch it’s very easy to get RISE/FALL scripts on the pedal action.

0 Likes

#68

For a very long time I’ve been wanting a simple voltage accumulator module. It is such a simple idea but outside of teletype it’s remarkably problematic to create and nobody manufactures one that works. I held on to an Eardrill modulemodule set up for some time hoping that he would finally release his VAccum, but he never did so I stopped waiting.
Here is my first attempt at teletype scripting. Please be gentle with me. This one goes up resets and then down resets and then up, etc. I’m sure this is far from elegant and maybe someone can suggest a way to make this work without the a-151?

Connections
Trig In 1 - main clock from Maths Channel 1 (which is also multed to the input of the a-151)
Trig In 2 - Doepfer a-151 out 1
Trig In 3 - Doepfer a-151 out 2

IN - Maths Channel 2 (static or variable voltage offset)

Trig Out B - Doepfer a-151 trigger in
Trig Out C - Doepfer a-151 reset in

CV 1 - your destination (I used a filter CV in)

M:
TR.PULSE A
TR.TIME 20

This is just for visual confirmation that M is working as expected.

I:
X 0
Q.N 3
M.ACT 1
TR.PULSE C

1:
Q TIME
M DIV Q.AVG 2
TIME 0
CV.SLEW 1 MUL M3

Values arbitrary. I needed slew longer than clock to get smooth changes, and wanted the relationship between clock and slew to remain the same.

2:
X ADD X RSH IN 8
CV 1 VV X
IF GT X 500 : TR.PULSE B

RSH value arbitrary, I chose 8 because it allowed me a little wiggle room with the small maths pot.

3:
X SUB X RSH 1N 8
CV 1 VV X
IF LT X 1 : X 0
IF LT X 1 : TR.PULSE B

That’s it.
Hit WIN I to reset.

I’m guessing there is a more elegant solution, maybe with a variable which could become negative to subtract, but this is what I have for now and it works. Which is exciting for me on teletype day 2!

3 Likes

#69

A quick question if you guys don’t mind :
How would you do to populate a pattern with 16 random steps ?

0 Likes

#70

LIVE mode

P.L 0
L 1 16 : P.PUSH RRAND 1 8

loops from 1 to 16. P.PUSH adds to the pattern. this assumes a blank starting pattern with length 0. throws in a random value of range 1 through 8.

0 Likes

#71

or with one line: L 0 15 : P I RRAND 1 8

edit: haven’t used patterns that much yet, in doubt now - if i use it this way do i have to set the length explicitly too?

0 Likes

#72

Thanks guys. i think i start to get how loops work.
If i get it well, Tehn you could as well have written “L 2 17” or “L 0 15”, couldn’t you ? The only important thing is it loops 16 times, right ?

0 Likes

#73

P.POP and P.PUSH dynamically change the length. you can directly set values with P 1 1 etc and the length won’t be affected. your suggestion was totally legit and will work correctly.

correct. the bounds of L don’t matter if you’re not using the I value inside the loop.

0 Likes

#74

yeah, unless you use the I variable in your loop for something. basically, I will step through the values you specify in the loop which can be useful, say, if you do L 1 16 : P.PUSH I it will fill the pattern with values 1…16

0 Likes

#75

@tehn - but if i never call POP or PUSH and just assign values directly wouldn’t the length stay at 0? i guess that’s fine if i read from the pattern directly as well but something like P.NEXT won’t work, it seems.

0 Likes

#76

correct. P.NEXT relies on the length, start, and end.

0 Likes

#77

SAMPLE AND PLAY

This is a simple scene to collect an array of notes as one plays and then have some of those notes play along with you in a semi random fashion. The last 16 notes played are collected in P.N 0 with the latest note played always being the first in the pattern, like a shift register. The pattern is played by the metronome, accessing a random position from 9-15, so not one of the last 8 notes played, but one of the 8 before. That’s about it for now. I think it might be sightly more musical is some semi random octaves were added. I think that could be done with ADD X MUL 12 DRUNK. I’ll test that later.

Connections -
Keyboard v/oct CV > IN
Keyboard gate > TR In 1
TR A > TR In 2
CV 1 > v/oct of destination
TR A > Envelope

M:
M sub 1000 RSH PARAM 4
TR.PULSE A
P.I RRAND 9 15

I:
P.N 0
P.L 16
M.ACT 1

1:
DEL 75 : X DIV QT IN N 1 N 1
DEL 76 : P.INS 0 X
DEL 76 : P.L 16
DEL 76 : TR.PULSE B

2:
CV 1 N P.HERE

NOTE - the delays in script 1 are there because it seems my keyboard tries to output the gates and change the v/oct out simultaneously, but actually the CV changes slightly later, so I was needing to hit a key twice to get CV 1 to change. This little delay gives the CV time to catch up.

10 Likes

(Teletype) IN cv read latency?
#78

very very cool. i’m imagining what it sounds like, but really curious to try it out myself.

1 Like

#79

Definitely going to try this.
Reminds me of Laurie Anderson software ideas for her electric violin.

You are on fire @lloydcole! :smile:

0 Likes

#80

Thank you.
I think what is most exciting for me about Teletype is that is does nothing unless you instruct it to. It is not some new oscillator or ratcheting sequencer which does something other modules can’t do that you simply must have. Instead it asks you - What would you like to do? What music would you like to make? How could we achieve that?

10 Likes