gitextract_3dx9qg9q/ ├── .github/ │ ├── CONTRIBUTING.md │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── codecov.yml │ └── workflows/ │ ├── stale.yml │ └── test.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── Tone/ │ ├── classes.ts │ ├── component/ │ │ ├── analysis/ │ │ │ ├── Analyser.test.ts │ │ │ ├── Analyser.ts │ │ │ ├── DCMeter.test.ts │ │ │ ├── DCMeter.ts │ │ │ ├── FFT.test.ts │ │ │ ├── FFT.ts │ │ │ ├── Follower.test.ts │ │ │ ├── Follower.ts │ │ │ ├── Meter.test.ts │ │ │ ├── Meter.ts │ │ │ ├── MeterBase.ts │ │ │ ├── Waveform.test.ts │ │ │ └── Waveform.ts │ │ ├── channel/ │ │ │ ├── Channel.test.ts │ │ │ ├── Channel.ts │ │ │ ├── CrossFade.test.ts │ │ │ ├── CrossFade.ts │ │ │ ├── Merge.test.ts │ │ │ ├── Merge.ts │ │ │ ├── MidSideMerge.test.ts │ │ │ ├── MidSideMerge.ts │ │ │ ├── MidSideSplit.test.ts │ │ │ ├── MidSideSplit.ts │ │ │ ├── Mono.test.ts │ │ │ ├── Mono.ts │ │ │ ├── MultibandSplit.test.ts │ │ │ ├── MultibandSplit.ts │ │ │ ├── PanVol.test.ts │ │ │ ├── PanVol.ts │ │ │ ├── Panner.test.ts │ │ │ ├── Panner.ts │ │ │ ├── Panner3D.test.ts │ │ │ ├── Panner3D.ts │ │ │ ├── Recorder.test.ts │ │ │ ├── Recorder.ts │ │ │ ├── Solo.test.ts │ │ │ ├── Solo.ts │ │ │ ├── Split.test.ts │ │ │ ├── Split.ts │ │ │ ├── Volume.test.ts │ │ │ └── Volume.ts │ │ ├── dynamics/ │ │ │ ├── Compressor.test.ts │ │ │ ├── Compressor.ts │ │ │ ├── Gate.test.ts │ │ │ ├── Gate.ts │ │ │ ├── Limiter.test.ts │ │ │ ├── Limiter.ts │ │ │ ├── MidSideCompressor.test.ts │ │ │ ├── MidSideCompressor.ts │ │ │ ├── MultibandCompressor.test.ts │ │ │ └── MultibandCompressor.ts │ │ ├── envelope/ │ │ │ ├── AmplitudeEnvelope.test.ts │ │ │ ├── AmplitudeEnvelope.ts │ │ │ ├── Envelope.test.ts │ │ │ ├── Envelope.ts │ │ │ ├── FrequencyEnvelope.test.ts │ │ │ └── FrequencyEnvelope.ts │ │ ├── filter/ │ │ │ ├── BiquadFilter.test.ts │ │ │ ├── BiquadFilter.ts │ │ │ ├── Convolver.test.ts │ │ │ ├── Convolver.ts │ │ │ ├── EQ3.test.ts │ │ │ ├── EQ3.ts │ │ │ ├── FeedbackCombFilter.test.ts │ │ │ ├── FeedbackCombFilter.ts │ │ │ ├── FeedbackCombFilter.worklet.ts │ │ │ ├── Filter.test.ts │ │ │ ├── Filter.ts │ │ │ ├── LowpassCombFilter.test.ts │ │ │ ├── LowpassCombFilter.ts │ │ │ ├── OnePoleFilter.test.ts │ │ │ ├── OnePoleFilter.ts │ │ │ ├── PhaseShiftAllpass.test.ts │ │ │ └── PhaseShiftAllpass.ts │ │ └── index.ts │ ├── core/ │ │ ├── Global.ts │ │ ├── Tone.ts │ │ ├── clock/ │ │ │ ├── Clock.test.ts │ │ │ ├── Clock.ts │ │ │ ├── TickParam.test.ts │ │ │ ├── TickParam.ts │ │ │ ├── TickSignal.test.ts │ │ │ ├── TickSignal.ts │ │ │ ├── TickSource.test.ts │ │ │ ├── TickSource.ts │ │ │ ├── Ticker.test.ts │ │ │ ├── Ticker.ts │ │ │ ├── Transport.test.ts │ │ │ ├── Transport.ts │ │ │ ├── TransportEvent.test.ts │ │ │ ├── TransportEvent.ts │ │ │ ├── TransportRepeatEvent.test.ts │ │ │ └── TransportRepeatEvent.ts │ │ ├── context/ │ │ │ ├── AbstractParam.ts │ │ │ ├── AudioContext.ts │ │ │ ├── BaseContext.ts │ │ │ ├── Context.test.ts │ │ │ ├── Context.ts │ │ │ ├── ContextInitialization.ts │ │ │ ├── Delay.test.ts │ │ │ ├── Delay.ts │ │ │ ├── Destination.test.ts │ │ │ ├── Destination.ts │ │ │ ├── DummyContext.test.ts │ │ │ ├── DummyContext.ts │ │ │ ├── Gain.test.ts │ │ │ ├── Gain.ts │ │ │ ├── Listener.test.ts │ │ │ ├── Listener.ts │ │ │ ├── Offline.test.ts │ │ │ ├── Offline.ts │ │ │ ├── OfflineContext.test.ts │ │ │ ├── OfflineContext.ts │ │ │ ├── OnRunning.test.ts │ │ │ ├── OnRunning.ts │ │ │ ├── Param.test.ts │ │ │ ├── Param.ts │ │ │ ├── ToneAudioBuffer.test.ts │ │ │ ├── ToneAudioBuffer.ts │ │ │ ├── ToneAudioBuffers.test.ts │ │ │ ├── ToneAudioBuffers.ts │ │ │ ├── ToneAudioNode.test.ts │ │ │ ├── ToneAudioNode.ts │ │ │ ├── ToneWithContext.test.ts │ │ │ └── ToneWithContext.ts │ │ ├── index.ts │ │ ├── type/ │ │ │ ├── Conversions.test.ts │ │ │ ├── Conversions.ts │ │ │ ├── Frequency.test.ts │ │ │ ├── Frequency.ts │ │ │ ├── Midi.test.ts │ │ │ ├── Midi.ts │ │ │ ├── NoteUnits.ts │ │ │ ├── Ticks.test.ts │ │ │ ├── Ticks.ts │ │ │ ├── Time.test.ts │ │ │ ├── Time.ts │ │ │ ├── TimeBase.ts │ │ │ ├── TransportTime.test.ts │ │ │ ├── TransportTime.ts │ │ │ └── Units.ts │ │ ├── util/ │ │ │ ├── AdvancedTypeCheck.ts │ │ │ ├── Debug.test.ts │ │ │ ├── Debug.ts │ │ │ ├── Decorator.ts │ │ │ ├── Defaults.ts │ │ │ ├── Draw.test.ts │ │ │ ├── Draw.ts │ │ │ ├── Emitter.test.ts │ │ │ ├── Emitter.ts │ │ │ ├── Interface.ts │ │ │ ├── IntervalTimeline.test.ts │ │ │ ├── IntervalTimeline.ts │ │ │ ├── Math.ts │ │ │ ├── StateTimeline.test.ts │ │ │ ├── StateTimeline.ts │ │ │ ├── Timeline.test.ts │ │ │ ├── Timeline.ts │ │ │ ├── TimelineValue.test.ts │ │ │ ├── TimelineValue.ts │ │ │ ├── TypeCheck.ts │ │ │ └── global.d.ts │ │ └── worklet/ │ │ ├── DelayLine.worklet.ts │ │ ├── SingleIOProcessor.worklet.ts │ │ ├── ToneAudioWorklet.ts │ │ ├── ToneAudioWorkletProcessor.worklet.ts │ │ └── WorkletGlobalScope.ts │ ├── effect/ │ │ ├── AutoFilter.test.ts │ │ ├── AutoFilter.ts │ │ ├── AutoPanner.test.ts │ │ ├── AutoPanner.ts │ │ ├── AutoWah.test.ts │ │ ├── AutoWah.ts │ │ ├── BitCrusher.test.ts │ │ ├── BitCrusher.ts │ │ ├── BitCrusher.worklet.ts │ │ ├── Chebyshev.test.ts │ │ ├── Chebyshev.ts │ │ ├── Chorus.test.ts │ │ ├── Chorus.ts │ │ ├── Distortion.test.ts │ │ ├── Distortion.ts │ │ ├── Effect.ts │ │ ├── FeedbackDelay.test.ts │ │ ├── FeedbackDelay.ts │ │ ├── FeedbackEffect.ts │ │ ├── Freeverb.test.ts │ │ ├── Freeverb.ts │ │ ├── FrequencyShifter.test.ts │ │ ├── FrequencyShifter.ts │ │ ├── JCReverb.test.ts │ │ ├── JCReverb.ts │ │ ├── LFOEffect.ts │ │ ├── LFOStereoEffect.test.ts │ │ ├── LFOStereoEffect.ts │ │ ├── MidSideEffect.ts │ │ ├── Phaser.test.ts │ │ ├── Phaser.ts │ │ ├── PingPongDelay.test.ts │ │ ├── PingPongDelay.ts │ │ ├── PitchShift.test.ts │ │ ├── PitchShift.ts │ │ ├── Reverb.test.ts │ │ ├── Reverb.ts │ │ ├── ReverseDelay.test.ts │ │ ├── ReverseDelay.ts │ │ ├── ReverseDelay.worklet.ts │ │ ├── StereoEffect.ts │ │ ├── StereoFeedbackEffect.ts │ │ ├── StereoWidener.test.ts │ │ ├── StereoWidener.ts │ │ ├── StereoXFeedbackEffect.ts │ │ ├── Tremolo.test.ts │ │ ├── Tremolo.ts │ │ ├── Vibrato.test.ts │ │ ├── Vibrato.ts │ │ └── index.ts │ ├── event/ │ │ ├── Loop.test.ts │ │ ├── Loop.ts │ │ ├── Part.test.ts │ │ ├── Part.ts │ │ ├── Pattern.test.ts │ │ ├── Pattern.ts │ │ ├── PatternGenerator.test.ts │ │ ├── PatternGenerator.ts │ │ ├── Sequence.test.ts │ │ ├── Sequence.ts │ │ ├── ToneEvent.test.ts │ │ ├── ToneEvent.ts │ │ └── index.ts │ ├── fromContext.test.ts │ ├── fromContext.ts │ ├── index.test.ts │ ├── index.ts │ ├── instrument/ │ │ ├── AMSynth.test.ts │ │ ├── AMSynth.ts │ │ ├── DuoSynth.test.ts │ │ ├── DuoSynth.ts │ │ ├── FMSynth.test.ts │ │ ├── FMSynth.ts │ │ ├── Instrument.ts │ │ ├── MembraneSynth.test.ts │ │ ├── MembraneSynth.ts │ │ ├── MetalSynth.test.ts │ │ ├── MetalSynth.ts │ │ ├── ModulationSynth.ts │ │ ├── MonoSynth.test.ts │ │ ├── MonoSynth.ts │ │ ├── Monophonic.ts │ │ ├── NoiseSynth.test.ts │ │ ├── NoiseSynth.ts │ │ ├── PluckSynth.test.ts │ │ ├── PluckSynth.ts │ │ ├── PolySynth.test.ts │ │ ├── PolySynth.ts │ │ ├── Sampler.test.ts │ │ ├── Sampler.ts │ │ ├── Synth.test.ts │ │ ├── Synth.ts │ │ └── index.ts │ ├── signal/ │ │ ├── Abs.test.ts │ │ ├── Abs.ts │ │ ├── Add.test.ts │ │ ├── Add.ts │ │ ├── AudioToGain.test.ts │ │ ├── AudioToGain.ts │ │ ├── GainToAudio.test.ts │ │ ├── GainToAudio.ts │ │ ├── GreaterThan.test.ts │ │ ├── GreaterThan.ts │ │ ├── GreaterThanZero.test.ts │ │ ├── GreaterThanZero.ts │ │ ├── Multiply.test.ts │ │ ├── Multiply.ts │ │ ├── Negate.test.ts │ │ ├── Negate.ts │ │ ├── Pow.test.ts │ │ ├── Pow.ts │ │ ├── Scale.test.ts │ │ ├── Scale.ts │ │ ├── ScaleExp.test.ts │ │ ├── ScaleExp.ts │ │ ├── Signal.test.ts │ │ ├── Signal.ts │ │ ├── SignalOperator.test.ts │ │ ├── SignalOperator.ts │ │ ├── Subtract.test.ts │ │ ├── Subtract.ts │ │ ├── SyncedSignal.test.ts │ │ ├── SyncedSignal.ts │ │ ├── ToneConstantSource.test.ts │ │ ├── ToneConstantSource.ts │ │ ├── WaveShaper.test.ts │ │ ├── WaveShaper.ts │ │ ├── Zero.test.ts │ │ ├── Zero.ts │ │ └── index.ts │ └── source/ │ ├── Noise.test.ts │ ├── Noise.ts │ ├── OneShotSource.ts │ ├── Source.test.ts │ ├── Source.ts │ ├── UserMedia.test.ts │ ├── UserMedia.ts │ ├── buffer/ │ │ ├── GrainPlayer.test.ts │ │ ├── GrainPlayer.ts │ │ ├── Player.test.ts │ │ ├── Player.ts │ │ ├── Players.test.ts │ │ ├── Players.ts │ │ ├── ToneBufferSource.test.ts │ │ └── ToneBufferSource.ts │ ├── index.ts │ └── oscillator/ │ ├── AMOscillator.test.ts │ ├── AMOscillator.ts │ ├── FMOscillator.test.ts │ ├── FMOscillator.ts │ ├── FatOscillator.test.ts │ ├── FatOscillator.ts │ ├── LFO.test.ts │ ├── LFO.ts │ ├── OmniOscillator.test.ts │ ├── OmniOscillator.ts │ ├── Oscillator.test.ts │ ├── Oscillator.ts │ ├── OscillatorInterface.ts │ ├── PWMOscillator.test.ts │ ├── PWMOscillator.ts │ ├── PulseOscillator.test.ts │ ├── PulseOscillator.ts │ ├── ToneOscillatorNode.test.ts │ └── ToneOscillatorNode.ts ├── eslint.config.mjs ├── examples/ │ ├── README.md │ ├── amSynth.html │ ├── analysis.html │ ├── animationSync.html │ ├── bembe.html │ ├── buses.html │ ├── daw.html │ ├── envelope.html │ ├── events.html │ ├── fmSynth.html │ ├── funkyShape.html │ ├── grainPlayer.html │ ├── index.html │ ├── js/ │ │ ├── ExampleList.json │ │ ├── components.js │ │ └── tone-ui.js │ ├── jump.html │ ├── lfoEffects.html │ ├── meter.html │ ├── mic.html │ ├── mixer.html │ ├── monoSynth.html │ ├── noises.html │ ├── offline.html │ ├── oscillator.html │ ├── pianoPhase.html │ ├── pingPongDelay.html │ ├── pitchShift.html │ ├── player.html │ ├── polySynth.html │ ├── quantization.html │ ├── rampTo.html │ ├── reverb.html │ ├── reverseDelay.html │ ├── sampler.html │ ├── shiny.html │ ├── signal.html │ ├── simpleHtml.html │ ├── simpleSynth.html │ ├── spatialPanner.html │ └── stepSequencer.html ├── package.json ├── scripts/ │ ├── cspell.json │ ├── increment_version.cjs │ ├── tsconfig.build.json │ ├── typedoc.json │ └── webpack.config.cjs ├── test/ │ ├── README.md │ ├── helper/ │ │ ├── Basic.ts │ │ ├── CompareToFile.ts │ │ ├── Connect.ts │ │ ├── ConstantOutput.ts │ │ ├── Dispose.ts │ │ ├── EffectTests.ts │ │ ├── InstrumentTests.ts │ │ ├── MonophonicTests.ts │ │ ├── Offline.ts │ │ ├── OscillatorTests.ts │ │ ├── OutputAudio.ts │ │ ├── PassAudio.ts │ │ ├── SignalTests.ts │ │ ├── SourceTests.ts │ │ ├── StereoSignal.ts │ │ └── compare/ │ │ ├── Compare.ts │ │ ├── OfflineRender.ts │ │ ├── Plot.ts │ │ ├── Spectrum.ts │ │ ├── TestAudioBuffer.ts │ │ └── index.ts │ ├── integration/ │ │ ├── node/ │ │ │ ├── package.json │ │ │ └── test.mjs │ │ ├── typescript/ │ │ │ ├── package.json │ │ │ └── test.ts │ │ ├── unpkg/ │ │ │ ├── package.json │ │ │ └── test.mjs │ │ ├── vite/ │ │ │ ├── index.html │ │ │ ├── index.ts │ │ │ └── package.json │ │ └── webpack/ │ │ ├── package.json │ │ └── test.js │ ├── scripts/ │ │ ├── test_examples.mjs │ │ ├── test_html.mjs │ │ ├── test_integrations.mjs │ │ ├── test_readme.mjs │ │ └── utils.mjs │ └── web-test-runner.config.js └── tsconfig.json