Reconstructing Speech from Its Envelope

I built a MATLAB tone vocoder to explore how much speech information survives when fine spectral detail is removed. The pipeline splits speech into frequency bands, extracts each amplitude envelope, modulates sinusoidal carriers, and sums the bands into a reconstructed signal.

An App Designer interface exposed band count, envelope-filter cutoff, and frequency spacing, with waveform and spectrum views. Energy normalization kept listening comparisons from being dominated by changes in loudness.

Making Signal-Processing Choices Audible

The experiments compared uniform and cochlear-inspired band spacing, different carrier frequencies, and speech-shaped noise. In the reported listening comparisons, cochlear-inspired spacing worked better with few channels, while very narrow bands exposed numerical instability in the filter implementation.

The deliverable was both a reusable signal-processing pipeline and an interactive tool for hearing how filter-bank choices affect reconstructed speech.

Tone-vocoder controls and spectrum output