Buzzer class with note definitions and custom song functionality

Tones.h

Committer:
Elefantul_umilit
Date:
2017-02-20
Revision:
0:b530d1a3290f

File content as of revision 0:b530d1a3290f:

#ifndef _TONES_H_
#define _TONES_H_

/*
8 octaves
*/

#define USE_FLOAT //if float accuracy is to much, comment this. int roundigs will be used
//note and frequency
#ifdef USE_FLOAT
    #define P   1 //pause
    #define C0  16.35
    #define Db0 17.32
    #define D0  18.35
    #define Eb0 19.45
    #define E0  20.60
    #define F0  21.83
    #define Gb0 23.12
    #define G0  24.50
    #define Ab0 25.96
    #define A0  27.50
    #define Bb0 29.14
    #define B0  30.87
    #define C1  32.70
    #define Db1 34.65
    #define D1  36.71
    #define Eb1 38.89
    #define E1  41.20
    #define F1  43.65
    #define Gb1 46.25
    #define G1  49.00
    #define Ab1 51.91
    #define A1  55.00
    #define Bb1 58.27
    #define B1  61.74
    #define C2  65.41
    #define Db2 69.30
    #define D2  73.42
    #define Eb2 77.78
    #define E2  82.41
    #define F2  87.31
    #define Gb2 92.50
    #define G2  98.00
    #define Ab2 103.83
    #define A2  110.00
    #define Bb2 116.54
    #define B2  123.47
    #define C3  130.81
    #define Db3 138.59
    #define D3  146.83
    #define Eb3 155.56
    #define E3  164.81
    #define F3  174.61
    #define Gb3 185.00
    #define G3  196.00
    #define Ab3 207.65
    #define A3  220.00
    #define Bb3 233.08
    #define B3  246.94
    #define C4  261.63
    #define Db4 277.18
    #define D4  293.66
    #define Eb4 311.13
    #define E4  329.63
    #define F4  349.23
    #define Gb4 369.99
    #define G4  392.00
    #define Ab4 415.30
    #define A4  440.00
    #define Bb4 466.16
    #define B4  493.88
    #define C5  523.25
    #define Db5 554.37
    #define D5  587.33
    #define Eb5 622.25
    #define E5  659.25
    #define F5  698.46
    #define Gb5 739.99
    #define G5  783.99
    #define Ab5 830.61
    #define A5  880.00
    #define Bb5 932.33
    #define B5  987.77
    #define C6  1046.50
    #define Db6 1108.73
    #define D6  1174.66
    #define Eb6 1244.51
    #define E6  1318.51
    #define F6  1396.91
    #define Gb6 1479.98
    #define G6  1567.98
    #define Ab6 1661.22
    #define A6  1760.00
    #define Bb6 1864.66
    #define B6  1975.53
    #define C7  2093.00
    #define Db7 2217.46
    #define D7  2349.32
    #define Eb7 2489.02
    #define E7  2637.02
    #define F7  2793.83
    #define Gb7 2959.96
    #define G7  3135.96
    #define Ab7 3322.44
    #define A7  3520.00
    #define Bb7 3729.31
    #define B7  3951.07
    #define C8  4186.01
    #define Db8 4434.92
    #define D8  4698.63
    #define Eb8 4978.03
    #define E8  5274.04
    #define F8  5587.65
    #define Gb8 5919.91
    #define G8  6271.93
    #define Ab8 6644.88
    #define A8  7040.00
    #define Bb8 7458.62
    #define B8  7902.13
#else //use int
    #define P   0 //pause
    #define C0  16
    #define Db0 17
    #define D0  18
    #define Eb0 19
    #define E0  21
    #define F0  22
    #define Gb0 23
    #define G0  24
    #define Ab0 26
    #define A0  27
    #define Bb0 29
    #define B0  31
    #define C1  33
    #define Db1 35
    #define D1  37
    #define Eb1 39
    #define E1  41
    #define F1  44
    #define Gb1 46
    #define G1  49
    #define Ab1 52
    #define A1  55
    #define Bb1 58
    #define B1  62
    #define C2  65
    #define Db2 69
    #define D2  73
    #define Eb2 78
    #define E2  82
    #define F2  87
    #define Gb2 92
    #define G2  98
    #define Ab2 104
    #define A2  110
    #define Bb2 117
    #define B2  123
    #define C3  131
    #define Db3 139
    #define D3  147
    #define Eb3 156
    #define E3  165
    #define F3  175
    #define Gb3 185
    #define G3  196
    #define Ab3 208
    #define A3  220
    #define Bb3 233
    #define B3  247
    #define C4  262
    #define Db4 277
    #define D4  294
    #define Eb4 311
    #define E4  330
    #define F4  349
    #define Gb4 370
    #define G4  392
    #define Ab4 415
    #define A4  440
    #define Bb4 466
    #define B4  494
    #define C5  523
    #define Db5 554
    #define D5  587
    #define Eb5 622
    #define E5  659
    #define F5  698
    #define Gb5 740
    #define G5  784
    #define Ab5 831
    #define A5  880
    #define Bb5 932
    #define B5  988
    #define C6  1046
    #define Db6 1109
    #define D6  1175
    #define Eb6 1245
    #define E6  1319
    #define F6  1397
    #define Gb6 1480
    #define G6  1568
    #define Ab6 1661
    #define A6  1760
    #define Bb6 1865
    #define B6  1976
    #define C7  2093
    #define Db7 2217
    #define D7  2349
    #define Eb7 2489
    #define E7  2637
    #define F7  2794
    #define Gb7 2960
    #define G7  3136
    #define Ab7 3322
    #define A7  3520
    #define Bb7 3729
    #define B7  3951
    #define C8  4186
    #define Db8 4435
    #define D8  4699
    #define Eb8 4978
    #define E8  5274
    #define F8  5588
    #define Gb8 5920
    #define G8  6272
    #define Ab8 6645
    #define A8  7040
    #define Bb8 7459
    #define B8  7902
#endif

#endif