9static const float cent_table201[100 + 1 + 100] = {
11 0.94387431268169349664, 0.94441967335506765930, 0.94496534913211618524, 0.94551134019490267099,
12 0.94605764672559590751, 0.94660426890646994096, 0.94715120691990413357, 0.94769846094838322441,
13 0.94824603117449739035, 0.94879391778094230692, 0.94934212095051920932, 0.94989064086613495337,
14 0.95043947771080207655, 0.95098863166763885907, 0.95153810291986938497, 0.95208789165082360322,
15 0.95263799804393738893, 0.95318842228275260453, 0.95373916455091716100, 0.95429022503218507919,
16 0.95484160391041655104, 0.95539330136957800103, 0.95594531759374214748, 0.95649765276708806401,
17 0.95705030707390124097, 0.95760328069857364694, 0.95815657382560379022, 0.95871018663959678045,
18 0.95926411932526439013, 0.95981837206742511631, 0.96037294505100424222, 0.96092783846103389896,
19 0.96148305248265312728, 0.96203858730110793932, 0.96259444310175138040, 0.96315062007004359091,
20 0.96370711839155186816, 0.96426393825195072828, 0.96482107983702196821, 0.96537854333265472764,
21 0.96593632892484555106, 0.96649443679969844984, 0.96705286714342496425, 0.96761162014234422567,
22 0.96817069598288301869, 0.96873009485157584337, 0.96928981693506497742, 0.96984986242010053851,
23 0.97041023149354054658, 0.97097092434235098615, 0.97153194115360586874, 0.97209328211448729528,
24 0.97265494741228551852, 0.97321693723439900559, 0.97377925176833450047, 0.97434189120170708655,
25 0.97490485572224024929, 0.97546814551776593878, 0.97603176077622463245, 0.97659570168566539775,
26 0.97715996843424595493, 0.97772456121023273979, 0.97828948020200096649, 0.97885472559803469042,
27 0.97942029758692687108, 0.97998619635737943501, 0.98055242209820333873, 0.98111897499831863174,
28 0.98168585524675451960, 0.98225306303264942693, 0.98282059854525106055, 0.98338846197391647262,
29 0.98395665350811212383, 0.98452517333741394660, 0.98509402165150740832, 0.98566319864018757467,
30 0.98623270449335917291, 0.98680253940103665527, 0.98737270355334426234, 0.98794319714051608649,
31 0.98851402035289613536, 0.98908517338093839536, 0.98965665641520689521, 0.99022846964637576952,
32 0.99080061326522932245, 0.99137308746266209128, 0.99194589242967891017, 0.99251902835739497389,
33 0.99309249543703590153, 0.99366629385993780037, 0.99424042381754732964, 0.99481488550142176449,
34 0.99538967910322905982, 0.99596480481474791428, 0.99654026282786783423, 0.99711605333458919778,
35 0.99769217652702331884, 0.99826863259739251122, 0.99884542173803015276, 0.99942254414138074953,
36 1.00000000000000000000,
37 1.00057778950655485930, 1.00115591285382360350, 1.00173437023469589396, 1.00231316184217284163,
38 1.00289228786936707150, 1.00347174850950278700, 1.00405154395591583449, 1.00463167440205376771,
39 1.00521214004147591243, 1.00579294106785343092, 1.00637407767496938663, 1.00695555005671880883,
40 1.00753735840710875731, 1.00811950292025838709, 1.00870198379039901323, 1.00928480121187417556,
41 1.00986795537913970359, 1.01045144648676378139, 1.01103527472942701245, 1.01161944030192248469,
42 1.01220394339915583542, 1.01278878421614531640, 1.01337396294802185887, 1.01395947979002913869,
43 1.01454533493752364145, 1.01513152858597472769, 1.01571806093096469807, 1.01630493216818885868,
44 1.01689214249345558626, 1.01747969210268639364, 1.01806758119191599497, 1.01865580995729237127,
45 1.01924437859507683576, 1.01983328730164409940, 1.02042253627348233639, 1.02101212570719324976,
46 1.02160205579949213692, 1.02219232674720795532, 1.02278293874728338810, 1.02337389199677490985,
47 1.02396518669285285230, 1.02455682303280147013, 1.02514880121401900679, 1.02574112143401776038,
48 1.02633378389042414951, 1.02692678878097877927, 1.02752013630353650722, 1.02811382665606650935,
49 1.02870786003665234616, 1.02930223664349202878, 1.02989695667489808505, 1.03049202032929762572,
50 1.03108742780523241063, 1.03168317930135891498, 1.03227927501644839557, 1.03287571514938695719,
51 1.03347249989917561889, 1.03406962946493038044, 1.03466710404588228876, 1.03526492384137750435,
52 1.03586308905087736785, 1.03646159987395846655, 1.03706045651031270103, 1.03765965915974735173,
53 1.03825920802218514564, 1.03885910329766432300, 1.03945934518633870407, 1.04005993388847775587,
54 1.04066086960446665901, 1.04126215253480637458, 1.04186378288011371099, 1.04246576084112139095,
55 1.04306808661867811845, 1.04367076041374864571, 1.04427378242741384032, 1.04487715286087075226,
56 1.04548087191543268106, 1.04608493979252924297, 1.04668935669370643814, 1.04729412282062671789,
57 1.04789923837506905201, 1.04850470355892899603, 1.04911051857421875864, 1.04971668362306726905,
58 1.05032319890772024444, 1.05093006463054025745, 1.05153728099400680369, 1.05214484820071636931,
59 1.05275276645338249856, 1.05336103595483586147, 1.05396965690802432148, 1.05457862951601300320,
60 1.05518795398198436013, 1.05579763050923824245, 1.05640765930119196488, 1.05701804056138037450,
61 1.05762877449345591872, 1.05823986130118871317, 1.05885130118846660974, 1.05946309435929526456,
66#define SCALED_INTERVAL(scale, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12) \
67 scale * (F1), scale * (F2), scale * (F3), scale * (F4), scale * (F5), scale * (F6), \
68 scale * (F7), scale * (F8), scale * (F9), scale * (F10), scale * (F11), scale * (F12)
71static const float semitone_table265_equal_temperament_12_tet[132 + 1 + 132] = {
72#define EQTEMP_12_TET(scale) \
73 SCALED_INTERVAL (scale, 1.0, \
74 1.0594630943592952646, 1.1224620483093729814, 1.1892071150027210667, \
75 1.2599210498948731648, 1.3348398541700343648, 1.4142135623730950488, \
76 1.4983070768766814988, 1.5874010519681994748, 1.6817928305074290861, \
77 1.7817974362806786095, 1.8877486253633869933)
78 EQTEMP_12_TET (1.0 / 2048.0), EQTEMP_12_TET (1.0 / 1024.0), EQTEMP_12_TET (1.0 / 512.0),
79 EQTEMP_12_TET (1.0 / 256.0), EQTEMP_12_TET (1.0 / 128.0), EQTEMP_12_TET (1.0 / 64.0),
80 EQTEMP_12_TET (1.0 / 32.0), EQTEMP_12_TET (1.0 / 16.0), EQTEMP_12_TET (1.0 / 8.0),
81 EQTEMP_12_TET (1.0 / 4.0), EQTEMP_12_TET (1.0 / 2.0),
83 EQTEMP_12_TET (2.0), EQTEMP_12_TET (4.0), EQTEMP_12_TET (8.0),
84 EQTEMP_12_TET (16.0), EQTEMP_12_TET (32.0), EQTEMP_12_TET (64.0),
85 EQTEMP_12_TET (128.0), EQTEMP_12_TET (256.0), EQTEMP_12_TET (512.0),
86 EQTEMP_12_TET (1024.0), 2048.0,
91static const float semitone_table265_equal_temperament_7_tet[132 + 1 + 132] = {
92#define EQTEMP_7_TET(scale) \
93 SCALED_INTERVAL (scale, \
95 1.0506265879517071439385515999019, \
96 1.1038162273110462268251028980804, \
97 1.1596986766255304738157085667472, \
98 1.2184102636751912741300922949139, \
99 1.3449010205670067009547481593893, \
100 1.4129887703710829641940858921341, \
101 1.4845235706290491252321849551821, \
102 1.5596799337438830130108590901031, \
103 1.6386412070860804772885357729621, \
104 1.7216000202779154901968996860588, \
105 1.8087587551221761812432481457391)
106 EQTEMP_7_TET (1.0 / 2048.0), EQTEMP_7_TET (1.0 / 1024.0), EQTEMP_7_TET (1.0 / 512.0),
107 EQTEMP_7_TET (1.0 / 256.0), EQTEMP_7_TET (1.0 / 128.0), EQTEMP_7_TET (1.0 / 64.0),
108 EQTEMP_7_TET (1.0 / 32.0), EQTEMP_7_TET (1.0 / 16.0), EQTEMP_7_TET (1.0 / 8.0),
109 EQTEMP_7_TET (1.0 / 4.0), EQTEMP_7_TET (1.0 / 2.0),
111 EQTEMP_7_TET (2.0), EQTEMP_7_TET (4.0), EQTEMP_7_TET (8.0),
112 EQTEMP_7_TET (16.0), EQTEMP_7_TET (32.0), EQTEMP_7_TET (64.0),
113 EQTEMP_7_TET (128.0), EQTEMP_7_TET (256.0), EQTEMP_7_TET (512.0),
114 EQTEMP_7_TET (1024.0), 2048.0,
119static const float semitone_table265_equal_temperament_5_tet[132 + 1 + 132] = {
120#define EQTEMP_5_TET(scale) \
121 SCALED_INTERVAL (scale, \
123 1.0717734625362931642130063250233, \
124 1.1486983549970350067986269467779, \
125 1.2311444133449162844993930691677, \
126 1.3195079107728942593740019712296, \
127 1.3819128799677760808194941234190, \
128 1.4472692374403780699545336842135, \
129 1.5157165665103980823472598013064, \
130 1.6245047927124710452194187655506, \
131 1.7411011265922482782725400349595, \
132 1.8234449771164336156322101570883, \
133 1.9096832078208331020817981494413)
134 EQTEMP_5_TET (1.0 / 2048.0), EQTEMP_5_TET (1.0 / 1024.0), EQTEMP_5_TET (1.0 / 512.0),
135 EQTEMP_5_TET (1.0 / 256.0), EQTEMP_5_TET (1.0 / 128.0), EQTEMP_5_TET (1.0 / 64.0),
136 EQTEMP_5_TET (1.0 / 32.0), EQTEMP_5_TET (1.0 / 16.0), EQTEMP_5_TET (1.0 / 8.0),
137 EQTEMP_5_TET (1.0 / 4.0), EQTEMP_5_TET (1.0 / 2.0),
139 EQTEMP_5_TET (2.0), EQTEMP_5_TET (4.0), EQTEMP_5_TET (8.0),
140 EQTEMP_5_TET (16.0), EQTEMP_5_TET (32.0), EQTEMP_5_TET (64.0),
141 EQTEMP_5_TET (128.0), EQTEMP_5_TET (256.0), EQTEMP_5_TET (512.0),
142 EQTEMP_5_TET (1024.0), 2048.0,
147static const float semitone_table265_diatonic_scale[132 + 1 + 132] = {
148#define DIATONIC_SCALE(scale) \
149 SCALED_INTERVAL (scale, 1.0, \
150 16 / 15.0, 9 / 8.0, 6 / 5.0, 5 / 4.0, 4 / 3.0, 45 / 32.0, \
151 3 / 2.0, 8 / 5.0, 5 / 3.0, 16 / 9.0, 15 / 8.0)
152 DIATONIC_SCALE (1.0 / 2048.0), DIATONIC_SCALE (1.0 / 1024.0), DIATONIC_SCALE (1.0 / 512.0),
153 DIATONIC_SCALE (1.0 / 256.0), DIATONIC_SCALE (1.0 / 128.0), DIATONIC_SCALE (1.0 / 64.0),
154 DIATONIC_SCALE (1.0 / 32.0), DIATONIC_SCALE (1.0 / 16.0), DIATONIC_SCALE (1.0 / 8.0),
155 DIATONIC_SCALE (1.0 / 4.0), DIATONIC_SCALE (1.0 / 2.0),
156 DIATONIC_SCALE (1.0),
157 DIATONIC_SCALE (2.0), DIATONIC_SCALE (4.0), DIATONIC_SCALE (8.0),
158 DIATONIC_SCALE (16.0), DIATONIC_SCALE (32.0), DIATONIC_SCALE (64.0),
159 DIATONIC_SCALE (128.0), DIATONIC_SCALE (256.0), DIATONIC_SCALE (512.0),
160 DIATONIC_SCALE (1024.0), 2048.0,
165static const float semitone_table265_indian_scale[132 + 1 + 132] = {
166#define INDIAN_SCALE(scale) \
167 SCALED_INTERVAL (scale, 1.0, \
168 16 / 15.0, 9 / 8.0, 6 / 5.0, 5 / 4.0, 4 / 3.0, 45 / 32.0, \
169 3 / 2.0, 8 / 5.0, 5 / 3.0, 27 / 16.0, 15 / 8.0)
170 INDIAN_SCALE (1.0 / 2048.0), INDIAN_SCALE (1.0 / 1024.0), INDIAN_SCALE (1.0 / 512.0),
171 INDIAN_SCALE (1.0 / 256.0), INDIAN_SCALE (1.0 / 128.0), INDIAN_SCALE (1.0 / 64.0),
172 INDIAN_SCALE (1.0 / 32.0), INDIAN_SCALE (1.0 / 16.0), INDIAN_SCALE (1.0 / 8.0),
173 INDIAN_SCALE (1.0 / 4.0), INDIAN_SCALE (1.0 / 2.0),
175 INDIAN_SCALE (2.0), INDIAN_SCALE (4.0), INDIAN_SCALE (8.0),
176 INDIAN_SCALE (16.0), INDIAN_SCALE (32.0), INDIAN_SCALE (64.0),
177 INDIAN_SCALE (128.0), INDIAN_SCALE (256.0), INDIAN_SCALE (512.0),
178 INDIAN_SCALE (1024.0), 2048.0,
183static const float semitone_table265_pythagorean_tuning[132 + 1 + 132] = {
184#define PYTHAGOREAN_TUNING(scale) \
185 SCALED_INTERVAL (scale, 1.0, \
186 256 / 243.0, 9 / 8.0, 32 / 27.0, 81 / 64.0, 4 / 3.0, 729 / 512.0, \
187 3 / 2.0, 128 / 81.0, 27 / 16.0, 16 / 9.0, 243 / 128.0)
188 PYTHAGOREAN_TUNING (1.0 / 2048.0), PYTHAGOREAN_TUNING (1.0 / 1024.0), PYTHAGOREAN_TUNING (1.0 / 512.0),
189 PYTHAGOREAN_TUNING (1.0 / 256.0), PYTHAGOREAN_TUNING (1.0 / 128.0), PYTHAGOREAN_TUNING (1.0 / 64.0),
190 PYTHAGOREAN_TUNING (1.0 / 32.0), PYTHAGOREAN_TUNING (1.0 / 16.0), PYTHAGOREAN_TUNING (1.0 / 8.0),
191 PYTHAGOREAN_TUNING (1.0 / 4.0), PYTHAGOREAN_TUNING (1.0 / 2.0),
192 PYTHAGOREAN_TUNING (1.0),
193 PYTHAGOREAN_TUNING (2.0), PYTHAGOREAN_TUNING (4.0), PYTHAGOREAN_TUNING (8.0),
194 PYTHAGOREAN_TUNING (16.0), PYTHAGOREAN_TUNING (32.0), PYTHAGOREAN_TUNING (64.0),
195 PYTHAGOREAN_TUNING (128.0), PYTHAGOREAN_TUNING (256.0), PYTHAGOREAN_TUNING (512.0),
196 PYTHAGOREAN_TUNING (1024.0), 2048.0,
197#undef PYTHAGOREAN_TUNING
201static const float semitone_table265_pentatonic_5_limit[132 + 1 + 132] = {
202#define PENTATONIC_5_LIMIT(scale) \
203 SCALED_INTERVAL (scale, 1.0, \
204 256 / 243.0, 9 / 8.0, 32 / 27.0, 5 / 4.0, 4 / 3.0, 729 / 512.0, \
205 3 / 2.0, 128 / 81.0, 5 / 3.0, 16 / 9.0, 243 / 128.0)
206 PENTATONIC_5_LIMIT (1.0 / 2048.0), PENTATONIC_5_LIMIT (1.0 / 1024.0), PENTATONIC_5_LIMIT (1.0 / 512.0),
207 PENTATONIC_5_LIMIT (1.0 / 256.0), PENTATONIC_5_LIMIT (1.0 / 128.0), PENTATONIC_5_LIMIT (1.0 / 64.0),
208 PENTATONIC_5_LIMIT (1.0 / 32.0), PENTATONIC_5_LIMIT (1.0 / 16.0), PENTATONIC_5_LIMIT (1.0 / 8.0),
209 PENTATONIC_5_LIMIT (1.0 / 4.0), PENTATONIC_5_LIMIT (1.0 / 2.0),
210 PENTATONIC_5_LIMIT (1.0),
211 PENTATONIC_5_LIMIT (2.0), PENTATONIC_5_LIMIT (4.0), PENTATONIC_5_LIMIT (8.0),
212 PENTATONIC_5_LIMIT (16.0), PENTATONIC_5_LIMIT (32.0), PENTATONIC_5_LIMIT (64.0),
213 PENTATONIC_5_LIMIT (128.0), PENTATONIC_5_LIMIT (256.0), PENTATONIC_5_LIMIT (512.0),
214 PENTATONIC_5_LIMIT (1024.0), 2048.0,
215#undef PENTATONIC_5_LIMIT
219static const float semitone_table265_pentatonic_blues[132 + 1 + 132] = {
220#define PENTATONIC_BLUES(scale) \
221 SCALED_INTERVAL (scale, 1.0, \
222 256 / 243.0, 9 / 8.0, 7 / 6.0, 21 / 16.0, 4 / 3.0, 7 / 5.0, \
223 3 / 2.0, 128 / 81.0, 7 / 4.0, 16 / 9.0, 243 / 128.0)
224 PENTATONIC_BLUES (1.0 / 2048.0), PENTATONIC_BLUES (1.0 / 1024.0), PENTATONIC_BLUES (1.0 / 512.0),
225 PENTATONIC_BLUES (1.0 / 256.0), PENTATONIC_BLUES (1.0 / 128.0), PENTATONIC_BLUES (1.0 / 64.0),
226 PENTATONIC_BLUES (1.0 / 32.0), PENTATONIC_BLUES (1.0 / 16.0), PENTATONIC_BLUES (1.0 / 8.0),
227 PENTATONIC_BLUES (1.0 / 4.0), PENTATONIC_BLUES (1.0 / 2.0),
228 PENTATONIC_BLUES (1.0),
229 PENTATONIC_BLUES (2.0), PENTATONIC_BLUES (4.0), PENTATONIC_BLUES (8.0),
230 PENTATONIC_BLUES (16.0), PENTATONIC_BLUES (32.0), PENTATONIC_BLUES (64.0),
231 PENTATONIC_BLUES (128.0), PENTATONIC_BLUES (256.0), PENTATONIC_BLUES (512.0),
232 PENTATONIC_BLUES (1024.0), 2048.0,
233#undef PENTATONIC_BLUES
237static const float semitone_table265_pentatonic_gogo[132 + 1 + 132] = {
238#define PENTATONIC_GOGO(scale) \
239 SCALED_INTERVAL (scale, 1.0, \
240 256 / 243.0, 9 / 8.0, 32 / 27.0, 5 / 4.0, 4 / 3.0, 729 / 512.0, \
241 3 / 2.0, 128 / 81.0, 7 / 4.0, 16 / 9.0, 243 / 128.0)
242 PENTATONIC_GOGO (1.0 / 2048.0), PENTATONIC_GOGO (1.0 / 1024.0), PENTATONIC_GOGO (1.0 / 512.0),
243 PENTATONIC_GOGO (1.0 / 256.0), PENTATONIC_GOGO (1.0 / 128.0), PENTATONIC_GOGO (1.0 / 64.0),
244 PENTATONIC_GOGO (1.0 / 32.0), PENTATONIC_GOGO (1.0 / 16.0), PENTATONIC_GOGO (1.0 / 8.0),
245 PENTATONIC_GOGO (1.0 / 4.0), PENTATONIC_GOGO (1.0 / 2.0),
246 PENTATONIC_GOGO (1.0),
247 PENTATONIC_GOGO (2.0), PENTATONIC_GOGO (4.0), PENTATONIC_GOGO (8.0),
248 PENTATONIC_GOGO (16.0), PENTATONIC_GOGO (32.0), PENTATONIC_GOGO (64.0),
249 PENTATONIC_GOGO (128.0), PENTATONIC_GOGO (256.0), PENTATONIC_GOGO (512.0),
250 PENTATONIC_GOGO (1024.0), 2048.0,
251#undef PENTATONIC_GOGO
255static const float semitone_table265_quarter_comma_meantone[132 + 1 + 132] = {
256#define QCOMMA_MEANTONE(scale) \
257 SCALED_INTERVAL (scale, 1.0, \
258 1.0449067265256594125050516769666, \
259 1.1180339887498948482045868343656, \
260 1.1962790249769764335295191953127, \
262 1.3374806099528440480064661465173, \
263 1.3975424859373685602557335429570, \
264 1.4953487812212205419118989941409, \
266 1.6718507624410550600080826831466, \
267 1.7888543819998317571273389349850, \
268 1.8691859765265256773898737426761)
269 QCOMMA_MEANTONE (1.0 / 2048.0), QCOMMA_MEANTONE (1.0 / 1024.0), QCOMMA_MEANTONE (1.0 / 512.0),
270 QCOMMA_MEANTONE (1.0 / 256.0), QCOMMA_MEANTONE (1.0 / 128.0), QCOMMA_MEANTONE (1.0 / 64.0),
271 QCOMMA_MEANTONE (1.0 / 32.0), QCOMMA_MEANTONE (1.0 / 16.0), QCOMMA_MEANTONE (1.0 / 8.0),
272 QCOMMA_MEANTONE (1.0 / 4.0), QCOMMA_MEANTONE (1.0 / 2.0),
273 QCOMMA_MEANTONE (1.0),
274 QCOMMA_MEANTONE (2.0), QCOMMA_MEANTONE (4.0), QCOMMA_MEANTONE (8.0),
275 QCOMMA_MEANTONE (16.0), QCOMMA_MEANTONE (32.0), QCOMMA_MEANTONE (64.0),
276 QCOMMA_MEANTONE (128.0), QCOMMA_MEANTONE (256.0), QCOMMA_MEANTONE (512.0),
277 QCOMMA_MEANTONE (1024.0), 2048.0,
278#undef QCOMMA_MEANTONE
282static const float semitone_table265_silbermann_sorge_temperament[132 + 1 + 132] = {
283#define SILBERMANN_SORGE(scale) \
284 SCALED_INTERVAL (scale, 1.0, \
285 1.0509300646305402574490134498012, \
286 1.1198716040467591250082361837530, \
287 1.1933357430317218729952278581798, \
288 1.2541124095502612486514063523921, \
289 1.3363828127152655319782668003685, \
290 1.4044448757379971820788342284695, \
291 1.4965771640959640975810263196965, \
292 1.5727979357879622015539138854402, \
293 1.6759742693358971625849112463630, \
294 1.7859190221207644704151890003616, \
295 1.8768759933422862606134778581222)
296 SILBERMANN_SORGE (1.0 / 2048.0), SILBERMANN_SORGE (1.0 / 1024.0), SILBERMANN_SORGE (1.0 / 512.0),
297 SILBERMANN_SORGE (1.0 / 256.0), SILBERMANN_SORGE (1.0 / 128.0), SILBERMANN_SORGE (1.0 / 64.0),
298 SILBERMANN_SORGE (1.0 / 32.0), SILBERMANN_SORGE (1.0 / 16.0), SILBERMANN_SORGE (1.0 / 8.0),
299 SILBERMANN_SORGE (1.0 / 4.0), SILBERMANN_SORGE (1.0 / 2.0),
300 SILBERMANN_SORGE (1.0),
301 SILBERMANN_SORGE (2.0), SILBERMANN_SORGE (4.0), SILBERMANN_SORGE (8.0),
302 SILBERMANN_SORGE (16.0), SILBERMANN_SORGE (32.0), SILBERMANN_SORGE (64.0),
303 SILBERMANN_SORGE (128.0), SILBERMANN_SORGE (256.0), SILBERMANN_SORGE (512.0),
304 SILBERMANN_SORGE (1024.0), 2048.0,
305#undef SILBERMANN_SORGE
308#define SQRT2_2 1.4142135623730950488016887242097
309#define SQRT4_2 1.1892071150027210667174999705605
310#define SQRT4_8 1.6817928305074290860622509524664
313static const float semitone_table265_werckmeister3_temperament[132 + 1 + 132] = {
314#define WMEISTER3_TEMPERAMENT(scale) \
315 SCALED_INTERVAL (scale, 1.0, \
316 256 / 243.0, 64 * SQRT2_2 / 81.0, 32 / 27.0, \
317 256 * SQRT4_2 / 243.0, 4 / 3.0, 1024 / 729.0, \
318 8 * SQRT4_8 / 9.0, 128 / 81.0, 1024 * SQRT4_2 / 729.0, \
319 16 / 9.0, 128 * SQRT4_2 / 81.0)
320 WMEISTER3_TEMPERAMENT (1.0 / 2048.0), WMEISTER3_TEMPERAMENT (1.0 / 1024.0), WMEISTER3_TEMPERAMENT (1.0 / 512.0),
321 WMEISTER3_TEMPERAMENT (1.0 / 256.0), WMEISTER3_TEMPERAMENT (1.0 / 128.0), WMEISTER3_TEMPERAMENT (1.0 / 64.0),
322 WMEISTER3_TEMPERAMENT (1.0 / 32.0), WMEISTER3_TEMPERAMENT (1.0 / 16.0), WMEISTER3_TEMPERAMENT (1.0 / 8.0),
323 WMEISTER3_TEMPERAMENT (1.0 / 4.0), WMEISTER3_TEMPERAMENT (1.0 / 2.0),
324 WMEISTER3_TEMPERAMENT (1.0),
325 WMEISTER3_TEMPERAMENT (2.0), WMEISTER3_TEMPERAMENT (4.0), WMEISTER3_TEMPERAMENT (8.0),
326 WMEISTER3_TEMPERAMENT (16.0), WMEISTER3_TEMPERAMENT (32.0), WMEISTER3_TEMPERAMENT (64.0),
327 WMEISTER3_TEMPERAMENT (128.0), WMEISTER3_TEMPERAMENT (256.0), WMEISTER3_TEMPERAMENT (512.0),
328 WMEISTER3_TEMPERAMENT (1024.0), 2048.0,
329#undef WMEISTER3_TEMPERAMENT
332#define SQRT3_2 1.2599210498948731647672106072782
333#define SQRT3_4 1.5874010519681994747517056392723
336static const float semitone_table265_werckmeister4_temperament[132 + 1 + 132] = {
337#define WMEISTER4_TEMPERAMENT(scale) \
338 SCALED_INTERVAL (scale, 1.0, \
339 16384 * SQRT3_2 / 19683.0, 8 * SQRT3_2 / 9.0, 32 / 27.0, \
340 64 * SQRT3_4 / 81.0, 4 / 3.0, 1024 / 729.0, \
341 32 * SQRT3_2 / 27.0, 8192 * SQRT3_2 / 6561.0, \
342 256 * SQRT3_4 / 243.0, 9 / 8.0 * SQRT3_4, 4096 / 2187.0)
343 WMEISTER4_TEMPERAMENT (1.0 / 2048.0), WMEISTER4_TEMPERAMENT (1.0 / 1024.0), WMEISTER4_TEMPERAMENT (1.0 / 512.0),
344 WMEISTER4_TEMPERAMENT (1.0 / 256.0), WMEISTER4_TEMPERAMENT (1.0 / 128.0), WMEISTER4_TEMPERAMENT (1.0 / 64.0),
345 WMEISTER4_TEMPERAMENT (1.0 / 32.0), WMEISTER4_TEMPERAMENT (1.0 / 16.0), WMEISTER4_TEMPERAMENT (1.0 / 8.0),
346 WMEISTER4_TEMPERAMENT (1.0 / 4.0), WMEISTER4_TEMPERAMENT (1.0 / 2.0),
347 WMEISTER4_TEMPERAMENT (1.0),
348 WMEISTER4_TEMPERAMENT (2.0), WMEISTER4_TEMPERAMENT (4.0), WMEISTER4_TEMPERAMENT (8.0),
349 WMEISTER4_TEMPERAMENT (16.0), WMEISTER4_TEMPERAMENT (32.0), WMEISTER4_TEMPERAMENT (64.0),
350 WMEISTER4_TEMPERAMENT (128.0), WMEISTER4_TEMPERAMENT (256.0), WMEISTER4_TEMPERAMENT (512.0),
351 WMEISTER4_TEMPERAMENT (1024.0), 2048.0,
352#undef WMEISTER4_TEMPERAMENT
356static const float semitone_table265_werckmeister5_temperament[132 + 1 + 132] = {
357#define WMEISTER5_TEMPERAMENT(scale) \
358 SCALED_INTERVAL (scale, 1.0, \
359 8 * SQRT4_2 / 9.0, 9 / 8.0, SQRT4_2, 8 * SQRT2_2 / 9.0, \
360 9 / 8.0 * SQRT4_2, SQRT2_2, 3 / 2.0, 128 / 81.0, \
361 SQRT4_8, 3 / SQRT4_8, 4 * SQRT2_2 / 3.0)
362 WMEISTER5_TEMPERAMENT (1.0 / 2048.0), WMEISTER5_TEMPERAMENT (1.0 / 1024.0), WMEISTER5_TEMPERAMENT (1.0 / 512.0),
363 WMEISTER5_TEMPERAMENT (1.0 / 256.0), WMEISTER5_TEMPERAMENT (1.0 / 128.0), WMEISTER5_TEMPERAMENT (1.0 / 64.0),
364 WMEISTER5_TEMPERAMENT (1.0 / 32.0), WMEISTER5_TEMPERAMENT (1.0 / 16.0), WMEISTER5_TEMPERAMENT (1.0 / 8.0),
365 WMEISTER5_TEMPERAMENT (1.0 / 4.0), WMEISTER5_TEMPERAMENT (1.0 / 2.0),
366 WMEISTER5_TEMPERAMENT (1.0),
367 WMEISTER5_TEMPERAMENT (2.0), WMEISTER5_TEMPERAMENT (4.0), WMEISTER5_TEMPERAMENT (8.0),
368 WMEISTER5_TEMPERAMENT (16.0), WMEISTER5_TEMPERAMENT (32.0), WMEISTER5_TEMPERAMENT (64.0),
369 WMEISTER5_TEMPERAMENT (128.0), WMEISTER5_TEMPERAMENT (256.0), WMEISTER5_TEMPERAMENT (512.0),
370 WMEISTER5_TEMPERAMENT (1024.0), 2048.0,
371#undef WMEISTER5_TEMPERAMENT
375static const float semitone_table265_werckmeister6_temperament[132 + 1 + 132] = {
376#define WMEISTER6_TEMPERAMENT(scale) \
377 SCALED_INTERVAL (scale, 1.0, \
378 98 / 93.0, 28 / 25.0, 196 / 165.0, 49 / 39.0, 4 / 3.0, \
379 196 / 139.0, 196 / 131.0, 49 / 31.0, 196 / 117.0, \
380 98 / 55.0, 49 / 26.0)
381 WMEISTER6_TEMPERAMENT (1.0 / 2048.0), WMEISTER6_TEMPERAMENT (1.0 / 1024.0), WMEISTER6_TEMPERAMENT (1.0 / 512.0),
382 WMEISTER6_TEMPERAMENT (1.0 / 256.0), WMEISTER6_TEMPERAMENT (1.0 / 128.0), WMEISTER6_TEMPERAMENT (1.0 / 64.0),
383 WMEISTER6_TEMPERAMENT (1.0 / 32.0), WMEISTER6_TEMPERAMENT (1.0 / 16.0), WMEISTER6_TEMPERAMENT (1.0 / 8.0),
384 WMEISTER6_TEMPERAMENT (1.0 / 4.0), WMEISTER6_TEMPERAMENT (1.0 / 2.0),
385 WMEISTER6_TEMPERAMENT (1.0),
386 WMEISTER6_TEMPERAMENT (2.0), WMEISTER6_TEMPERAMENT (4.0), WMEISTER6_TEMPERAMENT (8.0),
387 WMEISTER6_TEMPERAMENT (16.0), WMEISTER6_TEMPERAMENT (32.0), WMEISTER6_TEMPERAMENT (64.0),
388 WMEISTER6_TEMPERAMENT (128.0), WMEISTER6_TEMPERAMENT (256.0), WMEISTER6_TEMPERAMENT (512.0),
389 WMEISTER6_TEMPERAMENT (1024.0), 2048.0,
390#undef WMEISTER6_TEMPERAMENT
394static const float semitone_table265_kirnberger_temperament[132 + 1 + 132] = {
395#define KBERGER3_TEMPERAMENT(scale) \
396 SCALED_INTERVAL (scale, 1.0, \
397 25 / 24.0, 9 / 8.0, 6 / 5.0, 5 / 4.0, \
398 4 / 3.0, 45 / 32.0, 3 / 2.0, 25 / 16.0, \
399 5 / 3.0, 16 / 9.0, 15 / 8.0)
400 KBERGER3_TEMPERAMENT (1.0 / 2048.0), KBERGER3_TEMPERAMENT (1.0 / 1024.0), KBERGER3_TEMPERAMENT (1.0 / 512.0),
401 KBERGER3_TEMPERAMENT (1.0 / 256.0), KBERGER3_TEMPERAMENT (1.0 / 128.0), KBERGER3_TEMPERAMENT (1.0 / 64.0),
402 KBERGER3_TEMPERAMENT (1.0 / 32.0), KBERGER3_TEMPERAMENT (1.0 / 16.0), KBERGER3_TEMPERAMENT (1.0 / 8.0),
403 KBERGER3_TEMPERAMENT (1.0 / 4.0), KBERGER3_TEMPERAMENT (1.0 / 2.0),
404 KBERGER3_TEMPERAMENT (1.0),
405 KBERGER3_TEMPERAMENT (2.0), KBERGER3_TEMPERAMENT (4.0), KBERGER3_TEMPERAMENT (8.0),
406 KBERGER3_TEMPERAMENT (16.0), KBERGER3_TEMPERAMENT (32.0), KBERGER3_TEMPERAMENT (64.0),
407 KBERGER3_TEMPERAMENT (128.0), KBERGER3_TEMPERAMENT (256.0), KBERGER3_TEMPERAMENT (512.0),
408 KBERGER3_TEMPERAMENT (1024.0), 2048.0,
409#undef KBERGER3_TEMPERAMENT
413static const float semitone_table265_young_temperament[132 + 1 + 132] = {
414#define YOUNG_TEMPERAMENT(scale) \
415 SCALED_INTERVAL (scale, 1.0, \
416 1.0631412837780103584827404056079, \
417 1.1211660780285088308680165651114, \
418 1.1933357430317218729952278581798, \
419 1.2599210498948731647672106072782, \
420 1.3363828127152655319782668003685, \
421 1.4174848672222598142134666752417, \
422 1.4965771640959640975810263196965, \
423 1.5929121092043532274138841376768, \
424 1.6798510690641884687069808937168, \
425 1.7859190221207644704151890003616, \
426 1.8899306982642323704825496345032)
427 YOUNG_TEMPERAMENT (1.0 / 2048.0), YOUNG_TEMPERAMENT (1.0 / 1024.0), YOUNG_TEMPERAMENT (1.0 / 512.0),
428 YOUNG_TEMPERAMENT (1.0 / 256.0), YOUNG_TEMPERAMENT (1.0 / 128.0), YOUNG_TEMPERAMENT (1.0 / 64.0),
429 YOUNG_TEMPERAMENT (1.0 / 32.0), YOUNG_TEMPERAMENT (1.0 / 16.0), YOUNG_TEMPERAMENT (1.0 / 8.0),
430 YOUNG_TEMPERAMENT (1.0 / 4.0), YOUNG_TEMPERAMENT (1.0 / 2.0),
431 YOUNG_TEMPERAMENT (1.0),
432 YOUNG_TEMPERAMENT (2.0), YOUNG_TEMPERAMENT (4.0), YOUNG_TEMPERAMENT (8.0),
433 YOUNG_TEMPERAMENT (16.0), YOUNG_TEMPERAMENT (32.0), YOUNG_TEMPERAMENT (64.0),
434 YOUNG_TEMPERAMENT (128.0), YOUNG_TEMPERAMENT (256.0), YOUNG_TEMPERAMENT (512.0),
435 YOUNG_TEMPERAMENT (1024.0), 2048.0,
436#undef YOUNG_TEMPERAMENT
441 132 + semitone_table265_equal_temperament_12_tet,
442 132 + semitone_table265_equal_temperament_7_tet,
443 132 + semitone_table265_equal_temperament_5_tet,
445 132 + semitone_table265_diatonic_scale,
446 132 + semitone_table265_indian_scale,
447 132 + semitone_table265_pythagorean_tuning,
448 132 + semitone_table265_pentatonic_5_limit,
449 132 + semitone_table265_pentatonic_blues,
450 132 + semitone_table265_pentatonic_gogo,
452 132 + semitone_table265_quarter_comma_meantone,
453 132 + semitone_table265_silbermann_sorge_temperament,
455 132 + semitone_table265_werckmeister3_temperament,
456 132 + semitone_table265_werckmeister4_temperament,
457 132 + semitone_table265_werckmeister5_temperament,
458 132 + semitone_table265_werckmeister6_temperament,
459 132 + semitone_table265_kirnberger_temperament,
460 132 + semitone_table265_young_temperament,
The Anklang C++ API namespace.
const float *const cent_table
Finetune factor table with 201 entries for -100…0…+100 cent.
const float *const semitone_tables_265[17]
Musical Tuning Tables, to be indexed by MusicalTuning