La envolvente ADSR se configura con los registros ATDCY1/2/3 y SUREL1/2/3. Así como attack, decay y release son tiempos, sustain es más bien un nivel.
La correspondencia entre los valores numéricos almacenados en attack / decay / release y el tiempo asociado puede consultarse en esta tabla:
VALOR DECIMAL | VALOR HEX | TIEMPO ATTACK (ms) | TIEMPO DECAY / RELEASE (ms) |
0 | $00 | 2 | 6 |
1 | $01 | 8 | 24 |
2 | $02 | 16 | 48 |
3 | $03 | 24 | 72 |
4 | $04 | 38 | 114 |
5 | $05 | 56 | 168 |
6 | $06 | 68 | 204 |
7 | $07 | 80 | 240 |
8 | $08 | 100 | 300 |
9 | $09 | 250 | 750 |
10 | $0a | 500 | 1500 |
11 | $0b | 800 | 2400 |
12 | $0c | 1000 | 3000 |
13 | $0d | 3000 | 9000 |
14 | $0e | 5000 | 15000 |
15 | $0f | 8000 | 24000 |
Por su parte, el parámetro sustain es un nivel, no un tiempo. Puede tomar un valor entre 0 y 15, igual que el volumen (registro SIGVOL).