Skip to content

Wittmaxi/enjoy.ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Music Therapy comes alive: enjoy.Ai

Hero Image

Enjoy.AI generates music that accompanies you in every situation of life. We envelop you in a warm cocoon of music that adapts to your surroundings and helps you in finding your happy-space while helping you focus on your tasks. Using procedural generation, we create soundscapes adapted to your location, the surrounding noise-levels, the weather data, your pedometer and your heartbeat.

How to run

Clone the repository

$ git clone git@github.com:Wittmaxi/enjoy.ai.git
$ cd enjoy.ai

check out the readmes in the corresponding subdirectories for instructions on how to run either the frontend or the backend.

An example audio file can be found in the resources, to hear what kind of creativity anjoy.ai posesses.

Music Generation

Our plan was to generate the music using a pre-existing deep-learning model. Looking into it, it turned out to be a harder problem than anticipated. There are no real solutions for this on the market, so we opted for generating the music ourselves, which yielded workable results.

We generate a mix of three different kinds of music for the user: we generate a MIDI composition depending on the state of the user, and choose an appropriate nature-themed background noise from a curated collection. On top of this we mix in some binaural beats, which are known to have positive effects on concentration, creativity and anxiety.

Tech Image

Future

Using the Core-10 questionnaire used in clinical trials, regular checkups on the patient will be done. In order to help each user individually, the machine learning model will be trained individually for each patient. Based on their feedback, the music would be tweaked to ideally uplift them individually.

enjoy.ai
├── backend
│   ├── app.py
│   ├── clients.py
│   ├── db
│   │   ├── config.py
│   │   ├── database.ini
│   │   ├── db_client.py
│   │   ├── __init__.py
│   │   └── init.sql
│   ├── docker-compose.yml
│   ├── Dockerfile
│   ├── midi
│   │   └── midi_ml.py
│   ├── mood_gen_ml.py
│   ├── README.md
│   ├── requirements.txt
│   ├── safe_install.sh
│   ├── soundfiles
│   │   ├── binaural
│   │   │   ├── binaural_high.wav
│   │   │   └── binaural_low.wav
│   │   ├── CREMEBRULEE.wav
│   │   └── nature
│   │       ├── birds.wav
│   │       ├── fire.wav
│   │       ├── rain.mp3
│   │       ├── rustling_leaves.mp3
│   │       └── waves.wav
│   ├── steamer
│   │   ├── __init__.py
│   │   └── streaming_client.py
│   ├── util
│   │   ├── generate_audio.py
│   │   ├── __init__.py
│   │   └── merge_audio.py
│   └── weather.py
├── frontend
│   ├── android-manifest.plugin.js
│   ├── App.js
│   ├── app.json
│   ├── assets
│   │   ├── adaptive-icon.png
│   │   ├── favicon.png
│   │   ├── icon.png
│   │   └── splash.png
│   ├── babel.config.js
│   ├── components
│   │   ├── data
│   │   │   ├── Heart.js
│   │   │   └── Shoe.js
│   │   ├── DataDisplay.js
│   │   ├── FancyPlay.js
│   │   ├── FanncyPlayPause.js
│   │   ├── mood_buttons
│   │   │   ├── AnxiousButton.js
│   │   │   ├── HappyButton.js
│   │   │   ├── MotivatedButton.js
│   │   │   ├── SadButton.js
│   │   │   └── SleepyButton.js
│   │   ├── Moods.js
│   │   ├── Player.js
│   │   └── util
│   │       └── Header.js
│   ├── env.js
│   ├── package.json
│   ├── package-lock.json
│   ├── README.md
│   ├── useApi.js
│   ├── useHr.js
│   ├── usePlayAudio.js
│   ├── useSoundLevel.js
│   └── useStepLevels.js
├── README.md
└── resources
    ├── example.wav
    ├── Header.svg
    └── Tech.svg