def main(): if len(sys.argv) < 2: sys.exit("no file passed") imgpath = sys.argv[1] image = images.get_grayscale_picture(imgpath) if image == None: sys.exit("could not read image") resized = images.resize_with_padding(image, 30, 50) flattened = numpy.ravel(resized) symbol = classify(flattened, "symbol") if symbol == "note": note_duration = classify(flattened, "note_duration") pitch = classify(flattened, "pitch") print(symbol, note_duration, pitch) xmlpath = "demo/" + os.path.splitext( os.path.basename(imgpath))[0] + ".xml" musicxml.create_xml_for_note(pitch, note_duration, xmlpath) elif symbol == "rest": rest_duration = classify(flattened, "rest_duration") print(symbol, rest_duration)
def get_data(dirname, files, classifier_func, m=PIXELS): n = len(files) X = np.zeros(shape=(n, m)) y = np.zeros(shape=(n, 1)) for (i, filename) in enumerate(files): image = images.get_grayscale_picture(dirname + filename) klass = classifier_func(filename) X[i] = np.ravel(image / 255) y[i] = klass return (X, y)
def get_data(dirname, files, classifier_func, m = PIXELS): n = len(files) X = np.zeros(shape = (n, m)) y = np.zeros(shape = (n, 1)) for (i, filename) in enumerate(files): image = images.get_grayscale_picture(dirname + filename) klass = classifier_func(filename) X[i] = np.ravel(image / 255) y[i] = klass return (X, y)
def get_notes(inputdir, m=PIXELS): files = [f for f in os.listdir(inputdir) if f.startswith("note")] n = len(files) X = np.zeros(shape=(n, m)) y = np.zeros(shape=(n, 1)) for (i, filename) in enumerate(files): image = images.get_grayscale_picture(inputdir + filename) klass = classes.get_pitch_class(filename) X[i] = np.ravel(image / 255) y[i] = klass return (X, y)
def old_get_data(inputdir, m=PIXELS): files = [f for f in os.listdir(inputdir) if f.endswith(".png")] n = len(files) X = np.zeros(shape=(n, m)) y = np.zeros(shape=(n, 1)) for (i, filename) in enumerate(files): image = images.get_grayscale_picture(inputdir + filename) klass = get_symbol_class(filename) X[i] = np.ravel(image / 255) y[i] = klass return (X, y)
def get_quarters_and_eights(inputdir, m = PIXELS): files = [f for f in os.listdir(inputdir) if (f.startswith("note") and ("quarter" in f or "eighth" in f))] n = len(files) X = np.zeros(shape = (n, m)) y = np.zeros(shape = (n, 1)) for (i, filename) in enumerate(files): image = images.get_grayscale_picture(inputdir + filename) klass = 0 if ("quarter" in filename) else 1 X[i] = np.ravel(image / 255) y[i] = klass return (X, y)
def get_notes(inputdir, m = PIXELS): files = [f for f in os.listdir(inputdir) if f.startswith("note")] n = len(files) X = np.zeros(shape = (n, m)) y = np.zeros(shape = (n, 1)) for (i, filename) in enumerate(files): image = images.get_grayscale_picture(inputdir + filename) klass = classes.get_pitch_class(filename) X[i] = np.ravel(image / 255) y[i] = klass return (X, y)
def old_get_data(inputdir, m = PIXELS): files = [f for f in os.listdir(inputdir) if f.endswith(".png")] n = len(files) X = np.zeros(shape = (n, m)) y = np.zeros(shape = (n, 1)) for (i, filename) in enumerate(files): image = images.get_grayscale_picture(inputdir + filename) klass = get_symbol_class(filename) X[i] = np.ravel(image / 255) y[i] = klass return (X, y)
def get_quarters_and_eights(inputdir, m=PIXELS): files = [ f for f in os.listdir(inputdir) if (f.startswith("note") and ("quarter" in f or "eighth" in f)) ] n = len(files) X = np.zeros(shape=(n, m)) y = np.zeros(shape=(n, 1)) for (i, filename) in enumerate(files): image = images.get_grayscale_picture(inputdir + filename) klass = 0 if ("quarter" in filename) else 1 X[i] = np.ravel(image / 255) y[i] = klass return (X, y)