Category Archives: Seeded Tunes

Rock Family Tree Auto-generation

I’ve been fascinated by Pete Frame’s Rock Family Trees for a long time. I created a tree in that style for my friends and associates over on the Coiled Spring site, seen below.
Flange Circus Family Tree
I describe the process for manually creating the diagram over on that site, so check it out if you’re curious. I had other ideas after that, so read on.

I’ve been playing around with the tools I used to create this diagram. Graphviz especially. It’s a very powerful tool for automatically laying out diagrams. You provide it with a text input file defining the nodes (boxes) and how they are connected with edges (lines or arrows). The file doesn’t include any positioning information; Graphviz arranges the diagram itself, aligning nodes, routing edges, and making a nice neat diagram. There are various options for influencing how the diagram is arranged, but overall it is automatic, and very smart.

You can write the input file by hand, but for complex diagrams with many nodes and edges, it makes more sense to generate it using another tool. There are many examples with tens or even hundreds of nodes, generated by software analysing computer networks, chemical reactions, mathematics, and so on. You can see some crazy examples in the gallery here.

This lead me to think about the possibility of writing a program to generate a Rock Family Tree from data held in files or a database – and that coincided with an idea that had been rattling around in my head for a while. Why stop at the family tree? Why not generate the actual music and artists as well?

And thus Seeded Tunes was born.