(maxmsp) extra credit: mapping amplitude entirely in dB

Due Friday, 3/18:

For an extra credit grade (40 points, whatever category helps you most), fix this patcher: BasicSynthEnvSusKeyVelocityDB.maxpat

Key velocity is being scaled to dB. The function object is formatted to express amplitude as dB (-60. –  0. y value range). Multiplying the key velocity dB times the output of the function-to-line~ will not work. Consider, a maximum velocity of 127 scales to a dB value of 0. Zero times anything is zero, so the result of the function-line~ pair is no amplitude change. Non-zero values multiplied together will produce larger numbers, so multiplying -6 dB times -6 dB returns -36 dB, a significantly lower amplitude.

You must keep the dbtoa~ conversion object after whatever fix you supply. In other words, you have to apply the key velocity as dB to the envelope function as dB.

Your solution should happen inside the red oval.


Leave a Reply