notepat: zoo kit goes sample-based — 12 baked animals, native one-shot bank master
Replaces the synthesized ZOO kit with 12 real recordings (CC0/CC-BY/PD) sourced from Wikimedia Commons + cat from freesound. Lasers stays synth for now — the C side is ready for /samples/lasers/ too when those land. - fedac/native/scripts/prep-zoo-samples.sh: ffmpeg pipeline ~/Desktop/notepat-samples/zoo/* → samples/zoo/<name>.raw (48k mono f32, -16 LUFS, snake/lion/owl/whale trimmed) - fedac/native/src/audio.{c,h}: OneShotSample bank (scans /samples/zoo + /samples/lasers + /mnt/... fallbacks), OneShotVoice pool (16 slots), audio_oneshot_play/kill, case-insensitive find_oneshot, own short mutex, mixed parallel to sample_voices - fedac/native/src/js-bindings.c: sound.zoo.play(name, {volume, pan, pitch}) + sound.zoo.kill(id, fade), registered alongside sound.sample - fedac/native/pieces/notepat.mjs: playZoo() body replaced (kill held voices on "up", lookup ZOO_NAMES[letter], sound.zoo.play, push to holdVoices for ZOO_SUSTAIN); ZOO_NOTATION/ZOO_DURATION/kitNotationFor deleted; pad bottom labels now always full names (dog/cat/cow vs DOG/CAT/COW); stochastic notation overlay removed from all kit pads - fedac/native/scripts/build-and-flash-initramfs.sh: bundles samples/zoo/ alongside samples/piano/ at /samples/zoo/ in the initramfs Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>