Creative Formant Manipulations — User Guide
Seven experimental formant transformations: rotation (vowel morphing), reversal (spectral flip), scrambling (randomization), scaling (gender shift), LFO modulation, crossfading (temporal blend), and freezing (static vowels) — creates impossible vocal transformations and timbral effects.
What this does
This script provides seven creative formant manipulations for experimental voice and timbre transformation. Process: (1) Extract formants from input audio using FormantPath analysis. (2) Apply selected manipulation to formant frequencies/bandwidths. (3) Resynthesize audio using modified formants via FormantGrid filtering. Manipulations: Rotation (shift all formants up/down), Reversal (F1↔F5, F2↔F4), Scrambling (random permutation per frame), Scaling (gender shift via frequency/bandwidth ratios), LFO modulation (cyclic frequency wobble), Crossfading (blend start/end formants), Freezing (hold formants at intervals). Result: Impossible vocal transformations beyond natural speech — creates alien voices, morphing timbres, robotic effects, gender shifts, and experimental textures.
Quick start
- In Praat, select exactly one Sound object (works best on voice/tonal material).
- Run script… →
Creative_Formant_Manipulations.praat. - Choose Manipulation_type (1-7, see below for descriptions).
- Adjust manipulation-specific parameters (rotation amount, LFO rate, etc.).
- FormantPath parameters usually work well at defaults (modify for non-speech material).
- Click OK — processing begins, output auto-plays.
7 Manipulation Types
1. Formant Rotation (Vowel Morphing)
What it does: Shifts all formants up or down in frequency by specified semitones (multiplication by 2^(semitones/12)).
Parameters: Rotation_amount_(semitones) — positive = shift up (brighter), negative = shift down (darker).
Effect: Changes vowel identity smoothly. Example: "ah" → "eh" → "ee" with increasing rotation. Similar to formant shifting in pitch correction software.
Use: Vowel morphing, timbral brightening/darkening, creating intermediate vowel sounds.
2. Formant Reversal (Spectral Flip)
What it does: Reverses formant order (F1 ↔ F5, F2 ↔ F4, F3 stays same).
Parameters: None (automatic reversal).
Effect: Creates "inside-out" vocal timbre. Low formants become high, high become low. Very unnatural, alien character.
Use: Alien voices, experimental sound design, creating impossible vocal timbres.
3. Formant Scrambling (Randomize)
What it does: Randomly shuffles formant order at each time frame (Fisher-Yates shuffle algorithm).
Parameters: None (automatic random permutation per frame).
Effect: Chaotic, constantly-changing timbre. No stable vowel identity. Formants jump unpredictably frame-to-frame.
Use: Glitch effects, chaotic textures, destroying intelligibility, extreme experimental processing.
4. Formant Scaling (Gender Shift)
What it does: Scales formant frequencies and bandwidths by independent ratios.
Parameters: Formant_shift_ratio (frequency scaling), Formant_stretch_ratio (bandwidth scaling).
Effect: Gender transformation. Ratio <1.0 (e.g., 0.8) = male→female (higher formants). Ratio >1.0 (e.g., 1.2) = female→male (lower formants).
Use: Gender shifting, voice disguise, creating different vocal characteristics.
Example: shift=0.85, stretch=1.15 — raises formants (feminization), widens bandwidths (adds breathiness).
5. Formant LFO Modulation
What it does: Modulates all formants cyclically via sine wave LFO (Low-Frequency Oscillator).
Parameters: LFO_rate_Hz (modulation speed), LFO_depth_semitones (modulation range).
Effect: Formants wobble up/down rhythmically. Creates "wah-wah" or tremolo-like timbre variation.
Use: Vibrato-like effects, rhythmic timbral modulation, synthetic vocal character.
Example: rate=2 Hz, depth=6 semitones — formants oscillate ±6 semitones twice per second.
6. Formant Crossfade (Temporal Blend)
What it does: Blends between first frame and last frame formants cyclically over duration.
Parameters: Crossfade_cycles (number of start→end→start cycles).
Effect: Formants morph from beginning vowel to ending vowel and back, repeatedly. Creates looping vowel transitions.
Use: Vowel animation, creating motion in static sounds, temporal formant evolution.
Example: 3 cycles — formants crossfade start→end→start three times over audio duration.
7. Formant Freezing (Hold Vowels)
What it does: Holds formants static at regular intervals (samples formant, holds for duration, repeats).
Parameters: Freeze_interval_(s) (time between freezes), Freeze_duration_(s) (how long to hold).
Effect: Creates "stuttering" or "robotic" vowels. Formants lock, then jump to next freeze position.
Use: Robotic voice, beat-repeat-like formant effects, rhythmic vowel chopping.
Example: interval=0.3s, duration=0.15s — freeze formant every 300ms for 150ms.
Parameters
FormantPath Analysis Parameters
| Parameter | Default | Description |
|---|---|---|
| Time_step_(s) | 0.005 | Analysis frame rate (200 frames/second). Smaller = finer temporal resolution. |
| Max_number_of_formants | 5 | Number of formants to track (typically 3-5 for speech). |
| Maximum_formant_(Hz) | 5500 | Upper frequency limit for formant search (5000-5500 Hz for adult speech, 8000 Hz for children). |
| Window_length_(s) | 0.025 | Analysis window duration (25ms standard for speech). |
| Pre_emphasis_from_(Hz) | 50 | High-pass filter to boost high frequencies for formant detection. |
| Formant_smoothing_bandwidth | 0.05 | Smoothing kernel bandwidth (temporal averaging of formant tracks). |
| Relative_formant_bandwidth | 4 | Bandwidth scaling factor (higher = wider formant bandwidths in synthesis). |
Manipulation-Specific Parameters
| Parameter | Manipulation | Default | Range/Notes |
|---|---|---|---|
| Rotation_amount_(semitones) | Rotation | 3 | ±12 semitones typical. Positive = up, negative = down. |
| Formant_shift_ratio | Scaling | 0.8 | 0.7-1.3 typical. <1.0 = higher formants (feminization). |
| Formant_stretch_ratio | Scaling | 1.2 | 0.8-1.5 typical. >1.0 = wider bandwidths (breathiness). |
| LFO_rate_Hz | LFO | 2 | 0.5-10 Hz typical. Higher = faster wobble. |
| LFO_depth_semitones | LFO | 6 | 1-12 semitones typical. Larger = more extreme modulation. |
| Crossfade_cycles | Crossfade | 3 | 1-10 cycles typical. More cycles = faster morphing. |
| Freeze_interval_(s) | Freezing | 0.3 | 0.1-1.0s typical. Time between freeze events. |
| Freeze_duration_(s) | Freezing | 0.15 | 0.05-0.5s typical. How long to hold formants. Must be < interval. |
Output Options
| Parameter | Default | Description |
|---|---|---|
| Keep_intermediate_objects | 0 (false) | If true, keeps FormantPath, Formant, FormantGrid objects for inspection. If false, auto-cleanup. |
Applications & Use Cases
Voice Transformation
Gender shifting: Use Formant scaling (shift_ratio 0.8-0.9 for feminization, 1.1-1.2 for masculinization).
Alien/robot voices: Use Formant reversal or scrambling for unintelligible, otherworldly character.
Vowel morphing: Use Formant rotation to smoothly transition between vowel qualities.
Experimental Sound Design
Glitch vocals: Formant scrambling creates chaotic, digital artifact aesthetic.
Synthetic textures: Apply to non-vocal material (synths, pads) for formant-like resonances.
Rhythmic effects: Formant freezing or LFO modulation creates pulsing timbral variation.
Creative Combinations
Chain manipulations: Process output with different manipulation type for compound effects.
Layer originals: Mix manipulated version with original for partial formant alteration.
Automate parameters: Modify script to vary parameters over time (e.g., gradual rotation increase).
Troubleshooting
Cause: Poor formant detection (noise, unvoiced material) or formants outside valid range
Solution: Use tonal/voiced material. Check Maximum_formant matches input (5500 Hz for speech, adjust for other material).
Cause: Formants too close together, extreme manipulations, or bandwidth issues
Solution: Reduce manipulation intensity (smaller rotation/scaling). Adjust Relative_formant_bandwidth (4-10 range).
Cause: Only formants shifted, not pitch (F0) — mismatch creates uncanny valley effect
Solution: For realistic gender shift, combine with pitch shifting (Change gender... in Praat, or external pitch shifter).