PulseEntrain combines vagus nerve stimulation with binaural-beat entrainment — pairing gentle electrical stimulation (via the Pulsetto device) with audio designed to nudge your brain toward a target state. The goal is a single, calm, customizable session that works on the body and the mind at the same time. On mobile you can add a third, synchronized layer: stroboscopic light through the Lumenate Nova glasses, pulsing in time with the audio beat.
It is a fork and evolution of the original pulse-libre-desktop Pulsetto controller, expanded into an entrainment platform with both a desktop and a mobile app.
⚠️ Wellness / entertainment, not medical. PulseEntrain is for relaxation and experimentation. It is not a medical device and makes no diagnostic or treatment claims. See Safety before use.
A curated library of programs that influence your state — relaxation, focus, sleep, and more. Each program pairs binaural-beat audio with an optional Pulsetto stimulation envelope, so you can just pick one and press play.
Build your own session by hand:
- Entrainment frequency — set the target beat frequency directly (e.g. an alpha or theta band).
- Background noise — choose a noise bed (e.g. white / pink / brown) to sit under the beats.
- Pulsetto option — enable vagus nerve stimulation alongside the audio, with intensity and pulse pattern.
- Lumenate Nova option (mobile) — enable synchronized light, strobing in time with the beat, with master brightness control.
- ROLI controller option (mobile) — play the binaural space from a ROLI LUMI Keys keyboard (a note sets the carrier; black keys set the beat) or a ROLI Lightpad Block / Block M touch pad (glide left↔right for carrier, up↔down for beat, press for volume). Both connect over standard BLE-MIDI.
An immersive, eyes-closed mode where you feel around a binaural field instead of setting sliders. A glowing circle shows the carrier (colour + centre), the binaural beat, and the "biphotic" (left/right light) beat. With the devices on, one gesture moves the whole field:
- Touch a ROLI Lightpad Block — left↔right = carrier, up↔down = beat, press = intensity.
- Gaze — press and move your head; the Lumenate Nova's accelerometer reads pitch (→ bends the beat a few Hz) and roll (→ opens the per-eye "biphotic" beat, re-syncing when you move to a new spot).
- Release and the beat/carrier lock in place to absorb, reflect, and emit.
It has a timer, counts toward your daily goal, and blends light + audio + gentle Pulsetto. → Read the full guide: docs/FIELD_MEDITATION.md — the science of carrier / binaural / biphotic beats, written with a bit of flair.
Describe what you want in a prompt, and PulseEntrain will:
- generate a matching binaural program, and
- optionally generate background instrumental music to accompany it.
Generated sessions can be saved and reused later. This arrives after the catalog and manual mode are complete (see Roadmap).
| Feature | Status |
|---|---|
| Pulsetto control (intensity, timer, status) | ✅ Available |
| Binaural-beat audio playback | ✅ Available |
| Advanced pulse-envelope mode (desktop) | ✅ Available |
| Program catalog (sessions by category) | ✅ Available (mobile) |
| Manual mode (frequency + noise + Pulsetto / Nova) | ✅ Available (mobile) |
| Field Meditation Mode — immersive XY(Z) binaural field; feel around by touch + gaze (guide) | ✅ Available (mobile) |
| General Settings page (profile, blend-with-other-apps, developer mode) | ✅ Available (mobile) |
| Admin authoring app (extract / create / edit sessions) | ✅ Available (desktop) |
Self-contained .imedx sessions (programmatic beats + embedded art) |
✅ Available |
| Lumenate Nova visual (light) entrainment | ✅ Available (mobile) |
Web Studio editor + open/play a saved .imedx |
✅ Available (web) |
| Head/phone motion mode — orientation steers carrier/beat | 🧪 Experimental |
| ROLI LUMI keyboard (Manual) — play a note → set the carrier (binaural piano); black keys set the beat. Standard BLE-MIDI | 🧪 Experimental (mobile) |
| ROLI Lightpad Block / Block M (Manual) — XY touch pad: glide → carrier, slide → beat, press → volume. Same BLE-MIDI transport | 🧪 Experimental (mobile) |
| Field Meditation — gaze control (Nova accelerometer: pitch → beat, roll → biphotic balance) | 🧪 Experimental (mobile) |
| Field Meditation — on-screen "simulated Lightpad" for phones without a block | 🔜 Planned |
| Field Meditation — phone accelerometer as a stand-in for the Nova's | 💡 Idea |
| Custom carrier-colour LEDs on the Lightpad (ROLI BLOCKS protocol) | 💡 Idea |
| LUMI tempo → beat, and beat-synced key lighting | 💡 Idea |
| AI-generated sessions (n8n + image gen, saveable) | 🔜 Planned |
| Audio streaming (replace bundled MP3s) | 🔜 Planned |
| Modality | Device | Status |
|---|---|---|
| Vagus nerve stimulation | Pulsetto | ✅ Supported |
| Audio (binaural beats) | Any headphones | ✅ Supported |
| Visual entrainment (light) | Lumenate Nova | ✅ Supported (mobile) |
| Live control (MIDI) | ROLI LUMI Keys, ROLI Lightpad Block / Block M | 🧪 Experimental (mobile) — play the carrier/beat by hand over BLE-MIDI |
Binaural beats require stereo headphones — each ear must receive a different tone for the effect to work.
The ROLI controllers are optional live input for Manual mode — a hands-on way to "feel around" the binaural space. They use the published BLE-MIDI standard, so any ROLI LUMI or Lightpad Block (including the legacy Block M) works; custom LED colouring is not yet implemented (it needs ROLI's proprietary BLOCKS protocol), so the pads show their own built-in touch-glow.
When two slightly different tones are played separately to each ear — say 200 Hz in the left and 210 Hz in the right — the brain perceives a third, phantom "beat" at the difference between them (here, 10 Hz). The idea behind brainwave entrainment is that this perceived rhythm gently encourages brain activity toward that frequency band, each of which is loosely associated with a state of mind:
| Band | Approx. range | Loosely associated with |
|---|---|---|
| Delta | 0.5–4 Hz | Deep sleep |
| Theta | 4–8 Hz | Drowsiness, meditation, dreaming |
| Alpha | 8–13 Hz | Relaxed, calm focus |
| Beta | 13–30 Hz | Alert, active thinking |
| Gamma | 30 Hz+ | High-level processing |
Binaural beats only work over headphones, and the evidence for entrainment is suggestive but mixed — treat it as a relaxation aid, not a guaranteed outcome.
The vagus nerve is the main nerve of the parasympathetic ("rest and digest") system, running from the brainstem down through the neck to the organs. Transcutaneous vagus nerve stimulation (tVNS) applies mild electrical pulses to a branch of the nerve near the skin to influence autonomic balance — explored as a way to support calm and stress relief. The Pulsetto is a consumer tVNS device; PulseEntrain drives it over Bluetooth and can modulate its intensity in rhythm with a session.
Rhythmic flickering light can drive a brain-rhythm response of its own (photic driving / the steady-state visual evoked response) — the visual cortex tends to follow a light pulsing at a steady rate. The Lumenate Nova is a pair of LED glasses that PulseEntrain drives over Bluetooth, strobing in sync with the session's beat frequency (independently per eye, with brightness control) so the light, the beats, and the stimulation all share one rhythm.
⚠️ Photosensitivity. Flickering light in the ~15–25 Hz range can provoke seizures in people with photosensitive epilepsy. Like the Lumenate app, PulseEntrain lets the Nova strobe vary across delta→gamma (up to 60 Hz) — which includes that risk band. The per-sessionnova.maxHzbounds it, but do not use the visual mode if you have photosensitive epilepsy or any seizure history.
PulseEntrain is two apps built around one shared session format:
- Admin —
desktop/— a Kivy desktop app for authoring content: extract a rendered binaural MP3 into its components, or create/edit a session on a timeline (beat curve, noise, cover, duration), preview it live, and save a self-contained.imedx. It also still includes the original Pulsetto device controller. → desktop/README.md - Main app —
mobile/— the cross-platform player (web + iOS + Android via One). Browse the catalog, play sessions, open a saved.imedx, pair Pulsetto (vagus nerve), Lumenate Nova (light), and ROLI LUMI / Lightpad (BLE-MIDI) devices, and use Manual mode or the immersive Field Meditation Mode. On the web it also hosts Studio — a browser.imedxeditor (interactive beat graph, live preview, undo/redo, save) that reuses the player's own synth, so the site doubles as authoring + a preview that funnels to the native apps. → mobile/README.md
Device protocols: Pulsetto and Lumenate Nova were reverse-engineered; the ROLI LUMI / Lightpad input uses standard BLE-MIDI, and drawing to the Lightpad's LEDs is speced (unverified) in docs/LIGHTPAD_DISPLAY_PROTOCOL.md.
Each app has a ./start.sh (run after the one-time install in its README):
cd desktop && ./start.sh # Admin (Kivy) — poetry run python main.py
cd mobile && ./start.sh # Player native bundler — npm run dev:native (One Metro)
cd mobile && ./start.sh --pair # …first install / new Wi-Fi: build + install to the USB device, then serveThe mobile ./start.sh auto-adapts to your current Wi-Fi (it detects this Mac's LAN IP and tells the bundler to advertise it). The device/simulator must be on the same Wi-Fi; on a new network either repoint the app once from its dev menu or use --pair to rebuild + install over USB so the fresh IP is baked in. See each app's README for first-time setup (poetry install / npm install) and the web target.
Sessions live in imedsAssets/ and are described by JSON — one shared contract for the Admin, the apps, and (later) AI generation. Full spec: docs/SESSION_FORMAT.md + the JSON Schema in docs/session.schema.json.
- Legacy
.imed— flat metadata + a bundled MP3 and cover image. .imedx(new, self-contained) — a programmatic scene timeline (beat/carrier over time), a sample-free noise bed, and the cover embedded as base64 — no separate audio/image files. The mobile app synthesizes these in real time; the Admin authors them (and converts legacy.imedon open).
- PulseEntrain is a wellness / entertainment tool, not a medical device, and is not a substitute for professional care.
- Follow Pulsetto's own guidance for placement, intensity, and session length. Do not exceed documented limits.
- Vagus nerve stimulation and brainwave entrainment have contraindications — if you are pregnant, have a heart condition, epilepsy/seizure history, or an implanted electronic device (e.g. a pacemaker), consult a qualified professional before use.
- The Lumenate Nova uses flickering light that can vary into the gamma range (up to 60 Hz), including the highest-risk ~15–25 Hz band. If you have photosensitive epilepsy or any seizure history, do not use the visual mode.
- Stop immediately if anything feels uncomfortable.
Built on the reverse-engineered Pulsetto protocol from the original pulse-libre project. Devices:
- Pulsetto — https://pulsetto.tech/
- Lumenate Nova — https://lumenate.co/lumenate-nova/