# DeepMusic v1.0
# Jean-Pierre Briot
# 08/04/2019
# Configuration

import numpy as np

print('Configuration of the model and music analysis hyper parameters and mutable global variables shared between modules')

# Global variables
time_step_quarter_length = None		# duration of the time step/slice - unit: quarter length, ex: 0.25 -> 1/4th of a quarter
max_number_time_steps = None		# maximum number of time steps considered (notes not considered above that)
lowest_note_pitch_v = None			# lowest note pitch for each part (vector)
highest_note_pitch_v = None			# highest note pitch for each part (vector)
one_hot_size_v = None				# size of the one hot encoding for each part (vector)
is_deterministic = True				# flag for deterministic (highest value) or sampling each note (if/from the corresponding probabilities)
multinomial_sampling_number = 0		# count number of sampling (note from one hot encoding)
multinomial_error_number = 0			# count number of sampling errors (np.random.multinomial)
deep_music_analysis_verbose = False	# analysis verbose flag - default value = False
deep_music_training_verbose = False	# training verbose flag - default value = False
deep_music_generation_verbose = False	# generation verbose flag - default value = False

