BeatForge does syncussion

but since those lovely people at Behringer trademarked the name, I had to call it something else,

so I present : the kitchen sink... so I can't be accused to put anything in there but the kitchen sink.

All jokes aside. download and test at www.beatforge.nl and tell me what you think.

It's fully circuit modelled, samples and spice model used for reference, then optimised into a playable instrument.

Besides that , beatforge also has full Roland TR-606, 808, 909 models, and a yamaha TX81Z emulation, parameter locks, Rex player, Slicer, all that fun stuff.. too much to name.

I do requests for models, als long I can find samples and schematics it can be done.

Next in the line is the Simmons SVSV.

u/BeatForge_Dev — 15 days ago
▲ 16 r/DSP

Every surviving TR-909 is 40 years old. What does "authentic" even mean    when the schematic and every living unit disagree in the same direction?

I'm modelling the TR-909 the way I modelled the 808 and 606 before it: component by component from the service notes, with one hard rule - no fitted or matching EQ anywhere. Every filter, every time constant, every gain in the model has to trace back to a component that is drawn on the schematic, or it doesn't ship. Validation is against recordings of real units (multiple machines where I can get them), but the recordings are the gate, never the source: when the drawing and a recording disagree, I don't get to turn a knob until they agree. I have to find out why.

That rule is what made the following visible, because without it I would have EQ'd the discrepancies away in an afternoon and learned nothing. As the model got close - close enough that the remaining deviations were a dB here, a few percent of a time constant there - the residuals stopped looking like noise. They grouped. Specifically, they grouped by what the component that owns each parameter is made of.

Time constants owned by tantalum capacitors read consistently long, by 14 to 19 percent, on every unit measured. The 909's tom body decay is set by a tantalum; every reference unit decays 14-19% slower than the drawn RC says it should, and they all miss in the same direction.

A recovery time owned by an aluminium electrolytic reads consistently short. The hand clap has a roughly 228 ms recovery between hits set by an electrolytic; on both units I could measure, the effective capacitance comes out around 0.83 times the drawn value. Electrolytics dry out and lose capacitance - this is the single best-documented aging mechanism in the business, and it points exactly this way.

A clock frequency owned by a carbon-composition resistor reads consistently high, by about 16 percent - on four different machines. Carbon comps drift upward with age, heat and humidity; four units agreeing on the direction and roughly the magnitude is not a lottery.

And the control that makes this believable: not everything drifts. The kick's poles sit dead on the drawn values across units. Film caps and metal film resistors holding their values while electrolytics sag, tantalums stretch and carbon comps climb is exactly what a 40-year-old PCB should look like. If every parameter had missed, I'd have suspected my own readings of the schematic. The residuals sorting cleanly by dielectric and resistor construction is what flipped my interpretation: these aren't model errors. The model was measuring the age of the reference units.

Which lands you somewhere genuinely strange for validation. The schematic describes the machine Roland built in 1984. Every recording anyone can make today describes a machine that has been drifting away from that schematic for four decades - and drifting coherently, because the same chemistry is running in every unit. So a model that is exactly right by the drawing will sit at a small, systematic, same-signed offset from every reference you can buy or record. If you validate purely by fitting to samples - which is the industry default - the fit will happily absorb one particular elderly unit's drift, your metrics will reward you for it, and you will ship "authentic 1984" with today's electrolyte chemistry baked in.

Edit:

After listening more and more, i prefer the old values, Toms and Kick have more sustain, it just sounds more alive and less stiff.

Question for the room: has anyone treated component aging as a first-class model parameter rather than a nuisance? Tape emulations have had "worn" controls for years, but those are usually designed sounds, not chemistry-driven parameter drift. And if anyone has good literature on solid tantalum capacitance drift over multi-decade timescales, I'd genuinely like to read it - the electrolytic and carbon-comp stories are textbook, but the tantalum shelf is thinner, and right now my 14-19% is a measurement in search of its chemistry paper.

Disclosure: I make a commercial drum plugin, this work is in it.

Edit: I could be wrong about aging being the only reason of what i'm measuring and hearing. It could very well be that component tolerance is the cause of this. Anyways, the conclusion is to not always trust the values on schematics 100% since there are quite some factors that could cause components to be off just enough to sound a bit different from the hardware, even though the math is correct according to the circuit.

reddit.com
u/BeatForge_Dev — 2 months ago

I rebuilt every TR-808 voice from the circuit and measured it against a real 808 — tell me where I'm wrong

he old 808 was the first model I did, but my skills have vastly improved, so Iwent back into the rabbit hole. I also found another great source for theschematic — the Yocto, from https://github.com/e-licktronic/Yocto-V2.0 — which helped bigtime to solve some issues where the Roland papers were unclear. So

