errozero

Joined 12 years ago

Karma
925
Submissions
133
Member since
Dec 13
contact me: info at {my username} .co.uk
View on Hacker News

Recent submissions

Comment · 1 year ago
Hey, the scales are just an array of numbers like this

    ['Darkness', [0, 1, 3]],
    ['Darkness2', [0, 1]],
    ['Single', [3]],
    ['Locrian', [0, 1, 3, 5, 6, 8, 10]],
    ['Aeolian', [0, 2, 3, 5, 7, 8, 10]],
    ['Mixolydian', [0, 2, 4, 5, 7, 9, 10]],
    ...
A scale is randomly selected at the start and then notes are randomly selected from that scale in the pattern generation, plus the root note number is added to each one.

So if you had the 'Darkness' scale selected and had the root dropdown set to 0, the notes in this scale would be C, C#, D# which is 0, 1, 3 if you count the keys on a keyboard. If you changed the root to 2, then it would become D, D#, F (2, 3, 5).

Hope that makes sense.

Comment · 1 year ago
Update: The wav export feature now renders with all parameter changes, and I've fixed a bug that excluded the drone from the export.
Comment · 1 year ago
Update: wav export now added
Comment · 1 year ago
Comment · 1 year 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.

Comment · 1 year ago
Ah, I was wondering how it ended up posted here. Thanks!
Comment · 1 year 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.

Comment · 1 year 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.

Comment · 1 year ago
I wish I could attend! I'm in the UK.
Comment · 1 year 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.
Comment · 1 year ago
Hey, sure! I forgot it was limited to 130, it's been a few years! I've just updated it.
Comment · 1 year ago
Comment · 1 year 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

Comment · 1 year ago
Comment · 2 years ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton