XY Shape LFO Modulation 2D Trajectory

Two-dimensional LFO modulation using mathematical shape trajectories (X and Y functions) for complex time-warping, amplitude modulation, and spatial effects.

Author: Shai Cohen Affiliation: Department of Music, Bar-Ilan University, Israel Version: 1.0 (2025) License: MIT License Repo: https://github.com/ShaiCohen-ops/Praat-plugin_AudioTools
Contents:

What this does

🔄 Two-Dimensional LFO Concept

Traditional LFOs: Single low-frequency oscillator controlling one parameter (pitch, amplitude, filter).

XY Shape LFO: Two synchronized LFOs (X and Y) following mathematical trajectories, creating complex two-dimensional modulation paths. X and Y values control different audio parameters simultaneously.

Visualization: Shows actual X-Y trajectory plot alongside audio spectrogram, making modulation patterns visible.

🎛️ Three Modulation Approaches

1. Temporal Folding (Time Warp):

  • X value controls time offset (playback position)
  • Creates granular-like time scrubbing effects
  • Can create feedback loops with audio content

2. Ring Modulation (AM):

  • X value controls amplitude modulation depth
  • Creates robotic, metallic ring modulation effects
  • Classic amplitude modulation with shape-based control

3. Spatio-Temporal (Time + Pan):

  • X value controls time warp (left channel)
  • Y value controls pan position/amplitude (right channel)
  • Creates complex stereo spatialization effects

This script implements two-dimensional shape-based modulation — generating X and Y control signals from mathematical curves, then using these signals to modulate audio in various ways. Unlike standard LFOs that use simple waveforms (sine, triangle, etc.), this plugin uses complex mathematical shapes as modulation sources, creating intricate, evolving modulation patterns.

Key Features:

What is a shape LFO? Traditional LFO: Generates periodic control signal (sine, square, etc.) to modulate parameters. Shape LFO: Generates control signal following mathematical curves or shapes. Two-dimensional aspect: X and Y signals derived from parametric equations. Musical applications: Create evolving textures, complex modulation patterns, granular effects, spatial movement. Mathematical foundation: Each shape defined by parametric equations x(t) and y(t). Visual connection: See the modulation shape while hearing its effect. Advantages: (1) Complex patterns: More interesting than simple waveforms. (2) Visual intuition: See shape, predict sound effect. (3) Two-dimensional control: X and Y can control different parameters. (4) Mathematical precision: Exact, reproducible trajectories. (5) Creative exploration: Discover new modulation patterns through shape exploration.

Technical Implementation: (1) Shape generation: Create X and Y signals from parametric equations. (2) Trajectory scaling: Normalize to -1 to 1 range. (3) Mode selection: Apply X/Y to different audio parameters. (4) Feedback application: Optional recursive modulation based on audio content. (5) Instability addition: Optional randomness to trajectories. (6) Audio processing: Apply modulation via Praat formulas. (7) Visualization: Plot X-Y trajectory and spectrogram. (8) Cleanup: Remove intermediate trajectory objects.

Quick start

  1. In Praat, select exactly one Sound object to process.
  2. Run script…XY_Shape_LFO_Modulation.praat.
  3. Choose Preset or "Custom" for manual control.
  4. Select Shape_type (mathematical curve for X-Y trajectories).
  5. Choose Modulation_mode (how X/Y affect audio).
  6. Set Trajectory_rate_Hz (speed of shape traversal).
  7. Adjust Depth (modulation intensity).
  8. Set Signal_feedback (0-2, audio modulates itself).
  9. Set Instability (0-1, random trajectory variation).
  10. Enable Draw_visualization to see X-Y plot and spectrogram.
  11. Choose Play_result for immediate playback.
  12. Click OK — processing runs with visual feedback.
  13. Output named "[original]_[preset]" appears with visualization.
Quick tip: Start with presets — "Granular Time-Scrub" for texture, "Robotic Ring Mod" for metallic effects, "Stereo Head-Spinner" for spatial movement. Use visualization to understand shape effects. For time-based effects: higher rates (10-100 Hz) create granular textures, lower rates (0.1-5 Hz) create slow evolution. Try signal_feedback > 0 for recursive, chaotic effects. Instability > 0 adds organic variation. Different shapes create different modulation character: circles = smooth, stars = sharp, butterflies = complex. In spatio-temporal mode, X warps time in left channel, Y pans/amplifies right channel — creates complex stereo field. Watch visualization: left shows X-Y trajectory, right shows resulting spectrogram.
Important: SINGLE SOUND INPUT REQUIRED — select exactly one Sound object. High trajectory rates (>50 Hz) may cause extreme effects or artifacts. Signal_feedback > 1.0 creates exponential growth — may cause clipping or extreme distortion. Instability adds randomness — each run different even with same parameters. Temporal folding can create time discontinuities — may sound glitchy or broken. Visualization requires Praat Picture window open. Complex shapes (butterfly, rose) have more intricate trajectories. Depth interpretation varies by mode: time offset seconds for temporal folding, amplitude multiplier for ring modulation. Feedback loops can create unpredictable results — save before experimenting. Processing time depends on sound length and shape complexity. Cleanup removes intermediate trajectory sounds automatically.

Shape LFO Theory

Two-Dimensional Modulation Concept

📈 X-Y Parameter Space

Traditional 1D LFO: Single control signal c(t) modulating parameter p: p' = p × (1 + depth × c(t))

2D Shape LFO: Two control signals x(t) and y(t) from parametric equations, modulating parameters in coordinated ways.

Parametric representation: x(t) = f_x(ωt) y(t) = f_y(ωt) Where: t = time ω = 2π × trajectory_rate_Hz (angular frequency) f_x, f_y = shape-specific functions Example (circle): f_x(θ) = sin(θ) f_y(θ) = cos(θ) Trajectory: (x(t), y(t)) traces a circle in X-Y plane

Audio application: Use x(t) and y(t) to control different audio parameters simultaneously, creating complex correlated modulation.

Parametric Equations & Trajectories

🧮 Mathematical Foundation

Parametric vs. Cartesian:

  • Cartesian: y = f(x) (single-valued function)
  • Parametric: x = f(t), y = g(t) (time-based, can represent complex curves)

Why parametric for LFOs:

  • Can represent closed curves (circles, stars)
  • Can represent multi-valued relationships
  • Natural time-based progression
  • Easy to synchronize X and Y

Normalization: All shapes scaled to range [-1, 1] for consistent modulation depth.

Phase relationship: X and Y signals maintain precise phase relationship defined by shape equations.

Feedback & Recursive Modulation

🔁 Self-Modulating Systems

Traditional modulation: External LFO modulates audio signal.

Feedback modulation: Audio signal modulates its own modulation.

Feedback implementation: Let s(t) = audio signal at time t Let x(t) = trajectory X value Let F = feedback amount (0-2) Modified trajectory: x'(t) = x(t) × (1 + F × |s(t)|) Where |s(t)| = absolute value of audio signal (0-1 range) Effect: • When F = 0: Normal shape trajectory • When F > 0: Audio amplitude influences trajectory • When F > 1: Strong feedback, potentially chaotic • Absolute value ensures positive feedback only Musical result: Audio content "plays" the modulation, creating self-referential, evolving textures.

Creative use: Creates textures where loud passages modulate more than quiet ones, creating dynamic, responsive effects.

Instability & Stochastic Variation

🎲 Controlled Randomness

Purpose: Add organic variation to precise mathematical trajectories.

Instability implementation: Let I = instability amount (0-1) Let G = randomGauss(0, 1) (Gaussian random value) Modified trajectory: x'(t) = x(t) × (1 + I × G) Where: • G regenerated per sample (or per time point in implementation) • I controls magnitude of random variation • Gaussian distribution creates natural-sounding variation Implementation note: Actually applied in combination with feedback term in the plugin for efficiency: x'(t) = x(t) × (1 + F×|s(t)|) × (1 + I×G)

