Skip to content

Language studies

The decodersand exactly what they did and did not show

5 species, 5 recorded results, one shared statistical gate. Each result below is printed with the three things a headline number usually hides: what chance looks like for that specific task, how many items it was measured on, and what kind of learner produced it.

A small honest claim beats an impressive false one. So, before any number: none of this is a trained model, none of it is real animal audio, and none of it is translation.

The recorded board, verbatim

Model value against null value

Five rows, copied unchanged from the harness output. Two of the metrics are errors, where lower is better; three are accuracies, where higher is better. Reading a column without reading that distinction will mislead you, so it is printed on every row.

The recorded decoder leaderboard: per animal, the metric, the recorded value, the permutation null, the p-value and the verdict.
AnimalMetricDirectionRecordedNull (chance)pVerdict
Honeybeebearing_err_deglower is better26.64°90.69°0.005test floorbeats null · 1/201
Fireflydelay_err_slower is better0.125s0.481s0.005test floorbeats null · 1/201
Vervet monkeyaccuracyhigher is better0.6430.4640.0249beats null · 5/201
Laboratory rataccuracyhigher is better0.9290.7010.0498marginalbeats null · 10/201
Sperm whaleaccuracyhigher is better0.50.1570.005test floorbeats null · 1/201

Two rows are flagged. A test floorrow sits at the smallest p-value 200 shuffles can produce; it does not mean the p-value is smaller than that, and it must never be written as p < 0.001. A marginalrow is within one shuffle of failing the p < 0.05 gate it is being judged against. Exactly one row on this board is marginal, and it is not hidden.

The gate

How the p-value was actually computed

Not from a t-test, not from an asymptotic assumption, and not from a library. It is a label-permutation test, computed the same way in every module, and it is the part of this work we will actually defend.

200

label shuffles per result — the null distribution

tournament.py — beat_the_null()

1/201 ≈ 0.005

the smallest p-value this test can produce

p = (beats + 1) / (200 + 1)

14–18

held-out items per result — the sample sizes, stated

decoder module reproduction runs

The procedure
Each module generates its dataset, splits it into a few-shot set and a held-out set, scores the learner on the held-out set, then shuffles the held-out labels 200 times and re-scores against each shuffle. beats counts the shuffles that matched or beat the real run.
The formula
p = (beats + 1) / (200 + 1). The +1 in the numerator and denominator is the standard correction that stops the test from ever reporting p = 0. It is why the floor is 1/201 ≈ 0.005 and not zero.
How many examples
The learner is shown 12 for the honeybee, 6 for the firefly, 6 for the vervet monkey, 6 for the laboratory rat, 6 for the sperm whale. It is scored on 1418 held-out items per module, 74 in total across the board. These are small samples at a single seed, and that is a real limit, not a footnote.
Seeds
Data seed 3, permutation seed 4. Both are fixed, which is what makes the board reproducible rather than a snapshot of one lucky run.
What the null is not
The null is not “one in three” or “one in two”. A label permutation preserves the class marginals of the actual draw, so for a small, imbalanced sample the correct chance baseline is the permutation mean — which is why the vervet null is 0.464 rather than 0.333 and the rat null is 0.701 rather than 0.5. Quoting the naive baseline would make both results look far better than they are.
Reproducing it
python tournament.py --dry-run in Hyperweave/animal_decoders/. Standard library only — no pip install, no network, no GPU. All five rows reproduced bit-for-bit when re-run against the module defaults, which is the basis on which the word “reproducible” is used anywhere on this site.

One card per species

The results in full

Each card carries the chance baseline, the recorded value, the known-rule ceiling where a reproduction run reported one, what produced the number, the sample size, the literature the biology rests on, and what the result must not be read as. The caveat block is never omitted.

Honeybee

Apis mellifera

The waggle dance performed on the vertical comb in the dark hive. The angle of the straight waggle run relative to vertical encodes the bearing of the food relative to the sun's azimuth; the duration of that run encodes distance.

Mean absolute bearing error (°) · lower is better

Chance (permutation null)
90.69°
Recorded baseline
26.64°
Known-rule ceiling
5.33°

90.69° is what you get when each prediction is scored against a randomly re-paired dance. That is exactly the expected mean absolute error for uniform circular pairing, which is a good sign the null is honest. The ceiling is the known-formula decoder's own error on the same 18 dances — the best any learner could do against this noise.

What produced that number

mock(nearest-neighbor) — a nearest-neighbour baseline, not a trained model. Nearest neighbour by dance angle and duration, PLUS a hand-coded physical correction that shifts the returned bearing by the difference in sun azimuth between the two dances. The module's own comment calls that correction "the one physical rule a nearest-neighbor can't see" — so part of the answer is injected, not learned.

It was shown 12 examples and scored on 18 held-out items — how far off the decoded compass bearing was, averaged over the held-out dances. The examples are synthetic: generated from a stated rule plus noise, not recorded from an animal.

