This repository is implementation of Symbolic Music Loop Generation with Neural Discrete Representations (accepted at ISMIR 2022). The outcomes are generated loops of 8 bars consisting of bass and drum. We take the following steps; 1) loop extraction from MIDI datasets using our loop detector trained by the structure of loop raw audio, 2) loop generation from an autoregressive model trained by discrete latent codes of the extracted loops.
- Python 3.8.8
- Ubuntu 20.04.2 LTS
- Read requirements.txt for other Python libraries
- preprocess_wav.ipynb is to transform Xwav to Cwav
- preprocess_midi.ipynb is to transform Xmidi to Cmidi
- loop_detection.ipynb is to train the loop detector and extract loop samples from it
- VQVAE_main.ipynb is to train VQ-VAE and obtain quantized embeddings
- VQVAE_LSTM.ipynb is to train autoregressive model with discrete representations
You can listen our generated samples on Google Drive. There are examples belonging to one of three categories; 1) Training set, 2) MuseGAN, and 3) VQ-VAE + LSTM.
Special thanks for DaeHan Ahn (University of Ulsan). He contributed to improve the quality of the paper by re-organizing the content structure.
Sangjun Han, Hyeongrae Ihm, Moontae Lee, Woohyung Lim (LG AI Research), "Symbolic Music Loop Generation with Neural Discrete Representations", Proc. of the 23rd International Society for Music Information Retrieval Conference, 2022