The objective of this project is to create an application capable of thoroughly analyzing a single-instrument sound and transcribing the played score. The sound to be analyzed can either be downloaded, recorded directly via the application, or digitally generated using the application. This is a typical example of a sound that is easy to analyze.
➤ Features:
- Display of the amplitude spectrum
- Fast Fourier Transform (FFT) calculation
- Generation of the spectrogram (via sound decomposition using FFT)
- Score generation with a treble clef
- Digital generation of sound at multiple frequencies
- Python 3.8+
- NumPy
- SciPy
- Matplotlib
- CustomTkinter
- Pillow (PIL)
- PyAudio
pip install numpy scipy matplotlib customtkinter pillow pyaudioAnalyzer Tab - Analyze audio files to visualize their spectral content:
- Click "Select File" to choose an audio file (.wav format recommended)
- Toggle "Stereo file" if analyzing a stereo file and select the desired track
- Use the "Freq Max" field to set the maximum frequency display
- Click "Analyse" to view the amplitude spectrum and spectrogram
FFT Analysis - Perform a Fast Fourier Transform on a specific time interval:
- Set "Début" (start time in seconds)
- Set "Durée" (duration in seconds)
- Click "FFT" to display the frequency spectrum
Note Detection - Display detected musical notes in a staff:
- Set "Durée d'un ton" (time window for note detection)
- Click "Note" to visualize the detected notes
Create synthetic audio signals:
- Enter the audio name (without extension)
- Set Fs (sampling frequency in Hz) - typically 44100
- Set t (duration in seconds)
- Set A1 (amplitude in Pa)
- Set F1 (frequency in Hz)
- Click "Create" to generate the .wav file
The generated audio will be saved in the Sound/ folder and appear in the file list.
Record audio directly from your microphone:
- Navigate to the "Recorder" tab
- Click the microphone button to start recording
- Click again to stop recording
The recording will be saved as Sound/recorded_audio.wav
├── AnalyzerApp.py # Main application GUI
├── SpectreGenerator.py # FFT and spectrum visualization functions
├── SoundGenerator.py # Audio generation and recording functions
├── Sound/ # Generated and recorded audio files
├── interface_images/ # UI icons and images
└── demo_img/ # Demo screenshots for documentation



