My entry for the AI Music Generation Challenge 2020 at The 2020 Joint Conference on AI Music Creativity https://boblsturm.github.io/aimusic2020/
The model generates a specific sort of folk music called a double jig which exhibits the following musical features:
- disclaimer: I don't know a thing about folk music!
- in 6/8 time
- melody has (loosely) two groups of quavers (8th notes) per bar
- phrases may end in a dotted quaver (three 8th notes)
- ornaments like substituting the second quaver in a triplet for two semiquavers
- probably more things - people disagree: https://thesession.org/discussions/4231
brew install wget
conda create -y -n dj-gen python=3.8
conda activate dj-gen
# pip install .
pip install -e ".[dev]"
# TODO: auto install correct pytorch for given platform
pip install torch torchvision
# pip install torch==1.6.0+cu101 torchvision==0.7.0+cu101 \
# -f https://download.pytorch.org/whl/torch_stable.html
Then run the following:
from music21 import configure
configure.run()
Also, make sure you open MuseScore and accept the query box first, else you'll get errors in the notebook e.g.
dlopen error : dlopen(/usr/local/lib/libjack.0.dylib, 1): image not found
Creating main window…
ZoomBox::setLogicalZoom(): Formatting logical zoom level as 100% (rounded from 1.000000)
Reading translations…
wget http://www.norbeck.nu/abc/book/oneills/1001/DoubleJig0001-0365.abc -P data/
Install pre-commit hooks to automatically check code with isort, black, and flake8.
git clone git@github.com:JamesOwers/double-jig-gen.git
cd double-jig-gen
pre-commit install