Michael Dushkoff / Music Featured

Dependents:   SuperMbedBall Tono

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Notes.h Source File

Notes.h

00001 /* * * * * * * * * * * * * * * * * * * * * * * * * * *
00002  * This is a definitions class for music notes and   *
00003  * their frequencies.                                *
00004  * ------------------------------------------------- *
00005  * Note definitions referenced from:                 *
00006  * http://www.phy.mtu.edu/~suits/notefreqs.html      *
00007  * ------------------------------------------------- *
00008  *                                                   *
00009  * Created by: Michael Dushkoff (mad1841@rit.edu)    *
00010  * * * * * * * * * * * * * * * * * * * * * * * * * * */
00011 
00012 #ifndef MBED_NOTES_H
00013 #define MBED_NOTES_H
00014  
00015 #include "mbed.h"
00016 
00017 // Note definitions
00018 #define NOTE_RST (0)
00019 #define NOTE_C0  (16.35)
00020 #define NOTE_CS0 (17.32)
00021 #define NOTE_D0  (18.35)
00022 #define NOTE_DS0 (19.45)
00023 #define NOTE_E0  (20.60)
00024 #define NOTE_F0  (21.83)
00025 #define NOTE_FS0 (23.12)
00026 #define NOTE_G0  (24.50)
00027 #define NOTE_GS0 (25.96)
00028 #define NOTE_A0  (27.50)
00029 #define NOTE_AS0 (29.14)
00030 #define NOTE_B0  (30.87)
00031 #define NOTE_C1  (32.70)
00032 #define NOTE_CS1 (34.65)
00033 #define NOTE_D1  (36.71)
00034 #define NOTE_DS1 (38.89)
00035 #define NOTE_E1  (41.20)
00036 #define NOTE_F1  (43.65)
00037 #define NOTE_FS1 (46.25)
00038 #define NOTE_G1  (49.00)
00039 #define NOTE_GS1 (51.91)
00040 #define NOTE_A1  (55.00)
00041 #define NOTE_AS1 (58.27)
00042 #define NOTE_B1  (61.74)
00043 #define NOTE_C2  (65.41)
00044 #define NOTE_CS2 (69.30)
00045 #define NOTE_D2  (73.42)
00046 #define NOTE_DS2 (77.78)
00047 #define NOTE_E2  (82.41)
00048 #define NOTE_F2  (87.31)
00049 #define NOTE_FS2 (92.50)
00050 #define NOTE_G2  (98.00)
00051 #define NOTE_GS2 (103.83)
00052 #define NOTE_A2  (110.00)
00053 #define NOTE_AS2 (116.54)
00054 #define NOTE_B2  (123.47)
00055 #define NOTE_C3  (130.81)
00056 #define NOTE_CS3 (138.59)
00057 #define NOTE_D3  (146.83)
00058 #define NOTE_DS3 (155.56)
00059 #define NOTE_E3  (164.81)
00060 #define NOTE_F3  (174.61)
00061 #define NOTE_FS3 (185.00)
00062 #define NOTE_G3  (196.00)
00063 #define NOTE_GS3 (207.65)
00064 #define NOTE_A3  (220.00)
00065 #define NOTE_AS3 (233.08)
00066 #define NOTE_B3  (246.94)
00067 #define NOTE_C4  (261.63)
00068 #define NOTE_CS4 (277.18)
00069 #define NOTE_D4  (293.66)
00070 #define NOTE_DS4 (311.13)
00071 #define NOTE_E4  (329.63)
00072 #define NOTE_F4  (349.23)
00073 #define NOTE_FS4 (369.99)
00074 #define NOTE_G4  (392.00)
00075 #define NOTE_GS4 (415.30)
00076 #define NOTE_A4  (440.00)
00077 #define NOTE_AS4 (466.16)
00078 #define NOTE_B4  (493.88)
00079 #define NOTE_C5  (523.25)
00080 #define NOTE_CS5 (554.37)
00081 #define NOTE_D5  (587.33)
00082 #define NOTE_DS5 (622.25)
00083 #define NOTE_E5  (659.26)
00084 #define NOTE_F5  (698.46)
00085 #define NOTE_FS5 (739.99)
00086 #define NOTE_G5  (783.99)
00087 #define NOTE_GS5 (830.61)
00088 #define NOTE_A5  (880.00)
00089 #define NOTE_AS5 (932.33)
00090 #define NOTE_B5  (987.77)
00091 #define NOTE_C6  (1046.50)
00092 #define NOTE_CS6 (1108.73)
00093 #define NOTE_D6  (1174.66)
00094 #define NOTE_DS6 (1244.51)
00095 #define NOTE_E6  (1318.51)
00096 #define NOTE_F6  (1396.91)
00097 #define NOTE_FS6 (1479.98)
00098 #define NOTE_G6  (1567.98)
00099 #define NOTE_GS6 (1661.22)
00100 #define NOTE_A6  (1760.00)
00101 #define NOTE_AS6 (1864.66)
00102 #define NOTE_B6  (1975.53)
00103 #define NOTE_C7  (2093.00)
00104 #define NOTE_CS7 (2217.46)
00105 #define NOTE_D7  (2349.32)
00106 #define NOTE_DS7 (2489.02)
00107 #define NOTE_E7  (2637.02)
00108 #define NOTE_F7  (2793.83)
00109 #define NOTE_FS7 (2959.96)
00110 #define NOTE_G7  (3135.96)
00111 #define NOTE_GS7 (3322.44)
00112 #define NOTE_A7  (3520.00)
00113 #define NOTE_AS7 (3729.31)
00114 #define NOTE_B7  (3951.07)
00115 #define NOTE_C8  (4186.01)
00116 #define NOTE_CS8 (4434.92)
00117 #define NOTE_D8  (4698.64)
00118 #define NOTE_DS8 (4978.03)
00119 
00120 class notes {
00121 public:
00122     double get_freq(char note, int sharp, int octave);
00123 private:
00124 };
00125 
00126 #endif