A program to automatically tune a guitar. Written by Justin Reidhead and Steven Swenson

Dependencies:   FFT FrequencyFinder Motor NewTextLCD PinDetect mbed strings

Committer:
melangeaddict
Date:
Sun Apr 15 00:37:37 2012 +0000
Revision:
2:9c0a83c5ded5
Child:
3:c672e782f19b
Uncommented mbed parts

Who changed what in which revision?

UserRevisionLine numberNew contents of line
melangeaddict 2:9c0a83c5ded5 1 #include "strings.h"
melangeaddict 2:9c0a83c5ded5 2
melangeaddict 2:9c0a83c5ded5 3
melangeaddict 2:9c0a83c5ded5 4 strings::strings(int string_num)
melangeaddict 2:9c0a83c5ded5 5 {
melangeaddict 2:9c0a83c5ded5 6 index=4;
melangeaddict 2:9c0a83c5ded5 7 switch(string_num){
melangeaddict 2:9c0a83c5ded5 8 case 6:
melangeaddict 2:9c0a83c5ded5 9 frequencies[0]=65.4;
melangeaddict 2:9c0a83c5ded5 10 frequencies[1]=69.3;
melangeaddict 2:9c0a83c5ded5 11 frequencies[2]=73.4;
melangeaddict 2:9c0a83c5ded5 12 frequencies[3]=77.7;
melangeaddict 2:9c0a83c5ded5 13 frequencies[4]=82.4;
melangeaddict 2:9c0a83c5ded5 14 frequencies[5]=87.3;
melangeaddict 2:9c0a83c5ded5 15 frequencies[6]=92.5;
melangeaddict 2:9c0a83c5ded5 16 frequencies[7]=98;
melangeaddict 2:9c0a83c5ded5 17 frequencies[8]=103.8;
melangeaddict 2:9c0a83c5ded5 18 notes[0]="C";
melangeaddict 2:9c0a83c5ded5 19 notes[1]="C#";
melangeaddict 2:9c0a83c5ded5 20 notes[2]="D";
melangeaddict 2:9c0a83c5ded5 21 notes[3]="D#";
melangeaddict 2:9c0a83c5ded5 22 notes[4]="E";
melangeaddict 2:9c0a83c5ded5 23 notes[5]="F";
melangeaddict 2:9c0a83c5ded5 24 notes[6]="F#";
melangeaddict 2:9c0a83c5ded5 25 notes[7]="G";
melangeaddict 2:9c0a83c5ded5 26 notes[8]="G#";
melangeaddict 2:9c0a83c5ded5 27 break;
melangeaddict 2:9c0a83c5ded5 28
melangeaddict 2:9c0a83c5ded5 29 case 5:
melangeaddict 2:9c0a83c5ded5 30 frequencies[0]=87.3;
melangeaddict 2:9c0a83c5ded5 31 frequencies[1]=92.5;
melangeaddict 2:9c0a83c5ded5 32 frequencies[2]=98;
melangeaddict 2:9c0a83c5ded5 33 frequencies[3]=103.8;
melangeaddict 2:9c0a83c5ded5 34 frequencies[4]=110;
melangeaddict 2:9c0a83c5ded5 35 frequencies[5]=116.5;
melangeaddict 2:9c0a83c5ded5 36 frequencies[6]=123.4;
melangeaddict 2:9c0a83c5ded5 37 frequencies[7]=130.8;
melangeaddict 2:9c0a83c5ded5 38 frequencies[8]=138.6;
melangeaddict 2:9c0a83c5ded5 39 notes[0]="F";
melangeaddict 2:9c0a83c5ded5 40 notes[1]="F#";
melangeaddict 2:9c0a83c5ded5 41 notes[2]="G";
melangeaddict 2:9c0a83c5ded5 42 notes[3]="G#";
melangeaddict 2:9c0a83c5ded5 43 notes[4]="A";
melangeaddict 2:9c0a83c5ded5 44 notes[5]="A#";
melangeaddict 2:9c0a83c5ded5 45 notes[6]="B";
melangeaddict 2:9c0a83c5ded5 46 notes[7]="C";
melangeaddict 2:9c0a83c5ded5 47 notes[8]="C#";
melangeaddict 2:9c0a83c5ded5 48 break;
melangeaddict 2:9c0a83c5ded5 49
melangeaddict 2:9c0a83c5ded5 50 case 4:
melangeaddict 2:9c0a83c5ded5 51 frequencies[0]=116.5;
melangeaddict 2:9c0a83c5ded5 52 frequencies[1]=123.4;
melangeaddict 2:9c0a83c5ded5 53 frequencies[2]=130.8;
melangeaddict 2:9c0a83c5ded5 54 frequencies[3]=138.6;
melangeaddict 2:9c0a83c5ded5 55 frequencies[4]=146.8;
melangeaddict 2:9c0a83c5ded5 56 frequencies[5]=155.56;
melangeaddict 2:9c0a83c5ded5 57 frequencies[6]=164.8;
melangeaddict 2:9c0a83c5ded5 58 frequencies[7]=174.6;
melangeaddict 2:9c0a83c5ded5 59 frequencies[8]=184.9;
melangeaddict 2:9c0a83c5ded5 60 notes[0]="A#";
melangeaddict 2:9c0a83c5ded5 61 notes[1]="B";
melangeaddict 2:9c0a83c5ded5 62 notes[2]="C";
melangeaddict 2:9c0a83c5ded5 63 notes[3]="C#";
melangeaddict 2:9c0a83c5ded5 64 notes[4]="D";
melangeaddict 2:9c0a83c5ded5 65 notes[5]="D#";
melangeaddict 2:9c0a83c5ded5 66 notes[6]="E";
melangeaddict 2:9c0a83c5ded5 67 notes[7]="F";
melangeaddict 2:9c0a83c5ded5 68 notes[8]="F#";
melangeaddict 2:9c0a83c5ded5 69 break;
melangeaddict 2:9c0a83c5ded5 70
melangeaddict 2:9c0a83c5ded5 71 case 3:
melangeaddict 2:9c0a83c5ded5 72 frequencies[0]=155.6;
melangeaddict 2:9c0a83c5ded5 73 frequencies[1]=164.8;
melangeaddict 2:9c0a83c5ded5 74 frequencies[2]=174.6;
melangeaddict 2:9c0a83c5ded5 75 frequencies[3]=184.9;
melangeaddict 2:9c0a83c5ded5 76 frequencies[4]=195.9;
melangeaddict 2:9c0a83c5ded5 77 frequencies[5]=207.6;
melangeaddict 2:9c0a83c5ded5 78 frequencies[6]=220;
melangeaddict 2:9c0a83c5ded5 79 frequencies[7]=233.1;
melangeaddict 2:9c0a83c5ded5 80 frequencies[8]=246.9;
melangeaddict 2:9c0a83c5ded5 81 notes[0]="D#";
melangeaddict 2:9c0a83c5ded5 82 notes[1]="E";
melangeaddict 2:9c0a83c5ded5 83 notes[2]="F";
melangeaddict 2:9c0a83c5ded5 84 notes[3]="F#";
melangeaddict 2:9c0a83c5ded5 85 notes[4]="G";
melangeaddict 2:9c0a83c5ded5 86 notes[5]="G#";
melangeaddict 2:9c0a83c5ded5 87 notes[6]="A";
melangeaddict 2:9c0a83c5ded5 88 notes[7]="A#";
melangeaddict 2:9c0a83c5ded5 89 notes[8]="B";
melangeaddict 2:9c0a83c5ded5 90 break;
melangeaddict 2:9c0a83c5ded5 91
melangeaddict 2:9c0a83c5ded5 92 case 2:
melangeaddict 2:9c0a83c5ded5 93 frequencies[0]=195.9;
melangeaddict 2:9c0a83c5ded5 94 frequencies[1]=207.6;
melangeaddict 2:9c0a83c5ded5 95 frequencies[2]=220;
melangeaddict 2:9c0a83c5ded5 96 frequencies[3]=233.1;
melangeaddict 2:9c0a83c5ded5 97 frequencies[4]=246.9;
melangeaddict 2:9c0a83c5ded5 98 frequencies[5]=261.6;
melangeaddict 2:9c0a83c5ded5 99 frequencies[6]=277.1;
melangeaddict 2:9c0a83c5ded5 100 frequencies[7]=293.6;
melangeaddict 2:9c0a83c5ded5 101 frequencies[8]=311.1;
melangeaddict 2:9c0a83c5ded5 102 notes[0]="G";
melangeaddict 2:9c0a83c5ded5 103 notes[1]="G#";
melangeaddict 2:9c0a83c5ded5 104 notes[2]="A";
melangeaddict 2:9c0a83c5ded5 105 notes[3]="A#";
melangeaddict 2:9c0a83c5ded5 106 notes[4]="B";
melangeaddict 2:9c0a83c5ded5 107 notes[5]="C";
melangeaddict 2:9c0a83c5ded5 108 notes[6]="C#";
melangeaddict 2:9c0a83c5ded5 109 notes[7]="D";
melangeaddict 2:9c0a83c5ded5 110 notes[8]="D#";
melangeaddict 2:9c0a83c5ded5 111 break;
melangeaddict 2:9c0a83c5ded5 112
melangeaddict 2:9c0a83c5ded5 113 case 1:
melangeaddict 2:9c0a83c5ded5 114 frequencies[0]=261.6;
melangeaddict 2:9c0a83c5ded5 115 frequencies[1]=277.1;
melangeaddict 2:9c0a83c5ded5 116 frequencies[2]=293.6;
melangeaddict 2:9c0a83c5ded5 117 frequencies[3]=311.1;
melangeaddict 2:9c0a83c5ded5 118 frequencies[4]=329.6;
melangeaddict 2:9c0a83c5ded5 119 frequencies[5]=349.2;
melangeaddict 2:9c0a83c5ded5 120 frequencies[6]=369.9;
melangeaddict 2:9c0a83c5ded5 121 frequencies[7]=391.9;
melangeaddict 2:9c0a83c5ded5 122 frequencies[8]=415.3;
melangeaddict 2:9c0a83c5ded5 123 notes[0]="C";
melangeaddict 2:9c0a83c5ded5 124 notes[1]="C#";
melangeaddict 2:9c0a83c5ded5 125 notes[2]="D";
melangeaddict 2:9c0a83c5ded5 126 notes[3]="D#";
melangeaddict 2:9c0a83c5ded5 127 notes[4]="E";
melangeaddict 2:9c0a83c5ded5 128 notes[5]="F";
melangeaddict 2:9c0a83c5ded5 129 notes[6]="F#";
melangeaddict 2:9c0a83c5ded5 130 notes[7]="G";
melangeaddict 2:9c0a83c5ded5 131 notes[8]="G#";
melangeaddict 2:9c0a83c5ded5 132 break;
melangeaddict 2:9c0a83c5ded5 133
melangeaddict 2:9c0a83c5ded5 134 default:
melangeaddict 2:9c0a83c5ded5 135 break;
melangeaddict 2:9c0a83c5ded5 136 }
melangeaddict 2:9c0a83c5ded5 137 }
melangeaddict 2:9c0a83c5ded5 138
melangeaddict 2:9c0a83c5ded5 139
melangeaddict 2:9c0a83c5ded5 140 strings::~strings(void)
melangeaddict 2:9c0a83c5ded5 141 {
melangeaddict 2:9c0a83c5ded5 142 }
melangeaddict 2:9c0a83c5ded5 143
melangeaddict 2:9c0a83c5ded5 144 void strings::inc_index(){
melangeaddict 2:9c0a83c5ded5 145 index++;
melangeaddict 2:9c0a83c5ded5 146 if(index>9)
melangeaddict 2:9c0a83c5ded5 147 index=0;
melangeaddict 2:9c0a83c5ded5 148 }
melangeaddict 2:9c0a83c5ded5 149
melangeaddict 2:9c0a83c5ded5 150 std::string strings::get_note(){
melangeaddict 2:9c0a83c5ded5 151 return notes[index];
melangeaddict 2:9c0a83c5ded5 152 }
melangeaddict 2:9c0a83c5ded5 153
melangeaddict 2:9c0a83c5ded5 154 float strings::get_freq(){
melangeaddict 2:9c0a83c5ded5 155 return frequencies[index];
melangeaddict 2:9c0a83c5ded5 156 }