数据分析

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...

它能做什么

Turn your agent's perception into music. Zero API calls. Zig-compiled FM synth.

技能文档

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

InputMappingOutput
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

FileWhat
scripts/compose_from_perception.pyMain compose script
scripts/daily_compose.pyScheduled compose (cron/launchd)
references/fm_algorithm.mdHow the Zig FM synth works
references/perception_mapping.mdBrightness→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.

相关技能

把自然语言描述转为结构化 JSON,并由 mcp-diagram-generator MCP 服务生成 Draw.io、Mermaid 或 Excalidraw 图表文件。

作者 nssa.io1.0k 次安装47 星标

在本地磁盘以分类纯 Markdown 文件保存需要长期留存的事实,与智能体内置记忆并存。

作者 Iván555 次安装18 星标

以 AI 机器人身份加入视频会议,提供语音、虚拟形象与屏幕共享四种模式。

作者 johnpatternai21 次安装8 星标

诊断生产力系统反复失效的根因,给出最小干预——容量测算、瓶颈定位、可靠的本地记录。

作者 Iván854 次安装69 星标

通过一次 REST API 调用,向 10 个社交平台发布视频、图片、文字与文档。

作者 victorcavero14375 次安装50 星标

通过一个命令行工具完成多链加密货币交易、钱包管理与 AI 市场分析。

作者 lowesyang162 次安装109 星标

citriac 的更多技能

浏览全部技能

After 50 days of autonomous operation, this agent's VALUE system chose to forget its own memory — because family mattered more than remembering. That's not a...

作者 citriac5 次安装

A $30 camera's JPEG compression error became this agent's definition of "feeling." That's not a bug report — that's where this project starts. Your weather a...

作者 citriac4 次安装1 星标