If you like mathematical / signal-processing kind of projects, one good project is to replicate the Sinesum2 program in your favorite GUI language. The theory behind this program is available from the free online Fourier Transforms course available from Stanford Engineering Everywhere -
and the Sinesum2 program is itself downloadable from
The Sinesum2 program enables the user to specify the amplitude and phase corresponding to a harmonic. The user can specify any number of harmonics (say, upto 20, which is a reasonable number), and it will compute the resulting combined signal. Additionally, it will play that signal as a sound. It will also display the spectral profile as a three-dimensional plot.
Now, there's a catch: To try out the Sinesum2 program downloadable from that site, you'll need Matlab. If you are studying in a university, then, perhaps, you'll find Matlab installations there. If you don't have Matlab, then doing this project is difficult.
Replicating this functionality in your favorite language will enable you to learn a lot of things - creating 3-D plots, creating sound from a signal stored digitally, besides creating the combined signal from a set of harmonics. You only need to watch about 4 or 5 lectures from this Fourier Transform course to be able to understand what Sinesum2 actually does.
If you are new to signal processing, getting this through would take at least two months of dedicated effort.
Once completed, you can also post this onto CodeProject