Effects:

  • I = 0: Perfect mathematical trajectories
  • 0 < I < 0.3: Subtle humanization
  • 0.3 < I < 0.7: Noticeable variation
  • I > 0.7: Dominant randomness

Use cases: Analog emulation (component variation), organic textures, avoiding mechanical repetition.

Visualization System

THREE-PART VISUALIZATION: 1. TITLE AREA: • Plugin name and preset • Key parameters (rate, depth, mode) • Centered at top 2. XY TRAJECTORY PLOT (left): • Viewport: (0, 3.5, 0.8, 4.0) • Axes: (-1.3, 1.3) for both X and Y • Background: light gray • Axes: gray lines at X=0, Y=0 • Trajectory: blue line (color varies in spatio-temporal mode) • 500-point sampling of full trajectory • Labels: X (time mod), Y (pan/AM) 3. SPECTROGRAM (right): • Viewport: (3.5, 7, 0.8, 4.0) • Spectrogram of output sound • Parameters: 0.01s window, 5000 Hz max, Gaussian window • Shows frequency-time evolution of modulated sound • Contrasts with simple trajectory plot 4. FOOTER: • Description of visualization panels COLOR CODING IN SPATIO-TEMPORAL MODE: • Y > 0: Green trajectory segments (right channel boosted) • Y < 0: Red trajectory segments (right channel attenuated) • Creates visual correlation between trajectory and stereo effect SAMPLING FOR VISUALIZATION: 500 points sampled across duration Each point: (x(t), y(t)) from trajectory sounds Lines connect consecutive points Shows complete shape traversal over time

Mathematical Shapes

📐 Six Parametric Curves

Each shape produces distinct X-Y trajectories with different musical characteristics. Shapes range from simple geometric forms to complex mathematical curves.

Shape 1: Circle

⭕ Simple Harmonic Motion

Equations:

x(t) = sin(2π × rate × t) y(t) = cos(2π × rate × t) Where t = time in seconds Properties: • Perfect circle radius 1 • X and Y are 90° out of phase (quadrature) • Constant angular velocity • Smooth, continuous motion

Audio characteristics: Smooth, continuous modulation. X and Y have same amplitude but different phase, creating coordinated but distinct modulation signals.

Use cases: Smooth panning, gentle time warping, classic LFO sounds with stereo correlation.

Shape 2: Diamond

💠 Triangle Wave Variant

Equations:

x(t) = (2/π) × arcsin(sin(2π × rate × t)) y(t) = (2/π) × arcsin(sin(2π × rate × t + π/2)) Properties: • Diamond shape (rotated square) • Piecewise linear approximation • Sharp corners at ±1 • X and Y 90° out of phase

Audio characteristics: Linear ramps with sharp turns. Creates more pronounced, edgy modulation compared to circle. The arcsin of sine creates triangle-like waves.

Use cases: More aggressive modulation, glitch effects, rhythmic patterns.

Shape 3: Lissajous (3:4)

🎯 Frequency Ratio Pattern

Equations:

x(t) = sin(3 × 2π × rate × t) y(t) = sin(4 × 2π × rate × t) Properties: • Frequency ratio 3:4 • Complex closed curve • Repeating pattern • More intricate than simple shapes

Audio characteristics: Complex, repeating pattern. The 3:4 frequency ratio creates interesting interference patterns. More harmonic content than simple shapes.

Use cases: Complex modulation patterns, evolving textures, mathematical music.

Shape 4: Rose Curve

🌹 Polar Coordinate Beauty

Equations:

