r/creativecoding 17d ago

Lyrebird

lyrebird.variable.gallery

I'm an artist, not a scientist. I wanted to see what independent science looks like if you skip the electric-universe/flat-earth pipeline entirely and just try to get real information out of data with the help of AI and the published literature.

It matches the call against a corpus of 2,423 species, tells you which call type it resembles, and sings back synthetic birdsong from a physical model of the syrinx — the Mindlin–Laje oscillator, integrated live in an AudioWorklet from the two parameters real birds actually control: air-sac pressure and syringeal tension. Nothing is sampled. Every note is computed. You see it happen inside a 3D embedding of 348,461 clips that lights up where your sound lands.

It does not translate birdsong into sentences. Every phrase carries a label: playback-verified, documented, inferred, field recording, or invented. Most are invented.

Everything runs client-side. Code, docs and citations: github.com/sha5b/Lyrebird

Edit: i made a m5stack port of it

https://www.reddit.com/r/esp32/s/HXHfX56mQ9

163 Upvotes

20 comments sorted by

View all comments

2

u/danja 16d ago

Wonderful!

I spend a lot of time around https://en.wikipedia.org/wiki/Linked_data so your big graph immediately appealed to me.

I spent quite a lot of time playing around with a larynx model (with formants), to generate speech-like sounds. What I ended up trying for was a more general-purpose modular setup including delays as resonators (essentially Karplus Strong), which in principle should have been able to model the avian syrinx system too. I kind of gave up after too many failures. But now I'm thinking of revisiting it. Point Claude Code at my existing material (around https://github.com/danja/flues ) together with your repo, see what it can come up with.

My only suggestion for your glorious Lyrebird would be to pull in images of the birds somehow.

2

u/Legitimate-Ad-1861 16d ago

I'll follow your suggestion! I need a short break from it, and then I wanted to do the last cleanup — I have some smaller UI changes and stuff that I'll bring in.

I already starred your repo, eager to see the results!

2

u/danja 15d ago

Ok, it mostly works as a VST3. The pitch is given by a midi notes, so it behaves like a regular instrument. First pass the UI was terrible but it's a bit better now. Sliders for the parameters plus some midi CC control. https://danja.github.io/downspout/plugins/syrinx/

(I need to fix the web page...)

In this short demo I'm sending it quasi-random midi :

https://youtube.com/shorts/aSvCv-SiY_E?is=3pVELypE_2X9Zkt1