Open dwysocki opened 9 years ago
This has now been partially implemented. The preprocess
subcommand exists, along with the options:
--fix-pitch
--fix-duration
--fix-attack
--fix-decay
Currently, however, the options do nothing. To make them function in the general case will take a bit of work. For the sake of the semester paper, these options are non-essential. What is important for now is the option-less functionality, where it simply spits out the MusicString parsed from the input file as a MIDI or MusicString. This allows me to tell if important information is being lost.
Create a preprocess subcommand that simply performs the same preprocessing currently done to MIDI files in the
alphabet
andtrain
subcommands. Consider removing the duplicate functionality from those two subcommands.With no arguments provided, it will simply take a MIDI file, parse it with JFugue, and output the MIDI file that JFugue produces. This will allow me to hear the changes resulting from JFugue's parsing alone, and let me verify that the training data actually resembles the original song. This will be very useful in understanding what is happening when I train the model on the Super Mario Bros theme, which I believe is not translating to piano very well.
Options to remove either the pitch or duration will be added. Currently
alphabet
andtrain
have a--simplify
option, but that will be renamed to--fix-duration DURATION
, which forces all notes to have a duration ofDURATION
. There will also be a--fix-pitch PITCH
option, which does the same for pitch. This will save me from preprocessing the MIDI file each time, and also let me confirm that the preprocessed song sounds sensible.