1const t={id:"quantization-test",title:"Quantization Test",description:"Bit depth reduction and dither testing.",category:"Quality Tests",defaultSettings:{bitDepth:16,ditherType:"none",testSignal:"sine",frequency:1e3,level:-40,playing:!1},ditherTypes:{none:"No Dither",triangular:"Triangular",shaped:"Noise Shaped"},createNodes(t,e){const a=t.createOscillator(),i=t.createGain(),n=t.createAnalyser() 2return a.connect(i),i.connect(n),n.connect(e),{oscillator:a,gainNode:i,analyser:n,isStarted:!1}},start(t,e,a){t.oscillator.frequency.value=e.frequency,t.gainNode.gain.value=Math.pow(10,e.level/20),t.isStarted||(t.oscillator.start(),t.isStarted=!0)},stop(t){t.isStarted&&(t.oscillator.stop(),t.isStarted=!1)},updateSettings(t,e,a){t.isStarted&&(t.oscillator.frequency.value=e.frequency,t.gainNode.gain.value=Math.pow(10,e.level/20))},keyboard:{handlers:{" ":t=>({playing:!t.playing})}},visualization:{type:"quantization-display"},controls:{showPlayButton:!0,infoText:"Test bit depth reduction. Dither reduces quantization noise."}} 3export{t as default}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.