Kyma Forum
  Tips & Techniques
  Emulating the EMS Trapezoid Envelope?

Post New Topic  Post A Reply
profile | register | preferences | faq | search

next newest topic | next oldest topic
Author Topic:   Emulating the EMS Trapezoid Envelope?
Scot_Solida
Member
posted 14 August 2013 10:36         Edit/Delete Message   Reply w/Quote
My latest head-scratcher and again, likely to be quite obvious to everyone but me! I want to recreate the behavior of the Trapezoid envelope generator used on the EMS VCS3 and Synthi A. I imagine this can be done with the Multisegment Envelope prototype, but I haven't found the magic combination of segments, settings and durations to do what I'm looking for.

If you're not familiar with the Trapezoid envelope generator, it works like this:

There are four knobs, excluding level. The first, Attack, works just as you'd expect. The second, "ON" is sort of a "hold" control. The higher the setting, the longer the full volume of the sound is held before the release segment begins (here, Release time is called DECAY). In other words, if you play and release a note, that note's full volume will be held for a time even after the note is released before the DECAY segment takes over.

This is all quite unconventional, and it only gets more so. The DECAY does what a Release function does... it determines the length of time the sound takes to fade to zero level once the note is released. Easy enough. But then there's the fourth knob, OFF. This one, when set to full essentially allows the first three stages to be played in a relatively conventional way from the keyboard or a trigger source. However, any setting below fully clockwise will result in re-triggering of the first three segments, with the length of the silence after the DECAY stage determined by the setting of the OFF knob. The DECAY will go through its complete designated length no matter what the OFF setting is.

I've been trying various combinations of duration and value settings and I can come close, but I'd like to emulate it pretty much exactly with the same knobs and behavior as the original. I have a feeling it means assigning some of the Multisegment's Envelope's durations and/or values to the same hot value. I've come pretty close using just the default five stages and setting Dur1 and Val1 to nil, and Assigning Val4 and Val 5 a hot value of "!Off" to simulate that last knob, but that danged ON function is foxing me.

IP: Logged

pete
Member
posted 14 August 2013 17:39         Edit/Delete Message   Reply w/Quote
Hi Scot

Just some clarification here? Does the point at which you release the key ever have any relevance?
I'm getting that the ON control is a sustain duration?
I'm getting that the OFF control is a retrig time but I don't know if you have to keep the note held down on the keyboard for retrig to happen or if it just re-triggers ad infinitum and ignores the keyboard?
When you say that with OFF knob fully clockwise, it plays a relatively conventional way, do you mean that the start of the decay stage (what we now call release), is not set by a fixed duration controlled by the ON knob and is triggered by the keyboard being released or does it always ignore the keyboard release action?

It seems that what you need is the ADSR with sustain set to one A is A , Release becomes your Decay, and Decay in the module is not used ( set to zero s). Now all the funky stuff to make it work is done in the gate field of the ADSR module in capytalk.

I cannot give you the whole picture because I'm still not sure how it works but this is how you do the ON control (hold on time).

In the gate field put

(1-(!KeyDown ramp: !ON s)) asLogicValue

This is how it works
(!KeyDown ramp: !ON s) The ramp will rest at value one. When a key is pressed the ramp will go to zero and start rising to one for the duration of !ON seconds. It doesn't matter when the key is released as that will have no effect on the ramp.

The 1- () at the beginning turns the ramp upside down so that it rests at zero, rises to one when the key is pressed and then falls back to zero for the duration of !ON seconds.

The asLogicValue will give a 1 when ever the inverted ramp is anything greater than zero and give a zero when the ramp is zero (or less). Hence the ADSR will be held on for !ON time and will then release at the rate set by release.

That deals with the !ON control. I suspect a similar action using repeatingRamp: will make the !OFF control work but I need to know the details first.

If the !On time doesn't start until the attach stage is completed then simply adding the !Attach value i.e. (!Attack+!ON) s will sort that out.

I hope this makes sense

Pete

IP: Logged

Scot_Solida
Member
posted 14 August 2013 18:00         Edit/Delete Message   Reply w/Quote
Pete, the retriggering is independent of the keyboard... it retirggers at a rate determined by the OFF knob, and the keyboard can likewise trigger it. Normal key sustain only works if the OFF knob is turned fully clockwise. Otherwise, when retriggering, the note is held for the length of time determined by the ON knob.

This is the kooky stuff that happens when the designer of an instrument is dead set on not including a keyboard - and then changes his mind.

Here's another easy one: I want to have the oscillators ALWAYS running, like a modular synth. The envelopes should then open up the VCA and allow the sound to pass through when the envelope is triggered. This works fine with the ADSR, but not the multifunction envelope generator... I must be missing something really, really obvious!

