No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

tables.inc 5.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520
  1. static const int16_t sine_table_256[256] = {
  2. 0,
  3. 402,
  4. 804,
  5. 1205,
  6. 1606,
  7. 2005,
  8. 2404,
  9. 2801,
  10. 3196,
  11. 3590,
  12. 3981,
  13. 4370,
  14. 4756,
  15. 5139,
  16. 5519,
  17. 5896,
  18. 6270,
  19. 6639,
  20. 7005,
  21. 7366,
  22. 7723,
  23. 8075,
  24. 8423,
  25. 8765,
  26. 9102,
  27. 9433,
  28. 9759,
  29. 10079,
  30. 10393,
  31. 10701,
  32. 11002,
  33. 11297,
  34. 11585,
  35. 11865,
  36. 12139,
  37. 12405,
  38. 12664,
  39. 12915,
  40. 13159,
  41. 13394,
  42. 13622,
  43. 13841,
  44. 14052,
  45. 14255,
  46. 14449,
  47. 14634,
  48. 14810,
  49. 14977,
  50. 15136,
  51. 15285,
  52. 15425,
  53. 15556,
  54. 15678,
  55. 15790,
  56. 15892,
  57. 15985,
  58. 16068,
  59. 16142,
  60. 16206,
  61. 16260,
  62. 16304,
  63. 16339,
  64. 16363,
  65. 16378,
  66. 16383,
  67. 16378,
  68. 16363,
  69. 16339,
  70. 16304,
  71. 16260,
  72. 16206,
  73. 16142,
  74. 16068,
  75. 15985,
  76. 15892,
  77. 15790,
  78. 15678,
  79. 15556,
  80. 15425,
  81. 15285,
  82. 15136,
  83. 14977,
  84. 14810,
  85. 14634,
  86. 14449,
  87. 14255,
  88. 14052,
  89. 13841,
  90. 13622,
  91. 13394,
  92. 13159,
  93. 12915,
  94. 12664,
  95. 12405,
  96. 12139,
  97. 11865,
  98. 11585,
  99. 11297,
  100. 11002,
  101. 10701,
  102. 10393,
  103. 10079,
  104. 9759,
  105. 9433,
  106. 9102,
  107. 8765,
  108. 8423,
  109. 8075,
  110. 7723,
  111. 7366,
  112. 7005,
  113. 6639,
  114. 6270,
  115. 5896,
  116. 5519,
  117. 5139,
  118. 4756,
  119. 4370,
  120. 3981,
  121. 3590,
  122. 3196,
  123. 2801,
  124. 2404,
  125. 2005,
  126. 1606,
  127. 1205,
  128. 804,
  129. 402,
  130. 0,
  131. -402,
  132. -804,
  133. -1205,
  134. -1606,
  135. -2005,
  136. -2404,
  137. -2801,
  138. -3196,
  139. -3590,
  140. -3981,
  141. -4370,
  142. -4756,
  143. -5139,
  144. -5519,
  145. -5896,
  146. -6270,
  147. -6639,
  148. -7005,
  149. -7366,
  150. -7723,
  151. -8075,
  152. -8423,
  153. -8765,
  154. -9102,
  155. -9433,
  156. -9759,
  157. -10079,
  158. -10393,
  159. -10701,
  160. -11002,
  161. -11297,
  162. -11585,
  163. -11865,
  164. -12139,
  165. -12405,
  166. -12664,
  167. -12915,
  168. -13159,
  169. -13394,
  170. -13622,
  171. -13841,
  172. -14052,
  173. -14255,
  174. -14449,
  175. -14634,
  176. -14810,
  177. -14977,
  178. -15136,
  179. -15285,
  180. -15425,
  181. -15556,
  182. -15678,
  183. -15790,
  184. -15892,
  185. -15985,
  186. -16068,
  187. -16142,
  188. -16206,
  189. -16260,
  190. -16304,
  191. -16339,
  192. -16363,
  193. -16378,
  194. -16383,
  195. -16378,
  196. -16363,
  197. -16339,
  198. -16304,
  199. -16260,
  200. -16206,
  201. -16142,
  202. -16068,
  203. -15985,
  204. -15892,
  205. -15790,
  206. -15678,
  207. -15556,
  208. -15425,
  209. -15285,
  210. -15136,
  211. -14977,
  212. -14810,
  213. -14634,
  214. -14449,
  215. -14255,
  216. -14052,
  217. -13841,
  218. -13622,
  219. -13394,
  220. -13159,
  221. -12915,
  222. -12664,
  223. -12405,
  224. -12139,
  225. -11865,
  226. -11585,
  227. -11297,
  228. -11002,
  229. -10701,
  230. -10393,
  231. -10079,
  232. -9759,
  233. -9433,
  234. -9102,
  235. -8765,
  236. -8423,
  237. -8075,
  238. -7723,
  239. -7366,
  240. -7005,
  241. -6639,
  242. -6270,
  243. -5896,
  244. -5519,
  245. -5139,
  246. -4756,
  247. -4370,
  248. -3981,
  249. -3590,
  250. -3196,
  251. -2801,
  252. -2404,
  253. -2005,
  254. -1606,
  255. -1205,
  256. -804,
  257. };
  258. // http://www.richardbrice.net/midi_notes.htm
  259. static const float midi_note_freq_table[128] = {
  260. 8.1757989156,
  261. 8.661957218,
  262. 9.1770239974,
  263. 9.7227182413,
  264. 10.3008611535,
  265. 10.9133822323,
  266. 11.5623257097,
  267. 12.2498573744,
  268. 12.9782717994,
  269. 13.75,
  270. 14.5676175474,
  271. 15.4338531643,
  272. 16.3515978313,
  273. 17.3239144361,
  274. 18.3540479948,
  275. 19.4454364826,
  276. 20.6017223071,
  277. 21.8267644646,
  278. 23.1246514195,
  279. 24.4997147489,
  280. 25.9565435987,
  281. 27.5,
  282. 29.1352350949,
  283. 30.8677063285,
  284. 32.7031956626,
  285. 34.6478288721,
  286. 36.7080959897,
  287. 38.8908729653,
  288. 41.2034446141,
  289. 43.6535289291,
  290. 46.249302839,
  291. 48.9994294977,
  292. 51.9130871975,
  293. 55,
  294. 58.2704701898,
  295. 61.735412657,
  296. 65.4063913251,
  297. 69.2956577442,
  298. 73.4161919794,
  299. 77.7817459305,
  300. 82.4068892282,
  301. 87.3070578583,
  302. 92.4986056779,
  303. 97.9988589954,
  304. 103.826174395,
  305. 110,
  306. 116.5409403795,
  307. 123.470825314,
  308. 130.8127826503,
  309. 138.5913154884,
  310. 146.8323839587,
  311. 155.563491861,
  312. 164.8137784564,
  313. 174.6141157165,
  314. 184.9972113558,
  315. 195.9977179909,
  316. 207.65234879,
  317. 220,
  318. 233.081880759,
  319. 246.9416506281,
  320. 261.6255653006,
  321. 277.1826309769,
  322. 293.6647679174,
  323. 311.1269837221,
  324. 329.6275569129,
  325. 349.228231433,
  326. 369.9944227116,
  327. 391.9954359818,
  328. 415.3046975799,
  329. 440,
  330. 466.1637615181,
  331. 493.8833012561,
  332. 523.2511306012,
  333. 554.3652619537,
  334. 587.3295358348,
  335. 622.2539674442,
  336. 659.2551138257,
  337. 698.456462866,
  338. 739.9888454233,
  339. 783.9908719635,
  340. 830.6093951599,
  341. 880,
  342. 932.3275230362,
  343. 987.7666025122,
  344. 1046.5022612024,
  345. 1108.7305239075,
  346. 1174.6590716696,
  347. 1244.5079348883,
  348. 1318.5102276515,
  349. 1396.912925732,
  350. 1479.9776908465,
  351. 1567.981743927,
  352. 1661.2187903198,
  353. 1760,
  354. 1864.6550460724,
  355. 1975.5332050245,
  356. 2093.0045224048,
  357. 2217.461047815,
  358. 2349.3181433393,
  359. 2489.0158697767,
  360. 2637.020455303,
  361. 2793.825851464,
  362. 2959.9553816931,
  363. 3135.963487854,
  364. 3322.4375806396,
  365. 3520,
  366. 3729.3100921447,
  367. 3951.066410049,
  368. 4186.0090448096,
  369. 4434.92209563,
  370. 4698.6362866785,
  371. 4978.0317395533,
  372. 5274.0409106059,
  373. 5587.6517029281,
  374. 5919.9107633862,
  375. 6271.926975708,
  376. 6644.8751612791,
  377. 7040,
  378. 7458.6201842894,
  379. 7902.132820098,
  380. 8372.0180896192,
  381. 8869.8441912599,
  382. 9397.2725733571,
  383. 9956.0634791066,
  384. 10548.0818212118,
  385. 11175.3034058561,
  386. 11839.8215267723,
  387. 12543.853951416,
  388. };
  389. static const uint32_t midi_note_freq_fixed[128] = {
  390. 535809,
  391. 567670,
  392. 601425,
  393. 637188,
  394. 675077,
  395. 715219,
  396. 757749,
  397. 802807,
  398. 850544,
  399. 901120,
  400. 954703,
  401. 1011473,
  402. 1071618,
  403. 1135340,
  404. 1202851,
  405. 1274376,
  406. 1350154,
  407. 1430439,
  408. 1515497,
  409. 1605613,
  410. 1701088,
  411. 1802240,
  412. 1909407,
  413. 2022946,
  414. 2143237,
  415. 2270680,
  416. 2405702,
  417. 2548752,
  418. 2700309,
  419. 2860878,
  420. 3030994,
  421. 3211227,
  422. 3402176,
  423. 3604480,
  424. 3818814,
  425. 4045892,
  426. 4286473,
  427. 4541360,
  428. 4811404,
  429. 5097505,
  430. 5400618,
  431. 5721755,
  432. 6061989,
  433. 6422453,
  434. 6804352,
  435. 7208960,
  436. 7637627,
  437. 8091784,
  438. 8572947,
  439. 9082720,
  440. 9622807,
  441. 10195009,
  442. 10801236,
  443. 11443511,
  444. 12123977,
  445. 12844906,
  446. 13608704,
  447. 14417920,
  448. 15275254,
  449. 16183568,
  450. 17145893,
  451. 18165441,
  452. 19245614,
  453. 20390018,
  454. 21602472,
  455. 22887021,
  456. 24247954,
  457. 25689813,
  458. 27217409,
  459. 28835840,
  460. 30550508,
  461. 32367136,
  462. 34291786,
  463. 36330882,
  464. 38491228,
  465. 40780036,
  466. 43204943,
  467. 45774043,
  468. 48495909,
  469. 51379626,
  470. 54434817,
  471. 57671680,
  472. 61101017,
  473. 64734272,
  474. 68583572,
  475. 72661764,
  476. 76982457,
  477. 81560072,
  478. 86409886,
  479. 91548086,
  480. 96991818,
  481. 102759252,
  482. 108869635,
  483. 115343360,
  484. 122202033,
  485. 129468544,
  486. 137167144,
  487. 145323527,
  488. 153964914,
  489. 163120144,
  490. 172819773,
  491. 183096171,
  492. 193983636,
  493. 205518503,
  494. 217739269,
  495. 230686720,
  496. 244404066,
  497. 258937088,
  498. 274334289,
  499. 290647054,
  500. 307929828,
  501. 326240288,
  502. 345639545,
  503. 366192342,
  504. 387967272,
  505. 411037006,
  506. 435478539,
  507. 461373440,
  508. 488808132,
  509. 517874176,
  510. 548668578,
  511. 581294109,
  512. 615859655,
  513. 652480576,
  514. 691279090,
  515. 732384684,
  516. 775934544,
  517. 822074013,
  518. };