Example #1
0
def choose_accidental(fv, note):
  accidental = ''

  scores = {
    globals.NATURAL:cosine_similarity(natural,fv),
    globals.SHARP:cosine_similarity(sharp,fv),
    globals.FLAT:cosine_similarity(flat,fv)
  }
  sorted_scores = sorted(scores.iteritems(), key=lambda (k,v):(v,k), reverse=True)

  if(len(sorted_scores) > 1):
    tops = selection.select_top_same_scores(sorted_scores)
    if(globals.NATURAL in tops):
      accidental = globals.NATURAL
    else:
      accidental = random.choice(tops)
  else:
    accidental = sorted_scores[0]

  if((accidental == globals.FLAT) and (note == 'c' or note == 'f')):
    accidental = globals.NATURAL
  if((accidental == globals.SHARP) and (note == 'b' or note == 'e')):
    accidental = globals.NATURAL

  return accidental
Example #2
0
def _score_notes_no_octave(fv):
  scores = {
    'a':cosine_similarity(globals.a,fv),
    'b':cosine_similarity(globals.b,fv),
    'c':cosine_similarity(globals.c,fv),
    'd':cosine_similarity(globals.d,fv),
    'e':cosine_similarity(globals.e,fv),
    'f':cosine_similarity(globals.f,fv),
    'g':cosine_similarity(globals.g,fv),
  }
  return sorted(scores.iteritems(), key=lambda (k,v):(v,k), reverse=True)
Example #3
0
def _score_notes(fv):
  scores = {
    'a3':cosine_similarity(globals.a0,fv),
    'b3':cosine_similarity(globals.b0,fv),
    'c4':cosine_similarity(globals.c0,fv),
    'd4':cosine_similarity(globals.d0,fv),
    'e4':cosine_similarity(globals.e0,fv),
    'f4':cosine_similarity(globals.f0,fv),
    'g4':cosine_similarity(globals.g0,fv),
    'a4':cosine_similarity(globals.a1,fv),
    'b4':cosine_similarity(globals.b1,fv),
    'c5':cosine_similarity(globals.c1,fv),
    'd5':cosine_similarity(globals.d1,fv),
    'e5':cosine_similarity(globals.e1,fv),
    'f5':cosine_similarity(globals.f1,fv),
    'g5':cosine_similarity(globals.g1,fv),
    'a2':cosine_similarity(globals.a2,fv),
    'b2':cosine_similarity(globals.b2,fv),
    'c3':cosine_similarity(globals.c2,fv),
    'd3':cosine_similarity(globals.d2,fv),
    'e3':cosine_similarity(globals.e2,fv),
    'f3':cosine_similarity(globals.f2,fv),
    'g3':cosine_similarity(globals.g2,fv),
    'c2':cosine_similarity(globals.c3,fv),
    'd2':cosine_similarity(globals.d3,fv),
    'e2':cosine_similarity(globals.e3,fv),
    'f2':cosine_similarity(globals.f3,fv),
    'g2':cosine_similarity(globals.g3,fv)
  }
  return sorted(scores.iteritems(), key=lambda (k,v):(v,k), reverse=True)