Remix.run Logo
▲ MitPitt 2 hours ago

i suppose this is an environment noise generator, with duck calls just being recordings. i wish you could control ducks individually, after i threw peas they just hang out near mic forever

▲celphase 25 minutes ago | parent | next [-]

This actually uses no recordings. All duck sounds are modeled live, with the quacks and rhaebs specifically modeling the duck's syrinx and vocal tract. The github repository has a full technical breakdown.

▲erikschoster 28 minutes ago | parent | prev [-]

It does appear to synthesize the audio with a wasm module compiled from rust, presumably developed as a python script first based on the source comments.

https://github.com/celphase/duck-pond/blob/main/src/synth.rs

To the credit of the author there is also an attribution file which describes a process of deriving the models from recordings (none of the techniques are very novel, but it's fairly impressive to see automated -- edit: I assume the project is LLM-generated) https://github.com/celphase/duck-pond/blob/main/ATTRIBUTION....

▲celphase 2 minutes ago | parent [-]

The project was created with significant LLM use, I'd add claude as a co-contributor if I could do so manually. I don't personally like to have it added as a co-author on commits on my own projects, though I always make sure it's there if I submit PRs using it.

Honestly I can't take credit for any major input on it other than a few technical choices. Audio is entirely outside my wheelhouse beyond what happens at the platform API level.

The process involved running the LLM in a loop to gradually correct parameters of a synthesis stack to have the spectrogram of the output match the spectrogram of a real recorded sample. One funny part is where the synthesis was marked by a classification model as more duck than the real duck sample.