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.
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.
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
Create the recommended data folder structure and place noise files in noise_dir and clean voice files in voice_dir.
Set noise_dir, voice_dir, and the output paths in args.py; set nb_samples there or pass it as a terminal argument.
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.
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
Review the training parameters in args.py.
Run python main.py --mode="training".
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.
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

