Ideas:
- Genetic algorithm that just selects random lines form songs and I tell it if it does a good job, i.e. just tweak weights that rate the overall quality of the song.
- Align sentences: X% (e.g. 10) of words from line x need to match line Y, with Y% (e.g. 80) alignment accuracy.
- Assign 'seeds'. These words will guide the overall 'feel' of the song - love, dark, anger, USA or teenage, school etc. Then, 'expand' this set of words using synonyms and/or a list of words that are found to group regularly with these words based on analysis of thousands of random internet pages.
- We could do things using a sort of 'domino' strategy, e.g. start with 'apple' and only sample from songs with that word in it (sorting with best matches)...might be interesting. We could also extent this to a starting set, e.g. car, man, USA and sample from best matched songs. The idea here would be that these sets will now have things in common and that this ascertainment will be more likely to product meaningful songs.
Just thinking, this might be a good strategy for just writing songs in general! The mixing bit is useful only if we want to keep sentences intact, for sentimental reasons (i.e. the audience will feel a connection with this).
Starting point
- get a good dataset, e.g. download a bunch of songs form songlyrics.com or something.
- code something quick up in perl. This this should be fairly handy.
We'll revisit this again...when I have something besides a stream of consciousness...!