▲ 61 r/M5Stack+1 crossposts

M5-Lyrebird

Not long ago i made lyrebird — tl;dr a synthetic bird voice mimic.

and not long after that i converted another one of my projects into a web flasher, so anyone with a cheap yellow display can run it.

i had a bunch of M5Stack Core S3 and a Fire lying around and never knew what to do with them, so i turned them into a portable lyrebird.

repo: https://github.com/sha5b/M5Stack-Lyrebird

the sound of the Fire is a bit noisy in the video — i broke that one.

The Web Flahser is for Fire and Core S3

u/Legitimate-Ad-1861 — 7 days ago
▲ 62 r/CheapYellowDisplay+1 crossposts

Physarum on the Cheap Yellow Display

A while back I built a Physarum (slime mould) simulation in three.js, in 2D and in some non-euclidean 3D spaces: https://physarum.variable.gallery

That project grew out of some older code I still had lying around. This comment got me thinking about a web flasher, so I dug the old code out, put it on a CYD, and open sourced the lot.

My basic motivation was to make a electronic pet.

Repo: https://github.com/sha5b/CYD-Physarum
Flash it from the browser: https://cydphysarum.variable.gallery

Runs on the CYD 3.5", 2.8" and 2.4" (both R and C). One binary drives all of them. 500 agents, 240 MHz, no PSRAM.

u/Legitimate-Ad-1861 — 11 days ago
▲ 153 r/generative+1 crossposts

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

u/Legitimate-Ad-1861 — 14 days ago
▲ 23 r/generative+2 crossposts

I like stones, and since AI "took our jobs," what's better than looking at them all day?

Since ai "took our jobs" i thought a new hobby would be on the schedule, so what better hobby to have than to look at stones and contemplate about them?

turns out the japanese figured this out centuries ago — it's called suiseki, the art of appreciating small stones that look like vast landscapes. a mountain range you can hold in your hand. peak mindfulness, literally.

good viewing stones take millennia of water, frost and wind to form. my attention span does not operate on geological timescales. so i did what any reasonable person would do — i wrote a program.

it procedurally generates the stones, then runs an erosion simulation on them — rain carves little gullies down the flanks, soft rock recedes, hard rock stands proud. the stones keep weathering slowly in real time.

each one sits on its own base in a museum exhibit for a rock. you stare at it. it does not stares back. nobody ships anything. it's great.

ai took my job so i built a stone contemplation machine. the circle is complete.

anyway. i liek stones.

https://suiseki.variable.gallery/

u/Legitimate-Ad-1861 — 25 days ago
▲ 22 r/babylonjs+2 crossposts

undefined gallery - admission free, and priced accordingly

It's an endless chain of procedural galleries. An AI writes each exhibition — titles, wall text, pretentious curator remarks — and Stable Diffusion paints it onto the walls live, in your browser, while you stand there. When you leave, the whole gallery is deleted forever and a new one generates. Infinite art, zero audience, no market, no critics. Basically Instagram, but honest about it.

I gave the game a narrator — dry, British, faintly disappointed — who notices. Stand still in front of a painting and he softens. Stare long enough and it gets a red dot: sold, paid for in minutes of your life. Keep doing laps without looking at anything and he starts commenting on that instead. When he runs out of lines, he complains about having run out of lines.

Also you can flip gravity onto any wall and walk on it.

Inspirations: The Stanley Parable's (obviously) Escher (every wall is a floor waiting for a promotion), liminal space / backrooms vibes (fluorescent hum, rooms that continue without you), and real gallery openings — red dots, wine, nobody looking at the art. I just automated the whole industry and gave it one visitor.

Tech, for the curious: everything runs client-side, no server, no API keys. SD-Turbo via ONNX (WebGPU, WASM fallback), Qwen 0.5B writes the exhibitions, Kokoro TTS does the voice, SvelteKit + Babylon.js. Deterministic by seed, so your weird gallery is reproducible.

Fair warning: ~2GB model download on first visit and desktop only. I am asking you to download an entire art world. It's still smaller than one Call of Duty update.

https://undefined.variable.gallery/

u/Legitimate-Ad-1861 — 1 month ago
▲ 11 r/generative+2 crossposts

Procedural living picture gallery

I draw a lot of analog stuff — sketches, painting, drwaings — and every way of putting it online felt dead. A grid of images, you scroll, you leave. Nobody looks at anything for more than two seconds.

So I've been trying something else: the gallery is an endless isometric voxel world, and the drawings are scattered through it as fragments. You drag the world around with a hand , pick up loose ruin pieces, and carry relief fragments back to their plates to restore the artworks.

BUT the world does its own thing without you. Small tribes set up camps, haul ruin pieces to build monuments, walk trade routes, perform rituals around finished art. Creatures forage. Plants spread. You can help them build by dropping pieces on their construction sites, or just watch. Come back to a spot later and it looks different.

Tech: SvelteKit + Threlte, marching-cubes chunk streaming, everything deterministic from a seed so the terrain is a pure function of coordinates. Rapier for physics but only in a small island around the camera so it stays cheap.

Still rough in places and I'm mostly tuning by eyeballing it.

https://scribbleverse.variable.gallery/

u/Legitimate-Ad-1861 — 12 days ago
▲ 8 r/rclone+3 crossposts

Made a GTK app for OneDrive/SharePoint + mail because GOA sucks

I kept running into two problems on Linux: Microsoft business accounts are a pain to actually use, and GNOME Online Accounts has been flaky with Google lately. I just wanted something that feels a bit like OneDrive on the desktop — and a single place for mail/calendar across both.

So I made Cloudy. What it does:

  • Mounts OneDrive / SharePoint / Teams libraries as live network drives (show up right in Files)
  • Unified mail + calendar for Microsoft 365 and Google in one window
  • A dashboard for recent mail, upcoming events, and file changes across accounts

Fair warning: it's vibecoded and still buggy. Putting it out there in case it helps anyone in the same boat.

Stack

  • UI: GTK4 + Libadwaita, Blueprint for layouts, Python via PyGObject
  • Files: rclone FUSE mounts (live two-way network drives, not synced copies)
  • Mail/Calendar: Microsoft Graph API + Gmail/Google Calendar APIs, normalized to one shape so the views are provider-agnostic; HTML mail rendered with WebKitGTK
  • Auth: MSAL for Microsoft, hand-rolled loopback + PKCE (urllib) for Google; tokens stored in the system keyring via libsecret
  • Desktop integration: a D-Bus status service + a nautilus-python extension for file-manager emblems/menus; also registers as the system mailto:/.ics handler
  • Build & packaging: Meson + Ninja, shipped as a Flatpak (org.gnome.Platform 50) and an RPM

Repo: https://github.com/sha5b/Cloudy
Pages: https://sha5b.github.io/Cloudy/

u/Legitimate-Ad-1861 — 2 months ago