code: def get_note_name(prev, octave, duration):
      if duration in ["4", "a_4"]:
          return f"{octave[0]}{prev}{octave[1]}/4"
      elif duration in ["8", "8_b_n", "8_b_r", "a_8"]:
          return f"{octave[0]}{prev}{octave[1]}/8"
      elif duration in ["16", "16_b_n", "16_b_r", "a_16"]:
          return f"{octave[0]}{prev}{octave[1]}/16"
      elif duration in ["32", "32_b_n", "32_b_r", "a_32"]:
          return f"{octave[0]}{prev}{octave[1]}/32"
      elif duration in ["2", "a_2"]:
          return f"{octave[0]}{prev}{octave[1]}/2"
      elif duration in ["1", "a_1"]:
          return f"{octave[0]}{prev}{octave[1]}/1"
      else:
          return "c1/4"
  
file_path: Mozart/src/main.py
imports: from commonfunctions import *
  from pre_processing import *
  from connected_componentes import *
  from staff import calculate_thickness_spacing, remove_staff_lines, coordinator
  from segmenter import Segmenter
  from fit import predict
  from glob import glob
  import cv2
  import pickle
  from scipy.ndimage import binary_fill_holes
  from skimage.morphology import thin
  import argparse
label_desc: Use image node_id 2 for calling a global function with example usage: get_note_name(prev, octave, duration) and returns: octave, prev, octave, str, octave, prev, octave, str, octave, prev, octave, str, octave, prev, octave, str, octave, prev, octave, str, octave, prev, octave, str, str