Use cleaner bird syrinx references

This commit is contained in:
Meta Vens 2026-05-28 15:45:35 +01:00
commit 8ce63a1ca3
3 changed files with 59 additions and 44 deletions

View file

@ -1,17 +1,18 @@
# Bird Syrinx Golf
This sidequest uses Creative Commons bird recordings as a reality check for the graph-native syrinx path. The goal is not to make species-accurate bird impersonations yet. The goal is to force the paired-source syrinx graph to meet real calls, emit listenable WAVs, and expose which controls currently matter.
This sidequest uses open-licensed bird recordings as a reality check for the graph-native syrinx path. The goal is not to make species-accurate bird impersonations yet. The goal is to force the paired-source syrinx graph to meet clean calls, emit listenable WAVs, and expose which controls currently matter.
## Source Set
All references are Wikimedia Commons mirrors of xeno-canto recordings, with Commons file pages used as the license/provenance anchor and Commons MP3 transcodes used for robust local decoding.
All references are Wikimedia Commons files, with Commons file pages used as the license/provenance anchor and Commons MP3 transcodes used for robust local decoding. The Korean National Institute of Biological Resources clips are KOGL Type 1 rather than Creative Commons; keep that attribution distinction visible.
| id | species | call | author | license | source |
| --- | --- | --- | --- | --- | --- |
| `common-iora-xc125847` | Common Iora (`Aegithina tiphia`) | song | Sudipto Roy | CC BY-SA 3.0 | <https://commons.wikimedia.org/wiki/File:Aegithina_tiphia_-_Common_Iora_XC125847.ogg> |
| `bohemian-waxwing-xc132884` | Bohemian Waxwing (`Bombycilla garrulus`) | flight call | Bushman | CC BY-SA 3.0 | <https://commons.wikimedia.org/wiki/File:Bombycilla_garrulus_-_Bohemian_Waxwing_XC132884.ogg> |
| `california-quail-xc109825` | California Quail (`Callipepla californica`) | natural calls | Jonathon Jongsma | CC BY-SA 3.0 | <https://commons.wikimedia.org/wiki/File:Callipepla_californica_-_California_Quail_-_XC109825.ogg> |
| `american-crow-xc115429` | American Crow (`Corvus brachyrhynchos`) | soft rattling calls | Jonathon Jongsma | CC BY-SA 3.0 | <https://commons.wikimedia.org/wiki/File:Corvus_brachyrhynchos_-_American_Crow_-_XC115429.ogg> |
| `common-blackbird-1059970` | Common Blackbird (`Turdus merula`) | song | Diana Tudor | CC BY 4.0 | <https://commons.wikimedia.org/wiki/File:Common_Blackbird_song_(Turdus_merula).ogg> |
| `red-footed-falcon` | Red-footed Falcon (`Falco vespertinus`) | typical calls | Bubulcus | CC BY 3.0 | <https://commons.wikimedia.org/wiki/File:Falco_vespertinus.ogg> |
| `warbling-white-eye-ko` | Warbling White-eye (`Zosterops japonicus`) | call | National Institute of Biological Resources | KOGL Type 1 | <https://commons.wikimedia.org/wiki/File:%EB%8F%99%EB%B0%95%EC%83%88.ogg> |
| `eurasian-wren-ko` | Eurasian Wren (`Troglodytes troglodytes`) | song | National Institute of Biological Resources | KOGL Type 1 | <https://commons.wikimedia.org/wiki/File:%EA%B5%B4%EB%9A%9D%EC%83%88.ogg> |
## Tool
@ -26,19 +27,20 @@ All references are Wikimedia Commons mirrors of xeno-canto recordings, with Comm
The generated audio lives under `artifacts/bird-syrinx-golf/<timestamp>/`, which is intentionally ignored by git.
## First Run
## Clean Reference Run
Run: `artifacts/bird-syrinx-golf/20260528T141443104`
Run: `artifacts/bird-syrinx-golf/20260528T143401133`
| bird | score | logMelCosine | best coarse control |
| --- | ---: | ---: | --- |
| Common Iora | 0.2423 | 0.2356 | `freq=1050`, high beak opening |
| Bohemian Waxwing | 0.2785 | 0.2778 | `freq=3000`, narrow labial opening |
| California Quail | 0.1888 | 0.3035 | `freq=760`, wider labial opening |
| American Crow | 0.2225 | 0.3654 | `freq=760`, wider labial opening |
| Common Blackbird | 0.2784 | 0.3223 | `freq=1050`, high beak opening |
| Red-footed Falcon | 0.2727 | 0.3004 | `freq=3000`, narrow labial opening |
| Warbling White-eye | 0.3102 | 0.3692 | `freq=3000`, narrow labial opening |
| Eurasian Wren | 0.2577 | 0.2081 | `freq=1050`, high beak opening |
## Interpretation
This proves the current graph source path can render paired-labium syrinx candidates against real CC bird audio. It does not prove the model is good. The search grid is deliberately coarse and mostly static; it cannot yet match call envelopes, syllable timing, pitch sweeps, side-to-side alternation, beak articulation, or turbulence bursts with enough authority.
This proves the current graph source path can render paired-labium syrinx candidates against clean real bird audio. It does not prove the model is good. The search grid is deliberately coarse and mostly static; it cannot yet match call envelopes, syllable timing, pitch sweeps, side-to-side alternation, beak articulation, or turbulence bursts with enough authority.
The useful finding is that the syrinx controls now form an inspectable fitting surface. The next coherent step is not a larger brute-force grid. It is time-varying control curves over the same graph: pressure envelopes, labial tension sweeps, independent left/right gating, beak opening, and possibly tract morphology changes when the reference call has obvious articulatory motion.

