Let golden grains settle onto standing-wave nodes, then reorganize them into a second vibrating pattern. Each grain descends the squared amplitude of a square-plate standing-wave expression. Small deterministic perturbations keep grains moving while the mode changes. The film visualizes migration toward nodal lines; it does not solve an elastic plate or granular material model. Reuse supplied assets or quote new media through PopNow.

Uses PopNow for
Music & voice
Needs
Python 3 · FFmpeg

Generation is optional when you have suitable input material.

v1.0.0 · Updated Oct 25, 2026 · 4.6 MB · Use it for personal and client work; please don't resell or share the package.

What you get

  1. An editable 8-second 720p sample and local MP4 renderer, silent.

  2. Mode evaluation, particle migration, the transition between modes and the sand presentation are packaged together. You can explore a different pattern by changing integer mode numbers instead of animating every grain.

  3. A six-frame contact sheet, render receipt and input self-check.

Good for

  • Standing-wave art and visual lessons about nodal patterns
  • Original motion backgrounds with moving golden grains

Not for

  • This is a square-plate nodal-field visualization. It does not predict a real plate's resonant frequency, sand friction or engineering response.

How it works

Includes a local renderer

  1. Choose the material

    No source image is required. Grains, the plate and its brass surround are drawn locally.

  2. Shape the motion

    Edit the documented project controls, then validate the exact settings. Distinct mode_n and mode_m integers from 1 to 8 define the initial field.

  3. Render and review

    Export locally to MP4, inspect the contact sheet and watch the whole film. Check that grains actually migrate from scattered positions to the nodal pattern and visibly reorganize during the mode transition.

How the workflow runs

How Chladni Sand Theatre works

Each grain descends the squared amplitude of a square-plate standing-wave expression. Small deterministic perturbations keep grains moving while the mode changes. The film visualizes migration toward nodal lines; it does not solve an elastic plate or granular material model.

What's inside the skill

What you can change

  • Distinct mode_n and mode_m integers from 1 to 8 define the initial field.
  • Grain count from 4,000 to 22,000 changes the visible density.
  • Drive from 0.3 to 2 controls migration speed; the seed changes initial grain positions.

What to review before delivery

  • The local self-check compares three frame samples after a meaningful input change and rejects its documented invalid case.
  • Output protection rejects overlap with input files and preserves existing sidecars unless overwrite is explicit.
  • Check that grains actually migrate from scattered positions to the nodal pattern and visibly reorganize during the mode transition. This final visual review is manual.

See the package files

These are selected working files from this edition, with their actual role. The complete download also contains instructions and applicable license notices.

  • The task-specific motion mechanism and supported inputs.

    scripts/scene.py
  • Protected MP4 export, contact sheet and hash receipt.

    scripts/runtime.py
  • Editable settings used by the supplied sample.

    examples/project.json
  • Actual changed-frame, invalid-input and output-protection checks.

    scripts/selftest.py
  • Input ranges, material placement and honest limits.

    references/inputs.md

Why use this skill

Start with this package

Mode evaluation, particle migration, the transition between modes and the sand presentation are packaged together. You can explore a different pattern by changing integer mode numbers instead of animating every grain.

What PopNow adds

Use PopNow for the missing Music & voice in this workflow. Keep adequate material you already own, then bring new assets back into the editing and assembly steps described here.

Compare the options

A prompt, your own skill, or this workflow?

Start with a prompt

Your agent can create from a plain request. The brief, visual rules, asset choices, output format and review process still need to be established for that project.

Write your own skill

You choose and maintain the reusable instructions, defaults, file structure and checks. This is useful when your process needs different rules or integrations.

A workflow created for PopNow

This workflow was built for PopNow. Its source files, included dependencies and applicable notices are part of the package; the scope described below belongs to this edition.

Guide reviewed Oct 25, 2026

What will this cost?

The example uses procedural grains and a local standing-wave calculation, so it needs no generated imagery. New music or sound effects are optional PopNow requests with their own quote; a supplied soundtrack can be reused.

Generation is optional when you have suitable input material. Free skill. New media is quoted before it runs.

The skill package

Free to install under your account's download allowance. The package license covers your own and client work; redistribution is excluded.

Existing assets and local work

Reusing suitable assets, editing files and running local assembly do not call a PopNow generation model. Your computer and any required runtime still do the work.

New AI images, clips or sound

Quoted for the actual model, inputs, count, duration and resolution. Extra alternatives, revisions or optional enhancement passes can add generation requests.

Your agent and hosting

Any subscription, hosted computer, deployment or other provider fee belongs to that service. Installing this skill does not include those services.

Check the cost of your version first

Your assistant can inspect the available models and quote the exact request first. You choose which optional passes to include and approve spending before generation.

Ask your assistant

  • Use the PopNow skill "Chladni Sand Theatre" for my project. List the inputs you can reuse, quote only the missing media, show the quoted total and flag any unpriced steps. Separate optional enhancements, and wait for my approval before starting anything paid.

How PopNow billing works

Connections using a PopNow API key, including API-key MCP connections, spend from the separate API balance in USD. A ChatGPT or Claude connection authorized through OAuth spends website credits. These balances are separate; the quote shown by your connection is the approval basis.

Download allowances and current account conditions apply. A free package does not mean unlimited free generation.

How to use it

You say

  • Use the PopNow skill "Chladni Sand Theatre" (chladni-sand-theatre) for this: Render an 8-second sand-pattern film with mode_n 3 and mode_m 5, then try a different valid pair. Keep the project editable and quote optional sound separately.

Then try

  • Show how the changed setting affects the actual motion.

  • Keep my adequate source material and prepare an optional soundtrack quote.

What to have ready

  • No source image is required. Grains, the plate and its brass surround are drawn locally.
  • Python 3, Pillow, NumPy, FFmpeg and ffprobe
  • The project controls listed in the input contract

Similar skills

View all →

Ratings

No ratings yet. Installed it? Be the first to rate it.

Rate this skill

Questions

Does it calculate a real resonant frequency?

No. You choose dimensionless mode numbers for a square-plate expression. The particles follow its nodal structure without an engineering plate solve.

Why must the two mode numbers differ?

Equal numbers cancel this expression everywhere, so the renderer rejects that input instead of showing a meaningless pattern.

What happens during the second half?

The field transitions toward mode numbers two higher than the starting pair, and the existing grains migrate toward the new nodal structure.

What is already packaged in Chladni Sand Theatre?

The task-specific motion mechanism and supported inputs. Protected MP4 export, contact sheet and hash receipt. Editable settings used by the supplied sample. Actual changed-frame, invalid-input and output-protection checks. Input ranges, material placement and honest limits.

Which parts of Chladni Sand Theatre can add a charge?

The example uses procedural grains and a local standing-wave calculation, so it needs no generated imagery. New music or sound effects are optional PopNow requests with their own quote; a supplied soundtrack can be reused. Connections using a PopNow API key, including API-key MCP connections, spend from the separate API balance in USD. A ChatGPT or Claude connection authorized through OAuth spends website credits. These balances are separate; the quote shown by your connection is the approval basis.

How does Chladni Sand Theatre differ from writing a prompt or my own skill?

Mode evaluation, particle migration, the transition between modes and the sand presentation are packaged together. You can explore a different pattern by changing integer mode numbers instead of animating every grain.