From 8f90701c7aa9615e7fed673b755183ed2fae956c Mon Sep 17 00:00:00 2001 From: Jan-Henrik Bruhn Date: Tue, 18 Feb 2020 12:08:15 +0100 Subject: [PATCH] numpy beautification --- stereo_mix/resources.cc | 128 +++++++++++++------------- stereo_mix/resources/lookup_tables.py | 14 ++- 2 files changed, 70 insertions(+), 72 deletions(-) diff --git a/stereo_mix/resources.cc b/stereo_mix/resources.cc index f28d945..77222e8 100644 --- a/stereo_mix/resources.cc +++ b/stereo_mix/resources.cc @@ -32,70 +32,70 @@ const prog_char* const string_table[] = { }; const prog_uint16_t lut_res_linear_to_exp[] PROGMEM = { - 0, 0, 0, 0, 0, 0, 0, 1, - 1, 1, 1, 2, 2, 3, 3, 4, - 4, 5, 5, 6, 6, 7, 8, 9, - 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 25, - 26, 27, 28, 30, 31, 33, 34, 36, - 37, 39, 40, 42, 43, 45, 47, 49, - 50, 52, 54, 56, 58, 60, 62, 64, - 66, 68, 70, 72, 74, 76, 78, 81, - 83, 85, 87, 90, 92, 95, 97, 100, - 102, 105, 107, 110, 112, 115, 118, 121, - 123, 126, 129, 132, 135, 138, 141, 144, - 147, 150, 153, 156, 159, 162, 165, 169, - 172, 175, 178, 182, 185, 189, 192, 196, - 199, 203, 206, 210, 213, 217, 221, 225, - 228, 232, 236, 240, 244, 248, 252, 256, - 260, 264, 268, 272, 276, 280, 284, 289, - 293, 297, 301, 306, 310, 315, 319, 324, - 328, 333, 337, 342, 346, 351, 356, 361, - 365, 370, 375, 380, 385, 390, 395, 400, - 405, 410, 415, 420, 425, 430, 435, 441, - 446, 451, 456, 462, 467, 473, 478, 484, - 489, 495, 500, 506, 511, 517, 523, 529, - 534, 540, 546, 552, 558, 564, 570, 576, - 582, 588, 594, 600, 606, 612, 618, 625, - 631, 637, 643, 650, 656, 663, 669, 676, - 682, 689, 695, 702, 708, 715, 722, 729, - 735, 742, 749, 756, 763, 770, 777, 784, - 791, 798, 805, 812, 819, 826, 833, 841, - 848, 855, 862, 870, 877, 885, 892, 900, - 907, 915, 922, 930, 937, 945, 953, 961, - 968, 976, 984, 992, 1000, 1008, 1016, 1024, - 1032, 1040, 1048, 1056, 1064, 1072, 1080, 1089, - 1097, 1105, 1113, 1122, 1130, 1139, 1147, 1156, - 1164, 1173, 1181, 1190, 1198, 1207, 1216, 1225, - 1233, 1242, 1251, 1260, 1269, 1278, 1287, 1296, - 1305, 1314, 1323, 1332, 1341, 1350, 1359, 1369, - 1378, 1387, 1396, 1406, 1415, 1425, 1434, 1444, - 1453, 1463, 1472, 1482, 1491, 1501, 1511, 1521, - 1530, 1540, 1550, 1560, 1570, 1580, 1590, 1600, - 1610, 1620, 1630, 1640, 1650, 1660, 1670, 1681, - 1691, 1701, 1711, 1722, 1732, 1743, 1753, 1764, - 1774, 1785, 1795, 1806, 1816, 1827, 1838, 1849, - 1859, 1870, 1881, 1892, 1903, 1914, 1925, 1936, - 1947, 1958, 1969, 1980, 1991, 2002, 2013, 2025, - 2036, 2047, 2058, 2070, 2081, 2093, 2104, 2116, - 2127, 2139, 2150, 2162, 2173, 2185, 2197, 2209, - 2220, 2232, 2244, 2256, 2268, 2280, 2292, 2304, - 2316, 2328, 2340, 2352, 2364, 2376, 2388, 2401, - 2413, 2425, 2437, 2450, 2462, 2475, 2487, 2500, - 2512, 2525, 2537, 2550, 2562, 2575, 2588, 2601, - 2613, 2626, 2639, 2652, 2665, 2678, 2691, 2704, - 2717, 2730, 2743, 2756, 2769, 2782, 2795, 2809, - 2822, 2835, 2848, 2862, 2875, 2889, 2902, 2916, - 2929, 2943, 2956, 2970, 2983, 2997, 3011, 3025, - 3038, 3052, 3066, 3080, 3094, 3108, 3122, 3136, - 3150, 3164, 3178, 3192, 3206, 3220, 3234, 3249, - 3263, 3277, 3291, 3306, 3320, 3335, 3349, 3364, - 3378, 3393, 3407, 3422, 3436, 3451, 3466, 3481, - 3495, 3510, 3525, 3540, 3555, 3570, 3585, 3600, - 3615, 3630, 3645, 3660, 3675, 3690, 3705, 3721, - 3736, 3751, 3766, 3782, 3797, 3813, 3828, 3844, - 3859, 3875, 3890, 3906, 3921, 3937, 3953, 3969, - 3984, 4000, 4016, 4032, 4048, 4064, 4080, 4096, + 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 2, 2, 3, 3, + 4, 4, 5, 5, 6, 6, 7, 8, + 9, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, + 25, 26, 27, 29, 30, 31, 33, 34, + 36, 37, 39, 40, 42, 44, 45, 47, + 49, 50, 52, 54, 56, 58, 60, 62, + 64, 66, 68, 70, 72, 74, 76, 79, + 81, 83, 85, 88, 90, 93, 95, 97, + 100, 102, 105, 108, 110, 113, 116, 118, + 121, 124, 127, 129, 132, 135, 138, 141, + 144, 147, 150, 153, 156, 160, 163, 166, + 169, 172, 176, 179, 182, 186, 189, 193, + 196, 200, 203, 207, 211, 214, 218, 222, + 225, 229, 233, 237, 241, 245, 249, 253, + 257, 261, 265, 269, 273, 277, 281, 285, + 290, 294, 298, 303, 307, 311, 316, 320, + 325, 329, 334, 338, 343, 348, 352, 357, + 362, 367, 372, 376, 381, 386, 391, 396, + 401, 406, 411, 416, 421, 427, 432, 437, + 442, 448, 453, 458, 464, 469, 474, 480, + 485, 491, 497, 502, 508, 513, 519, 525, + 531, 536, 542, 548, 554, 560, 566, 572, + 578, 584, 590, 596, 602, 608, 614, 621, + 627, 633, 640, 646, 652, 659, 665, 672, + 678, 685, 691, 698, 705, 711, 718, 725, + 731, 738, 745, 752, 759, 766, 773, 780, + 787, 794, 801, 808, 815, 822, 829, 837, + 844, 851, 858, 866, 873, 881, 888, 896, + 903, 911, 918, 926, 933, 941, 949, 957, + 964, 972, 980, 988, 996, 1004, 1012, 1019, + 1028, 1036, 1044, 1052, 1060, 1068, 1076, 1084, + 1093, 1101, 1109, 1118, 1126, 1135, 1143, 1152, + 1160, 1169, 1177, 1186, 1194, 1203, 1212, 1221, + 1229, 1238, 1247, 1256, 1265, 1274, 1283, 1292, + 1301, 1310, 1319, 1328, 1337, 1346, 1355, 1365, + 1374, 1383, 1392, 1402, 1411, 1421, 1430, 1440, + 1449, 1459, 1468, 1478, 1488, 1497, 1507, 1517, + 1526, 1536, 1546, 1556, 1566, 1576, 1586, 1596, + 1606, 1616, 1626, 1636, 1646, 1656, 1667, 1677, + 1687, 1697, 1708, 1718, 1728, 1739, 1749, 1760, + 1770, 1781, 1792, 1802, 1813, 1824, 1834, 1845, + 1856, 1867, 1877, 1888, 1899, 1910, 1921, 1932, + 1943, 1954, 1965, 1976, 1988, 1999, 2010, 2021, + 2032, 2044, 2055, 2066, 2078, 2089, 2101, 2112, + 2124, 2135, 2147, 2159, 2170, 2182, 2194, 2205, + 2217, 2229, 2241, 2253, 2265, 2277, 2288, 2300, + 2313, 2325, 2337, 2349, 2361, 2373, 2385, 2398, + 2410, 2422, 2435, 2447, 2459, 2472, 2484, 2497, + 2509, 2522, 2534, 2547, 2560, 2572, 2585, 2598, + 2611, 2624, 2636, 2649, 2662, 2675, 2688, 2701, + 2714, 2727, 2740, 2753, 2767, 2780, 2793, 2806, + 2820, 2833, 2846, 2860, 2873, 2886, 2900, 2913, + 2927, 2940, 2954, 2968, 2981, 2995, 3009, 3023, + 3036, 3050, 3064, 3078, 3092, 3106, 3120, 3134, + 3148, 3162, 3176, 3190, 3204, 3218, 3233, 3247, + 3261, 3276, 3290, 3304, 3319, 3333, 3348, 3362, + 3377, 3391, 3406, 3420, 3435, 3450, 3465, 3479, + 3494, 3509, 3524, 3539, 3554, 3569, 3584, 3599, + 3614, 3629, 3644, 3659, 3674, 3689, 3705, 3720, + 3735, 3750, 3766, 3781, 3797, 3812, 3828, 3843, + 3859, 3874, 3890, 3905, 3921, 3937, 3952, 3968, + 3984, 4000, 4016, 4032, 4048, 4064, 4079, 4096, }; const prog_uint16_t lut_res_left_sin_pan[] PROGMEM = { 0, 13, 25, 38, 50, 63, 76, 88, diff --git a/stereo_mix/resources/lookup_tables.py b/stereo_mix/resources/lookup_tables.py index 92f7e8b..c4403cf 100644 --- a/stereo_mix/resources/lookup_tables.py +++ b/stereo_mix/resources/lookup_tables.py @@ -7,21 +7,19 @@ OUTPUT_RESOLUTION = 4096 # linear to exponential conversion -values = [] -size = ADC_RESOLUTION -for x in range(1, int(size) + 1): - values.append(np.power(x / float(ADC_RESOLUTION), 2) * OUTPUT_RESOLUTION) +values = np.linspace(0, 1, num=ADC_RESOLUTION) +values = np.power(values, 2) * OUTPUT_RESOLUTION lookup_tables.append(('linear_to_exp', values)) # Left pan Lookup table -l_pan = np.linspace(0, OUTPUT_RESOLUTION, num=ADC_RESOLUTION) -r_pan = np.linspace(0, OUTPUT_RESOLUTION, num=ADC_RESOLUTION) +l_pan = np.linspace(0, 1, num=ADC_RESOLUTION) +r_pan = np.linspace(0, 1, num=ADC_RESOLUTION) -l_pan = np.sin((l_pan / OUTPUT_RESOLUTION) * (np.pi / 2.0)) -r_pan = np.cos((r_pan / OUTPUT_RESOLUTION) * (np.pi / 2.0)) +l_pan = np.sin(l_pan * (np.pi / 2.0)) +r_pan = np.cos(r_pan * (np.pi / 2.0)) l_pan = np.round(l_pan * OUTPUT_RESOLUTION) r_pan = np.round(r_pan * OUTPUT_RESOLUTION)