errozero a day ago

Hey, I made this a few years ago. I'm suprised to see it posted here today.

It was never finished and I was meaning to add a polyfill for the missing cancelAndHoldAtTime function for Firefox.

Edit: I've just hacked in a quick polyfill

  • padenot a day ago

    Sorry, I'll implement it, I had forgotten we didn't do it for erm... 9 years.

    https://bugzilla.mozilla.org/show_bug.cgi?id=1308431

    • strogonoff 9 hours ago

      For a while I have been curious about the intended uses for xAtTime functions (like cancelAndHoldAtTime) in Web Audio. As far as I understand it, calls to them suffer from lag due to main JavaScript thread and audio thread communication, which makes sample precision unachievable—and precision is quite important in music.

      Is it mostly for emulating slow-moving changes on fixed timelines, a la automation tracks in traditional DAWs like Logic and Ableton? Is design rationale documented somewhere?

      • padenot 4 hours ago

        Those methods are sub-sample accurate, granted you call them a bit in advance to account for the cross-thread communication, as you say. But yes, in general this was designed (prior to me becoming an editor) with scheduling in mind, not with low-latency interactivity. That said, it goes quite far.

        Other systems go further, such as Web Audio Modules (that builds on top of AudioWorklet) implement sample-accurate parameter change from within the rendering thread, using wait-free ring-buffers. That requires `SharedArrayBuffer` but works great, and is the lowest latency possible (since it uses atomic loads and stores from e.g. the main thread to the rendering thread).

    • chr15m 20 hours ago

      Thank you!

  • circadian a day ago

    This is really lush. Instantly it brightened up my evening. This kind of experimentation is always amazing to see.

    As many seem to have mentioned below, it brings back memories of Rebirth in some ways. What it also reminds me of is the beautiful results you could have by plugging some simple modules together to create soundscapes. The limits are the things that provide some semblance of freedom and this is no different. Greetings from a fellow UK acid (techno) head! :P

  • errozero a day ago

    I've just updated this to make it a little bit easier to use on a phone. The knobs are now a bit chunkier and should respond better to touch and the instruments sit vertically instead of horizontally.

  • elevaet 12 hours ago

    This is fantastic errozero nicely done! It's very musical, the drone is a nice touch and really glues it all together in a subtle way.

  • stephenhandley 21 hours ago

    this is awesome. would suggest not randomizing the tempo on regenerate, and if it was already playing, when hitting regenerate, keep it playing. that would make it easy to quickly audition loops at a given tempo with a single click

  • obiefernandez a day ago

    Hey if you don't mind updating this, can you please allow the tempo to be as high as 150 bpm?

    • errozero a day ago

      Hey, sure! I forgot it was limited to 130, it's been a few years! I've just updated it.

    • radley a day ago

      That might tickle your tinrib. If you want to stay up forever, maybe go to 160 bpm. Or even some industrial strength 200 bpm.

    • diggan a day ago

      And also, different tempos per instrument :)

  • blackhaz a day ago

    This is amazing. Thanks for making it.

  • Computer0 a day ago

    Are you interested in open sourcing? I'd love to learn about how this was done.

  • errozero 7 hours ago

    Update: wav export now added

  • djmips a day ago

    How do I export/save a pattern I like?

    • errozero a day ago

      Currently, all you can do is save the url which contains all of the initial randomisation settings when a pattern generates. It doesn't update when moving sliders or anything, it's just the intial settings.

      I'll look into adding a wav export feature.

      • _HMCB_ 17 hours ago

        Yes. Export please!

  • jackdawipper 20 hours ago

    this thing is great. you got a version that can run as a vst or plugin?

driggs a day ago

Not only does this sound excellent, with three great TB-303 synth engines with a colored delay, but it's very musical. The three patterns are locked to a common scale/mode, they autogenerate with compatible and often interleaving polyrhythms, and the "instruments" - bass, lead, drone - spawn with complimentary defaults.

As a longtime synth nerd, it still amazes me to see beautiful tools like this running in a web browser.

