Oberheim DMX: EPROM voices, trigger variations and tuning
An inventory of the DMX voice groups and the limits of procedural replacements for sampled hardware.
Technical research · edition 2 · reviewed 2026-10-24

Prismal Labs native editor capture, illustrating the corresponding software project. View full-size image
What we found
The DMX research found that “24 sounds” can conceal eight shared voice groups, and that a 12-bit address counter can be mistaken for 12-bit audio resolution. The service description instead identifies an 8-bit companding DAC and a six-pole elliptic reconstruction filter. These distinctions affect polyphony, retriggering, pitch and timbre.
We corrected the converter surrogate to documented segmented levels and separated source decay from output accent gain. The remaining missing pieces are explicit: original EPROM content, clock-controlled playback and the actual reconstruction network.
Voice groups and trigger variants
Evidence: the manual describes stored EPROM sound playback. Eight voice groups have three variations each; bass has three volume levels. Internal voice tuning spans about half an octave either side. Frequency response varies by voice and tuning. Other groups include snare, hats, two sets of toms, ride/crash, tambourine/ rimshot and shaker/clap. DMX-OM, pp.16,29,32
Kick inference: a more aggressive transient, low-mid resonance, short body and coarser texture than LinnDrum. Add DMX / Street punch and DMX / Low boom. Quantization and filter coefficients are original voicing choices; the reviewed manual does not establish an exact DAC or companding model.
Later: distinguish the 24 trigger variations from 24 independent voices; plan shared-voice interruption and accent-level tests before implementation.
Evidence: research/drums/MACHINES.md.
The conversion correction
DMX: The voice-card description specifies a 4096 x 8 EPROM, an 8-bit companding DAC and a six-pole elliptic smoothing filter. The documented 12-bit counter is an address counter, not proof of 12-bit linear sample storage. Our one-pole texture filter is still not that reconstruction network.
AM6070: AMD Table 3 supplies actual segmented decoder currents. With chord
C=0..7 and step S=0..15, the unsigned level is
2^C (2S + 33) - 33, with sign handled separately. Normalized full scale is 8031.
The implementation selects the nearest representable level with bounded work.
It does not use the continuous logarithmic mu-law formula or assume telephone
G.711 byte inversion. This is an authored encoder feeding the documented decoder
levels, not a reconstruction of the original recording encoder.
For LinnDrum/DMX the authored source decay now precedes companding. MIDI velocity scales the converted signal; it no longer changes the source beater cutoff. Their continuous velocity and eight-voice option remain modern performance extensions. Full-scale normalization, source timbre, beater/modal ratios, gain and filter cutoffs are still authored values. A correct converter cannot make an incorrect source waveform match hardware. We do not label these corrections measured fidelity.
Evidence: research/drums/HARDWARE_ACCURACY.md.
Why the address counter is not audio resolution
The original DMX has eight voice groups with three trigger variants. The cymbal group includes ride/crash; Perc 1 includes tambourine/rim; Perc 2 includes shaker/clap. The two tom groups provide three pitches each. Original tuning uses voice-card clock controls, approximately half an octave either way. Oberheim owner's manual, printed p.16
The service description specifies EPROM storage, an eight-bit companding DAC and a six-pole elliptic reconstruction filter. The 12-bit counter addresses memory; it is not the audio word length. Oberheim service manual, printed p.9, original text on mirror
Current 24-voice generic synthesis per product does not recreate those group limits, clock-coupled pitch/duration, conversion or reconstruction. Add explicit source/articulation and retrigger policies; preserve the current broad polyphony as a modern extension if needed. Separate plug-ins cannot automatically enforce the original shared-card interactions across products without a designed rack or coordination contract.
Evidence: research/drums/HARDWARE_REVIEW_V2.md.
Per-voice controls and interruption policy
Front-panel faders set voice mix levels. Tuning is available on voice cards and through external control voltage, approximately ±half an octave. The eight voice groups contain three trigger variants each; some groups share different sounds. Owner's manual, Hookup p.2 and About the Voices p.16
| Product | Current model IDs / status | Missing source/trigger policy |
|---|---|---|
| Kick | Existing Source tune is a tuning-axis candidate; other shaping is extension | Bass source and three programmed levels |
| Snare | 146 Pitch: tuning-axis candidate; 147–150 Ring/Wire decay/Snappy/Wire tone: extensions | Snare source and three levels |
| Tom | 149 Pitch: tuning-axis candidate; 150–153 Ring/Strike/Head coupling/Bend: extensions | Two tom cards with three pitches each; add six identities, not the generic three-region map |
| Hi-hat | 149–153 Open decay/Closed decay/Metal pitch/Edge noise/Sizzle: extensions | Closed / accented closed / Open; add source-clock tuning separately |
| Cymbal | 149 Pitch: tuning-axis candidate; 150–153 Ring/Strike/Sizzle/Brightness: extensions | Ride / accented ride / Crash; separate clock-axis contract |
| Rim | 144 Pitch: tuning-axis candidate; 145–148 Ring/Strike/Overtone ratio/Texture: extensions | Rimshot in Perc 1; local voice-card retrigger policy |
| Tambourine | 134 Pitch: tuning-axis candidate; 135–138 Ring/Strike/Sizzle/Brightness: extensions | Tambourine / accented tambourine in Perc 1 |
| Clap | 137–140 Room decay/Burst spacing/Clap tone/Attack: extensions | Hand clap in Perc 2; add source-clock tuning |
| Shaker | 124–126 Shake length/Grain tone/Impact: extensions | Shaker / accented shaker in Perc 2; add source-clock tuning |
A tuning-axis candidate still operates the wrong mechanism until finite playback is implemented. Replace the old oscillator-domain axis with an explicit clock-tuning parameter; do not claim the current broad Hz range is the documented internal-trimmer range. Shared-card exclusion must be scoped honestly to one instance unless a rack is introduced.
Evidence: research/drums/MODEL_CONTROL_MIGRATION_PLAN.md.
Pitch and duration are coupled by the playback clock
For a finite source of N samples read at clock f_c, its natural duration is N/f_c. Raising the playback clock by a ratio r raises the source's frequencies by r and shortens its duration to N/(r*f_c). That relationship is an engineering consequence of clocked playback, not a measurement of the DMX tuning potentiometer.
A procedural voice that changes oscillator pitch while keeping its amplitude envelope fixed does not reproduce that coupling. Likewise, adding a one-pole low-pass does not reproduce a six-pole elliptic reconstruction response. Treat source playback, converter level mapping, reconstruction and trigger gain as separate testable stages.
Applying the findings
Build a voice-group allocator before testing the 24 trigger variations. Two variants in one hardware group should follow the documented shared-resource policy rather than receiving unrestricted independent voices. Test retriggers, interrupted tails and alternate variants at each tuning endpoint.
Use diagnostic finite sources to verify clock/pitch/duration coupling. Check converter values against the explicit chord/step table, then compare the reconstruction filter's complex response. Those checks isolate architecture errors that a single full drum recording can hide. A modern independent-polyphony option can coexist with a faithful group mode if its behavior is named clearly.
Limits and open questions
The procedural model does not contain original EPROM audio and does not implement the complete six-pole network. Half-octave tuning statements do not identify a precise control taper. Separate plug-ins cannot enforce a shared hardware card's resource limits without an explicit coordination or rack design. No hardware fidelity percentage is justified.
Primary references
Research provenance
The methods and results above are drawn from these retained research records. Dates and product versions inside the article identify the scope of each experiment; publication review does not mean the hardware or numerical tests were rerun.
research/drums/MACHINES.md— SHA-256b5a49d507c0d8c0fc3e8c39ac967ee1600192204eced1630b9e7b48bee9c7915research/drums/HARDWARE_ACCURACY.md— SHA-2569d5798d139a784814d46829caefa6c7c8c23234a8ca25780c806b53826b420b1research/drums/HARDWARE_REVIEW_V2.md— SHA-2564b556e1ed4bedcd8d3649d781a7c1bd8fab0693939519ce27e387c11a0e60e42research/drums/MODEL_CONTROL_MIGRATION_PLAN.md— SHA-25679850a171c8ff6481addbaed4d6700c75821dc00427d755aa4dd333e09dd2af5
Related projects
KickGenerator · SnareGenerator · HiHatGenerator · TomGenerator · CymbalGenerator · ClapGenerator · RimGenerator · ShakerGenerator · TambourineGenerator
