2023-05-01 19:26:06 +00:00
# Ensoniq ES5506 (OTTO)
2023-06-25 07:05:30 +00:00
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.
2023-05-01 19:26:06 +00:00
2023-06-25 07:05:30 +00:00
it supports a whopping 32 channels of 16-bit PCM and:
2023-05-01 19:26:06 +00:00
2023-06-25 07:05:30 +00:00
- 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
2023-05-01 19:26:06 +00:00
# effects
2023-06-25 07:05:30 +00:00
- `10xx` : **set waveform.**
- `11xx` : **set filter mode.** values are `0` through `3` .
- `120x` : **set pause (bit 0).** pauses the sample until the bit is unset; 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.** resets sample position to `xxx * 0x100` .
- `DFxx` : **set sample playback direction.**