LPC Voice Morphing — LPC Vocoder Pro — User Guide
An LPC excitation-replacement vocoder that filters pitch-driven phonation or Gaussian noise through the time-varying LPC envelope of the selected source.
What this does
LPC Voice Morphing / LPC Vocoder Pro is an excitation-replacement vocoder. It analyzes one channel of the source with LPC, creates either a pitch-driven phonation source or Gaussian noise, and filters that new excitation through the source's time-varying LPC envelope.
LPC vocoder and source–filter model
LPC treats the short-time spectrum as the response of an all-pole filter driven by an excitation. In speech terms, the filter approximates the vocal-tract resonances; the excitation can be periodic, noisy, or synthetic. A vocoder becomes creative when those components are deliberately separated and recombined.
This script offers two excitation families:
- Pitch-driven pulse: Praat extracts pitch, converts it to a PitchTier, optionally reshapes it, and generates a phonation waveform.
- Gaussian noise: broadband random excitation produces whisper-like or noise-vocoder textures while the LPC filter supplies the source's changing resonant envelope.
Quick start
- Select exactly one Sound.
- Run
LPC_Voice_Morphing.praat. - Try Natural Resynthesis for the core LPC character, Robot for monotone excitation, or Whisper for noise excitation.
- Use Custom when you need direct control of excitation type, pitch range, LPC method/order and target intensity.
Presets
| Preset | Excitation | Window | Pitch behavior | Other override |
|---|---|---|---|---|
| Natural Resynthesis | Pitch-driven pulse | 25 ms | Source PitchTier, continuous across gaps | LPC order Auto; Force monotone OFF |
| Robot Voice | Pitch-driven pulse | 30 ms | Forced to 100 Hz | LPC order Auto |
| Whisper | Gaussian noise | 15 ms | Pitch controls are not used for excitation | LPC order Auto; recursive brightness stage after synthesis |
| Deep Demon | Pitch-driven pulse | 40 ms | PitchTier × 0.6; minimum pitch forced to 50 Hz | LPC order Auto; Force monotone OFF |
Presets do not overwrite every form field. In particular, LPC method, pre-emphasis, target intensity, playback and visualization remain user choices; most pitch-analysis values also remain available except where a preset explicitly changes them.
Controls
| Control | Meaning |
|---|---|
| Excitation source | Pitch-driven phonation or Gaussian noise. Used directly in Custom; presets may override it. |
| Time step | Pitch-analysis step used on the pulse path. |
| Minimum / Maximum pitch | Pitch-search range. Maximum must exceed minimum. |
| Force monotone | Flattens the PitchTier to the chosen monotone frequency on the pulse path. |
| Monotone frequency | Frequency used for Force monotone and also as the fallback when no pitch points are detected. |
| LPC method | Legacy autocorrelation character or Burg. Autocorrelation automatically falls back to Burg only if the render becomes numerically catastrophic. |
| LPC order | 0 = Auto. Auto uses round(sampleRate / 1000) + 4. |
| Analysis window | LPC analysis window in seconds. LPC frame step is fixed at 5 ms. |
| Pre-emphasis Hz | Pre-emphasis setting passed to Praat LPC analysis. |
| Target intensity dB | Praat intensity target in dB SPL, not dBFS. |
Processing pipeline
- Choose analysis driver: mono input is copied; for multichannel input the highest-RMS source channel is selected instead of summing channels.
- Create excitation: either pitch-driven phonation at the source sample rate or Gaussian noise over the source duration.
- Analyze LPC: autocorrelation or Burg, using the selected analysis driver.
- Vocode: filter the synthetic excitation through the time-varying LPC model.
- Stability fallback: if legacy autocorrelation output becomes undefined or exceeds the catastrophic peak threshold, rerender automatically with Burg.
- Level: if the analyzed source is not effectively silent, scale to the requested Praat intensity.
- Whisper only: apply the retained recursive brightness formula.
- Safety: attenuate to 0.99 only when the final peak exceeds 0.99.
Channels, duration and level
- The vocoder output is mono, even when the source is stereo or multichannel.
- For multichannel input, the highest-RMS channel alone drives pitch and LPC analysis; this avoids anti-phase cancellation from a stereo sum.
- Pulse and noise excitation use the original duration and source sample rate.
- Target intensity uses Praat's dB SPL convention.
- The final 0.99 stage is a down-only safety ceiling, not target peak normalization.
- If the analysis driver is effectively silent, the final output is forced to silence rather than allowing the fallback excitation to create a tone from nothing.
Visualization
Original and vocoded waveforms are drawn on one shared amplitude scale. The guide also shows original and vocoded spectrograms up to 4 kHz and reports the realized LPC order/method, analysis channel, window, excitation type and target level. If autocorrelation fell back to Burg, the summary reports the method actually used.
Historical, technological and compositional context
The processor sits at the intersection of two related traditions. The first is the vocoder: Homer Dudley's Bell Labs work in the 1930s demonstrated that speech could be analyzed into slowly varying spectral information and reconstructed from an artificial buzz or noise source. The second is linear prediction, developed for efficient speech representation and formalized in influential analysis–synthesis work by Atal and Hanauer and in Makhoul's 1975 tutorial review.
Compositionally, vocoding turns the source–filter model into a way of separating identity from excitation. A pitch contour can be flattened, lowered or replaced by noise while the resonant envelope still carries recognizable traces of the original articulation. The Robot, Whisper and Deep Demon presets exploit exactly that separation. The processor is therefore closer to a creative LPC vocoder than to transparent voice conversion.
Further reading
Dudley, H. (1939). “The Automatic Synthesis of Speech.” Proceedings of the National Academy of Sciences, 25(7), 377–383. DOI: 10.1073/pnas.25.7.377.
Atal, B. S., & Hanauer, S. L. (1971). “Speech Analysis and Synthesis by Linear Prediction of the Speech Wave.” Journal of the Acoustical Society of America, 50(2B), 637–655. DOI: 10.1121/1.1912679.
Makhoul, J. (1975). “Linear prediction: A tutorial review.” Proceedings of the IEEE, 63(4), 561–580. DOI: 10.1109/PROC.1975.9792.