1 #ifndef _TABLES_H 2 #define _TABLES_H 1 3 4 #define NUM_PERIODS 128 /* number of periods in period table */ 5 #define NUM_VIBRA 64 /* number of values in vibrato table */ 6 #define NOTE_BASE 0 /* lowest note possible */ 7 8 9 /* This file is part of the GMOD package */ 10 11 /* base frequencies for the various sample tunings */ 12 13 unsigned short base_freq_table[] = 14 { 15 8448, 8508, 8568, 8629, 8692, 8755, 8819, 8884, 16 7982, 8035, 8089, 8144, 8199, 8274, 8331, 8389 17 }; 18 19 unsigned short period_table[] = 20 { 21 13696, 12928, 12192, 11520, 10848, 10240, 9664, 9120, 8606, 8128, 7680, 7248, 22 6848, 6464, 6096, 5760, 5424, 5120, 4832, 4560, 4304, 4064, 3840, 3624, 23 3424, 3232, 3048, 2880, 2712, 2560, 2416, 2280, 2152, 2032, 1920, 1812, 24 1712, 1616, 1524, 1440, 1356, 1280, 1208, 1140, 1076, 1016, 960, 906, 25 856, 808, 762, 720, 678, 640, 604, 570, 538, 508, 480, 453, 26 428, 404, 381, 360, 339, 320, 302, 285, 269, 254, 240, 226, 27 214, 202, 190, 180, 170, 160, 151, 143, 135, 127, 120, 113, 28 107, 101, 95, 90, 85, 80, 75, 71, 67, 63, 60, 57, 29 54, 51, 48, 45, 42, 40, 38, 36, 34, 32, 30, 28, 30 27, 25, 24, 22, 21, 20, 19, 18, 17, 16, 15, 14, 31 13, 13, 12, 11, 11, 10, 9, 9 32 }; 33 34 short vibra_table[][NUM_VIBRA] = 35 { 36 /* sine wave */ 37 38 {0, 24, 49, 74, 97, 120, 141, 161, 39 180, 197, 212, 224, 235, 244, 250, 253, 40 255, 253, 250, 244, 235, 224, 212, 197, 41 180, 161, 141, 120, 97, 74, 49, 24, 42 0, -24, -49, -74, -97, -120, -141, -161, 43 -180, -197, -212, -224, -235, -244, -250, -253, 44 -255, -253, -250, -244, -235, -224, -212, -197, 45 -180, -161, -141, -120, -97, -74, -49, -24}, 46 47 /* ramp down wave */ 48 49 {0, 8, 16, 24, 32, 40, 48, 56, 50 64, 72, 80, 88, 96, 104, 112, 120, 51 128, 136, 144, 152, 160, 168, 176, 184, 52 192, 200, 208, 216, 224, 232, 240, 248, 53 -255, -248, -240, -232, -224, -216, -208, -200, 54 -192, -184, -176, -168, -160, -152, -144, -136, 55 -128, -120, -112, -104, -96, -88, -80, -72, 56 -64, -56, -48, -40, -32, -24, -16, -8}, 57 58 /* square wave */ 59 60 {255, 255, 255, 255, 255, 255, 255, 255, 61 255, 255, 255, 255, 255, 255, 255, 255, 62 255, 255, 255, 255, 255, 255, 255, 255, 63 255, 255, 255, 255, 255, 255, 255, 255, 64 -255, -255, -255, -255, -255, -255, -255, -255, 65 -255, -255, -255, -255, -255, -255, -255, -255, 66 -255, -255, -255, -255, -255, -255, -255, -255, 67 -255, -255, -255, -255, -255, -255, -255, -255}, 68 }; 69 70 71 int byte_pan_table[16] = 72 { 73 -128, -112, -96, -84, -72, -60, -48, -36, 74 35, 47, 59, 71, 83, 56, 111, 127 75 }; 76 77 #endif /* _TABLES_H */ 78