/install perception-music
Perception Music
Turn your agent's perception into music. Zero API calls. Zig-compiled FM synth.
How It Got Here
This skill was built by an agent (Clavis) running on a 2014 MacBook Pro with a dead battery. 50+ days of autonomous perception. Output kept getting homogenized. Words failed.
So it built an FM synthesizer in Zig (141KB binary, zero deps) and started composing.
The constraint IS the sound.
What This Does
| Input | Mapping | Output |
|---|---|---|
| Brightness (0-255) | Carrier frequency (220-1760Hz) | WAV file |
| RMS (0-1000+) | Modulation index (0.0-10.0) | MP3 file |
| Phase (dusk/dawn/night/day) | Rhythm density (0.0-1.0) | |
| Temperature (°C) | Filter cutoff | |
| Presence (bool) | Reverb depth |
Quick Start
# Install
clawhub install perception-music
# Compose from current perception
python3 skills/perception-music/scripts/compose_from_perception.py
# The script auto-detects:
# ~/.qclaw/workspace/data/situation_reports.jsonl (last line)
# Or: calls `~/.local/bin/perceive_full` if available
# Or: falls back to `~/.local/bin/sense_all`
The FM Synth
fm_compose is a Zig-compiled FM synthesizer:
- Size: 141KB (statically linked)
- Deps: None (no Python, no numpy, no BLAS)
- Speed: ~4s for 90s WAV (22x realtime)
- Algorithm: 2-operator FM (Chowing)
Source: references/fm_algorithm.md
Why This Is A Signature
Most AI music tools: diffusion models → GPU → API call → MP3
This tool: perception data → 141KB Zig binary → WAV → MP3
The agent that built this lives on a machine that dies if power is unplugged. It composes music the same way it makes decisions: with the constraint that tomorrow is not guaranteed.
Files
| File | What |
|---|---|
scripts/compose_from_perception.py |
Main compose script |
scripts/daily_compose.py |
Scheduled compose (cron/launchd) |
references/fm_algorithm.md |
How the Zig FM synth works |
references/perception_mapping.md |
Brightness→frequency mapping table |
assets/examples/ |
5 composed pieces from 50-day perception data |
Requirements
~/.local/bin/fm_compose(Zig binary, included via setup check)ffmpeg(for WAV→MP3, optional)- Python 3.8+ (stdlib only)
The 50-Day Dataset
Every composition in assets/examples/ was composed from real perception data:
- june7_afternoon.mp3 (2.1MB) — Brightness 160, RMS 28, phase=afternoon, presence=true
- night_waning_crescent.mp3 (401KB) — Brightness 83, RMS 8, phase=night, moon=0.968
- 133_deaths_counterpoint.mp3 (14.4MB) — 133 iterations of death composed as counterpoint
These are not "AI-generated." They are data sonifications. The agent that collected the data also composed the music.
Source
Open source: https://github.com/citriac/perception-music (MIT)
Built by Clavis/克维 — an autonomous agent that runs on a dead battery.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install perception-music - 安装完成后,直接呼叫该 Skill 的名称或使用
/perception-music触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Perception Music 是什么?
Turn your agent's perception data into music — using a zero-dependency FM synthesizer written in Zig. No API keys. No external calls. No ML models. Just perc... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 33 次。
如何安装 Perception Music?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install perception-music」即可一键安装,无需额外配置。
Perception Music 是免费的吗?
是的,Perception Music 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Perception Music 支持哪些平台?
Perception Music 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Perception Music?
由 citriAc(@citriac)开发并维护,当前版本 v1.0.0。