[HN Gopher] Building a TB-303 from Scratch
       ___________________________________________________________________
        
       Building a TB-303 from Scratch
        
       Author : stagas
       Score  : 203 points
       Date   : 2026-03-07 21:18 UTC (4 days ago)
        
 (HTM) web link (loopmaster.xyz)
 (TXT) w3m dump (loopmaster.xyz)
        
       | keyle wrote:
       | The TB-303 of reference to me is still Jeskola TB-303 :)
       | 
       | Back in my day of the demoscene and Buzz...
       | 
       | demo. https://www.youtube.com/watch?v=n2kl-CW9snU
        
         | lagniappe wrote:
         | Jeskola Buzz has a pretty interesting back story:
         | 
         | >The development of the core program, buzz.exe, was halted on
         | October 5, 2000, when the developer lost the source code to the
         | program. It was announced in June 2008 that development would
         | begin again, eventually regaining much of the functionality.
        
           | djmips wrote:
           | Sounds like a real bad day.
        
             | skrebbel wrote:
             | Yeah it was pretty spectacular. The author was a bit
             | paranoid, had never shared his sources with anyone or
             | backed them up anywhere or version controlled them to a
             | remote SVN server or anything like that. And then his hard
             | drive failed and Buzz development was over. IIRC there even
             | was a community-organized crowdfunding campaign to fund
             | some fancy data recovery company to try and revive the hard
             | drive so he could get the sources back (not sure if this
             | ever turned out happening).
        
               | dylan604 wrote:
               | Would someone be able to use any of the modern reversing
               | programs on the exe to get something?
        
               | runjake wrote:
               | Some of that was done at the time to build the new Buzz.
               | 
               | (I was around at that time and a heavy Buzz user)
        
         | creativeembassy wrote:
         | This brings back memories. Buzz is how I got my start. And I've
         | been producing electronic music as a hobbyist ever since.
        
         | pierrec wrote:
         | The plugin in that demo isn't by Jeskola, it's by HD
         | (Haldreamer) who I believe is a Russian audio developer who
         | made some nice Buzz plugins in the early 2000's. Source: I have
         | it installed and I just checked the "about" box.
        
       | rollulus wrote:
       | I think "simulate" would've been a more accurate word than
       | "build".
        
         | tobr wrote:
         | I also expected hardware to be involved. But in the context of
         | a list of tutorials on how to use this live coding tool the
         | title makes sense though.
        
         | ErroneousBosh wrote:
         | They miss out how not-square the "square wave" is for a start.
         | Its pulsewidth varies wildly across the compass.
        
           | stagas wrote:
           | I think you're right. We have a `pwm(hz,width)`[0] but I
           | didn't try it. Was more focused on the ramp/sawtooth. Can't
           | decide which one sounds better.
           | 
           | [0]: https://loopmaster.xyz/docs/generators/pwm
        
             | squigg wrote:
             | Always the square for classic acid house - the saw is
             | better for more modern (and worse ;-) distorted acid techno
        
       | bandrami wrote:
       | It warms my heart to see the 303 getting a renaissance
        
         | hnlmorg wrote:
         | I don't recall it ever falling out of fashion.
         | 
         | It's easily the most used and copied sound. Like the Amen Break
         | of synths.
        
         | poisonarena wrote:
         | its been getting a renaissance since 2006 i think
        
           | hnlmorg wrote:
           | I have a huge stack of records that prove it was used heavily
           | throughout the 00s. And the 90s too
        
             | Supernaut wrote:
             | It's amusing to see comments implying that the TB-303 is
             | some kind of neglected classic. In reality, it can only be
             | considered to have been forgotten for perhaps the two years
             | after Roland ended production in 1984.
             | 
             | "Acid Tracks" came out in 1987 and I genuinely feel like
             | I've been reading endlessly about the 303 ever since.
        
         | hdb2 wrote:
         | I love seeing so many brilliant creatives throwing their
         | talents at the 303 - hardware hackers, software writers, etc.
        
         | wrennes wrote:
         | I think the release of the TR-1000 has brought it back around a
         | bit. Not that it ever went completely away as was stated
         | previously. Side by side, they are an effective combo.
        
       | kennyloginz wrote:
       | This is cool, but I would personally find an og iMac and install
       | rebirth.
        
         | 1313ed01 wrote:
         | The Windows version (a legal, non-cracked, copy, even) runs
         | well in QEMU. Pretty sure I managed to get it working in WINE
         | as well at some point, but I prefer to have software running in
         | QEMU as that tend to be much more install-and-forget rather
         | than having to fiddle with settings or/and reinstall stuff
         | every time there is an upgrade or I move to new hardware.
        
         | ErroneousBosh wrote:
         | OG iMac for the retro coolth of the project, or for ease of
         | installation?
         | 
         | Because the Windows version works perfectly under Wine.
        
       | bowsamic wrote:
       | It's a nice demonstration of this software but it really sounds
       | very little like a 303
        
         | stagas wrote:
         | Try tweaking the accent multiplier to .1 from .5 - you can get
         | there but it requires a lot of value tweaking. There's no
         | singular TB-303 sound, but the components are there.
        
       | torusle wrote:
       | The fun thing was the Roland Sync. You could sync up all the
       | TB-303, TB-909 and all the others with a 5-pole DIN cable. The
       | sync was badly implemented. It lagged, it had latency.
       | 
       | However!
       | 
       | As soon as you cabled all together their imperfections added up
       | and they started to groove like nothing that has been heard
       | before.
        
         | Applejinx wrote:
         | This I don't understand. DINsync is raw trigger outputs/inputs
         | like you'd have in a modular synth, in contrast to MIDI that
         | has to send serial messages over a 1k data bus.
         | 
         | Perhaps this take has something to do with calling a five-pin
         | DIN plug '5-pole'? Something's wrong and backwards here.
         | 
         | Again, I guess this is where we are now? I remember reality,
         | but here we are.
        
           | svantana wrote:
           | No, this is different from pure CV. Each device has its own
           | (digital) sequencer that can synchronize with others using
           | pulse trains over DIN cable. Lots of places where latency and
           | instability can occur!
           | 
           | https://en.wikipedia.org/wiki/DIN_sync
        
           | windowliker wrote:
           | DIN sync is not trigger based, it's a full clock protocol
           | invented by Roland that has various different states. The
           | fact is that not all DIN sync capable machines implement it
           | the correct way, leading to slight differences in
           | synchronisation, even between devices made by Roland.
        
         | squigg wrote:
         | Owner of all (ALL!!) the classic Roland x0x boxes here, which
         | are connected together using DIN Sync - the sync was not badly
         | implemented at all - they sync together perfectly.
         | 
         | The sequencers in each of the machines have a bit of nuance,
         | which is where that famous groove comes from!
         | 
         | You might be confusing this with the sometimes hilarious midi
         | timing of the 909 and 707.
        
         | dylan604 wrote:
         | > 5-pole DIN cable. The sync was badly implemented. It lagged,
         | it had latency.
         | 
         | Sounds like you are describing MIDI
        
       | cocodill wrote:
       | well by building 303, I would really expect building, something
       | this guy do[1], not just simply using a filter in some shitty web
       | app.
       | 
       | [1]https://www.youtube.com/@MoritzKlein0/
        
         | sambapa wrote:
         | Shitty? Why so harsh? That web app IMO is great, like
         | supercollider running in a browser.
         | 
         | At least it isn't some ai slop
        
           | vjekm wrote:
           | It's a neat idea but it all sounds like trash.
        
         | efdee wrote:
         | The guy built the "shitty web app" (that's actually pretty
         | cool, not shitty) from scratch.
        
         | Subdivide8452 wrote:
         | While I agree that I'd like to know the more esoteric concepts
         | of the 303, you could have worded it differently.
        
       | c-c-c-c-c wrote:
       | I'd love to see a deep dive into the 303 CPU and their replicas
       | like https://www.sonic-potions.com/re303 and
       | https://socialentropy.com/pages/product_qs303
       | 
       | sonic potions has an analysis of the cpu timings here
       | https://sonic-potions.com/Documentation/Analysis_of_the_D650...
       | 
       | Theres also some nice articles about the diode ladder filter in
       | the 303, similar to the one in the vcs3
       | https://www.timstinchcombe.co.uk/index.php?pge=diode2
        
         | bloke_zero wrote:
         | There was a lot of work done on the RE_303 and the Pixie CPU
         | (303/606) - I don't know much about it but it might give you
         | another more recent vector to explore:
         | https://github.com/sunflowr/recpu?tab=readme-ov-file
         | 
         | (I built one and as far as I know the Pixie CPU was the 303
         | code + MIDI)
        
       | djmips wrote:
       | How much are you building 'from Scratch' when your language has
       | primitives like diodeLadder(). :)
       | 
       | I'm just joshing - it's very cool!
        
         | efdee wrote:
         | In his defense, he built the entire language :-)
        
           | llm_nerd wrote:
           | "If you wish to make an apple pie from scratch, you must
           | first invent the universe" - Sagan
        
       | prmoustache wrote:
       | I don't know what this website is made off but not being able to
       | use pgup/pgdown to move around is super annoying.
        
         | stagas wrote:
         | What's your OS/browser? On Chrome/Linux it works fine. If
         | you're focused on an editor it can capture the page keys so you
         | have to click outside first.
        
       | drcongo wrote:
       | 303 heads won't be fooled for a second, but it sounds quite cool
       | regardless.
       | 
       | edit: This is, without a doubt, the best soft-synth emulation I
       | know of these days and it's a hell of a lot of fun:
       | https://apps.apple.com/gb/app/pure-acid/id1481283602
        
         | Applejinx wrote:
         | Confirmed. I wondered if it was a hardware hacker, as I've
         | built a couple x0xb0xes from kits, but it was not. I guess this
         | is where we are? I mean, 'we' that doesn't include me, 'cos I
         | have x0xes and can do stuff with them.
         | 
         | As a reference for what 303s are actually like, early
         | Plastikman acid/minimal tracks often have really intense 303
         | elements. The filter's characteristic and can have enormous
         | resonance and sonority, but the ability to combine that with
         | accents and produce wild dynamic effects is something you don't
         | find in other synths.
        
           | drcongo wrote:
           | I've got 3 hardware versions in my studio - ranked from best
           | to worst for emulation: a T-8, a TD-3, and a TB-3. The TB-3
           | is rubbish, the T-8 is excellent, but I still most often
           | reach for Pure Acid - it seems to have that variability in
           | the filter that a real 303 has.
        
             | Applejinx wrote:
             | Yeah, the Aira is clearly a softsynth. What makes a 303
             | distinct (and this is to some extent mirrored by a x0x) is
             | the brutal simplicity of the circuit. These things are very
             | very primitive and there are sonic qualities gained by the
             | lack of complication. Here's a video of parallel 303 and
             | x0x, both of which are from an era where circuitry was
             | through-hole components on a larger scale than we do
             | currently. https://www.youtube.com/watch?v=wkJk_BpqHzQ
             | 
             | There's also a modern version called x0xheart which is more
             | SMD components, and it has yet another sound: sort of more
             | surgical and pristine than the older through-hole builds,
             | but still distinctly NOT a softsynth. This is a x0xheart:
             | https://www.youtube.com/watch?v=lgBa2d7gsPo
             | 
             | Hardware hackers who like acid music are heartily
             | encouraged to explore this sort of thing! If nothing else,
             | the modding scene around 303s is great fun :)
        
       | tnn1t1s wrote:
       | I built one for 303 Day!
       | https://tnn1t1s.github.io/day-303/303.html ... comparing notes.
        
         | hdb2 wrote:
         | this is awesome, thank you for sharing!
        
           | tnn1t1s wrote:
           | thanks - it was really fun to build. I (well claude and I)
           | focused on being very accurate.
           | https://tnn1t1s.github.io/day-303/about.html
        
       | juleiie wrote:
       | Once you hear analog perfect imperfection, it is hard to go back
       | to emulators.
       | 
       | No words can describe the feeling of original Yamaha cs-80.
       | 
       | It is very unfortunate as there is no true alternative to a 80kg,
       | age issues ridden, ultra expensive antique device.
        
         | aa-jv wrote:
         | Well, Deckards Dream comes pretty close to attaining a modern
         | analog manifestation of the CS80 ideal:
         | 
         | https://black-corporation.com/shop/
         | 
         | And, well, its a lot more feasible to gig with, by comparison.
        
           | juleiie wrote:
           | It sounds different but it is great in its own right and
           | priced adequately to how amazing it sounds. Maybe
           | 'alternative' is a wrong word. I think I meant 1:1 replica.
           | 
           | Also it doesn't come with ring modulator nor ribbon. I think
           | black corp synthesizers are inspired by the original vintage
           | devices and are great on their own but there are justified
           | reasons to also avoid them mostly because of common issues
           | that arise when you buy a niche product from a tiny company
           | thousands of kilometers away.
        
             | aa-jv wrote:
             | >common issues that arise when you buy a niche product from
             | a tiny company thousands of kilometers away.
             | 
             | Sorry, this is just negative - but anyway, have you played
             | with both?
             | 
             | I have. There are differences but they are minor and you
             | can very definitely accomplish an approximation of the CS80
             | 'sound' with the DD. It sold out for a reason.
             | 
             | Either way though, if you have an opportunity to have a
             | real CS80 in the studio, as I do, you are very right in
             | saying that it is an amazing beast.
        
         | bxguff wrote:
         | my high school had a cs-70 and it poisoned me for life. that
         | being said, theres a pretty big leap in terms of accessibility
         | vs a browser based synth and you dont need $10,000 to play it
         | so that's nice
        
       | emursebrian wrote:
       | The UI for loopmaster looks really good. The color scheme is
       | really pleasing to look at and it is easy to jump right in and
       | start editing stuff.
       | 
       | I've owned a bunch of different synthesizers and used a bunch of
       | DAWs over the years and it was clear to me where I needed to make
       | my edits to affect the signal chain.
       | 
       | We do real-time client-side audio processing in Emurse, and there
       | were definitely a bunch of challenges to overcome there, so it
       | would be interesting to hear more about what went into building
       | the tool.
        
         | stagas wrote:
         | Thank you!
         | 
         | Challenging would be an understatement. Had to create an editor
         | from scratch in canvas to support the inline visuals, then a
         | DSL that generates the code for each permutation of audio and
         | scalar parameters, then the language itself which is Turing
         | complete and controls the whole thing in a VM, choosing the
         | optimal permutation for each case, and all the
         | edits/recompilation be done in few ms to not distrupt the
         | experience, all across a thread (the WebAudio AudioWorklet).
         | The audio engine is in WebAssembly as it was the only way to
         | get the performance needed. You can check out the code[0], the
         | project is open-source!
         | 
         | [0]: https://github.com/loopmaster-xyz
        
       | squigg wrote:
       | TB-303 owner here. If my TB-303 sounded this bad I'd set fire to
       | it ;-)
       | 
       | Really this is just an implementation of a basic oscillator,
       | filter and envelope. No harm in that all and it's more than I
       | could manage - it's fun and nice, but it's nothing like a 303.
       | "Building an acid synth" would be fairer.
       | 
       | The accent and glide are core components of the sound, as is the
       | really quite unique sequencer control - from the strange bendy
       | growls to the classic acid bark the accent brings out. Would have
       | been nice to see a deeper dive into why that is and why it's
       | different from implementing a normal portamento-style glide as
       | many other synths do, like the SH-101 - which cannot sound that
       | close to a 303 due to that glide. Well it's also got a different
       | oscillator and filter, with no accent either, but I don't want
       | that to ruin the story ;-)
        
         | UncleEntity wrote:
         | My project over the last week was to get the robots to train a
         | neural net to learn the "303 thing", hasn't gone well at all.
         | 
         | The first one sounded like it was being played on a blown out
         | speaker after it got run over and the second attempt sounded
         | like it was going through a $20 pawn shop guitar pedal that got
         | left in the rain which lead to the 'oh, you wanted the neural
         | net to learn the 303's filter section? My bad, I just made some
         | random stuff up as an approximation...'
         | 
         | The worse part is there's still compute credits left over from
         | the initial ten bucks so we just have to try again...
        
         | louthy wrote:
         | > TB-303 owner here. If my TB-303 sounded this bad I'd set fire
         | to it ;-)
         | 
         | Fellow TB-303 owner here. I concur.
        
           | goatforce5 wrote:
           | I, too, have a TB-303.
           | 
           | It seems like there might be a disproportionate number of 303
           | owners here on HN.
        
             | Computer0 wrote:
             | me too, and many clones...
        
         | nekooooo wrote:
         | they should have referenced Rebirth - that one was spot on (i
         | never owned a 303 though, just got access to one occasionally)
        
         | wesz wrote:
         | What do you think about mine implementation?
         | https://drumpatterns.onether.com/drumkit/roland-tb-303/
        
       | Archit3ch wrote:
       | Sounds like a softsynth.
       | 
       | Without having the source to the WASM diodeLadder(), the
       | following is just a guess: they implemented it exactly like every
       | other "Diode Ladder" on GitHub, rather than a true SPICE
       | simulation. Some evidence for that: the CPU usage would explode.
        
       | tibbon wrote:
       | My first real soldering project (aside from just making cables)
       | was a x0xb0x TB-303 clone. I somehow built it with a $10
       | radioshack iron and nail-clippers as flush cutters in an un-air
       | conditioned Boston studio apartment over a summer. Probably not
       | the first deep electronics project, but somehow it worked!
        
       | dylan604 wrote:
       | "If you've ever heard the word "acid" in a song, it's probably a
       | reference to the sound of the TB-303"
       | 
       | Ummmm, what? If you've heard the word "acid" in a song, it was
       | definitely _not_ a reference to the 303 and definitely the
       | _other_ use of  "acid" like its use on the dancefloor. If you've
       | heard someone describe a song as "acid", maybe it could be a
       | reference to the 303.
        
         | hnlmorg wrote:
         | That's the same point the author was making. And it's not just
         | limited to descriptions. Record labels, track names, genre
         | names, sometimes even DJ / artist names have taken their "acid"
         | name from the distinctive sound of the TB-303.
         | 
         | Obviously it will depend on the era and scene too. Eg if people
         | talk about acid in the 70s Prog Rock scene then it's not going
         | to be about a hardware synthesiser built a decade later. But if
         | you're talking about dance music, then "acid" refers to 303
         | more often than it does the drug.
        
       | angelmm wrote:
       | Even though I'm not that familiar with the synth world, I always
       | found it a really interesting field. Websites like this that
       | helps me exploring and learning are amazing :)
        
         | hluska wrote:
         | There's a book by Albert Glinsky about Bob Moog called Switched
         | On. If you haven't read it, I highly recommend it. It's
         | definitely reverential but does one of the best jobs of
         | explaining the dilemma between innovation and business that
         | I've read.
        
       | ge96 wrote:
       | It's interesting I briefly thought about getting into "live
       | coding" or Strudel (or Sonic Pi), this kind of thing where you
       | write code to produce music
       | 
       | But as a non-music person and developer I'd rather use an
       | interface like Ableton where you see separate tracks/times line
       | up kind of thing... but aside from that I ended up just getting a
       | music subscription service that you can use in your YT videos
       | which is what I was after.
       | 
       | Everything is a time sink it seems, gotta choose where you put
       | your time into if 40 hrs of your life is taken up by day job
       | already.
        
         | exitb wrote:
         | Ultimately I prefer Ableton too, as it's just much more
         | polished, but there is merit to music-as-code. Traditional
         | DAWs, which are based on traditional instrument interfaces,
         | have incredible amount of state, which is so easy to get lost
         | in. It's so much easier to learn something new from a code
         | snippet, than from a YouTube tutorial which shows a series of
         | state changes via clicks and keyboard shortcuts.
        
           | ge96 wrote:
           | Yeah I'm not a musician either so even if you give me a great
           | tool I'd still probably produce garbage, but yeah good to
           | have options
        
       | antonyh wrote:
       | I was expecting a hardware project, not software. I don't have a
       | real TB-303, just the Behringer clone, and it'd be fun to build
       | something from scratch that sounds similar.
       | 
       | That aside, I've been wanting to play with this kind of music
       | making via code, this is a useful write-up.
        
       | JodieBenitez wrote:
       | Not an accurate 303 emulation but definitely a good acid line :)
        
       | bityard wrote:
       | "...in software" should have been appended to the title.
       | 
       | Back in the day, I was quite heavy into the x0xb0x.
       | (https://www.ladyada.net/make/x0xb0x/) It's an open hardware 303
       | clone by Ladyada and was designed to use as many of the original
       | 303 components as possible. According to those who own both, the
       | sounds are essentially identical. (But the x0x is much easier to
       | use.)
       | 
       | Somewhere in 2006, I was too late the to party to snag one of the
       | original kits, but a little cottage industry formed on the x0xb0x
       | forums to support the community of people who wanted to build and
       | mod their own. Adafruit provided the PCBs, the common components
       | came from DigiKey and Mouser, the rarer components from eBay or
       | other forum members.
       | 
       | I ended up buying enough components to build six, but only ended
       | up building three. The first one I kept, the other two I sold. I
       | recouped my cost with those so I also ended up selling the rest
       | of the components later as my interest in building them waned. I
       | should have held onto those and built the rest with my kids when
       | they got older, since even the replacement components are hard to
       | come by these days and they are still a fun project to build.
        
         | olelele wrote:
         | I built a xox as my first real project. Got the kit in person
         | from an older man in a nice but simple studio in deep east
         | berlin, 2012 or so. Great machine, learned tons.
        
       | thr0waway001 wrote:
       | I remember playing with Rebirth in the late '90s and then
       | actually finding a real, TB-303, albeit with a bunch of drawn on
       | crap. But it was very functional. Keeping it in a box for my
       | daughter. She will either think it's cool or sell it after I'm
       | gone. If she sells it, hopefully she gets some decent coin.
       | 
       | I'm kinda tempted to give it to my neighbor's son though. He
       | knows about all this stuff and loves it. He'd appreciate it more.
       | He'd also love my Roland D-50. He also comes by the garage to
       | help out with stuff. Like the son I never had.
       | 
       | My daughter, though, does not appreciate this tech stuff
       | whatsoever. Calls my gear room the 'junk room' .
        
         | asdhtjkujh wrote:
         | Maybe he could borrow the D-50 to start! I wish someone had
         | introduced me to hardware synths when I was younger; it took me
         | years to find my way with no guidance.
        
           | racl101 wrote:
           | Yeah, same here. This stuff is cool. Wish I'd had a mentor.
        
         | progmetaldev wrote:
         | You could always invite him over to check it out, just to see
         | how he reacts to it, and if he's interested more in the tech
         | aspect or the music aspect. Due to the increased rarity of the
         | device, you'd probably want to find out if he would actually
         | use the device, or try taking it apart to see how it works. I'm
         | not sure how old your daughter is, but you could try asking her
         | if she would be upset if you allowed the neighbor to play with
         | the device, just to avoid any ill feelings.
         | 
         | It sounds like you've got some great options either way. I wish
         | I had a neighbor growing up that had cool music gear (although
         | I did get to grow up with a dad that got me into computers
         | before I could read, so that definitely built my love for
         | technology). Sounds like you're the kind of dad more kids these
         | days need in their lives.
        
       | wesz wrote:
       | A couple of months ago i did my own TB-303 implementation -
       | https://drumpatterns.onether.com/drumkit/roland-tb-303/
        
       ___________________________________________________________________
       (page generated 2026-03-11 23:01 UTC)