here it goes:

**BeatForge 4.6 — the TR-808, straight from the circuit**

The whole 808 is rebuilt from the schematics. All sixteen voices — kick, snare, toms, congas, rimshot, claves, clap, maracas, cowbell, both hats, and the cymbal. No samples anywhere, and no matching EQ anywhere. That was the rule the whole way: every filter, every time constant, every level either traces to a drawn component or it doesn't ship.

**Accent isn't volume.** On the real machine the accent bus is a voltage that changes what each voice *does* — the snare gets snappier, the hats brighter, the kick rounder, and it's a different amount for every voice because it's a different circuit for every voice. That's how it works here. There's one global accent row above the tracks, like the machine's own AC row.

**The 808 tracks are monophonic now**, not polyphonic. Same as the hardware: one voice per instrument, so fast hits retrigger the way the real thing does instead of stacking up like a sampler. (There's a Studio mode if you actually want polyphony, but Hardware is the default, because that's what an 808 is.)

**Where the knobs came from.** Anything the original doesn't have on its panel is a circuit mod — an extra pot at a named point in the schematic, the kind people really do solder in, and some of these mods already exist out there. Centre detent is the unmodified machine, bit for bit. Two of the mods I'd planned got built, measured, and thrown out because they didn't do what the label promised.

**The benchmark isn't other 808 plugins anymore. It's a real 808.** That's the standard I measured against — recordings compared band by band and window by window, onsets included — and where my model still differs, I wrote the difference down instead of dialling it out with an EQ.

What I actually had to work with, since you should know: clean recorded samples of real hardware, the service schematics, some Stanford/CCRMA papers that turned out to contain real mistakes (their maths takes the Schmitt-trigger thresholds as datasheet-typical, which puts the metal voices about three quarters of an

octave flat, and the only comparison they run on that circuit is against a SPICE simulation rather than a recording), and the very well documented Yocto clone, which was a big help as a second reading. I own a Behringer RD-8 but deliberately did not use it as a reference — it's someone else's interpretation, not the machine.

The old voices are still there, in legacy, so nobody's project breaks. Next up is the 909 rework. So what I'm hoping for: someone who owns a real 808, A/B-ing it against this and telling me where I'm wrong. Verify any claim you like — I'll happily show the measurements behind any voice.

Don't take my word for it either — the sounds play on the site, before you install anything. If they pass your judgement there's a 14-day trial, no email and no card details; that only comes in if you decide to buy.

Paul / BeatForge by Pulsonix

www.beatforge.nl

u/BeatForge_Dev — 2 months ago
▲ 39 r/DSP

You can date a TR-808 from a recording by fitting the shape of its TONE knob

I am modelling a TR-808 from the service notes, stage by stage, and while doing the snare I ran into something I did not expect: two independent ways to tell which production revision a recording came from, one of which is just the response curve of a potentiometer.

Background. The 808 snare is two bridged-T resonators in parallel, one for he shell body and one an octave up, mixed by the TONE control, with the noise ("snappy") path summed in separately. Mid-production Roland changed four parts in that voice. The service notes list them as a PORTION CHANGED

annotation:

C58 .027 to .056

C61 .0068 to .015

R191 8.2k to 10k

R200 47k to zero

The caps are the obvious half. Only one cap of each bridged-T pair changes, so the frequency ratio is sqrt(27/56), not 27/56:

resonator 1: 249.63 Hz -> 173.34 Hz (-6.29 semitones)

resonator 2: 499.00 Hz -> 335.98 Hz (-6.85 semitones)

So an early 808 snare sits about a fifth higher, and because the two shifts differ slightly, the pair goes from an exact octave to a flat one. Q drops a little too (17.4 -> 16.3 and 10.7 -> 9.9), so the shell also rings around 35% longer after the change.

Now the part I thought was neat. R200 sits in series between an op-amp output and one end of the TONE pot. Since 47k is comparable to the pot's 100k, it is not a level trim: it changes the SHAPE of the crossfade law across the whole sweep. Deriving both cases:

R200 = 47k -> TONE spans 16.8 dB

R200 = 0 -> TONE spans 26.8 dB

The recordings I have span 26.4 dB measured. Fitting the derived law against ten measured amplitudes with a single common gain and nothing else fitted gives 1.16 dB mean error for R200 = 0 against 6.62 dB for 47k. That is a clean verdict, and it identifies the machine's revision without looking at the resonator frequencies at all. Then the frequencies agree independently: measured 172.0 and 339.5 Hz against derived 173.3 and 336.0 for the late version.

