Teletype workflow, basics, and questions

teletype
#629

I made this for note number reference, perhaps someone else will find it useful. If there is a better place for it, please move this post.

edit: fixed

32 Likes
#630

I’d love to see someone with solid graphic skills (aka not me) make a circle of fifths midi note chart. I have a crudely hand drawn one that I made, but it would be nice to have a printable one for marking.

I’m also intrigued by how people tune their oscillators with the teletype. Does anyone actually use all 8 octaves of N values? Tuning my oscillators so that the N 0 is the lowest C I’d want to hear has always been my strategy, I feel like I rarely need to go beyond 3 octaves. More often I feel like I only use the first 2 and a half octaves and then use CV.OFF if I want to go higher from there.

#631

I typically tune to… whatever feels good, and treat any input (whether MIDI-to-CV, Teletype, analog sequencing, etc.) as transposition from that root. If later I include other instruments that don’t transpose so easily, I make adjustments as needed to get things aligned.

I usually stick with low voltages for pitch CV to improve tracking consistency, but sometimes I like big octave jumps that are a little bit off :slight_smile:

2 Likes
#632

Hey All,

Apologies for:

  1. If this question has been answered already; my search skills are failing me.
  2. This is probably not a Teletype-only kind of question; just how I noticed it.

If I have a cable plugged into one of the Teletype CV out jacks and touch that cable to a jack on most other modules the Teletype CV LED will light up; if I plug all the way into the jack the LED turns off. Examples:

Teletype LED lights up: Tangle Quartet, PNW, Maths, Three Sisters, Triatt, Nebulae, Rings, Clouds

Teletype LED does not light up: Malekko Buff Mult, Morphagene

I don’t notice any impact to Teletype, so just curious if any of the brains here have an explanation for education purposes (related to dc coupling?). The case in question is powered by a Row Power 40.

Thanks!

#633

Just for another data point, this happens with the LEDs on my Ansible and Teletype in a Make Noise powered skiff. I don’t recall which modules this happens for or doesn’t happen for. My guess—although it really is just a guess—is that touching the cable to a panel or a jack briefly shorts it to ground? or else briefly connects it to whatever the jack is normalled to in the absence of a cable?

Whichever is the case, this suggests that Teletype and Ansible have their LEDs draw power essentially from the CV present on the cable, so the light is responding to some current flowing “backwards”.

1 Like
#634

I have a bit of a question for my current teletype setup. I’ve kind of been continually developing what I feel is the perfect set of scripts for what I enjoy doing with the Teletype which is sequencing video clips into music with the modular. But I have only one issue which I’m not sure how to fix, which is, on preset load my sequencers are often clocking off-beat.

For a bit of context, I send a clock out of TR4 into Grids, which is my main beat, and when I load a preset often my sequencers are clocking off-beat to Grids. (I do send a reset EVERY: 64 out of the TR3 but I don’t believe it necessarily solves the issue plus I’d love to figure a way for it to be in sync directly on preset load). Currently, what I do to solve the issue is I type in the command SYNC 0 repeatedly until I hear the sequencers lock on. My sequencers are all controlled by EVERY commands. (I will post my scripts below) I must admit I don’t quite completely understand how the SYNC command really works. But eventually SYNC 0 brings my clocks into sync with Grids and then I’m free to jam. Any help is much appreciated!

Here’s a brief description of what each script does.

#1 Is my sequencer for the video clips

#2 is my sequencer for a complementary synth line

#3 This script retriggers my sequencers from their start points, based on start and end points defined by X and Y variables

#4 Instigates knob control of tempo

#5 Randomizes the notes between start and end on sequencer #1 based on variables C and D

#6 Stops the metro

#7 Moves the index point on pattern 3 & 4 to it’s previous step (The numbers from pattern 3 and 4 define X and Y, start and end for pattern 1 & 2)

#8 Moves the index point on pattern 3 & 4 to it’s next step (Defining X and Y as well)

