Some idea to add procedural noise functions such as Simplex/Perlin noise to generate 1D or 2D arrays that can be used for algorithmic composition. For example include this library: https://www.npmjs.com/package/simplex-noise