Read audio input from Microphone. Reference: QMultimedia library.
Format input recordings. Reference: QMultimedia library.
Frame the recordings into overlapping audio fragments.
Apply Fast Fourier Transform on each frame of recording. Reference: FFTW3 library.
Generate a feature vector/Music fingerprint for each frame by using Shazam's method. Originally implemented.
For each song, save its feature vectors into a file.
Index feature vectors by using Hatisma & Kalker's method. Originally implemented.
Generate Reverse Hash Lookup Tables from (fixed number of) features to songs.
Find possible music candidates -- match features from a new recording with existing music through Lookup Table. Originally implemented.
Sort candidates by distance to the recording in a Priority Queue/Maximum Heap.

