MusicRNN is a recurrent neural network that generates music notes in the ABC notation format. Using a simple RNN model written in Python using Keras, and trained on scraped data, the network is able to generate formatted text which can later be converted to actual audio.
This repository consists of 3 main parts:
- Data Scraping, showing the data acquisition process, and minimal preprocessing.
- MusicRNN, containing an example of training the model on a specific dataset.
Found in the api directory.
A simple Python FastAPI server, responding to GET requests at /[dataset]
with a random string generated with the model trained on the dataset.
Query parameters available:
string
: The starting string passed as an input to the model.length
: The number of characters to generate at the end of the starting string.
The server is deployed on Google Cloud and can be accessed here (remember to include a dataset name at the end of the URL).
A Jekyll website (written in Markdown) including JavaScript code to fetch a generation from the backend URL.
The website is hosted on GitHub Pages, and is available here.