LinnDrum: sampled voices, articulation and the LM-1 distinction
Separating LinnDrum evidence from LM-1 specifications and from authored modern drum voices.
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 LinnDrum study corrected two misleading shortcuts: importing LM-1 specifications into LinnDrum, and replacing a documented segmented converter with arbitrary quantization. Roger Linn's account assigns the often-quoted 28 kHz nonlinear 8-bit description to the LM-1. That is not sufficient evidence for the successor's entire signal chain.
The reusable findings concern signal ordering and source identity. A converter can be modeled from its documented levels while the original waveform and dynamic output filter remain missing. Keeping those layers separate prevents a technically correct decoder from becoming an unsupported claim about a whole instrument.
Keep the instrument and articulation identities straight
Evidence: Roger Linn distinguishes the sampled LM-1 from its 1982 LinnDrum successor, which added longer sounds and crash/ride cymbals. His 28 kHz nonlinear 8-bit detail specifically describes the LM-1; it is not evidence for LinnDrum's exact conversion chain. LINN-DESIGN
The original LinnDrum instructions give bass two volume levels. Their tunable instrument list excludes bass, while closed-hat triggers cut off an open hat. LINN-OM
Kick inference: a rounded recorded-drum-style thump, damped nonharmonic body, short wooden beater and gently quantized texture. Provide LinnDrum / Studio and LinnDrum / Low tape. Adjustable pitch and continuous velocity are modern extensions. No LM-1 sample clock, ROM identity or exact converter law is claimed.
Later: record sidestick separately from full snare, closed/open/pedal hat relationships, tom/conga tuning and sampled cymbal tails. Keep LM-1 and LinnDrum source and capture identifiers separate.
Evidence: research/drums/MACHINES.md.
The segmented converter and signal ordering
LinnDrum: The service description places bass in the multiplexed group and routes it through the same type of VCF used by TOM/CGA. That filter opens for attack and closes as the sound decays. Our static filter remains a known gap; unmeasured filter timing was not guessed in this pass.
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.
The filter is dynamic, not just a fixed tone control
The original instructions allow tuning snare/sidestick, toms and congas; closed hat decay is adjustable. Snare has three programmed levels, while several other sounds have two. These are different from continuous MIDI response. Linn operating instructions, printed p.1, original text on mirror
Technical information places all voices behind PROM playback/Am6070 conversion. TOM/CGA have clock-controlled pitch and a dynamic four-pole CEM3320 filter; snare/sidestick share a playback circuit; hats have a separate VCA envelope. Linn technical information, DRM BOARD sections, original text on mirror
Current procedural snare, clap, shaker, rim and metal models do none of this. Refactor a finite procedural source only as a provisional way to test that signal chain. Keep source decay before companding and output accent gain after it; a velocity-dependent synthesized noise source would change a recording that should remain fixed. An arbitrary four-pole low-pass is not a calibrated dynamic filter. Exact coefficients require a legible schematic and reference measurements.
Evidence: research/drums/HARDWARE_REVIEW_V2.md.
Controls and shared playback behavior
The original instructions permit tuning of snare/sidestick, toms and congas, approximately one octave in total, and adjustment of closed-hat decay. Other voices are fixed-pitch. Its mixer has level/pan controls, and programmed trigger levels differ by voice. Operating instructions, printed p.1, original text on mirror
| Product | Stock axis / candidate | Existing extensions | Missing control or articulation |
|---|---|---|---|
| Kick | Mix level/pan; no bass tuning knob | Existing Source tune and shaping | Preserve fixed source identity; optional programmed-level mode is separate from continuous velocity response. |
| Snare | Tune; 141 Pitch is only an axis candidate | 142–145 Ring/Wire decay/Snappy/Wire tone; existing oscillator-frequency mapping | Add source-clock Tune with an explicit playback-rate meaning. Add three programmed trigger levels as a separate performance mode. |
| Rim / sidestick | Tune; 139 Pitch is only an axis candidate | 140–143 Ring/Strike/Overtone ratio/Texture; legacy Hz mapping | Explicit Sidestick identity; clock tuning must relate to the snare/sidestick source profile. |
| Tom | Tune; 144 Pitch is only an axis candidate | 145–148 Ring/Strike/Head coupling/Bend; legacy Hz mapping | Low/Mid/High source selection and independent clock tuning. |
| Conga | Tune; 129 Pitch is only an axis candidate | 130–133 Ring/Strike/Head coupling/Bend; legacy Hz mapping | Low/High source selection and independent clock tuning. |
| Hi-hat | Closed-hat Decay; 145 Closed decay is a candidate | 144 Open decay, 146 Metal pitch, 147 Edge noise, 148 Sizzle | Closed/Open articulation; programmed closed-hat levels. Bind 145 to the actual output envelope. |
| Cymbal | Mix level/pan only | 144–148 Pitch/Ring/Strike/Sizzle/Brightness | Crash/Ride source selection; programmed ride levels. |
| Clap | Mix level/pan only | 133–136 Room decay/Burst spacing/Clap tone/Attack | Hand-clap source identity; no stock timbre axis missing. |
| Tambourine | Mix level/pan only | 129–133 Pitch/Ring/Strike/Sizzle/Brightness | Fixed tambourine source; programmed level choice. |
| Shaker / cabasa | Mix level/pan only | 121 Shake length, 122 Grain tone, 123 Impact | Name the source Cabasa; programmed level choice. |
The existing continuous velocity exponent is an extension. A stock-level mode needs explicit trigger-level policy and evidence for its gains; distinguish that mode from a continuous velocity response curve. Do not infer layer switching or dynamic filter coefficients from the number of trigger levels.
Evidence: research/drums/MODEL_CONTROL_MIGRATION_PLAN.md.
Working through the decoder law
The documented unsigned AM6070 level law is L(C,S) = 2^C * (2S + 33) - 33, for chord C=0..7 and step S=0..15, with sign separate. Thus L(0,0)=0, L(0,15)=30, and L(7,15)=8031. Dividing by 8031 gives the declared normalized decoder levels.
An encoder that chooses the nearest level is an authored way to drive that decoder. It does not reconstruct the historical recording encoder or imply a particular byte inversion. Testing the level table independently is more informative than comparing it with a continuous logarithmic curve and calling both “8-bit companding.”
Applying the findings
Store the source waveform independently of velocity and place gain where the evidence places it. Keep the source decay before companding when reproducing the reviewed signal order. Test quiet tails especially carefully: moving the decay after a nonlinear conversion changes the level sequence and texture.
Represent discrete programmed levels and shared voice interruption explicitly if hardware behavior is the target. Preserve continuous velocity, broad polyphony and additional pitch controls as separately named software modes. This design is equally useful for other sample-based instruments with fixed recordings and nonlinear conversion.
Limits and open questions
The original LinnDrum PCM, exact multiplex timing and calibrated dynamic filter are not established by the procedural model. Technical descriptions available through manual mirrors need a legible original schematic before deriving additional coefficients. The AM6070 equation supports the converter-level correction; it does not prove a recorded hardware match.
Research illustrations

Prismal Labs native editor capture, illustrating the corresponding software project. View full-size image
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 · CongaGenerator · ShakerGenerator · TambourineGenerator
