API Reference
This page is generated from the engine’s registered scripting surface joined with the documentation registry (src/scripting/docs.rs). A CI test fails whenever this page drifts from the engine. Regenerate with:
cargo run --bin gen_rhai_defs
Builder methods return their receiver and are chainable. Integer and float literals are interchangeable wherever both overloads are registered; the generated LSP definitions (rhai-defs/conchordal.d.rhai) list the exact overloads.
The surface is split into four tiers. Core API is the curated composing surface — it is enough for every curated sample. Experimental contains candidate Core verbs under audition. Mechanism Tuning adjusts the mechanisms behind the core verbs when a piece needs a behavior the core surface does not express. Research Controls exist for studying the instrument, not composing with it.
Types
| Type | Description |
|---|---|
PopulationSpec | Reusable population definition: founder voice traits plus lifecycle, respawn, and demographic rules. |
Population | Placed population returned by place(); one stable handle across its voices, deaths, and respawn generations. |
Placement | Where voices enter the field: built by at(), consonance(), dissonance(), edge(), gap(), random(), or line(). |
ModePattern | Frequency pattern for modal synthesis bodies; built by *_modes() constructors. |
Bus | One of the two mono output buses; combine with ` |
BusSet | Combination of buses produced by `bus |
Built-in Constants
| Constant | Type | Description |
|---|---|---|
habitat_bus | Bus | Analysis bus: NSGT -> landscape; what the ecology senses. |
presentation_bus | Bus | Presentation bus: cpal output, recording, UI metering; what the listener hears. |
Core API
The curated composing surface. These verbs are enough for every curated sample.
Population Specs
A PopulationSpec defines founder voice traits and population-level lifecycle rules. Constructors return a PopulationSpec; builder methods refine it; place() creates a Population.
sine
sine() -> PopulationSpec
PopulationSpec whose founder voices use a pure sine body.
harmonic
harmonic() -> PopulationSpec
PopulationSpec whose founder voices use a harmonic-series body.
modal
modal() -> PopulationSpec
PopulationSpec whose founder voices use a resonator-based modal body; shape it with modes().
saw
saw() -> PopulationSpec
Harmonic-body preset with brightness 0.85.
square
square() -> PopulationSpec
Harmonic-body preset with brightness 0.65.
noise
noise() -> PopulationSpec
Harmonic-body preset with full brightness and maximal spectral motion (jitter).
variant
variant(population_spec) -> PopulationSpec
Clone a PopulationSpec so the copy can be modified independently.
Placement
Placements decide where voices enter the frequency field. Constructors return a Placement; modifiers refine it before it is passed to place().
at
at(freq_hz) -> Placement
Place at a fixed frequency in Hz.
consonance
consonance(root_hz) -> Placement
consonance(min_hz, max_hz) -> Placement
Target consonance maxima. Density cloud by default; .peak() for the extremum. consonance(root) takes a harmonic window around a root (default 1x-4x, set multiples with range()); consonance(min, max) takes an absolute range. Default spacing is 1.0 ERB.
dissonance
dissonance(min_hz, max_hz) -> Placement
Target consonance minima (tension, clusters). Density cloud by default; .peak() for the most dissonant point.
edge
edge(min_hz, max_hz) -> Placement
Target the consonance/dissonance boundary (C near its midpoint). The metastable region between fusion and beating. Density band by default; .peak() for the point closest to the boundary.
gap
gap(min_hz, max_hz) -> Placement
Target empty registers (low subjective intensity); fill the room. Density cloud by default; .peak() for the emptiest position.
peak
peak()
Applies to: Placement.
Realize a field target as its deterministic extremum.
density
density()
Applies to: Placement.
Realize a field target as a stochastic cloud (the default).
tension
tension(degree)
Applies to: Placement.
Bias Consonance placement toward a field-score step below the in-range maximum (degree 0..1). Consonance placement only. 0 leaves ordinary Consonance placement unchanged: peak() selects the strongest peak, while the default density remains the ordinary Consonance cloud. Higher values target a weaker, more tense step (target = L_max - degree*(L_max - L_min) over the range, in field_score). Pairs with peak() (nearest step, sharp) or density (a broader cloud around it).
random
random(min_hz, max_hz) -> Placement
Log-uniform random placement inside a frequency range.
line
line(start_hz, end_hz) -> Placement
Linear interpolation of positions between two frequencies.
count
count(n)
Applies to: Placement.
Positive number of founder voices to place (default 1).
range
range(min_mul, max_mul)
Applies to: Placement.
Multiplier range relative to the root; only valid on consonance(root).
spacing
spacing(min_erb)
Applies to: Placement.
Minimum ERB distance between placed voices; valid on field placements.
Timeline & Populations
place() creates a Population at the current script time. wait() advances the cursor; flush() emits pending live patches without advancing it; scopes release their populations automatically.
place
place(population_spec, placement) -> Population
Create a Population at the current script time. place() is the sole Population boundary. Configure initial-only properties on the PopulationSpec first; the returned Population exposes only live patches and release.
wait
wait(seconds)
Emit pending live patches, then advance the timeline cursor.
flush
flush()
Emit pending live patches without advancing time.
release
release(population)
Close a live Population; its voices enter their release phase and fade out. Release is terminal at the scripting surface: later live patches on the same Population are ignored.
section
section(name, callback)
Named scope; populations placed inside are released when the callback returns.
play
play(callback)
play(callback, arg1)
play(callback, arg1, arg2)
play(callback, arg1, arg2, arg3)
play(callback, [args])
Scoped callback execution with automatic population release. Accepts 0-3 positional arguments, or an array of arguments.
parallel
parallel(callbacks)
Run an array of closures on parallel timelines from the current cursor. Each branch starts at the current cursor; the cursor advances to the latest branch end.
seed
seed(value)
Set the random seed for reproducible scenarios.
Body & Timbre
Sound body parameters of a voice: level, spectrum, detuning, and envelope.
amp
amp(value)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Amplitude in 0.0-1.0.
freq
freq(hz)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Frequency lock in Hz; implies an anchored pitch (see anchor()).
brightness
brightness(value)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Spectral brightness in 0.0-1.0 (harmonic/modal bodies).
spread
spread(value)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Detuning spread.
unison
unison(count)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Number of unison detuning copies.
modes
modes(pattern)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Set the mode pattern of a modal body. See the Mode Patterns section for constructors and modifiers.
adsr
adsr(attack_sec, decay_sec, sustain_level, release_sec)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
ADSR amplitude envelope.
Phonation & Rhythm
When and how long a voice sounds. Tier 1 picks a region on the rhythm coupling continuum (metric(), entrained(), flow()); Tier 2 sets explicit when/duration; Tier 3 is expert tuning. Calls on the same axis are last-write-wins, and modifiers are remembered and applied when their matching preset is selected.
brain
brain(name)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Articulation life: "entrain" (default), "seq", or "drone". Selects how the voice lives while sounding; orthogonal to the rhythm coupling continuum (metric/entrained/flow). entrain is a living articulation whose vitality responds to consonance and rhythm fit, subject to the metabolism economy. seq holds for a fixed lifetime, ignoring the field and metabolism. drone is undying, sustaining forever with a slow sway – useful as terrain material.
sustain
sustain()
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Sustain phonation mode (default).
repeat
repeat()
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Repeated/pulsed phonation mode.
metric
metric()
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
High coupling to the shared emergent meter: deep attractor, stable pulse. Takes no rate argument: the tempo region is director-level terrain (temporal_basin).
entrained
entrained()
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Medium coupling: synchronization emerges over time, still drifts.
flow
flow()
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Near-zero coupling: free renewal process, non-metric texture.
entrainment
entrainment(strength)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Override coupling strength in 0-1 (free .. locked). Order-independent with presets: entrainment(0.8).metric() and metric().entrainment(0.8) are equivalent.
rhythm_role
rhythm_role(name)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Metrical job: "beat", "subdivision", "accent", or "texture". accent emits a stronger onset that drives the shared meter harder, so a recurring downbeat can seed an emergent measure.
microtiming
microtiming(amount)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Signed beat-phase offset in -0.5..0.5; 0.5 reads as syncopation.
cycles
cycles(n)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Duration of n rhythm cycles.
Pitch Movement
How a voice moves through the consonance field. seek_consonance(), glide(), and temperature() (movement tension) form the curated surface; the rest tunes the hill-climb and peak-sampler mechanisms.
anchor
anchor()
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Hold the voice at its pitch: an anchored voice never moves. Voices placed with at() or given freq() are anchored implicitly; use anchor() to hold strategy-placed voices (consonance(), dissonance(), …) at their settled position, or to state the intent explicitly.
seek_consonance
seek_consonance()
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Free hill-climb movement toward better field positions, with glide defaults. How pitch decisions land is resolved at placement unless pitch_apply_mode() was called: sustained voices glide, re-attacking voices (pulse(), metric(), entrained(), flow()) snap at onsets.
glide
glide(tau_sec)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Pitch glide time constant in seconds.
temperature
temperature(value)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Search temperature shared by both pitch cores: 0 settles greedily, higher is more exploratory. The single stochastic-search knob. At 0 the hill-climb is greedy (move only on a clear improvement, otherwise stay) and the peak sampler takes the argmax candidate. Higher values let the hill-climb accept downhill moves (Metropolis) and soften the peak sampler’s candidate choice. Musically the movement-tension dial; its placement twin is tension().
Neighbor Awareness
How a voice perceives other voices and its own spectral footprint when evaluating the field.
avoid_neighbors
avoid_neighbors(strength)
avoid_neighbors(strength, sigma_cents)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Crowding repulsion from neighboring voices. With one argument the repulsion width uses the default; the two-argument form sets it explicitly in cents.
Lifecycle & Viability
Time-domain survival and recovery. endurance() states nominal zero-fit lifetime; recovery() states full-scale continuous recovery time. consonance_viability() defines the recovery window, with environment-relative scoring by default.
endurance
endurance(seconds)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Nominal survival time at zero field fit, excluding the release tail. Energy is normalized to 0-1. The runtime drain rate is derived at spawn; actual lifetime varies with field fit, attacks, recovery, and release time.
recovery
recovery(seconds)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Time to refill normalized energy from empty at full viability. Optional. If omitted, continuous recovery is disabled. This does not govern the separate per-attack economy.
attack_cost_fraction
attack_cost_fraction(value)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Fraction of normalized energy spent by a full-strength attack.
attack_recharge_fraction
attack_recharge_fraction(value)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Maximum normalized energy restored by a fully consonant attack.
sustain_drive
sustain_drive(value)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Continuous drive level for sustained voices.
consonance_viability
consonance_viability(low, high)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Consonance window used for viability scoring. Enables environment-relative scoring by default: a voice is evaluated against the field with its own footprint approximately removed (see viability_scope()).
dissonance_penalty
dissonance_penalty(value)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
How strongly good field fit extends life beyond zero-fit endurance. The zero-fit endurance remains fixed; the penalty changes how much longer a well-fit voice survives.
Respawn
Population turnover. A respawn policy decides where replacements appear when voices die; capacity and acceptance thresholds shape ecology-scale behavior.
respawn_random
respawn_random()
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Respawn without parent inheritance. Candidates come from the Population’s original Placement and, when set, respawn_settle() adds alternative candidates. The current scene score weights the final choice, so this is not uniform random placement.
respawn_hereditary
respawn_hereditary(sigma_oct)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Respawn near an energy-weighted living parent, with frequency variance in octaves. Candidates share one selected parent. The candidate with the highest current Consonance Field level is used.
respawn_consonance
respawn_consonance()
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Respawn from high field-score peaks, biased around an energy-weighted living parent. When living members exist, one parent is selected by energy. Candidate peaks come from the current Consonance Field and are weighted by scene score and their relation to the parent; without a usable peak, the policy falls back to the parent or original Placement.
respawn_capacity
respawn_capacity(count)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Maximum number of living members in the Population. Defaults to the number of founder Voices created by place() and cannot be lower than that founder count.
respawn_settle
respawn_settle(placement)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Add a Placement source to the replacement candidate pool. The policy’s own baseline still supplies one candidate; this Placement supplies the remaining alternatives. Requires a strategy-bearing placement: consonance(), dissonance(), edge(), gap(), random(), or line() (not at()).
respawn_min_c_level
respawn_min_c_level(level)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Minimum consonance level for respawn acceptance.
respawn_background_death_rate
respawn_background_death_rate(rate)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Background turnover rate per second.
Mode Patterns
Frequency relationships for modal() bodies. Constructors return a ModePattern; modifiers are chainable. Landscape-aware patterns deterministically select supported positions from the live field.
harmonic_modes
harmonic_modes() -> ModePattern
Harmonic series: f, 2f, 3f, …
odd_modes
odd_modes() -> ModePattern
Odd harmonics: f, 3f, 5f, …
power_modes
power_modes(beta) -> ModePattern
Power law: f * n^beta.
stiff_string_modes
stiff_string_modes(stiffness) -> ModePattern
Stiffness-adjusted harmonics.
custom_modes
custom_modes(ratios) -> ModePattern
Custom frequency ratios from an array.
modal_table
modal_table(name) -> ModePattern
Named mode table lookup. Falls back to harmonic_modes() with a warning if the name is unknown.
landscape_density_modes
landscape_density_modes() -> ModePattern
Modes selected from the strongest live landscape density-mass positions. Selection is deterministic: after each strongest position is chosen, nearby weights are suppressed according to spacing(). Falls back to harmonic modes when live landscape data yields no usable position.
landscape_peaks_modes
landscape_peaks_modes() -> ModePattern
Modes selected from the strongest local peaks of the live Consonance Field level. Selection is deterministic and enforces the ERB separation from spacing(). Falls back to harmonic modes when live landscape data yields no usable peak.
count
count(n)
Applies to: ModePattern.
Number of modes.
range
range(min_mul, max_mul)
Applies to: ModePattern.
Frequency range; only valid on landscape_*_modes().
spacing
spacing(min_erb)
Applies to: ModePattern.
Minimum ERB distance between modes; only valid on landscape_*_modes().
gamma
gamma(g)
Applies to: ModePattern.
Density sharpening exponent; only valid on landscape_density_modes().
jitter
jitter(cents)
Applies to: ModePattern.
Randomize mode frequencies by up to the given cents.
seed
seed(value)
Applies to: ModePattern.
Random seed for jittered patterns (>= 0).
Routing
Each voice contributes to two independent mono buses: the presentation bus (the work as heard) and the habitat bus (what the ecology senses through NSGT analysis). By default a voice feeds both.
send
send(bus)
Applies to: PopulationSpec only.
Route the voice to specific buses; accepts a Bus or a BusSet. PopulationSpec only. send(habitat_bus) makes a voice sensed by the ecology but absent from the presented sound; send(presentation_bus) is heard without perturbing the ecology; send(habitat_bus | presentation_bus) feeds both (the default).
Director & Global Parameters
Scene-global terrain shaping and research controls. Director verbs are soft priors: they shape the terrain and never schedule a beat or force a measure.
meter_stability
meter_stability(value)
Attractor depth in 0-1: how readily a pulse forms. A soft prior: it only deepens the basin for a real periodicity; it never fabricates a beat from non-metric input.
temporal_basin
temporal_basin(min_hz, max_hz)
Tempo region the emergent beat gravitates toward. The time-axis analogue of consonance(min, max): it shapes the terrain, does not place a beat, and never forces a measure.
Experimental
Candidate core verbs under audition: composing surface by intent, but with research-grade stability until validated.
Phonation & Rhythm
phonate_when_viable
phonate_when_viable()
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Withhold the first onset until perceived consonance is viable. Silently settles into the field until consonance reaches the low bound of the voice’s consonance-viability window (consonance_viability(), or always-viable if that window was never set), then phonates normally and never re-gates. A voice that never settles dies unheard and the respawn policy replaces it – there is no timeout parameter, the energy economy is the timeout.
Mechanism Tuning
Fine-grained control over the mechanisms behind the core verbs. Defaults are calibrated; reach for these when a piece needs a specific behavior the core surface does not express.
Phonation & Rhythm
once
once()
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Single trigger.
pulse
pulse(rate_hz)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Pulse at an explicit rate in Hz.
while_alive
while_alive()
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Hold/sustain until release.
adaptive_duration
adaptive_duration()
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Duration follows field support.
pulse_lock
pulse_lock(depth)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Low-level pulse phase weighting in 0-1.
social
social(coupling)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Social coupling for entrained() or pulse(), in 0-1.
duration_range
duration_range(min_cycles, max_cycles)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Adaptive duration range in rhythm cycles.
duration_curve
duration_curve(k, x0)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Adaptive duration curve parameters.
shorten_on_drop
shorten_on_drop(gain)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Shorten adaptive duration when field support drops.
rhythm_freq
rhythm_freq(freq_hz)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Internal theta/rhythm oscillator frequency.
rhythm_coupling_vitality
rhythm_coupling_vitality(lambda_v, v_floor)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Vitality-modulated rhythm coupling.
rhythm_reward
rhythm_reward(rho_t, metric)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
Energy reward for timing fit; metric is "attack_phase_match" or "none".
Pitch Movement
pitch_smooth
pitch_smooth(tau_sec)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Pitch smoothing time constant in seconds.
pitch_apply_mode
pitch_apply_mode(name)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
"gate_snap" or "glide": override how pitch decisions are applied. Without an explicit call, moving voices resolve this at placement from their phonation: sustained voices glide, re-attacking voices snap at onsets.
landscape_weight
landscape_weight(value)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Weight of the landscape objective.
neighbor_step_cents
neighbor_step_cents(value)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Step size for neighbor exploration in cents.
move_cost
move_cost(coeff)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Cost multiplier for pitch changes.
move_cost_exp
move_cost_exp(exp)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Exponent for the move cost.
proposal_interval
proposal_interval(seconds)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Proposal generation interval in seconds.
tessitura_gravity
tessitura_gravity(value)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Gravity toward the tessitura center.
window_cents
window_cents(width)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Peak-sampler search window width in cents.
top_k
top_k(count)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Number of top candidates kept by the peak sampler.
sigma_cents
sigma_cents(spread)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Gaussian spread of the peak sampler in cents.
random_candidates
random_candidates(count)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Number of random candidates considered.
global_peaks
global_peaks(count)
global_peaks(count, min_sep_cents)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Global field peaks as movement candidates, with optional minimum separation.
ratio_candidates
ratio_candidates(count)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Ratio-based movement candidates; 0 disables.
Neighbor Awareness
crowding_target
crowding_target(same_visible, other_visible)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Which voices are visible to crowding: own population, other populations (booleans).
leave_self_out
leave_self_out(enabled)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Subtract the voice’s own spectral contribution when evaluating the field.
leave_self_out_harmonics
leave_self_out_harmonics(count)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
Number of harmonics used for approximate self-subtraction.
Lifecycle & Viability
viability_scope
viability_scope(name)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
"environment" (default) or "total" viability scoring scope. Use "total" only when the selection question should include the voice’s own contribution.
Director & Global Parameters
set_roughness_k
set_roughness_k(value)
Roughness tolerance of the landscape.
set_global_coupling
set_global_coupling(value)
Voice interaction strength.
Research Controls
For studying the instrument, not composing with it. Normal composing never touches this tier, and it has the weakest stability guarantee: entries may change or disappear as their research questions settle.
Pitch Movement
pitch_core
pitch_core(name)
Applies to: PopulationSpec only. Initial-only: configure the PopulationSpec before place().
"hill_climb" or "peak_sampler". Research control.
move_cost_time_scale
move_cost_time_scale(name)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
"legacy"/"integration_window" or "proposal"/"proposal_interval".
Neighbor Awareness
leave_self_out_mode
leave_self_out_mode(name)
Applies to: PopulationSpec and Population. Live-patchable: updates running voices in a Population.
"approx"/"approx_harmonics" or "exact"/"exact_scan".
Lifecycle & Viability
selection_approx_loo
selection_approx_loo(enabled)
Applies to: PopulationSpec only.
Override environment-relative viability scoring; research/reference control. PopulationSpec only. Use only for older reference assays that need the previous implementation-level control.
Director & Global Parameters
set_pitch_objective
set_pitch_objective(name)
"consonance"/"positive" or "dissonance"/"negative". Research control.
set_control_update_mode
set_control_update_mode(name)
"snapshot_phased"/"snapshot" (default) or "sequential_rotating"/"sequential". Research control.
set_scaffold_off
set_scaffold_off()
Disable the external rhythm scaffold. Scaffolds are external comparison controls for demos and assays, not the rhythm-composition abstraction.
set_scaffold_shared
set_scaffold_shared(freq_hz)
Shared external scaffold pulse.
set_scaffold_scrambled
set_scaffold_scrambled(freq_hz, seed)
Per-voice scrambled scaffold pulse.