Synth Forum

Notifications
Clear all

Release Time Duration

8 Posts
3 Users
0 Likes
3,911 Views
Posts: 0
Trusted Member
Topic starter
 

What is the correlation between Release Time (Amp EG) and the actual time in seconds it takes for a sound to end?
At 127, it takes about 30 seconds to go silent. At 64 it takes less than a second.
There is clearly some kind of logarithmic scale to bias values closer to 0 since that is the most frequent case, but I was not able to derive a conversion.

In short, what is the conversion from Release Time to actual time taken for the sound to die on release?

L. Spiro

 
Posted : 14/01/2017 11:36 pm
Jason
Posts: 7910
Illustrious Member
 

https://www.yamahasynth.com/resources/learning-about-envelopes-motif-xs-xf-and-mox-moxf/281-learning-about-envelopes-motif-xs-xf-and-mox-moxf

not release, but:

In the first screenshot below you see a graphic that describes a DRUM or PERCUSSION envelope. In the second screenshot, you see a graphic where the DECAY 2 TIME is set to 127 or HOLD - the envelope is set to play indefinitely*

The question about absolute time for AEG release/etc has been answered before as such:

For question 2 - don’t concern yourself with what the unit measurement
is..not important. Just change a parameter and see what the result is -
eventually you’ll get the vibe for what, for example, an AEG attack time of60 and initial level of 21 really translates to in reality.

In other words, don’t listen with your eyes…

... with no followup. Therefore, an implicit endorsement of not providing absolute information.

Effects do have their release times documented: 0-127 is usually 2.6mS-2171mS

The data list (montage_en_dl_a0.pdf) shows values in milliseconds for each setting from 0 to 127 on page 157, table #16.

Who knows if this matches the EG release values. Experience would tell you - no - since your 127 setting yielded 30 seconds until the release appeared to end. Obviously a setting of 127 as approx 2 seconds doesn't agree.

Back to the data list. Why this is level of detail is spelled out in gory detail for the effects and not for the EGs, I have no idea. The argument/memo not to use numbers or absolute values didn't make it to the documentation writers at Yamaha when it comes to effects - which I would submit are even less important than the EGs in terms of knowing absolute values. After all, effects are closer to the icing and EGs are closer to the cake.

 
Posted : 15/01/2017 12:37 am
Bad Mister
Posts: 12304
 

Shawn wrote:

What is the correlation between Release Time (Amp EG) and the actual time in seconds it takes for a sound to end?
At 127, it takes about 30 seconds to go silent. At 64 it takes less than a second.
There is clearly some kind of logarithmic scale to bias values closer to 0 since that is the most frequent case, but I was not able to derive a conversion.

In short, what is the conversion from Release Time to actual time taken for the sound to die on release?

L. Spiro

As you have figured out, the Time values of the synth Amplitude Envelope Generator are weighted so that this is not a linear scale. I'm sure it was a decision to not provide the times in seconds and milliseconds expressly because this and all Envelope settings are to be made by ear, not by a precise number value. To make the scale musical the values are concentrated in the lower numbers where more resolution is require for instrument emulation. The distance between Release Time 124 and 125 is far, far larger than the distance between 69 and 70.

Since musicians rarely, if ever, deal in clock value time it simply makes more sense to not deal in exact time values when setting the envelopes. If you do film work or scoring for hire, you often find professional Effect processors deal in exact time values due to film timing considerations. You might need to control a fade to silence of a Reverb, or need to set a precise timing for a repeat or an echo. These are quite different from setting the AEG response of a sound you are playing emulatively.

Most instruments sounds you will set Attack Time, Initial Decay, Sustain and Release Times and Levels, by feel. This is only encouraged by not providing the actual time value, besides I expect as you work with the Envelopes you will begin to appreciate that the values are not absolute (as you are envisioning by even asking for the conversion values) the time it takes for the Release Time to return the Amplitude to 0 is directly influenced by where (how far) into the Envelope journey you've traveled when you release the key. The LEVEL value it has reached when Key is released can have an influence on the Release Time and determine even if the Release Time is used at all. Work with it a while - leave your analytical mind out of it, and recognize you are controlling a musical shape when contouring the Envelope. (Way different from times in a processor Effect which will not dynamically change overtime). Also Key-on Velocity can be used to influence Release Time, so it is a dynamic value.

I guess if price was no object the synth could show the exact value it is dynamically calculating based on the time you strike the key, what velocity you struck the key with, and based on exactly when during the AEG you release the key, what exact Release Time you'll get, but really who really cares... it's not how we listen or make music. These are things you set by feel, yes, by ear. I think once you recognize the value is subject to change based on how you're playing you'll stop thinking you need the exact time value. I think they use numbers to indicate simply, the higher the number the longer the Time... from there let the force be with you.

 
Posted : 15/01/2017 4:30 am
Posts: 0
Trusted Member
Topic starter
 

You would think it would be more important to go into these details.

I’m porting sounds from an existing environment to the Yamaha MONTAGE which necessarily mandates a time-to-“Release Time” conversion.
Can I get a real conversion formula from Yamaha? Accuracy here is extremely essential.

