Teletype as envelope generator?

I am trying to use the CV outputs to create dynamic enevelope shapes. This is my script attempt at creating something like the sketch in the photo that goes into VCA as an envelope:

However, I get distinct noise from the CV, especially audible at shorter slew times (as if though produced CV had “steps” rather than being a smooth signal). So, effectively, there is noise that gets mixed with whatever is being fed through the VCA.
None of the noise is present when I switch the CV on the VCA to an envelope coming from Quadra for example.

Anybody has any ideas how to avoid that?
Or have better approach to using the CV outputs as envelopes?


i like the envelope drawing!

i haven’t noticed any noise on the CV output, even with short slew times. there is, however, a control rate that the CV updates at, and this might cause audible “steppiness” depending on the time-- the rate is i think on the order of a few ms. this is obviously no big deal on longer ramps, and generally the outputs will be micro-smoothed with the output caps, but again i haven’t tested this in a straight VCA situation with fast slews.

i can check this on a scope and potentially tune the firmware.

one thing: i suggest in your script doing the first line LAST. so the slew is updated prior to choosing a new CV value. that might get rid of some wobble.


Thank you for your feedback on this @tehn!

I experimented moving lines around to see if the audible artifacts had anything to do with the sequence of events, but it did not seem to have an impact.

There is definitely “steeliness” with 50ms slews and definitely shorter ones.

Would it be helpful for me to record some of this? I am pretty sure you will be able to reproduce this easily though, playing some sine wave and using a VCA from Quadra or such.

If this is something that can be tweaked, I think it would be worth attention, especially for dynamic envelope generation, which Teletype would be amazing for.

Bumping this one up as I’m investigating something similar.

Curious if you got any further?

1 Like

Bumping with the same question

Bumping again, i’m interested in digging deeper in this topic as well!

will investigate next week with a VCA

first thought, might be worth limiting the range-- not jumping 0-10v but trying 0-5v.


(TOSS is the same as RAND 1)

1 Like

Hi, just wondering, why there are no envelopes
I know it’s possible to do CV.SLEW X 600; CV.SET X V 10; CV X 0; < right?

But it’s not possible to do non-linear stuff…
Could it be implemented?
Also, non-linear slew would be awesome…


Apologies for expanding the conversation to the, er, expanders. But, the TELEXo adds 4 envelopes per unit to the Teletype that it is connected to. In the current firmware they are AD envelopes, with different times (in ms, sec, and min) for attack and release. The “peak” is set by the CV voltage of the corresponding channel; positive voltages cause envelopes to go up and negative the opposite. The offset command shifts what is considered “zero” for the envelope.

For example, here is an envelope that goes from 0V to -5V when triggered (the third command):

TO.CV 1 V -5

If you want the envelope to rest at 5V and trigger to 0V, you can do this:

TO.CV 1 V -5

You can also cause the end of rise and end of cycle events to fire triggers (on the unit containing the envelope) [TO.ENV.EOR & TO.ENV.EOC operators]. The envelopes can loop [TO.ENV.LOOP operator]. Finally, if you set the CV output to logarithmic mode [TO.CV.LOG], you can get log envelopes of various ranges.

See the command documentation for more information. :slight_smile:

And the handy command reference:


If only there were more telexo available for order… :wink:



I tried to replicate this script in order to get the envelopes as drawn by @laborcamp.
The script as shown by @laborcamp did randomize voltages, so the envelopes would never look as pictured I think (same voltages for on and off):slight_smile:
This is my script, it only randomizes envelope slew lengths and metronome time.
There is a toggling of TR 1 output with purpose of visualizing the behavior of the CV 1 output against it.

T MUL 50 RRAND 1 8
IF A: CV 1 V 5
ELSE: CV 1 V 0

CV 1 and TR 1 are set to zero in the init script.
When I put both signals TR 1 and CV 1 on a signal scope, it seems that the TR 1 signals keeps up pace with the metronome time changes, but the slew doesn’t, it goes a bit wild. Sometimes it follows correctly, sometimesit is too slow or sometimes too quick. So what is happening exactly?

Could it be that simultaneously changing metronome time and slew time in the metronome script is not supported in the firmware?
Is there any way to get this done without patching cables?



1 Like

I adapted the script a bit further and managed to get the envelopes exactly as pictured.
An M.RESET command at the right spot did the trick

IF A: CV 1 V 5
ELSE: CV 1 V 0
T MUL 50 RRAND 1 8

But I also experience sporadic noise in an VCA-channel when using these envelopes.
Putting the envelopes on a decent scope showed stepping in the (steep) curves.
Stepped curves are probably not the best way to open up VCA’s…best to connect a slew limiter in between.

1 Like

Yes, I have experienced that steppiness also.
However, I was able to accomplish this sort of functionality using the Telex expander, using both slew, and/or the ENV functions. Good news there is that it seemed to handle this with no audible noise artifacts.

1 Like

I’ve noticed that the update rate of the CV outputs is about 6ms per step, I would have liked a faster DAC output rate…but I suppose it’s a hardware related issue, so there is no update possibility…

I’ve checked the telex expanders, they seem to add quite some functionality.
the only problem I would encounter is the ability of learning the command set by heart , they cover a couple of pages in the manual :slight_smile:

and of course, one would need more scripting possibilities, but that’s worth another discussion :smile:

1 Like

curious if using Ansible as a TT expander allows for better DAC rates. I know there was a specific fix for Arc’s DAC refresh period. Does this help for TT envelopes without noise?

Just for informational purposes, the TXo runs at a sampling rate of 15,625Hz. CV is currently updated at that rate out the16-bit DACs that service the full output range of -10V to +10V.

Hi! Brand new Teletype user. I’m trying to set up Teletype as a very simple AD envelope generator, or really just a D, and I didn’t find something this basic in one of the other threads.

I think I am missing something fundamental, but the studies aren’t helping me. My script 1 is just:

CV.SLEW RRAND 100 300 # Set slew somewhere between 100 and 300ms
CV.SET 1 V 10 # Set CV1 to 10V, ignoring slew
CV 1 0 # Set CV1 to 0, respecting slew

I’m sending this a trigger. I would expect this to produce a simple variable length decay envelope, but it instead just settles on 0 (or 5V, or whatever I set the third line to). It’s acting more like the whole script is evaluated at once.

What am I missing? Thanks for any help!


Line 2 and line 3 need to be triggered separately.

I think you have to specify the CV output you want to apply SLEW at:

CV.SLEW x RRAND 100 300

Otherwise it will just get you the actual set slew value of a random CV output between 100 and 300.

1 Like

Sorry i think that was a transcription error, but will definitely check that!