Payments are not configured — complete payment setup to accept real tips.
VHF·CORE

Spectrum — Multi-Modal Reception

Your phone, tablet or laptop is already a wide-band sensor array. Toggle each modality on or off and adjust its sensitivity below — settings persist locally and take effect live without restarting the sensor.

0 / 7 channels engaged

The Spectrum page uses your device's built-in sensors. Each permission is optional — the modality it powers simply stays offline when denied. Nothing is uploaded.

  • Microphone? Unknown
    Why we ask: Sample sonic and ultrasonic waves in real time.
    Feeds the FFT analyser that renders the spectrogram and detects near-ultrasonic beacons around 19 kHz. Audio stays on your device — nothing is uploaded or recorded to disk from this page.
  • Camera? Unknown
    Why we ask: Measure photonic activity and near-IR flicker.
    Reads per-frame luminance and red-channel intensity to surface flicker (e.g. TV remotes emitting near-IR that phone sensors partially see). Frames are analysed in memory and immediately discarded.
  • Motion & orientation? Unknown
    Why we ask: Detect geomagnetic heading and device tilt.
    Uses the compass/accelerometer to expose local field changes as a live heading. iOS Safari requires an explicit tap to unlock motion — this button issues that request.
  • Location? Unknown
    Why we ask: Show GNSS lock quality and accuracy.
    Uses your device's GPS/GNSS to display latitude, longitude and accuracy. Coordinates are shown only on this page and are not sent anywhere.

Power controls

7/7 running

Pause every modality — or a single band — to cut CPU and battery use without touching your thresholds. Paused bands stay recorded across a refresh and can be resumed to exactly what was running.

  • runningSonic
  • runningUltrasonic
  • runningPhotonic
  • runningAmbient
  • runningMagnetic
  • runningNetwork
  • runningGNSS

Performance & privacy

● On-device only

Every reading on this page is captured, analysed, and shown in your browser. Nothing is uploaded, streamed, or logged to any server — the microphone, camera, motion, and location data stay on this device.

Processing FPS
measuring…
Est. CPU load
100%
worst frame 0 ms
Long tasks
0
0 in last 10s
GPU / cores
— RAM · —
Performance alerts
Toast a warning when processing FPS drops below the threshold or long tasks spike within a 10-second window.
Low-power mode
Throttles the spectrogram and camera loop to ~4 fps and skips per-frame redraws. Saves battery on phones and laptops without disabling any modality.
Battery impact — if enabled
battery info unavailable
~60%
estimated energy saved
Rough estimate — actual savings depend on your device, screen brightness, and which modalities are active.

Scheduler diagnostics

per-loop throttling

Each active loop reports its ticks to a shared scheduler. Rows show the target FPS applied (native, low-power throttle, or event-driven), the measured FPS over the last second, and how long ago the last tick fired.

No loops registered yet. Start the microphone, camera, or a passive sensor to see live scheduling metrics.

Privacy controls

● On-device only

Choose whether Spectrum session logs and preferences are stored in this browser, kept only in memory for exports, or never stored at all. This setting itself is remembered so your choice survives reloads.

Clear stored session data
Removes every vhf.spectrum.* key from this browser (redaction, export settings, presets, thresholds). Your privacy choice is kept.

Auto-detect environment

Samples live noise, motion, light, and network activity for a few seconds, then recommends the best built-in preset for your current surroundings.

Analysis presets

Save the current gains, thresholds, and enabled bands as a named preset for an environment (e.g. quiet room, moving car, loud venue), then load it back instantly. Presets are stored on this device.

Session recorder

○ IDLE · 0 samples · 0 events

Records every band's normalized reading and detail string once per second, plus activation events and decoded messages, so you can share or debug what your device saw. All data stays on this device until you export it.

Export settings

4/6 sections · 7/7 bands
PDF report template
standard
Header, band statistics, period comparison, and detected events.
Saved presets
No saved presets yet — configure the template, sections, and bands you like, then "Save current" to reuse across sessions.
Sections
Modalities / bands

Privacy redaction (applied to exports)

0 active

Session playback

○ IDLE · 0 samples · 0 events

Record readings at 1 Hz, then scrub the timeline to review what every band was measuring at any instant. Events (activations, decodes) that occurred near the cursor appear on the right.

No timeline yet
(live)

Start recording to build a timeline you can scrub.

Snapshot export

Download the current spectrogram view plus every band value and threshold as an image or a JSON file. Device and timestamp metadata are embedded for traceability; everything is generated on-device.

Quick calibration

Hold the device still in your current environment for 5s. We'll measure the ambient baseline and suggest slider values that surface signals without triggering on noise.

Auto calibration

Live diagnostics

0/7 healthy · 0 to review · window 20s

All engaged modalities look nominal. Start more sensors above to include them here.

  • Sonic (mic RMS)
    inactive

    Not engaged yet — start the modality to diagnose.

  • Ultrasonic (>18 kHz)
    inactive

    Not engaged yet — start the modality to diagnose.

  • Photonic (camera flicker)
    inactive

    Not engaged yet — start the modality to diagnose.

  • Ambient light
    unsupported

    Sensor not exposed by this device.

  • Geomagnetic
    unsupported

    Sensor not exposed by this device.

  • Network EM
    unsupported

    Sensor not exposed by this device.

  • GNSS positional
    unsupported

    Sensor not exposed by this device.

Auto-pause on background

When the tab is hidden or the app is backgrounded, the microphone and camera loops are stopped to save CPU and battery. Threshold sliders, presets, and calibration are left unchanged. Sensors that were running resume automatically when you return.

Idle

Sonic + Ultrasonic

Sonic 100 Hz – 8 kHzIdle
Ultrasonic > 18 kHzIdle

Photonic (camera luminance / IR proxy)

Luminance + red-channel + flickerIdle

Point at a TV remote and press a button — near-IR shows up as a visible flicker on the red channel on most phone cameras.

Passive channels

Ambient light (lx)Unsupported
Ambient Light Sensor API not exposed by this browser.
Geomagnetic / headingUnsupported
Network EM (Wi-Fi / cellular)Unsupported
NetworkInformation API not available (Safari).
GNSS positional lockUnsupported
Why some bands are missing

True microwave / SHF / UHF RF, X-ray and full UV cannot be sampled by a web page — the OS never exposes the modem baseband, and phone cameras filter UV/IR out. Where the platform gives us an approximation (near-IR via camera, magnetometer for local field changes, RTT as an EM-path proxy) we surface it above and label it honestly.