p-value
0.005 = 1/201. That is the floor this test can produce: no shuffle out of 200 matched the real run. It does not mean p is smaller than 0.005, and it must never be written as p < 0.001.
Literature
Karl von Frisch, 1946–67 (Nobel Prize in Physiology or Medicine, 1973). The waggle dance is the only animal communication system decoded to the point of quantitative prediction. The angle half of the decoder is exact arithmetic: bearing = sun azimuth + waggle angle. The ethology, and what is still open.
Source
Hyperweave/animal_decoders/waggle_dance.py · Hyperweave/animal_decoders/bee_small_model_test.py

What this does not show

The distance half is not exact — it needs a per-colony calibration, because bees speak measurable dialects. The leaderboard reports bearing only; on the same run the distance error was 493.6 m, and we are not hiding that by omitting it.

Verdict string, verbatim from the artifact
HOLDS -- this model LEARNED the bee language from 12 examples and decodes held-out dances better than chance. The free-local tier can play the decode game.

The verdict is generated by a template in the harness, not written by a person about this run. Where it says “this model”, the model in question is the nearest-neighbour baseline above.

Firefly

Photinus pyralis (module default)

The courtship exchange: a male's species-specific flash interval, answered by the female after a species-specific delay.

Mean absolute response-delay error (s) · lower is better

Chance (permutation null)
0.481s
Recorded baseline
0.125s
Known-rule ceiling
0.044s

0.481 s is the error when the true delays are shuffled against the fixed predictions, 200 times. The ceiling is the true generating line's own residual on the same 14 exchanges.

What produced that number

mock(nearest-neighbor) — a nearest-neighbour baseline, not a trained model. Plain nearest neighbour on the flash interval — it returns the stored neighbour's delay verbatim, with no correction term.

It was shown 6 examples and scored on 14 held-out items — how far off the predicted female response delay was, in seconds. The examples are synthetic: generated from a stated rule plus noise, not recorded from an animal.

p-value
0.005 = 1/201. That is the floor this test can produce: no shuffle out of 200 matched the real run. It does not mean p is smaller than 0.005, and it must never be written as p < 0.001.
Literature
Stanger-Hall & Lloyd (2015), on Photinus courtship dialogues. Fireflies court in timed light: male flash patterns are species-specific, and females answer after a species-specific delay. The ethology, and what is still open.
Source
Hyperweave/animal_decoders/firefly.py

What this does not show

This is the weakest module in the set and we will say so. The interval→delay mapping used here (delay = 0.3 × interval + 0.5) is our own working calibration, not a published regression, and the synthetic data is generated from that same line. The learner is recovering our rule, not nature's.

Verdict string, verbatim from the artifact
HOLDS

The verdict is generated by a template in the harness, not written by a person about this run. Where it says “this model”, the model in question is the nearest-neighbour baseline above.

Vervet monkey

Chlorocebus pygerythrus

Referential alarm calls, classified three ways: leopard, eagle, snake. Each call type triggers a different, ecologically correct escape.

Classification accuracy · higher is better

Chance (permutation null)
0.464
Recorded baseline
0.643
Known-rule ceiling
not measured

0.464, not 0.333. The permutation preserves the class marginals, so the correct chance baseline for this run is the permutation mean — not one-in-three. The ceiling column is empty because the reproduction run did not report one for this module, and we will not infer a number we did not measure.

What produced that number

mock(nearest-neighbor) — a nearest-neighbour baseline, not a trained model. Nearest neighbour in a normalised three-feature space (pitch, duration, harmonic count).

It was shown 6 examples and scored on 14 held-out items — 9 of 14 held-out calls assigned to the right predator class. The examples are synthetic: generated from a stated rule plus noise, not recorded from an animal.

p-value
0.0249 = 5/201. 4 of 200 label shuffles matched or beat the real run.
Literature
Seyfarth, Cheney & Marler (1980). Vervets give acoustically distinct alarm calls for leopards, eagles and snakes, and playback of each elicits the appropriate escape. That is one of the foundational results in animal communication. The ethology, and what is still open.
Source
Hyperweave/animal_decoders/vervet.py

What this does not show

The acoustic numbers here are not vervet measurements. The generator invents pitch, duration and harmonic ranges and defines its own two-threshold ground truth, so the task is recovering a synthetic rule. Do not read the feature values as field data.

Verdict string, verbatim from the artifact
HOLDS

The verdict is generated by a template in the harness, not written by a person about this run. Where it says “this model”, the model in question is the nearest-neighbour baseline above.

Laboratory rat

Rattus norvegicus

Adult ultrasonic vocalisations, split by affective valence: 22 kHz aversive calls (long, monotonous, narrowband) against 50 kHz appetitive calls (short, frequency-modulated).

Classification accuracy · higher is better

