IRCAM SuperVP Transform — User Guide

Spectral voice transformation bridge from Praat to the SuperVP engine (AudioSculpt / Ircam). Supports 11 transform modes: Age, Gender, Flatten pitch, Time stretch, Tremolo, Cross synthesis, Vibrato, Breathiness, Formant shift, Harmoniser, De‑noise, and Age+Gender chain. Exports F0 + Intensity BPFs, builds SuperVP parameter files, calls the command‑line engine, and imports the result.

Author: Shai Cohen Affiliation: Department of Music, Bar‑Ilan University, Israel Version: 2.5 (2026) License: MIT License Repo: GitHub
Contents:

What this does

SuperVP Transform is a bridge between Praat and the SuperVP spectral processing engine (part of AudioSculpt / Ircam). The workflow:

  1. Praat exports the selected sound(s) to WAV.
  2. If needed, Praat extracts F0 and Intensity contours as BPF files.
  3. A Python script builds SuperVP command lines, calls supervp.exe (or the appropriate binary), and writes the processed WAV.
  4. Praat imports the result and optionally displays waveforms and spectrograms.
Supported transform modes (12):
  • Age – voice aging / rejuvenation (‑age).
  • Gender – male ↔ female morph (‑male / ‑female + extra formant shift).
  • Flatten pitch – normalise F0 to median or target pitch.
  • Time stretch – F0‑adaptive time dilation (‑D + ‑Mauto).
  • Tremolo – intensity‑envelope tremolo (‑trmdle).
  • Cross synth – spectral cross‑synthesis between two sounds (‑Gcross).
  • Vibrato – sinusoidal pitch modulation (via ‑transke).
  • Breathiness – blend spectral noise (breathy/whisper) via ‑Gnoise.
  • Formant shift – shift vocal tract resonances (‑transenv).
  • Harmoniser – add parallel voice at fixed interval (‑transke + mixing).
  • De‑noise – spectral gate via intensity‑derived BPF (‑ggain).
  • Age + Gender – chain age then gender in two passes.

Quick start

  1. Install SuperVP (AudioSculpt / Ircam) and ensure supervp.exe is in the expected location (default C:\Users\User\SuperVP\bin\supervp.exe).
  2. Place the Python helper script supervp_transform.py in the plugin_AudioTools/py/ folder.
  3. In Praat, select 1 or 2 Sound objects (depending on mode).
  4. Run script…SuperVP_Transform.praat.
  5. Choose a transform mode from the list.
  6. Adjust mode‑specific parameters (age years, gender direction, stretch factor, etc.).
  7. Click Run. Praat exports WAVs, extracts F0/Intensity if needed, calls Python, and SuperVP processes the sound.
  8. The result is imported as originalname_svp_modename and optionally played.
Tip: For voice transformations, start with Age or Gender. For time‑stretching without pitch change, use Time stretch. For creative spectral hybrids, try Cross synth with two sounds.
Important: SuperVP is a commercial product (AudioSculpt / Ircam). This script provides a bridge; you must have a licensed copy of SuperVP installed. The default path is for Windows – adjust supervpExe$ in the script if needed.

Transform modes (12)

。<‑age + ‑female/‑male。
ModeSuperVP flagsParametersDescription
Age‑ageage_years
Gender‑female / ‑male + ‑transenvgender_dir, gender_amount
Flatten pitch‑transke (BPF)target_f0_hz
Time stretch‑D + ‑Mautostretch_factor
Tremolo‑trmdletremolo_freq_hz, tremolo_depth_cents
Cross synth‑Gcrosscross_mix
Vibrato‑transke (sinusoidal BPF)vibrato_freq_hz, vibrato_depth_cents
Breathiness‑Gnoise + ‑ggainbreathiness_amount
Formant shift‑transenvformant_shift_cents
Harmoniser‑transke + mixingharmoniser_interval_cents, harmoniser_mix
De‑noise‑ggain (gate BPF)denoise_threshold_db
Age + Genderage_years, gender_dir, gender_amount

Pipeline

Stage 1 – Export (Praat) – save selected sound(s) as WAV.
Stage 2 – Analysis (Praat) – if mode requires F0 or Intensity, extract contours via To Pitch / To Intensity and write BPF files (time, value).
Stage 3 – Python bridge – read BPFs, build transform‑specific BPFs (e.g., flatten pitch transposition, vibrato sinusoid, denoise gate), assemble SuperVP command line.
Stage 4 – SuperVP processing – run supervp.exe with the constructed arguments, write output WAV.
Stage 5 – Import (Praat) – read result, rename, visualise.

BPF (BreakPoint Function) files

SuperVP uses BPF text files with two columns: time (seconds) and value (Hz for F0, dB for intensity, or cents for transposition). Praat exports F0 and Intensity at a 10 ms step. The Python backend computes derived BPFs (e.g., flatten pitch → cents transposition per frame, vibrato → sinusoidal cents BPF).

Parameters & defaults

Mode‑specific parameters

。<0 = use median F0; >0 = flatten to that pitch.。 。<0 = clean, 1 = full noise (whisper).。
ModeParameterRangeDefaultDescription
Ageage_years-30 … 3020
Gendergender_direction, gender_amountfemale/male, 1–5female, 3
Flatten pitchtarget_f0_hz0 … 10000 (auto)
Time stretchstretch_factor0.5 … 3.01.5
Tremolotremolo_freq_hz, tremolo_depth_cents0.5 … 20, 0 … 2005.0, 30
Cross synthcross_mix0 … 10.5
Vibratovibrato_freq_hz, vibrato_depth_cents0.5 … 20, 0 … 2005.5, 50
Breathinessbreathiness_amount0 … 10.4
Formant shiftformant_shift_cents-500 … 500200
Harmoniserharmoniser_interval_cents, harmoniser_mix-1200 … 1200, 0 … 1700, 0.3
De‑noisedenoise_threshold_db10 … 6030
Age+Genderage_years, gender_dir, gender_amount20, female, 3

Visualization (Praat picture)

When Draw_visualization = 1, the script draws a 5‑panel figure:

Tip: The F0 contour panel helps verify that flatten pitch, vibrato, or harmoniser modes are working as intended.

FAQ / troubleshooting

“supervp.exe not found”

Update the supervpExe$ variable in the Praat script to point to your SuperVP installation. On Windows, the default is C:\Users\User\SuperVP\bin\supervp.exe. On macOS/Linux, you will need to adjust the path and the Python script’s executable name.

Python bridge fails / no output

Ensure supervp_transform.py is in the plugin_AudioTools/py/ folder and that Python is in your PATH. The script writes a log file (svp_log.txt) in the plugin directory – check its contents for error messages.

Gender mode sounds unnatural / too subtle

The two‑pass approach (gender switch + extra formant shift) is designed to be stronger than the built‑in gender switch alone. If still subtle, increase gender_amount to 4 or 5, or adjust the formant shift amount in the Python script.

F0‑adaptive time stretch

The -Mauto flag uses the F0 contour to adapt the analysis window size, preserving pitch during stretching. Without it, time stretching would also change pitch (like varispeed).

Harmoniser vs. Cross synth

Harmoniser creates a parallel voice at a fixed musical interval (e.g., a fifth above). Cross synth blends the amplitude of one sound with the frequency of another – a more radical spectral hybrid.

SuperVP BPF format

BPF files are simple text with two columns: time (seconds) and value. For transposition (‑transke), values are in cents (positive = up, negative = down). For gain (‑ggain), values are linear (0–1). For F0 (‑F0), values are in Hz.