Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Randomly generated metal riffs using Web Audio API and React (djen.co)
275 points by frogboy on July 1, 2016 | hide | past | favorite | 42 comments

Along these lines, someone posted a neat Web Audio driven chord progression arpeggiator yesterday: http://codepen.io/jakealbaugh/full/qNrZyw/

Comments: https://www.reddit.com/r/web_design/comments/4qmgxo/musical_...

Excellent work ! I saw many random music generators, and this might be the best. I showed it to a coworker playing in a metal band, he's stunned ! It sounds really good.

Amazing job :) I'd love to see it with deephouse or techno sounds. It's so tempting to fork the repo.

Here's my madness: http://djen.co/#share/opYJd9

I would be down to work on deep house and techno fork with you !

While not quite what you're looking for, "Acid Defender" is a WebAudio game that generates random acid house sequences as part of the game play:


That is amazingly addictive!

Dude, that is awesome! So much fun :)

I checked the code, it's probably as simple as rewriting the `src\scripts\app\utils\default-instruments.js` file and replace the samples. Presets won't work because they rely on the ID string.

I have like 100GB of samples, it might take a while :)

The key here is to pick chords and pads from the same scale.

I'm bit busy now, but on the weekend I might give it a shot. If I make any progress, you will find it here: https://github.com/tiborsaas/djent

I'm impressed. Congrats! I would love to be able to generate a 3 minutes long tune with this

On Android's Chrome the URL shown under "Share this URL:" weirdly glitches the selection sliders.

Love the beginning of http://djen.co/#share/OkR9gw TUMMM TUMDUM

EDIT : You should add a "Download" option because man do I want that as a ringtone

Can you make the settings link more prominent. I left the page before even noticing it. Came back because of the comments.

How does that look now?

Better, but in my opinion it should be styled as a button not just text.

It doesn't feel like a part of the tool since it appears outside of the initial box.

I understand you put it outside of the box because it loads more boxes below the entire tool, and now that I know about it it makes "sense." But my initial impression is to ignore anything outside of that box.

I think your best bet for brand spanking new users is to place it as a button inside the box in between the "generate rift" and "play" button to make it stand out.

You're literally hiding 80% of this tool from initial users. I clicked "generate" a few times then bounced at first.

Agree with this, Almost said frogboy today, just ditch the toggle, or have it on by default.

Messing around in the settings feels like telling a talented child what to play - it can technically play anything but isn't sure what to go for! http://djen.co/#share/gN3Ao9

This is an amazing piece of work! Would love to know a bit more about the implementation.

And I really wasn't expecting the settings to be such a goldmine.

Hehe!! I love this. Did you record the samples or did you get them from somewhere? The overall all audio and production quality is actually top-notch, with the exception of clipping the samples on rapid cuts. Great work!

This is crazy, man ! Fantastic work !

I generate a riff and continue working, then I go and generate another one ...

Future of music right here.

Really interesting project. Can you give a brief description of the algorithm?

Also, would it be possible to export MIDI, or some other format where you could drop in your own samples?

It seems to be based around the classic Meshuggah formula.

Basically, pick an unusual time signature and play the guitars and kick drum in that time signature. The kick drum should always be played at the same time as the guitar note. Then play hats/cymbals/snare at 4/4 over that. Other than that, I think it just randomly selects one of the samples you checked-off at a randomly chosen duration.

It's astonishing how good this sounds. It's even more impressive considering how simple it appears to be. I've tried writing music generating algorithms before, and they all sounded terrible. I suppose the genre helps, as djent is expected to make rapid and somewhat jarring changes, so it fits right in.

Now we need to plug Compressorhead to this.


Wicked fun and glad to get a chance to test it out. Excellent results with tweaking parameters, at least to my ears. Functional and appealing, well for those into this sort of heavy chug style (djent), which I get a kick out of most of the time. Spiffy!

I love it! The instrument selection is good. It generates some brutal riffs with catchy rhythms. As a guitarist, I think this tool is great for finding inspiration and maybe breaking out of a creativity rut.

The "safari bug" error message appears for me even though I'm using Google Chrome, not Safari, on my ipad. Is that intentional?

Chrome on iOS isn't a from-scratch browser. It's a basic WebView with some Chrome related data syncing. That means Chrome on iOS has more in common with mobile Safari than it does with desktop Chrome.

Any bugs you encounter in mobile Safari are probably present in iOS Chrome as well.

I'm a electric guitar player myself, and that's amazing.

The source code is MIT (https://github.com/RossMcMillan92/djent) but I wonder if the same applies to the audio samples.

Very well done. The music was addictively responsive to even the smallest settings change.

I have absolute no idea what I'm doing, but damn I feel like a rock star! Kudos!

Amazing. Add basic beat and transitions and i could listen to it all day

awesome stuff, i love it, also i forked it but cant share the url. google api changed but nothing happens when i hit share riff. where are the files saved? keep up the awesome work!

Can we get some european power metal style generators in place? :P

Unlimited random-generated Children Of Bodom-like solos :O I would sell my body for this.

Tried three times and like one. Pretty good. Sounds like Helmet

This is so good. Why did u get djen.co instead of djent.co?

Sounds great. Now somebody needs to train a deep learning network to recognise the good riffs and it's done, heavy metal is cracked.

Nice! I read a little bit about the Web Audio API but haven't gotten a chance to try anything with it yet, this sounds awesome.

Ha, I love this. Love the name too, great job

Awesome tool, and great URL to boot :)

This is insanely rad. Great job.

Oh how I love this.

The first web app that blows my knees out!

Excellent work!

This is hilariously good. Great work


Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact