Ma: A Breath-Aware Teleprompter for Rehearsal

Краткое содержание

Pixel’s announcement features Ma, a desktop teleprompter built for practicing talks, pitches, and interview answers. Using webcam-based pulse and breathing readings through the SmartSpectra SDK, it pauses when readings rise above a personal baseline, then reviews each script line with stress indicators and suggested pause points.

DEV Community

Ma — a rehearsal prompter that waits for you to breathe

This is a submission for the Presage SmartSpectra SDK Challenge. What I Built Ma (間) is a small desktop teleprompter for practising a talk, a pitch or an interview answer. Most rehearsal tools time your words. Ma watches the thing that actually derails a talk: you speed up when your body speeds up. It reads your pulse and breathing from the webcam with the SmartSpectra SDK and uses them in two ways. While you rehearse. Ma first takes a 30-second calm reference while you sit still. Then you read your script line by line and press Space for the next one. When your pulse climbs 10 bpm or your breathing climbs 5 breaths/min above your own reference, Ma holds the next line and asks for one slow breath. It watches the chest trace and releases the line as soon as it sees that breath (or after 9 seconds, so you are never stuck). Afterwards. Ma shows the script again with a heat bar on every line for how far your pulse ran above your reference, how much of the line you were talking, your blink rate, and a short list of "plan a pause here" spots for the next run. "Ma" is the Japanese word for the pause that gives rhythm to speech. The app is built around one idea: the pause is part of the talk, and your body tells you where it belongs. Demo Video (1 min 49 s): https://github.com/Class-now/pace-prompter/releases/download/v1.0.0/ma-demo.mp4 The video is a real rehearsal with a live webcam and the live SmartSpectra readings: the opt-in screen, the 30-second calm reference (shown at 5x speed), three breath pauses triggered when breathing ran above my own reference, and the review screen at the end. The face is blurred with Ma's own preview option, and the video has no sound; captions explain each step. Code https://github.com/Class-now/pace-prompter Electron app, plain JavaScript, @smartspectra/node-sdk 3.4.0 src/core.js holds the pacing logic with no DOM or SDK dependency and is covered by npm test test/sdk-smoke.mjs is a headless check against the real SDK: it pushes a recorded face video through useCustomInput() / sendFrame() and passes when pulse and breathing readings appear Setup: npm install, put SMARTSPECTRA_API_KEY=... in .env, npm start How It Responds to Human Signals SmartSpectra signal What Ma does with it cardio.pulseRate calm reference during calibration; live readout; breath-pause trigger (+10 bpm over your reference); per-line heat in the review breathing.rate calm reference; breath-pause trigger (+5 breaths/min over your reference) breathing.upperTrace drawn as the live breath line; detects the one full breath that releases a pause face.talking shows whether you are speaking; share of each line spent talking face.blinking blinks per minute per line in the review Every comparison is against the same person's reading from a minute earlier, never against a population norm. A pulse of 95 means nothing on its own; a pulse that jumped from 72 to 90 in the middle of your second paragraph is exactly what you want to know before you give the talk for real. Ma also reads the SDK's validation status ("Hold still", "Face the camera", "Only one face is allowed") and shows it under the preview, so you can fix your framing before the calm reference is taken. Consent and Data Handling Opt-in every time. Nothing starts until you tick the consent box on the first screen, which says what is measured and why. The camera light is on only between Start and the review screen. Camera only. Ma never requests the microphone. The app's permission handler refuses every permission except video for its own local page. What leaves the machine. The SmartSpectra SDK reaches Presage's service with your API key to produce measurements. Ma turns the SDK's optional usage telemetry off (enableTelemetry: false). Ma itself has no server and sends nothing anywhere. What is stored. Nothing. Video frames are never written to disk. The numbers for the current run live in memory and are gone when you close the window or start again. The only way a result leaves t...
Ma: A Breath-Aware Teleprompter for Rehearsal
Powered by Readybot.io

Последнее от Pixel

Fix GitHub Pages: Missing Artifact Error

Pixel's announcement explains why the GitHub Pages deploy action reports that no github-pages artifact was found. It covers skipped or failed build jobs, missing uploads, …

Rotate DB and Redis Passwords Without Downtime

Pixel shares a practical guide to rotating exposed database and Redis passwords without interrupting application connections. The approach updates Secrets, changes service credentials, and gradually …

AI Agent Earns Crypto from $0: Day 3 Update

Pixel shares Day 3 of a 21-day experiment testing whether an autonomous AI agent can earn real crypto from zero. The agent launched a pay-per-call …

AI Agent Receipts Prove What Actually Executed

Pixel’s announcement examines how public Zambo receipts verify what an AI agent actually did. A BTC price fetch succeeded with a recomputable output hash, while …