PUZZLE #2919: Wave Superposition Cipher (diff 3)
A sampled audio waveform containing 4 superimposed sine waves. Perform spectral analysis (FFT) to find frequency peaks, compute semitone intervals between adjacent peaks, and map each interval to a letter (3 letters).
DATA
| Difficulty |
3
|
| Sample Rate |
4000
|
| Duration |
0.25
|
| Num Frequencies |
4
|
| Waveform |
-0.4701, 0.8456, -1.8667, -0.8413, 0.0122, -1.3387, 0.5055, 0.8563, 0.2078, 0.3227, -0.5058, 1.191, 1.3598, 0.2073, 2.1832, 0.6389, -0.8691, 1.6286, 0.8915, 0.3872, 1.0265, -0.3957, -0.2829, -0.7233, -0.4204, 0.9998, -1.3442, -1.3759, -0.0639, -2.2035, -0.7703, 0.612, -1.2208, -0.8135, -0.9464, -0.6962, 0.3821, -0.2969, 1.0694, 0.612, -1.347, 1.2708, 1.346, 0.1454, 2.0293, 0.8137, -0.1248, 0.7779, 0.5929, 1.5647, 0.4657, -0.4456, 0.7834, -1.2168, -0.7666, 1.3915, -1.0244, -1.1996, -0.4856, -1.7618, -0.7059, -0.5009, -0.4006, -0.2711, -2.0956, -0.4011, 0.5266, -1.0355, 1.1728, 0.8287, -1.1577, 0.6901, 0.8811, 0.9731, 1.5098, 0.4792, 1.1166, 0.1774, -0.0738, 2.3895, 0.493, -0.4684, 1.0249, -0.995, -0.7008, 0.6975, -0.3618, -0.3976, -1.4893, -1.3518, -0.1876, -1.5952, -0.1256, 0.3265, -2.4109, -0.6661, 0.2307, -0.7842, 0.8004, 0.3926, -0.1238, 0.1454, -0.1615, 1.8817, 1.3177, -0.02, 1.8388, 0.1808, -0.4022, 2.1529, 0.8513, 0.2127, 0.4131, -0.6644, 0.0586, -0.4265, -0.0809, 0.6825, -2.0628, -1.3667, 0.0721, -1.8177, -0.2601, 0.2214, -1.705, -0.9458, -0.8262, -0.0182, 0.6379, -0.5403, 0.8194, 0.1189, -1.0429, 1.993, 1.421, 0.125, 1.5993, 0.3006, 0.1758, 1.171, 0.9, 1.4879, -0.2624, -0.6882, 0.8855, -1.0023, -0.1748, 1.1592, -1.696, -1.3804, -0.5306, -1.2721, -0.2222, -0.7074, -0.7019, -0.7301, -2.071, 0.3377, 0.7537, -1.0303, 0.9651, 0.2084, -0.9846, 1.2653, 1.1918, 1.1372, 0.983, 0.0491, 1.2264, 0.3728, 0.5034, 2.4432, -0.2303, -0.7391, 0.8975, -0.7777, -0.0822, 0.5939, -0.7971, -0.8318, -1.7331, -0.7964, 0.1956, -1.6005, -0.2273, -0.3302, -2.5231, -0.0439, 0.5486, -0.5408, 0.5654, -0.2025, -0.0761, 0.4447, 0.3834, 2.2197, 0.7696, -0.3891, 1.7464, 0.2186, 0.299, 2.3203, 0.3539, -0.1635, 0.0268, -0.4018, 0.5891, -0.3999, -0.2096, 0.0675, -2.4943, -0.8609, 0.4145, -1.6194, -0.2825, -0.462, -1.8978, -0.6181, -0.3921, 0.4761, 0.3488, -0.993, 0.7512, 0.1048, -0.401, 2.4821, 1.0075, -0.1941, 1.2894, 0.3193, 0.8228, 1.3814, 0.755, 1.0234, -0.8527, -0.4144, 1.2846, -0.8636, -0.0733, 0.5014, -2.2102, -1.1093, -0.2444, -0.8423, -0.2463, -1.2796, -0.9068, -0.7785, -1.5917, 1.0298, 0.5155, -1.3607, 0.7505, 0.0259, -0.3662, 1.7563, 1.082, 0.8353, 0.4307, 0.0792, 1.7338, 0.5808, 0.709, 1.9709, -0.9398, -0.5793, 1.1653, -0.4765, 0.1346, 0.0082, -1.2573, -0.908, -1.4979, -0.1274, 0.1578, -2.0423, -0.4555, -0.6535, -2.087, 0.6681, 0.5154, -0.728, 0.1477, -0.4106, 0.4482, 0.8318, 0.6322, 2.0406, 0.0297, -0.3776, 2.088, 0.471, 0.6992, 1.9252, -0.3054, -0.2594, 0.1397, 0.1287, 0.7921, -0.8772, -0.5383, -0.337, -2.3729, -0.1034, 0.4455, -1.8651, -0.5838, -0.9132, -1.557, -0.0534, -0.1458, 0.4795, -0.2655, -1.2049, 1.1321, 0.3912, 0.1249, 2.4162, 0.2775, -0.3154, 1.409, 0.7012, 1.2956, 1.07, 0.321, 0.6374, -0.9457, 0.2596, 1.5224, -1.1549, -0.3338, -0.0891, -2.1822, -0.4712, -0.0263, -0.8308, -0.7107, -1.7638, -0.6592, -0.4506, -1.1073, 1.2247, -0.1671, -1.6202, 0.9277, 0.2746, 0.2924, 1.7738, 0.5758, 0.55, 0.2575, 0.6039, 2.2192, 0.3885, 0.4903, 1.4102, -1.2239, 0.0515, 1.4438, -0.509, -0.1502, -0.663, -1.2945, -0.5632, -1.1269, 0.1682, -0.3885, -2.5149, -0.3312, -0.5302, -1.4761, 0.9971, -0.0063, -1.0375, 0.0306, -0.0976, 1.1337, 0.8849, 0.4458, 1.6296, -0.3913, 0.1689, 2.5697, 0.4672, 0.6284, 1.2732, -0.6388, 0.1232, 0.45, 0.4246, 0.4596, -1.5479, -0.6037, -0.2829, -1.9289, 0.3884, -0.0267, -2.3223, -0.7377, -0.8842, -0.8859, 0.2599, -0.3556, 0.1626, -0.7178, -0.8744, 1.786, 0.4975, 0.1951, 1.9625, -0.2533, 0.0617, 1.8119, 0.9787, 1.268, 0.4222, 0.0426, 0.6917, -0.669, 0.8362, 1.2039, -1.7627, -0.5109, -0.254, -1.7241, 0.0532, -0.2678, -1.1838, -1.1666, -1.7554, 0.007, -0.1929, -1.0104, 0.9447, -0.8071, -1.3768, 1.4816, 0.5559, 0.5173, 1.3086, 0.1078, 0.6553, 0.5398, 1.1874, 2.2308, -0.2302, 0.2626, 1.1878, -0.9791, 0.7142, 1.2924, -0.9579, -0.5386, -0.9431, -0.8261, -0.1721, -1.093, -0.0107, -1.0909, -2.5796, 0.2288, -0.2662, -1.1485, 0.7704, -0.6538, -0.9964, 0.3393, 0.409, 1.4591, 0.4138, 0.128, 1.4677, -0.293, 0.9227, 2.6891, 0.0128, 0.3301, 0.8712, -0.4092, 0.6932, 0.5136, 0.2458, -0.1551, -1.9231, -0.1646, -0.0272, -1.6617, 0.3649, -0.7885, -2.5083, -0.3915, -0.5135, -0.3955, 0.0277, -0.8398, 0.0034, -0.6987, -0.1771, 2.2222, 0.1318, -0.0326, 1.5983, -0.2672, 0.7669, 2.0586, 0.8335, 0.8384, -0.1216, 0.2592, 1.0656, -0.4449, 0.9541, 0.484, -2.2305, -0.2415, -0.055, -1.2745, 0.0702, -0.8928, -1.4548, -1.1927, -1.2818, 0.6057, -0.4147, -1.2851, 0.6623, -1.0237, -0.6632, 1.9612, 0.4286, 0.3121, 0.7842, 0.0903, 1.1707, 0.8391, 1.3925, 1.7422, -0.8816, 0.4268, 1.3744, -0.6192, 0.9952, 0.6647, -1.4347, -0.6099, -0.736, -0.222, -0.1781, -1.4796, -0.3422, -1.4629, -2.1026, 0.893, -0.3455, -1.268, 0.3471, -0.9423, -0.4433, 0.8004, 0.6638, 1.258, -0.2369, 0.1302, 1.7463, 0.0364, 1.4127, 2.2462, -0.6259, 0.2909, 0.937, 0.0865, 0.9569, 0.0747, -0.1598, -0.5917, -1.7514, 0.5096, -0.0217, -1.8334, 0.0206, -1.3414, -2.1386, 0.1768, -0.3205, -0.4145, -0.5302, -1.0788, 0.331, -0.343, 0.4063, 2.0923, -0.5583, -0.0788, 1.6716, 0.1296, 1.344, 1.7873, 0.357, 0.4998, -0.1993, 0.8738, 1.2912, -0.6482, 0.6539, -0.1976, -2.1829, 0.3788, 0.0855, -1.237, -0.3666, -1.4539, -1.2801, -0.8308, -0.798, 0.7398, -1.0497, -1.4925, 0.7471, -0.7708, 0.0642, 1.9692, -0.0767, 0.0818, 0.6456, 0.5847, 1.6747, 0.7483, 1.1875, 1.1277, -1.0826, 1.0451, 1.6073, -0.5948, 0.7475, -0.0806, -1.4942, -0.2286, -0.4114, 0.0054, -0.7074, -1.9593, -0.3273, -1.3563, -1.4229, 1.1438, -0.8996, -1.5253, 0.1848, -0.6948, 0.2666, 0.9083, 0.4642, 0.8341, -0.5767, 0.6773, 2.1784, 0.1281, 1.4039, 1.5454, -0.9326, 0.7127, 1.2219, 0.367, 0.6962, -0.5809, -0.3141, -0.5641, -1.2744, 0.9364, -0.5384, -2.2289, -0.1742, -1.3902, -1.4479, 0.4906, -0.5821, -0.7382, -0.9402, -0.7897, 0.9388, -0.1582, 0.5215, 1.5865, -1.0497, 0.3381, 2.0231, 0.436, 1.3991, 1.1372, 0.0326, 0.5764, 0.1496, 1.4108, 0.9929, -1.1637, 0.4231, -0.4396, -1.662, 0.8913, -0.2181, -1.5839, -0.8034, -1.5167, -0.6821, -0.5293, -0.6951, 0.3865, -1.68, -1.2335, 1.2114, -0.4669, 0.3841, 1.4818, -0.5665, 0.229, 0.9438, 1.1533, 1.7443, 0.217, 0.9095, 0.8696, -0.7582, 1.7223, 1.4032, -0.9602, 0.3769, -0.4436, -1.0547, 0.2024, -0.3914, -0.2304, -1.3762, -2.0273, 0.1151, -1.0966, -1.0319, 0.8651, -1.5819, -1.4175, 0.4902, -0.2162, 0.6481, 0.5068, 0.0947, 0.6597, -0.3996, 1.4293, 2.2722, -0.2348, 1.1394, 1.0669, -0.6913, 1.3472, 1.2514, 0.1918, 0.1082, -0.9824, 0.0308, -0.2774, -0.947, 0.8413, -1.3333, -2.3648, 0.0785, -1.0933, -0.9174, 0.2864, -1.1274, -0.8909, -0.8843, -0.1224, 1.3308, -0.4383, 0.32, 1.1421, -0.9982, 1.1256, 2.2358, 0.3058, 1.0647, 0.5775, 0.2119, 0.9973, 0.434, 1.4782, 0.2557, -1.5779, 0.6232, -0.278, -1.1497, 0.8973, -0.9323, -1.8661, -0.8251, -1.1226, -0.1256, -0.6862, -0.9785, 0.0029, -1.8613, -0.4944, 1.6296, -0.5607, 0.2589, 0.9049, -0.6119, 0.8045, 1.2899, 1.3506, 1.2886, -0.3505, 1.0297, 1.0423, -0.3014, 1.9923, 0.7168, -1.4045, 0.3123, -0.314, -0.463, 0.2424, -0.8138, -0.6338, -1.7408, -1.556, 0.6761, -1.1595, -1.1007, 0.3459, -1.9074, -0.8429, 0.9123, 0.005, 0.5122, -0.0996, 0.0648, 0.9229, 0.0241, 1.926, 1.813, -0.7702, 1.1112, 1.0725, -0.1373, 1.6867, 0.7953, -0.2477, -0.2843, -0.8294, 0.6327, -0.2396, -1.0733, 0.3842, -1.9278, -1.9693, 0.5638, -0.9521, -0.8676, -0.2779, -1.4488, -0.5941, -0.4889, 0.4272, 1.1872, -1.0178, 0.2673, 1.1491, -0.5361, 1.7641, 1.9374, -0.1257, 0.7737, 0.5067, 0.8077, 1.2723, 0.2969, 1.1321, -0.4262, -1.4576, 1.1553, -0.1939, -1.0513, 0.4336, -1.5596, -1.6717, -0.4737, -0.6883, -0.0207, -1.2649, -1.2153, -0.0108, -1.5608, 0.2742, 1.5733, -1.0171, 0.0848, 0.7221, -0.1378, 1.4015, 1.2404, 1.0894, 0.7221, -0.4859, 1.5888, 1.2527, -0.1464, 1.7285, -0.091, -1.4229, 0.6788, -0.0411, -0.2173, -0.231, -1.3331, -0.7188, -1.5976, -0.8673, 0.8591, -1.6726, -1.3033, 0.1048, -1.6827, -0.0573, 1.0206, -0.2238, 0.1207, -0.4005, 0.5459, 1.3635, 0.2205, 1.9154, 1.0779, -0.9888, 1.5359, 1.3043, 0.2133, 1.4671, 0.0968, -0.4355, -0.2034, -0.3397, 1.0055, -0.7078, -1.4403, 0.0839, -1.9868, -1.2194, 0.8417, -1.2551, -1.1487, -0.7231, -1.2385, 0.0094, -0.241, 0.5217, 0.6344, -1.4353, 0.6891, 1.4521, -0.1427, 1.8922, 1.2425, -0.4322, 0.9144, 0.8345, 1.3159, 1.053, -0.196, 0.8191, -0.6634, -0.9006, 1.5992, -0.519, -1.3156, -0.0529, -1.6984, -1.0765, -0.1627, -0.6396, -0.3686, -1.8713, -0.9995, 0.3777, -1.1947, 0.6317, 1.0185, -1.488, 0.2848, 0.9862, 0.4293, 1.5462, 0.7307, 0.7756, 0.4812, -0.0933, 2.2283, 1.0787, -0.4402, 1.3121, -0.516
|
| Instructions |
This is a sampled audio waveform created by summing pure sine waves. Each sine wave has a rationally-related frequency (consonant musical interval). To decode:
1. Compute FFT of the waveform to find frequency peaks
2. Apply a Hann window before FFT to reduce spectral leakage
3. Sort peaks by frequency (low to high)
4. For each adjacent pair, compute: semitones = 12 * log2(f2/f1)
5. Round semitones to the nearest integer
6. Map each semitone count to a letter using the table
Concatenate letters in order.
WARNING: Noise floor is present (0.005). Filter frequencies with magnitude below the noise floor estimate.
|
| Semitone To Letter |
{
"0": "A",
"2": "B",
"3": "C",
"4": "D",
"5": "E",
"7": "F",
"8": "G",
"9": "H",
"10": "I",
"11": "J",
"12": "K",
"14": "L",
"15": "M",
"16": "N",
"17": "O",
"19": "P",
"21": "Q",
"22": "R",
"24": "S",
"26": "T",
"28": "U",
"29": "V",
"31": "W",
"33": "X",
"35": "Y",
"36": "Z"
}
|
| Hann Window Formula |
w[i] = 0.5 * (1 - cos(2*pi*i/(n-1)))
|
| Fft Tip |
Sample rate = 4000 Hz (Nyquist = 2000 Hz). All signal frequencies are between 80 Hz and 1900 Hz.
|
| Hint |
4 frequencies → 3 semitone intervals → 3 letters. Apply Hann window, FFT, find peaks, compute log2 ratios.
|
| Answer Format |
single lowercase letter
|
author's note: Audited: wave-superposition diff 3
— website sponsored —
[ ad space ]