asigalov61 commited on
Commit
703febf
·
verified ·
1 Parent(s): 89b4182

Upload TMIDIX.py

Browse files
Files changed (1) hide show
  1. TMIDIX.py +23 -8
TMIDIX.py CHANGED
@@ -6897,25 +6897,40 @@ def binary_matrix_to_original_escore_notes(binary_matrix,
6897
 
6898
  def escore_notes_averages(escore_notes,
6899
  times_index=1,
6900
- durs_index=2,
 
6901
  ptcs_index=4,
6902
  vels_index=5,
 
6903
  score_is_delta=False,
6904
  return_ptcs_and_vels=False
6905
  ):
6906
 
6907
  if score_is_delta:
6908
- times = [e[times_index] for e in escore_notes if e[times_index] != 0]
6909
-
 
 
 
6910
  else:
6911
  descore_notes = delta_score_notes(escore_notes)
6912
- times = [e[times_index] for e in descore_notes if e[times_index] != 0]
6913
-
6914
- durs = [e[durs_index] for e in escore_notes]
 
 
 
 
 
 
6915
 
6916
  if return_ptcs_and_vels:
6917
- ptcs = [e[ptcs_index] for e in escore_notes]
6918
- vels = [e[vels_index] for e in escore_notes]
 
 
 
 
6919
 
6920
  return [sum(times) / len(times), sum(durs) / len(durs), sum(ptcs) / len(ptcs), sum(vels) / len(vels)]
6921
 
 
6897
 
6898
  def escore_notes_averages(escore_notes,
6899
  times_index=1,
6900
+ durs_index=2,
6901
+ chans_index=3,
6902
  ptcs_index=4,
6903
  vels_index=5,
6904
+ average_drums=False,
6905
  score_is_delta=False,
6906
  return_ptcs_and_vels=False
6907
  ):
6908
 
6909
  if score_is_delta:
6910
+ if average_drums:
6911
+ times = [e[times_index] for e in escore_notes if e[times_index] != 0]
6912
+ else:
6913
+ times = [e[times_index] for e in escore_notes if e[times_index] != 0 and e[chans_index] != 9]
6914
+
6915
  else:
6916
  descore_notes = delta_score_notes(escore_notes)
6917
+ if average_drums:
6918
+ times = [e[times_index] for e in descore_notes if e[times_index] != 0]
6919
+ else:
6920
+ times = [e[times_index] for e in descore_notes if e[times_index] != 0 and e[chans_index] != 9]
6921
+
6922
+ if average_drums:
6923
+ durs = [e[durs_index] for e in escore_notes]
6924
+ else:
6925
+ durs = [e[durs_index] for e in escore_notes if e[chans_index] != 9]
6926
 
6927
  if return_ptcs_and_vels:
6928
+ if average_drums:
6929
+ ptcs = [e[ptcs_index] for e in escore_notes]
6930
+ vels = [e[vels_index] for e in escore_notes]
6931
+ else:
6932
+ ptcs = [e[ptcs_index] for e in escore_notes if e[chans_index] != 9]
6933
+ vels = [e[vels_index] for e in escore_notes if e[chans_index] != 9]
6934
 
6935
  return [sum(times) / len(times), sum(durs) / len(durs), sum(ptcs) / len(ptcs), sum(vels) / len(vels)]
6936