Coder Social home page Coder Social logo

brainbeatsucf / brainbeats-desktop Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 21.14 MB

Desktop client for brainbeats suite. Simple electron application for creating audio samples out of brain waves.

License: MIT License

JavaScript 85.77% HTML 0.11% CSS 12.07% Python 2.05%
eeg electron eeg-headset linux javascript audio beats

brainbeats-desktop's Introduction

BrainBeats Desktop

This repository contains the desktop client for brainbeats suite. At it's core, it's an electron application for creating audio samples out of brain waves.

Development

Primary Dependencies:

If working with the EEG headset:

The desktop client was developed primarily on Mac with EEG integration done on Windows. If there are no intentions to use EEG dependent parts of the client, installation guidelines for python dependencies can be skipped.

Ports

During development, the various parts of the application run in the following ports:

  • React: localhost:3232

Install

Max/Linux base package

  • Run npm install

Windows base package

  • Run npm run install_windows

Python dependencies (cross platorm)

Python dependencies can be installed on your system or within an environment (recommended).

  • Optional: Create and activate environment
    • Install virtualenv on your system
      • Mac/Linux: python3 -m pip install --user virtualenv
      • Windows: py -m pip install --user virtualenv
    • Create environment
      • Max/Linux: python3 -m venv env
      • Windows: py -m venv env
    • Activate environment
      • Mac/Linux: source env/bin/activate
      • Windows: .\env\Scripts\activate
    • Check that environment has been activated
      • Mac/Linux: which python should print .../env/bin/python to terminal
      • Windows: where python should print .../env/bin/python.exe to console
  • Install python dependencies: pip install -r hardware/requirements.txt

Run

Mac/Linux

  • Run npm start

Windows

  • Open up two terminals
  • In one terminal, run npm run start_windows
  • In the other terminal window, run electron . in this same root directory

Build

Mac/Linux

Building the application transcribes all the components and plugins down to simple html and javascript files to be used for distribution. It also copies over all the hardware and setup files to the production folder. It does not create the distribution binaries for the electron application. To create the binaries, a separate setup such as electron forge, or electron builder should be used.

  • Run npm run stage_production to build production files
  • Run npm run start_production to start up electron using built files. Running without staging files will error out.
    • If you're planning on using the EEG headset, make sure python dependencies have already been installed.

Windows

  • First run this command in Powershell, for some reason npm doesnt play nicely with Powershell commands: Remove-Item -Recurse -Force -Path production/; mkdir production/; npm run build_prod_windows; Copy-Item -Recurse -Force -Path hardware/ -Destination production/; Copy-Item -Path production_modules/main.js -Destination production/; Copy-Item -Path shared_variables.json -Destination production/; Copy-Item -Path preload.js -Destination production/
  • Then run: electron production/main.js

Known Issues

brainbeats-desktop's People

Contributors

dependabot[bot] avatar hevia avatar lloydoad avatar restyled-commits avatar

Watchers

 avatar  avatar

brainbeats-desktop's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.