tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_convolverNodeWithGain.html (1682B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Test ConvolverNode after a GainNode - Bug 891254 </title>
      5  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
      7 </head>
      8 <body>
      9 <pre id="test">
     10 <script src="webaudio.js" type="text/javascript"></script>
     11 <script class="testbody" type="text/javascript">
     12 
     13 const signalLength = 2048;
     14 const responseLength = 100;
     15 const outputLength = 4096; // > signalLength + responseLength
     16 
     17 var gTest = {
     18  length: outputLength,
     19  numberOfChannels: 1,
     20  createGraph(context) {
     21    var buffer = context.createBuffer(1, signalLength, context.sampleRate);
     22    for (var i = 0; i < signalLength; ++i) {
     23      buffer.getChannelData(0)[i] = Math.sin(2 * Math.PI * i / signalLength);
     24    }
     25 
     26    var source = context.createBufferSource();
     27    source.buffer = buffer;
     28    source.start(0);
     29 
     30    var response = context.createBuffer(1, responseLength, context.sampleRate);
     31    for (var i = 0; i < responseLength; ++i) {
     32      response.getChannelData(0)[i] = i / responseLength;
     33    }
     34 
     35    var gain = context.createGain();
     36    gain.gain.value = -1;
     37    source.connect(gain);
     38 
     39    var convolver1 = context.createConvolver();
     40    convolver1.buffer = response;
     41    gain.connect(convolver1);
     42 
     43    var convolver2 = context.createConvolver();
     44    convolver2.buffer = response;
     45    source.connect(convolver2);
     46 
     47    // The output of convolver1 should be the inverse of convolver2, so blend
     48    // them together and expect silence.
     49    var blend = context.createGain();
     50    convolver1.connect(blend);
     51    convolver2.connect(blend);
     52 
     53    return blend;
     54  },
     55 };
     56 
     57 runTest();
     58 
     59 </script>
     60 </pre>
     61 </body>
     62 </html>