Chirikov Standard Map Sonification — User Guide
A deterministic sonification of the Chirikov Standard Map: a classic kicked-rotor model whose orbit moves between regular islands, mixed phase space, and chaotic momentum transport. The map is calculated at a control rate, then converted into carrier amplitude or instantaneous frequency at the audio sample rate.
What this is
Chirikov Standard Map Sonification is an internal sound generator: it does not process an input Sound. It repeatedly evaluates a two-variable nonlinear map, records the resulting orbit, and uses that orbit as a control signal for synthesis.
The important point is that the Standard Map is not itself an audio waveform. It is a rule for moving from one state (theta, p) to the next. The script first creates the trajectory at Control_rate_Hz, then translates that trajectory into amplitude or frequency control and resamples the control to the requested audio sample rate.
What is the Chirikov Standard Map?
The Chirikov Standard Map, also called the standard map or kicked-rotor map, is a discrete-time, area-preserving dynamical system. It is widely used as a compact model of the transition from regular Hamiltonian motion to chaos.
What the two variables mean
| Variable | Intuitive meaning | Behavior in this script |
|---|---|---|
| theta | Angular position of the rotor. | Wrapped into 0..2*pi after every iteration. |
| p | Momentum: how strongly the rotor keeps moving between kicks. | Kept unwrapped in the actual dynamics, so long-term momentum transport and drift are preserved. |
| K | Kick strength / nonlinearity. | Controls how strongly the present angle changes the next momentum. |
One iteration
When K = 0, momentum never changes and the system is integrable: the angle simply advances at a constant rate. As K increases, resonances deform the phase space. Regular invariant curves and stable islands can coexist with chaotic regions. At sufficiently strong perturbation, chaotic trajectories can move through increasingly large momentum ranges.
Kc ≈ 0.971635406 is specifically the breakup threshold of the last golden-mean spanning KAM invariant curve in the standard convention used here. Chaotic resonant regions can exist below that value, and stable islands can survive above it. Crossing Kc makes global momentum transport possible; it does not make every initial condition chaotic.
Cylinder dynamics versus the phase portrait
The actual map is evolved on a cylinder: theta is periodic, but p remains unbounded. For Panel A only, the script additionally projects p modulo 2*pi into approximately -pi..pi. That projection produces the familiar torus-style phase portrait without changing the orbit used for the sound.
How the map becomes sound
The map is iterated at Control_rate_Hz. The resulting theta and p trajectories are transformed into a control signal, sinc-resampled to Sample_rate_Hz, and then applied to an audio-rate carrier.
| Mapping mode | Actual implementation | What you hear |
|---|---|---|
| Theta to Amplitude | A = 0.5*(1 + cos(theta)), then A * sin(2*pi*f0*t). | The angular orbit becomes a unipolar amplitude envelope on a fixed carrier. |
| P to Amplitude | A = 0.5*(1 + sin(p)), then the same fixed carrier. | Unwrapped momentum is folded through sine into a bounded AM envelope. |
| Theta to Frequency (FM) | f = f0 + theta/(2*pi)*range; instantaneous frequency is resampled, then phase is accumulated sample by sample at the audio rate. | The wrapped angular state directly sets oscillator frequency. This is continuous phase integration, not resampling of a pre-built phase signal. |
| Theta+P Stereo | Left = theta-derived AM carrier; Right = p-derived AM carrier. | Two simultaneous views of the same map orbit. It is not post-hoc stereo widening and does not run two independent maps. |
Control rate is part of the composition
Control_rate_Hz is not an audio-quality setting. It sets how many Standard Map iterations occur per second of output. At 2000 Hz, a 5-second sound contains about 10,000 map iterations; at 500 Hz, the same dynamical sequence unfolds four times more slowly in musical time. The Deep Chaos Drone preset deliberately lowers the control rate to 500 Hz for this reason.
Frequency safety
The script uses 0.45 * Sample_rate_Hz as a practical upper boundary. In FM mode it reduces the requested base/range if needed. In AM modes it also reserves headroom for control-sideband bandwidth rather than checking the carrier alone.
Quick start
- Run
ChirikovStandardMap.praat; no input Sound is required. - Choose a preset. Periodic Island, Near KAM Threshold, and Strong Chaos are useful for hearing very different orbit structures.
- Keep Draw_visualization enabled while learning the instrument: Panel A shows the actual map orbit that generated the control.
- Compare Theta to Amplitude with Theta to Frequency. They sonify the same kind of state variable but produce very different acoustic results.
- For Custom settings, change K and the initial condition separately. A different K changes the dynamical law; a different starting point explores a different orbit under that law.
Presets
Presets override only the fields listed below. Unless stated otherwise, they retain the current Duration, Sample rate, Control rate, Frequency range, Edge fade, Normalize, Draw visualization, and Play settings.
| Preset | Map state | Mapping | Purpose |
|---|---|---|---|
| Periodic Island | K 0.5; theta0 = pi+0.30; p0 = 0 | Theta -> AM; 220 Hz carrier | Starts inside the primary stable island near the elliptic fixed-point region. |
| Near KAM Threshold | K 0.971635406; theta0 0.50; p0 = 2*pi*golden mean | Theta -> FM; 220 Hz + 660 Hz range | Places the system near the golden-mean spanning-torus breakup regime. |
| Partial Chaos | K 1.5; theta0 0.5; p0 0 | Theta -> AM; 220 Hz | Mixed phase-space regime above Kc. |
| Strong Chaos | K 5.0; theta0 0.1; p0 0.1 | P -> AM; 180 Hz | Strong momentum diffusion while allowing the possibility of surviving islands elsewhere in phase space. |
| Frequency Shimmer | K 2.5; theta0 1.57; p0 0 | Theta -> FM; 440 Hz + 1760 Hz range | Exposes angular dynamics as a wide instantaneous-frequency trajectory. |
| Stereo Chaos | K 3.0; theta0 0.8; p0 0.3 | Theta/P -> stereo AM; 220 Hz | Compares theta and p mappings simultaneously in left and right channels. |
| Deep Chaos Drone | 10 s; K 4.0; theta0 0.1; p0 0.2; control rate 500 Hz | Theta -> FM; 55 Hz + 110 Hz range | Slows the map's iteration-to-audio-time conversion for a lower, slower-moving texture. |
Parameters
| Parameter | Default | What it actually controls |
|---|---|---|
| Duration_s | 5.0 s | Output duration. Together with Control rate, determines the number of map iterations. |
| Sample_rate_Hz | 44100 | Audio sampling rate; accepted range 8000–192000 Hz. |
| Control_rate_Hz | 2000 | Map iterations per output second; accepted range 20–20000 Hz. Duration * Control rate is limited to 2,000,000 iterations. |
| Initial_theta | 0.5 | Initial angular coordinate. It is canonicalized modulo 2*pi before the first map step. |
| Initial_p | 0.0 | Initial momentum. It is not wrapped in the dynamics. |
| K_parameter | 1.5 | Kick strength, 0–50. K=0 is the integrable limit. |
| Mapping_mode | Theta to Amplitude | Selects how the orbit controls the carrier. |
| Base_frequency_Hz | 220 | Carrier frequency for AM/stereo modes; lower edge of the instantaneous-frequency range in FM mode. |
| Frequency_range_Hz | 880 | Used only by Theta -> FM. |
| Edge_fade_s | 0.02 | Linear fade at both output edges, capped at 20% of total duration. |
| Normalize_output | Yes | If the output is nonzero, applies target peak normalization to 0.90. |
| Draw_visualization | Yes | Draws the map/control/audio diagnostic figure. |
| Play_result | Yes | Plays the generated Sound after processing. |
Visualization and QC
The figure separates the mathematical model, the actual sonification control, and the measured audio.
Panel A — Actual Standard-Map orbit
The left plot shows the actual theta trajectory against a display-only p mod 2*pi projection. The connected line is colored by iteration, and line segments are not drawn across torus wrap boundaries. The diagnostics box reports K, the finite-time maximal Lyapunov estimate, unwrapped p span, net p drift, initial state, and the current mapping.
Panel B — Actual sonification control
This is the sinc-resampled signal that actually drives synthesis: a theta-derived or p-derived AM envelope, the instantaneous-frequency trajectory, or both stereo envelopes.
Panel C — Model to measurement
A measured Gaussian spectrogram of the rendered output. FM mode overlays the actual instantaneous-frequency control; AM modes show the fixed carrier as the model guide. In stereo mode, the spectrogram uses whichever output channel has the greater whole-file RMS, avoiding mono fold-down cancellation.
Panel D — Measured output
The waveform of the same representative channel, shown with a symmetric amplitude range derived from its measured peak.
Determinism and output
The synthesis is deterministic. There is no musical random seed and no random perturbation of the map: the same settings produce the same map trajectory and the same audio. A temporary random integer is used only to create collision-resistant helper-object names and does not enter the sound equations.
The result remains in Praat as chirikov_<preset>. All modes are mono except Theta+P Stereo, which produces two channels. The final processing order is:
Why this is useful musically
The instrument gives a direct way to compose with the geometry of a nonlinear dynamical system. Changing K changes the map itself; changing Initial_theta / Initial_p selects a different trajectory within that map; changing Control_rate_Hz changes how quickly map iterations unfold in musical time; and changing the Mapping mode decides which aspect of that trajectory becomes audible.
This makes the script especially useful when the goal is not simply “chaotic sound,” but an interpretable relationship between a known dynamical process, its phase-space behavior, and the resulting audio.