A web application that allows users to load audio signals, modify specific frequency components using sliders, and reconstruct the altered signal in real-time.
It supports:
- a
generic equalizermode for custom frequency subdivisions - three
customizedmodes for separating and controlling elements in mixed audio signals (musical instruments, animal sounds, and human voices)
- Divide the frequency range into custom subdivisions.
- Each subdivision has a slider to scale its magnitude (0–2).
- Subdivision settings can be saved and loaded from a file.
- Time, FFT, and spectrogram graphs update automatically
Generic_mode.mp4
-
Description: Controls the magnitude of different sounds in a mixed signal. Each slider corresponds to one sound and allows adjusting its gain (0–2 scale).
-
Manual Mode: The effect is applied using an implemented FFT.
-
AI Mode: A pretrained AI model applies the effect by detecting and isolating sounds automatically.
-
Effect: Time, FFT, and spectrogram graphs update automatically.
We have 3 modes that use 2 different AI models (for human and music sounds):
- Adjusts 4 animal sounds:
- Cat
- Wolf
- Bird
- Frog
Animal_sounds.mp4
- Adjusts 4 musical instruments:
- Drums
- Piano
- Guitar
- Violin
Music_sounds.mp4
- Adjusts 4 human voice types:
- Deep Man
- Man
- Old Man
- Woman
Human_sounds.mp4
| Layer | Tools | Description | Model Source |
|---|---|---|---|
| Frontend | React.js, react-plotly.js | Interactive UI for real-time signal visualization and user controls. | — |
| Backend | Flask (Python), Numba | - Handles signal processing, AI model inference, and data communication. - Numba is for faster fft in run-time. |
— |
| AI / ML Models | Pytorch | Pretrained models for sounds isolation. | human model(MultiDecoderDPRNN), music model(DEMUCS) |
| FFT | Numpy | implemented fft algorithm (Iterative Cooley-Tukey) | — |
| Nayera Sherif | Nada Hesham | Shahd Ayman | Nada Hassan |
|---|
