That is very cool! Just spent a bit of time playing with it, and while I wouldn't say I was a 303/808 connoisseur (unlike a friend who is pretty famous for his use of them), sounds pretty good to me; it's not perfect (it sounds like the filters aren't quite there in terms of extreme settings of resonance and envelope), but it's good. I've not used RB338 for years, so it could be mis-remembering, but it's almost like the sounds need controls that 'go to 11' to get to where you'd want them to be?
I like the simplicity of it and the ease of producing a WAV from a session, and the UI seems to be simple and straightforward to use. I'll test it out on some students this week, see what they come up with.
I have a couple of minor criticisms - I don't think the ballistics of the rotary controls is right, but I can't quite put my finger on -why-, just seems a bit too sensitive or there's something about the linearity of it? Would it be possible to add the Cubase-style "shift reduces the sensitivity while dragging" to them?
The other thing was editing the grid - I'd prefer left click to toggle an event on and off rather than right-click to clear; while this is personal preference, it's one that I've got used to using Cubase for 20 years or so in the drum editor, so it's a little counter-intuitive to have to do it another way, and I think many other editors are similar?
Finally, any chance of an undo in the editor?
But overall, love it. An amazing demonstration of what's possible in a browser, and of your skills!
I would, I own a real TB-303 (as well as a TR-808 and a TR-909), and this suffers from the same problems that all emulations suffer (even Roland's own TR-3 and TR-03): the sound is really 'static'; real 303s have an instability in the sound that gives them a nice natural vibrato, which at the extremes (resonance full, and sweeping the cut-off), causes mini-ripples of sound that give the 303 that sound.
Have a listen to this to see what I mean (try to avoid the Roland shills with their "it's just as good" opinion) [1]
It's pretty much the same with all emulations of analogue gear. I am yet to hear any plugin or emulation come close to the sound of analogue. The closest I've experienced to-date Uhe Diva, but even that doesn't have the liveliness of the real deal.
You're right, but that doesn't make this any less awesome :)
To me, it's a demo of what's capable with the Web Audio API. It's _amazing_, because with a URL you can share a drum machine equal to any of the other emulators you'd need to buy (or, at least, download).
It's good for sure, listen to the last sliding notes on the funk riff, the analog is much more characteristic, the smooth gradient is perceptible, it's the interaction of analog harmonics, as another post mentioned it's often at the extremes that the most interesting sounds emerge, these I imagine are areas where interesting sonic dynamics will occur. All music making stuff is cool, from gong to modular analog through string box bass and digital tricks, we are lucky to have such tools to hand, the original 303 cost a lot, they still do...
I think it is, but on quite a subliminal level. As well as producing music I also DJ, and I notice a marked increase in energy levels of people on a dancefloor when I play tracks that I know are made with analogue synths and drum machines.
Two weeks ago I was playing at a club in London and played Donnato Dozzy - Gol [1], it's so simple as a track, almost nothing to it, but it's a real 303 and 808 that drives the track. I had tons of people asking me what it was, and I could see the room had got more energetic. I even had this conversation about it after the night.
So even for those that don't know exactly why, I think they do feel. I've seen it happen lots of times.
> But I'm buying all analog, and mostly VCO synths
It's still there with DCOs in my opinion. They're cleaner for sure, but they still have that sound. My Juno 106 is one hell of a synth, and that's DCOs, as is my Waldorf Pulse 2 (which for almost no money is a great sounding machine), but then I have the VCOs: Moog Sub 37, Roland TB-303, Roland SH-101, and the incredible DSI OB-6. They're all amazing sound. Especially compared to my digital synths (Nord Lead A1, Roland Super JV 1080). I've stopped using plugins completely now.
>I notice a marked increase in energy levels of people on a dancefloor when I play tracks that I know are made with analogue synths and drum machines.
I'm sorry, but I cannot just let you get away with that. There are so, so many other factors that would "energise" people on a dance-floor than simply whether the source of one or two elements in the track playing are voltage or digital based.
While analogue stuff does sound better (in my opinion), this, along with the inherent confirmation bias of such an observation, is utter make-believe.
> I'm sorry, but I cannot just let you get away with that. There are so, so many other factors that would "energise" people on a dance-floor than simply whether the source of one or two elements in the track playing are voltage or digital based.
I've been DJing in nightclubs for 20 years. Please take my word for it that I know what I'm talking about here. This isn't a one-off.
Well I'm also musician and DJ with about 20 years producing, and 15 years experience performing. I think if you were playing super-minimal, atonal techno or house then for sure - but for genres involving more elements and instrumentation, I just don't see it.
Nice track (Gol). I agree, in a stripped down setting the characteristics are more exposed, and digital synths can get boring quick.
DCO - I like them too, I just have enough of them already (MKS-70, MKS-50, JX-3P, Cheetah MS6). Might pick up the new Behringer 12 poly DCO if it's good, but that'll be enough DCO for me. Still plenty of room for VCO synths though, I've got 6-7 VCO mono synths but they are all small or racked and sound very different :)
I'm not really a brand snob - whatever sounds good. They got a bad name for ripping off circuit designs, but there is some Behringer gear that does the job. The deepmind 12 is designed by ex-Midas/Klark Teknik engineers (Behringer bought them) and Uli has been wanting to release an analog synth for ages - I think it'll be alright, will reserve judgement.
It'll probably sound too clean and will end up buying vintage VCO synths instead though :)
Sounds more interesting for sure (I have a Midas Venice F32, and a lot of respect for the Midas engineers). My comment was mostly about Behringer's poor build quality (reputation).
Maybe just get a Jupiter 8, it'll save the hassle ;)
It's a new venue in Dalston called Club Makossa for the Dr Blacks night; near Dalston Superstore and the now defunct Dance Tunnel.
> will have to try and catch you play sometime if you play that sort of thing
I play a range of stuff, but yeah that's fairly typical for when I play out. I don't know when I'll be playing in London again, but will probs be back playing for Dr Blacks again in february.
I have some stuff on my Soundcloud page that might be of interest:
On a more techno level, check out me and my friend DJing back-to-back for 4 hours as 'Waterwalk' in Berlin. There's a number of Donnato Dozzy tracks on there, and Peter Van Hoesen - who I consider to be quite similar as a producer (if a bit tougher): https://soundcloud.com/water-walk/waterwalk-live-from-staub-...
Won't let me reply to you directly, but cool! I shall keep an eye out as I live round that neck of the woods - hadn't even heard of that venue. I'll give your mixes a listen tomorrow, cheers – recognised your name from the 4Four site I used to go on occasionally :)
Heh, yeah I still run 4four - although you'll be lucky to log into it now, it was killed by the march of various sites (Facebook, Soundcloud, RA), to the point that it went from 10,000 unique visitors per day to 100s. I'd like to resurrect it at some point, but it'd need a better value-proposition.
Where can I find information on simulating circuits -- the underlying algorithms and models? Does it take in account factors like temperature (I hope so)?
This isn't analogue modelling though -- you're just using KVL/KCL to derive the transfer function H(w) and applying the same transfer function as a digital filter.
It's literally the first thing I would do if I wanted to come up with something that sounded the least bit like the real thing.
I was using my own FIR derivation of a third-order low-pass Butterworth filter to do software synthesis in 2008 while I was in high school. This is truly basic stuff.
Real analogue modelling has things like noise, hysteresis, and a dependence on such broad factors as temperature and even EM fields.
Roland's reissues are pretty dull and lifeless compared to the real thing. The x0xb0x and possibly the TT-303 are the only two 303 clones I've heard that get close, probably due to the fact they're close copies of the original's analog circuitry. But even they don't quite get there. That's why the 303 still commands such a high price, even after Roland's ACB reissues.
DCO synths don't have tuning problems, modern VCO synths (like the OB-6) have built-in tuning circuits. Even on the older gear that needs manual tuning (like my SH-101), it doesn't take too long to tune. If a synth is drifting wildly, then it's more likely to be a fault/time for reconditioning.
In terms of signal-to-noise, well yeah they're all noisy, but not terribly if you do your gain staging properly, and gate anything that's excessively noisy.
Actually the noise is part of the character of the imperfection. Look at emulations of classic gear, and they're all digitally putting the noise back in.
I did do a lot of back and forth testing with Rebirth, and the VST plugin: ABL3 whilst developing this and specifically whilst setting the max values for the cutoff, resonance and env.mod. - The tricky thing is that they all have an affect on each other, the max resonance is lower when the cutoff is lower for example.
Regarding the rotary controls: These work by measuring the distance in pixels from the point you first clicked to the point the mouse have moved to. I only managed to test this on a 3 different computers so I think if you have a really high resolution, the knobs will move too fast. I'll change this at some point to be percentage based instead of pixel based.
I added the right-click to delete as that is how FL-Studio works, which is my favorite daw. Its handy to keep the left click as you can use it to select a note in the drum editor and then set velocity.
Please fix the rotary controls. Use the atan2 of the mouse's current window position minus the position of the dial's center to calculate the "current angle"/offset of the dial. I'm just waking up, so there might be slightly more to it than that, but not much.
It's impossible to please everyone with rotary controls. If I read you correctly, you're asking for them to be controlled by actual rotary movement of the mouse. Many people dislike that (and I'm one of them) because it's hard to make circular motions smoothly. Meanwhile, the rest of the people dislike linearly-mapped rotary controls because the motion doesn't match the visual form of the control.
I would have suggested making them respond linearly, but to both x and y motion. That is, the effective position change is the maximum of the mouse x and y axis displacements from the click position.
My view is that rotary motion is not useful in an on-screen GUI (unless you have a MS Surface Dial perhaps?); rotary-looking controls only exist to save space and provide a friendly appearance. The way they actually behave should be whatever is most efficient to drive, regardless of their shape.
You've misread me--I'm suggesting to use the angle formed between vertical and the mouse's current position, and then wherever it moves, to add to the current position of the rotary knob.
This doesn't mean that you end up with having to carefully dial the knob, but it does let you click and drag the mouse in such a way that the rotary dial at least rotates in the direction you'd expect. The current behavior sometimes turns CW, sometimes CCW, seemingly at random--if we decide to skeuomorph, we might as well skeumorph correctly.
You could achieve both your core requirements from the final two paragraphs by having, effectively, a slider control underneath the rotary dial. The slider is the actual control — behaving as you describe in para 2 — and the rotary dial is merely for pleasing visual feedback. The GUI would have to emphasise the roles of those two separate parts somehow.
The resonance appears to decrease with cutoff frequency because of high pass filtering in the feedback loop of the 303 filter... Higher frequencies have more feedback and thus more resonance.
The envmod knob also affects both the max and min cutoff values from the main envelope generator.. that part is tricky - the envmod and cutoff knobs are exponentially tapered, but the filter control circuit also contains an exponentiator so the sweep is sort of doubly exponential but its hard to tell the difference.
The rotary controls aren't working like that at all for me; that's actually how I expected them to work, once I learnt that they weren't rotary (my initial expectation). For me, they are moving solely in terms of vertical mouse movement; up goes clockwise; down, anti.
Actually, now I've used them for a bit, I find them fine to use. The initial learning curve is steep, but maybe it's worth it. What I'd ask for next is keyboard compatibility :)
I meant that it checks the point you clicked on the Y-axis only, then checks where on the Y-axis the mouse has moved to. I did it this way as it is how almost all music programs and vst etc do it.
audiotool is made with Flash. And a good demonstration of the actual usefulness of Flash to develop complex applications that could be deployed online. Too bad Adobe was incapable of taking good care of that product and didn't listen the community. I'm sure WebAudio can get better, but the OP's demo still proves that it's brittle. Changing anything in the patterns stops all sounds and the sequencer has hard time keeping a consistent tempo. I'm sure it will get better but Flash was really in advance for its time as audiotool demonstrated. Well, at least now people have stopped complaining about Flash "killing their battery". They can now blame Javascript /s
I've found that a steady method for timing is by calculating the number of samples to render per "tick" and decrement the counter after each completed sample when rendering audio to the buffer in JavaScriptNode/ScriptProcessor. Eg.
Upon the counter reaching zero, the render loop actually jumps to do sequencing and effects/modulation and then resets to counter.
In my case, the tick occurs at 50Hz because that's the PAL frame clock used in Amiga and MS-DOS module trackers like Scream Tracker and FastTracker 2. Typically trackers use a "speed" setting to additionally specify the number of ticks per pattern step - usually 6.
Although you do get sample-accurate timing, you also get latency up to the size of a single audio buffer (I use 4096 samples). While this isn't really an issue when doing purely playback, it obviously is when the audio is controlled real-time (eg. MIDI).
>it's almost like the sounds need controls that 'go to 11' to get to where you'd want them to be?
People modded the real hardware to do just that (eg. Real World Interfaces' Devil Fish mod: http://www.firstpr.com.au/rwi/dfish/ ). I'm not enough of a 303 connoisseur either to say if this softsynth is realistic or not, but maybe you're remembering the sound of modded hardware.
No, I'm pretty sure I'm thinking of RB-338, and definitely not a modded one; I had access to a 303 back in the day for a few weeks and it could have been that, but it was definitely standard. My friend I mentioned before has a number of 303s, both standard and modded, and showed me some of the extreme settings he gets on them (everything he makes is properly extreme!), but I don't know 100% that RB-338 wasn't more extreme than standard.
TB-303 was one of the synths I always drooled over as a kid, though I do think that it's legend is perhaps bigger than the synth itself was.
Going back to this Show HN: this is an awesome project. Sounds good (albeit I too can't comment on accuracy) and performs well too (ie it doesn't appear to grind my browser to a halt like many technical demos do). The UX could use a little work but frankly few DAWs have good UX in my opinion so this is at least as good as the professional products in that department.
I'm kinda the same with the 303; I have enjoyed playing with them, but never got what some others can do out of them, but I think a lot is the music you're into - I was far more into prog stuff so never really got on that well with pattern-based sequencers.
I like the simplicity of it and the ease of producing a WAV from a session, and the UI seems to be simple and straightforward to use. I'll test it out on some students this week, see what they come up with.
I have a couple of minor criticisms - I don't think the ballistics of the rotary controls is right, but I can't quite put my finger on -why-, just seems a bit too sensitive or there's something about the linearity of it? Would it be possible to add the Cubase-style "shift reduces the sensitivity while dragging" to them?
The other thing was editing the grid - I'd prefer left click to toggle an event on and off rather than right-click to clear; while this is personal preference, it's one that I've got used to using Cubase for 20 years or so in the drum editor, so it's a little counter-intuitive to have to do it another way, and I think many other editors are similar?
Finally, any chance of an undo in the editor?
But overall, love it. An amazing demonstration of what's possible in a browser, and of your skills!