(Scripts 7 & 8 are basically used as navigation for patterns 1 and 2, and Script 3 is my instigate button to jump to the newly defined start and end.)

#M The metro uses EVERY commands to clock sequencers 1 and 2 based on variables A and B, as well as sending a reset EVERY 64. It also sends the clock signal out of TR4.

#I Sets the tempo, defines A and B and sets SYNC 0.

I’m sorry this description is so convoluted. I’m sure most of you will understand how it works best just by looking at the scripts below.

Anyways, the issue I’m trying to figure out is sync with Grids on preset load and sometimes, if my timing is off on pressing enter, I will lose sync when I live-mode define variables A and B, sequencers 1 & 2 clock division.

Have a look over my script and any help is much appreciated!!! Thank you!!!

#1
CV 1 N PN.NEXT 0
IF EZ PN.HERE 0: BREAK
DEL 20: TR.P 1

#2
CV 2 N PN.NEXT 1
IF EZ PN.HERE 1: BREAK
DEL 20: TR.P 2

#3
L 0 1: PN.START I PN.HERE 2
L 0 1: PN.END I PN.HERE 3
L 0 1: PN.I I PN.HERE 3
M.ACT 1

#4
M RSH PARAM 5

#5
L X Y: PN 0 I RRAND C D

#6
M.ACT 0

#7
PN.PREV 2
PN.PREV 3
X PN.HERE 2
Y PN.HERE 3

#8
PN.NEXT 2
PN.NEXT 3
X PN.HERE 2
Y PN.HERE 3

#M
EVERY A: SCRIPT 1
EVERY B: SCRIPT 2
EVERY 64: TR.P 3
DEL 20: TR.TOG 4

#I
M 126
A 4
B 8
SYNC 0

#P
64 64 48 16
1 1 1 1
0 0 0 0
0 0 15 15

1 12 0 0
79 12 1 4
77 0 5 8
73 7 9 12
78 0 13 16
14 3 17 24
13 3 25 32
20 3 33 40
19 3 41 44
20 5 45 48
19 5 49 56
16 5 57 60
17 5 61 64
5 8 0 0
6 8 0 0
7 8 0 0
22 8 0 0
14 0 0 0
11 0 0 0
14 0 0 0
16 0 0 0
16 5 0 0
15 5 0 0
18 5 0 0
11 5 0 0
20 3 0 0
22 3 0 0
26 3 0 0
23 3 0 0
20 8 0 0
26 8 0 0
22 8 0 0
19 8 0 0
39 0 0 0
42 0 0 0
36 3 0 0
38 3 0 0
36 5 0 0
36 5 0 0
37 5 0 0
35 5 0 0
33 17 0 0
458 8 0 0
468 5 0 0
468 0 0 0
44 24 0 0
44 12 0 0
43 24 0 0
43 12 0 0
45 12 0 0
49 17 0 0
49 3 0 0
45 0 0 0
48 12 0 0
49 17 0 0
47 3 0 0
49 0 0 0
468 48 0 0
475 48 0 0
465 34 0 0
470 48 0 0
90 48 0 0
80 48 0 0
80 90 0 0

#G
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000

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 0tt26s.txt (1.5 KB)

1 Like
#635

You know I think I figured this out. It’s been a while since I’ve tried to chase down the problem and it’s definitely an issue with resets. I’m still often loading up off-beat but I’ve found a pretty good solution.which is adding a reset (TR.P 3) on the I script and though that doesn’t guarantee sync with Grids on load up if I press F10 after load up it pretty consistently finds the beat right after. So I think I have this solved now.

EDIT: But I guess I still have questions about sync 0. Why is it that if I continually enter Sync 0, the sync will actually go off beat sometimes. Does the timing of pressing enter matter for where it will land, on falling or rising edge of the clock output. Is it wrong for me to use TR.TOG for the clock output? It ends up half the clock of the metro but follows the tempo without having to worry about TR TIME.

#636