Excellent job!

  • alisonatwork a day ago

    I agree that it's neat to have software synths that can run in the browser nowadays, but this isn't really a good TB-303 emulation. The accent doesn't have a slow enough attack to create the "wow" effect, which is a fundamental aspect of getting any random acid line to sound properly 303ish. Not to take away from what it is, but for a synth that has been cloned and emulated as often as the TB-303, your description is overselling it a bit.

    • driggs a day ago

      Tell me, oh wise HN caricature, do you think the point was hardware-level emulation of a 40-year-old analogue circuit?

      (Hint, it's also got a variable pulse-width oscillator and an LFO, which the TB-303 lacked.)

    • quatonion a day ago

      Come now. Being kind is also a thing, and I think it sounds more than acceptable.

  • satyrun 17 hours ago

    This is absolutely awesome. The multiple lines really make it unique.

    I really never heard the enigmatic scale that much but it sounds wonderful. The only thing I would want to hear are melodic and harmonic minor modes.

bityard a day ago

Oh this is lovely! I love the 303, played with ReBirth a LOT and built several x0xb0xes back in the day.

About half of the patterns it generated were something I could listen to for a while. Makes me want to get back into electronic music again.

errozero 7 hours ago

I've just added a wav export feature. Currently it only exports with the knob positions as they are when the pattern first generates. You can choose how long the exported audio is.

It's a bit of a hack that re-opens the app in an iframe in the background using an offline audio context.

I'll come back to it at some point and make the export pick up the knob positions but I don't have time right now.

ZFH a day ago

cries nostalgia tears in Propellerhead Rebirth

Thanks.

  • racl101 a day ago

    I remember using that one time to make music for a presentation for a power point slide. We burnt the music onto a CD and brought in a boombox. I it was for my accounting class. It was kinda cool.

kookamamie a day ago

When clicking Regenerate, it would be great if the sequence kept playing if Play was active at that time.

dep_b 9 hours ago

Had tons of fun with https://roland50.studio/ the other day. And I have a lot of the actual devices, but still to just jam a bit without going through all of the set up now nice.

dev0p 12 hours ago

Best find on HN in the past year, no joke.

Is this open source? I'd love to tweak it a bit, I wonder if it modulation can be automated somehow, so it can be kept in the background as it fiddles with patterns on its own and explores the musical landscape. Or add a save/load feature, for both songs and patterns...

timdeve 9 hours ago

This is really lovely.

Would be great as an inspiration tool if it would make a little visualisation of the notes/accent/slides on a piano roll.

I can read the JSON meanwhile but just an idea.

bitbasher a day ago

Does anyone have any suggestions for how to get into electronic music production?

I am working on a small game and want to make some jungle dnb tracks for it.

I grabbed Renoise and follow some tutorials and stuff. Is there a better way to go about it?

  • bagful a day ago

    Learn by imitation ; if you want to make DnB tracks, try and inevitably fail to recreate existing DnB that you admire. With time your failures-to-imitate will congeal into a novel and personal style.

  • gregsadetsky 19 hours ago

    This book [0] is full of great creative strategies to make electronic music, ways of getting started/unstuck, is generally not that tied to Ableton the software (even though they are the publisher), and is free to partially peruse online.

    I’d recommend getting a physical copy once/if you find it useful. It’s been a really great help in getting over white page/DAW syndrome. Truly great and full of smart/useful gems.

    [0] https://makingmusic.ableton.com/

  • milchek 21 hours ago

    You could grab some sample or instrument packs that will help you approximate the sound you are after more quickly.

    Baby Audio has a pretty nice VST instrument and 90s preset pack that might have the sound you are looking for - have a listen here https://static1.squarespace.com/static/561e2985e4b08862a3496...

    On a side note - if you are looking for people to help out I’d love to have a crack, also looking to learn.

mtts a day ago

Everybody needs a 303.

  • leptons a day ago

    I'm a little sad that the 303 sound had such a short-lived and niche life. In the 90's it seemed to me like it was the first instrument that could challenge the hegemony of the electric guitar. It was so versatile - the sound is bouncy, melodic, and had some real "growl", all at the same time.

    • alisonatwork 20 hours ago

      Unfortunately it really is a niche thing that only appears to speak to certain people.

      As someone who feels like the sound of the 303 touches me deep in my soul, it's constantly disappointing to be reminded that other people don't hear it the same way I do. You can even see it in comments on this post where expressing a love or appreciation for the actual sound of the silver box is dismissed as elitist or something because lol whatever, any old synth sounds just as good. Most people either can't hear or don't care about what makes it special, which perhaps explains why it never became respected as a mainstream instrument like the 808 did.

      Fortunately the clones these days are very cheap and very good and music has become so easy to obtain that you can visit Bandcamp every week and still find new tracks featuring the 303 and its descendants. Every now and then you might hear a 303 in a mainstream tune and it's a treat, but if you just love the sound and don't mind listening to music that few others get, I don't think there's ever been a better time.

      • satyrun 17 hours ago

        I love this software but I was completely sick of the 303 by the late 90s.

        If anything, I think it got over exposed in the 90s. The sound is just so distinct with the slides and accents.

        Rebirth was also the first really popular software synth I remember and at that point it was just 303 overkill.

        For me, it was an acid house album in the 2010s that I can't remember that made me appreciate the 303 again.

        • alisonatwork 15 hours ago

          I remember back in the 90s there was somewhat of a backlash against the 303, which presumably was part of what Norman Cook was getting at with the name of the song mentioned on the top of this thread. Ironically - or perhaps deliberately - that track was peak unimaginative/tedious usage of the instrument, which is funny because he had also done some much more elegant takes in his Pizzaman project.

          For me it never felt like the 303 ever got really overdone in mainstream electronic music. Certainly there was the riff from Pump Panel's Confusion remix showing up all over the place, and there were a few tracks that got a high rotation on MTV like Daft Punk's Da Funk and Josh Wink's Higher State, but I don't think it was ever really ubiquitous outside of acid music, which is already a niche genre. Like, we never got 808s & Heartbreak for the 303.

          It was definitely controversial inside the synth community, though, where hardcore analog and modular synth nerds scoffed at it being so limited and toy-like, and everybody - young and old - resented it becoming so expensive and sought-after, which in turn raised the prices of other vintage synths that according to the rumor mill could do a decent approximation if you programmed them just right.

          Rebirth busted that market by making the basic essence of the sound available to everyone, and there were plenty of bad acid tracks that came out during that period, but I think that's also when the opportunity was there for it to really break through as a serious instrument. Later VSTs like Phoscyon took inspiration from mods like Devilfish and more elaborate clones like the FR-777, building on the 303 base to create the kinds of sounds that in the old days might have required a lot hacking/patching up of different instruments to construct. But by that point it was clear that the mainstream didn't really care.

          I'm at work right now so don't have access to my music library to share specific favorite tracks, but there is still so much great music featuring the 303 coming out - it never stopped. There is stuff for people of every taste. If the more unsubtle stuff doesn't work for you, you might want to check out Mighty Force label, which has been putting out a bunch of IDM/braindance and pleasant electro music recently that sometimes has delightful uses of the 303. Also in the back of my mind for more IDM-ish and electro stuff are Analogical Force, Virtual Urban Records, HC Records, Nocta Numerica... There's a bunch more in that vein, plus all the usual suspects doing big room techno, hard party acid, all-hardware synth jams etc etc, but you probably need to dig in any case. I tend to find even the best albums only have one or two tracks that are to my taste, but everyone is different so it's great that there is so much out there.

    • jghn a day ago

      > that could challenge the hegemony of the electric guitar.

      IIRC when it came out in the early 80s it was intended to be a substitute for bass guitars. So perhaps that is part of your sentiment.

      • leptons 21 hours ago

        In the 1980's nobody knew how to use synths beyond the default patches. That's why I think that 80's music sounds so generic and kind of hollow.

        The 90's was different, the people making synth music pushed the synths past what their default setup was capable of. Synths used in the mid/late 90's for psychedelic/acid trance sound nothing like 80's synths, but they are the same synths.

        The "303" was intended as a bass instrument, but with 90's acid trance it's typically used as a lead, as well as a bass.

        • jghn 5 hours ago

          > In the 1980's nobody knew how to use synths beyond the default patches

          Dwayne Goettel would be a big counter example! :) Although his best work was early 90s I suppose.