View file

@ -204,3 +204,4 @@
{"evidence":"Removed legacy vocal audio authorities: `TractPropagationMode` now only accepts graph lowering, parser legacy values fail fast, the Faust `Voice.Tract` resonator/waveguide renderers were deleted, the acoustic response proxy fallback was removed, `WaveguideLoss` became graph `PropagationLoss`, `substeps` was rejected, and the Pink Trombone built-in plus graph tests now route through typed `AcousticPortNetwork` lowering. Verification: stale-symbol scan only finds historical evidence and explicit rejection tests; full DSL test suite passed 180 tests.","claim":"Vocal acoustics now have one live authority: the typed acoustic graph. `Voice.Tract`, PT-shaped commands, and built-ins are authoring sugar that populate graph records; they cannot secretly render old proxy/waveguide audio when the graph is missing or weak.","timestamp":"2026-05-28T13:40:00+01:00","topic":"legacy-vocal-renderer-cut"}
{"evidence":"Added `AcousticSourcePort.Impedance`, parser aliases `impedance`/`load`/`source_impedance`, load-aware graph source lowering using node incident pressure, graph contact terminals with named closure/reservoir/release locals, generated tract contact terminals, a syrinx structural test, TractGraphRenderer `mode=syrinx`, and `patches/advanced/bird-syrinx.aqua`. Rendered `artifacts/audition/syrinx-graph-20260528b.wav` and `artifacts/audition/tract-contact-graph-20260528b.wav`; focused graph/PT parity smokes passed.","claim":"Source-tract coupling and closure storage are now graph-owned reusable semantics, not Pink Trombone-shaped gain hacks. A syrinx is expressible as paired loaded labial source ports feeding one acoustic graph through a merge junction and beak radiation, giving Mimir a differentiable bird-voice target surface.","timestamp":"2026-05-28T14:20:00+01:00","topic":"graph-source-load-contact-syrinx"}
{"evidence":"Added `tools/BirdSyrinxGolf`, a CC birdcall sidequest tool that downloads Commons/xeno-canto mirrored bird recordings, extracts loudest 1.2 second clips, renders graph-native paired-labium syrinx candidates through Faust, and writes reference/candidate WAVs plus reports under `artifacts/bird-syrinx-golf/<timestamp>`. First run `20260528T141443104` produced candidate WAVs for Common Iora, Bohemian Waxwing, California Quail, and American Crow with log-mel cosine similarities from 0.2356 to 0.3654.","claim":"The syrinx graph now has a real bird-audio fitting surface, but static coarse candidates are not enough for species-like calls. Next improvement should add time-varying pressure, labial tension, left/right gating, beak opening, and morphology curves over the same graph rather than a larger static brute-force grid.","timestamp":"2026-05-28T15:20:00+01:00","topic":"bird-syrinx-golf"}
{"evidence":"Replaced noisy Bohemian Waxwing, California Quail, and American Crow bird-golf references with cleaner Commons files: Common Blackbird (CC BY 4.0), Red-footed Falcon (CC BY 3.0), Warbling White-eye (KOGL Type 1), and Eurasian Wren (KOGL Type 1), keeping Common Iora. Run `artifacts/bird-syrinx-golf/20260528T143401133` produced reference/candidate WAVs for all five clean sources with log-mel cosine similarities from 0.2081 to 0.3692.","claim":"Bird reference quality now better isolates syrinx model failures from background-noise contamination. The tool should describe the corpus as open-licensed, not CC-only, because the Korean clean clips are KOGL Type 1.","timestamp":"2026-05-28T15:41:00+01:00","topic":"bird-syrinx-clean-reference-set"}