r = cos(4 × 2π × rate × t) # 4 petals x(t) = r × cos(2π × rate × t) y(t) = r × sin(2π × rate × t) Equivalent parametric: x(t) = cos(4θ) × cos(θ) y(t) = cos(4θ) × sin(θ) where θ = 2π × rate × t Properties: • Rose curve with 4 petals • Varying radius • Symmetrical pattern • Smooth transitions

Audio characteristics: Pulsing, breathing modulation. The varying radius creates amplitude-like modulation on top of circular motion.

Use cases: Breathing textures, pulsating effects, evolving pads.

Shape 5: Star (Astroid)

⭐ Hypocycloid Pattern

Equations:

x(t) = cos³(2π × rate × t) y(t) = sin³(2π × rate × t) Properties: • Astroid curve (4-cusped hypocycloid) • Sharp points at axes • Curved sides • Mathematical: x^(2/3) + y^(2/3) = 1

Audio characteristics: Sharp attacks with curved decays. The cubed functions create sharper corners than sine/cosine. More dynamic range variation.

Use cases: Percussive modulation, sharp transients, staccato effects.

Shape 6: Butterfly Curve

🦋 Complex Transcendental

Equations:

Let θ = 2π × rate × t x(t) = sin(θ) × [exp(cos(θ)) - 2×cos(4θ) - sin⁵(θ/12)] y(t) = cos(θ) × [exp(cos(θ)) - 2×cos(4θ) - sin⁵(θ/12)] Properties: • Complex transcendental curve • Asymmetrical butterfly shape • Rich harmonic content • Variable curvature

Audio characteristics: Extremely complex, evolving modulation. Multiple frequency components (θ, 4θ, θ/12) create rich, ever-changing pattern.

Use cases: Maximum complexity, evolving textures, experimental sounds, chaotic modulation.

Shape Comparison

ShapeComplexitySymmetrySmoothnessHarmonic ContentMusical Character
CircleLowHighHighPure sine/cosineSmooth, gentle
DiamondLowHighLow (corners)Triangle-likeEdgy, rhythmic
LissajousMediumMediumHighMultiple harmonicsComplex, repeating
RoseMediumHighHighAmplitude modulatedPulsing, breathing
StarMediumHighLow (points)Rich harmonicsSharp, percussive
ButterflyHighLowVariableVery richComplex, evolving

Mathematical Properties

COMMON PROPERTIES: All shapes share: • Parametric form: x(t), y(t) • Period T = 1 / trajectory_rate_Hz • Normalized range: -1 ≤ x,y ≤ 1 • Time-based progression Frequency content: Circle: Single frequency (rate) Diamond: Odd harmonics (triangle-like spectrum) Lissajous: Two frequencies (3×rate, 4×rate) Rose: Multiple harmonics from modulation Star: Rich harmonic series (from cubic) Butterfly: Very rich spectrum (exponential, polynomial) Derivative considerations: • Circle: Smooth derivatives • Diamond: Discontinuous derivatives at corners • Complex shapes: Varying derivative magnitudes Audio implication: Rate of change affects modulation character Praat implementation: Each shape implemented as Praat formula string Example (circle): xFormula$ = "sin(twoPi * " + rate$ + " * x)" yFormula$ = "cos(twoPi * " + rate$ + " * x)" Create Sound objects from these formulas Use throughout processing as modulation sources

Modulation Modes

🎚️ Three Processing Approaches

Each mode uses X and Y trajectories differently to create distinct audio effects. The same shape can produce completely different results depending on mode.

Mode 1: Temporal Folding (Time Warp)

⏱️ Time Domain Manipulation

Process: Use X trajectory to warp time axis, creating granular-like effects.

Implementation: Let s(t) = original signal Let x(t) = X trajectory (-1 to 1) Let depth = time warp depth (0-1 typically) Let timeDepth = depth × 0.05 (converts to seconds) Time offset: Δt(t) = x(t) × timeDepth Output: s'(t) = s(t + Δt(t)) Praat formula: Formula: sourceName$ + "(x + (" + xTrajName$ + "(x) * " + timeDepth$ + " * fbTerm * jitterTerm))" Where: fbTerm = (1 + feedback × |signal|) if feedback > 0 jitterTerm = (1 + instability × randomGauss) if instability > 0

