Skip to content

Simulation of the Wiener-inspired Dolby NR (SASP optional project)

Notifications You must be signed in to change notification settings

rickgiantsteps/wiener-dolby-nr

Repository files navigation

Wiener Noise Removal

JS libraries used:

Python libraries used:

Project Setup

To make sure the tool works properly, run the python backend first ("app.py"), after installing the previously listed libraries.

pip install soundfile
pip install Flask
pip install scipy
pip install numpy

General Introduction

Wiener-DolbyNR tries to obtain an effect similar to the popular Dolby Noise Removal system by implementing a Wiener filtering inspired process.

Clean demo songs are provided through a drop-down menu, the user has the choice to upload their own audio file as well.
Two players are present in order to play the selected song (on the left) and the denoised file (to the right).

At the center of the page two buttons are available: one to apply and remove the tape hiss to the uploaded song, the other to perform the processing required to denoise the song.
The denoising process is performed on the python backend of the tool, using Flask to allow for the communication between the two sections.

At the bottom of the page there's a section dedicated to the artificial noise that is added to the clean track. This is necessary in order to simulate the tape hiss we want to eliminate during the wiener filtering process.




The theme of the operating system (dark/light) is automatically detected and the colors of the tool are displayed accordingly, this is automated by performing a media query on the window in which the program is running. The theme can be changed at any time by clicking the moon/sun icon present in the top right corner.



Starting from a clean track and a known noisy process, it extracts a denoised version:

wiener filtering scheme

Noise Parameters

The noise section allows to user to control the tape hiss added to the clean song. It can be customized by modifying these paramaters:

  • Noise Generator
    • White Noise: white noise generated for the tape hiss simulation
      • Gain: amplitude of the white noise
    • High Pass Filter (createBiquadFilter(type=highpass)): better emulates the high frequency nature of tape hiss
      • Frequency: cutoff frequency for the HP filter
      • Gain: output over input ratio of the filter

This section was implemented through the use of the WebAudioAPI.

About

Simulation of the Wiener-inspired Dolby NR (SASP optional project)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published