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.

1436 lines
47KB

  1. // Copyright 2014 Olivier Gillet.
  2. //
  3. // Author: Olivier Gillet (ol.gillet@gmail.com)
  4. //
  5. // Permission is hereby granted, free of charge, to any person obtaining a copy
  6. // of this software and associated documentation files (the "Software"), to deal
  7. // in the Software without restriction, including without limitation the rights
  8. // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  9. // copies of the Software, and to permit persons to whom the Software is
  10. // furnished to do so, subject to the following conditions:
  11. //
  12. // The above copyright notice and this permission notice shall be included in
  13. // all copies or substantial portions of the Software.
  14. //
  15. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  16. // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  17. // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  18. // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  19. // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  20. // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  21. // THE SOFTWARE.
  22. //
  23. // See http://creativecommons.org/licenses/MIT/ for more information.
  24. //
  25. // -----------------------------------------------------------------------------
  26. //
  27. // Resources definitions.
  28. //
  29. // Automatically generated with:
  30. // make resources
  31. #include "streams/resources.h"
  32. namespace streams {
  33. static const char str_dummy[] = "dummy";
  34. const char* string_table[] = {
  35. str_dummy,
  36. };
  37. const int16_t wav_gompertz[] = {
  38. 0, 12, 24, 36,
  39. 48, 60, 72, 84,
  40. 96, 108, 120, 132,
  41. 144, 156, 168, 179,
  42. 191, 203, 215, 227,
  43. 238, 250, 262, 274,
  44. 286, 298, 310, 323,
  45. 335, 348, 360, 373,
  46. 386, 399, 412, 426,
  47. 439, 453, 467, 481,
  48. 496, 511, 526, 542,
  49. 558, 574, 591, 608,
  50. 625, 643, 662, 681,
  51. 700, 720, 741, 762,
  52. 784, 807, 830, 854,
  53. 878, 903, 930, 956,
  54. 984, 1013, 1042, 1072,
  55. 1104, 1136, 1169, 1203,
  56. 1238, 1275, 1312, 1350,
  57. 1390, 1430, 1472, 1515,
  58. 1559, 1605, 1651, 1699,
  59. 1749, 1799, 1851, 1904,
  60. 1959, 2015, 2072, 2131,
  61. 2191, 2252, 2315, 2380,
  62. 2446, 2513, 2582, 2652,
  63. 2724, 2798, 2873, 2949,
  64. 3027, 3106, 3187, 3270,
  65. 3354, 3439, 3526, 3615,
  66. 3705, 3796, 3889, 3984,
  67. 4080, 4177, 4276, 4377,
  68. 4479, 4582, 4686, 4793,
  69. 4900, 5009, 5119, 5231,
  70. 5344, 5458, 5574, 5690,
  71. 5808, 5928, 6048, 6170,
  72. 6293, 6417, 6542, 6668,
  73. 6796, 6924, 7053, 7184,
  74. 7315, 7448, 7581, 7715,
  75. 7850, 7986, 8123, 8261,
  76. 8399, 8538, 8678, 8819,
  77. 8960, 9102, 9244, 9387,
  78. 9531, 9675, 9820, 9965,
  79. 10110, 10256, 10403, 10550,
  80. 10697, 10844, 10992, 11140,
  81. 11288, 11436, 11585, 11734,
  82. 11882, 12031, 12181, 12330,
  83. 12479, 12628, 12777, 12926,
  84. 13075, 13224, 13373, 13522,
  85. 13670, 13819, 13967, 14115,
  86. 14263, 14410, 14558, 14705,
  87. 14851, 14997, 15143, 15289,
  88. 15434, 15579, 15723, 15867,
  89. 16011, 16154, 16296, 16438,
  90. 16580, 16721, 16861, 17001,
  91. 17141, 17280, 17418, 17555,
  92. 17692, 17829, 17964, 18099,
  93. 18234, 18367, 18500, 18633,
  94. 18764, 18895, 19026, 19155,
  95. 19284, 19412, 19539, 19666,
  96. 19792, 19917, 20041, 20165,
  97. 20287, 20409, 20530, 20651,
  98. 20770, 20889, 21007, 21124,
  99. 21241, 21356, 21471, 21585,
  100. 21698, 21810, 21922, 22032,
  101. 22142, 22251, 22359, 22466,
  102. 22573, 22679, 22783, 22887,
  103. 22991, 23093, 23195, 23295,
  104. 23395, 23494, 23592, 23690,
  105. 23786, 23882, 23977, 24071,
  106. 24165, 24257, 24349, 24440,
  107. 24530, 24619, 24708, 24795,
  108. 24882, 24969, 25054, 25139,
  109. 25222, 25305, 25388, 25469,
  110. 25550, 25630, 25709, 25788,
  111. 25865, 25942, 26019, 26094,
  112. 26169, 26243, 26316, 26389,
  113. 26461, 26532, 26603, 26672,
  114. 26741, 26810, 26878, 26945,
  115. 27011, 27077, 27142, 27206,
  116. 27270, 27333, 27395, 27457,
  117. 27518, 27579, 27639, 27698,
  118. 27756, 27814, 27872, 27929,
  119. 27985, 28041, 28096, 28150,
  120. 28204, 28257, 28310, 28362,
  121. 28414, 28465, 28515, 28565,
  122. 28614, 28663, 28712, 28759,
  123. 28807, 28853, 28900, 28945,
  124. 28991, 29035, 29080, 29123,
  125. 29167, 29209, 29252, 29294,
  126. 29335, 29376, 29416, 29456,
  127. 29496, 29535, 29574, 29612,
  128. 29650, 29687, 29724, 29760,
  129. 29796, 29832, 29867, 29902,
  130. 29937, 29971, 30005, 30038,
  131. 30071, 30103, 30136, 30167,
  132. 30199, 30230, 30261, 30291,
  133. 30321, 30351, 30380, 30409,
  134. 30438, 30466, 30494, 30521,
  135. 30549, 30576, 30602, 30629,
  136. 30655, 30681, 30706, 30731,
  137. 30756, 30781, 30805, 30829,
  138. 30853, 30876, 30899, 30922,
  139. 30945, 30967, 30989, 31011,
  140. 31032, 31054, 31075, 31096,
  141. 31116, 31136, 31156, 31176,
  142. 31196, 31215, 31234, 31253,
  143. 31272, 31290, 31308, 31326,
  144. 31344, 31362, 31379, 31396,
  145. 31413, 31430, 31446, 31463,
  146. 31479, 31495, 31510, 31526,
  147. 31541, 31556, 31571, 31586,
  148. 31601, 31615, 31630, 31644,
  149. 31658, 31671, 31685, 31698,
  150. 31712, 31725, 31738, 31750,
  151. 31763, 31775, 31788, 31800,
  152. 31812, 31824, 31836, 31847,
  153. 31859, 31870, 31881, 31892,
  154. 31903, 31914, 31924, 31935,
  155. 31945, 31955, 31966, 31976,
  156. 31985, 31995, 32005, 32014,
  157. 32024, 32033, 32042, 32051,
  158. 32060, 32069, 32078, 32086,
  159. 32095, 32103, 32111, 32120,
  160. 32128, 32136, 32144, 32151,
  161. 32159, 32167, 32174, 32182,
  162. 32189, 32196, 32203, 32210,
  163. 32217, 32224, 32231, 32238,
  164. 32244, 32251, 32257, 32264,
  165. 32270, 32276, 32282, 32288,
  166. 32294, 32300, 32306, 32312,
  167. 32318, 32323, 32329, 32334,
  168. 32340, 32345, 32350, 32356,
  169. 32361, 32366, 32371, 32376,
  170. 32381, 32386, 32390, 32395,
  171. 32400, 32404, 32409, 32413,
  172. 32418, 32422, 32427, 32431,
  173. 32435, 32439, 32443, 32447,
  174. 32451, 32455, 32459, 32463,
  175. 32467, 32471, 32475, 32478,
  176. 32482, 32485, 32489, 32492,
  177. 32496, 32499, 32503, 32506,
  178. 32509, 32513, 32516, 32519,
  179. 32522, 32525, 32528, 32531,
  180. 32534, 32537, 32540, 32543,
  181. 32546, 32548, 32551, 32554,
  182. 32557, 32559, 32562, 32564,
  183. 32567, 32569, 32572, 32574,
  184. 32577, 32579, 32582, 32584,
  185. 32586, 32588, 32591, 32593,
  186. 32595, 32597, 32599, 32602,
  187. 32604, 32606, 32608, 32610,
  188. 32612, 32614, 32616, 32618,
  189. 32619, 32621, 32623, 32625,
  190. 32627, 32628, 32630, 32632,
  191. 32634, 32635, 32637, 32639,
  192. 32640, 32642, 32643, 32645,
  193. 32647, 32648, 32650, 32651,
  194. 32652, 32654, 32655, 32657,
  195. 32658, 32660, 32661, 32662,
  196. 32664, 32665, 32666, 32667,
  197. 32669, 32670, 32671, 32672,
  198. 32674, 32675, 32676, 32677,
  199. 32678, 32679, 32680, 32682,
  200. 32683, 32684, 32685, 32686,
  201. 32687, 32688, 32689, 32690,
  202. 32691, 32692, 32693, 32694,
  203. 32695, 32695, 32696, 32697,
  204. 32698, 32699, 32700, 32701,
  205. 32702, 32702, 32703, 32704,
  206. 32705, 32706, 32706, 32707,
  207. 32708, 32709, 32709, 32710,
  208. 32711, 32712, 32712, 32713,
  209. 32714, 32714, 32715, 32716,
  210. 32716, 32717, 32718, 32718,
  211. 32719, 32719, 32720, 32721,
  212. 32721, 32722, 32722, 32723,
  213. 32723, 32724, 32725, 32725,
  214. 32726, 32726, 32727, 32727,
  215. 32728, 32728, 32729, 32729,
  216. 32730, 32730, 32731, 32731,
  217. 32731, 32732, 32732, 32733,
  218. 32733, 32734, 32734, 32735,
  219. 32735, 32735, 32736, 32736,
  220. 32737, 32737, 32737, 32738,
  221. 32738, 32738, 32739, 32739,
  222. 32739, 32740, 32740, 32741,
  223. 32741, 32741, 32742, 32742,
  224. 32742, 32742, 32743, 32743,
  225. 32743, 32744, 32744, 32744,
  226. 32745, 32745, 32745, 32745,
  227. 32746, 32746, 32746, 32747,
  228. 32747, 32747, 32747, 32748,
  229. 32748, 32748, 32748, 32749,
  230. 32749, 32749, 32749, 32749,
  231. 32750, 32750, 32750, 32750,
  232. 32751, 32751, 32751, 32751,
  233. 32751, 32752, 32752, 32752,
  234. 32752, 32752, 32753, 32753,
  235. 32753, 32753, 32753, 32753,
  236. 32754, 32754, 32754, 32754,
  237. 32754, 32754, 32755, 32755,
  238. 32755, 32755, 32755, 32755,
  239. 32756, 32756, 32756, 32756,
  240. 32756, 32756, 32756, 32757,
  241. 32757, 32757, 32757, 32757,
  242. 32757, 32757, 32757, 32758,
  243. 32758, 32758, 32758, 32758,
  244. 32758, 32758, 32758, 32758,
  245. 32759, 32759, 32759, 32759,
  246. 32759, 32759, 32759, 32759,
  247. 32759, 32760, 32760, 32760,
  248. 32760, 32760, 32760, 32760,
  249. 32760, 32760, 32760, 32760,
  250. 32761, 32761, 32761, 32761,
  251. 32761, 32761, 32761, 32761,
  252. 32761, 32761, 32761, 32761,
  253. 32761, 32762, 32762, 32762,
  254. 32762, 32762, 32762, 32762,
  255. 32762, 32762, 32762, 32762,
  256. 32762, 32762, 32762, 32762,
  257. 32763, 32763, 32763, 32763,
  258. 32763, 32763, 32763, 32763,
  259. 32763, 32763, 32763, 32763,
  260. 32763, 32763, 32763, 32763,
  261. 32763, 32763, 32763, 32764,
  262. 32764, 32764, 32764, 32764,
  263. 32764, 32764, 32764, 32764,
  264. 32764, 32764, 32764, 32764,
  265. 32764, 32764, 32764, 32764,
  266. 32764, 32764, 32764, 32764,
  267. 32764, 32764, 32764, 32765,
  268. 32765, 32765, 32765, 32765,
  269. 32765, 32765, 32765, 32765,
  270. 32765, 32765, 32765, 32765,
  271. 32765, 32765, 32765, 32765,
  272. 32765, 32765, 32765, 32765,
  273. 32765, 32765, 32765, 32765,
  274. 32765, 32765, 32765, 32765,
  275. 32765, 32765, 32765, 32765,
  276. 32765, 32765, 32765, 32765,
  277. 32766, 32766, 32766, 32766,
  278. 32766, 32766, 32766, 32766,
  279. 32766, 32766, 32766, 32766,
  280. 32766, 32766, 32766, 32766,
  281. 32766, 32766, 32766, 32766,
  282. 32766, 32766, 32766, 32766,
  283. 32766, 32766, 32766, 32766,
  284. 32766, 32766, 32766, 32766,
  285. 32766, 32766, 32766, 32766,
  286. 32766, 32766, 32766, 32766,
  287. 32766, 32766, 32766, 32766,
  288. 32766, 32766, 32766, 32766,
  289. 32766, 32766, 32766, 32766,
  290. 32766, 32766, 32766, 32766,
  291. 32766, 32766, 32766, 32766,
  292. 32766, 32766, 32766, 32766,
  293. 32766, 32766, 32766, 32766,
  294. 32767,
  295. };
  296. const int16_t wav_db[] = {
  297. -32768, -32768, -24576, -19783,
  298. -16384, -13746, -11591, -9770,
  299. -8192, -6799, -5554, -4428,
  300. -3399, -2453, -1578, -762,
  301. 0, 716, 1392, 2031,
  302. 2637, 3213, 3763, 4289,
  303. 4792, 5274, 5738, 6184,
  304. 6613, 7028, 7429, 7816,
  305. 8192, 8555, 8908, 9251,
  306. 9584, 9907, 10223, 10530,
  307. 10829, 11121, 11405, 11683,
  308. 11955, 12221, 12481, 12735,
  309. 12984, 13227, 13466, 13700,
  310. 13930, 14155, 14376, 14592,
  311. 14805, 15015, 15220, 15422,
  312. 15621, 15816, 16008, 16197,
  313. 16384, 16567, 16747, 16925,
  314. 17100, 17273, 17443, 17610,
  315. 17776, 17939, 18099, 18258,
  316. 18415, 18569, 18722, 18872,
  317. 19021, 19168, 19313, 19456,
  318. 19597, 19737, 19875, 20012,
  319. 20147, 20281, 20413, 20543,
  320. 20673, 20800, 20927, 21052,
  321. 21176, 21298, 21419, 21539,
  322. 21658, 21776, 21892, 22007,
  323. 22122, 22235, 22347, 22458,
  324. 22568, 22676, 22784, 22891,
  325. 22997, 23102, 23207, 23310,
  326. 23412, 23514, 23614, 23714,
  327. 23813, 23911, 24008, 24105,
  328. 24200, 24295, 24389, 24483,
  329. 24576, 24667, 24759, 24849,
  330. 24939, 25028, 25117, 25205,
  331. 25292, 25379, 25465, 25550,
  332. 25635, 25719, 25802, 25885,
  333. 25968, 26049, 26131, 26211,
  334. 26291, 26371, 26450, 26529,
  335. 26607, 26684, 26761, 26838,
  336. 26914, 26989, 27064, 27139,
  337. 27213, 27286, 27360, 27432,
  338. 27505, 27576, 27648, 27719,
  339. 27789, 27860, 27929, 27999,
  340. 28067, 28136, 28204, 28272,
  341. 28339, 28406, 28473, 28539,
  342. 28605, 28670, 28735, 28800,
  343. 28865, 28929, 28992, 29056,
  344. 29119, 29181, 29244, 29306,
  345. 29368, 29429, 29490, 29551,
  346. 29611, 29671, 29731, 29791,
  347. 29850, 29909, 29968, 30026,
  348. 30084, 30142, 30199, 30257,
  349. 30314, 30370, 30427, 30483,
  350. 30539, 30594, 30650, 30705,
  351. 30760, 30814, 30868, 30923,
  352. 30976, 31030, 31083, 31136,
  353. 31189, 31242, 31294, 31347,
  354. 31399, 31450, 31502, 31553,
  355. 31604, 31655, 31706, 31756,
  356. 31806, 31856, 31906, 31955,
  357. 32005, 32054, 32103, 32152,
  358. 32200, 32248, 32297, 32345,
  359. 32392, 32440, 32487, 32534,
  360. 32581, 32628, 32675, 32721,
  361. 32721,
  362. };
  363. const int16_t* waveforms_table[] = {
  364. wav_gompertz,
  365. wav_db,
  366. };
  367. const uint16_t lut_env_linear[] = {
  368. 0, 257, 514, 771,
  369. 1028, 1285, 1542, 1799,
  370. 2056, 2313, 2570, 2827,
  371. 3084, 3341, 3598, 3855,
  372. 4112, 4369, 4626, 4883,
  373. 5140, 5397, 5654, 5911,
  374. 6168, 6425, 6682, 6939,
  375. 7196, 7453, 7710, 7967,
  376. 8224, 8481, 8738, 8995,
  377. 9252, 9509, 9766, 10023,
  378. 10280, 10537, 10794, 11051,
  379. 11308, 11565, 11822, 12079,
  380. 12336, 12593, 12850, 13107,
  381. 13364, 13621, 13878, 14135,
  382. 14392, 14649, 14906, 15163,
  383. 15420, 15677, 15934, 16191,
  384. 16448, 16705, 16962, 17219,
  385. 17476, 17733, 17990, 18247,
  386. 18504, 18761, 19018, 19275,
  387. 19532, 19789, 20046, 20303,
  388. 20560, 20817, 21074, 21331,
  389. 21588, 21845, 22102, 22359,
  390. 22616, 22873, 23130, 23387,
  391. 23644, 23901, 24158, 24415,
  392. 24672, 24929, 25186, 25443,
  393. 25700, 25957, 26214, 26471,
  394. 26728, 26985, 27242, 27499,
  395. 27756, 28013, 28270, 28527,
  396. 28784, 29041, 29298, 29555,
  397. 29812, 30069, 30326, 30583,
  398. 30840, 31097, 31354, 31611,
  399. 31868, 32125, 32382, 32639,
  400. 32896, 33153, 33410, 33667,
  401. 33924, 34181, 34438, 34695,
  402. 34952, 35209, 35466, 35723,
  403. 35980, 36237, 36494, 36751,
  404. 37008, 37265, 37522, 37779,
  405. 38036, 38293, 38550, 38807,
  406. 39064, 39321, 39578, 39835,
  407. 40092, 40349, 40606, 40863,
  408. 41120, 41377, 41634, 41891,
  409. 42148, 42405, 42662, 42919,
  410. 43176, 43433, 43690, 43947,
  411. 44204, 44461, 44718, 44975,
  412. 45232, 45489, 45746, 46003,
  413. 46260, 46517, 46774, 47031,
  414. 47288, 47545, 47802, 48059,
  415. 48316, 48573, 48830, 49087,
  416. 49344, 49601, 49858, 50115,
  417. 50372, 50629, 50886, 51143,
  418. 51400, 51657, 51914, 52171,
  419. 52428, 52685, 52942, 53199,
  420. 53456, 53713, 53970, 54227,
  421. 54484, 54741, 54998, 55255,
  422. 55512, 55769, 56026, 56283,
  423. 56540, 56797, 57054, 57311,
  424. 57568, 57825, 58082, 58339,
  425. 58596, 58853, 59110, 59367,
  426. 59624, 59881, 60138, 60395,
  427. 60652, 60909, 61166, 61423,
  428. 61680, 61937, 62194, 62451,
  429. 62708, 62965, 63222, 63479,
  430. 63736, 63993, 64250, 64507,
  431. 64764, 65021, 65278, 65535,
  432. 65535,
  433. };
  434. const uint16_t lut_env_expo[] = {
  435. 0, 1035, 2054, 3057,
  436. 4045, 5018, 5975, 6918,
  437. 7846, 8760, 9659, 10545,
  438. 11416, 12275, 13120, 13952,
  439. 14771, 15577, 16371, 17152,
  440. 17921, 18679, 19425, 20159,
  441. 20881, 21593, 22294, 22983,
  442. 23662, 24331, 24989, 25637,
  443. 26274, 26902, 27520, 28129,
  444. 28728, 29318, 29899, 30471,
  445. 31034, 31588, 32133, 32670,
  446. 33199, 33720, 34232, 34737,
  447. 35233, 35722, 36204, 36678,
  448. 37145, 37604, 38056, 38502,
  449. 38940, 39371, 39796, 40215,
  450. 40626, 41032, 41431, 41824,
  451. 42211, 42592, 42967, 43336,
  452. 43699, 44057, 44409, 44756,
  453. 45097, 45434, 45764, 46090,
  454. 46411, 46727, 47037, 47344,
  455. 47645, 47941, 48233, 48521,
  456. 48804, 49083, 49357, 49627,
  457. 49893, 50155, 50412, 50666,
  458. 50916, 51162, 51404, 51642,
  459. 51877, 52108, 52335, 52559,
  460. 52780, 52997, 53210, 53421,
  461. 53628, 53831, 54032, 54230,
  462. 54424, 54616, 54804, 54990,
  463. 55173, 55353, 55530, 55704,
  464. 55876, 56045, 56211, 56375,
  465. 56536, 56695, 56851, 57005,
  466. 57157, 57306, 57453, 57597,
  467. 57740, 57880, 58018, 58153,
  468. 58287, 58419, 58548, 58676,
  469. 58801, 58925, 59047, 59167,
  470. 59285, 59401, 59515, 59628,
  471. 59739, 59848, 59955, 60061,
  472. 60165, 60267, 60368, 60468,
  473. 60566, 60662, 60757, 60850,
  474. 60942, 61032, 61121, 61209,
  475. 61295, 61380, 61464, 61546,
  476. 61628, 61707, 61786, 61863,
  477. 61939, 62014, 62088, 62161,
  478. 62233, 62303, 62372, 62441,
  479. 62508, 62574, 62639, 62703,
  480. 62767, 62829, 62890, 62950,
  481. 63010, 63068, 63125, 63182,
  482. 63238, 63293, 63347, 63400,
  483. 63452, 63504, 63554, 63604,
  484. 63654, 63702, 63750, 63797,
  485. 63843, 63888, 63933, 63977,
  486. 64021, 64063, 64105, 64147,
  487. 64188, 64228, 64267, 64306,
  488. 64344, 64382, 64419, 64456,
  489. 64492, 64527, 64562, 64596,
  490. 64630, 64664, 64696, 64729,
  491. 64760, 64792, 64822, 64853,
  492. 64883, 64912, 64941, 64969,
  493. 64997, 65025, 65052, 65079,
  494. 65105, 65131, 65157, 65182,
  495. 65206, 65231, 65255, 65278,
  496. 65302, 65324, 65347, 65369,
  497. 65391, 65412, 65434, 65454,
  498. 65475, 65495, 65515, 65535,
  499. 65535,
  500. };
  501. const uint16_t lut_env_quartic[] = {
  502. 0, 0, 0, 0,
  503. 0, 0, 0, 0,
  504. 0, 0, 1, 1,
  505. 2, 3, 4, 5,
  506. 6, 8, 9, 11,
  507. 14, 16, 19, 22,
  508. 25, 29, 33, 37,
  509. 42, 48, 53, 59,
  510. 66, 73, 81, 89,
  511. 98, 107, 117, 128,
  512. 139, 151, 164, 177,
  513. 191, 206, 222, 238,
  514. 256, 274, 293, 313,
  515. 334, 355, 378, 402,
  516. 427, 453, 480, 508,
  517. 537, 567, 599, 631,
  518. 665, 700, 737, 775,
  519. 814, 854, 896, 939,
  520. 984, 1030, 1077, 1127,
  521. 1177, 1230, 1283, 1339,
  522. 1396, 1455, 1515, 1577,
  523. 1641, 1707, 1775, 1844,
  524. 1916, 1989, 2064, 2141,
  525. 2220, 2302, 2385, 2470,
  526. 2557, 2647, 2739, 2833,
  527. 2929, 3027, 3128, 3231,
  528. 3336, 3444, 3554, 3667,
  529. 3782, 3899, 4019, 4142,
  530. 4267, 4395, 4525, 4658,
  531. 4794, 4933, 5074, 5218,
  532. 5365, 5515, 5668, 5824,
  533. 5983, 6144, 6309, 6477,
  534. 6648, 6822, 6999, 7179,
  535. 7363, 7550, 7740, 7933,
  536. 8130, 8330, 8534, 8741,
  537. 8951, 9165, 9383, 9604,
  538. 9829, 10057, 10289, 10525,
  539. 10765, 11008, 11255, 11507,
  540. 11761, 12020, 12283, 12550,
  541. 12821, 13096, 13375, 13658,
  542. 13945, 14237, 14532, 14832,
  543. 15137, 15445, 15758, 16076,
  544. 16397, 16724, 17054, 17390,
  545. 17730, 18074, 18423, 18777,
  546. 19136, 19499, 19868, 20241,
  547. 20618, 21001, 21389, 21781,
  548. 22179, 22582, 22990, 23403,
  549. 23821, 24244, 24672, 25106,
  550. 25545, 25990, 26440, 26895,
  551. 27355, 27821, 28293, 28770,
  552. 29253, 29742, 30236, 30735,
  553. 31241, 31752, 32270, 32793,
  554. 33321, 33856, 34397, 34944,
  555. 35497, 36056, 36621, 37192,
  556. 37769, 38353, 38943, 39539,
  557. 40142, 40751, 41366, 41988,
  558. 42617, 43251, 43893, 44541,
  559. 45196, 45857, 46526, 47201,
  560. 47882, 48571, 49267, 49969,
  561. 50678, 51395, 52118, 52849,
  562. 53587, 54332, 55084, 55843,
  563. 56610, 57384, 58165, 58954,
  564. 59750, 60553, 61364, 62183,
  565. 63010, 63843, 64685, 65535,
  566. 65535,
  567. };
  568. const uint16_t lut_square_root[] = {
  569. 0, 4095, 5792, 7094,
  570. 8191, 9158, 10032, 10836,
  571. 11585, 12287, 12952, 13584,
  572. 14188, 14768, 15325, 15863,
  573. 16383, 16887, 17377, 17853,
  574. 18317, 18769, 19211, 19643,
  575. 20065, 20479, 20885, 21283,
  576. 21673, 22057, 22434, 22805,
  577. 23170, 23529, 23883, 24231,
  578. 24575, 24914, 25249, 25579,
  579. 25904, 26226, 26544, 26858,
  580. 27169, 27476, 27779, 28080,
  581. 28377, 28671, 28962, 29250,
  582. 29536, 29818, 30098, 30376,
  583. 30651, 30923, 31193, 31461,
  584. 31726, 31990, 32251, 32510,
  585. 32767, 33022, 33275, 33526,
  586. 33775, 34023, 34269, 34512,
  587. 34755, 34995, 35234, 35471,
  588. 35707, 35941, 36174, 36405,
  589. 36635, 36863, 37090, 37315,
  590. 37539, 37762, 37984, 38204,
  591. 38423, 38640, 38857, 39072,
  592. 39286, 39499, 39711, 39922,
  593. 40131, 40340, 40547, 40754,
  594. 40959, 41163, 41366, 41569,
  595. 41770, 41970, 42170, 42368,
  596. 42566, 42762, 42958, 43153,
  597. 43347, 43540, 43732, 43924,
  598. 44114, 44304, 44493, 44681,
  599. 44868, 45055, 45241, 45426,
  600. 45610, 45793, 45976, 46158,
  601. 46340, 46520, 46700, 46880,
  602. 47058, 47236, 47413, 47590,
  603. 47766, 47941, 48116, 48290,
  604. 48463, 48636, 48808, 48980,
  605. 49151, 49321, 49491, 49660,
  606. 49829, 49997, 50164, 50331,
  607. 50498, 50663, 50829, 50994,
  608. 51158, 51321, 51485, 51647,
  609. 51809, 51971, 52132, 52293,
  610. 52453, 52613, 52772, 52931,
  611. 53089, 53247, 53404, 53561,
  612. 53717, 53873, 54029, 54184,
  613. 54338, 54492, 54646, 54799,
  614. 54952, 55105, 55257, 55408,
  615. 55559, 55710, 55861, 56011,
  616. 56160, 56309, 56458, 56606,
  617. 56754, 56902, 57049, 57196,
  618. 57343, 57489, 57634, 57780,
  619. 57925, 58069, 58214, 58358,
  620. 58501, 58644, 58787, 58930,
  621. 59072, 59214, 59355, 59496,
  622. 59637, 59778, 59918, 60058,
  623. 60197, 60336, 60475, 60614,
  624. 60752, 60890, 61028, 61165,
  625. 61302, 61439, 61575, 61711,
  626. 61847, 61982, 62117, 62252,
  627. 62387, 62521, 62655, 62789,
  628. 62922, 63056, 63189, 63321,
  629. 63453, 63586, 63717, 63849,
  630. 63980, 64111, 64242, 64372,
  631. 64502, 64632, 64762, 64891,
  632. 65020, 65149, 65278, 65406,
  633. 65406,
  634. };
  635. const uint16_t lut_svf_cutoff[] = {
  636. 54, 57, 60, 64,
  637. 68, 72, 76, 81,
  638. 85, 91, 96, 102,
  639. 108, 114, 121, 128,
  640. 136, 144, 153, 162,
  641. 171, 182, 192, 204,
  642. 216, 229, 243, 257,
  643. 272, 289, 306, 324,
  644. 343, 364, 385, 408,
  645. 433, 458, 486, 515,
  646. 545, 578, 612, 648,
  647. 687, 728, 771, 817,
  648. 866, 917, 972, 1030,
  649. 1091, 1156, 1225, 1297,
  650. 1375, 1456, 1543, 1635,
  651. 1732, 1835, 1944, 2060,
  652. 2182, 2312, 2449, 2595,
  653. 2749, 2912, 3085, 3269,
  654. 3463, 3669, 3887, 4118,
  655. 4362, 4621, 4895, 5186,
  656. 5494, 5819, 6165, 6530,
  657. 6917, 7327, 7760, 8219,
  658. 8705, 9220, 9764, 10340,
  659. 10949, 11593, 12275, 12995,
  660. 13757, 14562, 15412, 16309,
  661. 17257, 18256, 19310, 20421,
  662. 21591, 22822, 24116, 25078,
  663. 25078, 25078, 25078, 25078,
  664. 25078, 25078, 25078, 25078,
  665. 25078, 25078, 25078, 25078,
  666. 25078, 25078, 25078, 25078,
  667. 25078, 25078, 25078, 25078,
  668. 25078, 25078, 25078, 25078,
  669. 25078, 25078, 25078, 25078,
  670. 25078, 25078, 25078, 25078,
  671. 25078, 25078, 25078, 25078,
  672. 25078, 25078, 25078, 25078,
  673. 25078, 25078, 25078, 25078,
  674. 25078, 25078, 25078, 25078,
  675. 25078, 25078, 25078, 25078,
  676. 25078, 25078, 25078, 25078,
  677. 25078, 25078, 25078, 25078,
  678. 25078, 25078, 25078, 25078,
  679. 25078, 25078, 25078, 25078,
  680. 25078, 25078, 25078, 25078,
  681. 25078, 25078, 25078, 25078,
  682. 25078, 25078, 25078, 25078,
  683. 25078, 25078, 25078, 25078,
  684. 25078, 25078, 25078, 25078,
  685. 25078, 25078, 25078, 25078,
  686. 25078, 25078, 25078, 25078,
  687. 25078, 25078, 25078, 25078,
  688. 25078, 25078, 25078, 25078,
  689. 25078, 25078, 25078, 25078,
  690. 25078, 25078, 25078, 25078,
  691. 25078, 25078, 25078, 25078,
  692. 25078, 25078, 25078, 25078,
  693. 25078, 25078, 25078, 25078,
  694. 25078, 25078, 25078, 25078,
  695. 25078, 25078, 25078, 25078,
  696. 25078, 25078, 25078, 25078,
  697. 25078, 25078, 25078, 25078,
  698. 25078, 25078, 25078, 25078,
  699. 25078, 25078, 25078, 25078,
  700. 25078,
  701. };
  702. const uint16_t lut_svf_damp[] = {
  703. 65534, 49166, 46069, 43993,
  704. 42386, 41058, 39917, 38910,
  705. 38007, 37184, 36427, 35726,
  706. 35070, 34454, 33873, 33322,
  707. 32798, 32299, 31820, 31361,
  708. 30920, 30496, 30086, 29690,
  709. 29306, 28935, 28574, 28224,
  710. 27883, 27551, 27228, 26912,
  711. 26605, 26304, 26010, 25723,
  712. 25441, 25166, 24896, 24631,
  713. 24371, 24116, 23866, 23620,
  714. 23379, 23141, 22908, 22678,
  715. 22452, 22229, 22010, 21794,
  716. 21581, 21371, 21164, 20960,
  717. 20759, 20560, 20365, 20171,
  718. 19980, 19791, 19605, 19421,
  719. 19239, 19059, 18882, 18706,
  720. 18532, 18360, 18190, 18022,
  721. 17856, 17691, 17528, 17367,
  722. 17207, 17049, 16892, 16737,
  723. 16583, 16431, 16280, 16131,
  724. 15982, 15836, 15690, 15546,
  725. 15403, 15261, 15120, 14981,
  726. 14843, 14705, 14569, 14434,
  727. 14300, 14167, 14036, 13905,
  728. 13775, 13646, 13518, 13391,
  729. 13265, 13140, 13015, 12892,
  730. 12769, 12648, 12527, 12407,
  731. 12287, 12169, 12051, 11934,
  732. 11818, 11703, 11588, 11474,
  733. 11361, 11249, 11137, 11026,
  734. 10915, 10805, 10696, 10588,
  735. 10480, 10373, 10266, 10160,
  736. 10055, 9950, 9846, 9742,
  737. 9639, 9537, 9435, 9333,
  738. 9233, 9132, 9033, 8933,
  739. 8835, 8737, 8639, 8542,
  740. 8445, 8349, 8253, 8158,
  741. 8063, 7969, 7875, 7782,
  742. 7689, 7596, 7504, 7413,
  743. 7321, 7231, 7140, 7050,
  744. 6961, 6872, 6783, 6695,
  745. 6607, 6519, 6432, 6346,
  746. 6259, 6173, 6088, 6003,
  747. 5918, 5833, 5749, 5665,
  748. 5582, 5499, 5416, 5334,
  749. 5251, 5170, 5088, 5007,
  750. 4926, 4846, 4766, 4686,
  751. 4607, 4527, 4449, 4370,
  752. 4292, 4214, 4136, 4059,
  753. 3982, 3905, 3828, 3752,
  754. 3676, 3601, 3525, 3450,
  755. 3375, 3301, 3226, 3152,
  756. 3078, 3005, 2932, 2859,
  757. 2786, 2713, 2641, 2569,
  758. 2497, 2426, 2355, 2284,
  759. 2213, 2142, 2072, 2002,
  760. 1932, 1862, 1793, 1724,
  761. 1655, 1586, 1518, 1449,
  762. 1381, 1313, 1246, 1178,
  763. 1111, 1044, 977, 911,
  764. 844, 778, 712, 647,
  765. 581, 516, 450, 385,
  766. 321, 256, 192, 127,
  767. 63,
  768. };
  769. const uint16_t lut_2164_gain[] = {
  770. 32767, 31340, 29975, 28670,
  771. 27421, 26227, 25085, 23993,
  772. 22948, 21948, 20993, 20078,
  773. 19204, 18368, 17568, 16803,
  774. 16071, 15371, 14702, 14062,
  775. 13449, 12864, 12303, 11768,
  776. 11255, 10765, 10296, 9848,
  777. 9419, 9009, 8617, 8241,
  778. 7882, 7539, 7211, 6897,
  779. 6596, 6309, 6034, 5772,
  780. 5520, 5280, 5050, 4830,
  781. 4620, 4418, 4226, 4042,
  782. 3866, 3698, 3537, 3383,
  783. 3235, 3094, 2960, 2831,
  784. 2707, 2589, 2477, 2369,
  785. 2266, 2167, 2073, 1982,
  786. 1896, 1813, 1734, 1659,
  787. 1587, 1517, 1451, 1388,
  788. 1328, 1270, 1215, 1162,
  789. 1111, 1063, 1016, 972,
  790. 930, 889, 850, 813,
  791. 778, 744, 712, 681,
  792. 651, 623, 595, 569,
  793. 545, 521, 498, 477,
  794. 456, 436, 417, 399,
  795. 381, 365, 349, 334,
  796. 319, 305, 292, 279,
  797. 267, 255, 244, 233,
  798. 223, 214, 204, 195,
  799. 187, 179, 171, 163,
  800. 156, 149, 143, 137,
  801. 131, 125, 119, 114,
  802. 109, 104, 100, 96,
  803. 91, 87, 84, 80,
  804. 76, 73, 70, 67,
  805. 64, 61, 58, 56,
  806. 53, 51, 49, 47,
  807. 45, 43, 41, 39,
  808. 37, 36, 34, 32,
  809. 31, 30, 28, 27,
  810. 26, 25, 24, 23,
  811. 22, 21, 20, 19,
  812. 18, 17, 16, 16,
  813. 15, 14, 14, 13,
  814. 12, 12, 11, 11,
  815. 10, 10, 9, 9,
  816. 9, 8, 8, 7,
  817. 7, 7, 6, 6,
  818. 6, 6, 5, 5,
  819. 5, 5, 4, 4,
  820. 4, 4, 4, 3,
  821. 3, 3, 3, 3,
  822. 3, 2, 2, 2,
  823. 2, 2, 2, 2,
  824. 2, 2, 1, 1,
  825. 1, 1, 1, 1,
  826. 1, 1, 1, 1,
  827. 1, 1, 1, 1,
  828. 1, 1, 0, 0,
  829. 0, 0, 0, 0,
  830. 0, 0, 0, 0,
  831. 0, 0, 0, 0,
  832. 0, 0, 0, 0,
  833. 0, 0, 0, 0,
  834. 0,
  835. };
  836. const uint16_t lut_compressor_ratio[] = {
  837. 256, 255, 255, 255,
  838. 254, 253, 252, 251,
  839. 250, 248, 246, 245,
  840. 243, 241, 238, 236,
  841. 234, 231, 228, 226,
  842. 223, 220, 217, 214,
  843. 211, 208, 205, 202,
  844. 198, 195, 192, 189,
  845. 186, 183, 179, 176,
  846. 173, 170, 167, 164,
  847. 161, 158, 155, 152,
  848. 149, 146, 144, 141,
  849. 138, 136, 133, 131,
  850. 128, 126, 123, 121,
  851. 119, 116, 114, 112,
  852. 110, 108, 106, 104,
  853. 102, 100, 98, 96,
  854. 95, 93, 91, 89,
  855. 88, 86, 85, 83,
  856. 82, 80, 79, 77,
  857. 76, 75, 73, 72,
  858. 71, 70, 69, 67,
  859. 66, 65, 64, 63,
  860. 62, 61, 60, 59,
  861. 58, 57, 56, 55,
  862. 54, 54, 53, 52,
  863. 51, 50, 50, 49,
  864. 48, 47, 47, 46,
  865. 45, 45, 44, 43,
  866. 43, 42, 41, 41,
  867. 40, 40, 39, 39,
  868. 38, 38, 37, 37,
  869. 36, 36, 35, 35,
  870. 34, 34, 33, 33,
  871. 32, 32, 32, 31,
  872. 31, 30, 30, 30,
  873. 29, 29, 29, 28,
  874. 28, 28, 27, 27,
  875. 27, 26, 26, 26,
  876. 25, 25, 25, 24,
  877. 24, 24, 24, 23,
  878. 23, 23, 23, 22,
  879. 22, 22, 22, 21,
  880. 21, 21, 21, 20,
  881. 20, 20, 20, 20,
  882. 19, 19, 19, 19,
  883. 19, 18, 18, 18,
  884. 18, 18, 18, 17,
  885. 17, 17, 17, 17,
  886. 16, 16, 16, 16,
  887. 16, 16, 16, 15,
  888. 15, 15, 15, 15,
  889. 15, 15, 14, 14,
  890. 14, 14, 14, 14,
  891. 14, 14, 13, 13,
  892. 13, 13, 13, 13,
  893. 13, 13, 12, 12,
  894. 12, 12, 12, 12,
  895. 12, 12, 12, 12,
  896. 11, 11, 11, 11,
  897. 11, 11, 11, 11,
  898. 11, 11, 11, 10,
  899. 10, 10, 10, 10,
  900. 10, 10, 10, 10,
  901. 10,
  902. };
  903. const uint16_t lut_soft_knee[] = {
  904. 0, 0, 0, 0,
  905. 0, 0, 0, 1,
  906. 1, 2, 3, 5,
  907. 6, 8, 10, 13,
  908. 15, 19, 22, 26,
  909. 31, 36, 41, 47,
  910. 53, 61, 68, 76,
  911. 85, 95, 105, 116,
  912. 127, 140, 153, 167,
  913. 182, 197, 214, 231,
  914. 249, 269, 289, 310,
  915. 332, 355, 380, 405,
  916. 431, 459, 488, 518,
  917. 549, 581, 615, 649,
  918. 685, 723, 762, 802,
  919. 843, 886, 930, 976,
  920. 1023, 1072, 1123, 1174,
  921. 1228, 1283, 1339, 1398,
  922. 1457, 1519, 1582, 1647,
  923. 1714, 1783, 1853, 1925,
  924. 1999, 2075, 2153, 2233,
  925. 2315, 2398, 2484, 2572,
  926. 2661, 2753, 2847, 2943,
  927. 3041, 3141, 3244, 3349,
  928. 3455, 3565, 3676, 3790,
  929. 3906, 4024, 4145, 4268,
  930. 4393, 4521, 4652, 4785,
  931. 4920, 5058, 5199, 5342,
  932. 5487, 5636, 5787, 5940,
  933. 6097, 6256, 6417, 6582,
  934. 6749, 6920, 7093, 7268,
  935. 7447, 7629, 7813, 8001,
  936. 8191, 8385, 8581, 8781,
  937. 8984, 9189, 9398, 9610,
  938. 9825, 10044, 10265, 10490,
  939. 10718, 10949, 11184, 11422,
  940. 11663, 11908, 12156, 12408,
  941. 12663, 12921, 13183, 13448,
  942. 13717, 13990, 14266, 14546,
  943. 14829, 15116, 15407, 15701,
  944. 15999, 16301, 16607, 16916,
  945. 17229, 17547, 17868, 18192,
  946. 18521, 18854, 19191, 19531,
  947. 19876, 20225, 20577, 20934,
  948. 21295, 21660, 22029, 22403,
  949. 22780, 23162, 23548, 23939,
  950. 24333, 24732, 25135, 25543,
  951. 25955, 26371, 26792, 27217,
  952. 27647, 28081, 28520, 28963,
  953. 29411, 29864, 30321, 30783,
  954. 31249, 31720, 32196, 32676,
  955. 33162, 33652, 34147, 34646,
  956. 35151, 35660, 36175, 36694,
  957. 37218, 37747, 38282, 38821,
  958. 39365, 39914, 40469, 41028,
  959. 41593, 42162, 42737, 43317,
  960. 43903, 44493, 45089, 45691,
  961. 46297, 46909, 47526, 48149,
  962. 48777, 49410, 50049, 50694,
  963. 51343, 51999, 52660, 53326,
  964. 53999, 54676, 55360, 56049,
  965. 56744, 57444, 58151, 58863,
  966. 59581, 60304, 61034, 61769,
  967. 62510, 63257, 64010, 64770,
  968. 65535,
  969. };
  970. const uint16_t* lookup_table_table[] = {
  971. lut_env_linear,
  972. lut_env_expo,
  973. lut_env_quartic,
  974. lut_square_root,
  975. lut_svf_cutoff,
  976. lut_svf_damp,
  977. lut_2164_gain,
  978. lut_compressor_ratio,
  979. lut_soft_knee,
  980. };
  981. const uint32_t lut_env_increments[] = {
  982. 276301411, 231949934, 196150997, 166999666,
  983. 143068141, 123273939, 106787653, 92967541,
  984. 81312526, 71428035, 63000899, 55780710,
  985. 49565850, 44192924, 39528695, 35463892,
  986. 31908401, 28787528, 26039050, 23610894,
  987. 21459288, 19547282, 17843559, 16321476,
  988. 14958281, 13734481, 12633316, 11640330,
  989. 10743016, 9930523, 9193410, 8523437,
  990. 7913397, 7356972, 6848604, 6383397,
  991. 5957029, 5565672, 5205932, 4874792,
  992. 4569569, 4287864, 4027536, 3786669,
  993. 3563542, 3356609, 3164482, 2985906,
  994. 2819752, 2664995, 2520711, 2386061,
  995. 2260283, 2142684, 2032635, 1929561,
  996. 1832939, 1742290, 1657176, 1577196,
  997. 1501984, 1431202, 1364541, 1301717,
  998. 1242466, 1186549, 1133742, 1083841,
  999. 1036655, 992009, 949741, 909701,
  1000. 871748, 835755, 801600, 769172,
  1001. 738367, 709089, 681248, 654760,
  1002. 629547, 605536, 582659, 560852,
  1003. 540056, 520215, 501277, 483193,
  1004. 465917, 449406, 433620, 418521,
  1005. 404074, 390245, 377002, 364316,
  1006. 352160, 340506, 329331, 318610,
  1007. 308322, 298445, 288962, 279851,
  1008. 271097, 262683, 254593, 246811,
  1009. 239325, 232121, 225185, 218507,
  1010. 212074, 205876, 199903, 194146,
  1011. 188594, 183239, 178072, 173087,
  1012. 168275, 163628, 159142, 154807,
  1013. 150620, 146573, 142661, 138879,
  1014. 135221, 131683, 128260, 124947,
  1015. 121741, 118636, 115630, 112719,
  1016. 109899, 107166, 104518, 101951,
  1017. 99463, 97050, 94709, 92439,
  1018. 90236, 88099, 86025, 84011,
  1019. 82056, 80157, 78313, 76521,
  1020. 74781, 73090, 71446, 69848,
  1021. 68295, 66785, 65316, 63887,
  1022. 62497, 61145, 59829, 58549,
  1023. 57302, 56089, 54907, 53756,
  1024. 52636, 51544, 50480, 49444,
  1025. 48434, 47450, 46491, 45556,
  1026. 44644, 43755, 42888, 42043,
  1027. 41218, 40413, 39628, 38862,
  1028. 38114, 37384, 36671, 35976,
  1029. 35296, 34633, 33985, 33353,
  1030. 32735, 32131, 31541, 30965,
  1031. 30401, 29851, 29313, 28786,
  1032. 28272, 27769, 27277, 26796,
  1033. 26326, 25866, 25416, 24975,
  1034. 24545, 24123, 23710, 23307,
  1035. 22911, 22524, 22146, 21775,
  1036. 21412, 21056, 20708, 20367,
  1037. 20033, 19705, 19385, 19071,
  1038. 18763, 18461, 18166, 17876,
  1039. 17592, 17314, 17041, 16774,
  1040. 16512, 16254, 16002, 15755,
  1041. 15513, 15275, 15041, 14812,
  1042. 14588, 14368, 14151, 13939,
  1043. 13731, 13527, 13326, 13130,
  1044. 12936, 12747, 12561, 12378,
  1045. 12198, 12022, 11849, 11679,
  1046. 11512,
  1047. };
  1048. const uint32_t lut_lp_coefficients[] = {
  1049. 590672516, 319034455, 133800766, 67976239,
  1050. 63327094, 62214607, 61121376, 60047077,
  1051. 58991393, 57954009, 56934619, 55932918,
  1052. 54948609, 53981397, 53030993, 52097114,
  1053. 51179478, 50277811, 49391841, 48521302,
  1054. 47665932, 46825472, 45999668, 45188271,
  1055. 44391035, 43607717, 42838081, 42081892,
  1056. 41338919, 40608937, 39891723, 39187058,
  1057. 38494727, 37814517, 37146221, 36489633,
  1058. 35844551, 35210779, 34588120, 33976383,
  1059. 33375380, 32784926, 32204838, 31634936,
  1060. 31075046, 30524993, 29984607, 29453721,
  1061. 28932170, 28419793, 27916429, 27421923,
  1062. 26936121, 26458872, 25990026, 25529439,
  1063. 25076965, 24632464, 24195797, 23766828,
  1064. 23345422, 22931447, 22524774, 22125276,
  1065. 21732827, 21347304, 20968586, 20596554,
  1066. 20231092, 19872084, 19519417, 19172981,
  1067. 18832666, 18498365, 18169974, 17847387,
  1068. 17530504, 17219225, 16913451, 16613085,
  1069. 16318033, 16028202, 15743500, 15463836,
  1070. 15189122, 14919272, 14654199, 14393820,
  1071. 14138052, 13886814, 13640026, 13397610,
  1072. 13159489, 12925588, 12695832, 12470147,
  1073. 12248464, 12030709, 11816816, 11606715,
  1074. 11400339, 11197623, 10998503, 10802914,
  1075. 10610795, 10422085, 10236722, 10054649,
  1076. 9875806, 9700137, 9527587, 9358098,
  1077. 9191619, 9028094, 8867473, 8709704,
  1078. 8554736, 8402520, 8253007, 8106150,
  1079. 7961901, 7820214, 7681044, 7544346,
  1080. 7410077, 7278193, 7148653, 7021415,
  1081. 6896437, 6773681, 6653106, 6534675,
  1082. 6418348, 6304089, 6191861, 6081629,
  1083. 5973356, 5867008, 5762550, 5659950,
  1084. 5559175, 5460191, 5362968, 5267474,
  1085. 5173678, 5081550, 4991061, 4902182,
  1086. 4814883, 4729137, 4644917, 4562195,
  1087. 4480945, 4401140, 4322755, 4245764,
  1088. 4170144, 4095869, 4022916, 3951261,
  1089. 3880881, 3811754, 3743857, 3677168,
  1090. 3611666, 3547330, 3484139, 3422073,
  1091. 3361112, 3301236, 3242425, 3184662,
  1092. 3127927, 3072202, 3017468, 2963710,
  1093. 2910908, 2859047, 2808109, 2758078,
  1094. 2708937, 2660672, 2613266, 2566704,
  1095. 2520972, 2476054, 2431935, 2388602,
  1096. 2346041, 2304238, 2263180, 2222853,
  1097. 2183243, 2144340, 2106129, 2068599,
  1098. 2031737, 1995532, 1959971, 1925044,
  1099. 1890740, 1857046, 1823952, 1791448,
  1100. 1759523, 1728167, 1697369, 1667120,
  1101. 1637410, 1608229, 1579568, 1551417,
  1102. 1523768, 1496612, 1469939, 1443741,
  1103. 1418011, 1392739, 1367917, 1343537,
  1104. 1319591, 1296073, 1272973, 1250285,
  1105. 1228001, 1206114, 1184617, 1163504,
  1106. 1142766, 1122398, 1102393, 1082744,
  1107. 1063446, 1044491, 1025874, 1007589,
  1108. 989630, 971991, 954666, 937650,
  1109. 920937, 904521, 888399, 872564,
  1110. 857011, 841735, 826731, 811995,
  1111. 797521, 783305, 769343, 755630,
  1112. 742160, 728931, 715938, 703176,
  1113. 690642, 678331, 666240, 654364,
  1114. 642699, 631243, 619991, 608939,
  1115. 598084, 587423, 576952, 566667,
  1116. 556566, 546644, 536900, 527329,
  1117. 517929, 508696, 499628, 490722,
  1118. 481974, 473383, 464944, 456656,
  1119. 448515, 440520, 432667, 424954,
  1120. 417379, 409938, 402631, 395453,
  1121. 388404, 381480, 374679, 368000,
  1122. 361440, 354997, 348668, 342453,
  1123. 336348, 330352, 324463, 318678,
  1124. 312997, 307418, 301937, 296555,
  1125. 291268, 286076, 280976, 275967,
  1126. 271047, 266215, 261469, 256808,
  1127. 252230, 247733, 243317, 238979,
  1128. 234719, 230535, 226425, 222388,
  1129. 218424, 214530, 210705, 206949,
  1130. 203260, 199636, 196077, 192582,
  1131. 189148, 185776, 182465, 179212,
  1132. 176017, 172879, 169797, 166770,
  1133. 163797, 160877, 158009, 155192,
  1134. 152425, 149708, 147039, 144417,
  1135. 141843, 139314, 136830, 134391,
  1136. 131995, 129642, 127331, 125061,
  1137. 122831, 120641, 118491, 116378,
  1138. 114304, 112266, 110264, 108299,
  1139. 106368, 104472, 102609, 100780,
  1140. 98983, 97218, 95485, 93783,
  1141. 92111, 90469, 88856, 87272,
  1142. 85716, 84188, 82687, 81213,
  1143. 79765, 78343, 76946, 75574,
  1144. 74227, 72904, 71604, 70328,
  1145. 69074, 67842, 66633, 65445,
  1146. 64278, 63132, 62007, 60901,
  1147. 59815, 58749, 57702, 56673,
  1148. 55663, 54670, 53696, 52738,
  1149. 51798, 50875, 49968, 49077,
  1150. 48202, 47343, 46498, 45669,
  1151. 44855, 44056, 43270, 42499,
  1152. 41741, 40997, 40266, 39548,
  1153. 38843, 38151, 37470, 36802,
  1154. 36146, 35502, 34869, 34247,
  1155. 33637, 33037, 32448, 31870,
  1156. 31301, 30743, 30195, 29657,
  1157. 29128, 28609, 28099, 27598,
  1158. 27106, 26623, 26148, 25682,
  1159. 25224, 24774, 24332, 23899,
  1160. 23473, 23054, 22643, 22239,
  1161. 21843, 21454, 21071, 20695,
  1162. 20326, 19964, 19608, 19258,
  1163. 18915, 18578, 18247, 17921,
  1164. 17602, 17288, 16980, 16677,
  1165. 16380, 16088, 15801, 15519,
  1166. 15243, 14971, 14704, 14442,
  1167. 14184, 13931, 13683, 13439,
  1168. 13199, 12964, 12733, 12506,
  1169. 12283, 12064, 11849, 11638,
  1170. 11430, 11226, 11026, 10830,
  1171. 10637, 10447, 10261, 10078,
  1172. 9898, 9722, 9548, 9378,
  1173. 9211, 9047, 8885, 8727,
  1174. 8571, 8418, 8268, 8121,
  1175. 7976, 7834, 7694, 7557,
  1176. 7422, 7290, 7160, 7032,
  1177. 6907, 6784, 6663, 6544,
  1178. 6427, 6313, 6200, 6090,
  1179. 5981, 5875, 5770, 5667,
  1180. 5566, 5467, 5369, 5273,
  1181. 5179, 5087, 4996, 4907,
  1182. 4820, 4734, 4649, 4567,
  1183. 4485, 4405, 4327, 4249,
  1184. 4174, 4099, 4026, 3954,
  1185. 3884, 3815, 3747, 3680,
  1186. 3614, 3550, 3486, 3424,
  1187. 3363, 3303, 3244, 3187,
  1188. 3130, 3074, 3019, 2965,
  1189. 2912, 2860, 2809, 2759,
  1190. 2710, 2662, 2614, 2568,
  1191. 2522, 2477, 2433, 2389,
  1192. 2347, 2305, 2264, 2224,
  1193. 2184, 2145, 2107, 2069,
  1194. 2032, 1996, 1960, 1925,
  1195. 1891, 1857, 1824, 1792,
  1196. 1760, 1728, 1698, 1667,
  1197. 1638, 1608, 1580, 1551,
  1198. 1524, 1497, 1470, 1444,
  1199. 1418, 1393, 1368, 1343,
  1200. 1319, 1296, 1273, 1250,
  1201. 1228, 1206, 1184, 1163,
  1202. 1143, 1122, 1102, 1083,
  1203. 1063, 1044, 1026, 1007,
  1204. 989, 972, 954, 937,
  1205. 921, 904, 888, 872,
  1206. 857, 841, 826, 812,
  1207. 797, 783, 769, 755,
  1208. 742, 729, 716, 703,
  1209. };
  1210. const uint32_t lut_exp2[] = {
  1211. 65536, 65713, 65891, 66070,
  1212. 66249, 66429, 66609, 66789,
  1213. 66971, 67152, 67334, 67517,
  1214. 67700, 67883, 68067, 68252,
  1215. 68437, 68623, 68809, 68995,
  1216. 69182, 69370, 69558, 69747,
  1217. 69936, 70125, 70315, 70506,
  1218. 70697, 70889, 71081, 71274,
  1219. 71467, 71661, 71855, 72050,
  1220. 72245, 72441, 72638, 72834,
  1221. 73032, 73230, 73429, 73628,
  1222. 73827, 74027, 74228, 74429,
  1223. 74631, 74833, 75036, 75240,
  1224. 75444, 75648, 75853, 76059,
  1225. 76265, 76472, 76679, 76887,
  1226. 77096, 77305, 77514, 77725,
  1227. 77935, 78147, 78359, 78571,
  1228. 78784, 78998, 79212, 79427,
  1229. 79642, 79858, 80074, 80292,
  1230. 80509, 80727, 80946, 81166,
  1231. 81386, 81607, 81828, 82050,
  1232. 82272, 82495, 82719, 82943,
  1233. 83168, 83394, 83620, 83846,
  1234. 84074, 84302, 84530, 84759,
  1235. 84989, 85220, 85451, 85682,
  1236. 85915, 86148, 86381, 86615,
  1237. 86850, 87086, 87322, 87559,
  1238. 87796, 88034, 88273, 88512,
  1239. 88752, 88993, 89234, 89476,
  1240. 89718, 89962, 90206, 90450,
  1241. 90695, 90941, 91188, 91435,
  1242. 91683, 91932, 92181, 92431,
  1243. 92681, 92933, 93185, 93437,
  1244. 93691, 93945, 94199, 94455,
  1245. 94711, 94968, 95225, 95483,
  1246. 95742, 96002, 96262, 96523,
  1247. 96785, 97047, 97310, 97574,
  1248. 97839, 98104, 98370, 98637,
  1249. 98904, 99172, 99441, 99711,
  1250. 99981, 100252, 100524, 100797,
  1251. 101070, 101344, 101619, 101894,
  1252. 102170, 102447, 102725, 103004,
  1253. 103283, 103563, 103844, 104125,
  1254. 104408, 104691, 104975, 105259,
  1255. 105545, 105831, 106118, 106405,
  1256. 106694, 106983, 107273, 107564,
  1257. 107856, 108148, 108441, 108735,
  1258. 109030, 109326, 109622, 109919,
  1259. 110217, 110516, 110816, 111116,
  1260. 111418, 111720, 112023, 112326,
  1261. 112631, 112936, 113243, 113550,
  1262. 113857, 114166, 114476, 114786,
  1263. 115097, 115409, 115722, 116036,
  1264. 116351, 116666, 116982, 117300,
  1265. 117618, 117936, 118256, 118577,
  1266. 118898, 119221, 119544, 119868,
  1267. 120193, 120519, 120846, 121173,
  1268. 121502, 121831, 122162, 122493,
  1269. 122825, 123158, 123492, 123827,
  1270. 124162, 124499, 124837, 125175,
  1271. 125514, 125855, 126196, 126538,
  1272. 126881, 127225, 127570, 127916,
  1273. 128263, 128611, 128959, 129309,
  1274. 129660, 130011, 130364, 130717,
  1275. 131072,
  1276. };
  1277. const uint32_t lut_log2[] = {
  1278. 524288, 524656, 525023, 525389,
  1279. 525753, 526116, 526478, 526838,
  1280. 527197, 527554, 527910, 528265,
  1281. 528619, 528971, 529322, 529671,
  1282. 530019, 530366, 530712, 531057,
  1283. 531400, 531742, 532082, 532422,
  1284. 532760, 533097, 533433, 533768,
  1285. 534101, 534434, 534765, 535095,
  1286. 535424, 535751, 536078, 536403,
  1287. 536728, 537051, 537373, 537694,
  1288. 538014, 538333, 538651, 538968,
  1289. 539283, 539598, 539912, 540224,
  1290. 540536, 540846, 541156, 541464,
  1291. 541772, 542078, 542384, 542688,
  1292. 542992, 543294, 543596, 543896,
  1293. 544196, 544495, 544793, 545089,
  1294. 545385, 545680, 545974, 546268,
  1295. 546560, 546851, 547142, 547431,
  1296. 547720, 548008, 548295, 548581,
  1297. 548866, 549150, 549434, 549717,
  1298. 549998, 550279, 550560, 550839,
  1299. 551117, 551395, 551672, 551948,
  1300. 552223, 552498, 552771, 553044,
  1301. 553316, 553588, 553858, 554128,
  1302. 554397, 554665, 554932, 555199,
  1303. 555465, 555730, 555995, 556259,
  1304. 556522, 556784, 557045, 557306,
  1305. 557566, 557826, 558084, 558342,
  1306. 558600, 558856, 559112, 559367,
  1307. 559622, 559876, 560129, 560381,
  1308. 560633, 560884, 561135, 561384,
  1309. 561634, 561882, 562130, 562377,
  1310. 562624, 562870, 563115, 563359,
  1311. 563603, 563847, 564089, 564332,
  1312. 564573, 564814, 565054, 565294,
  1313. 565533, 565771, 566009, 566247,
  1314. 566483, 566719, 566955, 567190,
  1315. 567424, 567658, 567891, 568124,
  1316. 568356, 568587, 568818, 569048,
  1317. 569278, 569507, 569736, 569964,
  1318. 570192, 570419, 570645, 570871,
  1319. 571096, 571321, 571545, 571769,
  1320. 571992, 572215, 572437, 572659,
  1321. 572880, 573101, 573321, 573541,
  1322. 573760, 573978, 574197, 574414,
  1323. 574631, 574848, 575064, 575280,
  1324. 575495, 575709, 575923, 576137,
  1325. 576350, 576563, 576775, 576987,
  1326. 577198, 577409, 577619, 577829,
  1327. 578039, 578248, 578456, 578664,
  1328. 578872, 579079, 579286, 579492,
  1329. 579698, 579903, 580108, 580312,
  1330. 580516, 580720, 580923, 581125,
  1331. 581328, 581530, 581731, 581932,
  1332. 582132, 582332, 582532, 582731,
  1333. 582930, 583129, 583327, 583524,
  1334. 583721, 583918, 584115, 584311,
  1335. 584506, 584701, 584896, 585090,
  1336. 585284, 585478, 585671, 585864,
  1337. 586056, 586248, 586440, 586631,
  1338. 586822, 587012, 587202, 587392,
  1339. 587581, 587770, 587959, 588147,
  1340. 588335, 588522, 588709, 588896,
  1341. 589082, 589268, 589453, 589639,
  1342. 589824,
  1343. };
  1344. const uint32_t lut_lorenz_rate[] = {
  1345. 3, 3, 3, 4,
  1346. 4, 4, 4, 4,
  1347. 5, 5, 5, 5,
  1348. 6, 6, 6, 7,
  1349. 7, 7, 8, 8,
  1350. 8, 9, 9, 10,
  1351. 10, 11, 11, 12,
  1352. 12, 13, 13, 14,
  1353. 15, 15, 16, 17,
  1354. 18, 18, 19, 20,
  1355. 21, 22, 23, 24,
  1356. 25, 27, 28, 29,
  1357. 30, 32, 33, 35,
  1358. 36, 38, 40, 42,
  1359. 44, 46, 48, 50,
  1360. 52, 55, 57, 60,
  1361. 63, 66, 69, 72,
  1362. 75, 78, 82, 86,
  1363. 90, 94, 98, 103,
  1364. 107, 112, 118, 123,
  1365. 129, 135, 141, 147,
  1366. 154, 161, 168, 176,
  1367. 184, 193, 201, 211,
  1368. 220, 230, 241, 252,
  1369. 263, 275, 288, 301,
  1370. 315, 329, 344, 360,
  1371. 377, 394, 412, 431,
  1372. 451, 471, 493, 515,
  1373. 539, 563, 589, 616,
  1374. 644, 674, 705, 737,
  1375. 770, 806, 843, 881,
  1376. 921, 963, 1007, 1054,
  1377. 1102, 1152, 1205, 1260,
  1378. 1317, 1378, 1441, 1506,
  1379. 1575, 1647, 1722, 1801,
  1380. 1883, 1970, 2060, 2154,
  1381. 2252, 2355, 2463, 2575,
  1382. 2693, 2816, 2945, 3079,
  1383. 3220, 3367, 3521, 3682,
  1384. 3850, 4026, 4210, 4402,
  1385. 4603, 4814, 5034, 5264,
  1386. 5504, 5756, 6019, 6294,
  1387. 6581, 6882, 7196, 7525,
  1388. 7869, 8229, 8605, 8998,
  1389. 9409, 9839, 10288, 10758,
  1390. 11250, 11764, 12302, 12864,
  1391. 13451, 14066, 14709, 15381,
  1392. 16083, 16818, 17587, 18390,
  1393. 19230, 20109, 21028, 21989,
  1394. 22993, 24044, 25142, 26291,
  1395. 27492, 28748, 30062, 31435,
  1396. 32872, 34374, 35944, 37586,
  1397. 39304, 41099, 42977, 44941,
  1398. 46994, 49141, 51386, 53734,
  1399. 56189, 58756, 61441, 64248,
  1400. 67184, 70253, 73463, 76819,
  1401. 80329, 83999, 87837, 91850,
  1402. 96047, 100435, 105024, 109822,
  1403. 114840, 120087, 125573, 131310,
  1404. 137310, 143583, 150144, 157003,
  1405. 164177, 171678, 179521, 187723,
  1406. 196300, 205269, 214647, 224454,
  1407. 234709, 245433, 256646, 268372,
  1408. 280634, 293455, 306863, 320883,
  1409. 335544,
  1410. };
  1411. const uint32_t* lookup_table_32_table[] = {
  1412. lut_env_increments,
  1413. lut_lp_coefficients,
  1414. lut_exp2,
  1415. lut_log2,
  1416. lut_lorenz_rate,
  1417. };
  1418. } // namespace streams