I’m a programmer by profession, and I am fine with C++ (or otherwise) code that translates the “Release Time” value into a measurable duration. Or a formula expressed via code (put on your OS programmer if need-be), or math, or whatever. I need an accurate conversion.

L. Spiro

 
Posted : 15/01/2017 4:31 am
Posts: 0
Trusted Member
Topic starter
 

Based on timestamps it should be apparent that I had written my reply while the previous reply was just being posted.

In response to that: I appreciate that the values are meant to be felt artistically by a musician who is used to using “feeling” to gauge values, but I am working on a port from existing values that had been felt by a previous musician on a different platform. I am to create the same sounds on this new platform (Yamaha MONTAGE) as they existed on the old platform, so this case is not about feelings but about pure math.

I’d use feelings on my own creations, but for this I really need math, and for that math to be as accurate as possible.
Again, I can suffer technical language. Can you get someone from either the programming team or the technical-specification team to answer this?
The priority on this is high enough that I will literally record every single release time from 0 to 127 and measure them manually to create a table rather than a formula, but for obvious reasons I would rather just get the actual formula.

L. Spiro

 
Posted : 15/01/2017 5:13 am
Jason
Posts: 7910
Illustrious Member
 

Figured the "musicality" smokescreen would be applied. For whatever reason, there are certain topics which Yamaha prefers to "opt out" even though I've outlined, even before the response, how this would be an inconsistent message considering the same exact "type" of parameters are supplied for effect release times. I understand they aren't exactly the same thing - I'm painting thematically.

Expect Guido and the rest of the "gang" to come with clubs around you wanting to treat a Synthesizer, a device with numerical values you have to "program" to manipulate, according to its own nature - vs. an acoustic instrument with no such capabilities.

I'm also expecting "it's not as simple as that" and "you're missing the point" and "you don't understand xyz ..." as some followups for good measure.

Best of luck with your endeavors.

 
Posted : 15/01/2017 8:22 am
Bad Mister
Posts: 12304
 

Ha!

 
Posted : 15/01/2017 12:23 pm
Jason
Posts: 7910
Illustrious Member
 

The documentation shows "T" for for time - but DX other Yamaha products in the past have used "rate" to describe the time-based portion of the envelope generators. The value is a rate and is in terms of level and time. Therefore, with a Montage "time" value of 100 - it will take longer to go between level 0 to level 100 than it would to go between level 0 and level 50.

Taken from https://groups.google.com/forum/#!topic/music-synthesizer-for-android/QD2KGEj7QIk
(this is just a snippet, link has much more information including references to other links for additional information)

Have you read the description at https://code.google.com/p/music-synthesizer-for-android/wiki/Dx7Envelope ?

That also contains a pointer to a JavaScript emulation http://wiki.music-synthesizer-for-android.googlecode.com/git/img/env.html . The code is not that complicated, so if you're comfortable reading that, it should tell you everything you want to know.

But let me try to give you a quick answer. The output level is in units of .75db (8 units is one doubling of level = 6dB). This is strictly true for output levels >= 20, and for values less than that there is a nonlinear curve (this is var outputlevel = [...] in the JS source) with a more rapid falloff (thus, level 0 is -95.5dB from level 99, where with a linear curve it would be 74.5dB). Another detail is that levels L1...L4 (as opposed to output level) are actually quantized to steps of 1.5dB. This helps the post-lut levels fit in 6 bits.

The rates are in terms of dB/s - so the amount of time that it takes is proportional to the dB level difference between L_i and L_(i+1). The exact formula is in the wiki page, but a passable approximation is 0.2819 * 2^(rate * 0.16) dB/s. So a rate of 0 is 0.2819dB/s, meaning that it takes about 10 minutes to decay from full to minimum level. A rate of 99 is 16165dB/s, meaning that it takes about 6ms. (Note: I need to update the equation in the wiki to 0.2819, the old version said 0.014095 which is off by a factor of 20.)

Attacks are faster than decays, and have a nonlinear curve (again, explained precisely but tersely on the wiki, and easy to visualize).

Plugging in your data, L2 is 14.25dB down from L1, and L3 is 18.75 dB from L1. It will reach L3 (the sustain level) in 495 samples, almost exactly 10ms. Then, after key-up it will take about 43 seconds for your note to go entirely silent (76dB at 1.75dB/s).

Although this may not apply 100% to the more modern Montage - and who knows - could be wrong for the DX7 (which is what is being described) as well - the full discussion gives some insight on the likely parameters involved for arriving at a calculated value. Although it would be a leap to say the FM envelope is the exact same as the AWM2 envelope - the basic principles should be "the same".

Given the fact that there are several considerations - and even a fully correct answer from Yamaha would require some sophistication of the user in order to apply the information correctly - these are what serve as barriers to receiving this information. There may also be "special sauce" in the mix - which could also apply additional rationale why the details would not be available.

 
Posted : 20/01/2017 12:27 am
Share:

© 2024 Yamaha Corporation of America and Yamaha Corporation. All rights reserved.    Terms of Use | Privacy Policy | Contact Us