/
midi_utility.cpp
executable file
·141 lines (135 loc) · 3.97 KB
/
midi_utility.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#include "midi_utility.h"
namespace sykes{
namespace midi{
std::uint8_t const min_note_number = 0;
std::uint8_t const max_note_number = 127;
std::uint8_t const note_table_size = 128;
double const note_table[] = {
8.17579891564371E+00,
8.66195721802725E+00,
9.17702399741899E+00,
9.72271824131503E+00,
1.03008611535272E+01,
1.09133822322814E+01,
1.15623257097386E+01,
1.22498573744297E+01,
1.29782717993733E+01,
1.37500000000000E+01,
1.45676175474403E+01,
1.54338531642539E+01,
1.63515978312874E+01,
1.73239144360545E+01,
1.83540479948380E+01,
1.94454364826301E+01,
2.06017223070544E+01,
2.18267644645627E+01,
2.31246514194771E+01,
2.44997147488593E+01,
2.59565435987466E+01,
2.75000000000000E+01,
2.91352350948806E+01,
3.08677063285077E+01,
3.27031956625748E+01,
3.46478288721090E+01,
3.67080959896759E+01,
3.88908729652601E+01,
4.12034446141088E+01,
4.36535289291255E+01,
4.62493028389543E+01,
4.89994294977187E+01,
5.19130871974931E+01,
5.50000000000000E+01,
5.82704701897612E+01,
6.17354126570155E+01,
6.54063913251497E+01,
6.92956577442180E+01,
7.34161919793519E+01,
7.77817459305202E+01,
8.24068892282175E+01,
8.73070578582510E+01,
9.24986056779086E+01,
9.79988589954373E+01,
1.03826174394986E+02,
1.10000000000000E+02,
1.16540940379522E+02,
1.23470825314031E+02,
1.30812782650299E+02,
1.38591315488436E+02,
1.46832383958704E+02,
1.55563491861040E+02,
1.64813778456435E+02,
1.74614115716502E+02,
1.84997211355817E+02,
1.95997717990875E+02,
2.07652348789973E+02,
2.20000000000000E+02,
2.33081880759045E+02,
2.46941650628062E+02,
2.61625565300599E+02,
2.77182630976872E+02,
2.93664767917408E+02,
3.11126983722081E+02,
3.29627556912870E+02,
3.49228231433004E+02,
3.69994422711634E+02,
3.91995435981749E+02,
4.15304697579945E+02,
4.40000000000000E+02,
4.66163761518090E+02,
4.93883301256124E+02,
5.23251130601197E+02,
5.54365261953744E+02,
5.87329535834815E+02,
6.22253967444162E+02,
6.59255113825740E+02,
6.98456462866008E+02,
7.39988845423269E+02,
7.83990871963499E+02,
8.30609395159890E+02,
8.80000000000000E+02,
9.32327523036180E+02,
9.87766602512248E+02,
1.04650226120239E+03,
1.10873052390749E+03,
1.17465907166963E+03,
1.24450793488832E+03,
1.31851022765148E+03,
1.39691292573202E+03,
1.47997769084654E+03,
1.56798174392700E+03,
1.66121879031978E+03,
1.76000000000000E+03,
1.86465504607236E+03,
1.97553320502450E+03,
2.09300452240479E+03,
2.21746104781498E+03,
2.34931814333926E+03,
2.48901586977665E+03,
2.63702045530296E+03,
2.79382585146403E+03,
2.95995538169308E+03,
3.13596348785399E+03,
3.32243758063956E+03,
3.52000000000000E+03,
3.72931009214472E+03,
3.95106641004899E+03,
4.18600904480958E+03,
4.43492209562995E+03,
4.69863628667852E+03,
4.97803173955330E+03,
5.27404091060592E+03,
5.58765170292806E+03,
5.91991076338615E+03,
6.27192697570799E+03,
6.64487516127912E+03,
7.04000000000000E+03,
7.45862018428944E+03,
7.90213282009799E+03,
8.37201808961916E+03,
8.86984419125991E+03,
9.39727257335704E+03,
9.95606347910659E+03,
1.05480818212118E+04,
1.11753034058561E+04,
1.18398215267723E+04};
}}//----