mxuribe a day ago

Also within ungoogled chromium, upon hitting the "stop" button, it seems to keep playing either an additional lower-volume track, or some long delayed echo....but hitting the "stop" button several times eventually stops playback. Even still, the concept is pretty neat!

xxr a day ago

Right off the bat I get something that sounds like something Frank Klepacki would have used in the Red Alert 2 soundtrack (likely pulled from Methods of Mayhem). Nice.

specproc 13 hours ago

It's so easy to get acid, you can get it anywhere.

octatrack a day ago

Love it. MIDI sync and start/stop functionality would be great to connect it to other gear/software!

quatonion a day ago

It's brilliant. Love it. I want to know more about the generation, it looks very well thought out. Worth an article in itself.

  • errozero a day ago

    Thank you! It's been a few years so I can't remember exactly without reading through the code but it's something like this:

    It uses notes from the selected scale and octave (from the dropdowns). If the pattern is of an even length, say 16, it will split it into 4 chunks of 4, then randomly decide if it should generate new data for the chunk or copy the previous chunk. It uses the repeat slider for the probability on this.

    It randomly applies the 303 modifiers (up, down, accent, slide) using probability set with the sliders on the pattern tab.

    There's also an 'empty' slider which sets the probablity of an empty note appearing in a chunk.

    • fallinditch a day ago

      Awesome, love it! You could consider adding some randomness from random.org so that natural electromagnetic phenomena (or a supreme being) influence the output - for the pro service perhaps ;-)

efields a day ago

What would be the level of effort to get some midi transport controls and BPM sync in here, now that browsers support MIDI to some degree?

pdntspa a day ago

It would be cool if this showed the patterns in a visual manner that I could copy into my 303 VST of choice

rebolek a day ago

Where is "Export as MIDI"?

  • metamet a day ago

    Exporting the generated audio stems would be slick, too, rather than having to run capture on it.

  • fumar a day ago

    Export midi or realtime output midi.

schwartzworld a day ago

This is great and will be an excellent source of samples

racl101 a day ago

oh yeah. I feel like I'm in the '90s again.

  • fallinditch a day ago

    Check out this great album, a study in acid: Filo Loves the Acid by Donato Dozzy.

jackdawipper 20 hours ago

man I love this. want for local use.

andreyazimov a day ago

amazing, can you please add simple 909 kit?

nurettin a day ago

Reminds me of the music of Dynamix (Commodore 64 game)

tempodox a day ago

Disappointed, I thought acid loops were fruit loops dipped in acid (303 µg a piece?). The sound is nice, though.