IP: Logged

pete
Member
posted 15 August 2013 13:50         Edit/Delete Message   Reply w/Quote
Hi Scot

Sorry I need to know what you mean by normal key sustain (when the OFF knob is fully clock wise). does this mean

A) You Press a key and hold it. It goes attack, sustain and stays there for as long as you keep the key held down even if it's ten mins. It's only when you release the key that you go into the decay stage.

or

B) You press a key and hold it. It goes attack , sustain for the duration of the ON control and then decays away to nothing (even if you keep your finger on the key).

If it was normal by todays standards it would be A). But if I remember playing with a VCS3 about 35 years ago for just 20 mins, the keyboard didn't transmit an on/off gate but only transmitted a trigger pulse when any note was pressed and releasing any note had no effect at all. In this case it would be B).

Is it A) or B)?

thanks

Pete



IP: Logged

Scot_Solida
Member
posted 15 August 2013 14:10         Edit/Delete Message   Reply w/Quote
Hi Pete,

With the OFF knob fully clockwise, it behaves just like a "normal" keyboard, or example "A". When it is less than fully clockwise, the keyboard still works, but the sound is also being self-triggered at a rate determined by the setting of the OFF knob.

IP: Logged

pete
Member
posted 15 August 2013 14:47         Edit/Delete Message   Reply w/Quote
OOhh

I thought I had it sussed but thats a bit more funky, and leads to more questions.

1) If you don't touch the keyboard and you have the OFF knob fully clockwise you end up with no sound?

2) If you still don't touch the keyboard and turn the OFF knob down a bit at starts triggering the envelope all by itself?

3) While in this state what happens if you then press and hold down the key?

4) Is it true that when the OFF knob is fully clock wise the ON knob has no effect at all?

5) Is it true that when the OFF knob is less than fully clockwise, the time when you release the key has no effect at all?

