File size: 1,832 Bytes
ecda0df
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# MusicMamba

This is the official implementation of MusicMamba.

*Checkout our demo and paper* : [Demo](https://moersxm.github.io/MusicMamba_Demo/) | [arXiv](https://arxiv.org/abs/2409.02421)

## Environment
* Clone this Repo 

    ```bash
    git clone https://github.com/Wietc/MusicMamba.git
    ```

* using python version 3.11.5
* using pytorch version 2.2.1
* install python dependencies

    `pip install -r requirements.txt`

* Mamba needs to be downloaded separately
  
    `pip install mamba_ssm`

* install checkpoints from Huggingface
  

## To train the model with GPU

We currently do not offer fine-tuning functionality.

## To generate music

`python generate.py`

##  Details of the files in this repo
```
`
β”œβ”€β”€ data                    Stores train, test and val data.
β”‚   └── FolkDB              
β”‚Β Β      β”œβ”€β”€ train
β”‚Β Β      β”œβ”€β”€ test
β”‚       └── val
β”œβ”€β”€ dataset.py              Progress datasets.
β”œβ”€β”€ generate.py             For generating music. (Detailed usage are written in the file)
β”œβ”€β”€ model.py                The MusicMamba Architecture.
β”œβ”€β”€ midi_tokenize           Remi-M tokenize.
β”œβ”€β”€ utilities               Tools for generating music.
β”‚Β Β  β”œβ”€β”€ argument_funcs.py   Some arguments for generating.
β”‚Β Β  β”œβ”€β”€ constants.py        
β”‚   └── device.py           
└── README.md              Readme
```

## Citation
If you find this work helpful and use our code in your research, please kindly cite our paper:
```
@article{MusicMamba,
title={MusicMamba: A Dual-Feature Modeling Approach for Generating Chinese Traditional Music with Modal Precision},
author={Jiatao Chen and Xing Tang and Tianming Xie and Jing Wang and Wenjing Dong and Bing Shi}, year={2024},
eprint={2409.02421},
archivePrefix={arXiv},
}
```