Waveloop: What Fable left me(neynt.ca) |
Waveloop: What Fable left me(neynt.ca) |
Nods knowingly. Yes, of course. I definitely know this.
An octave (for example from a C to the next C) is a doubling in frequency. In the Western diatonic system, there are 12 notes per octave. (C, C#, D, D#, E, F, F#, G, G#, A, A#, B). Notes are "evenly spaced" within the octave - every note has the same ratio between its frequency and the frequency of the next note. Hence, that ratio is ¹²√2
On a piano you move up an octave by going up by 8 white keys, or 12 semitones (white and black keys). Going up by 4 semitones is called a "major third", which multiplies the frequency of the note by 5/4. If you do three major thirds you get an octave. However, notice that (5/4) multiplied by itself three times is 125/64 which is actually slightly less than 2.
In fact there is no way to tune a piano perfectly - there has to be a compromise in the intervals somewhere. The reason for this is exactly that no rational number (fraction) equals 2 when raised to an integer power.
As any reasonable person would.
What a strange era we now live in.
This is incredible stuff and I learned a lot. Well done sir.
Ps, also mourning the loss of Fable! It sorted out a 3 month bug hunt odyssey in 3 days. For a somewhat novel problem in a pretty niche area (DSD DoP audio crackle problems during certain playback edge cases).
Left me that code and a massive code review that unfortunately didn't contain any of the I/O and memory safety hardening I wanted. I haven't fully reviewed the code yet. I get a little sad when I read it. Not a US citizen so I'm not sure I'll ever get to use a state of the art model again.
...or tomorrow:
I have in mind an image of ASI as something that's able to seamlessly work across time as if it was weaving cloth. Reasoning about not just first or second order effects, but able to richly play with the nature of causality itself. In the limit, it effects change far into the distant future simply by making only the most minute change in the present then sitting back and waiting for things to play out.
For an AI that can do this, things like "managing subagents" or "context compaction" become child's play. Perhaps we'll know if we're getting close by seeing how well models do at prediction markets.
On the flip side, visualizers have always fascinated me. I love this one, but one build off I've always wanted to see: analyze the entire file a priori, and then generate the visuals. Sort of like a normalization pass, but getting longer form structures decoded ahead of time could be pretty neat.
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 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.
I could be wrong but milkdrop already would do light FFT analysis for effects right?
Wrapping FFT in a log2(freq) % 1 spiral was part of the human direction :)
One of the weaknesses of the video is that there are artifacts in the narration of passing through a text layer. "Bass" is pronounced as the fish at one point. "Wound" is pronounced as the injury. It's clear that these are homonyms of what was actually intended by the script.
It honestly makes my ears bleed. To me, it sounds like an extremely unintelligent person reading a teleprompter. Absolutely nothing going on between the ears.
I absolutely hate this revolting writing style by LLMs
Hard to believe that something that writes so terribly is so good at mathematics, given that writing non-slop must be at least some part formulaic.
Yes - I had Fable tackle some long-standing bugs in some code I had and I quickly lost track of what it was talking about and had to ask a lot of clarifying questions.
It killed my bugs like they were nothing though. Opus and even GPT5.5 had churned on these same things for ages, but even with my manual help we made no progress.
It felt like they weren't the slightest bit challenging for Fable. So glad to see it back!
Am I missing a joke? L5 is just a single promotion away from hiring-out-of-college, at least for the FAANG that I was at.
Not that 2 promotions is a "steady stream"...
Anyone who says LLMs can't reproduce intelligence I mean really? can you make this? its not just a talking database guys or a stochastic parrot...
too bad Fable was nerfed/gatekept by the Trump corruption selection committee..but the technology will not be silenced.. we just need to get humans ready for this capabilities. the jury is out on the future of that.
TFA seems to be about some AI thing. Crazy how many words are actually just AI things now. Learning, reinforcement, language, model...
There are other tuning systems, which I intentionally avoided discussing because it starts involving LOTS more music theory very quickly. But to quickly describe it: pleasant sounding combinations of notes generally occur at simple ratios. If you look at a simple major chord, like C-E-G, the E would be at 5/4 the frequency of C, and the G would be at 3/2 the frequency of C. However if you tuned a piano like this, it would be specifically anchored to the root note of C, as that's what we're referencing those ratios from. (This would be "the key of C major.") It just so happens that in 12-TET tuning, we get ratios that are very close to these simple fractions, and since the tuning is "equal", it works for any key/root note.
Personally, I think it's a feature that Em looks substantially similar to CM7. If this was all working fully as intended, I suppose you might get a clue from the darker-colored bass note.
A bass player probably has a different perspective, but as a keyboard player, it's pretty much always fine to play an Em over a CM7. It's just a "voicing choice".
as fable came out, the first thing i did was asking it to analyze some of my projects and ideas and write plans and suggestions, more than implementations. nothing incredibly revolutionary came out but i still see these as its 'last will'.
i'm sure some of you here have a few fable's relics/stories that you consider special precisely because of its abrupt demise.
Just intonation also suffers from harmonic issues when building certain chords, but the tradeoff is that there isn't "beating", or resonant pulsing due to frequency mismatches, since in equal temperament, the notes are slightly detuned in order to fit into the scale, as you've mentioned. Another benefit of just intonation is that it's been observed to be the instinctive intonation used by humans.
https://www.ecfr.gov/current/title-15/part-772/section-772.1...
https://gally.net/temp/20260701_Fable_synthesizer_2_with_pro...
I then gave that full prompt to Fable in Claude Code. Here is the result:
https://gally.net/temp/20260701_Fable_synthesizer_2_with_pro...
For the second, I just gave a short prompt [1] directly to Fable in Claude Code. Here is that result:
https://gally.net/temp/20260701_Fable_synthesizer_3_with_dir...
I can’t say that one is better than the other; that would take a lot more tests, and the judgments would be pretty subjective in any case.
Both were completely one-shot. Last year, when I was doing similar tests with various models, the synthesizers rarely worked right on the first shot, and I would have to do some back-and-forth to get them functioning. This time, Fable was able to open the files in Chrome itself, view and adjust the page layout, and monitor the browser events for errors. Each time it made some adjustments to the file. The only thing it wasn’t able to do was listen to and assess the sounds produced.
[1] “Write a browser-based synthesizer for me. 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.”
I should mention that Fable also did an impressive job on a couple of major project-redesign tasks I gave it. Those aren't things I can share here, though.