This is a little tool that I'm developing for musical purposes.

It could be used to make infinite and adaptative music for games, mainly for open world games in my mind.

But, for now, it's only a prototype for proceduraly generate melodies.

I have used perlin noise for seed-based generation, for what you can modify atributes like octaves, persistance, lacunarity, and so on. Have fun! :)

Tips that I found nice:

1 - It's cool to combine two melodies with same atributes, but different seeds.

2 - For low sizes or octaves, it sounds more cool for me at lower bpm.

Little explanations:

BPM: Beats per minute or, basically, the velocity of the music.

Dimensions: here it doesn't have a clear meaning, but it affects how perlin noise generates the melody. It's associated with the dimensions of the noise and may affect melody's smoothness.

Size: The length of the music (press + to update notes' keyboard)

Seed: it's the key to feed and save the status of the procedural generation

Octave: the number of interactions until the final result. It have greater effects combined with the properties bellow.

Lacunarity: it's a kind of frequency multiple factor for each new octave. For higher values, less smooth will be the final result (with a more detailed shape).

Persistance: it's a number between 0 and 1 associated with the maintence of the fundamental amplitude in each octave, that will naturally reduces (for less-than-1 values)

Leave a comment

Log in with to leave a comment.