TR-707: PCM playback, analog decay and missing source waveforms
Documenting the sampled-machine architecture and why quantized synthesis remains a labelled stand-in.
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 707 research separated three quantities that were being conflated: a source waveform's address clock, the cadence at which the multiplexed DAC revisits a channel, and the later amplitude envelope. Correcting one of them cannot recover the others. The service timing supports a 40 microsecond return to each channel, but that does not identify every sample's address sequence or original PCM.
Our procedural models became more defensible when conversion and output envelope were separated and the source timbre stopped changing with velocity. They remain surrogate sources. The findings below are useful for anyone building a clocked sampler or investigating an older multiplexed drum machine.
What the source documents establish
Evidence: the hardware has two bass-drum choices. Roland describes short PCM waveforms followed by analog decay, a 25 kHz playback engine and restricted resolution (8-bit, with 6-bit for some sounds). It also attributes variation to clock and analog circuitry. These figures describe the family, not a per-voice converter specification. R707-OM, R707-ENG
Kick inference: combine a damped body, repeatable pitched/noisy attack, fixed bandwidth and mild quantization before the output envelope. Supply two editable interpretations: 707 / Dry one and 707 / Solid two. They do not contain the original BD1/BD2 recordings. Continuous synthesis plus quantization is not PCM ROM playback.
Later: preserve two snares, rimshot, clap, three toms, both hats, crash, ride, tambourine and cowbell in the coverage plan; paired sounds may need shared-voice tests rather than an assumed unrestricted sampler.
Evidence: research/drums/MACHINES.md.
Conversion cadence is not sample provenance
707: The service timing chart returns to each multiplexed channel every 40 microseconds. Its 8-bit waveform is multiplied by an envelope at the DAC's reference input. Two kick data streams occupy even/odd addresses; replacing the DAC cadence does not recover either stream or establish its address clock. Our high-rate procedural excitation is sampled/held at the DAC update cadence, then filtered and enveloped. This is a clocked surrogate, not original ROM playback.
Evidence: research/drums/HARDWARE_ACCURACY.md.
The missing source-bank boundary
Roland confirms PCM sources, short waveforms with later analog decay and limited resolution. It distinguishes the new software's individual tuning/attack/decay controls from the stock hardware. Its family-wide 25 kHz and 8/6-bit description does not identify every voice's exact clock, resolution or address map. Roland TR-707/727 release document, 2021, p.2
Our entire non-kick 707 path currently lacks clocked finite source playback. The highest-value work is an optional immutable source-bank contract with explicit voice/articulation identity, followed by converter/envelope/reconstruction processing. Do not pretend the kick's DAC refresh constant establishes every metallic voice's sample clock. The current manual-mirror HTML rewrites the service text; use an original scan before introducing new register/component values. No ROM file was obtained by this review.
Evidence: research/drums/HARDWARE_REVIEW_V2.md.
Voice and control implications
The stock panel exposes levels, with shared groups including hats, cymbals, rim/cowbell and clap/tambourine. It has two snares, three toms, open/closed hats and crash/ride; individual tuning/attack/decay are not stock controls. Original owner's manual, Specifications p.47
| Product | Existing model IDs: all extensions | Missing source/articulation |
|---|---|---|
| Kick | Existing Source tune/decay/body/beater controls | BD1/BD2 selection, with explicit source identities |
| Snare | 136–140: Pitch, Ring, Wire decay, Snappy, Wire tone | Snare 1 / Snare 2 |
| Tom | 139–143: Pitch, Ring, Strike, Head coupling, Bend | Low / Mid / High |
| Hi-hat | 139–143: Open decay, Closed decay, Metal pitch, Edge noise, Sizzle | Closed / Open |
| Cymbal | 139–143: Pitch, Ring, Strike, Sizzle, Brightness | Crash / Ride |
| Rim | 134–138: Pitch, Ring, Strike, Overtone ratio, Texture | Rimshot |
| Cowbell | 129–133: Pitch, Ring, Strike, Overtone ratio, Texture | Cowbell |
| Clap | 129–132: Room decay, Burst spacing, Clap tone, Attack | Hand clap |
| Tambourine | 124–128: Pitch, Ring, Strike, Sizzle, Brightness | Tambourine |
Do not add fictional hardware Tune/Decay knobs for this machine. Add source selectors only where multiple stock identities exist; single-source products need a profile identity rather than a one-entry automatable list. Group mixing and hardware playback limits cannot be enforced across unrelated instances.
Evidence: research/drums/MODEL_CONTROL_MIGRATION_PLAN.md.
A useful implementation model
A clocked surrogate can be described as held[k] = Q(source(t_k)), with t_k = k / f_DAC; between updates the converter output is held, then processed by the reconstruction and envelope stages. The 40 microsecond timing corresponds to f_DAC = 25,000 Hz for the measured timing interpretation. This equation describes our modeling boundary, not a decoded ROM address law.
Keep the source reader separate from this output clock. A finite PCM reader needs an immutable source ID, frame count, original rate, loop/end policy and playback cursor. If velocity changes the analog envelope after conversion, do not use it to regenerate a different source waveform. Restricting an oscillator to 8 bits may supply a useful texture but still omits finite length, sample attacks and the shared hardware resources.
Applying the findings
Use a four-stage test: verify source bytes/identity, verify address progression, verify converter-update times, then verify envelope/reconstruction. Start with a constant or ramp diagnostic source so timing errors are visible independently of a complex drum waveform. Compare two closely spaced triggers to establish whether they overlap, restart or interrupt a shared voice.
For a portable source-bank interface, make the source immutable and give the voice its own cursor/envelope state. That allows procedural test data now and authenticated recordings later without claiming that one substitutes for the other.
Limits and open questions
No original BD1/BD2 ROM data was obtained. The family-wide 25 kHz and 8/6-bit descriptions are not a complete per-voice specification. Exact analog decay, clock interaction, reconstruction and shared-voice behavior need further evidence. Extra tuning and decay controls remain modern extensions.
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 · CowbellGenerator · TambourineGenerator
