Desktop GUI applications to show the computation of the Discrete Fourier Transform of a music note singal from WAV file with Python 3 using PyQT5 graphic modul. The application plot the intensity of signal frequency and recognize the music note.
The Fourier transform of a musical instrument recording can be used to determine which music note is being performed and whether the instrument is in tuned.
What note the instrument plays can be determined by the fundamental frequency of the signal and comparing it with the table describing the fundamental frequencies associated with each note:
Note | Frequency (Hz) |
---|---|
G | 390.0 |
G# | 415.3 |
A | 440.0 |
A# | 466.2 |
B | 493.9 |
C | 523.3 |
C# | 554.4 |
D | 587.3 |
D# | 622.3 |
E | 659.3 |
F | 698.5 |
F# | 740.0 |
G | 784.0 |
- Python 3.7
- PyQT5 graphic module
- NumPy module
- SciPy module
- Matplotlib module
- Clone this repo to your local machine using:
$ git clone https://github.com/tarnowski-git/Simple_Note_Recognizer.git
- Setup your local environment:
# Spawn a shell with the virtualenv activated
$ pipenv shell
# Install dependencies
$ pipenv install
# Run script into local environment
$ pipenv run python note_recognizer.py
- Compile with Pyinstaller to exectutable file:
# Windows
pyinstaller --hidden-import pkg_resources.py2_warn --onefile --windowed note_recognizer.py
MIT © Konrad Tarnowski