So my university project is about music recommender system. My teacher not saying too much. But he only said it will use basis functions and convolution technique. That's all i got from him. I want some ideas about this project about how to create this. I have programmed in Matlab and know basics of dsp like dft,fft,correlation,convolution etc. If it is needed i am gonna learn about neural networks. Any idea from experts ? I would like to inform that this music recommendation system will be content based and it will use correlation technique to find music similirity with basis signal(using basis signal if possible)
So, what it sounds like your teacher is looking for is convolution (or correlation) of the music track spectrograms.
You start out (presumably) with a music track you want something similar to and a database of possible tracks to recommend. For all songs, you first compute a spectrogram (i.e. the FFT on sequential chunks of audio). You then calculate the magnitude for each FFT bin in the spectrograms. This gives you an estimate of the energy in each frequency bin. Then, you could simply perform 2D convolution of the spectrogram of the track you like and the spectrogram of each track in the database. This will provide a measure of similarity between the liked track and all other tracks in the database (for simplicity, you could just calculate the sum of the output of the correlation). You could also do this using 1D correlations by just performing the 1D correlation separately on each frequency. Then just sum up the output of the 1D correlations to get a similarity measure across all frequencies. This way would have the advantage of allowing you to place more emphasis on more important frequencies (for instance the bass). The track with the highest similarity measure is the recommended track.
Simple but could be effective and what your teacher is looking for.
Many Recommender Systems are based on Matrix Factorization.
There is a technique called Convolutional Matrix Factorization which is might what your teacher implied.
You may have a look here Tutorial - Large Scale Matrix Factorization (IEEE Big Data 2016 Tutorials) for Convolutional Matrix Factorization.
Well Fourier transformation is nothing but rewriting a signal using trigonometric basis functions (sines and cosines). Convolution/correlation can be written as multiplication in Fourier domain. So there you go. Your teacher asks nothing more than a basic brute force implementation, which benefits from computing similarities using convolutions.