Fractal Spectral Hologram — User Guide

Transforms audio into spectral holograms through fractal texture processing, creating crystalline echoes, temporal shatters, and quantum‑blurred textures.

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

This script implements fractal spectral holography — a technique that converts audio into a spectral image, applies fractal‑inspired texture processing (blur, sharpen, zoom), then reconstructs the modified spectrum onto a noise carrier to create holographic audio transformations.

Key Features:

Why spectral holography? Traditional audio effects operate directly on waveforms. Spectral holography:
(1) Creates visual‑style processing — apply image filters to sound spectrograms
(2) Enables fractal manipulation — zoom, blur, sharpen spectral textures
(3) Produces unique textures — crystalline, shattered, blurred, frozen effects
(4) Carrier‑based reconstruction — noise carrier preserves spectral shape while removing original phase
(5) Non‑destructive creativity — original audio preserved in dry/wet mix

Fractal Spectral Hologram

Transforms audio into a spectral image representation, applies fractal‑inspired texture processing (blur, sharpen, zoom) to create holographic modifications, then reconstructs the processed spectrum onto a noise carrier to generate crystalline echoes, temporal shatters, and quantum‑blurred audio textures.

Quick start

  1. In Praat, select exactly one Sound object (mono or stereo).
  2. Run script…fractal_spectral_hologram.praat.
  3. Choose Preset — start with "Crystal Echo" or "Subtle Shimmer".
  4. Adjust any manual settings if desired (preset overrides defaults).
  5. Click OK — processing completes quickly.
  6. Result named "originalname_hologram" appears in Objects window.
Quick tip: Start with Crystal Echo for clear holographic reflections. Try Temporal Shatter for broken, fragmented textures. Use Quantum Blur for extreme smearing effects. Adjust Dry_wet to blend with original. Processing is fast regardless of audio length.
Important: Stereo files are converted to mono for processing. High Fractal_zoom (>2.0) can create extreme spectral stretching. Blur_strength + Sharpen_strength interact — high values of both can create artifacts. Dry_wet = 1.0 means only processed sound (no original). Noise carrier reconstruction means output will have noise‑like character.

Fractal Processing Theory

Spectral Holography Pipeline

Audio → Spectrogram → Spectral Image → Texture Processing → Modified Spectrogram → Noise Carrier → Output Audio Key transformation: Spectrogram as 2D image (time × frequency) Apply image‑processing operations Re‑audiofy through noise carrier

Three‑Stage Texture Processing

🔮 The Texture Triad

Blur_strength (0–1): Temporal/frequency smoothing.
0 = no blur, 1 = maximum smoothing. Creates smeared, atmospheric textures.

Sharpen_strength (0–2): Edge enhancement in spectrogram.
0 = no sharpening, >1 = aggressive edge enhancement. Creates crystalline, defined textures.

Fractal_zoom (0.5–3.0): Spectral magnification.
1.0 = no zoom, >1 = zoom in, <1 = zoom out. Creates stretched/compressed spectral textures.

Noise Carrier Reconstruction

Why noise as carrier?

Mathematical Foundation

Spectrogram S(t, f) = 10·log₁₀(|STFT(x(t))|²) Hologram H(t, f) = max(0, S(t, f) + 100) # Normalize to 0–100 range Texture Processing: Blur: H' = H·(1−b) + (0.25·Hₜ₋₁ + 0.5·H + 0.25·Hₜ₊₁)·b Sharpen: H'' = H + s·(H − blurred(H)) Zoom: H''' = H''(center ± (position−center)/z) Noise Carrier Reconstruction: N(t) = Gaussian noise N_spectrum = STFT(N(t)) Output_spectrum = N_spectrum · 10^((H''' − 100)/10) Output = inverse_STFT(Output_spectrum)

Presets Gallery

Subtle Shimmer

Character: Gentle crystalline quality, slight sparkle

Window: 25 ms (detailed temporal resolution)

Zoom: 1.15 (slight magnification)

Use for: Adding subtle texture, vocal enhancement

Crystal Echo

Character: Clear holographic reflections, defined edges

Sharpen: 0.8 (strong edge enhancement)

Zoom: 1.5 (moderate magnification)

Use for: Creating crystalline, glass‑like textures

Fractal Storm

Character: Chaotic temporal turbulence, swirling textures

Blur: 0.75 (heavy smoothing)

Zoom: 2.3 (strong magnification)

Use for: Atmospheric pads, stormy textures

Temporal Shatter

Character: Broken time fragments, sharp edges

Sharpen: 1.5 (extreme edge enhancement)

Zoom: 2.8 (maximum magnification)

Use for: Glitch, fragmented textures

Holographic Freeze

Character: Deep frozen texture, suspended time

Window: 150 ms (very broad temporal window)

Blur: 0.85 (extreme smoothing)

Use for: Frozen moments, suspended animation

Quantum Blur

Character: Extreme smear and zoom, indeterminate

Blur: 0.95 (near‑total smoothing)

Zoom: 2.6 (strong magnification)

Use for: Dreamlike textures, memory effects

Granular Collapse

Character: Ultra‑fragmented, granular texture

Window: 15 ms (very short temporal window)

Sharpen: 1.8 (maximum edge enhancement)

Use for: Granular synthesis, micro‑textures

Parameters

Form Parameters

ParameterTypeDefaultDescription
PresetoptionCustomPreset selection (overrides settings)
Window_length_msreal40Spectrogram window length (ms)
Time_step_msreal5Spectrogram time step (ms)
Blur_strengthreal0.5Spectral/temporal smoothing (0–1)
Sharpen_strengthreal0.3Edge enhancement strength (0–2)
Fractal_zoomreal1.2Spectral magnification factor (0.5–3.0)
Output_gain_dBreal0Output gain adjustment (± dB)
Dry_wetreal1.0Dry/wet mix (0=dry, 1=wet)
Play_outputboolean1Auto‑play after processing

