Skip to content

SH2282000/NeuroTechX

Repository files navigation

MindMusic - NeuroTechX

Project made for the NeuroTechX hackaton.

It's easy to listen to music (cf. Spotify), but still hard to play something that really fit our mood.​ This proect emphasis around ways to create, pitch and modulate musical pieces in real time, with relation to the neuro-feedbacks of our brain.

In order to create a personnal experience, the app have two modes:

  • Recording: This mode allows to train the neural network to our music feedback (Signals from the channels) and be set for the Experiencing mode.
  • Experiencing: In this mode, the models are trained (weighted) to our feedbacks and the music is playing w.r.t. our feelings.

How to build?

To clone this repository, run the following command:

    git clone git@github.com:SH2282000/NeuroTechX.git

You must install poetry and npm on your system. Then follow this installation procedure:

    poetry config virtualenvs.create true
    poetry config virtualenvs.in-project true

    pyenv shell 3.8.10
    poetry env use $(pyenv which python)
    poetry install # from this moment on, you can execute any commands in our virtual environment.

    # To start the frontend user-friendly interface, do the following:
    cd frontend 
    npm start

To build the project go into file > Build and Run and select the destination of the executable file.

Preview

Here's a preview video of the game running on a mac.

Screenshot 2022-10-31 at 09 22 20

Screenshots

Screenshot 2022-10-31 at 09 20 47

Highest enjoyment of music is experienced during an engaged state of flow. ​(Audio) feedback pulls one in.​ Let's make musical expression as accessible as music listening by letting the user focus on the music and leaving the performance technique to the system.​

We aim to convert EEG signals to performance control parameters which feed a real-time performance renderer, ideally using supervised training.​

Contributors

GROUP "Mind Music" (Contributors)

  • Vladimir Viro
  • Tobias Fischer
  • Shannah Santucci
  • Daniel Lindenblatt

Repartition of the Workload

Contirbutors WORKLOAD
Vladimir
  • Creating the concept
  • Hardware manager (Cyton board)
  • Musical designer
Tobias
  • Main logic (Python)
  • Team binder
  • Git management (GIT)
Shannah
  • FrontEnd development
  • Virtual environment manager
  • Interfacing following MVC model
  • User-frindly in-browser app designer
  • General bug fixes python
Daniel
  • Main logic (Python)
  • Git management (GIT)
  • Handling documentation
  • Slides

Other ressources

  • Hardware (OpenBCI): Ultracortex Mk IV, Cyton + Daisy boards (16 EEG ch.)​
  • Software: brainflow, LabRecorder [EEG recording];​
  • Peachnote for the musical performance renderer https://peachnotde.de
  • Pianoteq for piano sound rendering https://pianoteq.com