I am using Max 5 and I have some questions regarding the adsr~ module.
When I put a signal rate input of 1 into the leftmost input, the envelope should have an amplitude of one (at least thats what documentation says). Instead the envelope has an amplitude of 0.016 – I tested this by setting the sustain-level to 1. So I multiplied the outcome by 1000 and divided it by 16. Still the outcome is not 1, but 0.977. Browsing through the documentation, I found some remark about removing a DC offset. You can find this in the adsr~ help if you click into the p signals. There is a biquad~ module with a comment on the side "remove DC offset". What is that offset and how can I remove it from the adsr? Pasting the biquad~-module into my patch didnt work.
The DC offset – whatever it is – becomes worse when the patch becomes more complex. I added a change~-module in front of the adsr~. By putting out the value 1 over a very short time period (i. e. when a higher number is entered into a number~ in front of the change~-module) followed drirectly by a 0 signal, the release-phase of the adsr~ should be triggered. Yet, the amplitude of the triggered envelope is even smaller. I not only have to multiply the outcome of the adsr~ by 1000 and divide it by 16; additionally I have to multiply it by 200 and divide it by 16 once again to somehow more or less (less, that is) match the input value.
I should mention that the adsr~ module works fine with non-signal rate input (that is, input of 1 triggers an envelope with an amplitude of 1).
What is going on here? I suppose there is a way to get a reliable envelope going at signal rate?
Thanks for any tips!
Max 5.1.9, Windows Vista Home Premium Service Pack 1, Samsung Q210, onboard sound, Nvidia graphics card.