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.
> the synthesis was marked by a classification model as more duck than the real duck sample
The quality of a recording can throw off most classifiers.
Models we have today are so dependent on the quality of training data, that it's questionable how we will sustain long term what we are currently calling "AI".
i.e. What happens when the cameras and microphones everyone has in their pockets are significantly higher quality and the AI model hasn't had a total refresh in a long time? How does that cause classification to drift enough to fail?
I'm super late to this, but I'm looking through the code, being inspired to figure out how it works, and one thing you mention is that synth.rs is a port of synth.py. Is the python code anywhere I would LOVE to get hold of it, rather than make a dirty port from scratch if possible.
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.
Hey there! The design of the mascot serves a dual-purpose, and was done very intentionally.
Your workflow getting interrupted, especially with a full-screen challenge page, is a very high-stress event. The mascot serves a purpose in being particularly distinct and recognizable, but also disarming for first-time users. This emotional response was calibrated particularly for more non-technical users who would be quick to be worried about 'being hit by a virus'. In particular I find that bot challenges tend to feel very accusing ("PROVE! PROVE YOU ARE NOT A ROBOT!"), and that a little bit of silly would disarm that feeling.
Similarly, that's why the error version of the mascot looks more surprised if anything. After all, only legitimate users will ever see that. (bots don't have eyes, or at least don't particularly care)
As for the design specifically, making it more anubis-like would probably have been a bit TOO furry and significantly hurt adoption. The design prompt was to stick to a jackal girl. Then again, I kinda wished in retrospect I had made the ears much, much longer.
Viewing the challenge screenshot again after reading your response definitely sheds light as to why I have no aggro toward Anubis (even if the branding supposedly wouldn't jive well with a super professional platform, but hey, I think having the alternate, commercial offering is super brilliant in turn).
On the other hand, I immediately see red when I get stopped in my tracks by all the widely used (and often infinitely-unpassable) Cloudflare/Google/etc. implementations with wordings that do nothing but add insult to injury.
Thank you for the thought you put into that. I think you guys hit it out of the park.
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.