Wild shot: did you try Sync -1?

#637

I feel like I’ve tried that once or twice but I’ll give it good test the next time I’m in the studio. I also want to try to change my clock out from a TR.TOG to a TR.P. Perhaps, on load-up and when I change my variables A and B, the toggle ends up on the inverse of the actual metro clock. I don’t know but want to give that a shot as well.

Yeah, I think I said I figured it out too soon. After posting above I had some trouble syncing up using the F10 after load up. Which was working well for a bit.

#638

Yeah, TR.TOG would switch the trigger output high or low and end up being high half of the time. The pulse command is better as a clock since it would be triggered high each time, although as you’ve said, you have to watch the duration of the pulse time which you want to be less than your clock rate or metro rate.

1 Like
#639

Thanks Jonny! Yeah, I think I’ll just keep the TR.TIME good and short because I think most of these modules like Grids and Zularic Repetitor can keep time with short pulses.

1 Like
#640

I was surprised that PROB 100 doesn’t fire 100% of the time. Is this on purpose?

#641

it might be that PROB 100:... is equivalent to IF < RAND 100 100:... which won’t fire all the time, because 100 < 100 is false?

2 Likes
#642

You could be right – from about 25000 trials it looks to me like like

PROB 50 fires about 49.8% of the time
PROB 100 fires about 99.2% of the time
PROB 101 fires 100% of the time

2 Likes
#643

The code looks like this:

if (random_next( r ) % 101 < a) { process_command(ss, es, post_command);

So yes, i think it’s an off by one error as @alanza suggested.

2 Likes
#644

Hi all,

I’m a new Teletype user who’s still very slowly learning the ropes (this thread has been very helpful).

I’ve been using Tempi to trigger my scripts which has been working nicely so far, but I’m curious to hear how you all are triggering your scripts.

I put together this little poll below(a neat function I didn’t know existed till now), but if you feel like sharing a bit of insight on your triggering workflow I would really appreciate that as well! :slightly_smiling_face:

  • most often I use internal triggers
  • most often I use external triggers
  • most often I use both

0 voters

#645

Thanks Jonny! Changing the clock to pulses was the answer! I’ve removed Sync 0 from the Init Script altogether and each preset load has the video clips in sync! I’m kicking myself over the solution because its so simple and probably the way everybody sends a clock. TOG just seemed like a clever solution (to a problem I guess never existed). Aw well, so happy to have some consistency now, and even switching the clock divisions on the fly is keeping sync. So I’m pumped!

1 Like
#646

using external triggers gives you more flexibility as you could have completely independent trigger sources, and you can control them with their own controls. not to say you couldn’t replicate something similar with metro script calling other scripts (especially using somehow like EVERY pre) and using the param knob to change the rate.

if you do that (using metro to call other scripts) it also gives you the option of being able to switch between external and internal clock easily - if you switch to an external clock all you have to do is stop the metro script (with ctrl-f9 shortcut or M.ACT 0).

a fun thing to do is using external triggers on a scene that wasn’t meant to be used with them - kinda like circuit bending a scene, since you’re plugging into internal scene points.

remember you can mute trigger inputs too if you need to debug your scene. you can still trigger muted scripts with keyboard shortcuts.

3 Likes
#647

Thanks for the tips @scanner_darkly!

So far I’ve been a little confused about how to use the M script alongside external triggers, but after reading your comment and perusing the manual a bit I came up with this:

script 1(externally triggered):
T LAST 1
TR.PULSE 1

script M:
M DIV T RAND 4
TR.PULSE 2

Random multiplications of the incoming trigger…!
Though I can’t figure out how to sync the scripts to each other. the timing is right but the firing isn’t aligned…

Any ideas for this?

Also I didn’t know about the MUTE function. So many possibilities with tt it’s a bit of a mind melt.

1 Like
#648

try moving M DIV T RAND 4 line to script 1 - i think that should sync it

edit: also add M.RESET to script 1.

1 Like