This repository is a part of COMP4029 Individual Programming Project at the University of Nottingham. This README file is a supplement to my master's dissertation document where all project's components are explained in detail. The document is accessible in this repository as dissertation.pdf
here.
This project contains a Flask web application described in the dissertation. It can be hosted locally after installing the dependencies.
The back-end is contained in .py files in the source directory.
The front-end is contained in static/ and templates/ directories.
ai_memory_sculpture
└───audio_processed
└───outputs
│ └───examples
└───recordings
│ └───examples
└───static
│ └───images
│ │ scripts.js
│ │ style.css
└───templates
│ └───Memory Sculpture Generator
│ │ website.html
│ app.py
│ config.py
│ SculptureGenerator.py
│ EmotionExtractor.py
│ WaveProcessor.py
│ README.md
│ requirements.txt
The dependencies installation was tested on Computer Science Windows Remote Desktop using the following steps.
- Install Conda with Miniforge 3
curl -L -o miniforge.exe https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Windows-x86_64.exe
start /wait "" miniforge.exe /InstallationType=JustMe /RegisterPython=0 /NoRegistry=1 /NoScripts=1 /S /D=%USERPROFILE%\Miniforge3
- Activate the base conda evrionment
cmd /K ""%USERPROFILE%/Miniforge3/Scripts/activate.bat" "%USERPROFILE%/Miniforge3""
- Install the latest CadQuery version
conda install -c cadquery -c conda-forge cadquery=master
To do this on Linux, follow the instructions in CadQuery Documentation. To run it on an ARM-based Mac, you will have to create a Conda environment which emulates x86 architectures.
To install all the other dependencies please navigate to the source directory of the project and run the following command inside the conda environment:
pip install -r requirements.txt
Should there be any issues with the requirements document, there is a complete list of all the packages used to run the project on the Computer Science Windows Virtual Desktop in requirements-full.txt
, and my personal Mac in requirements-mac.txt
.
The project uses two IBM APIs:
To use the application, you will need to create an account and fill in the API keys and URLs in config.py
.
Run the following code to launch the Flask application. The website will be hosted locally on your device under the address printed in the command line.
python app.py