#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;
class instrument
{
public:
void sound(char note, bool s, int dur,int sc);//=0;
void keys(char n);//=0;
void getKey()
{
char n;
n = 1;
while(n!='1')
{
if(kbhit())
{
n=getch();
keys(n);
switch (n)
{
case 'a': cout << "c1";break;
case 's': cout << "d1";break;
case 'd': cout << "e1";break;
case 'f': cout << "f1";break;
case 'g': cout << "g1";break;
case 'h': cout << "c1";break;
case 'j': cout << "b1";break;
case 'e': cout << "f#1";break;
case 'r': cout << "g#1";break;
case 't': cout << "a#1";break;
case 'q': cout << "c#1";break;
case 'w': cout << "d#1";break;
case 'z': cout << "c";break;
case 'x': cout << "d";break;
case 'c': cout << "e";break;
case 'v': cout << "f";break;
case 'b': cout << "g";break;
case 'n': cout << "a";break;
case 'm': cout << "b";break;
case 'i': cout << "f#";break;
case 'o': cout << "g#";break;
case 'p': cout << "a#";break;
case 'y': cout << "c#";break;
case 'u': cout << "d#";break;
}
cout<<"\t";
}
}
}
};
class piano:public instrument
{
public:
void sound(char note, bool s, int dur,int sc)
{
float freq;
switch(sc)
{
case 5:
switch(note)
{
case 'C': (!s)?freq=65.41:freq=130.81; break;
case 'D': (!s)?freq=73.41:freq=146.83; break;
case 'E': (!s)?freq=82.41:freq=164.81; break;
case 'F': (!s)?freq=87.31:freq=174.61; break;
case 'G': (!s)?freq=98.00:freq=196.00; break;
case 'A': (!s)?freq=110.00:freq=220.00; break;
case 'B': (!s)?freq=123.47:freq=246.94; break;
}
break;
case 4:
switch(note)
{
case 'C': (!s)?freq=69.30 : freq=138.59; break;
case 'D': (!s)?freq=77.78 : freq=155.56; break;
case 'F': (!s)?freq=92.50 : freq=185.00; break;
case 'G': (!s)?freq=103.83 :freq=207.65; break;
case 'A': (!s)?freq=116.54 :freq=233.08; break;
}
break;
}
Beep(freq,dur);
}
void keys(char n)
{
switch(n)
{ //for high notes
case 'c': sound('E',false,1000,5); break;
case 'v': sound('F',false,1000,5); break;
case 'b': sound('G',false,1000,5); break;
case 'n': sound('A',false,1000,5); break;
case 'm': sound('B',false,1000,5); break;
case 'z': sound('C',false,1000,5); break;
case 'x': sound('D',false,1000,5); break;
case 'i': sound('F',false,1000,4); break;
case 'o': sound('G',false,1000,4); break;
case 'p': sound('A',false,1000,4); break;
case 'u': sound('D',false,1000,4); break;
case 'y': sound('C',false,1000,4); break;
// for low notes
case 'd': sound('E',true,1000,5); break;
case 'f': sound('F',true,1000,5); break;
case 'g': sound('G',true,1000,5); break;
case 'h': sound('A',true,1000,5); break;
case 'j': sound('B',true,1000,5); break;
case 'a': sound('C',true,1000,5); break;
case 's': sound('D',true,1000,5);break;
case 'w': sound('D',true,1000,4); break;
case 'q': sound('C',true,1000,4); break;
case 'e': sound('F',true,1000,4); break;
case 'r': sound('G',true,1000,4); break;
case 't': sound('A',true,1000,4); break;
}
}
};
int main()
{
cout<<"\n";
cout<<"-------------------------------MY PIANO--------------------------\n";
cout<<"\n";
cout<<"\n";
cout<<"'you are playing a piano'\n";
cout<<"\n";
cout<<"keys to be used in piano are:\n";
cout<<"\n";
cout<<" for high notes of piano:\n";
cout<<" -----------------------\n";
cout<<"\n";
cout<"for c1- sa-------------->use key A\n";
cout<<"for d1- re-------------->use key S\n";
cout<<"for e1- ga-------------->use key D\n";
cout<<"for f- ma ------------->use key F\n";
cout<<"for g1- pa-------------->use key G\n";
cout<<"for a1- dha------------->use key H\n";
cout<<"for b- ni-------------->use key J\n";
cout<<"\n";
cout<<"for c#1- re(k)------------->use key Q\n";
cout<<"for d#1- ga(k)------------->use key W\n";
cout<<"for f#1- ma(k)------------->use key E\n";
cout<<"for g#1- dha(k)------------>use key R\n";
cout<<"for a#1- ni(k)------------->use key T\n"; cout<<"\n";
cout<<" for low notes of piano:\n";
cout<<"------------------------\n";
cout<<"for c- sa-------------->use key Z\n";
cout<<"for d- re-------------->use key X\n";
cout<<"for e- ga ------------->use key C\n";
cout<<"for f- ma ------------->use key V\n";
cout<<"for g- pa-------------->use key B\n";
cout<<"for a- dha------------->use key N\n";
cout<<"for b- ni ------------->use key M\n";
cout<<"\n";
cout<<"for c#- re(k)-------------->use key Y\n";
cout<<"for d#- ga(k) ------------->use key U\n"; cout<<"for f#- ma(k) ------------->use key I\n";
cout<<"for g#- dha(k)------------->use key O\n";
cout<<"for a#- ni(k)-------------->use key P\n"; cout<<"\n";
cout<<"\n";
piano o;
cout<<"inputed keys with music is as follows:\n";
cout<<"\n";
o.getKey();
getch();
return 0;
}