All Projects → urish → Muse Js

urish / Muse Js

Licence: mit
Muse 2016 EEG Headset JavaScript Library (using Web Bluetooth)

Programming Languages

typescript
32286 projects

Labels

Projects that are alternatives of or similar to Muse Js

Eeg classification
EEG Sleep stage classification using CNN with Keras
Stars: ✭ 54 (-72.02%)
Mutual labels:  eeg
Bci.js
📊 EEG signal processing and machine learning in JavaScript
Stars: ✭ 117 (-39.38%)
Mutual labels:  eeg
Electrophysiologydata
A list of openly available datasets in (mostly human) electrophysiology.
Stars: ✭ 143 (-25.91%)
Mutual labels:  eeg
Wits
A Node.js library that reads your mind with Emotiv EPOC EEG headset
Stars: ✭ 73 (-62.18%)
Mutual labels:  eeg
Deepeeg
Deep Learning with Tensor Flow for EEG MNE Epoch Objects
Stars: ✭ 100 (-48.19%)
Mutual labels:  eeg
Tapas
TAPAS - Translational Algorithms for Psychiatry-Advancing Science
Stars: ✭ 121 (-37.31%)
Mutual labels:  eeg
Microstate Eeglab Toolbox
Microstate EEGlab toolbox
Stars: ✭ 21 (-89.12%)
Mutual labels:  eeg
Brainflow
BrainFlow is a library intended to obtain, parse and analyze EEG, EMG, ECG and other kinds of data from biosensors
Stars: ✭ 170 (-11.92%)
Mutual labels:  eeg
Mne Cpp
MNE-CPP: A Framework for Electrophysiology
Stars: ✭ 104 (-46.11%)
Mutual labels:  eeg
Entropy
EntroPy: complexity of time-series in Python (DEPRECATED)
Stars: ✭ 142 (-26.42%)
Mutual labels:  eeg
Openbci Dashboard
A fullstack javascript app for capturing and visualizing OpenBCI EEG data
Stars: ✭ 82 (-57.51%)
Mutual labels:  eeg
Sleepeegnet
SleepEEGNet: Automated Sleep Stage Scoring with Sequence to Sequence Deep Learning Approach
Stars: ✭ 89 (-53.89%)
Mutual labels:  eeg
Mne Python
MNE: Magnetoencephalography (MEG) and Electroencephalography (EEG) in Python
Stars: ✭ 1,766 (+815.03%)
Mutual labels:  eeg
Electrophysiologysoftware
A list of openly available software tools for (mostly human) electrophysiology.
Stars: ✭ 54 (-72.02%)
Mutual labels:  eeg
Fooof
Parameterizing neural power spectra into periodic & aperiodic components.
Stars: ✭ 162 (-16.06%)
Mutual labels:  eeg
Wizardhat
Real-time processing and plotting of data streamed over LSL, with a focus on student-led BCI projects.
Stars: ✭ 33 (-82.9%)
Mutual labels:  eeg
Analyzing neural time series
python implementations of Analyzing Neural Time Series Textbook
Stars: ✭ 117 (-39.38%)
Mutual labels:  eeg
Eegrunt
A Collection Python EEG (+ ECG) Analysis Utilities for OpenBCI and Muse
Stars: ✭ 171 (-11.4%)
Mutual labels:  eeg
Deep Bci
An open software package to develop BCI based brain and cognitive computing technology for recognizing user's intention using deep learning
Stars: ✭ 168 (-12.95%)
Mutual labels:  eeg
Pyeeg
Python + EEG/MEG = PyEEG
Stars: ✭ 126 (-34.72%)
Mutual labels:  eeg

muse-js

Build Status

Muse 2016 EEG Headset JavaScript Library (using Web Bluetooth)

Running the demo app

yarn
yarn start

and then open http://localhost:4445/

Usage example

import { MuseClient } from 'muse-js';

async function main() {
  let client = new MuseClient();
  await client.connect();
  await client.start();
  client.eegReadings.subscribe(reading => {
    console.log(reading);
  });
  client.telemetryData.subscribe(telemetry => {
    console.log(telemetry);
  });
  client.accelerometerData.subscribe(acceleration => {
    console.log(acceleration);
  });
}

main();

Using in node.js

You can use this library to connect to the Muse EEG headset from your node.js application. Use the bleat package which emulates the Web Bluetooth API on top of noble:

const noble = require('noble');
const bluetooth = require('bleat').webbluetooth;

async function connect() {
    let device = await bluetooth.requestDevice({
        filters: [{ services: [MUSE_SERVICE] }]
    });
    const gatt = await device.gatt.connect();
    const client = new MuseClient();
    await client.connect(gatt);
    await client.start();
    // Now do whatever with muse client...
}

noble.on('stateChange', (state) => {
    if (state === 'poweredOn') {
        connect();
    }
});

You can find a fully working example in the muse-lsl repo.

Auxiliary Electrode

The Muse 2016 EEG headsets contains four electrodes, and you can connect an additional Auxiliary electrode through the Micro USB port. By default, muse-js does not read data from the Auxiliary electrode channel. You can change this behavior and enable the Auxiliary electrode by setting the enableAux property to true, just before calling the connect method:

async function main() {
  let client = new MuseClient();
  client.enableAux = true;
  await client.connect();
}

Event Markers

For convenience, there is an eventMarkers stream included in MuseClient that you can use in order to introduce timestamped event markers into your project. Just subscribe to eventMarkers and use the injectMarker method with the value and optional timestamp of an event to send it through the stream.

async function main() {
    let client = new MuseClient();
    client.eventMarkers.subscribe((event) => {
        console.log(event);
    });
    client.injectMarker("house")
    client.injectMarker("face")
    client.injectMarker("dog")
}

Projects using muse-js

  • EEGEdu - Interactive Brain Playground. Source code using React, Polaris and chartjs.
  • EEG Explorer - Visual EEG readings from the Muse EEG Headset. Source code using Angular, Material Design and smoothie charts.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].