Generalize ADSR module