signals silence and noise were added
[tinnitus.git] / tinnitus.html
blob2060a90161ae7fba457321c705af66f214962bbc
1 <!-- This file is part of tinnitus. -->
3 <!-- tinnitus is free software: you can redistribute it and/or modify it -->
4 <!-- under the terms of the GNU General Public License as published by the -->
5 <!-- Free Software Foundation, either version 3 of the License, or (at your -->
6 <!-- option) any later version. -->
8 <!-- tinnitus is distributed in the hope that it will be useful, but WITHOUT -->
9 <!-- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -->
10 <!-- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -->
11 <!-- for more details. -->
13 <!-- You should have received a copy of the GNU General Public License -->
14 <!-- along with tinnitus. If not, see <https://www.gnu.org/licenses/>. -->
16 <!DOCTYPE html>
17 <html>
18 <head>
19 <meta charset="utf-8">
20 <title>Tinnitus</title>
21 <script>
22 function innerhtml(el, txt)
24 if (txt == undefined){
25 return document.getElementById(el).innerHTML;
27 else document.getElementById(el).innerHTML = txt;
30 function value(el, v)
32 if (v == undefined){
33 return document.getElementById(el).value;
35 else document.getElementById(el).innerHTML = v;
38 function fromradio(radio)
40 var l = document.getElementsByName(radio);
41 for(var i=0; i<l.length; i++){
42 if(l[i].checked){
43 return l[i].value;
47 function tune()
49 try {
50 osc.frequency.value = value("u");
52 catch{}
53 return 0;
55 function volume()
57 try {
58 gainNode.gain.value = value("s");
60 catch{}
61 return 0;
63 function stopit()
65 try {osc.stop();}
66 catch{}
67 return 0;
69 </script>
70 </head>
71 <body>
72 <style>
73 input {
74 height: 18px;
75 width: 5.0%;
76 font-size: 1.0em;
77 background-color: magenta;
79 </style>
80 <h3>Tinnitus emits wave with gain and frequency</h3>
81 <input onchange="volume()"type="number" id="s" value=0.0> Gain [0.0 - 1.0]
82 </input>
83 <input onchange="tune()" type="number" id="u" value=440.0> Frequency [Hz]
84 </input>
85 <h3>Select your favorite pulse shape</h3>
86 <input onchange="stopit()" type="radio" name="shape" value="silence" checked> Silence
87 </input>
88 <input onchange="restart()" type="radio" name="shape" value="sine"> Sine
89 </input>
90 <input onchange="restart()" type="radio" name="shape" value="triangle"> Triangle
91 </input>
92 <input onchange="restart()" type="radio" name="shape" value="sawtooth"> Sawtooth
93 </input>
94 <input onchange="restart()" type="radio" name="shape" value="square">Square
95 </input>
96 <input onchange="restart()" type="radio" name="shape" value="noise">Noise
97 </input>
98 <br><br>
99 <script>
100 function restart()
102 const real = new Float32Array([ 0.00000e+00, 7.59181e-04, -1.11408e-03, 2.91996e-04, 4.23812e-04, 1.20184e-03, 4.57657e-04, -7.21596e-04, 1.61630e-04, -2.45549e-04, -1.33368e-03, -1.39998e-03, -9.75385e-04, -9.33799e-04, -1.40920e-03, 1.35099e-03, 1.22264e-03, -9.30483e-04, -2.88551e-04, 8.90436e-04, -1.10664e-03, 1.40680e-03, 6.31855e-05, 9.20271e-04, 4.72159e-04, 7.82522e-04, -1.14904e-03, 9.69452e-04, 1.09639e-03, 1.41418e-03, 2.80195e-04, -1.40955e-03, 7.51101e-04, -1.07457e-03, -4.03347e-04, -9.18105e-04, -1.39778e-03, -1.41306e-03, 1.39357e-03, -3.73317e-04, 1.89210e-04, -1.39429e-03, 1.76488e-04, -1.14532e-03, 1.09828e-03, -2.93870e-04, -8.48826e-04, 5.01755e-04, 1.23509e-03, 1.28054e-03, 1.34314e-03, -1.39539e-03, 1.21247e-03, 5.02267e-04, -7.33409e-04, 1.09099e-03, -8.23275e-04, 1.30081e-03, 1.40304e-03, -1.36456e-03, 1.30453e-03, 1.04047e-04, 1.39021e-03, 1.15554e-03, 8.37852e-04, -1.47817e-04, -1.37031e-03, -1.00130e-03, 9.10049e-05, -1.40983e-03, -6.98957e-04, -1.38642e-03, 1.37136e-03, -1.30703e-03, 1.28648e-03, 1.28267e-03, -2.56680e-04, -3.02371e-04, -1.01793e-04, -9.01599e-04, -8.60087e-04, -5.38228e-04, 7.12429e-04, -1.31524e-03, 1.03137e-03, 6.75073e-04, -6.83926e-04, 1.86340e-04, 1.10853e-03, -8.33841e-04, -5.48003e-04, 1.36164e-03, -1.20049e-03, -7.77890e-04, 8.92360e-04, -1.31346e-03, 1.25589e-03, -1.13590e-03, 5.59750e-04, -5.68018e-04, 1.19867e-03, -1.40566e-03, 3.01343e-04, 1.34569e-03, 1.23983e-03, 8.47985e-04, 1.03736e-03, -8.94035e-04, -1.28691e-03, -1.03337e-03, -2.74238e-04, 3.17185e-04, -4.99539e-04, -1.33662e-03, 2.11514e-04, 5.40924e-04, -2.32061e-04, -1.32621e-03, -1.22401e-03, 6.84360e-04, 1.17860e-03, 1.12733e-03, 9.93221e-04, -1.41363e-03, 9.30132e-05, 1.40773e-03, 1.29792e-03, -5.66174e-04, -1.05010e-03, -2.03588e-06, -9.59405e-04, -3.87383e-04, 1.57294e-04, -1.21958e-03, 4.96369e-05, 8.13981e-04, -1.58292e-04, 9.97012e-04, 3.81483e-04, 7.26751e-04, -4.37875e-05, 1.26196e-03, 1.34528e-03, 1.33788e-03, -1.40125e-03, 6.32436e-04, 8.82461e-05, 4.18366e-04, -1.53824e-04, -7.83376e-04, 1.38466e-03, -9.05157e-04, 8.64476e-05, 1.17720e-03, 9.35886e-04, -1.40283e-03, 1.24678e-03, 1.27997e-03, 3.97495e-04, -1.37287e-03, 5.99547e-04, -1.26679e-03, 4.95798e-05, 1.33957e-03, 7.74153e-04, 1.41421e-03, 4.00278e-04, 1.08942e-03, 9.97052e-04, 1.41408e-03, 1.33342e-03, 9.71587e-04, 1.27067e-03, 1.41373e-03, 1.25219e-03, -1.17517e-03, 5.99148e-04, 7.34134e-04, -1.09918e-03, 1.20825e-03, 5.99691e-04, -8.95245e-04, -1.33801e-03, -1.24172e-03, -1.35189e-03, -5.42120e-04, 1.14600e-03, -1.38780e-03, 6.47886e-05, -4.73150e-04, 1.41253e-03, -1.25203e-03, 1.01629e-03, -1.94655e-05, -9.75134e-04, 1.37933e-03, -1.95226e-05, 7.06377e-04, 1.26159e-03, 9.89080e-04, 6.89367e-04, 1.40242e-03, -5.49783e-05, 1.16145e-03, 1.40671e-03, -7.05462e-04, -1.41400e-03, 7.27771e-04, 6.81395e-04, 1.08369e-03, 1.25193e-03, -8.33359e-04, 1.73791e-05, -9.71461e-04, 1.84853e-04, -4.31773e-04, -5.76839e-04, -6.71760e-04, 1.64653e-04, 1.26344e-03, -9.48017e-04, 2.33016e-04, -8.23095e-04, -1.41103e-03, 1.39155e-03, -2.65364e-04, -1.35528e-03, -2.71379e-04, 1.07086e-03, -1.39157e-03, -1.18182e-03, 1.32854e-03, -1.34749e-03, -7.30201e-04, 8.14521e-04, -1.29618e-03, 1.41392e-03, -7.94487e-04, -1.15200e-03, 7.06414e-04, 1.42890e-04, -6.38268e-04, -1.40611e-03, -1.40511e-03, -4.78677e-04, -3.33707e-04, 5.81517e-04, -1.01976e-03, 1.36785e-03, -1.21265e-03, -4.70814e-04, -6.50445e-04, -9.17511e-04, -8.10385e-04, 5.64729e-04, -1.09472e-03, -9.86350e-04, -1.70816e-04, -6.68610e-04, -8.49107e-05, 4.18275e-04, 1.24318e-03, -5.63637e-04, -8.08591e-04, -6.45370e-05, -1.38494e-03, 1.20515e-03, -9.32058e-05, 1.01487e-03, -5.52464e-04, 1.17592e-03, 1.08241e-03, -9.12369e-04, -1.25318e-03, -1.17853e-03, -7.07954e-04, -3.41171e-04, 2.27963e-04, -3.37735e-04, -6.78514e-04, 5.22663e-04, 1.40739e-03, 1.41386e-03, 6.60898e-04, -6.92790e-04, 5.35436e-04, -1.30313e-03, 1.36672e-03, 1.23468e-03, 1.31952e-04, -4.44822e-04, 1.02394e-03, -5.55237e-04, -1.05392e-03, 2.14853e-04, 1.32464e-03, 1.22299e-03, 9.14514e-04, 4.06924e-04, 3.83078e-04, -1.35027e-03, -4.14039e-04, 1.16933e-03, 1.19236e-03, 9.93564e-04, -1.41412e-03, -1.25520e-03, 7.36978e-04, -2.11671e-04, 9.32427e-04, -1.41260e-03, -1.37751e-03, 8.23631e-04, -1.41376e-03, -3.60758e-04, 5.98754e-04, -5.68344e-04, -1.98822e-04, 9.07886e-04, -1.12767e-03, -1.41261e-03, 7.43719e-04, -2.27794e-04, 6.16516e-04, 2.47821e-04, -1.41415e-03, 1.02323e-03, 9.13459e-04, -9.04480e-04, -6.40511e-04, 1.28670e-03, 1.18679e-03, -1.01808e-03, 7.33825e-04, 5.87047e-04, -1.41378e-03, -7.19677e-04, -1.11377e-03, -7.66522e-04, -1.09597e-03, -7.90964e-05, 8.22387e-04, 1.26983e-03, 1.10176e-03, -8.51200e-04, -9.25857e-04, -3.36787e-04, -6.92068e-04, 1.18856e-03, -1.26933e-03, 1.29611e-03, -1.22369e-03, -1.37170e-04, -7.67153e-04, 1.04559e-04, -1.40980e-03, 7.78127e-04, 1.04920e-03, -9.95811e-04, -1.40546e-03, 3.70227e-04, -1.32273e-03, -1.26488e-03, 6.80828e-04, -1.11411e-03, 5.03984e-05, -6.50050e-04, -1.82888e-04, -9.10636e-04, 1.40781e-03, -7.44545e-04, 1.13125e-03, 9.28052e-04, -1.19780e-03, 1.41340e-03, 2.93585e-04, 2.15843e-04, -3.83260e-04, 1.06277e-03, 9.38796e-04, -2.56213e-04, 1.34728e-03, -1.34252e-03, 1.40910e-03, -3.69665e-04, 3.44096e-04, -1.39523e-03, 9.36443e-04, 1.17504e-03, 1.14642e-03, -1.04836e-03, -4.51889e-04, -7.79256e-04, 5.13124e-04, 9.57015e-04, 1.34080e-03, 1.33529e-03, -1.36459e-03, 2.72573e-04, -5.03408e-04, -1.32311e-03, 1.03631e-03, -1.19579e-03, -1.24508e-03, -1.38933e-03, -1.16944e-03, -9.14512e-04, -4.73069e-04, 1.08240e-03, -1.39894e-03, 6.82702e-04, -1.09120e-03, -1.39575e-03, -1.03743e-03, -1.16366e-03, 1.44972e-04, 6.79809e-04, 1.27928e-03, 1.15016e-03, 1.25490e-03, 6.84030e-04, -1.40491e-03, 2.16922e-04, 6.56008e-04, -3.58828e-04, -8.82096e-04, 1.02038e-03, -7.89392e-04, 5.60907e-04, -7.64169e-04, 1.37753e-03, -6.63425e-05, 2.49771e-04, -9.93924e-04, 7.28318e-04, -5.05342e-04, 2.56182e-04, 4.53710e-04, -1.07571e-03, 1.09118e-03, -6.45163e-04, 2.84716e-04, -2.69693e-04, 4.34037e-04, -1.15029e-03, -5.67013e-04, -1.29438e-03, 1.68465e-04, -1.06520e-03, -1.38420e-03, 7.96935e-04, -1.32941e-03, 1.40828e-03, -1.03222e-03, -1.04400e-03, -4.82457e-04, -1.11775e-04, -9.27438e-05, -8.33704e-04, -1.33849e-03, 1.23753e-03, -5.53597e-04, 5.18832e-04, -4.55160e-04, -5.36682e-04, -8.60526e-04, 1.41321e-03, -1.38400e-03, 7.86874e-04, -1.04032e-03, -8.82891e-04, -1.40465e-03, -1.14781e-03, -9.16120e-04, -2.74878e-04, 4.53013e-04, -6.19674e-04, 8.10446e-04, 1.38412e-03, 1.30293e-03, -5.55760e-04, 5.40240e-04, -1.03723e-03, -4.34470e-04, -1.28771e-03, 1.41418e-03, 1.41330e-03, -4.81044e-04, -1.02721e-04, -7.92199e-04, 8.84609e-04, 5.92791e-04, -7.67908e-04, -7.01915e-04, 1.02487e-03, -8.07318e-04, -5.47180e-04, 1.06090e-03, 5.51320e-04, 7.79113e-04, -1.41388e-03, 6.73169e-04, -6.36856e-04, 1.16551e-03, 5.11410e-04, -1.11484e-03, -3.85442e-04, 9.61104e-04, -1.35196e-03, -9.80257e-05, 1.28886e-03, 1.49721e-04, 1.26637e-03, -1.34098e-03, 1.29226e-03, -1.41334e-03, -1.33777e-03, 1.31203e-03, 4.34021e-04, 5.54620e-04, -1.17217e-03, -7.78655e-04, 1.41360e-03, 1.30089e-03, -6.38406e-04, 9.95651e-04, -1.19806e-03, -9.16626e-04, 8.27999e-05, 2.24930e-04, 3.93786e-04, -1.13479e-04, -1.12082e-03, -1.39009e-03, 7.04890e-04, 3.98736e-04, 9.35806e-04, 9.87491e-04, -7.24367e-04, -1.20573e-03, -1.07837e-03, -1.16010e-03, -8.62552e-04, -1.37292e-03, 8.43128e-04, -1.24345e-03, 1.38399e-03, -4.29316e-04, -1.40503e-03, 7.01526e-04, -1.40790e-03, 1.07452e-03, -1.41132e-03, -1.41122e-03, 1.34906e-03, 5.56358e-04, -1.05881e-03, -9.17401e-04, -1.35071e-03, 8.73911e-04, -1.20849e-03, 2.63666e-05, -1.17842e-03, 1.40572e-03, -2.85943e-04, -1.26519e-03, 5.44864e-04, -1.22763e-03, -1.33577e-03, -1.39993e-03, 1.41356e-03, 1.31904e-03, 1.26304e-03, -8.96196e-04, -1.15816e-03, 2.42248e-04, 2.66849e-04, -9.66520e-04, 1.25402e-03, -1.07073e-04, -1.37587e-03, -1.31014e-03, 8.35464e-04, 1.35212e-03, 1.34197e-03, 1.13933e-03, 1.50892e-04, -7.08921e-04, -1.37669e-03, 2.72534e-04, -1.40017e-03, 1.34450e-03, -1.38238e-03, 1.05680e-03, 1.38443e-03, 5.71703e-04, -1.36535e-03, 2.66952e-04, 1.45889e-04, 1.16858e-03, -6.73763e-05, 1.03094e-04, 1.37720e-03, -6.95629e-04, -1.15642e-03, -1.31232e-03, -1.33226e-03, -1.01764e-03, 5.12106e-04, -1.40068e-03, -9.02173e-04, -8.03118e-04, 1.22410e-03, 3.45745e-04, -1.10900e-03, 9.38122e-04, 1.09093e-03, -9.90885e-04, 4.45435e-04, -8.56069e-04, -1.18107e-03, -6.29706e-04, -1.16293e-03, 1.31860e-03, -1.31203e-03, -1.30273e-03, 6.55016e-05, 1.40424e-03, -7.86370e-04, 1.41192e-03, 1.25476e-03, -1.13663e-03, 1.83293e-04, 1.07363e-03, 1.29173e-03, 6.57314e-04, -1.33935e-03, -1.41001e-03, 3.96526e-04, -9.08220e-04, 1.38146e-03, 7.92432e-04, -3.76507e-04, 1.04423e-03, -9.42068e-04, 1.14115e-03, -2.09895e-05, -1.39790e-03, -2.03549e-04, 1.33547e-03, 1.01666e-03, 9.39754e-04, -1.01128e-03, -2.76629e-04, 1.25821e-03, 5.69257e-04, -2.84903e-04, 7.03266e-04, 4.11783e-04, -9.92906e-04, 6.32212e-04, 9.89457e-04, 1.98808e-04, 1.33630e-03, 1.40885e-03, 7.51578e-04, 1.03098e-03, -1.37377e-03, -8.41678e-04, 1.21827e-03, 1.13963e-03, -1.06535e-03, 1.27750e-03, -1.11058e-03, -1.41386e-03, -1.30343e-03, -3.78975e-04, 5.26917e-05, 1.20531e-03, -1.29376e-03, 5.14742e-04, 1.38070e-03, -1.28651e-03, 5.52698e-04, 3.00554e-05, -8.76459e-04, 1.41410e-03, 1.37885e-03, -1.39876e-03, 4.29006e-04, -7.44284e-04, -4.38814e-04, -6.62664e-04, 1.08594e-03, -8.54713e-04, -7.68862e-04, 1.34454e-03, 1.48130e-04, 4.65061e-04, -4.47878e-04, -5.86648e-04, 1.16559e-03, -5.44804e-04, 2.20243e-05, -4.19514e-04, 5.15403e-04, 5.28334e-04, -1.18874e-03, 1.33524e-03, 1.13648e-03, 7.78105e-04, 5.19823e-05, 9.27409e-04, -1.19824e-03, 1.32118e-03, 1.08714e-03, 1.33211e-03, 1.32750e-03, 1.26096e-03, -1.38756e-03, -6.19056e-05, -1.20808e-03, 6.90339e-04, -1.21915e-03, -1.39863e-03, 5.66126e-04, 1.26435e-03, -1.39462e-03, -1.22953e-03, -1.82556e-04, 2.19164e-04, -1.25762e-04, -9.44632e-04, -1.37373e-03, 1.40648e-03, 1.28530e-03, -8.13514e-04, 3.88455e-04, -1.39994e-03, -1.14925e-03, -4.97131e-04, -6.02917e-04, -8.65841e-04, -1.32553e-03, -1.68626e-04, -4.10004e-04, -7.03708e-04, 3.12628e-04, 8.17783e-05, -7.20472e-05, -5.73258e-04, 1.40691e-03, 7.95809e-04, 8.48491e-04, -1.14013e-03, -6.13996e-04, -6.97130e-04, -1.39417e-03, 8.16812e-04, -1.86869e-06, -5.53254e-05, 1.26711e-03, -1.40844e-03, 1.08861e-03, -1.08164e-03, -1.38742e-03, 6.12821e-04, 1.36745e-03, -1.17627e-04, -7.87242e-04, -9.01058e-04, 1.36072e-03, 1.39835e-03, 1.41349e-03, -1.40968e-03, -3.76476e-04, -3.66634e-04, 6.03318e-04, -1.41268e-03, -1.38478e-03, 1.24667e-03, 5.12471e-04, -1.40676e-03, 1.25348e-03, 1.36197e-03, 1.21993e-03, 4.56800e-05, -3.40027e-04, -1.08261e-03, 1.18026e-03, 1.37318e-03, 9.51580e-04, 7.11509e-04, -1.39809e-03, 6.46817e-05, 2.43188e-04, 1.41285e-03, -1.24518e-03, -1.20152e-04, -5.57253e-05, 1.25013e-03, 1.16261e-03, 3.31372e-04, 1.33487e-03, 1.13634e-03, -2.20324e-04, 9.48219e-05, 5.18481e-04, 1.16946e-03, -2.90515e-05, -2.40638e-04, 6.55457e-04, 1.30729e-03, 9.64423e-05, 1.16121e-03, 1.40426e-03, 7.96911e-04, -7.69289e-04, -5.00193e-04, -1.36175e-03, -1.29577e-03, -8.02030e-04, -6.33977e-04, -1.14155e-03, 9.68251e-04, 1.23383e-03, -1.01865e-03, 9.22128e-04, -7.58692e-04, 1.06399e-03, 1.03506e-03, -1.22865e-03, 3.44267e-04, -6.94303e-04, -1.39099e-03, -5.39911e-04, 1.32517e-03, 1.61418e-04, 1.01814e-03, 1.37354e-03, -1.40799e-03, -1.14046e-03, 3.38210e-04, -1.35209e-03, 7.56559e-04, -5.06091e-04, -1.29348e-03, 1.41339e-03, -8.32788e-04, 9.92293e-04, -1.37399e-03, 1.22095e-03, 2.67183e-04, 3.16581e-04, -5.64286e-04, 1.19514e-03, 9.49793e-04, 1.30597e-03, 1.35252e-03, -1.39380e-03, 6.25095e-04, 1.27143e-03, 1.09236e-03, -1.07823e-03, -1.16369e-03, -9.12298e-04, -4.34145e-04, -1.37107e-03, -1.17767e-03, 6.21576e-04, -1.24909e-03, 1.24587e-03, 2.49919e-04, 3.45188e-04, -9.94966e-04, -1.04233e-03, 1.15709e-03, 5.03704e-04, -1.07435e-03, -2.41937e-05, 1.29499e-03, 8.26009e-04, 6.92656e-04, -3.13428e-04, -9.33876e-04, -1.40695e-03, -1.00215e-03, -1.41405e-03, -1.24433e-03, -6.66924e-04, 1.39003e-03, 5.28180e-05, -1.14565e-03, 9.08277e-04, 8.74193e-04, 4.71534e-04, 2.42359e-04, 7.89615e-04, -1.30335e-04, 5.69590e-04, -7.06796e-04, -5.45212e-04, 1.11430e-03, 1.08074e-03, 1.13235e-03, -1.40281e-03, -1.80073e-04, 4.39349e-04, -3.32184e-04, -7.75373e-04, 1.33652e-03, 2.48241e-04, -1.41288e-03, 2.51567e-04, 1.30262e-03, 8.86869e-04, -3.91150e-04, -1.31158e-03, -8.70149e-04, 9.89984e-04, 1.52113e-04, -6.49975e-04, -9.72238e-04, 7.01106e-04, 5.45272e-04, 2.06308e-04, 1.39167e-03, -1.19212e-03, -1.04550e-03, 1.22150e-04, 2.16249e-04, -3.02335e-04, 1.25292e-03, 1.03097e-03, 6.60008e-04, 6.10278e-04, -8.99987e-04, -1.32461e-03, -1.02304e-03, -8.48964e-04, 1.14053e-03, -6.47666e-04, 9.64461e-04, -1.10314e-03, 1.12193e-03, 4.85638e-04, -2.49771e-06, -1.13769e-03, -9.47150e-04, -1.11329e-03, -1.96531e-04, -1.14598e-03, 1.28622e-03, 1.15216e-03, -1.28782e-03, 1.03838e-03, -6.43230e-04, -1.37121e-03, -1.39182e-03, -3.72588e-04, 2.26360e-04, 3.49068e-05, -1.25306e-03, -4.46882e-04, 9.93192e-04, -4.94794e-06, -1.40323e-03, -1.40864e-03, 5.00007e-04, 8.93667e-04, 9.45932e-04, -3.78925e-04, 5.65096e-04, 1.41399e-03, 1.14814e-03, -3.40946e-04, 5.09159e-04, -8.27722e-04, -5.40974e-04, 6.38767e-04, 1.35873e-03, 1.36915e-03, 2.21737e-04, 1.07269e-03, 9.10086e-04, 3.75258e-04, 1.41327e-03, -1.37796e-03, -6.97530e-04, -1.38175e-03, 6.69955e-04, 1.10272e-03, -3.35272e-04, -1.17100e-03, 4.91628e-04, 7.42602e-04, 7.97032e-04, -6.52719e-04, -6.32931e-04, -8.10971e-04, ]);
103 const imag = new Float32Array([ 0.00000e+00, -1.19317e-03, 8.71107e-04, -1.38374e-03, -1.34922e-03, -7.45374e-04, 1.33811e-03, 1.21626e-03, -1.40495e-03, 1.39273e-03, -4.70426e-04, 2.00170e-04, -1.02402e-03, 1.06208e-03, -1.18937e-04, -4.18131e-04, -7.10733e-04, -1.06499e-03, -1.38446e-03, 1.09869e-03, -8.80539e-04, 1.44590e-04, 1.41280e-03, 1.07383e-03, -1.33307e-03, 1.17799e-03, 8.24450e-04, 1.02964e-03, 8.93273e-04, -9.55641e-06, 1.38618e-03, -1.14788e-04, -1.19827e-03, -9.19403e-04, 1.35547e-03, -1.07568e-03, -2.14974e-04, 5.70046e-05, -2.40737e-04, 1.36405e-03, -1.40150e-03, -2.36533e-04, -1.40316e-03, 8.29610e-04, -8.90941e-04, 1.38334e-03, 1.13115e-03, -1.32221e-03, -6.88870e-04, 6.00175e-04, -4.42699e-04, -2.29963e-04, 7.27953e-04, 1.32202e-03, -1.20918e-03, -8.99860e-04, 1.14988e-03, 5.54887e-04, 1.77451e-04, 3.71443e-04, 5.46084e-04, 1.41038e-03, -2.59460e-04, -8.15301e-04, -1.13930e-03, 1.40647e-03, -3.49638e-04, 9.98699e-04, -1.41128e-03, -1.11271e-04, -1.22941e-03, -2.79005e-04, 3.45503e-04, 5.40066e-04, -5.87349e-04, -5.95624e-04, -1.39072e-03, 1.38151e-03, -1.41055e-03, -1.08955e-03, 1.12261e-03, -1.30779e-03, 1.22166e-03, 5.19743e-04, -9.67608e-04, -1.24269e-03, 1.23784e-03, 1.40188e-03, -8.78163e-04, 1.14224e-03, -1.30372e-03, -3.82008e-04, -7.47544e-04, -1.18105e-03, -1.09713e-03, 5.24241e-04, -6.50182e-04, 8.42452e-04, -1.29872e-03, -1.29513e-03, -7.50467e-04, 1.55270e-04, 1.38174e-03, -4.34883e-04, -6.80304e-04, 1.13178e-03, -9.61194e-04, -1.09577e-03, 5.86392e-04, -9.65479e-04, 1.38737e-03, -1.37818e-03, 1.32305e-03, 4.62007e-04, 1.39831e-03, 1.30668e-03, 1.39504e-03, -4.91098e-04, 7.08379e-04, 1.23760e-03, -7.81598e-04, 8.53884e-04, 1.00673e-03, 4.04774e-05, -1.41115e-03, -1.35286e-04, -5.61619e-04, -1.29593e-03, 9.47251e-04, -1.41421e-03, 1.03901e-03, 1.36012e-03, 1.40544e-03, -7.15977e-04, 1.41334e-03, 1.15648e-03, -1.40533e-03, 1.00298e-03, -1.36179e-03, 1.21319e-03, -1.41354e-03, 6.38314e-04, -4.36137e-04, 4.58334e-04, -1.91021e-04, 1.26492e-03, 1.41146e-03, -1.35091e-03, -1.40582e-03, -1.17742e-03, -2.87610e-04, -1.08660e-03, -1.41157e-03, 7.83703e-04, 1.06024e-03, -1.79100e-04, 6.67495e-04, 6.01390e-04, 1.35720e-03, 3.39461e-04, -1.28084e-03, -6.28692e-04, -1.41334e-03, 4.53368e-04, 1.18351e-03, -5.71259e-08, 1.35638e-03, -9.01757e-04, 1.00294e-03, -1.95570e-05, 4.71160e-04, -1.02763e-03, 6.20801e-04, 3.69749e-05, -6.57279e-04, -7.86745e-04, 1.28102e-03, 1.20874e-03, 8.89831e-04, -7.34930e-04, -1.28077e-03, 1.09478e-03, -4.57962e-04, -6.76860e-04, 4.15192e-04, -1.30618e-03, 8.28664e-04, -2.72046e-04, -1.41273e-03, 1.33271e-03, -6.90286e-05, -6.57596e-04, -9.83443e-04, -1.41408e-03, -1.02426e-03, 3.12150e-04, -1.41408e-03, -1.22517e-03, -6.39056e-04, -1.01080e-03, -1.23482e-03, -1.82235e-04, -1.41314e-03, -8.06870e-04, -1.45506e-04, -1.22569e-03, 2.43590e-05, 1.21258e-03, -1.23923e-03, -9.08631e-04, 6.57781e-04, -1.14259e-03, 1.41411e-03, -1.02775e-03, 1.40208e-03, -1.34669e-03, 1.29122e-03, 1.24448e-03, 1.40460e-03, 6.35388e-04, -1.04941e-03, 1.39488e-03, -1.15001e-03, -9.48817e-05, -2.52193e-04, 1.38909e-03, -4.03988e-04, -1.38793e-03, 9.23721e-04, 2.52038e-04, -7.76732e-04, -4.84744e-04, 4.29255e-04, 1.21112e-03, -1.15610e-03, 5.65618e-04, 2.87120e-05, 1.16995e-03, -8.20299e-04, -1.22514e-03, 1.40698e-03, -1.26199e-03, 1.51210e-04, 1.60170e-04, 1.33074e-03, -1.37428e-03, 1.28912e-03, -9.79839e-04, 3.59134e-04, 7.27651e-04, -1.33354e-03, -1.25576e-03, -1.07618e-03, 1.15900e-03, 1.29657e-03, -8.95318e-04, -1.01347e-03, -1.40386e-03, 1.24618e-03, -1.41166e-03, 1.35094e-03, -6.74172e-04, -1.29704e-03, -1.16025e-03, 1.41274e-03, -2.86271e-04, 7.40012e-04, 1.41114e-03, -9.84910e-04, -1.30184e-03, 7.85623e-04, 9.10158e-04, 1.08055e-03, -6.55387e-04, -7.81712e-04, -1.22426e-03, 1.37244e-03, -1.39572e-03, 1.37329e-03, 1.24081e-03, 1.31409e-03, -1.38721e-04, 3.17957e-05, -1.25029e-03, 1.23290e-03, 1.30893e-03, 5.49419e-04, -3.63419e-04, -6.89616e-04, -1.40804e-03, -1.34244e-03, 9.75476e-04, -1.30066e-03, 9.42996e-04, -1.39780e-03, -4.95304e-04, -7.10135e-04, -1.07873e-03, 1.35440e-03, -1.36134e-03, -4.20437e-04, 1.35225e-03, -7.95402e-04, -7.60450e-04, -1.00639e-03, 1.64923e-05, -6.51518e-04, 1.20701e-03, 1.39828e-03, -1.06329e-03, 6.75166e-05, 3.20092e-04, -1.14962e-03, 3.57401e-05, 1.36743e-03, 1.28121e-03, -1.29498e-03, -1.40017e-03, 1.08432e-03, -8.53442e-04, 6.73134e-05, -1.20286e-03, -1.39575e-03, 1.27276e-03, 1.39233e-03, 1.31020e-05, 9.76219e-04, 1.07963e-03, 1.08716e-03, 1.26085e-03, -5.86862e-04, -7.69108e-04, -9.81585e-04, -1.20893e-03, -1.28661e-03, 3.48782e-05, 1.21740e-03, 8.71498e-04, -1.18846e-03, -8.93783e-04, 1.41200e-03, 1.15051e-03, 6.22527e-04, 8.86640e-04, -1.12936e-03, 1.06901e-03, 1.37353e-03, 1.23331e-03, 7.66371e-04, 6.23542e-04, -5.65770e-04, -7.08930e-04, 1.40755e-03, -1.18806e-03, -1.41034e-03, 1.11606e-04, 1.18090e-03, -9.48251e-04, -1.00417e-03, -1.57084e-04, 1.36489e-03, -5.00393e-04, 6.32526e-04, -1.23955e-03, 8.71069e-04, 1.41332e-03, 1.25596e-03, -1.40234e-03, -1.08201e-03, -1.34464e-04, 1.20235e-03, -8.48694e-04, 1.06711e-03, 7.51853e-04, 4.80498e-05, -1.38340e-03, -1.39765e-03, 1.36129e-03, 9.33020e-04, -1.05767e-03, -1.39081e-03, 4.29932e-04, 4.44572e-04, -1.20105e-04, -1.36504e-03, 1.37171e-03, 2.30933e-04, -1.05975e-03, 7.86947e-04, 8.28083e-04, 9.49178e-04, 1.34007e-03, -1.18015e-03, -1.31784e-03, 1.04121e-03, 4.49743e-04, 4.65834e-04, 3.71325e-04, -1.38770e-03, -1.32158e-03, 4.99388e-04, 9.62324e-04, -7.55046e-04, -6.70648e-04, -2.64117e-04, -7.95239e-04, 1.07873e-03, 1.33274e-03, -9.10165e-04, 2.07313e-04, 1.23851e-03, -8.99598e-04, -2.27786e-04, -9.61113e-04, -8.03675e-04, 1.40676e-03, -1.24010e-03, 6.02868e-04, 8.22874e-04, -6.52091e-04, 1.23778e-03, 1.61957e-04, 1.39748e-03, -1.25286e-03, 1.36793e-03, 1.10540e-03, -9.79195e-04, 1.17340e-03, -1.29822e-03, -1.18998e-03, 3.20001e-04, 1.41266e-03, -1.39198e-03, -1.00604e-03, -1.21225e-03, 1.32084e-03, 1.39082e-03, 1.33946e-03, -9.18066e-04, 8.99622e-04, -1.25848e-03, -1.38526e-03, -1.38826e-03, 1.34596e-03, 8.22693e-04, 1.29557e-03, 5.69726e-04, 1.40414e-03, 9.30239e-04, -2.89794e-04, 1.16829e-03, -4.82372e-04, 1.29368e-04, 9.66704e-04, 9.53969e-04, 1.32937e-03, -1.40979e-03, 1.41117e-03, -1.14234e-03, -4.56545e-04, -6.84486e-04, -1.30136e-03, -1.31560e-03, -1.33897e-03, 1.30842e-03, -1.12227e-03, 5.33443e-05, -2.90784e-04, -1.17509e-03, -9.57989e-04, -1.10476e-03, -1.64148e-04, 8.26148e-04, 1.07737e-03, -1.38724e-03, -1.33969e-03, -1.27122e-03, 1.15896e-03, 2.90200e-04, 5.49891e-04, -1.30043e-03, 1.30696e-03, -9.61328e-04, -1.34582e-03, -5.84649e-04, 1.00007e-05, 5.07192e-05, 1.32989e-03, 1.41048e-03, -1.17150e-03, -1.10339e-03, 1.28398e-03, 1.18757e-03, -1.22773e-03, -9.74493e-04, -1.16114e-03, 1.30407e-03, -9.35141e-04, 1.30232e-03, 1.18025e-03, -3.07511e-05, -1.24372e-03, -1.26270e-03, -8.00995e-04, 1.31851e-03, 8.70139e-04, -1.36067e-03, -1.03744e-03, -4.14962e-04, -1.41081e-03, -5.82094e-04, 1.40627e-03, -6.29532e-04, -4.49192e-04, -5.74509e-04, 4.96889e-05, -4.58663e-04, -5.27794e-04, -1.34597e-03, -1.30092e-03, -7.91207e-04, -1.18055e-03, -4.17575e-05, -5.54698e-04, 1.26192e-03, -1.00433e-03, -7.51436e-04, -1.07694e-03, -1.41179e-03, -1.39621e-03, -1.35828e-03, 1.40965e-03, -8.62413e-04, 2.60071e-04, 1.22602e-03, -1.35684e-03, -1.06031e-03, -1.01235e-03, -1.21462e-03, 7.39056e-04, -9.14945e-04, -8.08805e-04, -1.12072e-03, -3.39263e-04, 1.13540e-03, -6.73671e-04, 2.90815e-04, -1.34747e-03, -1.60933e-04, -1.22795e-03, -1.33523e-04, 9.19457e-04, 9.04841e-05, -9.18942e-05, 4.24318e-04, -1.30018e-03, 9.37511e-04, -1.07628e-03, 4.19042e-04, 1.11188e-03, 7.34542e-04, 1.41397e-03, 7.81874e-04, 1.54804e-04, -1.38500e-03, -6.31894e-04, -1.30504e-03, -7.02091e-04, 4.64451e-04, 2.00483e-04, -4.29574e-05, 5.10042e-04, 6.36177e-04, -1.09400e-03, -8.11578e-04, 1.39331e-03, 1.38881e-03, -1.03240e-03, -6.53787e-04, -1.41015e-03, 3.27097e-04, 5.32467e-04, -1.14105e-03, -4.14458e-04, -4.46210e-04, -8.37810e-04, -1.40614e-03, 1.22370e-03, -3.23593e-04, 1.38771e-03, 1.98814e-04, -4.38534e-04, 2.98359e-04, -9.39775e-04, -2.88725e-04, 1.29350e-03, 3.68551e-04, -1.38879e-03, -1.40667e-03, -7.96511e-04, 1.41261e-03, -1.41045e-03, -3.21454e-04, 1.23130e-03, 8.14061e-04, -5.27082e-04, -4.74431e-04, -9.82040e-04, 1.31824e-03, 1.95209e-04, 1.08907e-03, -1.16405e-03, -7.08215e-04, 1.37130e-03, -8.77568e-04, -1.05827e-03, 8.99931e-04, 1.00903e-03, 1.34223e-03, -1.12568e-03, -7.77860e-04, -1.26628e-03, -8.04729e-04, 5.11179e-04, -5.27801e-04, -5.50356e-04, 1.41270e-03, 1.67641e-04, 1.17542e-03, 8.05808e-05, -6.52371e-04, -8.41477e-04, -1.40229e-03, -9.20504e-04, -5.75706e-04, 1.25217e-03, 4.54038e-04, 1.09003e-04, -1.35749e-03, -1.08404e-03, -3.02588e-04, 1.17135e-03, 1.36317e-03, -9.53725e-04, 1.05475e-03, -8.35337e-04, -1.41406e-03, 2.14158e-04, 1.39949e-03, -4.65307e-04, 9.83057e-04, -1.05682e-03, -9.88591e-04, -1.38689e-03, -6.45683e-04, 1.29458e-03, 1.38522e-03, 1.22695e-03, 1.35294e-03, -1.00704e-03, 1.26503e-03, 1.01043e-03, 1.40017e-03, -4.62922e-04, 1.23056e-04, 1.19797e-03, 9.68027e-04, 3.35774e-04, -1.13648e-03, -7.18205e-04, 8.37402e-04, -9.30071e-04, 6.06617e-04, 8.75558e-04, 3.17110e-05, 5.48699e-04, 1.36249e-03, 1.41323e-03, -7.39754e-04, -5.71133e-04, 1.31721e-03, 3.06041e-04, 5.87281e-04, -1.30174e-03, -1.41389e-03, 1.10987e-03, -1.80385e-05, 3.14278e-04, -2.08483e-04, 1.34757e-03, -1.20251e-03, -1.34441e-03, 1.24935e-03, -9.05941e-04, -1.12671e-03, 1.18695e-03, 4.38435e-04, -1.40643e-03, -1.33556e-03, -1.34142e-03, -1.28680e-03, -8.00869e-04, 1.30506e-03, -1.41404e-03, 1.35056e-03, -1.31695e-03, 1.31182e-03, -7.66087e-04, 4.65978e-04, 8.41673e-04, 1.18091e-03, 1.41326e-03, 1.06767e-03, -7.51149e-04, 5.04477e-04, -9.04509e-04, -4.74852e-04, 4.87584e-04, -6.40300e-04, 2.73284e-04, 1.41286e-03, -7.35218e-04, 1.23427e-03, -7.16718e-04, 2.09335e-04, -1.29596e-03, -6.33573e-04, -2.34584e-04, -6.98755e-04, -1.40238e-03, 1.39713e-03, 1.40861e-03, -1.05246e-03, -3.35973e-04, 1.47683e-04, -5.89910e-04, 1.15680e-03, 1.35982e-03, -2.00396e-04, 8.24155e-04, 1.32396e-03, -1.27925e-03, -1.11818e-03, 4.92909e-04, 1.40412e-03, -1.35348e-03, 1.22670e-03, 1.37923e-03, -1.41185e-03, 1.41238e-03, -1.29282e-03, 1.43502e-04, -1.16905e-03, -1.13140e-03, -8.36727e-04, 1.27397e-03, -1.23045e-03, -2.37279e-04, -1.15448e-03, 1.41421e-03, 1.41313e-03, 6.28032e-04, -1.27623e-04, -9.02735e-04, -9.11078e-04, -2.74006e-04, -1.27454e-03, -3.60671e-04, -1.40931e-03, 1.17484e-03, 1.09000e-03, 3.85288e-04, 2.11249e-04, 4.50983e-05, 1.13136e-04, 1.36318e-03, -1.36586e-03, -1.27906e-03, -6.58158e-05, 2.87038e-04, 6.67697e-04, 1.31809e-03, 1.45041e-04, -6.54826e-04, 3.80835e-04, 7.15383e-04, 1.41348e-03, -1.37273e-03, -9.09924e-04, 7.79095e-04, -3.38213e-04, -1.04618e-03, 1.22219e-03, 2.12914e-04, -1.41273e-03, -1.39315e-03, 6.20038e-05, -6.70473e-04, -1.40910e-03, -1.41312e-03, -6.61187e-04, 8.05194e-04, -1.37484e-03, -4.67029e-04, 8.41859e-04, 1.39695e-03, 1.41103e-03, -1.31574e-03, 7.95220e-04, -1.41392e-03, 1.39359e-03, 1.25315e-03, -5.39440e-04, -1.41092e-03, 8.07218e-04, -1.67471e-04, -1.16830e-03, 1.18667e-03, -1.32280e-03, 3.81615e-04, 5.66556e-04, -1.16480e-03, 1.26415e-03, -8.34788e-04, 1.03077e-03, 6.91131e-04, 9.80992e-04, 1.07223e-03, -1.19348e-03, 9.31625e-04, -9.63662e-04, -7.00296e-04, 1.37167e-03, -1.23205e-03, -2.55257e-04, 1.30709e-03, -4.93882e-04, -1.40497e-03, 9.81526e-04, 3.36746e-04, -1.32523e-04, 8.36279e-04, 1.37318e-03, 4.14563e-04, 1.19483e-03, 1.32056e-03, 5.71760e-04, 4.82838e-05, -1.14301e-03, 1.00765e-03, 3.34900e-04, 7.13648e-04, -1.38875e-03, -1.37832e-03, -1.29676e-03, -7.56073e-04, -1.04780e-03, 5.42624e-04, 4.13139e-04, -2.39423e-04, 1.26856e-03, -6.19247e-04, 8.98195e-04, 9.15102e-04, -8.03639e-04, -1.08061e-03, -1.34593e-03, -3.46650e-04, 7.82996e-04, -1.27029e-03, -6.63152e-04, -6.69193e-04, 1.39196e-03, -1.37144e-03, 1.00501e-03, 9.55801e-04, 8.13112e-04, -1.32147e-03, 9.19657e-04, -1.41401e-03, -5.68322e-04, -1.14792e-03, -1.23298e-03, -1.37904e-03, -1.06201e-03, -1.43158e-04, -9.97850e-04, -2.13363e-05, -6.72037e-04, -1.24708e-03, 2.60424e-04, -1.41323e-03, -8.29143e-04, 1.08399e-03, 1.11166e-03, 1.33329e-03, -1.39329e-03, -1.17325e-03, -1.40819e-03, 1.29444e-03, -1.22492e-03, 1.30489e-03, 8.70822e-04, -9.12139e-04, 8.47226e-04, 1.79212e-04, 1.40270e-03, 1.34424e-03, 1.37465e-03, -1.18271e-03, -4.62281e-04, 1.39226e-03, -6.14227e-05, -1.39166e-03, -5.50629e-04, 1.10157e-03, 1.35904e-03, -5.28919e-04, -1.11483e-03, -1.00992e-03, 1.40601e-03, -1.25600e-03, -1.02701e-03, -1.22819e-03, -1.30487e-03, -1.39908e-03, 2.51478e-04, -7.60825e-04, -9.52323e-04, -1.40893e-03, -1.39758e-03, 1.38152e-03, 6.55882e-04, -9.68039e-04, 1.25076e-03, 1.27576e-03, 1.09088e-03, 4.95376e-04, 9.76417e-04, -1.13104e-03, 8.36175e-04, 1.25719e-03, -1.03432e-03, -8.84922e-04, 8.60972e-04, -1.32822e-03, -1.41421e-03, 8.40032e-04, 1.05019e-03, 8.72116e-04, 1.40049e-03, -8.28696e-04, 5.87914e-04, -8.20082e-04, 5.84405e-04, -9.60089e-04, -1.25947e-03, 3.46089e-04, 2.50679e-04, 1.36425e-03, 1.39598e-03, 1.41378e-03, -6.55628e-04, 1.34175e-03, 1.00676e-03, -1.41420e-03, 1.75877e-04, 1.25429e-04, 1.32287e-03, -1.09607e-03, 1.05129e-03, 1.36250e-03, 1.29641e-03, 2.51258e-05, -8.25696e-04, 1.37250e-03, -1.31938e-03, -1.14668e-03, -1.30666e-03, 1.26174e-03, 3.92244e-04, -3.54141e-04, -1.39672e-03, 9.21591e-04, -1.08247e-03, 1.36352e-03, -5.15618e-05, -3.18159e-04, -1.23022e-03, 3.01258e-04, -1.24546e-03, -8.85448e-04, -1.37390e-03, 7.92940e-04, 1.32601e-03, -1.20355e-03, 1.16822e-03, -1.25457e-03, 1.26467e-03, 1.15859e-03, ]);
104 try {
105 osc.stop();
106 delete ctx;
108 catch {}
109 ctx = new AudioContext();
110 osc = ctx.createOscillator();
111 var type = fromradio("shape");
112 if( type != "noise"){
113 osc.type = type;
115 else {
116 const wave = ctx.createPeriodicWave(real, imag);
117 osc.setPeriodicWave(wave);
119 gainNode = ctx.createGain();
120 osc.connect(gainNode);
121 gainNode.connect(ctx.destination);
122 osc.frequency.value = value("u");
123 gainNode.gain.value = value("s");
124 osc.start();
125 return 0;
127 </script>
128 </body>
129 </html>