To view this content, you need to install Java from java.com

Source code: echolalia

Built with: Processing

What's going on here (more or less):
Each node in the network represents a syllable in the song of a particular zebra finch. The current syllable glows orange and the red edges connect it to possible next syllables. Edge widths are drawn proportional to the probability of jumping to a given syllable. Since the likelihood of switching from a given syllable to any other are known, the bird's song can be simulated by stochastically choosing a path through the syllables based on these probabilities. As the song progresses a colored square is drawn in the bottom portion of the display. Colors are mapped to syllables arbitrarily in order to show the patterns of syllable progression that occur.

Poor substitute for instructions:
To rearrange the nodes and minimize the number of edge crossings, click and drag on the letter-coded dots. The right and left arrow keys will switch between the different birds for whom statistics were generated. Pressing the space bar will toggle stochastic singing based on the recorded syllable transition probabilities. Alternatively you can hit C to step one syllable at a time.