Teletype workflow, basics, and questions

I guess what I’m saying is that both are non-destructive and in practice work the same way. The only difference is the way the pattern is color coded (dashed line vs. bright/dim numbers).

I understand the use case. Pattern start and end don’t have aliases so last gets used more frequently.

Sure thing, thanks for taking a look. I’m running the 3.1 firmware.

Here is tt00:

TT00 - START

#7
Y + Y 1

#8
A + A 1
A WRAP A 0 11
TR.P 4

#M
X SCENE; SCRIPT 8
M BPM PRM
M.RESET
W EQ Y 0: BREAK
W != A 11: BREAK
DEL * M / 1023 1024: SCENE 1

#I
M.ACT 0
INIT.CV.ALL; INIT.DATA
A -1; B 0; C 0; D 0
PARAM.SCALE 50 400
M.ACT 1

#P
0	0	0	0
1	1	1	1
0	0	0	0
63	63	63	63

0	0	0	0
0	0	0	0
0	0	0	0
0	0	0	0

I start with this scene every time. Like I said in the above post: it initializes things and starts the metronome. I increment the A variable with each beat and when I trigger script 7 the scene will change at the end of the measure.

and here is tt01:

TT01 - SCENE 1

#1
J PN.NEXT 0
TR.PULSE J
CV J 8000
DEL.X 1 BPM M: CV.SET J 0

#7
Y + Y 1

#8
A + A 1
A WRP A 0 11
SCRIPT 1; SCRIPT 2

#M
X SCENE
SCRIPT 8

#I

#P
12	0	0	0
1	1	1	1
0	0	0	0
63	63	63	63

1	0	0	0
2	0	0	0
3	0	0	0
4	0	0	0
1	0	0	0
2	0	0	0
3	0	0	0
4	0	0	0
1	0	0	0
2	0	0	0
3	0	0	0
4	0	0	0
0	0	0	0
0	0	0	0

So what I’m seeing on my end is when it shifts over to Scene 1, the first trigger will be on TR 2. When I stop the metronome, use PN.I 0 -1 to set the index of the pattern, save, and then start over with Scene 0, the first trigger will be on TR 1. When I write this to USB and then back to the Teletype, the first trigger is on TR 2 again.

I’m confused why don’t you just initialize PN.I 0 0 in the Init script of Scene 1? Also, A is uninitialized in Scene 1.

I’m confused why don’t you just initialize PN.I 0 0 in the Init script of Scene 1?

I thought the #I script did not trigger when using the SCENE command so I didn’t even try that. Is this not the case?

Also, A is uninitialized in Scene 1.

I know. I use A to count what “beat” I’m on so I want it to be in the first position when the metronome starts.

Correct, hmm. I think you’re still going to have to initialize your variables though. When switching scenes do your globals stay the same as their previous values, or are the loaded to whatever the state was when you saved the scene to be loaded?

If these are the complete scenes I’m not sure you need both. Seems like you can combine everything into a single script?

I misread your statement of A being uninitialized. It’s uninitialized in Scene 1 as the scene change only occurs at the end of a measure, so it will be in the correct place after calling SCENE.

The globals stay at their values when changing scenes. I tried using the init script late last night when changing scenes but was unable to get it to work so I don’t believe it fires when calling SCENE, only when loading a scene through the menu. It would be helpful if I could.

These are just reduced scenes to demonstrate what I was seeing with pattern indices not saving out to USB. I’m working on something that won’t fit in a single scene so it’s important for the patterns to start in the correct place when transitioning to a new scene.

Do you happen to know what the four values correspond to above each pattern? The first one is length (I assume) but I don’t know about the other three and couldn’t find it in the documentation.

My guess would be: current position, start, end and length…

Genarative three part harmony, need to add a few more controls and might eventually replace the development/test sound on the 301…

3 Likes

So after some testing, here they are:

#P
Length
Wrap
Start
End

I also think this excerise has helped me narrow down my problem. The index for each pattern is saved in the memory of the Teletype but not written to the .txt file saved to the usb drive. So patterns in a scene can start at any index if last saved on the device itself but imported scenes will always start at 0.

In a blank scene:

PN 0 0 1
PN 0 1 2
PN 0 2 3
PN.L 0 3

Then typing:

PN.I 0 2
PN.I 0

Should return a 2. Save the scene and look at it on your computer, there is no 2 in the pattern settings.

Back on the Teletype if you load another scene that has a pattern at index 0 the results of PN.I 0 will be different (unless that scene was last saved on device with pattern 0 at index 2) and returning to the original scene will still return at 2.

Is this the place to log this?

Bonus: here’s a script you can use to easily look at pattern settings:

#M
X PN.I 0
A PN.L 0
B PN.WRAP 0
C PN.START 0
D PN.END 0

I don’t have a Just Friends yet, but I’m thinking about it.

Do I understand correctly that in Synthesis mode, with sound/sustain, JF.VOX sustains notes until the velocity is set to 0? Can you change the velocity while still sustained? E.g.

I:
JF.MODE 1
M 25

M:
L 1 6: JF.VOX JI I 1 FB I

and then monitor the Mix output, for an additive oscillator with manual controls, without the need for a separate hex VCA mixer? :grin:

Does time/intone “slew” of volume changes, or only take effect on attack/release when the velocity changes to or from 0?

Thanks :slight_smile:

[fixed after remembering the JI op]

So I somewhat haphazardly have a Teletype coming my way :blush:

Should I take some modules out of my 6u and do the studies in my skiff, or should I just keep using the big rack? Of course the obvious answer is to pare down do learn the basics, but I’m ready to hear what any contrarian-maximalists have to say.

I think you can change the volume while a note is playing. I’m not sure about the behavior (bc I’m usually trying to mute a channel, where for some reason I get better results with VV 10 or so than 0 or 1)

1 Like

question answered itself once I hit the ~five-hundred hour learning plateau O.O

here’s to another five-thousand.

1 Like

I did a quick search but wasn’t able to find an answer, but sorry if this has already been asked… Is there a way to programmatically run the init (I) script? I have some code I want to run on init but also want to run on trigger. I know I could move the code to a numbered script and call it from my init, but I was still wondering if there was a way to call the init script. Thanks.

Took a quick look through the code and I don’t think there is, it’s just called on scene init or on F10. Is there any reason not to make SCRIPT 9 / SCRIPT 10 call metro / init? This would be a trivial change, specifically this line would instead read if (a > INIT_SCRIPT || a < TT_SCRIPT_1) return;

1 Like

If I were making the change, I’d want something more semantic. I kind of wish INIT and I weren’t already taken. Maybe it could be a sub command of INIT? INIT.I maybe? Seems weird but :man_shrugging:

I’ll probably just put my code in one of the numbered scripts and call that from I for now. If I’m the only one asking for it, it’s probably not that generally useful.

grid ops already use 9 and 10 for metro/init script assignments, so this would be consistent with that. and i think it is useful to be able to call metro and init (you could use a trigger to reset a scene to its initial state, for instance).

(this also means you could just create a grid button, assign it to init script and then emulate a button press to trigger the script - a bit awkward but will achieve what you need).

Sorry to bring up this topic again, but I tried following your instructions and something seems to be off. The octaves are matching, but the CV outputted by Teletype is quantised to a whole-tone scale, unlike the pitches I’m sending through IN which are quantised to a major scale. Any idea what I might be doing wrong here?

$9 and $10 would be perfect!