Audio analysis
The customer request is to create a tool to denoise audio tracks and 
classify them into three classes: human voices, musical instruments, and 
others.

To denoise the audio you should not use any ML algorithm but you are 
suggested to adopt a specific Wiener filter..

To classify the audio tracks you can perform the audio analysis in the 
Fourier Domain (applying FFT to the original signal).

Use visualisation to show the differences among the three classes of audio 
tracks.

Once finished with this task, you can compare this classification with the 
one obtainable with a Convolution Neural Network (CNN) applied to the 
images obtained from padding the audio tracks. (For this step you can take 
advantage of PyTorch or Keras).

The data
To structure and test the first class of your audio data analysis 
pipeline, the denoiser, a possibility is to use the clean subset of audio 
tracks in the Freesound mono audio track dataset, DBR-dataset, first 
adding white random noise to each track, and then, trying to remove the 
white noise from the signal.

Using the same dataset you can also test your classifier.

Once you have tested the audio analysis pipeline on this dataset, create a 
small data set yourself, recording similar audio tracks and paying 
attention to the standardization of the input data.

Useful tools
To convert the audio tracks into signals treatable with Scipy you can use 
the PyAudio library.

To construct the Wiener filter you can use the Scipy and Numpy libraries.