Two consequences that might be useful to others:

  1. A control law is a fingerprint. We normally treat pots as "the user's problem" and model them as a gain or a simple taper. But when a series resistance is comparable to the pot's own resistance, the law is a property of the circuit, it is measurable from audio, and it carries information the spectrum does not. I would not have thought to look if the two cap values had not sent me to check what else changed with them.

  2. Watch out for manuals describing a different machine than the one in front of you. Roland's own printed spec quotes 476/238 Hz for this voice, which is the early revision. Earlier in the same project I found their printed bass drum tuning (56 Hz, and 62.5 Hz in the prose) disagreeing with both my derivation from the component values and the hardware, which both land at 49.5. Component values have been right every time so far;

printed prose has been wrong twice.

Method note, since it is the part that actually matters: I derive each stage symbolically from the drawn component values, then measure real hardware recordings, and I only trust a number when the two agree. Where a published academic derivation of the same circuit exists I use it as a third reader, and that has caught mistakes in both directions, including three errata in the paper.

Disclosure: I make a drum machine plugin and this work goes into it. Not linking it, this is about the circuit.

reddit.com
u/BeatForge_Dev — 2 months ago
▲ 27 r/JUCE+3 crossposts

After a year of JUCE/C++: BeatForge — REX player + 808/909/303 engines, all DSP hand-written

Been heads-down on this for about a year and figured this crowd would appreciate the guts more than the marketing page.

BeatForge — drum machine, step sequencer and REX loop player. VST3/AU/AAX/Standalone, universal binary. JUCE 9 (migrated last month), everything below the framework is my own code.

Bits that might be interesting to people here:

REX SDK. Wrote a JUCE wrapper around Propellerhead REX SDK 1.9, including drag-and-drop of slices out to the host. Bitwig still has no REX support, which turned out to be a decent reason for the plugin to exist.

Synth engines. ~5k lines of 808/909/modelling done from schematics rather than sample playback — VCA topology, click transients, pitch sweeps, the 909 tom triple-VCO, that sort of rabbit hole.

Antialiasing. Started with blanket 8x oversampling and it was eating CPU for no good reason. Replaced it with ADAA on the memoryless waveshapers (exact tanh with the ln(cosh) antiderivative) and linear-phase minBLEP saws at 1x, then a per-engine oversampling map — most engines run 1x now, only FMKick and the 909 snare need 4x. Built an offline FFT alias-measurement harness to verify it; alias floor sits around -90 dB. Worth noting ADAA-2 blew up on me under heavy drive — catastrophic cancellation, auto-mute and crackle — so everything is bounded ADAA-1.

Realtime discipline. Lock-free atomic slot for deferred time-stretch, ScopedAudioSuspend guards on live mutators, steal-quietest voice allocation. Debug assertions went from ~3150 to 3. auval and pluginval at strictness 10 both clean.

Also. Full undo/redo, NAM master-bus saturation, and a WASM build of the synth engines for the site via Emscripten and a hand-rolled juce_shim.h.

Happy to go into detail on any of it — the ADAA and REX wrapper work especially, since there's not much written about either.

Site + demo: https://www.beatforge.nl

u/BeatForge_Dev — 2 months ago
▲ 23 r/DrumMachine+1 crossposts

Behringer TD-3-MO , Mosky SuperRat Distortion

Some more more TD3 fun, this time I recorded the TD-3-MO thru a Mosky SuperRat (Proco Rat distortion pedal clone) Drums are BeatForge (all synth, no samples) . Added a doubler on the TD-3-MO from Neural Dsp Nolly, and some reverb. Izotope Ozone on the masterbus . What's your favourite distortion to use with the td3 or other 303 clones ?

u/BeatForge_Dev — 4 months ago

Just got the TD-3-MO

it's awesome, of course had to do the Blade theme with it, ran it thru the Audiority Heavy pedal distortion pedal plugin, and this is the result . I recorded it twice and panned left right for some stereo width. Drums are BeatForge (no samples, all synth)

u/BeatForge_Dev — 4 months ago

just got a behringer TD-3-MO

it's awesome, of course had to do the blade theme with it, ran it thru the Audiority Heavy pedal distortion pedal plugin, and this is the result . I recorded it twice and panned left right for some stereo width. Drums are BeatForge

Behringer TD-3-MO blade theme

reddit.com
u/BeatForge_Dev — 4 months ago

Is resoling even worth it ?

With all of my older redwings, the leather insole cracks and becomes uneven way before the soles are worn out, as far as I know the insoles cant be replaced ?

reddit.com
u/BeatForge_Dev — 5 months ago