F₀ · pitch
142Hz
σ 18 · jitter 0.4% · HNR 14 dB
Behavioral signal from any video you're in — voice, gaze, facial dynamics, speech timing. Live capture from Zoom, Teams, Meet, an LMS-embedded session, or upload a past recording. All processing local on your Mac.
Read whitepaperF₀ · pitch
142Hz
σ 18 · jitter 0.4% · HNR 14 dB
Gaze entropy
2.31bits
4 × 4 grid · max 4.00
Multimodal convergence
0.84
Pearson r · acoustic × visual × facial
F₀ flattened in the 60 s before the 14:22 long-pause-end, with a parallel drop in gaze entropy and a tighter FACS-13 AU4 brow signature. Three signals converged in the same minute — consistent with a brief attentional dip, not stress. Citation: Stegmann 2020 §4.2.
Live indicators · 7
FACS-13 · action units
5/ 13 active
Anomaly capture
F₀ spike · 14:22
Pipeline status
Universal binary — Apple Silicon and Intel · macOS 26+. Extension works with Chrome, Brave, Arc, Edge, Opera.
Inside the app
Open a session and the dashboard leads with the AI's read in plain English, with the receipts — confidence interval, repeatability, per-modality breakdown — one click away. Ask follow-ups in the chat panel; it's anchored to this session's data, so "What did the acoustic agent see at 1:20?" actually answers from the session.
What Cadence sees
Pitch contour, jitter, shimmer, speaking rate, pause distribution.
Fixation duration, saccade frequency, time looking toward the camera.
FACS-13 action-unit intensities, expression entropy, head-movement RMS.
Turn-taking, latency to respond, balance of who is talking when.
Vocabulary diversity, repetition, sentence structure — never the words themselves.
The same 32 indicators extracted week after week, so trends are comparable.
Beyond the periodic capture
The dashboard saves a frame every 10 seconds by default. On top of that, six perception-side detectors fire off-cycle and stamp an extra still on the timeline whenever the conversation does something a clinician would want to scroll back to. Each is independently toggleable; all share a global throttle so a single beat never produces six redundant frames.
Long pause
A thinking pause resolves — capture the moment of speech resumption.
Pitch jump
A voiced F0 sample spikes above the user's rolling baseline.
Head turn
Rapid yaw / pitch / roll change between adjacent Vision frames.
Gaze return
Eyes come back to the camera after a sustained look-away.
Blink burst
Five or more blink onsets land inside a three-second window.
Conversation flip
The dominant speaker just changed — the 30-second talk-time share crossed 50%.
Where it captures
Native macOS apps no extension needed
Browser meetings Cadence Bridge
LMS-embedded (iframe) Cadence Bridge
Cadence Bridge
macOS sees Zoom and Teams. It can't see Google Meet in a Chrome tab, or a classroom call inside a Canvas iframe. The Bridge does — and forwards nothing but the URL.
Video session detected
Google Meet — quiet-meeting-room
meet.google.com/abc-defg-hij
Or after the fact
Hand Cadence an audio or video file. It runs the same perception + reasoning pipeline a fresh session does — indicators, citations, repeatability, Synthesizer narrative, anomaly captures. Add video and the Vision pipeline runs on the frames too: landmarks, gaze, FACS-13 AUs, blink + head + gaze-away bursts.
Months of weekly sessions, a research arm's full set, every interview with one subject — Cadence analyzes each the same way, then writes one read across the lot: what changed, what held, where the arc turned. Every recording keeps its own page; the batch sits on top.
How it reasons
One model in a black box is a guess. Cadence fans the feature stream out to eight focused agents, then a Synthesizer reconciles them — with calibration anchors and a live citation trace on every indicator that reaches the dashboard.
AcousticAgent
F0, jitter, shimmer, pause structure.
GazeAgent
Fixation, saccade, camera-attention.
LinguisticAgent
Lexical diversity, disfluency, MLU.
TemporalAgent
Turn-taking, response latency.
BaselineAgent
Compares to your own calibration.
CitationAgent
Pulls supporting studies from the library.
CitationTruther
Validates every DOI against OpenAlex. Drops retractions, flags topic drift.
ClinicalFramingAgent
Keeps language correlational, never diagnostic.
Synthesizer
The closer. Reconciles every agent into the indicators you see, attaches citations + repeatability tiers, writes the session's narrative.
Grounded in literature
47
peer-reviewed studies seed the on-device citation library on first launch
26
measurements in docs/METRICS.md feed 12 indicator kinds, each tied to its strongest support
250M+
live validation against OpenAlex — every cited DOI checked for retraction and topic grounding at persist time
No paraphrasing. CitationAgent pulls the actual abstract from the local library (47 seeded studies, extensible via OpenAlex), quotes the claim, links the DOI. Every citation then runs a truthing pass against OpenAlex's 250M-work graph: retractions dropped, off-topic resolutions flagged. Indicators below the Fleiss 0.75 clinical-decision threshold (Stegmann 2020) are chipped "low repeatability" — surfaced, not suppressed.
Live, grounded, on-device · Apple Intelligence
When several signals move together in the same window — pitch flattening, gaze drifting, sustained AU4 — Apple's on-device language model reads the convergence pattern and says what it's seeing, citing the actual papers from the local library. No cloud round-trip.
"F₀ variability flattened with a parallel drop in gaze-toward-camera and sustained AU4 — three signals converged in the same 90 s window. Fusaroli 2017's voice meta-analysis finds this pattern replicates across 30+ studies; Klin 2002 supports the gaze observation."
A card slides in. Dismiss it and the moment still gets preserved on the session timeline. The engine speaks rarely by design — three converging signals, five-minute cooldown, same-pattern suppression — and every threshold is yours to set.
Self-audit · runs every 30 days
Cadence's interpretations rest on a curated baseline of peer-reviewed research. That baseline cannot be allowed to ossify — papers get retracted, methods get superseded, fields refine consensus over time. So Cadence audits its own corpus the way a working scientist would: periodically, with evidence, under adversarial review.
"Auditor flagged Wang 2008 — citation velocity down 89% from peak, primary topic re-classified by OpenAlex. Advocate found one recent recitation (2023, indirect). Judge proposes replacement with Patel 2024 meta-analysis (n = 31 studies, confidence 0.82). Skeptic could not falsify. Quarantining Wang 2008 for 30 days."
Four passes — Auditor, Advocate, Judge, Skeptic — each with a required evidence shape and a structured-output schema the model cannot drift past. The Judge must name the superseding work and quote its abstract; the Skeptic must try to falsify. Anything that gets through both lands in a shadow seed with a 30-day quarantine before becoming permanent. Foundational papers are protected by a hard allowlist the model cannot override. Every change is git-tracked, reversible, and recorded with the verdict that proposed it.
The grounding corpus, live
Static by design. Every install ships with the same baseline so a finding from one machine and a finding from another can be compared against the same evidence. The audit arc above runs against this list inside the app; verdicts land in a per-account overlay (quarantine + 30-day veto window) and never silently mutate this file. The list below is fetched live from research_seed.json at the repo root, so what you see is exactly what your Mac would load on first launch.
Loading the corpus…
Source: Sources/CadenceCore/Resources/research_seed.json
· Audit pipeline:
Auditor → Advocate → Judge → Skeptic
Privacy is the architecture (Cadence doesn't send data worth contracting over). Security is the second layer — every cloud hop, every credential, every privileged surface gated.
Every cloud-reasoner call is signed with Apple's App Attest — proves the request came from a verified build of the Cadence app on a verified Apple device. The server rejects anything that isn't.
Eleplan ⇄ AWS + Eleplan ⇄ Anthropic BAAs signed; OpenAI ZDR in force. The cloud reasoner proxies through our infrastructure — provider API keys never touch the client.
The Admin panel is gated by a password tied to your Eleplan account, verified server-side. Same password across every Mac you sign in on; not resettable by physical access. Grants expire automatically (default 30 days).
Sensitive credentials (Cognito tokens, admin-access grant, bridge token) live in the macOS Keychain with WhenUnlockedThisDeviceOnly — strictest tier. Never backed up, never migrated, locked while the screen is locked.
Cohort aggregates suppress any value below k = 5 contributors. The math forces anonymity — it's not a policy you have to trust us on. Optional and opt-in regardless.
Every release is Developer-ID signed + notarized; in-app updates run through Sparkle with an EdDSA signature verified against a key bundled in the .app. A tampered appcast can't ship to your machine.
Where it lives
Cadence captures and processes video locally — both live sessions and uploaded recordings — with macOS permission prompts you can revoke at any time. The only thing that ever ships to a server — and only if you opt in — is a small numeric fingerprint of the features above. No recordings. No transcripts. No third-party SDKs or analytics.
Other participants' voices, when the system-audio tap is on, are used in-memory only — they feed the talk-time split and turn-taking latency, then drop. Never recorded, never transcribed, never sent.
Cadence is not a diagnostic device. Indicators are correlational with published research findings, not predictions about any individual. Built for opt-in deployment with diagnosed families, consenting adults, and supervised clinical / research use.
Changelog
Notable changes per release. Rendered live from
CHANGELOG.md at the repo root — same file the Mac
app bundles for its in-app "What's new" surface.
Loading changelog…
Source: CHANGELOG.md