Teletype 3.+ feature requests and discussion

Gaussian is cool in graphics… for music I expect it’d be better for micro-scale stuff, like granular or for noise as an FM source, than for the “sequencing” time scale Teletype is generally dealing with. But maybe that’s just me.

Hmmm, now I’m thinking about Perlin noise and erosion algorithms as compositional elements :nerd_face:

1 Like

Gotta disagree, different distributions (normal, 1/f, 1/f^2) have extremely different aspects when used as coarse-time parameter sequences (especially pitch.) all tend to feel more “natural” than flat distribution.


I admit that was just an off-the-cuff guess based on not really trying it :slight_smile:

1 Like

I’ve been using teletype to clock the looping delay mode in Clouds and the pitch warble whenever I interact with the teletype UI is certainly problematic - especially in live use, so if there’s a fix for this it would certainly make me happy!

Best fix I know of is to get a Telex Output, the timing seems to be very stable.

i’ve removed saving last mode (which is what caused the metro timing issue) in the latest beta. it was originally posted in Teletype 3.0 thread as that’s where we were discussing the issue with scenes getting overwritten, i’ve updated the OP here as well to avoid confusion. if you have the time want to give it a try?


Metro is +/- a few milliseconds best case, isn’t it?

That much jitter will definitely cause audible issues with a clocked delay and some other things.

yeah, it’s not rock solid (detailed measurements in this post) but removing saving last mode to flash should provide some noticeable improvement.

1 Like

Yeah, I recall reading that: +/- 1ms will probably be somewhat audible if you got consecutive timings at the limits.

Is there still an issue with scrolling in the tracker screen interfering with metro stability? I always use a TXo for clocking, so I haven’t paid attention in quite a while.

any scrolling will probably have an effect but hard to say how big. there are also many other variables (i2c / grid if you’re using grid, delays) that might also contribute, so scrolling might not actually be the most contributing factor.

1 Like

I’m treading off topic at this point but here’s an another example of recent popular module using a similar distribution musically.


Heh, I never really think about Spread/Bias in Marbles, I just roll with whatever comes out. (Also if I remember right, the manual included with beta test modules was a little less clear on a few points than what was published on the website, and that might have been one of them.)

(I think generally I have them both near 12 o’clock most of the time, though.)

so I made a dirty build with a SEED op using srand() last night for @rikrak. seems to work as you might expect.

digging deeper into the code I found the following ops all currently use rand(), and thus are all effected by setting the seed with srand(). so I’m kind of curious what thoughts there are on whether a single SEED should control them all. we could give each a random_state_t as linked by @zebra, and have variations of the SEED op i.e. SEED.TOSS.


as a side note I’m not what concerns there are(if any) with increasing the size of the scene_state_t


if we do separate seeds i think TOSS.SEED etc might follow the naming conventions better (grouping by the main op, like P.NEXT etc).

adding random_state_t to scene state is not a concern (even if we do separate ones for each random op), it’s only 6 bytes.

1 Like

If there are separate Seeds, it would be great if there was a way to have a command that would affect all randomness - as it does with the build you very kindly sent me.

I’m using Seed to populate a TT pattern with 64 values which are then sent out across the rack to control other modules. Seed sets loop lengths, envelope shapes, pitches, filter cutoffs, reverb levels, etc etc.

Everytime the Seed is set, the entire patch changes - and to recall those settings, you only need to have made a note of the single Seed value. By exploring random Seed values and then making a note of those that work best together, you can then use another pattern with those ‘curated’ seed values, to rotate through saved states of the entire patch. It’s a really fast and powerful way of working with generative compositions. I love it!


wow that’s really a really great use case of SEED! ya I think a base SEED op could have that functionality, and then the OP.SEED ops would give you granular control.


Over @ teletype: grid # code exchange (Teletype 3.+ feature requests and discussion) scanner_darkly - SCENE is banned from the init script because you can lockup your Teletype requiring a firmware flash to fix!
e.g. if the init script of scene 1 calls SCENE 2 and the init script of scene 2 calls SCENE 1 , then you Teletype will bork. Worse… when you reboot the system it will probably try to re-run the last saved scene… and the only way around it is a firmware flash.

So I raised the possibility of - Just wondered whether there could be an option on this - either at firmware load or specialised word? ie set the thing and TT boots w/o a script.

still learning the hardware side of teletype, but I think if you changed these lines in main.c to something like:


it would be possible maybe?. this was just taking a quick look, so there’s probably some other steps I’m missing.

for SEED op syntax, would TOSS.SD be acceptable to save a few characters? I’m thinking:




seems very reasonable to me - from a non expert on there matters :blush: