Skip to content

Lightweight Jazz chord accompaniment RNN for single note improvising using TensorFlow in Python.

Notifications You must be signed in to change notification settings

ColBeanz/Chomp-TensorFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

To train the network:

python3 main.py --mode train

To run the network:

python3 main.py --mode run


Command line arguments include:

--mode			'train' or 'run' the network 
--data_dir		directory dataset is stored, must include 'melody' and 'chords' folders
--save_dir		directory where model checkpoints are saved during training 
--num_units		number of units in each layer of the model 
--num_layers		number of layers in the model 
--batch_size		number of simultaneous batches to train on 
--seq_length		sequence length of each batch 
--num_epochs		number of times through the data set the model will train for
--grad_clip		float value to clip gradients at
--learning_rate		float value to set the AdamOptimizer learning rate at 
--output_keep_prob	float output dropout value 
--input_keep_prob	float input dropout value 


Ensure that melody data is in the form:

32 32 32 32 35 35 35 35 38 38 38 38 39 39 39 39

(4 midi note values per beat (16th notes))


Ensure that chord data is in the following form:

Am7 Am7 D7 D7

(4 chords per bar (1/4 notes) from the chords listed in the dataset/out_vocab.txt chords document)

Ensure the same number of beats and bars (line numbers) appear in each file.

You may add new chords to the out_vocab.txt file but deletion of saved vocab.pkl and data.npy files and data preprocessing must be carried out before re-training can occur.

About

Lightweight Jazz chord accompaniment RNN for single note improvising using TensorFlow in Python.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published