Project that aims to imitate the process of cancer in a patient through a musical analogy. There are scripts to run the code on the command-line, as well as a front-end to use it through the browser.
Install python-poetry.
Run poetry install inside this directory, and then use the script via either poetry run mutate_sheet [FILENAME] or poetry shell and then mutate_sheet [FILENAME].
Make sure to use poetry to manage your dependencies, it'll make things a lot easier.
When installing the project for the first time, be sure to run poetry install --with dev to get all the development tools.
Make sure to set up a proper editor (VSCode, NeoVim, etc.) that can take advantage of all of the automatic formatting and linting tools in the dev dependencies.
Run poetry run uvicorn api.main:app --reload to start the back-end server in development mode.
Move to the front directory in api and run npm install && npm run dev to start the Svelte development server.
Install python-poetry, then run poetry install.
fluidsynth and portaudio must be installed for the back-end server to run.
Move into api/front and run npm install && npm run build.
In the top-level directory, poetry run uvicorn src.api.main:app --host 0.0.0.0 --port [PORT].
You can also use docker instead. Run docker build -t cancer_music . && docker run -p [PORT]:8000 -t cancer_music.
If you want uvicorn to run in https mode, copy over your certificates and keys before building.
Then modify the CMD line in the Dockerfile to poetry run uvicorn src.api.main:app --host 0.0.0.0 --ssl-keyfile=[KEYFILE] --ssl-certfile=[CERTFILE].
Then, when running docker run, make sure to pass -p 443:8000.