OpenViSTAI · Agents · Blockchain · Crypto
Menu
Audio & Voice AI

Speech Enhancement

Speech Enhancement is a Python deep-learning research project that attenuates environmental noise in speech by working with magnitude spectrograms. It provides separate data-creation, training and prediction modes, with a U-Net trained to estimate the noise component.

Independent OpenViST project profile, based on linked sources.

Speech Enhancement — OpenViST project profile in Audio & Voice AI.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when you want to study or prototype an audio-denoising workflow that creates its own blended training data and trains a spectrogram-based model.

Who it is for

  • Developers prototyping speech denoising for recorded audio.
  • Researchers exploring spectrogram-based audio enhancement and U-Net models.

Documented uses

  • Prepare noisy and clean speech examples by mixing voice recordings with environmental noise.
  • Train a U-Net to estimate noise from noisy-speech magnitude spectrograms.
  • Explore a deep-learning approach to reducing environmental noise in recorded speech.
Before you choose

Requirements & limits

The repository is public and lists an MIT license. The project is written in Python.

  • The data-creation workflow expects users to supply clean speech and environmental-noise recordings.
  • The README’s example data uses 8 kHz sampling and windows slightly longer than one second.
  • The repository describes a source-code workflow rather than a packaged service interface.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Prepare training data from speech and environmental noise

Create the project’s training data by blending clean speech with environmental-noise recordings.

Before you start

  • Python project files, including main.py and args.py.
  • Clean voice and environmental-noise audio files.
  • A data directory structure with separate Train and Test folders, located apart from the code folder.

Steps

  1. Create the recommended data folder structure and place noise files in noise_dir and clean voice files in voice_dir.

  2. Set noise_dir, voice_dir, and the output paths in args.py; set nb_samples there or pass it as a terminal argument.

  3. Run python main.py --mode='data_creation' to generate blended audio and related data.

Expected outcome

The project saves noisy-voice, noise and clean-voice spectrograms, as well as phases, time series and sounds.

Guide limitations

  • The README’s example uses 8 kHz audio and windows slightly longer than one second.
  • The demo default is 50 samples; the README recommends 40,000 or more for production training.
Source-based practical guide

Start model training with prepared project data

Run the documented training mode for the spectrogram-denoising U-Net.

Before you start

  • Prepared project data.
  • Training parameters configured in args.py.
  • A local computer; the README notes that a modern GPU can train the model in a couple of hours.

Steps

  1. Review the training parameters in args.py.

  2. Run python main.py --mode="training".

  3. If resuming from weights, set training_from_scratch to false and specify the pretrained weights as described by the project.

Expected outcome

The project starts training its U-Net to estimate noise from noisy-speech magnitude spectrograms.

Guide limitations

  • The README does not provide a guaranteed training duration across hardware.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
7 November 2026
Original website title
vbelz/Speech-enhancement · Official homepage title · retained in its source language