Can you let me know the answers and what I have got wrong (if I've got it wrong).

Thanks

Pete

IP: Logged

Scot_Solida
Member
posted 15 August 2013 15:14         Edit/Delete Message   Reply w/Quote
1: yes, exactly. No sound without the keyboard (or trigger button) if OFF knob is fully clockwise

2: Yes again. Self-triggering envelopes with the silence between determined by the OFF setting, assuming that OFF is not fully clockwise. The lower the setting, the shorter the silence

3: The envelope still triggers if the keyboard is played or the trigger button is pushed

4: Not quite. The ON knob at higher settings will still sustain beyond the point when you release the key for a length of time determined by the ON setting.

5: No, the DECAY (or release time) will still play for its full knob value before the silent stage determined by the OFF knob. So a long DECAY time and a long OFF time result in a longer combined period between re-triggers than a short DECAY time and a long OFF time, if you see what i mean.

Like I said, this thing isn't simply playing a trapezoid shape. Actually, it's sort of playing a positive trapezoid followed by a negative one (if the OFF knob is not fully clockwise).

IP: Logged

pete
Member
posted 16 August 2013 19:47         Edit/Delete Message   Reply w/Quote
Hi Scot

It's getting clearer now. Just number 5) , I was talking about the effect of holding or not holding your finger on the keyboard. With the OFF knob less than fully clockwise, what is the difference between flicking a key on the keyboard (down and up) or pressing and keeping a key held down on the keyboard (down and staying down)?

One other thing to check on. If the OFF knob is is not fully clockwise and it is repeatedly cycling through it's trapizod thing, does pressing a key on the keyboard restart the whole cycle, regardless of where it was at the time?

Thanks

Pete

IP: Logged

Scot_Solida
Member
posted 17 August 2013 06:49         Edit/Delete Message   Reply w/Quote
Yes, the keyboard will always restart the whole cycle. Holding the key down and just tapping the key will make no difference to the decay time. Pressing and holding a key doesn't stop the cycle from restarting if the OFF knob is less than fully clockwise.

IP: Logged

pete
Member
posted 17 August 2013 13:33         Edit/Delete Message   Reply w/Quote

TrapEnv.kym

 
Hi Scot

It was easier to make it than describe it, so I've attached it here.

The scope is there to see what's going on.

It seems the ADSR module doesn't like both 0s attach and 0s decay as in doing so makes a decay larger than a small decay so I've added some limits. It shouldn't impact on the sound too much.

Note that the !xOFF is 2 seconds. If you change this you will need to change the code as it treats anything greater than 1.95 s as in off mode. You should be able to work out how to change this.

Also I had to name them xON and xOFF as ON and OFF will not allow a fader to have a read out in the VCS. I think it's to do with the global map.

hope it helps

Pete

[This message has been edited by pete (edited 17 August 2013).]

IP: Logged

Scot_Solida
Member
posted 17 August 2013 17:59         Edit/Delete Message   Reply w/Quote
Pete, that pretty much nails it! I can't compare it to the original because the VCS3 is now being repaired, but this is very much like it. Thanks you, it makes so much sense now that i see it. Brilliant work, sir!

IP: Logged

Scot_Solida
Member
posted 18 August 2013 07:09         Edit/Delete Message   Reply w/Quote

Synthi.zip

 
Hi Pete,

I've integrated your beautifully realized trapezoid envelope into my Synthi Sound, attached here. it works wonderfully in context, and though it may not be tweaked to to match my original (diode filter? Egads!) it still retains much of the character of the original. The only really obvious differences are the lack of joystick inputs (again, I figure it'll be easier to simply use the VCS and Kyma Control for that), and the fact that my keyboard control over the oscillators is achieved with a toggle, rather than the Input 1 and Input 2 patch points on the pin matrix (whcih may still theoretically be used to send audio level signals to the oscillators, though i haven't actually tried that!).

I am quite happy with the results. This makes my third fully-realized synth in Kyma in a little over a month in which I have learned more about Kyma than I have in many years of owning it.

IP: Logged

pete
Member
posted 18 August 2013 09:41         Edit/Delete Message   Reply w/Quote

MatrixTest.kym

 
Wow Scot

You've only gone and done it. That must have taken ages, having a mixer for every switch in the matrix. It's probably a bit late, but I've attached an example of a matrix using multi channel mixers. The icon shows 8 but it seems that you can go bigger than 8 inputs without a problem.

The oscillators represent the feed back modules. I've limited it to one feedback module per signal but you have multiple feedback modules. I'm not sure which is the best way to do it. Although I have used less modules you may find that it can schedule yours better.

Does it sound like the original or is it hard to say? you may want to lower the levels internally a bit and boost it at the output to reduce the chances of internal clipping.

If you want it to sound a bit more analoguey at the higher oscillator frequencies you could make more aifs with band limited versions of the signal or you may consider the Surbiton oscillator to get rid of aliasing at the higher frequencies.

Link to Surbiton stuff.
http://www.symbolicsound.com/cgi-bin/forumdisplay.cgi?action=displayprivate&number=3&topic=000049

Any ways the VCS3 emulator has a lot of potential and I noticed it is velocity sensitive which is already an improvement. Was the original?

Thanks and well done.

Pete

IP: Logged

Scot_Solida
Member
posted 18 August 2013 12:16         Edit/Delete Message   Reply w/Quote
Hi PEte,

I'm not sure why I didn't use the matrix method to do mine, except that I had already started when you suggested it. Individual mixers seemed a reasonable way to do it, if most assuredly a very cluttered one! I am stumbling in the dark with a lot of this stuff, still very much learning my way. The individual mixers helped me keep track of where I was as I piled 'em in. I got pretty good at adding a matirix patch point quickly and methodically, but by the last row, I was definitely getting a bit blurry!

It does sound quite a bit like the original, but then the wavetables are straight off of it. I did actually think of using the bandlimited wavetables, but started with these for the sake of immediacy and because they seemed to sound authentic right out of the gate (no pun intended). In fact, when I get my VCS3 back together, I will likely replace the third osc's wavetables with some made from Osc 3 of the real thing. Osc 2 and 3 don't sound the same on my VCS3, even if they are meant to, so using the same set of wavetables for 2 and 3 isn't quite authentic. I will also experiment with bandlimited wavetables to see if I can get a slightly improved sound without giving up the VCS3's quality. I actually didn't think of the Surbiton oscillator! I will have to try it, too and see what i can come up with. Thanks for the reminder on that.

Where it really doesn't match is in the filter, ring mod, and reverb, especially the filter and ring mod. Those sound quite different. The VCS3's ring mod is much more aggressive, I think. And the filter is a diode-based thing that has a character specific to the VCS3 (though in truth it isn't a million miles away from something the ubiquitous TR-303 filter). I am sure it could be fine-tuned to mimic the real thing with a bit of clever programming. Same with the reverb... but I wouldn't ever want to replicate the noise of the reverb on the real thing. Ouch.

Also, the real doesn't have a dealy in it, but I almost always run it trhough one, so I stuck it on there and made its inputs available on the pin matrix for kicks. I'd have also provided a mod input or two for it on the matrix, but it would have ruined the symmetry of the 13 x 13 matrix, so I didn't - and, well, I was tired of routing feedback outputs at that point.

Yes, the original can indeed respond to velocity, and with far more versatility than what I have put in this one. Assuming you have the rare DK2 keyboard (I do), it can be duophonic as well, and there's even a dedicated fourth oscillator built in to the DK2 for use as another oscillator or LFO. However, these eat up one of the input patch points, so I rarely use them, primarily because my oscillators are long past matching each other's internal scaling, so I must use both inputs and both input scaling knobs to play two simultaneous oscs in tune, rarely affording me the luxury of that second input. I will likely fix that know that we're working on the thing. Then I could use the second input to route velocity to anywhere else on the pin matrix.

IP: Logged

SeanFlannery
Member
posted 19 August 2013 19:33         Edit/Delete Message   Reply w/Quote
Wow. Wow. Wow.

IP: Logged

SeanFlannery
Member
posted 19 August 2013 19:40         Edit/Delete Message   Reply w/Quote
OK slightly more coherent syllables in this post.

The EMS Synthi and the Mini Moog were the first synths I ever laid my hands on in an electronic music class back in the early eighties run by Felix Werder. There were two synthis and a suitcase version as well as the Minimoog in the classroom. How little did I know at the time that I was in the presence of mechanical and human legends.

Thanks for sharing this Scott!

Wow. Wow. Wow

IP: Logged

Scot_Solida
Member
posted 20 August 2013 07:05         Edit/Delete Message   Reply w/Quote
That must have been one heck of a class. The EMS instruments were the first I ever dreamed about, though it took me decades to finally get one. It has been on virtually every recording I have made since. A strange and slightly unpredictable instrument. Some people love them, some loathe them. It got under my skin like some kind of disease.

IP: Logged

SeanFlannery
Member
posted 20 August 2013 18:45         Edit/Delete Message   Reply w/Quote
Abstract is a word that comes to mind Suffice to day the Minimoog was a lot more 'user friendly' but looking back on it I wish I had spent more time on the VCS3. I was quite taken with the AKS because of the keyboard and Felix even offered it to me for sale, unfortunately the $500 asking price was way out of my league at the time.

Yeah... I know what they are worth now Sigh

IP: Logged

SeanFlannery
Member
posted 21 August 2013 01:33         Edit/Delete Message   Reply w/Quote
Scott,

I read in the other post on this subject that you weren't interested in getting it sounding authentic but my goodness, if it were possible to make it sound more authentic, I reckon it would be a real selling point for prospective Kyma buyers.

Perhaps other forum members could also assist, I would certainly offer to help where I could although I cant really offer more than enthusiasm and encouragement at this point

IP: Logged

Scot_Solida
Member
posted 21 August 2013 06:31         Edit/Delete Message   Reply w/Quote
Well, I personally would love for it to be made as authentic as possible, but I'm afraid it is beyond my abilities at the moment. I think it could come pretty close with some minor tweaks to the filter, reverb... my own VCS3 has now been brought back to life, but is still exhibiting some issues that we're trouble-shooting at the moment. When I can, I will get a wavetable specifically from Osc 3 (I just doubled Osc 2's wavetable in the Kyma version, but the real ones are slightly different).

IP: Logged

SeanFlannery
Member
posted 22 August 2013 19:57         Edit/Delete Message   Reply w/Quote
Just curious if other users are experiencing the same issue I have when examining this in the sound editor - it's not unique to this sound, any sufficiently complex structure will do the same thing.

I'm using Kyma on PC and I find the display is quite slow to update when hiding or showing branches of a complex structure: it takes 5 or so seconds to update the display after show/hide a branch.

I'm not sure if it's an issue related to my PC/graphics cards or not.

Prior to the Pacarana you didn't really see that many really complex structures so it wasn't really a big issue but it's becoming more apparent lately with more people developing more complex Sound structures on the new hardware.

Encapsulating is an approach but encapsulation purely to simplify a structure so display updates quicker is impractical when developing a sound.

IP: Logged

Scot_Solida
Member
posted 23 August 2013 04:48         Edit/Delete Message   Reply w/Quote
Maybe I overdid it with those hundreds of feedback modules... Actually, it doesn't happen on my aging iMac. Kyma's always been pretty snappy for me.

IP: Logged

SeanFlannery
Member
posted 23 August 2013 21:52         Edit/Delete Message   Reply w/Quote
Thanks Scott,
I figured this may be the case, one day I'm going to get myself into an iMac but I'm still a way off yet.
Cheers

IP: Logged

All times are CT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  Post A Reply

Contact Us | Symbolic Sound Home

This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.


Ultimate Bulletin Board 5.45c