Website that generates a custom twelve-tone equal temperament scale according to a given frequency
There are a set of controllers that allow you to choose a frequency, scale type, and duration.
When you click the card titled 'Scaleseq':
- Logs will be printed in the console of the inspect panel
- A text box shows with the chosen frequency, scale type, and duration
- A tone is generated where the backend is being served
Dependencies: Python3, Flask, numpy, pyAudio, C compiler
- Navigate to
/backendfolder. - Create venv by running
python3 -m venv venv - Active the venv by running
source venv/bin/activate - Install dependencies in venv by running
pip install -r requirements.txt - Run the following commands
source venv/bin/activate # skip if you've already activated the venv
flask --app server run
This will run the Python Flask server on port 5000
Navigate to /frontend folder and run the following command.
Must have Angular CLI installed.
npm start
This will run the Angular server on port 4200
Go to http://localhost:4200 on your favorite browser
If running Ubuntu 22.04, run apt install gcc python3-dev portaudio19-dev
- Run
git clone https://github.com/ai-nakamura/Scaleseq.git - Navigate to
/backendfolder. - Create venv by running
python3 -m venv venv - Active the venv by running
source venv/bin/activate - Install dependencies in venv by running
pip install -r requirements.txt - Run the following commands
source venv/bin/activate # skip if you've already activated the venv
# replace <hostname> with your own server
export CORS_ORIGIN=http://<hostname>
flask --app server run --host <hostname>
This will run the Python Flask server on port 5000
- Build
distfolder by runningng buildin the frontend directory - Copy contents of
dist/Scaleseqto appropriate folder on web server