Parameter Details

Window_length_ms & Time_step_ms:
Control spectrogram resolution. Short window = good time resolution (preserves transients). Long window = good frequency resolution (clear harmonics). Time step controls overlap; smaller = smoother temporal evolution. Default (40ms window, 5ms step) balances detail and processing speed.
Texture Processing Triad:
Blur_strength — Smooths spectral image horizontally (time) and vertically (frequency). Creates atmospheric, smeared textures.
Sharpen_strength — Enhances edges in spectrogram. Creates crystalline, defined textures.
Fractal_zoom — Magnifies or reduces spectral image around center. Creates stretched/compressed spectral textures.
Output & Mix:
Output_gain_dB — Adjusts final output level. Useful if processing reduces/increases overall loudness.
Dry_wet — Blends original (dry) with processed hologram (wet). 0.5 = equal mix, 1.0 = only hologram.
Play_output — Auto‑plays result after processing for quick audition.

Processing Workflow

1

Instant Analysis

Audio converted to spectrogram using Gaussian window. Spectrogram converted to matrix (spectral image) and normalized to 0–100 dB range.

2

Texture Processing

Spectral image undergoes three‑stage fractal processing:

  • Blur: Temporal/frequency smoothing
  • Sharpen: Edge enhancement
  • Zoom: Center‑based magnification
3

Noise Carrier Creation

Gaussian noise generated as audio‑length carrier. Noise converted to spectrogram with matching dimensions to processed hologram.

4

Hologram Application

Processed spectral hologram applied as filter to noise spectrogram: Noise_spectrum × 10^((Hologram − 100)/10)

5

Reconstruction & Mix

Modified spectrogram converted back to audio (noise carrier with holographic spectral shape). Result mixed with original based on Dry_wet ratio.

Processing Speed: The algorithm is computationally efficient. Most processing time is in spectrogram creation/reconstruction. Audio length affects processing time linearly. Presets optimize window/step for desired character.

Applications

Crystalline Textures

Use case: Create glass‑like, crystalline sound qualities

Technique: Use "Crystal Echo" preset with high sharpen_strength

Example: Vocal → glass harmonica‑like texture

Temporal Manipulation

Use case: Create time‑stretched, frozen, or shattered effects

Technique: Use "Temporal Shatter" or "Holographic Freeze" presets

Example: Percussion → frozen, suspended hit

Atmospheric Sound Design

Use case: Create evolving, blurred, dreamlike atmospheres

Technique: Use "Quantum Blur" or "Fractal Storm" presets

Example: Field recording → dream sequence atmosphere

Granular Synthesis Alternative

Use case: Create granular‑like textures without traditional granulation

Technique: Use "Granular Collapse" preset with short window

Example: Piano → granular cloud texture

Practical Preset Applications

🎵 Vocal Holography

Goal: Transform vocal into ethereal, crystalline texture

Settings:

  • Preset: Crystal Echo
  • Dry_wet: 0.7–0.8 (prominent hologram)
  • Output_gain_dB: +2 to +4 (compensate for noise carrier)

Result: Ethereal vocal with glass‑like reflections

🔊 Percussive Freeze

Goal: Freeze percussive hits in time

Settings:

  • Preset: Holographic Freeze
  • Window_length_ms: 150–200 (broad temporal capture)
  • Blur_strength: 0.8–0.9 (smooth frozen texture)

Result: Suspended, frozen percussion hits

🌫️ Dream Sequence

Goal: Create blurred, dreamlike memory effect

Settings:

  • Preset: Quantum Blur
  • Fractal_zoom: 2.5–2.8 (extreme magnification)
  • Dry_wet: 0.4–0.6 (subtle blending)

Result: Distant, blurred, dream‑like audio

Advanced Techniques

Texture Parameter Interactions:
  • High Blur + High Sharpen: Creates defined but smoothed textures
  • High Zoom + Low Blur: Creates detailed, magnified textures
  • Low Zoom + High Sharpen: Creates compressed, crystalline textures
  • All parameters extreme: Creates chaotic, unpredictable results
Carrier Variations: The script uses Gaussian noise as default carrier. Advanced users could modify script to use:
• Different noise types (pink, brownian)
• Tonal carriers (sine waves, harmonic complexes)
• External audio as carrier

Troubleshooting

Problem: Output too noisy/grainy
Cause: Noise carrier prominent, Dry_wet too high
Solution: Reduce Dry_wet (0.3–0.6), increase Output_gain_dB
Problem: Output too blurred/unclear
Cause: Blur_strength too high, Sharpen_strength too low
Solution: Reduce Blur_strength (0.2–0.4), increase Sharpen_strength (0.8–1.2)
Problem: Extreme artifacts/distortion
Cause: Fractal_zoom too high (>2.5), Sharpen_strength extreme (>1.5)
Solution: Reduce Fractal_zoom (1.5–2.0), reduce Sharpen_strength
Problem: Processing slow
Cause: Very short Time_step_ms, very long audio
Solution: Increase Time_step_ms (8–12 ms), or process shorter segments

Creative Extensions

Multi‑Stage Holography

Process audio through multiple holographic stages with different presets for complex texture evolution.

Parameter Modulation

Modify script to change texture parameters over time (e.g., increasing zoom throughout piece).

External Carrier Sources

Replace Gaussian noise carrier with other sounds (field recordings, instruments, synthesized tones).

Visual‑Audio Cross‑Modality

Use external image processing on spectrogram matrix before reconstruction.

Pro tip: The spectral hologram (matrix) can be saved as image file for visual analysis or external processing. Use Praat's "Save as PNG file..." command on the matrix object.