This project was divided on two Milestones. The Idea for Milestone One: You are the PIANIST, you should mix and match frequencies to generate your own song using the numpy, matplotlib.pyplot, and sounddevice libraries in Python. The Idea For Milestone Two: Noise Cancellation and Frequency Domain
Background For Milestone One:
Each pressed piano key/note number π, corresponds to a single tone with frequency ππ generated for a certain period of time ππstarting from time π‘π over a defined time range π‘.
π₯π(π‘) = sin(2 * π * ππ * π‘) * [π’(π‘ β π‘π) β π’(π‘ β π‘π β ππ)]
Where the unit step functions defines the playing interval.
Example: Assume that we started pressing the middle C key (π1 = 261.63 π»π§), at time π‘1 = 0 for a duration of π1 = 1.5 seconds, the resultant signal is:
π₯1(π‘) = sin(2 * 261.63π * π‘) [π’(π‘) β π’(π‘ β 0.5)]
Background For Milestone Two:
Assume that additional noise is generated by a child who kept pressing the same 2 random piano keys during your song playing interval such that the noise is represented as follows, π(π‘) = sin(2 * ππ1 * π * π‘) + sin(2 * ππ2 * π * t)
Where, ππ1 and ππ2 are two frequencies selected randomly from the 3rd and 4th octaves frequencies list respectively. Your final song after the noise becomes, π₯π(π‘) = π₯(π‘) + π(π‘)
Goal: Noise Cancelation: using frequency domain conversion