GENDYN Synthesis — User Guide
Dynamic stochastic synthesis based on Iannis Xenakis's GENDY3 algorithm: breakpoint evolution with stochastic barriers for organic, unpredictable sonic textures.
What this does
🎻 Tribute to Iannis Xenakis (1922–2001)
GENDY3 (1991): Xenakis's pioneering work in dynamic stochastic synthesis. The name derives from "GENeration DYNAmique" – dynamic generation. Xenakis applied principles of probability theory, statistical mechanics, and game theory to musical composition, creating what he called "stochastic music." This plugin implements a Praat-based interpretation of his GENDY3 algorithm for sound synthesis.
This script implements GENDYN (Dynamic Stochastic) Synthesis — a breakpoint-based synthesis method where waveform parameters evolve stochastically within defined barriers. Core concept: A waveform defined by breakpoints (amplitude/duration pairs) undergoes continuous random mutations, with evolution constrained by barrier conditions. The result: Organic, evolving sonic textures that are neither purely random nor deterministic, occupying the fascinating space between order and chaos.
Key Features:
- 9 Artistic Presets — From Xenakis tributes to modern textures
- Stochastic Evolution — Parameters mutate with 4 probability distributions
- Breakpoint Architecture — Configurable number of waveform control points
- Barrier Constraints — Keep evolution within musical bounds
- Spatial Processing — Mono, stereo dual, or rotating outputs
- Visual Feedback — Real-time waveform and spectrogram visualization
- Dynamic Generation Counter — Track stochastic evolution cycles
Technical Implementation: (1) Breakpoint initialization: Create N breakpoints with random amplitudes and equal durations. (2) Phase accumulation: Traverse breakpoints at current frequency rate. (3) Linear interpolation: Generate samples between breakpoints. (4) Stochastic evolution: After each cycle, mutate amplitudes, durations, and frequency using chosen distribution. (5) Barrier application: Constrain mutations to prevent extreme values. (6) Control rate synthesis: Generate at high control rate, then resample to audio rate. (7) Spatial processing: Apply mono/stereo/rotating spatialization. (8) Visualization: Display waveform detail and spectrogram of result.
Quick start
- In Praat, ensure no objects are selected (GENDYN creates from scratch).
- Run script… →
GENDYN_Synthesis.praat. - Choose Preset or select "Custom" for manual control.
- Set Duration (seconds) and Sample rate.
- Configure Number of breakpoints (complexity) and Base frequency.
- Select Distribution type (Cauchy = Xenakis's choice).
- Set Amplitude/Duration steps (mutation sizes).
- Define Frequency barriers (min/max Hz to contain evolution).
- Choose Spatial mode (mono, stereo, or rotating).
- Enable Draw visualization to see waveform and spectrogram.
- Click OK — synthesis begins, progress shown in Info window.
GENDYN Theory
The Xenakis Philosophy
🎼 Stochastic Music Principles
From "Formalized Music" (1963): Xenakis proposed applying probability theory to music composition. Instead of writing specific notes, define stochastic processes that generate music. GENDYN extends this to sound synthesis: instead of defining specific waveforms, define stochastic processes that generate waveforms.
Key concepts:
- Brownian motion: Sound particles as molecules in random motion
- Markov chains: Next state depends only on current state
- Probability distributions: Different statistical models for different musical results
- Constraints/barriers: Freedom within limits — artistic control of stochastic processes
Breakpoint Waveform Model
📈 Breakpoint Representation
A waveform defined by N breakpoints, each with:
- Amplitude: Value at breakpoint (-1 to 1)
- Duration: Time to next breakpoint (relative proportion)
Waveform generation: Linear interpolation between consecutive breakpoints. When last breakpoint reached, wrap to first (cyclic waveform).
Stochastic Evolution
🎲 Mutation Process
After each complete cycle (all breakpoints traversed), three types of mutation occur:
- Amplitude mutations: Each breakpoint amplitude changes randomly
- Duration mutations: Each breakpoint duration changes randomly, then normalized
- Frequency mutation: Fundamental frequency changes randomly
Evolution rate: Controlled by step size parameters. Larger steps = more dramatic changes per generation.
Barrier System
🚧 Constrained Freedom
Barriers prevent evolution from escaping musically useful ranges. When a value hits a barrier, it "bounces" back into allowed range.
Types of barriers:
- Amplitude barriers: Keep waveform within [-barrier, barrier] (typically 0.9-0.95)
- Frequency barriers: Keep fundamental within [min_freq, max_freq] (audible range)
Bounce behavior: If value exceeds barrier by amount X, it's set to barrier - X (reflection). If still outside, set to barrier.
Probability Distributions
📊 Statistical Models for Mutation
1. Uniform Distribution
Equal probability across range [-step, step]
Character: Predictable, bounded mutations
Use: Gentle, controlled evolution
2. Cauchy Distribution (Xenakis's Choice)
Heavy-tailed distribution: f(x) = 1 / [πγ(1 + ((x-x₀)/γ)²)]
Character: Mostly small changes with occasional extreme jumps
Use: Dramatic evolution, surprising changes
3. Gaussian (Normal) Distribution
Bell curve: f(x) = (1/σ√2π) exp[-½((x-μ)/σ)²]
Character: Small changes common, large changes rare
Use: Natural, organic evolution
4. Logistic Distribution
Similar to Cauchy but with less extreme tails
Character: Smooth, moderate evolution
Use: Balanced stochastic process
Spatial Processing Modes
Complete Processing Pipeline
Algorithm Details
Control Rate Optimization
Generation Counter Significance
🔢 Measuring Evolution
One generation = one complete traversal of all breakpoints (one cycle of the waveform).
Generation rate = frequency (Hz) = cycles per second.
Total generations in output = frequency × duration (approximately).
Musical interpretation: Each generation is like a "note" in traditional music, but here notes evolve. Higher frequency = faster evolution. More breakpoints = more complex evolution per generation.
Visualization System
Built-in Presets
🎨 Curated Sound Worlds
Each preset embodies a different sonic character while maintaining the GENDYN stochastic philosophy. Presets are starting points — adjust parameters to explore variations.
Xenakis Tributes
| Preset | Parameters | Character | Duration |
|---|---|---|---|
| GENDY3 Tribute | 12 BP, 180 Hz, Cauchy, 2.5 range | Authentic Xenakis: metallic, complex, evolving | 12s |
| Deep Mutations | 16 BP, 60 Hz, Gaussian, 1.8 range | Slow, profound evolution, subharmonic richness | 20s |
| Whispered Stochasm | 14 BP, 150 Hz, Logistic, 1.5 range | Delicate, breathy, subtle transformations | 15s |
Textural Explorations
| Preset | Parameters | Character | Duration |
|---|---|---|---|
| Insect Swarm | 8 BP, 400 Hz, Cauchy, 1.5 range | Granular, buzzing, dense high-frequency activity | 8s |
| Crystalline Fractures | 10 BP, 800 Hz, Cauchy, 2.0 range | Glass-like, brittle, sharp transients | 10s |
| Electronic Organisms | 12 BP, 120 Hz, Logistic, 2.2 range | Synth-like, synthetic life forms, artificial biology | 12s |
Evolutionary Processes
| Preset | Parameters | Character | Duration |
|---|---|---|---|
| Slow Evolution | 20 BP, 100 Hz, Gaussian, 1.2 range | Gradual transformation, ambient, meditative | 30s |
| Chaotic Bursts | 8 BP, 200 Hz, Cauchy, 4.0 range | Eruptive, unpredictable, dramatic mutations | 8s |
Parameter Reference
| Parameter | Type | Range | Description |
|---|---|---|---|
| Preset | option | 1-9 | Built-in configurations or Custom |
| Duration_s | positive | 0.1-300 | Output duration in seconds |
| Sample_rate_Hz | integer | 8000-192000 | Audio sample rate (typically 44100) |
| Number_of_breakpoints | integer | 2-100 | Complexity of waveform (typically 8-20) |
| Base_frequency_Hz | positive | 1-5000 | Starting fundamental frequency |
| Frequency_range | real | 1.0-10.0 | Multiplier for frequency variation |
| Amplitude_step | real | 0.01-1.0 | Size of amplitude mutations (typically 0.05-0.3) |
| Duration_step | real | 0.01-1.0 | Size of duration mutations (typically 0.05-0.3) |
| Distribution_type | option | 1-4 | Uniform, Cauchy, Gaussian, Logistic |
| Amplitude_barrier | real | 0.1-1.0 | Maximum amplitude (typically 0.8-0.95) |
| Min_frequency_Hz | real | 1-1000 | Lower frequency limit (typically 20-100) |
| Max_frequency_Hz | real | 100-20000 | Upper frequency limit (typically 1000-5000) |
| Spatial_mode | option | 1-3 | Mono, Stereo Dual, Rotating |
| Normalize_output | boolean | 0/1 | Scale peak to 0.9 (prevents clipping) |
| Draw_visualization | boolean | 0/1 | Create visual display of waveform/spectrum |
| Play_result | boolean | 0/1 | Auto-play after synthesis |
Applications
Experimental Music Composition
Use case: Generate unique sonic materials for electroacoustic composition
Techniques:
- Stochastic counterpoint: Layer multiple GENDYN outputs with different parameters
- Evolutionary forms: Use long durations (60+ seconds) to create developmental structures
- Parameter automation: Script gradual changes to parameters over time
- Hybrid synthesis: Combine GENDYN with traditional synthesis methods
Sound Design for Media
Use case: Create evolving textures for film, games, installations
Techniques:
- Sci-fi atmospheres: "Electronic Organisms" preset for alien environments
- Horror tension: "Deep Mutations" with low frequencies for unsettling drones
- Nature abstraction: "Insect Swarm" for abstracted insect/water sounds
- UI sounds: Short "Crystalline Fractures" for futuristic interface feedback
Generative Art & Installation
Use case: Sound for generative visual art or interactive installations
Techniques:
- Parameter mapping: Link GENDYN parameters to visual parameters
- Live evolution: Use in real-time systems with gradual parameter shifts
- Spatial audio: Use rotating stereo mode with multichannel systems
- Interactive control: Allow audience to influence mutation parameters
Academic Research & Teaching
Use case: Study stochastic processes and Xenakis's theories
Techniques:
- Distribution comparison: Compare results from different probability models
- Barrier studies: Experiment with/without barriers to understand constraints
- Complexity analysis: Relate breakpoint count to perceptual complexity
- Historical context: Connect to Xenakis's GENDY3 and other stochastic works
Practical Workflow Examples
🎬 Sci-Fi Film Atmosphere
Goal: Create evolving background for space scene
Settings:
- Preset: Electronic Organisms
- Duration: 60 seconds
- Spatial: Rotating stereo
- Adjust: Lower amplitude_step to 0.08 for slower evolution
- Adjust: Set frequency barriers to 80-1200 Hz
Result: Slowly evolving synthetic ecosystem sound
Post-process: Add reverb, layer with other sounds
🎵 Experimental Music Segment
Goal: Create 2-minute stochastic composition section
Settings:
- Preset: GENDY3 Tribute
- Duration: 120 seconds
- Spatial: Stereo Dual
- Adjust: Increase breakpoints to 16 for more complexity
- Adjust: Set Cauchy distribution for dramatic changes
Result: Authentic Xenakis-style stochastic music
Composition: Extract interesting sections, layer, process further
🔬 Academic Study: Distribution Effects
Goal: Compare different probability distributions
Method:
- Create 4 versions with same parameters except distribution
- Duration: 10 seconds each
- Record generation count and spectral centroid over time
- Listen for perceptual differences
Findings: Cauchy produces most dramatic changes, Uniform most predictable, Gaussian most "natural"
Advanced Techniques
- Gradual evolution: Script that slowly changes amplitude_step over time
- Sectional form: Different presets for different sections of a piece
- Responsive synthesis: Modify parameters based on analysis of other sounds
- Multi-voice counterpoint: Generate multiple independent voices and combine
- Low frequency + many breakpoints: Complex subharmonic structures
- High frequency + few breakpoints: Buzzy, insect-like textures
- Large steps + tight barriers: Chaotic but constrained evolution
- Small steps + no barriers: Slow drift into new territories
- Extreme frequency range (20-5000 Hz): Full-spectrum exploration
Troubleshooting Common Issues
Causes: Long duration + many breakpoints + high sample rate
Solutions: Reduce duration, reduce breakpoints, use lower sample rate, be patient
Causes: Step sizes too small, barriers too tight, uniform distribution
Solutions: Increase amplitude_step/duration_step, use Cauchy distribution, loosen barriers
Causes: Step sizes too large, too many breakpoints, frequency too high
Solutions: Decrease step sizes, reduce breakpoints, lower base frequency
Causes: Insufficient barriers, large duration_step
Solutions: Set appropriate min/max frequency barriers, reduce duration_step
Causes: Praat drawing issues, very short durations
Solutions: Ensure Praat Picture window is open, use longer durations for better visualization
Performance Optimization
Historical & Theoretical Context
Iannis Xenakis: Architect of Stochastic Music
🏛️ From Architecture to Music
Background: Greek-French composer, architect, engineer (1922-2001). Worked with Le Corbusier, survived WWII, studied mathematics and music.
Key works: Metastasis (1955), Pithoprakta (1956), ST/48 (1962), GENDY3 (1991).
Theoretical contributions: Formalized Music (1963) — first comprehensive theory of stochastic music.
GENDY3 significance: One of first computer implementations of his stochastic theories for sound synthesis (1991, at CEMAMu).
Stochastic Music Theory
GENDY3 vs This Implementation
| Aspect | Original GENDY3 (Xenakis) | This Praat Implementation |
|---|---|---|
| Platform | Custom software at CEMAMu | Praat scripting language |
| Parameters | More extensive stochastic controls | Simplified for usability |
| Distributions | Cauchy primarily | 4 distributions including Cauchy |
| Output | Monophonic | Mono, stereo, rotating options |
| Visualization | Separate graphical output | Integrated in Praat Picture |
| Accessibility | Research institution only | Freely available Praat plugin |
| Philosophy | Pure stochastic exploration | Balanced: stochastic + musical usability |
Related Xenakis Techniques
Further Reading & Resources
Primary sources:
- Xenakis, I. (1963). Formalized Music: Thought and Mathematics in Composition. Indiana University Press.
- Xenakis, I. (1992). "GENDY3: Dynamic Stochastic Synthesis." Proceedings of the International Computer Music Conference.
Secondary sources:
- Harley, J. (2004). Xenakis: His Life in Music. Routledge.
- Solomos, M. (2013). From Music to Sound: The Emergence of Sound in 20th-Century Music. Routledge.
- di Scipio, A. (1998). "Compositional Models in Xenakis's Electroacoustic Music." Perspectives of New Music.
Online resources:
- The Xenakis Project: www.iannis-xenakis.org
- Centre Iannis Xenakis: www.centre-iannis-xenakis.org
- Stanford CCRMA Xenakis resources