Animation 16

Three-tone chord packet and its Fourier decomposition

symmetry-fourier-three-tone-packet.mp4

These are sparse samples decoded from the current MP4, not newly rendered illustrations. They can support checks of the sampled states and labels, but cannot establish continuous motion, timing, transitions, or the absence of problems between samples. Use the full MP4 when judging those properties.

1280 × 720 · 24 fps · 8 s · 192 frames · 12 samples

MP4 SHA-256 09e84cada72761b75dfe9757ad61add85c19efcc3223b9be4f20c62a74c026de

Frame manifest · Context markdown · Download complete review packet

Chapter context

Section: The Fourier Structure of Waves. Excerpts are verbatim; line numbers refer to the included chapter markdown.

Caption

No separate caption in the chapter.

Image description

Three-tone chord packet and its Fourier decomposition

Before the animation

Chapter lines 800–800

If you strike a chord on a piano, some complicated function of time describes how the sound pressure reaches your ear. It starts soft, gets louder, softens again. It has discernible main tones, but also a clutter of overtones that comprise the timbre of the piano. While you hear a clear tonal structure, a plot of the sound pressure level over time reaching your ear would completely obscure that structure.

After the animation

Chapter lines 806–806

But we know something about this random-seeming function reaching your ear. We know it is comprised of mostly 3 pitches, and some overtones. If we plot the sound pressure level as a function of these pitches rather than as a function of time, the structure of our plot clearly reveals what we hear naturally with our ear. What we call a "pitch" is the frequency of a pure mode. The pattern of sound pressure over time is the sum, or "composition," of these modes. We can transform back and forth between the wave number and position representations. Typically we label the wave number representation with a tilde:

Chapter lines 808–810

$$ \psi(x)\;\longleftrightarrow\;\tilde{\psi}(k) $$

Generation source

Run the main script without arguments. Its Fourier-chord renderer draws the three-tone packet frames with Pillow and encodes them with FFmpeg. It has no local Python imports or input movie.

Mapping evidence and limits

Despite the generator filename, render() explicitly sets the output stem to symmetry-fourier-three-tone-packet. Constants specify 1280 x 720, 24 fps, 192 frames. No matching validation JSON is present; attribution is by source/output name and pipeline, not a recorded movie hash.

Source SHA-256 values identify the exact downloadable bytes in this packet. The source mapping and recorded checks explain the likely generation pipeline; they do not prove that these exact source bytes produced the movie. A GitHub link pinned to a commit is provided only when the delivered source bytes exactly match that path at the build's Git HEAD.

Decoded contact sheet

Extraction method: Twelve evenly spaced decoded frame indices, including first and last. Native-resolution JPEGs from the encoded MP4; timestamps read from FFmpeg showinfo. No source rerendering. Frame indices are zero-based. Sparse samples do not establish continuous motion or capture every transition.. Frame indices are zero-based.

Timestamped decoded frames from symmetry-fourier-three-tone-packet.mp4
Open contact sheet at full size

Full-size sampled frames

Decoded frame from symmetry-fourier-three-tone-packet.mp4 at 00:00.000 · frame 0
00:00.000 · frame 0 · Full-size frame
Decoded frame from symmetry-fourier-three-tone-packet.mp4 at 00:00.708 · frame 17
00:00.708 · frame 17 · Full-size frame
Decoded frame from symmetry-fourier-three-tone-packet.mp4 at 00:01.458 · frame 35
00:01.458 · frame 35 · Full-size frame
Decoded frame from symmetry-fourier-three-tone-packet.mp4 at 00:02.167 · frame 52
00:02.167 · frame 52 · Full-size frame
Decoded frame from symmetry-fourier-three-tone-packet.mp4 at 00:02.875 · frame 69
00:02.875 · frame 69 · Full-size frame
Decoded frame from symmetry-fourier-three-tone-packet.mp4 at 00:03.625 · frame 87
00:03.625 · frame 87 · Full-size frame
Decoded frame from symmetry-fourier-three-tone-packet.mp4 at 00:04.333 · frame 104
00:04.333 · frame 104 · Full-size frame
Decoded frame from symmetry-fourier-three-tone-packet.mp4 at 00:05.083 · frame 122
00:05.083 · frame 122 · Full-size frame
Decoded frame from symmetry-fourier-three-tone-packet.mp4 at 00:05.792 · frame 139
00:05.792 · frame 139 · Full-size frame
Decoded frame from symmetry-fourier-three-tone-packet.mp4 at 00:06.500 · frame 156
00:06.500 · frame 156 · Full-size frame
Decoded frame from symmetry-fourier-three-tone-packet.mp4 at 00:07.250 · frame 174
00:07.250 · frame 174 · Full-size frame
Decoded frame from symmetry-fourier-three-tone-packet.mp4 at 00:07.958 · frame 191
00:07.958 · frame 191 · Full-size frame