Lower sounds must have a greater amplitude in order to have the same
energy
This commit is contained in:
+107
-106
@@ -41,113 +41,111 @@ extern OS_MutexID audioMutex;
|
||||
|
||||
const int16_t sineValues[] =
|
||||
{
|
||||
0, 6, 12, 18, 25, 31, 37, 43, 50, 56,
|
||||
62, 69, 75, 81, 87, 94, 100, 106, 112, 119,
|
||||
125, 131, 137, 144, 150, 156, 162, 168, 175, 181,
|
||||
187, 193, 199, 205, 212, 218, 224, 230, 236, 242,
|
||||
248, 254, 260, 267, 273, 279, 285, 291, 297, 303,
|
||||
309, 315, 321, 327, 333, 339, 344, 350, 356, 362,
|
||||
368, 374, 380, 386, 391, 397, 403, 409, 414, 420,
|
||||
426, 432, 437, 443, 449, 454, 460, 466, 471, 477,
|
||||
482, 488, 493, 499, 504, 510, 515, 521, 526, 531,
|
||||
537, 542, 547, 553, 558, 563, 568, 574, 579, 584,
|
||||
589, 594, 599, 604, 609, 615, 620, 625, 629, 634,
|
||||
639, 644, 649, 654, 659, 664, 668, 673, 678, 683,
|
||||
687, 692, 696, 701, 706, 710, 715, 719, 724, 728,
|
||||
732, 737, 741, 745, 750, 754, 758, 762, 767, 771,
|
||||
775, 779, 783, 787, 791, 795, 799, 803, 807, 811,
|
||||
814, 818, 822, 826, 829, 833, 837, 840, 844, 847,
|
||||
851, 854, 858, 861, 865, 868, 871, 875, 878, 881,
|
||||
884, 887, 890, 894, 897, 900, 903, 906, 908, 911,
|
||||
914, 917, 920, 922, 925, 928, 930, 933, 936, 938,
|
||||
941, 943, 946, 948, 950, 953, 955, 957, 959, 962,
|
||||
964, 966, 968, 970, 972, 974, 976, 978, 979, 981,
|
||||
983, 985, 986, 988, 990, 991, 993, 994, 996, 997,
|
||||
999, 1000, 1001, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
|
||||
1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1017, 1018,
|
||||
1019, 1019, 1020, 1020, 1021, 1021, 1022, 1022, 1022, 1023,
|
||||
1023, 1023, 1023, 1023, 1023, 1023, 1024, 1023, 1023, 1023,
|
||||
1023, 1023, 1023, 1023, 1022, 1022, 1022, 1021, 1021, 1020,
|
||||
1020, 1019, 1019, 1018, 1017, 1017, 1016, 1015, 1014, 1013,
|
||||
1012, 1011, 1010, 1009, 1008, 1007, 1006, 1005, 1004, 1003,
|
||||
1001, 1000, 999, 997, 996, 994, 993, 991, 990, 988,
|
||||
986, 985, 983, 981, 979, 978, 976, 974, 972, 970,
|
||||
968, 966, 964, 962, 959, 957, 955, 953, 950, 948,
|
||||
946, 943, 941, 938, 936, 933, 930, 928, 925, 922,
|
||||
920, 917, 914, 911, 908, 906, 903, 900, 897, 894,
|
||||
890, 887, 884, 881, 878, 875, 871, 868, 865, 861,
|
||||
858, 854, 851, 847, 844, 840, 837, 833, 829, 826,
|
||||
822, 818, 814, 811, 807, 803, 799, 795, 791, 787,
|
||||
783, 779, 775, 771, 767, 762, 758, 754, 750, 745,
|
||||
741, 737, 732, 728, 724, 719, 715, 710, 706, 701,
|
||||
696, 692, 687, 683, 678, 673, 668, 664, 659, 654,
|
||||
649, 644, 639, 634, 629, 625, 620, 615, 609, 604,
|
||||
599, 594, 589, 584, 579, 574, 568, 563, 558, 553,
|
||||
547, 542, 537, 531, 526, 521, 515, 510, 504, 499,
|
||||
493, 488, 482, 477, 471, 466, 460, 454, 449, 443,
|
||||
437, 432, 426, 420, 414, 409, 403, 397, 391, 386,
|
||||
380, 374, 368, 362, 356, 350, 344, 339, 333, 327,
|
||||
321, 315, 309, 303, 297, 291, 285, 279, 273, 267,
|
||||
260, 254, 248, 242, 236, 230, 224, 218, 212, 205,
|
||||
199, 193, 187, 181, 175, 168, 162, 156, 150, 144,
|
||||
137, 131, 125, 119, 112, 106, 100, 94, 87, 81,
|
||||
75, 69, 62, 56, 50, 43, 37, 31, 25, 18,
|
||||
12, 6, 0, -6, -12, -18, -25, -31, -37, -43,
|
||||
-50, -56, -62, -69, -75, -81, -87, -94, -100, -106,
|
||||
-112, -119, -125, -131, -137, -144, -150, -156, -162, -168,
|
||||
-175, -181, -187, -193, -199, -205, -212, -218, -224, -230,
|
||||
-236, -242, -248, -254, -260, -267, -273, -279, -285, -291,
|
||||
-297, -303, -309, -315, -321, -327, -333, -339, -344, -350,
|
||||
-356, -362, -368, -374, -380, -386, -391, -397, -403, -409,
|
||||
-414, -420, -426, -432, -437, -443, -449, -454, -460, -466,
|
||||
-471, -477, -482, -488, -493, -499, -504, -510, -515, -521,
|
||||
-526, -531, -537, -542, -547, -553, -558, -563, -568, -574,
|
||||
-579, -584, -589, -594, -599, -604, -609, -615, -620, -625,
|
||||
-629, -634, -639, -644, -649, -654, -659, -664, -668, -673,
|
||||
-678, -683, -687, -692, -696, -701, -706, -710, -715, -719,
|
||||
-724, -728, -732, -737, -741, -745, -750, -754, -758, -762,
|
||||
-767, -771, -775, -779, -783, -787, -791, -795, -799, -803,
|
||||
-807, -811, -814, -818, -822, -826, -829, -833, -837, -840,
|
||||
-844, -847, -851, -854, -858, -861, -865, -868, -871, -875,
|
||||
-878, -881, -884, -887, -890, -894, -897, -900, -903, -906,
|
||||
-908, -911, -914, -917, -920, -922, -925, -928, -930, -933,
|
||||
-936, -938, -941, -943, -946, -948, -950, -953, -955, -957,
|
||||
-959, -962, -964, -966, -968, -970, -972, -974, -976, -978,
|
||||
-979, -981, -983, -985, -986, -988, -990, -991, -993, -994,
|
||||
-996, -997, -999, -1000, -1001, -1003, -1004, -1005, -1006, -1007,
|
||||
-1008, -1009, -1010, -1011, -1012, -1013, -1014, -1015, -1016, -1017,
|
||||
-1017, -1018, -1019, -1019, -1020, -1020, -1021, -1021, -1022, -1022,
|
||||
-1022, -1023, -1023, -1023, -1023, -1023, -1023, -1023, -1024, -1023,
|
||||
-1023, -1023, -1023, -1023, -1023, -1023, -1022, -1022, -1022, -1021,
|
||||
-1021, -1020, -1020, -1019, -1019, -1018, -1017, -1017, -1016, -1015,
|
||||
-1014, -1013, -1012, -1011, -1010, -1009, -1008, -1007, -1006, -1005,
|
||||
-1004, -1003, -1001, -1000, -999, -997, -996, -994, -993, -991,
|
||||
-990, -988, -986, -985, -983, -981, -979, -978, -976, -974,
|
||||
-972, -970, -968, -966, -964, -962, -959, -957, -955, -953,
|
||||
-950, -948, -946, -943, -941, -938, -936, -933, -930, -928,
|
||||
-925, -922, -920, -917, -914, -911, -908, -906, -903, -900,
|
||||
-897, -894, -890, -887, -884, -881, -878, -875, -871, -868,
|
||||
-865, -861, -858, -854, -851, -847, -844, -840, -837, -833,
|
||||
-829, -826, -822, -818, -814, -811, -807, -803, -799, -795,
|
||||
-791, -787, -783, -779, -775, -771, -767, -762, -758, -754,
|
||||
-750, -745, -741, -737, -732, -728, -724, -719, -715, -710,
|
||||
-706, -701, -696, -692, -687, -683, -678, -673, -668, -664,
|
||||
-659, -654, -649, -644, -639, -634, -629, -625, -620, -615,
|
||||
-609, -604, -599, -594, -589, -584, -579, -574, -568, -563,
|
||||
-558, -553, -547, -542, -537, -531, -526, -521, -515, -510,
|
||||
-504, -499, -493, -488, -482, -477, -471, -466, -460, -454,
|
||||
-449, -443, -437, -432, -426, -420, -414, -409, -403, -397,
|
||||
-391, -386, -380, -374, -368, -362, -356, -350, -344, -339,
|
||||
-333, -327, -321, -315, -309, -303, -297, -291, -285, -279,
|
||||
-273, -267, -260, -254, -248, -242, -236, -230, -224, -218,
|
||||
-212, -205, -199, -193, -187, -181, -175, -168, -162, -156,
|
||||
-150, -144, -137, -131, -125, -119, -112, -106, -100, -94,
|
||||
-87, -81, -75, -69, -62, -56, -50, -43, -37, -31,
|
||||
-25, -18, -12, -6,
|
||||
0, 201, 402, 603, 804, 1005, 1206, 1406, 1607, 1808,
|
||||
2009, 2209, 2410, 2610, 2811, 3011, 3211, 3411, 3611, 3811,
|
||||
4011, 4210, 4409, 4609, 4807, 5006, 5205, 5403, 5601, 5799,
|
||||
5997, 6195, 6392, 6589, 6786, 6983, 7179, 7375, 7571, 7766,
|
||||
7961, 8156, 8351, 8545, 8739, 8933, 9126, 9319, 9511, 9704,
|
||||
9895, 10087, 10278, 10469, 10659, 10849, 11039, 11228, 11416, 11605,
|
||||
11792, 11980, 12167, 12353, 12539, 12725, 12910, 13094, 13278, 13462,
|
||||
13645, 13827, 14009, 14191, 14372, 14552, 14732, 14911, 15090, 15268,
|
||||
15446, 15623, 15799, 15975, 16151, 16325, 16499, 16673, 16845, 17017,
|
||||
17189, 17360, 17530, 17700, 17868, 18037, 18204, 18371, 18537, 18703,
|
||||
18867, 19031, 19195, 19357, 19519, 19680, 19841, 20000, 20159, 20317,
|
||||
20475, 20631, 20787, 20942, 21096, 21250, 21402, 21554, 21705, 21855,
|
||||
22005, 22153, 22301, 22448, 22594, 22739, 22884, 23027, 23170, 23311,
|
||||
23452, 23592, 23731, 23869, 24007, 24143, 24279, 24413, 24547, 24680,
|
||||
24811, 24942, 25072, 25201, 25329, 25456, 25582, 25707, 25832, 25955,
|
||||
26077, 26198, 26319, 26438, 26556, 26673, 26790, 26905, 27019, 27132,
|
||||
27245, 27356, 27466, 27575, 27683, 27790, 27896, 28001, 28105, 28208,
|
||||
28310, 28410, 28510, 28609, 28706, 28803, 28898, 28992, 29085, 29177,
|
||||
29268, 29358, 29447, 29534, 29621, 29706, 29791, 29874, 29956, 30037,
|
||||
30117, 30195, 30273, 30349, 30424, 30498, 30571, 30643, 30714, 30783,
|
||||
30852, 30919, 30985, 31050, 31113, 31176, 31237, 31297, 31356, 31414,
|
||||
31470, 31526, 31580, 31633, 31685, 31736, 31785, 31833, 31880, 31926,
|
||||
31971, 32014, 32057, 32098, 32137, 32176, 32213, 32250, 32285, 32318,
|
||||
32351, 32382, 32412, 32441, 32469, 32495, 32521, 32545, 32567, 32589,
|
||||
32609, 32628, 32646, 32663, 32678, 32692, 32705, 32717, 32728, 32737,
|
||||
32745, 32752, 32757, 32761, 32765, 32766, 32767, 32766, 32765, 32761,
|
||||
32757, 32752, 32745, 32737, 32728, 32717, 32705, 32692, 32678, 32663,
|
||||
32646, 32628, 32609, 32589, 32567, 32545, 32521, 32495, 32469, 32441,
|
||||
32412, 32382, 32351, 32318, 32285, 32250, 32213, 32176, 32137, 32098,
|
||||
32057, 32014, 31971, 31926, 31880, 31833, 31785, 31736, 31685, 31633,
|
||||
31580, 31526, 31470, 31414, 31356, 31297, 31237, 31176, 31113, 31050,
|
||||
30985, 30919, 30852, 30783, 30714, 30643, 30571, 30498, 30424, 30349,
|
||||
30273, 30195, 30117, 30037, 29956, 29874, 29791, 29706, 29621, 29534,
|
||||
29447, 29358, 29268, 29177, 29085, 28992, 28898, 28803, 28706, 28609,
|
||||
28510, 28410, 28310, 28208, 28105, 28001, 27896, 27790, 27683, 27575,
|
||||
27466, 27356, 27245, 27132, 27019, 26905, 26790, 26673, 26556, 26438,
|
||||
26319, 26198, 26077, 25955, 25832, 25707, 25582, 25456, 25329, 25201,
|
||||
25072, 24942, 24811, 24680, 24547, 24413, 24279, 24143, 24007, 23869,
|
||||
23731, 23592, 23452, 23311, 23170, 23027, 22884, 22739, 22594, 22448,
|
||||
22301, 22153, 22005, 21855, 21705, 21554, 21402, 21250, 21096, 20942,
|
||||
20787, 20631, 20475, 20317, 20159, 20000, 19841, 19680, 19519, 19357,
|
||||
19195, 19031, 18867, 18703, 18537, 18371, 18204, 18037, 17868, 17700,
|
||||
17530, 17360, 17189, 17017, 16845, 16673, 16499, 16325, 16151, 15975,
|
||||
15799, 15623, 15446, 15268, 15090, 14911, 14732, 14552, 14372, 14191,
|
||||
14009, 13827, 13645, 13462, 13278, 13094, 12910, 12725, 12539, 12353,
|
||||
12167, 11980, 11792, 11605, 11416, 11228, 11039, 10849, 10659, 10469,
|
||||
10278, 10087, 9895, 9704, 9511, 9319, 9126, 8933, 8739, 8545,
|
||||
8351, 8156, 7961, 7766, 7571, 7375, 7179, 6983, 6786, 6589,
|
||||
6392, 6195, 5997, 5799, 5601, 5403, 5205, 5006, 4807, 4609,
|
||||
4409, 4210, 4011, 3811, 3611, 3411, 3211, 3011, 2811, 2610,
|
||||
2410, 2209, 2009, 1808, 1607, 1406, 1206, 1005, 804, 603,
|
||||
402, 201, 0, -201, -402, -603, -804, -1005, -1206, -1406,
|
||||
-1607, -1808, -2009, -2209, -2410, -2610, -2811, -3011, -3211, -3411,
|
||||
-3611, -3811, -4011, -4210, -4409, -4609, -4807, -5006, -5205, -5403,
|
||||
-5601, -5799, -5997, -6195, -6392, -6589, -6786, -6983, -7179, -7375,
|
||||
-7571, -7766, -7961, -8156, -8351, -8545, -8739, -8933, -9126, -9319,
|
||||
-9511, -9704, -9895, -10087, -10278, -10469, -10659, -10849, -11039, -11228,
|
||||
-11416, -11605, -11792, -11980, -12167, -12353, -12539, -12725, -12910, -13094,
|
||||
-13278, -13462, -13645, -13827, -14009, -14191, -14372, -14552, -14732, -14911,
|
||||
-15090, -15268, -15446, -15623, -15799, -15975, -16151, -16325, -16499, -16673,
|
||||
-16845, -17017, -17189, -17360, -17530, -17700, -17868, -18037, -18204, -18371,
|
||||
-18537, -18703, -18867, -19031, -19195, -19357, -19519, -19680, -19841, -20000,
|
||||
-20159, -20317, -20475, -20631, -20787, -20942, -21096, -21250, -21402, -21554,
|
||||
-21705, -21855, -22005, -22153, -22301, -22448, -22594, -22739, -22884, -23027,
|
||||
-23170, -23311, -23452, -23592, -23731, -23869, -24007, -24143, -24279, -24413,
|
||||
-24547, -24680, -24811, -24942, -25072, -25201, -25329, -25456, -25582, -25707,
|
||||
-25832, -25955, -26077, -26198, -26319, -26438, -26556, -26673, -26790, -26905,
|
||||
-27019, -27132, -27245, -27356, -27466, -27575, -27683, -27790, -27896, -28001,
|
||||
-28105, -28208, -28310, -28410, -28510, -28609, -28706, -28803, -28898, -28992,
|
||||
-29085, -29177, -29268, -29358, -29447, -29534, -29621, -29706, -29791, -29874,
|
||||
-29956, -30037, -30117, -30195, -30273, -30349, -30424, -30498, -30571, -30643,
|
||||
-30714, -30783, -30852, -30919, -30985, -31050, -31113, -31176, -31237, -31297,
|
||||
-31356, -31414, -31470, -31526, -31580, -31633, -31685, -31736, -31785, -31833,
|
||||
-31880, -31926, -31971, -32014, -32057, -32098, -32137, -32176, -32213, -32250,
|
||||
-32285, -32318, -32351, -32382, -32412, -32441, -32469, -32495, -32521, -32545,
|
||||
-32567, -32589, -32609, -32628, -32646, -32663, -32678, -32692, -32705, -32717,
|
||||
-32728, -32737, -32745, -32752, -32757, -32761, -32765, -32766, -32767, -32766,
|
||||
-32765, -32761, -32757, -32752, -32745, -32737, -32728, -32717, -32705, -32692,
|
||||
-32678, -32663, -32646, -32628, -32609, -32589, -32567, -32545, -32521, -32495,
|
||||
-32469, -32441, -32412, -32382, -32351, -32318, -32285, -32250, -32213, -32176,
|
||||
-32137, -32098, -32057, -32014, -31971, -31926, -31880, -31833, -31785, -31736,
|
||||
-31685, -31633, -31580, -31526, -31470, -31414, -31356, -31297, -31237, -31176,
|
||||
-31113, -31050, -30985, -30919, -30852, -30783, -30714, -30643, -30571, -30498,
|
||||
-30424, -30349, -30273, -30195, -30117, -30037, -29956, -29874, -29791, -29706,
|
||||
-29621, -29534, -29447, -29358, -29268, -29177, -29085, -28992, -28898, -28803,
|
||||
-28706, -28609, -28510, -28410, -28310, -28208, -28105, -28001, -27896, -27790,
|
||||
-27683, -27575, -27466, -27356, -27245, -27132, -27019, -26905, -26790, -26673,
|
||||
-26556, -26438, -26319, -26198, -26077, -25955, -25832, -25707, -25582, -25456,
|
||||
-25329, -25201, -25072, -24942, -24811, -24680, -24547, -24413, -24279, -24143,
|
||||
-24007, -23869, -23731, -23592, -23452, -23311, -23170, -23027, -22884, -22739,
|
||||
-22594, -22448, -22301, -22153, -22005, -21855, -21705, -21554, -21402, -21250,
|
||||
-21096, -20942, -20787, -20631, -20475, -20317, -20159, -20000, -19841, -19680,
|
||||
-19519, -19357, -19195, -19031, -18867, -18703, -18537, -18371, -18204, -18037,
|
||||
-17868, -17700, -17530, -17360, -17189, -17017, -16845, -16673, -16499, -16325,
|
||||
-16151, -15975, -15799, -15623, -15446, -15268, -15090, -14911, -14732, -14552,
|
||||
-14372, -14191, -14009, -13827, -13645, -13462, -13278, -13094, -12910, -12725,
|
||||
-12539, -12353, -12167, -11980, -11792, -11605, -11416, -11228, -11039, -10849,
|
||||
-10659, -10469, -10278, -10087, -9895, -9704, -9511, -9319, -9126, -8933,
|
||||
-8739, -8545, -8351, -8156, -7961, -7766, -7571, -7375, -7179, -6983,
|
||||
-6786, -6589, -6392, -6195, -5997, -5799, -5601, -5403, -5205, -5006,
|
||||
-4807, -4609, -4409, -4210, -4011, -3811, -3611, -3411, -3211, -3011,
|
||||
-2811, -2610, -2410, -2209, -2009, -1808, -1607, -1406, -1206, -1005,
|
||||
-804, -603, -402, -201,
|
||||
};
|
||||
|
||||
const unsigned int toneVolumes[] = { 2, 4, 8, 12, 16 };
|
||||
|
||||
#if defined(SDCARD)
|
||||
const char * audioFilenames[] = {
|
||||
"tada",
|
||||
@@ -541,6 +539,8 @@ int AudioQueue::mixWav(AudioContext &context, AudioBuffer *buffer, int volume, u
|
||||
}
|
||||
#endif
|
||||
|
||||
const unsigned int toneVolumes[] = { 2, 4, 8, 12, 16 };
|
||||
|
||||
int AudioQueue::mixBeep(AudioContext &context, AudioBuffer *buffer, int volume, unsigned int fade)
|
||||
{
|
||||
AudioFragment & fragment = context.fragment;
|
||||
@@ -553,6 +553,7 @@ int AudioQueue::mixBeep(AudioContext &context, AudioBuffer *buffer, int volume,
|
||||
|
||||
if (fragment.tone.freq) {
|
||||
context.state.tone.step = double(DIM(sineValues)*fragment.tone.freq) / AUDIO_SAMPLE_RATE;
|
||||
context.state.tone.volume = (fragment.tone.freq * fragment.tone.freq * 32) / (110 * 110 * toneVolumes[2+volume]);
|
||||
if (fragment.tone.freqIncr)
|
||||
fragment.tone.freq += AUDIO_BUFFER_DURATION * fragment.tone.freqIncr;
|
||||
else
|
||||
@@ -577,7 +578,7 @@ int AudioQueue::mixBeep(AudioContext &context, AudioBuffer *buffer, int volume,
|
||||
}
|
||||
|
||||
for (int i=0; i<points; i++) {
|
||||
int16_t sample = sineValues[int(toneIdx)] * toneVolumes[2+volume];
|
||||
int16_t sample = sineValues[int(toneIdx)] / context.state.tone.volume;
|
||||
mix(&buffer->data[i], sample, fade);
|
||||
toneIdx += context.state.tone.step;
|
||||
if ((unsigned int)toneIdx >= DIM(sineValues))
|
||||
|
||||
Reference in New Issue
Block a user