This repository is used to restore my final homework in AI class, I tried to implement a neural network for converting any audio into a playable 4 Keys Malody chart (Malody is a rhythm action game).
The overall architecture of the ann consists of two nets:
- CNN for analysing audio feature
- Bi-LSTM for generating charts
Put all of the chart file like ***.mcz
in a folder named "data_raw", and run python unzip.py
, then run python datafilter.py
, we will get two folders named data_unziped
and data
. Above all aims to get the train data and corresponding labels. At last, run python preprocessing.py
to get a file named data.pkl
to save matrixing data.
Just modify train.py
and change the path of pretrained model.
Run python infer.py audio_path [-m model_path]
The generated chart will be at the root of this file
checkpoints
: for saving trained model
data_raw
: original data, download from malody_official_chart
data
, data_unzip
, data.pkl
: for preprocessing data
model.py
: model file
train.py
: train the model
infer.py
: use trained model to infer
- Donahue, Chris, Zachary C. Lipton, and Julian McAuley. “Dance Dance Convolution.” arXiv, June 20, 2017. http://arxiv.org/abs/1703.06891.
- Takada, Atsushi, Daichi Yamazaki, Likun Liu, Yudai Yoshida, Nyamkhuu Ganbat, Takayuki Shimotomai, Taiga Yamamoto, Daisuke Sakurai, and Naoki Hamada. “Gen\’eLive! Generating Rhythm Actions in Love Live!” arXiv, December 20, 2022. https://doi.org/10.48550/arXiv.2202.12823.
also inspired by https://github.com/nladuo/AI_beatmap_generator