  Generating music is an interesting and challenging problem in the field of
machine learning. Mimicking human creativity has been popular in recent years,
especially in the field of computer vision and image processing. With the
advent of GANs, it is possible to generate new similar images, based on trained
data. But this cannot be done for music similarly, as music has an extra
temporal dimension. So it is necessary to understand how music is represented
in digital form. When building models that perform this generative task, the
learning and generation part is done in some high-level representation such as
MIDI (Musical Instrument Digital Interface) or scores. This paper proposes a
bi-directional LSTM (Long short-term memory) model with attention mechanism
capable of generating similar type of music based on MIDI data. The music
generated by the model follows the theme/style of the music the model is
trained on. Also, due to the nature of MIDI, the tempo, instrument, and other
parameters can be defined, and changed, post generation.
