I’ve seen a few word cloud visualizations of song lyrics. Since I’d been playing around with graphs, I thought it would be interesting to combine a word cloud with a graph to represent both the frequency of and relationships between words in lyrics. As with a word cloud, word size shows how often a particular word was used; arrows indicate which words follow which other words.
I wrote a Python script to convert a text file of lyrics (or any other text) into a GraphML graph. I then used yEd Graph Editor to layout the graph (for most songs, Tree → Balloon layout works well) and export it as an image.