OSC
OSC+FFT
OSC+INFO
SIM
FREQ---
Vpp ---
RMS ---
dBFS---
CH1
CH2
CH3
CH1
CH2
CH3
CH1 | AC
SR: 44.1kHz
▶ T+
▶ T-
MOBILE OSCILLOSCOPE · PRO
AUX / MIC INPUT · WEB AUDIO API
FFT + INFO OVERLAY · TRIGGER SYSTEM
SIMULATOR · OFFLINE CAPABLE · PWA
BODE — H(f) MAGNITUDE + PHASE
— magnitude — phase | -3dB markers ---
ZOOM 1.0x
GAIN 3.0x
T/DIV AUTO
V/DIV AUTO
CH1 MIC ● live capture
FREQ 1000Hz
AMP 0.80
PHASE
DISPLAY
SMOOTH 0.60
FFT SIZE
4096
TIMEBASE
TIME/DIV
AUTO
AMPLITUDE
VOLT/DIV
AUTO
MODE
EDGE
THRESHOLD
UPPER +0.30V
LOWER -0.30V
STATUS
STATE OFF
LAST FIRE ---
Connect a known reference signal (sine recommended). Enter the true frequency and voltage — Lab Scope measures the signal and calculates correction factors applied to all subsequent readings.
FREQUENCY CALIBRATION
REF FREQ Hz
RESULT 1.000x
VOLTAGE CALIBRATION
REF Vpp V
RESULT 1.000x
CANVAS THEME
CH1 WAVEFORM COLOR ● purple
CH2 WAVEFORM COLOR ● red
CH3 WAVEFORM COLOR ● cyan
MAIN TABS
OSC Live oscilloscope view. Single-channel waveform rendered full canvas in real-time with CRT grid, voltage labels, T/DIV and trigger markers. Reads from the phone's mic or AUX input.
OSC + FFT Split view — top half shows waveform, bottom half shows the real-time FFT frequency spectrum with amplitude-coded bars. Peak frequency and dominant harmonic highlighted at top-right of canvas.
OSC + INFO Waveform with full diagnostics overlay. Panel covers the canvas showing signal type, frequency, Vpp, RMS, dBFS, zoom, gain, trigger state, calibration factors, sample rate, FFT size and current mode — all updating live.
SIM Simulator tab. Draws CH1 (mic or file input), CH2 (synth or file generator) and CH3 (computed corrected output) simultaneously on the canvas. Use PLAY to start, the chevron panel to configure the signal, and SIM SET for advanced controls.
MEASUREMENTS BAR
FREQ Detected signal frequency. In live mic mode: measured from real FFT peak using parabolic interpolation for sub-bin accuracy. In SIM with mic active: reads true mic input frequency. In synth-only SIM: shows CH2 synth frequency directly.
Vpp Peak-to-peak voltage of the waveform, scaled by the voltage calibration factor. Turns orange when the signal approaches clipping and white when actually clipping.
RMS Root mean square — effective signal amplitude useful for comparing power between waveform types. A pure sine at 1 Vpp reads approximately 0.354 VRMS.
dBFS Decibels relative to full scale. 0 dBFS means the signal is clipping the ADC. Typical clean input sits between −18 and −6 dBFS. Alert colour appears above −6 dBFS.
OSC CONTROLS STRIP
ZOOM Horizontal zoom from to . Increasing zoom narrows the visible sample window, effectively raising time resolution. Linked automatically when T/DIV is in manual mode.
GAIN Vertical amplification from to 10×. Only scales canvas rendering — does not change the captured signal. Linked automatically when V/DIV is in manual mode.
T/DIV Time per division, stepping from 50µs to 500ms. AUTO leaves zoom at the manually set value. A fixed T/DIV recalculates zoom automatically so the waveform fills the correct time window.
V/DIV Volts per division, stepping from 10mV to 2V. AUTO leaves gain at the manually set value. A fixed V/DIV remaps gain so the waveform amplitude fills the grid correctly.
TRIGGER SYSTEM
AUTO MODE Always updates the canvas regardless of whether a trigger event is detected. Best for general viewing of any signal without needing a stable edge.
NORMAL MODE Only redraws when a trigger event fires. Canvas shows WAITING FOR TRIGGER... when armed and no matching edge is found. Best for stable display of periodic signals.
SINGLE MODE Captures exactly one trigger event, then freezes the display. Tap FORCE ARM to re-arm for the next capture. Best for transient or one-shot signals.
RISING / FALLING / BOTH Edge direction for trigger detection. RISING ↑ triggers on positive slope crossing the upper threshold. FALLING ↓ triggers on negative slope crossing the lower threshold. BOTH ↕ catches either.
THRESHOLD — UPPER / LOWER The voltage levels shown as dashed amber lines on the canvas. Range: −1.00V to +1.00V. The trigger fires when the signal crosses the configured threshold in the configured edge direction.
FORCE ARM Re-arms the trigger manually. Mainly used in SINGLE mode after a capture, or if the trigger has stalled in NORMAL mode and no edge is arriving.
CALIBRATION
FREQUENCY CALIBRATION Connect a reference signal of known frequency. Enter the true value in Hz, tap RUN CALIBRATION. App measures the FFT peak and computes a correction multiplier applied to all future frequency readings.
VOLTAGE CALIBRATION Connect a reference signal of known Vpp. Enter the true Vpp, tap RUN CALIBRATION. App measures the raw peak-to-peak and computes a voltage correction factor applied to all future Vpp readings.
RESET Clears both calibration factors back to 1.000× — effectively disabling correction and returning raw measurements.
SIMULATOR (SIM TAB)
CH1 — REFERENCE The reference/input signal channel. Defaults to MIC / AUX live input. Can be switched to a loaded audio file via SIM SET → SOURCE. Displayed in CH1 colour (default purple).
CH2 — SYNTH / COMPARISON The generated or loaded comparison signal. Synth waveforms: SINE, SQUARE, TRIANGLE, SAWTOOTH, RAMP, PWM, NOISE, DC. Configurable frequency (20Hz–20kHz), amplitude (0.05–1.0), phase (0°–360°) and duty cycle (5–95%). Can also use a loaded audio file.
CH3 — CORRECTED OUTPUT Auto-computed channel. After the Analyser detects distortions, CH3 applies the inverse transfer function to CH2 to produce a corrected signal. Enabled via SIM SET → ANALYSER → REQUEST CH3 CORRECTION. Displayed in CH3 colour (default cyan).
CHANNEL PILLS (CH1 / CH2 / CH3) On the SIM tab: tap to enable or disable each channel overlay. On OSC / FFT / INFO tabs while in SIM mode: pills switch which single channel fills the full canvas for detailed inspection.
SYNTH PANEL (CHEVRON) Expandable panel below the canvas. Shows waveform selector, frequency, amplitude, phase and duty cycle (for PWM/SQUARE). Tap the chevron bar to expand or collapse.
SOURCE SELECTOR Toggle CH2 between SYNTH (internal generator) and FILE (loaded audio). Synth panel and file panel swap accordingly.
SIM SET — ARTIFACTS
DC OFFSET Shifts the CH1 baseline by a constant voltage. Simulates a floating ground or biased circuit output. Range: −1.0V to +1.0V.
HARM DISTORTION Adds second-harmonic distortion to CH1, simulating non-linear amplifier behaviour. Increases THD measured by the Analyser.
SRC CLIP Clips the positive peak of CH1 before the hardware simulation stage. Simulates hard saturation at the signal source.
AC COUPLE Applies a capacitor tilt (first-order high-pass) to remove the DC component from CH1 — simulating what AC-coupled mic inputs do in real hardware.
MIC BIAS Adds a positive DC shift to CH1, simulating the TRRS CTIA/OMTP mic bias voltage supplied by the phone's headset jack.
ASYM CLIP Asymmetric (one-sided) clipping — only the negative half of the waveform saturates. Common in single-supply mic preamp circuits.
AGC PUMP Simulates Automatic Gain Control pumping — the gain rides up and down dynamically with signal level, distorting the waveform envelope.
HPF CORNER Sets the high-pass filter corner frequency of the simulated mic input path. Below this frequency the signal attenuates. Range maps to approximately 0–300Hz.
ROLLOFF High-frequency low-pass rolloff — simulates the mic capsule and preamp bandwidth limit. Reduces high-frequency content above the rolloff point.
NOISE FLOOR Adds white noise to CH1, simulating the inherent thermal and electrical noise of the phone's ADC and mic circuit.
QUANTIZE Reduces effective bit depth from 16-bit down to 4-bit, simulating a low-quality ADC with audible quantization distortion.
SIM SET — ANALYSER + BODE
TRANSFER FUNCTION |H(f)| Computes the frequency response between CH1 and CH2 across 24 logarithmic bands from 20Hz to 20kHz. The curve shows how the signal transforms through the simulated hardware path.
HPF CORNER DETECTION Automatically detects the high-pass filter corner frequency from the transfer function. Shown with confidence percentage and an amber bar. Matches or estimates the HPF Corner artifact setting.
ROLLOFF DETECTION Detects where the high-frequency response begins rolling off. Combined with HPF detection, this defines the usable bandwidth of the simulated input path.
AGC / CLIPPING / DC DETECTION Each artifact is detected and scored with a confidence bar. AGC: measured from gain variance over time. CLIPPING: detected as hard or soft from the waveform crest factor. DC OFFSET: measured from the mean value of the time-domain signal.
SNR Signal to noise ratio in dB between CH1 and CH2. Higher values mean the input path is cleaner. Useful for evaluating the combined effect of all active artifact settings.
INTERVAL How often the analyser runs automatically during playback: 500ms, 3s (default), 5s, or MANUAL (only runs when you tap RUN NOW).
REQUEST CH3 CORRECTION After analysis, requests Lab Scope to compute the correction filter and apply it to generate CH3. CH3 appears on the SIM canvas as the corrected output signal.
BODE SWEEP Steps through 25–100 logarithmically spaced frequencies from the configured start to stop. At each step measures the magnitude (dB) and phase shift (degrees) of the CH1→CH2 transfer function. Results shown as magnitude curve (cyan) and phase curve (amber). The Bode Zone strip appears above the controls on scope.
BODE RESULTS After sweep: HPF −3dB corner, LPF −3dB corner, max phase shift, rolloff slope in dB/octave, and overall gain. −3dB points shown as dashed red marker lines on the Bode graph.
THEME & COLORS
DARK THEME CRT oscilloscope aesthetic. Canvas background is #020c0c (dark teal-black), UI panels are near-black with green-tinted chrome. Default mode.
LIGHT THEME GitHub-inspired light mode. White panels, grey borders, readable dark text. Canvas background becomes light grey (#f0f4f8). Blue and green accent tones throughout.
CH1 / CH2 / CH3 COLORS Six preset colors per channel — purple, red, cyan, amber, green, orange. Changes apply immediately to the canvas waveform traces. Saved across sessions.
GRID COLOR Background tint of the oscilloscope grid lines. Options: dark teal, dark green, dark purple, dark yellow. Centre axes are always slightly brighter than minor grid lines.
MEASUREMENT COLOR Color of voltage and frequency values overlaid on the canvas. Also affects measurement bar text and the detected frequency label in FFT view.
SESSION & PWA
AUTO SAVE All settings — zoom, gain, colors, trigger config, calibration factors, sim params, channel sources and artifact values — saved automatically to localStorage on every change. Fully restored on next launch.
FILE PERSISTENCE Loaded CH1 and CH2 audio files are stored in IndexedDB and survive page reloads. The analyser result is also persisted so CH3 correction resumes where you left off.
OFFLINE / PWA Lab Scope is a Progressive Web App. The service worker caches all assets on first load — the app works fully offline after that. When a new version deploys, a prompt appears to reload and get the update.
SNAPSHOT (📸 SNAP) Saves the exact current canvas frame as a PNG image to your device. Captures the full canvas including grid, all waveform traces, overlays and measurement labels exactly as displayed.
FEATURES
OSCILLOSCOPE ENGINE Real-time waveform rendering using the Web Audio API. Zero-latency DSP runs on the main thread with no Workers. Canvas redraws at native display rate every animation frame.
3-CHANNEL SIMULATOR CH1 (mic/file), CH2 (synth/file), CH3 (corrected). 8 waveform types. Configurable sample rate at 44.1 / 48 / 96 kHz. Full artifact injection pipeline with 11 independently controllable parameters.
FFT SPECTRUM ANALYSER Configurable FFT size from 512 to 8192 points. Frequency resolution down to ~5Hz at 44.1kHz / 8192. Parabolic sub-bin interpolation for more accurate peak frequency readout than bin-limited FFT.
TRANSFER FUNCTION ANALYSER Computes |H(f)| across 24 frequency bands. Auto-detects HPF corner, LPF rolloff, AGC pumping, clipping (hard/soft), DC offset and bit-depth reduction — each scored with confidence percentage.
BODE PLOTTER Logarithmic frequency sweep from 20Hz to 20kHz. Measures magnitude (dB) and phase (degrees) at each step. Detects −3dB corner frequencies, rolloff slope (dB/oct) and maximum phase shift.
TRIGGER SYSTEM Edge trigger with AUTO / NORMAL / SINGLE modes. Rising, falling or both-edge detection. Configurable upper and lower voltage thresholds shown as dashed canvas overlay markers.
SIGNAL CLASSIFIER Multi-pass classifier using 7 features: crest factor, zero-crossing rate, clip ratio, slope asymmetry, edge density, autocorrelation and spectral flatness. Identifies SINE, SQUARE, TRIANGLE, SAWTOOTH, NOISE, DC.
CALIBRATION ENGINE Per-device frequency and voltage correction. Measured vs reference comparison produces a scalar factor applied to all subsequent readings. Survives app relaunch.
DUAL-LAYER PERSISTENCE localStorage for lightweight state (instant restore on launch). IndexedDB for heavy binary data — PCM buffers up to 5MB and analyser results. Full session state reconstructed on every relaunch.
PWA + OFFLINE CAPABLE Network-first service worker strategy. Full offline capability after first load. Installable on Android home screen. Cache version bumped with each deploy ensures clean updates with no stale assets.
CREATOR
PROJECTLAB SCOPE PRO
AUTHORVinns Designer
LICENSE

MIT License

Copyright © 2025 Vinns Designer

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

BUILD INFO
VERSION v1.3.3
SAMPLE RATE---
FFT SIZE 4096
FREQ RES ---
BROWSER ---
DSP MODE MAIN THREAD
⚙ SIMULATOR SETTINGS
PARAMS
SOURCE
CHANNELS
ARTIFACTS
ANALYSER
BODE
CH2 WAVEFORM
CH2 SIGNAL PARAMS
FREQUENCY1000Hz
AMPLITUDE0.80
PHASE
DUTY CYCLE50%
SAMPLE RATE
SR
CH1 — REFERENCE SOURCE
SOURCE
STATUS● MIC LIVE
CH2 — COMPARISON SOURCE
SOURCE
STATUS● SYNTH
Analyser and Bode unlock when CH1 has an active external source.
ENABLE / DISABLE
CH1 — REFERENCEmic / file
CH2 — COMPARISONsynth / file
CH3 — CORRECTEDauto computed
GAIN PER CHANNEL
CH1 GAIN3.0x
CH2 GAIN3.0x
CH2 OFFSET0px
STAGE 1 — SOURCE applied to CH1
DC OFFSET 0.00V
HARM DIST 0%
SRC CLIP 0%
STAGE 2 — PHONE HW SIM
AC COUPLE 0%
MIC BIAS 0.00V
ASYM CLIP 0%
AGC PUMP 0%
HPF CORNER 0Hz
ROLLOFF 0%
NOISE FLR 0%
QUANTIZE 16bit
Analyser unlocks when CH1 has an active external source (MIC or loaded file).
TRANSFER FUNCTION |H(f)|
0dB -10 -20 -30 20Hz 1kHz 20kHz
DETECTED
HPF CORNER---
--%
ROLLOFF ---
--%
AGC ---
--%
CLIPPING ---
--%
DC OFFSET ---
--%
SNR ---
INTERVAL
Bode plotter unlocks when CH1 has an active external source.
SWEEP — MAGNITUDE + PHASE
0dB -10dB -20dB 20Hz 20kHz
— magnitude — phase | -3dB
SWEEP SETTINGS
START20Hz
STOP 20kHz
STEPS