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