Code Monkey home page Code Monkey logo

audio-denoising's Introduction

Audio De-noising

A simple yet very powerful noise remover and reducer built in python. The noise removed by using Wavelet Transform.

Wavelets has been very powerful tool to decompose the audio signal into parts and apply thresholds to eliminate unwanted signal like noise. The thresholding method is the most important in the process of Audio De nosing.

The thresholding used is VisuShrink method or the universal threshold introduce by Donoho

This repo uses pywt. I have a custom implementation of wavelet here wavelets & wavelets-ext (cython speed up)

Execution

  • Install the dependencies $ pip3 install -r requirements.txt
  • Use the denoise.py file
    from denoise import AudioDeNoise 
    
    audioDenoiser = AudioDeNoise(inputFile="input.wav")
    audioDenoiser.deNoise(outputFile="input_denoised.wav")
    audioDenoiser.generateNoiseProfile(noiseFile="input_noise_profile.wav")

audio-denoising's People

Contributors

ap-atul avatar pn11 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

audio-denoising's Issues

[Question] Working with compressed sounds

Hey! So I've tried to denoise an audio file that's been uncompressed from a tight archive using this program and your wavelets-ext example and have the following results:

Original:
og

Audio-Denoising:
denoise

wavelets-ext:
wavelets

Granted this audio doesn't have any background noise and computes an SNR of 100, but to me the denoising performed by this package seems to be an improvement over the original and doesn't have static crackles like the other option. The audio does sound slightly better than the original as well. Why then is this solution so much worse than the other? Is there a different algo I should be try when working with wavelets?

denoised audio doesn't sound right

Not sure why but the denoised audio sounds like cut off sounds or little pulses of sound that have nothing to do with the original audio. The original audio is a speaker with some background noise, but the output sounds as if someone is plugging in and out their electric guitar really quickly (like the speaker pop sound). I am new to this so I do not understand the underlying tech, but why does the generateNoiseProfile function overwrite the input audio file. Should i be passing the input audio file to the generateNoiseProfile function? without calling generateNoiseProfile, my input and output audio sounds the exact same. I am also getting the warnings below, but I believe I read somewhere that the divide by 0 error is okay. Any explanation of how to use this properly and what might be causing my problems would be appreciated.

Thank you for the help!

UserWarning: Level value of 2 is too high: all coefficients will experience boundary effects.
  warnings.warn(s]
                      /home/ubuntu/.local/lib/python3.9/site-packages/pywt/_thresholding.py:22: RuntimeWarning: invalid value encountered in divide
  thresholded = (1 - value/magnitude)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.