Comment by tkgally

6 days ago

My Fable example is not nearly as cool but still (to me) impressive.

Last year, I would occasionally test the latest models by vibe-coding in-browser music generators using only HTML, CSS, and JS. Here’s one made in July by Gemini:

https://gally.net/temp/20250701synthesizer-gemini2/index.htm...

And one made in September by Claude:

https://gally.net/temp/20250917rhythmdrone/index.html

With Fable, I was able to one-shot something much more sophisticated:

https://gally.net/temp/20260610-fable-synthesizer/index.html

It’s still a long way from creating music I would want to listen to, though.

I love these kind of things - we forget so quickly how much these have improved.

These are lovely. That the Fable one is one-shot is shocking.

  • Just for reference, here is the metaprompt I first gave to Opus:

    “I want to ask Claude Code to write a browser-based synthesizer for me. Please prepare a prompt for it that I can give to it for it to write the synthesizer. The synthesizer should automatically create interesting polyphonic music in which the various voices play off against each other in both harmony and contrast. The controls will affect the tone, rhythmic patterns, number of voices, complexity and randomness of the melodies, and other features. The controlled features should be original—not just standard synthesizer functions—and encourage creative explorations even by naive users. So write a prompt that I can give to Claude Code to create that synthesizer.”

    I then gave the prompt produced by Opus to Fable in Claude Code.

    • You'd probably get better results giving the metaprompt to Fable. Information doesn't magically get created, running something through a dumb model to give to a smart model gets worse results than if you just give the smart model the prompt directly.

      7 replies →