2025-05-30

position

static placement: center, stereo spread, frequency-dependent bias, or randomized positions.

introduction

The position domain sits in the spatial layer and assigns each source a fixed location in the stereo or multichannel field. All placements are precomputed and deterministic-no time-varying panning or movement (handled by motion), nor spreading beyond point-size (handled by diffusion). Given two parameters a, b ∈ [0,1], each form maps voices or partials to spatial coordinates once and for all.

overview

0. stereo_pan

  • Behavior: places the source at a fixed point along the left–right axis, with optional stereo width
  • Analogy: setting the balance knob on a mixing console
  • Parameters:

    • a: pan position (−1.0 full left → 0 center → +1.0 full right)
    • b: stereo spread (0 = strict mono → 1 = full dual-channel width)

1. multi_point

  • Behavior: distributes voices or partials evenly among n discrete pan anchors around the listening field
  • Analogy: seating musicians at equally spaced positions on a semicircle
  • Parameters:

    • a: number of anchors (2…8)
    • b: starting-anchor rotation (0…1 wraps to 0…n–1 offset)

2. frequency_bias

  • Behavior: pans low vs. high frequencies toward opposite sides of the field, with controllable cutoff and slope
  • Analogy: EQ-driven stereo tilt where bass sits left and treble sits right (or vice versa)
  • Parameters:

    • a: cutoff frequency (0 → 20 Hz … 1 → 20 kHz)
    • b: bias slope (−1 = all lows left/highs left → 0 = neutral → +1 = lows left/highs right)

3. random_spread

  • Behavior: assigns each voice or partial a pseudorandom static pan position within a specified range
  • Analogy: dropping pebbles randomly across a tabletop
  • Parameters:

    • a: random seed (normalized 0…1, determining the pseudorandom mapping)

    • b: maximum spread (0 = all at center → 1 = full stereo width)

parameter behavior summary

  • stereo_pan

    • a: pan location on the L–R axis
    • b: width of stereo image
  • multi_point

    • a: how many fixed pan points to use
    • b: rotates the anchor set's starting point
  • frequency_bias

    • a: spectral cutoff dividing low vs. high
    • b: strength and direction of pan bias
  • random_spread

    • a: seed for deterministic randomization

    • b: size of the allowed panning range

why these were chosen

  • Core static placements: covers single-point panning, multi-anchor arrays, spectral biasing, and pseudo-random layouts.
  • Orthogonal mechanisms: no form duplicates another's behavior without additional data or parameters.
  • Two-parameter clarity: one control typically selects topology (position count, cutoff) and the other shapes extent or offset.
  • Fully precomputed: ensures each voice's location is known before playback, preserving deterministic synthesis.

what is not included

  • Time-varying movement: handled by the motion domain.
  • Spatial spread or blur: managed by diffusion.
  • Dynamic repositioning on events: onset-based changes belong in structural or onset layers.
  • User interface concerns (labels, listener orientation): out of scope for pure spatial logic.

conclusion

The position domain offers a concise, two-parameter toolkit for placing sound sources in space. Its forms provide static, deterministic layouts-from simple pan to complex anchor arrays-laying the groundwork for motion and diffusion to sculpt dynamic and enveloping spatial experiences.