how it works
Connectome harmonics turns real wiring diagrams of brains into something you can see and hear. This page is the long version of the ledger under the instrument: which brains, where each one came from, what the models do with their numbers, how a wave becomes a note, and exactly where measurement stops and musical choice begins.
What is real, what is sampled, what is invented
Three words carry the whole contract.
Real. The neurons, their positions and the connections between them come from published connectomes and are drawn in their real proportions (the few placements that are not measured are named below). Each connection's sign is its presynaptic neuron's transmitter as the dataset predicts it, and the 24 harmonics of each brain are computed from the wiring you are playing. The names a tap gives you — KCg-m (Kenyon cell), acetylcholine, in the mushroom body calyx — are the datasets' own annotations, cell for cell (the worms and the larva are not named in the app yet). When you press Smell ripe fruit, the neurons that light are the olfactory receptor neurons the dataset labels as such.
Sampled. The default fly brains are subsets: 36,642 of the female's ~139,000 neurons and 36,724 of the male's ~146,000 brain neurons, chosen by identity (every olfactory, auditory and pheromone receptor; the taste neurons, which are the sugar- and water-sensing cells in the female and all but the bitter ones in the male; a slice of the visual receptors; the cells each dataset marks by sex; and a stratified rest), with the strongest real connections among them. The full brain tier drops the sampling: every positioned neuron and every published connection, on WebGPU. The mouse is a sample too; the worms, the larva and the human are complete graphs.
Invented. The firing rule, the inhibition and the weight it is given, the half weight given to the modulatory transmitters, the refractory time, the conduction delays and synaptic fatigue given to the small brains, and every mapping from wiring to pitch, rhythm, timbre and color are musical choices. The wave is a way to hear a wiring diagram, not a physiological simulation. The one exception is the spiking model toggle on the whole brain, which runs a published model's arithmetic on the same wiring (built for the female brain; here it also runs on the male's). And the brains do not vibrate: the harmonics are properties of the graph, played as sound because that is the most direct way to compare two wirings by ear.
A rule of thumb for reading anything on the site: if it names a neuron, a region, a transmitter or a count, it was measured by someone else and is cited below. If it is a sound, a color or a rhythm, it was chosen here.
The brains
Every tier is a pair on one beat. The flies are the instrument's home; the worm tier pairs the two worm sexes, and the larva, human and mouse tiers each put their brain beside the female fly sample for scale.
| tier | what | neurons | connections | source and license |
|---|---|---|---|---|
| sample (default) | ♀ female fly, whole brain, sampled by identity | 36,642 | 322,201 | FlyWire FAFB v783 — Dorkenwald et al., Nature 634 (2024). CC BY-NC 4.0 |
| ♂ male fly, brain (nerve cord excluded), sampled by identity | 36,724 | 322,418 | MaleCNS v1.0 — Berg et al., Cell (2026); HHMI Janelia FlyEM, Cambridge, MRC LMB, Google Research. CC BY 4.0 | |
| full brain | ♀ every positioned neuron, every published connection | 136,984 | 3,729,717 | FlyWire FAFB v783. Needs WebGPU; about 28 MB for the pair |
| ♂ every positioned neuron, every published connection | 143,768 | 5,190,757 | MaleCNS v1.0 | |
| 🪱 worms | C. elegans hermaphrodite, whole nervous system | 300 | 5,095 | Cook, Jarrell, Brittin et al., Nature 571 (2019), Supplementary Information 5; positions from OpenWorm CElegansNeuroML (no license stated; its README says the 3D model behind them was released into the public domain) |
| C. elegans male, whole nervous system (the unconnected male pharynx left out) | 360 | 5,469 | Cook et al. 2019; 89 male-only neurons placed by anatomy | |
| 🐛 larva | first-instar Drosophila larva, whole brain with its sensory and ascending inputs, beside the adult sample | 2,952 | 110,140 | Winding, Pedigo et al., Science 379 (2023), Data S1/S2 (351,828 synapses); positions from the L1EM CATMAID at Virtual Fly Brain. CC BY 4.0 (the positions under the paper's data terms) |
| 🧠 human | group-average structural connectome, 400 cortical parcels + 14 subcortical regions, beside the fly | 414 | 12,274 | ENIGMA Toolbox normative connectome (Larivière et al. 2021) on Schaefer-400 (Schaefer et al. 2018); Human Connectome Project, 207 adults. BSD-3 / MIT; HCP open-access terms |
| 🐭 mouse | visual cortex (V1 + RL, AL, LM), sampled by identity from the MICrONS cubic millimeter, beside the fly | 29,727 | 322,698 | MICrONS minnie65 public release, materialization v1507 — The MICrONS Consortium, Nature 640 (2025); cell classes Elabbady et al. (2025). CC BY 4.0 |
The flies
Positions. For the female, each neuron sits at its annotation point on the arbor (the soma when that is missing), converted from FlyWire's 4×4×40 nm voxels to nanometers. For the male, positions are the somas from neuPrint's male-cns:v1.0; every neuron without a soma inside the brain (the receptors, the ascending neurons and others neuPrint gives no soma for, about one cell in seven of the whole brain) sits at the synapse-weighted centroid of its in-brain partners. The conventions differ: the female's cells sit on their arbors and fill the neuropils, the male's mostly on the rind where the somas are, so the same spot in the two brains is not the same kind of place. Coordinates are quantized to 16 bits with one scale for all three axes, so the brain keeps its real proportions (about 2:1 wide to tall). The male's x axis is flipped to match the female's left and right.
Connections. The published neuron-to-neuron connections of five or more synapses (FlyWire Codex for both datasets), restricted to the sample. Each connection's weight is the log of its synapse count, saturating at 50; its sign is the presynaptic neuron's predicted transmitter (Eckstein et al.'s classifier for FlyWire, MaleCNS's own predictions for the male): GABA and glutamate count as inhibitory and acetylcholine as excitatory; dopamine, serotonin and octopamine, which have no fast sign, count as excitatory at half weight, and histamine, predicted only in the male data, as excitatory although at the photoreceptor synapse it inhibits. These are choices, not measurements, and the predictions are not perfect: the male data predicts nearly all its Kenyon cells as dopaminergic, which they are not (they are cholinergic), so in the male their outputs run at half weight and a tap on one reads "dopamine". The sample keeps the strongest 320,000 connections, the engine's budget, plus each neuron's own strongest one so that the cut isolates no one, and then only its largest connected component: 322,201 connections in the female, 322,418 in the male. The whole-brain tier keeps every connection of its largest component.
The sample. The 36K subset is drawn by identity from the annotation tables: all olfactory, auditory and pheromone receptor neurons; the gustatory neurons (the female's sugar- and water-sensing cells, the male's all but the bitter ones); a slice of 2,500 photoreceptors, of which 983 (♀) and 803 (♂) survive the connected-component cut; the neurons each dataset marks by sex — the female's annotation table marks 98 female-specific, 519 dimorphic and 3,301 fruitless/doublesex neurons in the sample, while the MaleCNS tables used here have no sex-specific or dimorphic field, so the male sample takes the 190 neurons whose labels name fruitless or doublesex; and a stratified remainder weighted toward the central brain. It is seeded, so it can be rebuilt exactly.
Labels. Cell type, cell class, home neuropil, transmitter and super class come from the datasets' annotation tables (FlyWire's community annotations and cell types; MaleCNS's super/class/sub-class labels), attached cell for cell. That is what a tap reads out, what the voice chips summarize, and what the cell-type search ignites.
The worms
Both sexes come from Cook et al.'s 2019 whole-animal wiring diagrams: every neuron-to-neuron chemical synapse (log-scaled counts) plus gap junctions at half weight in both directions. The GABAergic classes (DD, VD, RME, AVL, DVB, RIS) are inhibitory. Positions are OpenWorm's soma coordinates, for the hermaphrodite's 300 neurons and the 271 the male shares with her; the 89 male-only neurons (rays, spicule, CEM, MCM, CA/CP…) have no published coordinates and are placed by anatomy — head, ventral cord or tail — which is invented and said so. The stimuli name the real sensory neurons: AWA/AWB/AWC for smell, ASJ/ASK/ASH for light, ASE/ASG/ASI/ADF for salt, ALM/AVM/PLM/PVM/PVD/FLP for touch, ADL (and the male's CEM) for pheromone. Pitch runs along the body, head high.
The larva
Winding et al.'s 2023 reconstruction is the first complete insect brain: all 2,952 neurons of a first-instar larva's brain and subesophageal zone with their sensory and ascending inputs. The four synapse types (axo-dendritic, axo-axonic, dendro-dendritic, dendro-axonic) are summed per pair and log-scaled, saturating at 20 synapses. Signs come from the transmitter annotations in the reconstruction's CATMAID project (78 GABA or glutamate neurons). Positions are the skeletons' root coordinates from the L1EM CATMAID (somas; nerve-entry points for sensory axons); the 74 neurons rooted in the nerve cord sit at their brain partners' synapse-weighted centroid. It plays beside the adult sample: one species, two ages, the same five stimuli driving each one's own sensory neurons.
The human
The human tier is regions, not neurons, and tractography, not synapses: a group average over 207 healthy adults of the Human Connectome Project, from the ENIGMA Toolbox's normative structural connectome on the Schaefer-400 parcellation plus 14 subcortical regions, placed at their MNI centroids. Weights are the log of SIFT2-weighted streamline counts, saturating at the 95th percentile, symmetric and unsigned — everything excitatory. This is the kind of graph on which connectome harmonics were first computed (Atasoy, Donnelly and Pearson, 2016), which is why it is here. The stimuli drive parcels by Yeo network: limbic cortex for smell, visual cortex for sight, the insula for taste, somatomotor cortex for touch, the auditory parcels for hearing.
The mouse
The mouse tier is the band's only mammal mapped cell by cell: a sample of the MICrONS cubic millimeter of mouse visual cortex, taken from the project's public static archive (materialization v1507, no account needed). Eligible cells are the 73,925 excitatory or inhibitory neurons on a segment containing exactly one nucleus; the 30,000 sampled are every proofread cell first (about 2,100, most of them with cleaned axons), then each cell class in its natural proportion; the largest connected component keeps 29,727. Connections are the pair synapse counts from the automated synapse table, log-scaled and saturating at 20, signed negative when the presynaptic cell is an interneuron; the strongest 320,000 pairs are kept within each sign, plus each neuron's own strongest pair, so the pair table's proportion of inhibitory edges survives the cut, and ties at the cut are broken at random (in the table's order they follow the nucleus id, which follows position). The shipped 322,698 connections are the strongest of the sample's 1.88 million and carry 1.16 of its 2.95 million synapses. Positions are nucleus centroids with the pia up, V1 on the left and the higher areas RL, AL and LM on the right, the lateral surface toward you. Cell classes come from the MICrONS metamodel (layer 2/3, 4, 5 and 6 pyramidal cells; basket, bipolar, Martinotti and neurogliaform interneurons), so the stimuli drive the cortical layers: layer 4 is where the thalamus delivers what the eye saw.
Two caveats are stated on the instrument and belong here too. About half of the neuron-to-neuron pairs have an inhibitory source. That comes from the reconstruction, not the proofreading: interneuron axons stay local and the automated segmentation follows them far more completely than pyramidal axons (about 500 partners per unproofread interneuron against 70 per unproofread pyramidal cell), and dropping every proofread axon still leaves 49%; in a living cortex the share is nearer a fifth. And 31% of the sampled cells have no outputs in the sample (40% none that excite), so a tap picks the nearest cell with excitatory outputs, and a stimulus lights a random 0.3% of the mouse's neurons (about 90 cells of the layer it drives), because a volley that ignites a fifth of the cortex at once only flashes and dies. The cap is the mouse's own; its fly partner is driven in full.
Formats and sizes
Each brain is one gzip-compressed binary the page decompresses itself: 16-bit positions, 8-bit harmonic amplitudes, connection lists (a compressed-sparse-row form for the whole brains), plus small sidecars for the sensory and sex labels, the cell types, the dataset ids and the organ shell. The fly sample pair is about 4 MB; the whole brains 28 MB; the worms 42 KB; the larva 262 KB; the human 37 KB; the mouse 2 MB. The exact layout is in docs/data-format.md in the repository, and every brain's provenance is recorded field by field in data/manifest.json.
The wave
The default dynamics are a deliberately simple integrate-and-fire wave over the real synapses. It is tuned to travel and to be audible, not to reproduce membrane physics.
- Every neuron holds an activity between 0 and 1. Each step, every neuron with activity above 0.15 pushes activity × weight × drive to each of its targets along the real connections; inhibitory connections push a negative amount, 0.45 of what an excitatory connection of the same weight would.
- A neuron fires when its summed input exceeds its threshold — and then only with probability 0.24 per step, which keeps the front ragged instead of a perfect shell. Thresholds are drawn once per song between 0.30 and 0.60 from the song's seed, so a song number brings back the same thresholds (the waves themselves also draw on those dice as they run, so no two plays are identical).
- Firing sets activity to 1 and starts a refractory period of 36 steps during which the neuron decays and cannot fire again. Everything else decays by a factor 0.86 per step, so a neuron that fired is below the 0.15 line thirteen steps later.
- Global inhibition rises when more neurons are active than a target (1,200 for a fly sample, scaled with the brain's size and with the number of live waves as alive0.8) and is added to every threshold; it eases back at 30% per step. This is what stops a wave from taking the whole brain.
- The drive — the gain on every connection — is normalized by mean degree: min(1.9, 8.8 / (connections per neuron)), so a whole brain with three to four times the connections per neuron does not run away. The small brains use 0.8 × 17 / (connections per neuron) (the larva 1.1×), and a dataset may pin its own gain: the mouse uses 1.9.
A tap seeds the nearest neuron with an excitatory output (within about 30 pixels of your finger), its direct targets and their targets — up to 3,000 neurons; in the worms, the larva and the human, where the delays do the spreading, about 4% of the brain — as one voice. A stimulus ignites every neuron of a receptor channel and their first targets as one voice. Ownership travels with the input: a neuron that fires belongs to the voice whose input to it was strongest, so two waves stay two colors where they meet. A voice is alive while it owns at least 10 active neurons (3 in the worms and the human); once it is 1.2 seconds old it ends as soon as it falls under that, and the note stops.
Cadence. The fly brains and the mouse step every third frame (twenty steps a second at 60 fps); the worms, the larva and the human step every frame. The engine runs at whatever frame rate the device gives, so a slow phone is a slower brain, not a broken one.
Conduction delays for the small graphs
A 300-neuron graph is two or three hops wide, so the plain wave lit the whole worm in ten steps and then everything was refractory. The worms, the larva and the human therefore run a second engine: every connection's input arrives round(distance / 0.15) steps after it was sent (the worm's body is 12 units, so head to tail is about 1.3 seconds), and synapses tire — a neuron's outgoing strength drops by 25% each time it fires and recovers at 1/900 per step (Tsodyks–Markram-style depression). That is what makes a tap slosh head-to-tail for six to ten seconds and then fade, and why a second tap right after is shorter. The human runs on the same engine, which is why its signals cross the brain in about a second here, tens of times slower than life.
The whole brain on the GPU
With WebGPU, the same rules run as compute shaders over 137K/144K neurons and 3.7/5.2 million connections: a propagate pass pushes inputs with fixed-point atomics (ownership by atomic max), an update pass applies refractory, decay and firing with a hash-based random number, and a workgroup reduction returns the statistics the composer needs — active count, new firings, each voice's centroid and spread, the stimulus metric and the 24 chord projections — one step late, asynchronously. Drawing uses instanced sprites, a line list of the 200,000 strongest connections, the synapse threads, the ribbons and the shell, sized so that a four-times-denser brain carries the same light.
The spiking model
On the whole-brain tier, the spiking model toggle swaps the wave for the leaky integrate-and-fire model that Shiu et al. built on the FlyWire wiring (Nature, 2024), using the parameters of their published Brian2 code, integrated exactly over 1 ms steps (it also runs here on the male wiring, which their model never saw):
- rest and reset −52 mV, threshold −45 mV, membrane time constant 20 ms;
- an exponential synaptic conductance with a 5 ms time constant, incremented by 0.275 mV per synapse when a presynaptic neuron spikes (negative for GABA and glutamate); synapse counts are recovered from the shipped log-scaled weights, so counts above 50 are capped; a dopaminergic, serotonergic or octopaminergic neuron's weights ship at half strength for the wave, and the model doubles them back, so it counts the real synapses (it reads which neurons those are from the cell-type file, which loads with the page);
- a 2 ms refractory period (2.2 in the paper), during which the equations are frozen but incoming synaptic increments still land, as in Brian2's unless refractory;
- exact integration over 1 ms steps (v ← v₀ + (v − v₀)·0.951 + g·0.044, g ← g·0.819), sixteen of them per engine step, and a spike reaches its targets two milliseconds later (the paper's synaptic delay is 1.8 ms).
Nothing fires on its own. Holding a stimulus drives its receptor neurons as a Poisson process at 150 Hz (a 15% chance per neuron per millisecond) for as long as you hold, up to six seconds; a tap in this mode is a single volley. The readout then names the circuits the real synapses recruit — hold Taste sugar and the gnathal ganglia and the descending and motor neurons light, which is the paper's headline result. What runs here is that model's arithmetic on this wiring, not its full validation: Shiu et al. also fitted and checked their model against behavior, and this page makes no such claim.
The harmonics
"Connectome harmonics" is Atasoy, Donnelly and Pearson's 2016 name for the eigenvectors of a brain graph's Laplacian — the natural vibration modes of the wiring, in exactly the sense that a drumhead's overtones are the eigenmodes of its surface. They computed them on human structural connectomes; here the same math runs on every brain in the band.
The computation. Take the undirected graph with |weight| on each connection, its degree matrix D, and the normalized Laplacian L = I − D−½ W D−½. The 24 eigenvectors with the smallest non-trivial eigenvalues are the harmonics; the eigenvalues μ1…μ24 are their "frequencies". Each eigenvector is quantized to 8 bits after clipping at the 98th percentile of its amplitudes, and its sign is arbitrary. For the female sample μ runs from 0.0034 to 0.031 (the male's from 0.014 to 0.034); the eigenvectors of the whole brain are computed on the whole graph, not inherited from the sample. Each mode chip's tooltip says what that harmonic divides — a patch of the left eye from the rest, the outer part of the right eye from a patch in the central brain, or, for about a third of the modes, only "fine structure" — read off the eigenvector itself by a labeling script that looks at which anatomical thirds and lobes carry its positive and negative sides.
Aurora. At rest the brain drifts through its 24 modes, spending 5.5 seconds on each and cross-fading into the next; every neuron's color is its amplitude in the current mode, warm for positive and cool for negative. Nothing fires; you are looking at the wiring's own shapes.
Strike rings all 24 at once with weights 1/√k (k = 1…24), each decaying on its own time scale (6.5·√(μ₁/μk) seconds) and oscillating at a rate proportional to √μk, so the broad modes ring slow and long and the fine ones fast and briefly — a drumhead in a wiring diagram.
The chord bed. Every second beat the activity pattern of the busier brain is projected onto its 24 modes: for each mode, the coherence |Σ activity·q| / Σ activity·|q| times a penalty (1 − lobe)³ for modes that live mostly on one side. The best-scoring mode in each of three bands (modes 1–8, 9–16, 17–24: broad, medium, fine) becomes one of three soft sawtooth tones (through a 520 Hz lowpass) in the bed, mapped to a pitch by the mode's index in the current key (counting mode 1 as 0: index mod 7 is the scale degree, index div 7 the octave), starting an octave under the key's root (D2 in D Dorian). The three chips light up, and the same three modes are sent as a chord on MIDI channel 5. Strong beats of the melody snap to those chord tones, so the harmony you hear is the harmonic the activity most resembles.
The music
Every rule below is a choice. The point of the choices is that every note has a visible cause: a glowing ring marks each wave's center of mass, and its altitude is the pitch. The tune in the scrolling piano roll is just that ring's height over time.
| what you watch | what you hear |
|---|---|
| height of the wave's center of mass (the inner half of the brain's height) | pitch over four octaves, 28 scale degrees, in the current key (along the body for a worm; the depth of the cortex for the mouse) |
| left/right position, and its whole direction with headphones | stereo pan; with binaural on, a head-related transfer function places the voice where the wave is, relative to the camera |
| size of the wave (neurons it owns) | loudness (0.45 + log₁₀(1+n)/3.2) and note length (a wave of 2.5% of the brain holds a note about 2.4× longer than a dying one) |
| a tight wave (RMS radius under 16% of the brain's) | holds its note 1.6× longer |
| a wide wave (radius over 36%) | arpeggiates: a third above at ⅓ beat, a fourth below at ⅔ beat |
| a fast wave (centroid traveling over 12% of the brain per beat) | a passing note at the half beat, toward where it is going (delayed by the genre's swing) |
| the wave crossing into another region (left / middle / right) | a percussive tick, panned where it happened |
| the transmitter mix of the neurons the wave owns | timbre (see below) |
| the harmonic the activity most resembles, in three bands | the chord bed, and where strong beats land |
| a burst of new firings (more than 1.5× the running average and more than 50) | a kick on the next strong beat |
| two or more voices alive, or heavy activity | snare on beats 3 and 7 of the bar; hats whenever the brain is busy, open on the last beat |
Pitch, keys and range
A voice's degree is 14 + (height − ½)·56, clamped to 0–27, so the middle half of the brain spans the full four octaves and the extremes clip; degree 14 is the key's root an octave up (D4 in D Dorian). Each instrument then adds its own register in scale degrees — the pad, organ, strings and brass an octave down, the bell, flute, koto, marimba, kalimba and steel drum an octave up, the music box two, the synth bass two down — so a four-piece band spreads over roughly six octaves (MIDI 29–103). The key is set by what the brain is sensing: D Dorian at rest, smell ripe fruit F Lydian, see motion G Mixolydian, taste sugar C Ionian, hear courtship song D Dorian, smell a mate E Phrygian; every species opens in a key of its own. Ten more tonalities (A Aeolian, B♭ Lydian, E Dorian, G Ionian, C Mixolydian, F Ionian, A Dorian, E♭ Lydian, B Aeolian, D Mixolydian) are where the conductor may travel.
Three small rules keep the melody from repeating itself. A voice re-plans only when its degree changes, every fourth beat, or when it crosses a region, and even then half the time lets a repeat stand; a third identical note steps off — toward the middle of the range, sometimes by an octave. On strong beats (the first and fifth of each eight-beat bar) the degree snaps to the nearest chord tone within three degrees. And when two brains would sound a second, a seventh or a unison against each other, the second voice is moved a step (a third, for a unison; simple counterpoint), while remembering its natural degree so it does not retrigger every beat.
Timbre from chemistry
Every voice carries a running census of the neurons it owns, including their transmitters. The mix, relative to the brain's own baseline, shapes the sound: more acetylcholine than usual brightens (the filter opens up to 2.5×), GABA darkens and lengthens the release, glutamate adds resonance, dopamine adds a shimmer of vibrato, serotonin slows the attack up to six times, octopamine adds edge through a wave-shaper, histamine dims. A wave through the mushroom body's Kenyon cells therefore sounds brighter than one through the GABAergic ring neurons of the central complex, on the same instrument (in the male, whose data predicts his Kenyon cells as dopaminergic, they shimmer instead). This needs transmitter labels, so it happens in the flies and the mouse; the worms, the larva and the human sound neutral.
Instruments
Each of the four voices has an instrument: nineteen synths built in Web Audio (harp pluck, warm pad, vibraphone bell, saw lead, piano, electric piano, organ, strings, choir, flute, clarinet, brass, nylon guitar, koto, marimba, music box, kalimba, steel drum, synth bass — a Karplus–Strong string, additive partials, filtered saws and the like) or any of the 128 General MIDI programs, sampled from the FluidR3 soundfont, loaded from a public CDN on first pick (a megabyte or two each) and played through the same panners with a simple envelope of their own (the chemistry shapes the built-in synths only); until the samples arrive the closest built-in stands in. Voice 1 and 2 are the first brain's (gold and rose), 3 and 4 the second's (cyan and green); alone, a brain sings all four. Picks persist per species and ride in the link.
The conductor
Play endlessly is composed, not looped. The piece is cut into eight-bar sections (64 beats). At each section the conductor moves to a related key — one sharing at least five of seven pitch classes with the current one and never the same key twice running — and draws, from the song's seed, a spark pattern, a voice cap and a tempo lean of up to ±12%, with a 35% chance of opening on a bar of chord bed alone. The six patterns are duet (both brains sparked at the same middle height every sixteen beats), alternate (the brains take turns, high then low, every eight), rising (five steps up the brain, one every four beats), sparse (one spark every twenty-four beats, one voice), dense (every brain every six beats at random heights, four voices), and call (a phrase and an answer a quarter of the range away, every twelve). A song number names a starting point rather than a recording: the same seed gives the same thresholds, the same band and the same opening section; after that the conductor draws from the same dice the waves use, so the later sections and sparks differ from run to run, as the waves do.
Genres, drums and the bass
The drums are the brain's, not a loop: the kick lands on the first beat of the bar and on the fifth only after a firing burst; the snare on the third and seventh when two voices are alive or activity is high; the hats whenever the brain is busy, with their velocity following activity. A genre re-dresses all of that without touching the mapping from wiring to pitch:
| genre | tempo | band | kit | chord bed | bass | notes | keys it visits |
|---|---|---|---|---|---|---|---|
| the brain's own | 115 bpm | the species' band | the brain's drums | on | off | ×1 | any related key |
| ambient | 83 | pad · choir · bell · flute | soft (a kick only on bursts, a brush when busy) | on | off | ×1.7 | D Dorian, A Aeolian, E Dorian, A Dorian, B Aeolian |
| techno | 150 | synth bass · saw lead · marimba · electric piano | electronic (four on the floor, 808-style snare, clap, crisp hats) | off | root · root · fifth · root, every other beat | ×0.7 | D Dorian, E Phrygian, A Aeolian, E Dorian, A Dorian, B Aeolian |
| jazz | 136 | electric piano · acoustic bass · clarinet · alto sax | brushed (soft kick, brushed snare, ride) | on | walking: root, third, fifth, sixth | ×0.9, swing ⅓ | D Dorian, G Mixolydian, E Dorian, C Mixolydian, A Dorian, D Mixolydian |
| orchestral | 100 | strings · brass · flute · harp | orchestral (timpani on bursts and every second bar — sampled when loaded — and a swell each eight bars) | on | contrabass, root then fifth | ×1.3 | F Lydian, C Ionian, B♭ Lydian, G Ionian, F Ionian, E♭ Lydian |
The bass plays the harmonic chord's root (and its third, fifth or sixth, by kit) an octave under the key's root octave, with a velocity that follows the brain's activity, and goes out on MIDI channel 6. Tempo is two beats to a quarter note; the slider runs 60 to 214 bpm.
Singing, keyboards and files
Sing listens to the microphone, gates on level, finds the pitch by autocorrelation between 70 and 900 Hz (it must be at least half-coherent), waits until three readings agree within 1.2 semitones, and then sparks a wave at that pitch's height in both brains — at most once every 0.6 seconds; a soft note (below about −24 dBFS) sparks a smaller one, the seed and its direct targets only. MIDI live does the same from a keyboard: A2–A5 sparks at the key's height, C2–E2 fire the five stimuli (every note below F2 repeats them); going out, the four voices are on channels 1–4, the chord bed on 5, the bass on 6 and the drums on 10, with program changes for the chosen instruments, so a DAW hears the brains as a band. MIDI file in reads a Standard MIDI File (formats 0 and 1, tempo map, running status, program changes), loads the General MIDI instruments the file asks for, estimates its key by weighing each pitch class by duration against the fifteen keys the instrument knows, and then plays the piece as written on its own clock: each note through its channel's instrument, drums on the kits, and each note also lighting the neurons at its pitch's height — a new wave when one of the brain's voices is free, otherwise fed into a live wave. While the piece plays the brain listens: no melody of its own, no drums, only the chord bed following what lights up. When it ends, the waves it left behind sing on the beat in the piece's key — the brains answer. The ↓ MIDI export writes everything the band played in this song (a new song or seed starts a new log; a MIDI file's own notes are not included) as an eight-track file, with the instruments as they are now.
The readout
A tap names the neuron it hit from the annotations: cell type, class, transmitter and home neuropil — on the female brain with a link to that neuron's page on FlyWire Codex, on the male with its MaleCNS body id, on the mouse with its nucleus id. The voice chips under the readout show, for each live wave, the neuropil most of its neurons are in and their dominant cell class, the note it is playing and how many neurons it owns; the census behind them runs every twelve frames (on the GPU as a compute pass). After a stimulus the readout reports where the response went over its first seconds, on the brains with a cell-type file (the flies, the mouse and the human) — the top neuropils, visual areas or networks by share and, in the flies, how much reached descending and motor neurons, the brain's output — and, on the fly brains, how much of the response reached the cells the data labels as sex-specific, dimorphic or fruitless/doublesex. Only the female's labels are complete: the male data here marks 190 fruitless/doublesex cells and none as sex-specific or dimorphic, so in The Band the readout gives each brain's share against its own labels and says they cannot be compared yet.
Find a cell type matches what you type against the type and class names (with a few aliases: kenyon, clock, compass, descending, giant fiber…), ignites every matching neuron as one voice (up to 20,000 of them, and on the mouse a small random part, as with its stimuli) — in the spiking model it drives them at 150 Hz for a second and a half — and, a second and a half later, counts which cell types outside the set are active and which neuropils they are in. In the wave model that answer is where the wave has spread; in the spiking model it is which neurons the set's synapses actually drove over threshold, which is the more specific answer.
Show anatomy tints the labeled cells: sex-specific, dimorphic, fruitless/doublesex, receptors (on the male only the fruitless/doublesex cells and the receptors are labeled) — Cook's classes for the worms, Winding's cell types for the larva, Yeo networks for the human, the metamodel classes for the mouse — and floats the real neuropil names (optic lobe, mushroom body, antennal lobe, lateral horn, superior protocerebrum, central complex, gnathal ganglia) at the centroids of the cells whose synapses are mostly there.
What you see
Each neuron is a sprite whose size and light follow its activity and its harmonic amplitude, colored by the voice that owns it. The resting backbone is the strongest connections by synapse count, drawn faintly (50,000 on the WebGL tiers, 200,000 on the whole brain; the inhibitory ones are almost invisible until they light). Synapse threads: every firing draws the one connection that carried the strongest input to it, in the voice's color, fading over about half a second (eleven steps on the GPU) — so what you see traveling is the actual path, not a diffusion. Ribbons trail each wave's center of mass for its last 110 positions; the ring at the head of the ribbon is the note. The organ shell is each brain's own density iso-surface (the mouse, a slab of cortex, has none), lit from inside by four point lights that sit where the voices are. Everything is rendered into a high-dynamic-range target, bloomed, and tone-mapped with a soft knee so four waves at once no longer wash out to white; the halo energy is scaled by the active count for the same reason. The cinematic camera drifts toward the live waves; hold still freezes the simulation; the clip button records twenty seconds, vertical by default.
The look
Every effect in the LOOK row is a toggle, and none of them changes the data; they change how the same numbers are lit. Hot front and embers: a neuron that fired this step (activity above 0.93) is mixed toward white; a neuron that is refractory but already dim (activity under 0.15) is drawn as an ember whose brightness follows its remaining refractory fraction, so the wave shows a leading edge and a scorch of where it has been. Pulses: each synapse thread carries a Gaussian dot that travels from the source to the target over the thread's life (0.55 s on the sample, eleven steps on the whole brain). Flow: the resting backbone lines carry a soft dash pattern that drifts from the presynaptic end to the target, so the wiring's direction is visible before anything fires. Form: a per-neuron local density (a grid count, normalized at the 95th percentile) dims the crowded interiors by up to 55%, so the neuropils read as solid organs with surfaces. Film: in the composite pass, a chromatic aberration proportional to the cube of the distance from the center, a vignette, hashed grain and a mild grade (a touch of saturation, warm highs, teal shadows). Light shafts: for up to four live waves, a ten-tap radial blur of the bloom buffer toward the wave's screen position. Breathing: at rest the current harmonic displaces every neuron along its radius by up to 0.3 units times its amplitude, so the brain expands where the mode is positive and contracts where it is negative, in time with the mode's oscillation. Trails: the previous composite is kept at 74% under the new one (WebGL tiers). Focus: sprites away from the focus plane are drawn larger and dimmer, a cheap depth of field. Beads: the ribbons as chains of sprites sized by their alpha, with a white core at the head. A tap first lights the tapped neuron's own outgoing connections as pulses. The cinematic camera also pushes in toward a stimulus's receptors for a second and a half. Left alone at rest for forty-five seconds, the camera wanders, cinematic or not. The camera turns around a pivot and has no minimum distance. Pinch or scroll zooms toward the point under your fingers or cursor (that point stays where it is on the screen), through the brain's surface; closer than 0.45 units the camera stops closing in and flies, the pivot traveling along the ray you point along, and the point it flies toward stops about a unit inside the far side of the brains' bounding box, so there is always brain ahead. Zooming out drifts the pivot back to the middle, all the way by the default distance. As the camera enters a brain's box, the field of view widens from 36° to 62°, the fog closes in (neurons fade from about 4 units ahead and are gone by 20), sprites stop growing with closeness (a cap that tightens with zoom), resting neurons fade back by up to 45%, the lit wiring and the threads drop to a tenth (each connection near the lens is a streak across the whole screen), the white rim softens and the organ shell fades out. Drag turns the view around the pivot, slower inside; two fingers or shift-drag slide it; W/S or ↑/↓ fly, A/D or ←/→ turn, R returns to the whole view. inside flies to the middle of the busiest brain, facing down its long axis. Follow (✈, or F) is a camera drone on the signals. It picks a subject, the densest knot of the chased wave's fresh spikes (every connection that has just made a neuron fire, the same synapse threads you see, under about a third of a second old, half a second in the sparse brains; on the whole brain the GPU's thread ring is read back while following), and keeps it in the middle of the frame and in focus, about two and a half to three units away. Mean shift tracks the knot (each frame it moves to the weighted center of the spikes around it), so the camera rides a burst of firing as it travels through the wiring; now and then it looks round for a stronger knot and glides over, never faster than about a fifth of the brain's radius a second. The camera trails the knot's direction of travel on a damped spring (a slow orbit while it holds still) and swings rather than whips (rarely more than 30° a second); inside the dense brains it picks a side of the knot with room behind it, so it never backs out through the brain's wall. While following, the resting brain steps back (dimmer and grayer, the whole brain's packed neuropil further still), the wave-center trails hide and the backbone wiring dims, so the chased wave's colors carry the frame. It stays with one wave for up to sixteen seconds, or until that wave dies, then picks another; a wave you spark is followed first, and if nothing is traveling it starts Play. Drag swings round the knot; scroll, pinch or W/S bring it closer or stand back; ⟲, R, inside or Stop end it. In the worms, the larva and the human the cells are spread thin (a few hundred in a worm-thin body, 414 regions across a human brain, under three thousand in the larva), so it follows from a stand-off with a lens to match, and in a lull between waves it pulls back to a wide shot of the whole brain until the next wave draws it in. Taps from inside search every neuron in front of the camera within about a hundred pixels. Theater is full screen with nothing else on the page, the camera about 15% closer and the cinematic camera on; touching the screen shows a floating bar (the view reset, inside or out, follow, the species' five stimuli, play, exit) for a few seconds. Each species has a resting palette of its own (the worms lime and teal, the human violet and blue, the mouse amber). The whole-brain path carries the same effects except the trails and the beads.
The rest of the panel. Duet sparks the same spot in both brains; a mode chip rings one harmonic and Strike rings them all; hold still freezes the picture; surprise me deals a new band; record audio saves what you hear; only labeled cells dims every neuron the data does not label; the bloom and glow sliders and the delay toggle change the mix, not the data. Keys: 1–5 fire the stimuli, T theater, I inside, F follow, R the whole view, W/S or ↑/↓ fly (closer or farther while following), A/D or ←/→ turn, Esc leaves theater. In the spiking model a single press drives a stimulus for 1.2 seconds. Phones and the whole brain start with light shafts and breathing off.
VR. On a WebXR browser the WebGL tiers offer a VR button (experimental: not yet tried on a headset): the pair hangs in the room at 12% of its screen scale, 2.2 meters ahead, the headset owns the camera (so the binaural voices follow your head), and a controller's trigger sparks the neuron nearest its ray, or fires a stimulus on empty space. The whole-brain tier renders through WebGPU, which has no VR path yet.
The jam and the gallery
The internet jam is one room per kind of brain (the fly sample and the whole fly brain share one): a small stateful worker at the edge relays every tap and stimulus to everyone in the room, replays up to the last three events of the last twenty seconds to a newcomer, and shows how many are playing. Taps travel as positions measured against the brain's own landmarks (left to right between the eyes, bottom to top) rather than neuron indices, so a player on the sample and a player on the whole brain spark the same spot. Each player is limited to about eight events a second and four connections per address; a room takes a few hundred players and forty events a second, and a page on another site can't join. The room keeps its last sixty events in memory only, holds your address only while you are connected, and tags your events with a random six-character id; nothing about you is saved.
The gallery keeps the songs people save — a song is its seed, its band of four instruments and its genre, with an optional title — in one list per kind of brain, 500 per list, one save per twenty seconds per address, plays counted once per address per song per day, both only from this site's own pages. The list shows the most played, then the newest, and picking a song applies it here and starts Play. Titles are plain text; markup and invisible characters are stripped.
Speed and scale
- The wave has no clock of its own. A step is a step; the fly brains and the mouse take twenty a second at 60 fps, the small brains sixty. A refractory period of 36 steps is about 1.8 seconds of your time, which is nothing like a neuron's two milliseconds, and is why waves travel at a walking pace you can follow by ear.
- The spiking model does have one. Sixteen milliseconds of model time per engine step, twenty steps a second: about a third of a second of fly brain per second of yours on a 60 Hz display, slower on a slower one.
- The human is slowed on purpose. With the worm's conduction delays a signal crosses it in about a second here; in life, tens of milliseconds.
- Sizes. The sample pair downloads about 4 MB and runs on a phone; the whole brains are 28 MB and need WebGPU (recent Chrome and Edge, Safari 26 and later, and Firefox where it has shipped WebGPU); the worms are 42 KB.
Questions people ask
- Is the music meaningful, or just pretty?
- Both, in specific ways. What is meaningful: the wave really follows the measured synapses, so the same spark diverges in the female and male brains because their wiring differs; the harmonics are real properties of each graph; the chord bed is a real projection of activity onto them; the timbre follows the transmitters of the cells that are firing. What is not: the choice that height means pitch, that a burst means a kick, or that a wide wave arpeggiates — those are conventions chosen to make the dynamics legible by ear. The music will not tell you anything the wiring diagram could not; it lets you hear things in it that are hard to see, such as two brains disagreeing about the same input.
- Why do the female and male brains sound different?
- Because they are different animals reconstructed by different teams. The male has sex-specific neurons the female lacks, and the two datasets differ in how many synapses each connection was given and where. The same tap, in the same place, gives the two waves different paths and the composer turns those paths into different melodies. The Band exists to make that audible. It cannot yet say how much of the difference is sex: the male data here labels only 190 fruitless/doublesex neurons and none as sex-specific or dimorphic, and the two datasets' transmitters were predicted by different classifiers (the male's Kenyon cells, for one, come out dopaminergic).
- Why does a tap sometimes do nothing?
- Either that brain's voices are all traveling (two per brain in The Band, four alone — wait for one to fade, or Stop), or you tapped more than about 30 pixels from any neuron with an excitatory output, or the wave died at once — a seed with few outputs, or neighbors still refractory from the last wave. In the mouse, 31% of the sampled cells have no outputs in the sample (40% none that excite), so taps look for a cell with excitatory outputs.
- Why is the mouse half inhibitory?
- Because the automated reconstruction follows interneuron axons, which stay local, far more completely than pyramidal axons (about 500 partners per unproofread interneuron against 70 per pyramidal cell), so the pair table is skewed toward inhibitory sources; dropping every proofread axon still leaves 49%. The sample keeps that proportion rather than inventing one, states it, and compensates with a higher gain and a smaller stimulus volley so that waves can live.
- Why twenty-four harmonics?
- Enough to span broad, medium and fine structure in three bands of eight, few enough to be individually audible, chip by chip, and to keep the harmonics at 24 bytes per neuron. Atasoy et al. used far more for their analyses; here they are an instrument, not a basis.
- Do the brains vibrate?
- No. The eigenmodes of a graph are mathematical shapes; a living brain's activity may or may not resemble them (that is Atasoy's hypothesis for the human cortex), and no such claim is made here for a fly.
- How real-time is it?
- See speed and scale: the wave is slowed by design, the spiking model runs at about a third of real time on a 60 Hz display, and the human is slowed tens of times.
- Why is the site non-commercial?
- The female fly brain is FlyWire data under CC BY-NC 4.0. The site carries no ads and no paid tier, and anything that redistributes the FlyWire-derived files stays non-commercial. The other datasets are CC BY 4.0, BSD- or MIT-licensed, or journal supplementary data (the worm positions come from a repository that states no license), credited in the footer and in the manifest.
- Can I use the code and the data?
- The code is MIT. The data files are derived from the datasets above and carry their terms; keep the credits when you reuse them. The build scripts rebuild every brain the site offers from the public sources (FlyWire Codex and neuPrint need a free account for the download).
- Who built this?
- The direction, the musical mapping and every decision about what is real and what is invented are the author's. Most of the code was written in collaboration with Claude, Anthropic's model, pair-programming from the repository; the science is cited per feature, and any claim you cannot trace to a citation is the author's, not the datasets'.
Papers, data, code
Method
- Atasoy, Donnelly & Pearson, Human brain networks function in connectome-specific harmonic waves, Nat. Commun. 7, 10340 (2016). doi:10.1038/ncomms10340
- Shiu, Sterne, Spiller et al., A Drosophila computational brain model reveals sensorimotor processing, Nature 634 (2024). doi:10.1038/s41586-024-07763-9 · code: philshiu/Drosophila_brain_model
The flies
- Dorkenwald et al., Neuronal wiring diagram of an adult brain, Nature 634 (2024). doi:10.1038/s41586-024-07558-y — FlyWire FAFB v783, CC BY-NC 4.0 · codex.flywire.ai · annotations: flyconnectome/flywire_annotations
- Schlegel et al., Whole-brain annotation and multi-connectome cell typing of Drosophila, Nature 634 (2024). doi:10.1038/s41586-024-07686-5 — the cell types
- Eckstein et al., Neurotransmitter classification from electron microscopy images at synaptic sites in Drosophila melanogaster, Cell 187 (2024). doi:10.1016/j.cell.2024.03.016 — the transmitters and therefore the signs
- Berg et al., MaleCNS v1.0, Cell (2026); HHMI Janelia FlyEM, University of Cambridge, MRC LMB, Google Research. CC BY 4.0 · positions from neuPrint (
male-cns:v1.0)
The other brains
- Cook, Jarrell, Brittin et al., Whole-animal connectomes of both Caenorhabditis elegans sexes, Nature 571 (2019). doi:10.1038/s41586-019-1352-7 · positions: OpenWorm CElegansNeuroML (no license stated; the 3D model behind the positions was released into the public domain)
- Winding, Pedigo et al., The connectome of an insect brain, Science 379, eadd9330 (2023). doi:10.1126/science.add9330 · positions: the L1EM CATMAID at Virtual Fly Brain (Court et al. 2023; CATMAID: Saalfeld et al. 2009)
- Larivière et al., The ENIGMA Toolbox, Nat. Methods 18 (2021). doi:10.1038/s41592-021-01186-4 · MICA-MNI/ENIGMA · Schaefer et al., Cereb. Cortex 28 (2018), CBIG · networks: Yeo et al., J. Neurophysiol. 106 (2011) · Human Connectome Project, WU-Minn Consortium (see the footer)
- The MICrONS Consortium, Functional connectomics spanning multiple areas of mouse visual cortex, Nature 640 (2025). doi:10.1038/s41586-025-08790-w · cell classes: Elabbady et al., Nature 640 (2025); m-types: Schneider-Mizell et al., Nature 640 (2025) · microns-explorer.org, public static archive, materialization v1507, CC BY 4.0
Sound and code
- Drawing: Three.js r128 (MIT), served from this site itself
- Sampled instruments: the FluidR3 General MIDI soundfont via gleitz/midi-js-soundfonts and soundfont-player; everything else is Web Audio, Web MIDI, WebGL through three.js, and WebGPU.
- The site's code is MIT-licensed and rebuilds every brain from the public sources with the scripts in its repository; the data files keep their datasets' terms.