Building a TB-303 from Scratch

(loopmaster.xyz)

197 points | by stagas 4 days ago

25 comments

  • squigg 7 hours ago
    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 ;-)

    • louthy 5 hours ago
      > 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 8 minutes ago
        I, too, have a TB-303.

        It seems like there might be a disproportionate number of 303 owners here on HN.

    • nekooooo 56 minutes ago
      they should have referenced Rebirth - that one was spot on (i never owned a 303 though, just got access to one occasionally)
    • UncleEntity 5 hours ago
      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...

    • bikesharing 3 hours ago
      [dead]
  • thr0waway001 3 hours ago
    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’ .

    • progmetaldev 53 minutes ago
      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.

    • asdhtjkujh 2 hours ago
      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 2 hours ago
        Yeah, same here. This stuff is cool. Wish I'd had a mentor.
  • c-c-c-c-c 9 hours ago
    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

  • tibbon 6 hours ago
    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!
  • bityard 4 hours ago
    "...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 3 hours ago
      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.
  • djmips 9 hours ago
    How much are you building 'from Scratch' when your language has primitives like diodeLadder(). :)

    I'm just joshing - it's very cool!

    • efdee 8 hours ago
      In his defense, he built the entire language :-)
      • llm_nerd 6 hours ago
        "If you wish to make an apple pie from scratch, you must first invent the universe" - Sagan
  • keyle 11 hours ago
    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 11 hours ago
      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 10 hours ago
        Sounds like a real bad day.
        • skrebbel 10 hours ago
          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 6 hours ago
            Would someone be able to use any of the modern reversing programs on the exe to get something?
            • runjake 5 hours ago
              Some of that was done at the time to build the new Buzz.

              (I was around at that time and a heavy Buzz user)

    • pierrec 4 hours ago
      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.
    • creativeembassy 8 hours ago
      This brings back memories. Buzz is how I got my start. And I've been producing electronic music as a hobbyist ever since.
  • rollulus 11 hours ago
    I think “simulate” would’ve been a more accurate word than “build”.
    • tobr 10 hours ago
      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 8 hours ago
      They miss out how not-square the "square wave" is for a start. Its pulsewidth varies wildly across the compass.
      • stagas 7 hours ago
        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 6 hours ago
          Always the square for classic acid house - the saw is better for more modern (and worse ;-) distorted acid techno
  • juleiie 8 hours ago
    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.

    • bxguff 8 hours ago
      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
    • aa-jv 8 hours ago
      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 7 hours ago
        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 6 hours ago
          >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.

  • antonyh 5 hours ago
    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.

  • ge96 5 hours ago
    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 5 hours ago
      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 3 hours ago
        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
  • emursebrian 7 hours ago
    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 7 hours ago
      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

  • torusle 10 hours ago
    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.

    • squigg 7 hours ago
      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 5 hours ago
      > 5-pole DIN cable. The sync was badly implemented. It lagged, it had latency.

      Sounds like you are describing MIDI

    • Applejinx 8 hours ago
      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 8 hours ago
        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 8 hours ago
        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.
  • Archit3ch 7 hours ago
    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.

  • JodieBenitez 5 hours ago
    Not an accurate 303 emulation but definitely a good acid line :)
  • angelmm 5 hours ago
    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 5 hours ago
      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.
  • tnn1t1s 9 hours ago
    I built one for 303 Day! https://tnn1t1s.github.io/day-303/303.html ... comparing notes.
  • prmoustache 9 hours ago
    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 9 hours ago
      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.
  • bowsamic 10 hours ago
    It’s a nice demonstration of this software but it really sounds very little like a 303
    • stagas 10 hours ago
      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.
  • kennyloginz 11 hours ago
    This is cool, but I would personally find an og iMac and install rebirth.
    • 1313ed01 10 hours ago
      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 8 hours ago
      OG iMac for the retro coolth of the project, or for ease of installation?

      Because the Windows version works perfectly under Wine.

  • dylan604 6 hours ago
    "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 3 hours ago
      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.

  • bandrami 11 hours ago
    It warms my heart to see the 303 getting a renaissance
    • wrennes 1 hour ago
      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.
    • hnlmorg 10 hours ago
      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.

    • hdb2 7 hours ago
      I love seeing so many brilliant creatives throwing their talents at the 303 - hardware hackers, software writers, etc.
    • poisonarena 8 hours ago
      its been getting a renaissance since 2006 i think
      • hnlmorg 8 hours ago
        I have a huge stack of records that prove it was used heavily throughout the 00s. And the 90s too
        • Supernaut 6 hours ago
          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.

  • drcongo 9 hours ago
    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 9 hours ago
      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 9 hours ago
        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 8 hours ago
          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 :)

  • yowang 8 hours ago
    [dead]
  • cocodill 10 hours ago
    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/

    • Subdivide8452 8 hours ago
      While I agree that I'd like to know the more esoteric concepts of the 303, you could have worded it differently.
    • efdee 10 hours ago
      The guy built the "shitty web app" (that's actually pretty cool, not shitty) from scratch.
    • sambapa 10 hours ago
      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 2 hours ago
        It's a neat idea but it all sounds like trash.