Effects:

  • Small depth: Subtle time smearing
  • Medium depth: Granular texture
  • Large depth: Extreme time scrambling
  • With feedback: Self-modulating time warp

Audio result: Creates granular synthesis-like effects, time compression/expansion, scrubbing effects.

Example: Circle shape at 50 Hz with depth 0.02 creates 50Hz granular texture with smooth time variation.

Mode 2: Ring Modulation (AM)

📻 Amplitude Modulation

Process: Use X trajectory to modulate amplitude, creating classic ring modulation effects.

Implementation: Let s(t) = original signal Let x(t) = X trajectory (-1 to 1) Let depth = modulation depth (0-1 typically) Amplitude modulation: a(t) = 1 + x(t) × depth Output: s'(t) = s(t) × a(t) Praat formula: Formula: "self * (1 + " + xTrajName$ + "(x) * " + depth$ + " * fbTerm * jitterTerm)" Note: Unlike true ring modulation (multiplication of signals), this is amplitude modulation (scaling by 1+modulator). True ring modulation would be: s(t) × x(t) This implementation avoids negative multiplication (phase inversion) unless depth > 1.

Effects:

  • Small depth: Subtle tremolo
  • Medium depth: Classic ring mod character
  • Large depth (depth > 1): Extreme distortion, phase inversion
  • With feedback: Self-modulating amplitude

Audio result: Creates metallic, robotic tones, tremolo effects, harmonic distortion.

Example: Lissajous shape at 50 Hz with depth 1.0 creates complex metallic ring modulation with 3:4 pattern.

Mode 3: Spatio-Temporal (Time + Pan)

🎧 Stereo Spatialization

Process: Use X for time warp on left channel, Y for pan/amplitude on right channel.

Implementation: LEFT CHANNEL (time warp): s_L(t) = s(t + x(t) × timeDepth) Similar to Mode 1 but applied only to left channel RIGHT CHANNEL (amplitude modulation): s_R(t) = s(t) × (0.5 + 0.5 × y(t)) Scales between 0 and 1 based on Y value Y = -1 → amplitude 0 (silent) Y = 0 → amplitude 0.5 (-6 dB) Y = 1 → amplitude 1 (full) COMBINE: Stereo output: [s_L(t), s_R(t)] Visualization coloring: • Y > 0: Green trajectory (right channel louder) • Y < 0: Red trajectory (right channel quieter)

Effects:

  • X variation: Time differences between channels
  • Y variation: Amplitude differences (panning effect)
  • Combined: Complex stereo spatialization
  • With butterfly shape: Evolving stereo field

Audio result: Creates complex stereo imaging with time and amplitude differences between channels, "spinning" or "swirling" effects.

Example: Butterfly shape at 2 Hz creates slowly evolving stereo field with complex spatial movement.

Mode Comparison

AspectTemporal FoldingRing ModulationSpatio-Temporal
Primary EffectTime warping/granularAmplitude modulationStereo spatialization
X UsageTime offsetAmplitude scaleLeft channel time offset
Y UsageNot usedNot usedRight channel amplitude
Output ChannelsMonoMonoStereo
Typical Depth0.01-0.10.2-1.00.2-0.8
CharacterGranular, glitchyMetallic, roboticSpatial, swirling
Best ShapesCircle, diamondLissajous, starButterfly, rose

Feedback System

