I’ve finally started working on a new version of my Melody Generator for Android. I’m pretty much rewriting all of the code for it, attempting to make the algorithm work more efficiently. Currently, parts of the program work by generating random sets of data and then looking through the data to see what’s usable. It works, but it can be pretty wasteful. (A bit Monte Carlo-ish — which is easier to program for melody generation, but not really needed.) I’m trying to redesign those parts so that they’ll just go “bing, bang, boom, done!” straight through, wasting no time generating and analyzing random piles of possibly unusable data. The new algorithms should also make it easier to add new features to the generator in the future.
Also, the resulting melodies should, according to my theory of melody, sound better, but I haven’t re-programmed enough of it to test it yet. (My theories work well enough for me as a human, but I think the ultimate test of completeness for a musical theory is getting a computer program to do it so all your human-based biases are sure to be out of the way.) If interested, let me know what new features you’d like to see… here are the features I’d like to add for Melody Generator 2.0 (in no particular order):
1. Any key possible, major or minor
2. 2-bar, 4-bar, 8-bar, 16-bar melodies possible (maybe more)
3. Triplets possible (16th note, 8th note, quarter note, half note)
4. Chromaticism possible
5. Pentatonic scale only possible
6. Note amount preference (do you want more notes or less notes?)
7. Syncopation preference (more or less syncopation?)
8. Fix interface problems (e.g. text buttons too small, etc.)
9. A few more bass note accompaniment options (e.g. play arpeggios?)
Heh… that’s a lot of work to do. It will take some time. Anyway, for now, I’m still on step one: rewrite the algorithms. Stay tuned…