# Ensoniq ES5506 (OTTO)

Sample-based synthesis chip used in a bunch of Taito arcade machines and PC sound cards like Soundscape Elite. A variant of it was the heart of the well-known Gravis Ultrasound.

it supports a whooping 32 channels of 16-bit PCM and:

- Real time digital filters
- Frequency interpolation
- Loop start and stop positions for each voice (bidirectional and reverse looping)
- Internal volume multiplication and stereo panning
- Hardware support for envelopes

# effects

- `10xx`: set waveform.
- `11xx`: set filter mode (0-3)
- `120x`: set pause (bit 0). Pauses the sample until the bit is unset, where it will then resume where it left off.
- `14xx`: set filter coefficient K1 low byte.
- `15xx`: set filter coefficient K1 high byte.
- `16xx`: set filter coefficient K2 low byte.
- `17xx`: set filter coefficient K2 high byte.
- `18xx`: set filter coefficient K1 slide up.
- `19xx`: set filter coefficient K1 slide down.
- `1Axx`: set filter coefficient K2 slide up.
- `1Bxx`: set filter coefficient K2 slide down.
- `20xx`: set envelope count.
- `22xx`: set envelope left volume ramp.
- `23xx`: set envelope right volume ramp.
- `24xx`: set envelope filter coefficient K1 ramp.
- `25xx`: set envelope filter coefficient K1 ramp (slower).
- `26xx`: set envelope filter coefficient K2 ramp.
- `27xx`: set envelope filter coefficient K2 ramp (slower).
- `3xxx`: set coarse filter coefficient K1. 
- `4xxx`: set coarse filter coefficient K2. 
- `81xx`: set panning (left channel).
- `82xx`: set panning (right channel).
- `88xx`: set panning (rear channels).
- `89xx`: set panning (rear left channel).
- `8Axx`: set panning (rear right channel).
- `9xxx`: set sample offset (x256).
- `DFxx`: set sample playback direction.