FEEDBACK IMPLEMENTATION DETAILS: Parameter: signal_feedback (0-2) Implementation in all modes: fbTerm = (1 + feedback × |signal(x)|) Where |signal(x)| = absolute value of source signal at time x (range 0-1 after Praat's normalization) Effect: • When signal is loud: modulation increased • When signal is quiet: modulation decreased • Creates amplitude-dependent modulation Mathematical behavior: feedback = 0: No feedback (pure shape modulation) 0 < feedback < 1: Moderate feedback feedback = 1: Signal amplitude fully affects modulation feedback > 1: Exponential-like growth possible Example (temporal mode with feedback): Time offset = x(t) × depth × (1 + feedback × |signal|) Loud passage: larger time offset Quiet passage: smaller time offset Musical use: • Creates responsive effects • Can create chaotic systems when feedback > 1 • Adds dynamic variation based on content Warning: • feedback > 1 can cause extreme effects • May create clipping or unpredictable results • Recommended: Start with 0, increase gradually

Instability Implementation

🎲 Adding Random Variation

Parameter: instability (0-1) Implementation: jitterTerm = (1 + instability × randomGauss(0, 1)) Where randomGauss(0, 1) = Gaussian random with mean 0, std dev 1 Applied in all modes: modulation × jitterTerm Effect: • Adds random variation to modulation amount • Gaussian distribution = natural-sounding variation • Regenerated per sample (in theory) or per processing block Mathematical range: instability = 0: jitterTerm always 1 (no variation) instability = 0.1: jitterTerm ~ N(1, 0.1) = 0.7-1.3 typically instability = 0.5: jitterTerm ~ N(1, 0.5) = 0-2 typically instability = 1.0: jitterTerm ~ N(1, 1) = -1-3 typically Note: Actually implemented as multiplicative with feedback: totalTerm = fbTerm × jitterTerm Musical use: • instability < 0.3: Subtle humanization • instability 0.3-0.7: Noticeable variation • instability > 0.7: Dominant randomness Analog emulation: Can simulate component drift, tape wow/flutter, imperfect oscillators in analog systems

Applications

Sound Design & Experimental Music

Use case: Create evolving textures, granular effects, and complex modulations

Techniques:

Music Production & Processing

Use case: Add movement, texture, and interest to tracks

Techniques:

Academic & Educational Applications

Use case: Study modulation, parametric equations, audio-visual relationships

Techniques:

Practical Workflow Examples

🎬 Film Sound Design: Time Distortion

Goal: Create time-warped effect for flashback/dream sequence

Settings:

  • Mode: Temporal Folding
  • Shape: Rose Curve (breathing quality)
  • Rate: 0.8 Hz (slow evolution)
  • Depth: 0.03 (subtle time warp)
  • Feedback: 0.3 (content-responsive)
  • Instability: 0.1 (slight variation)
  • Source: Dialogue or environmental recording

Result: Subtle time smearing with breathing quality, louder passages warp more due to feedback.

Post-processing: Add reverb, layer with other elements, automate parameters for evolution.

🎵 Electronic Music: Robotic Texture

Goal: Create metallic, robotic lead sound from synth patch

Settings:

  • Mode: Ring Modulation
  • Shape: Star (sharp, percussive)
  • Rate: 88 Hz (musical: 2× A3 = 220 Hz / 2.5 ≈ 88)
  • Depth: 0.8 (pronounced modulation)
  • Feedback: 0.0 (clean modulation)
  • Instability: 0.0 (precise)
  • Source: Simple synth waveform (saw or square)

Result: Metallic, robotic lead with sharp attacks from star shape, harmonically related to musical content.

Musical use: Lead line in electronic track, processed through filter and effects chain.

🔬 Academic Study: Shape Perception

Goal: Determine if listeners can identify shapes from audio alone

Method:

  1. Create stimuli: Same source with 6 different shapes (same rate, depth, mode)
  2. Mode: Ring Modulation (clearest shape effect)
  3. Rate: 5 Hz (perceptible pattern)
  4. Depth: 0.5 (clear modulation)
  5. Conduct listening test: Match shape visual to audio
  6. Analyze recognition rates for each shape

Expected findings: Circle and diamond easily distinguished, complex shapes (butterfly, rose) more difficult, Lissajous recognized by repeating pattern.

Application: Understand auditory perception of mathematical patterns.

Advanced Techniques

Creative parameter combinations:
  • Rate automation: Script that changes rate over time (accelerando/ritardando)
  • Shape morphing: Interpolate between shapes over time
  • Multi-stage processing: Apply different modes in sequence
  • Frequency-specific modulation: Apply to filtered bands only
  • Parameter linking: Link instability to feedback for controlled chaos
  • External control: Use other sounds as trajectory sources (not just mathematical shapes)
Source material optimization:
  • Simple waveforms: Show shape characteristics most clearly
  • Complex sounds: Create dense, textured results
  • Rhythmic material: Interact with shape rhythms
  • Sustained tones: Show smooth evolution
  • Transient-rich: Create stuttering, granular effects
  • Stereo sources: Process differently in spatio-temporal mode

Troubleshooting Common Issues

Problem: Extreme distortion/clipping
Causes: High depth, high feedback, instability > 0.7
Solutions: Reduce depth, reduce feedback, reduce instability, normalize output
Problem: Unwanted silence/phase cancellation
Causes: Ring modulation with depth > 1 (negative multiplication), extreme time warping
Solutions: Reduce depth, use different mode, avoid extreme settings
Problem: Repetitive/predictable modulation
Causes: Simple shapes at rational rates, no instability
Solutions: Use complex shapes (butterfly), add instability, use irrational rate ratios
Problem: Processing very slow
Causes: Complex shapes (butterfly), long duration, high sample rate
Solutions: Use simpler shapes for testing, process shorter segments, be patient for complex shapes
Problem: Visualization missing or incorrect
Causes: Praat Picture window not open, very short sounds
Solutions: Open Picture window, use longer sounds for visualization
Problem: Unpredictable results with feedback
Causes: Feedback > 1 creates chaotic systems
Solutions: This is expected behavior for feedback > 1, use lower feedback for predictable results

Performance Considerations

PROCESSING COMPLEXITY: Main factors: 1. SHAPE COMPLEXITY: • Simple shapes (circle, diamond): Fast • Medium shapes (lissajous, rose, star): Moderate • Complex shapes (butterfly): Slower (exponential, power functions) 2. SOUND DURATION: • Directly proportional to processing time 3. FEEDBACK CALCULATION: • Requires signal amplitude at each time point • Adds computational overhead 4. INSTABILITY: • Random number generation per sample (conceptually) • Actually implemented efficiently 5. VISUALIZATION: • Additional processing for plotting • 500-point trajectory sampling • Spectrogram calculation Praat formula evaluation: Complex formulas evaluated per sample Example (temporal mode with butterfly): Formula evaluates: source(x + butterfly_x(x) × depth × ...) Each sample: compute butterfly_x(x), feedback term, apply Typical processing times: • 10s sound, circle shape: < 5 seconds • 30s sound, butterfly shape: 15-30 seconds • 60s sound, complex with feedback: 30-60 seconds Memory usage: • Stores source, X trajectory, Y trajectory • Creates output • Temporary objects for visualization • Cleanup removes intermediate objects Optimization tips: • Test with short segments first • Use simpler shapes for experimentation • Disable visualization for faster processing • Be patient for complex shapes/long durations

Theoretical & Historical Context

LFOs in Music Technology

📻 History of Low-Frequency Oscillators

Analog synthesizers (1960s-1970s):

  • Moog, ARP, Buchla: Voltage-controlled LFOs
  • Simple waveforms: sine, triangle, square, saw
  • Applications: vibrato, tremolo, filter modulation

Digital synthesizers (1980s):

  • FM synthesis (Yamaha DX7): Complex modulation possibilities
  • Wavetable synthesis: Scanning through waveforms
  • More complex modulation routings

Computer music (1990s-present):

  • Arbitrary waveform LFOs
  • Multi-stage envelopes
  • Complex modulation matrices
  • Algorithmic/generative approaches

This plugin innovation: Using mathematical curves as LFO shapes, two-dimensional correlated modulation, audio feedback for self-modulation.

Mathematical Curves in Art & Music

🎨 Mathematics as Artistic Inspiration

Historical examples:

  • Lissajous curves: Jules Antoine Lissajous (1857), used to visualize vibrations
  • Rose curves: Studied by Grandi (1723), beautiful symmetrical patterns
  • Butterfly curve: Temple H. Fay (1989), aesthetic mathematical discovery
  • Hypocycloids: Ancient curves, studied by Dürer, Descartes

Musical applications:

  • Xenakis: Used mathematical functions for composition
  • Algorithmic composition: Mathematical rules generating music
  • Visual music: Correlating visual patterns with sound
  • Parameter mapping: Using curves to control sound parameters

This plugin approach: Direct sonification of mathematical beauty, making abstract curves audible through modulation.

Granular Synthesis & Time Warping

⏱️ Time Domain Manipulation History

Early techniques:

  • Tape manipulation: Varispeed, tape loops (1950s-1960s)
  • Analog delay: BBD, tape echo time effects
  • Digital beginnings: First time-stretching algorithms (1970s)

Granular synthesis:

  • Curtis Roads (1970s): Theoretical foundation
  • Barry Truax (1980s): Real-time implementations
  • Modern applications: Texture creation, time manipulation

This plugin temporal folding: Simplified granular approach using continuous time warping rather than discrete grains, shape-controlled time offset.

Related Audio Processing Techniques

RELATED MODULATION TECHNIQUES: 1. PHASE DISTORTION SYNTHESIS: • Casio CZ series (1980s) • Modify waveform reading speed • Similar to temporal folding but for synthesis 2. WAVESHAPING DISTORTION: • Non-linear transfer functions • Can create complex harmonics • Mathematical curve application 3. FREQUENCY MODULATION (FM): • Chowning (1970s), Yamaha DX7 • Complex sidebands from simple oscillators • Different from amplitude modulation here 4. WAVETABLE SYNTHESIS: • Scanning through waveform tables • Can use mathematical curves as wavetables 5. PARAMETRIC EQ MODULATION: • Modulating filter frequencies with LFOs • Creates evolving spectral changes THIS PLUGIN'S UNIQUE COMBINATIONS: 1. Two-dimensional correlated modulation (X and Y) 2. Mathematical curves as modulation sources 3. Audio feedback for self-modulation 4. Integrated visualization of modulation shapes 5. Multiple application modes (time, amplitude, spatial) POSSIBLE EXTENSIONS: • More mathematical curves (epicycloids, spirals, fractals) • 3D modulation (X, Y, Z controlling three parameters) • External trajectory input (draw or import curves) • Multi-band processing (different shapes per frequency band) • Physical modeling (curves controlling physical parameters)

Further Reading & Resources

Mathematics of curves:

  • Lawrence, J. D. (1972). A Catalog of Special Plane Curves. Dover Publications.
  • Yates, R. C. (1952). Curves and Their Properties. National Council of Teachers of Mathematics.
  • Weisstein, E. W. "MathWorld" online resource for mathematical curves.

Audio modulation & synthesis:

  • Roads, C. (1996). The Computer Music Tutorial. MIT Press.
  • Russ, M. (2008). Sound Synthesis and Sampling. Focal Press.
  • Miranda, E. R. (2002). Computer Sound Design: Synthesis Techniques and Programming. Focal Press.

Visual music & sonification:

  • Brougher, K. et al. (2005). Visual Music: Synaesthesia in Art and Music Since 1900. Thames & Hudson.
  • Hermann, T., Hunt, A., & Neuhoff, J. G. (Eds.). (2011). The Sonification Handbook. Logos Publishing.

Online resources:

  • Mathematical curve visualizations and equations
  • LFO modulation tutorials and examples
  • Granular synthesis resources
  • Audio visualization techniques