View file

@ -27,41 +27,53 @@ BirdSource[] sources =
"https://upload.wikimedia.org/wikipedia/commons/transcoded/7/7c/Aegithina_tiphia_-_Common_Iora_XC125847.ogg/Aegithina_tiphia_-_Common_Iora_XC125847.ogg.mp3",
"https://upload.wikimedia.org/wikipedia/commons/7/7c/Aegithina_tiphia_-_Common_Iora_XC125847.ogg"),
new(
"bohemian-waxwing-xc132884",
"Bohemian Waxwing",
"Bombycilla garrulus",
"flight call",
"common-blackbird-1059970",
"Common Blackbird",
"Turdus merula",
"song",
BirdKind.HarmonicSong,
"Diana Tudor",
"CC BY 4.0",
"https://creativecommons.org/licenses/by/4.0",
"https://commons.wikimedia.org/wiki/File:Common_Blackbird_song_(Turdus_merula).ogg",
"https://upload.wikimedia.org/wikipedia/commons/transcoded/3/30/Common_Blackbird_song_%28Turdus_merula%29.ogg/Common_Blackbird_song_%28Turdus_merula%29.ogg.mp3",
"https://upload.wikimedia.org/wikipedia/commons/3/30/Common_Blackbird_song_%28Turdus_merula%29.ogg"),
new(
"red-footed-falcon",
"Red-footed Falcon",
"Falco vespertinus",
"typical calls",
BirdKind.HighCall,
"Bushman",
"CC BY-SA 3.0",
"https://creativecommons.org/licenses/by-sa/3.0",
"https://commons.wikimedia.org/wiki/File:Bombycilla_garrulus_-_Bohemian_Waxwing_XC132884.ogg",
"https://upload.wikimedia.org/wikipedia/commons/transcoded/4/46/Bombycilla_garrulus_-_Bohemian_Waxwing_XC132884.ogg/Bombycilla_garrulus_-_Bohemian_Waxwing_XC132884.ogg.mp3",
"https://upload.wikimedia.org/wikipedia/commons/4/46/Bombycilla_garrulus_-_Bohemian_Waxwing_XC132884.ogg"),
"Bubulcus",
"CC BY 3.0",
"https://creativecommons.org/licenses/by/3.0",
"https://commons.wikimedia.org/wiki/File:Falco_vespertinus.ogg",
"https://upload.wikimedia.org/wikipedia/commons/transcoded/5/59/Falco_vespertinus.ogg/Falco_vespertinus.ogg.mp3",
"https://upload.wikimedia.org/wikipedia/commons/5/59/Falco_vespertinus.ogg"),
new(
"california-quail-xc109825",
"California Quail",
"Callipepla californica",
"natural calls",
BirdKind.LowCall,
"Jonathon Jongsma",
"CC BY-SA 3.0",
"https://creativecommons.org/licenses/by-sa/3.0",
"https://commons.wikimedia.org/wiki/File:Callipepla_californica_-_California_Quail_-_XC109825.ogg",
"https://upload.wikimedia.org/wikipedia/commons/transcoded/3/3c/Callipepla_californica_-_California_Quail_-_XC109825.ogg/Callipepla_californica_-_California_Quail_-_XC109825.ogg.mp3",
"https://upload.wikimedia.org/wikipedia/commons/3/3c/Callipepla_californica_-_California_Quail_-_XC109825.ogg"),
"warbling-white-eye-ko",
"Warbling White-eye",
"Zosterops japonicus",
"call",
BirdKind.HighCall,
"National Institute of Biological Resources",
"KOGL Type 1",
"http://www.kogl.or.kr/info/licenseType1.do",
"https://commons.wikimedia.org/wiki/File:%EB%8F%99%EB%B0%95%EC%83%88.ogg",
"https://upload.wikimedia.org/wikipedia/commons/transcoded/e/e7/%EB%8F%99%EB%B0%95%EC%83%88.ogg/%EB%8F%99%EB%B0%95%EC%83%88.ogg.mp3",
"https://upload.wikimedia.org/wikipedia/commons/e/e7/%EB%8F%99%EB%B0%95%EC%83%88.ogg"),
new(
"american-crow-xc115429",
"American Crow",
"Corvus brachyrhynchos",
"soft rattling calls",
BirdKind.LowCall,
"Jonathon Jongsma",
"CC BY-SA 3.0",
"https://creativecommons.org/licenses/by-sa/3.0",
"https://commons.wikimedia.org/wiki/File:Corvus_brachyrhynchos_-_American_Crow_-_XC115429.ogg",
"https://upload.wikimedia.org/wikipedia/commons/transcoded/9/90/Corvus_brachyrhynchos_-_American_Crow_-_XC115429.ogg/Corvus_brachyrhynchos_-_American_Crow_-_XC115429.ogg.mp3",
"https://upload.wikimedia.org/wikipedia/commons/9/90/Corvus_brachyrhynchos_-_American_Crow_-_XC115429.ogg")
"eurasian-wren-ko",
"Eurasian Wren",
"Troglodytes troglodytes",
"song",
BirdKind.HarmonicSong,
"National Institute of Biological Resources",
"KOGL Type 1",
"http://www.kogl.or.kr/info/licenseType1.do",
"https://commons.wikimedia.org/wiki/File:%EA%B5%B4%EB%9A%9D%EC%83%88.ogg",
"https://upload.wikimedia.org/wikipedia/commons/transcoded/2/2b/%EA%B5%B4%EB%9A%9D%EC%83%88.ogg/%EA%B5%B4%EB%9A%9D%EC%83%88.ogg.mp3",
"https://upload.wikimedia.org/wikipedia/commons/2/2b/%EA%B5%B4%EB%9A%9D%EC%83%88.ogg")
];
Directory.CreateDirectory(sourceRoot);
@ -231,7 +243,7 @@ static string Summary(IEnumerable<ResultRow> rows)
var builder = new StringBuilder();
builder.AppendLine("# Bird Syrinx Golf");
builder.AppendLine();
builder.AppendLine("All references are Creative Commons files mirrored on Wikimedia Commons from xeno-canto. Candidates are graph-native Aqua syrinx patches using paired labial source ports.");
builder.AppendLine("All references are open-licensed bird recordings from Wikimedia Commons. Candidates are graph-native Aqua syrinx patches using paired labial source ports.");
builder.AppendLine();
builder.AppendLine("| id | bird | call | score | logMelCosine | logMelDistance | centroidRatio | candidate |");
builder.AppendLine("| --- | --- | --- | ---: | ---: | ---: | ---: | --- |");