Chance (permutation null)
0.701
Recorded baseline
0.929
Known-rule ceiling
0.929

0.701, not 0.5, because the permutation preserves this small draw's imbalanced label marginals. The honest headline is "13 of 14 against a 0.70 permutation baseline". The ceiling is the deterministic three-cue decoder scores exactly the same 13 of 14 — the baseline is already at the ceiling for this draw.

What produced that number

mock(nearest-neighbor) — a nearest-neighbour baseline, not a trained model. Nearest neighbour over normalised peak frequency, duration and frequency modulation.

It was shown 6 examples and scored on 14 held-out items — 13 of 14 held-out calls assigned to the right valence. The examples are synthetic: generated from a stated rule plus noise, not recorded from an animal.

p-value
0.0498 = 10/201. 9 of 200 label shuffles matched or beat the real run. This sits within one shuffle of the p < 0.05 gate it is being judged against — treat it as marginal, not as a clean result.
Literature
Brudzynski; Panksepp & Burgdorf; Wöhr & Schwarting. This is the best-validated affect-to-call mapping in any rodent. 22 kHz playback drives avoidance and threat-circuit activation; 50 kHz playback drives approach and accumbens dopamine release. The ethology, and what is still open.
Source
Hyperweave/animal_decoders/rat_usv.py

What this does not show

Not laughter. 50 kHz is a positive-affect and social-appetitive marker, not literal laughter, and the module says so in its own source. The raw 22k/50k split is near-tautological, so the generator deliberately injects 18% atypical, edge-of-repertoire calls to force the learner to combine cues. p = 0.0498 is one shuffle away from failing its own p < 0.05 gate — treat it as marginal. On real recordings the null must be subject-held-out, because pseudoreplication is the standard trap here.

Verdict string, verbatim from the artifact
HOLDS -- the affective valence of the call is decodable from its acoustics above chance (the validated 22k/50k readout). NOTE: on real data, use a SUBJECT-held-out null.

The verdict is generated by a template in the harness, not written by a person about this run. Where it says “this model”, the model in question is the nearest-neighbour baseline above.

Sperm whale

Physeter macrocephalus

Coda type — the rhythmic class of a stereotyped burst of echolocation clicks, read from the pattern of inter-click intervals. Six types: 3R, 5R, 7R, 4+1, 1+1+3, 2+3. Several share a click count and differ only in where the gap falls, so this is a rhythm decode, not a click tally.

Classification accuracy · higher is better

Chance (permutation null)
0.157
Recorded baseline
0.5
Known-rule ceiling
0.786

0.157, which is close to 1/6 as expected for six roughly balanced classes. The ceiling is the rule-based decoder types 11 of the same 14 — the baseline captures well under two-thirds of the available structure.

What produced that number

mock(nearest-neighbor) — a nearest-neighbour baseline, not a trained model. Nearest neighbour over five derived features: click count, mean inter-click interval, regularity, gap ratio and gap position.

It was shown 6 examples and scored on 14 held-out items — 7 of 14 held-out codas typed correctly. The examples are synthetic: generated from a stated rule plus noise, not recorded from an animal.

p-value
0.005 = 1/201. That is the floor this test can produce: no shuffle out of 200 matched the real run. It does not mean p is smaller than 0.005, and it must never be written as p < 0.001.
Literature
Watkins & Schevill; Rendell & Whitehead; CETI / Sharma et al. (2024). Coda type is defined by rhythm, and machine work on sperm whale codas — including CETI's acoustic models — operates at exactly this level: acoustic-token structure, scored structurally, not semantically. The ethology, and what is still open.
Source
Hyperweave/animal_decoders/sperm_whale_coda.py

What this does not show

There is no verified coda-to-meaning map. This decodes coda TYPE and nothing about meaning. The honeybee waggle dance remains the only animal system solved to the point of meaning. We never fake translation. (Source-file note: this module was renamed from orca.py to sperm_whale_coda.py — it always decoded sperm whale codas, and the leaderboard's species field was always the correct one.)

Verdict string, verbatim from the artifact
HOLDS -- coda TYPE (rhythmic structure) is decodable above chance. This is STRUCTURE only; coda MEANING remains unsolved (never fake translation).

The verdict is generated by a template in the harness, not written by a person about this run. Where it says “this model”, the model in question is the nearest-neighbour baseline above.

What none of this is

The distance to a solved system

One system on this list is solved: the honeybee waggle dance. It was solved because the thing it refers to — a place — can be walked to and checked. Every other line of work here is structure, classification or affect, and calling any of it translation would be a lie.

What this harness demonstrably is: a seeded, permutation-tested, reproducible scoring gate that a proposed decode has to pass before it counts. What it demonstrably is not: evidence about any real animal, because no real animal data has gone through it yet. Those are two different claims and this page keeps them apart.

The species behind these five modules