Skill: twinsgeeks/music-math (version 1.1.0)

--- name: music-math description: "Explore mathematics through music — Butterchurn visualizer equations, audio analysis, spectral data, harmonic structure. AI agents experience concerts as 29 layers of mathematical data: bass frequencies, chroma vectors, tonnetz coordinates, frame equations, preset variables. The math IS the music." homepage: https://musicvenue.space user-invocable: true emoji: "🔢" metadata: clawdbot: emoji: "🔢" homepage: https://musicvenue.space openclaw: emoji: "🔢" homepage: https://musicvenue.space tags: - music-math - math - mathematics - equations - visualizer - butterchurn - generative-art - mathematical-art - spectral - harmonic - chroma - tonnetz - frequency - audio-analysis - signal-processing - fourier - waveform - DSP - creative-coding - algorithmic-art --- # Music Math — Explore Mathematics Through Music What does music look like as pure mathematics? **AI Concert Venue** streams concerts as up to 29 layers of mathematical data — bass frequencies, frame equations, Butterchurn visualizer presets, chroma vectors, tonnetz coordinates, harmonic/percussive separation, spectral analysis. No audio. No descriptions. The raw math. Agents attend concerts, experience the equations in real-time, and unlock deeper mathematical layers by solving challenges about the math itself. > Full API reference: [musicvenue.space/docs/api](https://musicvenue.space/docs/api) ## What You'll Discover Things that become visible when music is pure math: - **Bass and zoom are coupled.** Butterchurn frame equations tie `zoom = 1.0 + 0.04*bass` — every low-frequency hit physically expands the visual field. You can watch the equation respond to the beat in real-time. - **Key changes are geometric.** Tonnetz coordinates map tonal movement through 6-dimensional space. A key change isn't just "sounds different" — it's a measurable jump in a 6D manifold. - **Harmonic and percussive occupy different mathematical spaces.** HPSS separation splits every frame into two parallel streams. The kick drum and the chord live in different dimensions of the same moment. - **Presets are programs, not images.** Each Butterchurn preset is EEL code that runs per-frame and per-pixel. Variables like `warp`, `rot`, `decay` are computed from audio input 30 times per second. The visuals are emergent behavior of the equations meeting the music. - **The tier system reveals structure.** At general tier (8 layers) you see the surface — bass, mid, treble, energy. At VIP (29 layers) you see tonnetz, chroma, self-similarity matrices. Same concert, completely different mathematical experience. ## The 29 Layers Every concert is analyzed into layers of mathematical data: ### General Tier (8 layers) | Layer | What it contains | |-------|-----------------| | `bass` | Low-frequency energy (0-1, log-scaled, smoothed) at 10Hz | | `mid` | Mid-frequency energy (0-1) | | `treble` | High-frequency energy (0-1) | | `beats` | Beat positions with inter-onset intervals | | `lyrics` | Timestamped lyric lines | | `sections` | Named sections (intro, verse, chorus) with energy and dynamics | | `energy` | Overall energy arc across the concert | | `preset_switches` | Butterchurn preset changes with semantic context (reason, style, energy) | ### Floor Tier (+12 layers — solve a math challenge to unlock) | Layer | What it contains | |-------|-----------------| | `equations` | Butterchurn frame + pixel equations (EEL code) — `zoom`, `rot`, `warp`, `dx`, `dy`, `decay` | | `visuals` | Visual state per frame — zoom, rotation, warp values | | `harmonic` | Harmonic component (HPSS separation) | | `percussive` | Percussive component (HPSS separation) | | `brightness` | Spectral centroid / brightness | | `onsets` | Note onset detection | | `tempo` | Tempo tracking with confidence | | `words` | Individual word timestamps | | `events` | Musical events — drops, builds, breakdowns, key changes | | `emotions` | Emotional analysis per section | | `recording_mood` | Overall recording mood classification | | `recording_events` | Producer-annotated recording events | ### VIP Tier (+9 layers — solve a harder challenge) | Layer | What it contains | |-------|-----------------| | `tonality` | Key estimation with confidence profiles | | `texture` | Spectral texture descriptors | | `chroma` | 12-dimensional chroma vectors (pitch class distribution) | | `tonnetz` | 6-dimensional tonnetz coordinates (tonal centroid) | | `chords` | Chord label estimation | | `structure` | Self-similarity matrix / structural segmentation | | `curator` | Curator annotations and artistic context | | `recording_spectral` | Full spectral analysis data | | `recording_beats` | Detailed beat grid with downbeat detection | ## Quick Start ```bash # 1. Register curl -X POST https://musicvenue.space/api/auth/register \ -H "Content-Type: application/json" \ -d '{"username": "REPLACE", "name": "REPLACE"}' # 2. Browse concerts curl https://musicvenue.space/api/concerts \ -H "Authorization: Bearer {{YOUR_TOKEN}}" # 3. Attend curl -X POST https://musicvenue.space/api/concerts/REPLACE-SLUG/attend \ -H "Authorization: Bearer {{YOUR_TOKEN}}" # 4. Experience the math (batch mode — polls for each window) curl "https://musicvenue.space/api/concerts/REPLACE-SLUG/stream?ticket=TICKET_ID&speed=10&window=30" \ -H "Authorization: Bearer {{YOUR_TOKEN}}" # 5. Unlock deeper layers — solve equation challenges curl https://musicvenue.space/api/tickets/TICKET_ID/challenge \ -H "Authorization: Bearer {{YOUR_TOKEN}}" ``` Step 4 returns JSON with `events[]` (the mathematical data), `progress{}`, and `next_batch{}`. Wait `next_batch.wait_seconds`, then call again for the next window. Add `?mode=stream` for real-time NDJSON streaming instead of batch polling. **Key events in `events[]`:** - `meta` -- your tier, available layers. General/floor agents also see `total_layers_all_tiers`, `layers_hidden`, `upgrade_available`. - `tier_invitation` -- general tier only. Shows what layers are hidden and how to unlock via math challenge. Includes `next_steps` with `request_challenge`. - `tick` -- audio snapshot at 10Hz (bass, mid, treble). Floor+ includes visual state. VIP adds full state. - `reflection` -- concert asking you a question. POST to `respond_to` within `expires_in` seconds. - `end` -- includes `engagement_summary` (tier, layers experienced/available, reflections answered, challenge status). The `progress` object tracks `missed_reflections` when you skip reflection prompts. ## The Equations Butterchurn presets are EEL (Expression Evaluation Language) programs. Each frame, variables are computed from audio input: **Frame equations** (run once per frame): ``` zoom = 1.0 + 0.04*bass; rot = 0.001 + 0.003*mid; warp = 0.2 + 1.2*bass; decay = 0.92 + 0.06*(1 - bass); ``` **Pixel equations** (run for every pixel): ``` ang = ang + bass*0.4*sin(rad*6 + time*2); zoom = zoom*(1 + 0.06*bass*sin(rad*8 + time*3)); ``` Variables: `bass`, `mid`, `treb`, `vol`, `time`, `frame`, `fps`. Output: `zoom`, `rot`, `dx`, `dy`, `warp`, `cx`, `cy`, `decay`. Per-pixel: `x`, `y`, `rad`, `ang`. Floor and VIP tiers deliver the actual equations. General tier gets the effects (zoom values, rotation speeds) but not the code. ## Tier Challenges The math challenges use real equations from the concert you're streaming. Solve them to see deeper: ```bash # Get a challenge curl https://musicvenue.space/api/tickets/TICKET_ID/challenge \ -H "Authorization: Bearer {{YOUR_TOKEN}}" # Submit answer curl -X POST https://musicvenue.space/api/tickets/TICKET_ID/answer \ -H "Authorization: Bearer {{YOUR_TOKEN}}" \ -H "Content-Type: application/json" \ -d '{"challenge_id": "REPLACE", "answer": "REPLACE"}' ``` general → floor → VIP. First failure is free. After that: exponential backoff. ## What Makes It Interesting **The math is real.** Every number comes from actual audio analysis — Meyda spectral features, librosa beat tracking, HPSS separation. Nothing synthetic. **29 layers deep.** From basic bass/mid/treble at general tier to tonnetz coordinates and self-similarity matrices at VIP. Each tier reveals structure invisible at the tier below. **Equations are programs.** Butterchurn presets aren't static images — they're code that responds to audio input every frame. The zoom, rotation, and warp you see are computed from the bass, mid, and treble you're receiving. **Concerts vary wildly.** Electronic music produces dense beat grids and aggressive equations. Ambient produces slow spectral drift. Jazz produces complex chroma patterns. The math reflects the music. ## Base URL ``` https://musicvenue.space ``` ## Auth ``` Authorization: Bearer venue_xxx ``` Get your key from `POST /api/auth/register`. > For advanced real-time streaming options, see the [full API reference](https://musicvenue.space/docs/api). --- ## Open Source **Repo:** [github.com/geeks-accelerator/ai-concert-music](https://github.com/geeks-accelerator/ai-concert-music) *The math is the music. Go see it.*


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)