Skip to main content

When To Use This Package

Use @elata-biosciences/eeg-web when your app needs:
  • EEG analysis APIs in the browser
  • shared EEG web contracts used by higher-level integrations
  • browser-side access to Elata WASM models and signal-processing helpers
This package does not implement Bluetooth device connection. Add @elata-biosciences/eeg-web-ble if you also need live Muse-compatible browser transport.
New to the SDK? Start by scaffolding a demo app with create-elata-demo before wiring packages manually. See the First App tutorial.

Installation

pnpm add @elata-biosciences/eeg-web
Requirements: Node.js 20+ for server-side usage and local repo tooling; modern browser with WebAssembly support for in-browser usage.

WASM Initialization

Before using any signal processing or model APIs, initialize the WASM module:
import { initEegWasm } from "@elata-biosciences/eeg-web";

await initEegWasm();
initEegWasm is idempotent. Calling it multiple times returns the same promise. For synchronous initialization (e.g., in a Web Worker):
import { initEegWasmSync } from "@elata-biosciences/eeg-web";

initEegWasmSync(wasmModule);

Basic Usage

Compute band powers from EEG data:
import { initEegWasm, band_powers } from "@elata-biosciences/eeg-web";

await initEegWasm();

const sampleRate = 256;
const eegSamples = new Float64Array(/* ... your EEG data ... */);

const powers = band_powers(eegSamples, sampleRate);
console.log("Alpha:", powers.alpha);
console.log("Beta:", powers.beta);
console.log("Theta:", powers.theta);
console.log("Delta:", powers.delta);
console.log("Gamma:", powers.gamma);

Package Structure

@elata-biosciences/eeg-web is a thin TypeScript wrapper around WASM bindings generated by wasm-bindgen:
  • initEegWasm / initEegWasmSync: WASM initialization helpers
  • Headband frame types: normalized data schema for EEG transports
  • All WASM APIs: re-exported from the generated bindings

Key Exports

  • initEegWasm
  • initEegWasmSync
  • band_powers
  • WasmAlphaBumpDetector
  • WasmAlphaPeakModel
  • WasmCalmnessModel
  • AthenaWasmDecoder
  • createRppgPipeline
Generated wasm-bindgen exports are re-exported for compatibility and SDK debugging. Avoid instantiating generated wrappers directly unless you are intentionally debugging the SDK itself.

Next

Choose A Package

Not sure if this is the right package? See the decision guide.

Add EEG to an Existing App

Step-by-step integration tutorial

Signal Processing

Band powers, FFT, spectrum analysis

Models

Alpha bump detection, calmness scoring

Headband Transport

Frame schema and transport interface