Beta 1

teletype.zip (125.0 KB)

Changelog

  • Fixed INIT failing to initialize the calibration and scale data
3 Likes

Hey there,
just a little thing: Is it possible to execute 2 or more instructions as a result of a single IF?
for example IF EZ X : TR.PULSE A and SCRIPT 2

thanks bye

Yes, as long as they fit on the same line: use a semicolon:

IF EZ X : TR.PULSE A ; SCRIPT 2

3 Likes

Oh nice!
thanks man :smile: D

1 Like

Not sure where to post this; I didn’t want to start a new thread.
Is there any interest in having a lookup table for converting note numbers to ratios? Essentially something that spits out 2**(n/12). for instance RATIO 12 will get you 2.
Since most ratios are fractional, the result should perhaps be something like 149 for 1.49.
Alternatively, is there a trick to bypass the floating point limitation and compute 2**(n/12) in Teletype?

1 Like

I’d absolutely love a few operators to multiply and divide frequency ratios against each other and convert to volts back and forth. This would be incredibly useful for taking advantage of Just Type’s JF.TUNE operator (which allows custom frequency ratios at each output), and for taking a very different approach at harmony that has deeper roots in the science of auditory perception. I’ve experimented with that way of thinking of harmony in patching and in creating scales and chords and it has shown to be a really powerful tool — and it extends past the 12-tone scale into microtonal territories.

1 Like

Maybe if we ask nicely one of the devs will implement it.

The JI operator was fixed, it’s currently in master. I think it’ll be included in 2.2 as a bug fix. It does what you’re asking for! I think!

3 Likes

This is great! Tons of ideas flooding my mind. Really can’t wait to get my hands Teletype + Grids. I’m realizing this pair makes the exact open-ended composition instrument I’ve been yearning for for years.

2 Likes

If I understand correctly, this automatically shifts down values within the range of an octave? Would it be possible to get a non-wraping operator as well, where you’d get the fraction you are asking for rather than that fraction divided by 2^n? I see valid use cases for both variants: it’s sometimes easier to deal with the unaltered ratio, ie when generating an offset for a fm-modulating oscillator (where you might want something like a 7:1 ratio), and sometimes easier with the octave-down version, ie when defining scales.

I forgot to mention that I merged the current master into Beta 1, so it has access to the fixed JI op.

1 Like

Really nice update, I ran the beta firmware at my live performance last weekend without any issues except for some funny MUTE behavior that I can’t currently replicate due to having the modular totally taken apart for renovations.

I had the following in script 7:

IF MUTE 1: MUTE 1 0
ELSE: MUTE 1 1

And in script 6:

IF MUTE 3: MUTE 3 0
ELSE: MUTE 3 1

And in script 1, which was being fired by a master clock (not metro), I had:
…
SCRIPT 3
…

In other words, script 3 was being called by script 1, not an outside trigger.


These were triggered by some debounced switches.

Toggling script 1 mute works as expected, but the display does not update (bottom left script number is not greyed out) until I leave the script edit screen and come back (i.e. use [ ] )

Toggling script 3 didn’t have any effect, I figured out another way to handle it.

Again, thanks so much to all who are making this so much cooler than it already was!

1 Like

Ah! I know what this is. When I re-implemented script muting via keystroke, I forgot to implement the shading for the operator. Easy fix. Thanks! :+1:

I’m not sure that the toggle should apply to calls to SCRIPT. @tehn?

:heart:

1 Like

my original intention for MUTE was to ā€œmuteā€ incoming triggers.

i’m also not sure about MUTE applying to SCRIPT calls. ie, you could mute script 1, then use input 1 polled via STATE and the script 1 as an extension that could be called by other scripts.

seems a better solution to use conditionals for SCRIPT muting. or extend MUTE so that -1 (or something) means mute the trigger and SCRIPT

3 Likes

another option for SCRIPT muting could be having a keyboard shortcut for commenting out the whole script (similar to commenting out a line)

2 Likes

My employ as a system administrator is keeping me busy. I have updated the changelog to reflect the changes in my branch and will shortly submit a PR to permit the codebase to move forward.

This PR will be nearly completely lacking in documentation of the changes in 2.2, so someone will need to take up that torch in order to move to release.

While I am not walking away from firmware development, the next few months may not leave me with the time to contribute.

11 Likes

thanks for the update-- will look for the PR and make sure the docs match up.

1 Like

Grateful for all the new features you added to TT. The firmware underwent a few cool iterations these past couple of months.

6 Likes

Yes!! The new features are incredible, thanks so much!

1 Like

Thank you so much for your contributions! Still have to catch up with everything, but I already fell in love with some of your enrichments.

2 Likes