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.