## 1. Your prompt, rewritten > "Animate my attached bot (a white sphere with two slanted black capsule eyes) using as many FX (effects) techniques as possible. Draw from early gaming through modern real-time 3D, film, video and painting. Think like an animator, director, game developer and fine artist. First give me the full catalog, ordered by sequence. Then build one bot at a time as a live, interactive demo. Keep the character consistent across all demos. Pause after each one. Flag any technique that needs an external API before you use it."
## 2. What option 38 shows
- **The demo track is generated live, not a recording.** Synthesised drums, bass and melody at 112 BPM loop through four chords, built from oscillators and noise.
- **Every frame, the sound is split and measured:**
| Signal | Measured as | Bot reaction |
|---|---|---|
| Beat | Sudden bass jump above its recent average | Hop, squash on landing, lean left/right alternately, cyan flash |
| Bass | 40–160 Hz energy | Body swells slightly, background warms |
| Mids | 160 Hz–2 kHz | Dance lean grows |
| Highs | 2–9 kHz | Sparkles shoot off the rim |
| Loudness | Overall wave level | Eyes widen when loud |
| Pitch | Strongest frequency | Eyes shift up for higher notes |
| Silence (3 s+) | Very low level | Half-closed eyes, floating "z z" |
- **Beat detection estimates tempo.** The gaps between detected beats give a live BPM (beats per minute) readout.
- **Spectrum ring:** 64 bars around the bot, low notes at the top running clockwise to highs, in a blue-to-violet sweep.
## 3. Experiments
1. **Play, then drag Sensitivity down to 0.5.** Only strong kicks trigger hops. At 3.0 it reacts to hi-hats too and becomes hyperactive. Sensitivity sets the bot's personality.
2. **Stop the track and wait 3 seconds.** The bot dozes off. Silence is a state, not just "nothing."
3. **Try "Use microphone."** If the page allows it, talk, clap or play music. Claps make beats; whistling moves the eyes. If it's blocked, a message says so. One known quirk: if the mic *does* work, the demo track may play silently afterwards; reopen the widget to reset.
## 4. Less obvious details
- **Beats are relative, not absolute.** The detector compares bass to its own average over the last ~0.7 seconds, so it works for quiet and loud music alike, and ignores steady drones.
- **A 0.25-second cooldown after each beat** stops one kick from counting twice. It also caps detection at about 240 BPM.
- **The kick is a falling sine wave.** Pitch drops from 130 to 42 Hz in a split second. That's how most electronic kick drums are made.
- **Reactions are smoothed differently.** Eyes ease in over a fraction of a second; beats hit instantly. Mixing sharp and smooth responses keeps it from looking twitchy.
## Examples
**Analysis pipeline**
```
source (synth or mic) ──► analyser (1024-point FFT, ~60×/s)
├─ bands: bass | mid | high ──► body, lean, sparkles
├─ waveform RMS ──► eye widening / sleep
├─ peak bin ──► eye height (pitch)
└─ bass vs rolling average ──► BEAT ──► hop + lean flip + BPM
```
**Beat rule**
```
if bass > average(last 0.7 s) × 1.3 + 0.04
and time since last beat > 0.25 s
and bass > 0.15
→ beat (strength = how far above average)
```
**Demo track grid (one bar, 16 sixteenths)**
```
kick X . . . X . . . X . X . X . . .
snare . . . . X . . . . . . . X . . .
hat x x x x x x x x x x x x x x O x
bass o . o . o . o . o . o . o . o .
```
G. Generative / procedural