Spatial Dramaturgy Composer - Compositional Spatial Form
Compose large-scale spatial behaviour from musical form. A dramaturgical curve drives spread, distance, movement, instability, elevation, peripheralisation, and fragmentation, while the script derives the trajectories and renders the result offline.
What this does
Spatial Dramaturgy Composer treats space as part of musical form rather than as a sequence of manually drawn pan positions. A normalized dramaturgical curve D(t) from 0 to 1 controls seven spatial dimensions, from focus and distance to motion, elevation, and fragmentation.
You shape the large-scale spatial behaviour; the script derives the detailed trajectories. This makes it possible to compose forms such as intimacy → expansion → fragmentation → collapse without drawing every path by hand.
Quick start
- Select exactly one Sound in Praat. You may also select one RealTier if you want to use it as a drawn dramaturgical curve.
- Run
Spatial_Dramaturgy_Composer.praat. - Choose Draw, Analyze source, or Archetype.
- Choose a Spatial strategy, Character, and output format.
- Enable Show details only when you want to edit analysis weights, fragmentation, custom mappings, or output settings.
Main controls
| Control | Default | What it changes |
|---|---|---|
| Dramaturgy | Archetype | Choose a drawn curve, automatic source analysis, or a predefined macro-form. |
| Archetype | Arch | Select one of 14 large-scale dramaturgical shapes. |
| Spatial strategy | Auto | Determines how dramaturgy is translated into spatial behaviour. |
| Character | Dramatic | Controls the overall strength of the spatial transformation: Subtle, Moderate, Dramatic, or Radical. |
| Output | 8-channel ring | Stereo, Quad, 8-channel ring, custom speaker ring, or first-order Ambisonics. |
| Max agents | 4 | Sets the maximum number of independently moving spatial layers. |
| Random seed | 30217 | Lets stochastic motion be reproduced exactly. |
| Draw visualisation | On | Draws the dramaturgy and spatial evolution in the Praat Picture window. |
| Play result | On | Plays the rendered Sound after processing. |
Dramaturgy sources
Draw
Use a RealTier as the dramaturgical curve, or let the script create a starter curve that you can edit before rendering.
Analyze source
Derives the dramaturgical curve from changes in the sound itself, using weighted acoustic features and smoothing.
Archetype
Uses a predefined large-scale shape. Archetype strength controls how strongly the shape is expressed.
Auto strategy
Chooses a spatial strategy suited to the selected archetype. Drawn and analyzed curves use a general expressive mapping by default.
Available archetypes
Expansion · Implosion · Arch · Inverted Arch · Ascent · Descent · Encirclement · Fragmentation · Convergence · Dissolution · Accumulation · Shock · Waves · Chaotic Escalation.
Analyze Source
Analyze Source creates a dramaturgical curve from several acoustic cues. You can adjust their weights in Show details.
| Descriptor | Default weight | Musical role |
|---|---|---|
| Intensity | 1.0 | Energetic level. |
| Spectral brightness | 0.7 | Dark-to-bright spectral movement. |
| Spectral change | 0.8 | Amount of timbral change over time. |
| Activity density | 0.6 | Density of local activity and attacks. |
| Noisiness | 0.4 | Noise-like versus harmonic character. |
| Pitch instability | 0.0 | Optional local F0 variation; useful mainly for pitched material. |
The seven spatial dimensions
| Dimension | Low value | High value |
|---|---|---|
| Spread | Focused / point-like | Wide spatial dispersion |
| Distance | Near | Far |
| Movement rate | Static | Fast motion |
| Irregularity | Smooth / stable | Unstable / stochastic |
| Elevation | Horizontal / low | Elevated |
| Peripheralisation | Front / centre | Sides / rear |
| Fragmentation | One coherent source | Several spatial agents |
Custom mapping
In Custom mapping, each spatial dimension can have its own range, direction, response curve, and influence. This is useful when you want a very specific relationship between dramaturgy and space.
min max direction curve influence
Example:
0.05 0.95 + sig 1
Direction can be +, -, or =. Available response curves are lin, exp, log, sig, thr, step, and rnd.
Spatial strategies
Intimate to Overwhelming · Compression · Explosion · Breathing Space · Orbiting Tension · Fragmented Climax · Frozen Climax · Vertical Drama · Peripheral Anxiety · Dissolution · Swarm · Radical · Custom mapping.
These strategies are starting points rather than fixed aesthetics. Character and detailed mappings let you make the same dramaturgical curve subtle, extreme, expanding, contracting, mobile, or nearly static.
Fragmentation
When fragmentation rises, the sound can separate into several spatial agents rather than remaining one coherent moving source. Three methods are available:
Frequency bands
Different spectral regions become independent spatial agents. This is the default method.
Temporal slices
Different time slices are distributed among moving agents, producing a more articulated spatial breakup.
Delayed copies
Short delayed versions of the source create a denser, more diffuse spatial image. Tonal material may acquire additional phase coloration.
Output formats
Speaker outputs
Stereo, Quad, 8-channel ring, and custom 3-32 speaker rings use amplitude spatialisation. Stereo is a left/right projection, so front and rear positions cannot remain distinct.
First-order Ambisonics
FOA output is encoded as AmbiX, ACN W Y Z X, SN3D. It requires an Ambisonic decoder for loudspeaker or binaural playback.
Distance and elevation
Distance changes apparent level and diffuseness; it does not simulate physical propagation, air absorption, or Doppler effects. Elevation is represented directly in FOA. Horizontal speaker rings cannot reproduce true height.
Level management
The default output normalization targets a peak of -1 dBFS while preserving the balance between channels. You can also leave the level unchanged with clipping protection.
Visualisation: the spatial score
The Picture-window display shows how the dramaturgical curve becomes spatial behaviour.
- Dramaturgy D(t): the large-scale control curve.
- Spatial dimensions: spread, distance, movement rate, irregularity, elevation, peripheralisation, and fragmentation.
- Agent trajectories: azimuth movement through time.
- Field from above: top-down view of the evolving spatial image.
- Routing gain map: a fast view of how the renderer distributes energy among output channels.
- Measured output energy: an optional, slower RMS-based diagnostic.
Output
The script creates the final rendered multichannel Sound and leaves the original source unchanged.
If you supply your own RealTier as the dramaturgical curve, it is preserved. Multichannel input is averaged to mono before the new spatial image is created.
Performance
If you want a faster first test, use a short excerpt, fewer agents, or a smaller output layout. The optional measured-energy visualisation also adds extra processing.
Limitations
- Rendering is offline, not real-time.
- Speaker modes use amplitude spatialisation rather than physical room or propagation simulation.
- Horizontal speaker rings cannot reproduce true elevation.
- FOA output is encoded but not decoded inside the script.
- Analyze Source is a compositional, source-relative estimator rather than an absolute model of perceived tension.
Musical use
Examples of large-scale spatial forms include:
- focus → expansion → fragmentation → saturation → collapse
- diffusion → convergence → stillness
- frontality → encirclement → elevation → disappearance
The central idea is simple: space can carry musical form rather than merely display it.