Midi to MML converter that automatically outputs to AMK-readable format. Automatically loops repeated sections. Supports adding samples and splitting tracks. (Currently does not support triplets, sorry)
Usage: midi2smw.exe <flags> inputMidi.mid To specify an output file: midi2smw.exe <flags> inputMidi.mid outputFile.txt
Flags: -specifyTracks Manually specify which tracks to insert into the output -split Specify tracks to split with note groupings -samples Specify samples for notes -noLoop Print output without loops
converter, midi, mml, music
I really appreciate the effort you described while producing the tool, such as the learning process for understanding how MIDI works. However, for a such tool get hosted yet it still lacked a few important points:
1. It does not include a documentation or a readme describing how to use the tool. Documentation is a good practice on the software engineering world and even more for SMW Central; you have to consider that the majority of the people does not have a in-depth knowledge of programming/tools and your submission just included the binary files with a copy of the --help command in the submission description. Consider creating a small guide on how to use the tool, common scenarios and a troubleshooting guide.
2. The lack of triplets support makes the tool not very useful compared to PetiteMM, which is the currently most used midi->mml tool. Most of the people which I asked thoughts about the tool mentioned about this issue.
3. Although it generates some very simple looping structure, the optimizations ends at it. Octaves gets constantly redefined, rests for example always come with a "o0", which is not even a valid octave for the SMW music engine (which the tool claims it converts to).
o0 r4 o4 a+4 a+2^4 ; example of o0 + rest
Octave changes doesn't make the MML output larger but it makes it difficult to read.
o4 a+4 o5 c4 d2 o4 g4 o5 d4 d2^4 c8 d8 ; example of a section that could have done very simple optimization
Don't forget that tools involve automation of manual tasks, it's very important to take these details in consideration if you would like to your tool eventually suit the needs of the users. Not many people will be interested in using a tool that requires you doing a trivial but hardworking process that could have been automatized.
Regardless of the above points, I hope you revisit your tool and make the improvements needed for ensuring more people will be able to enjoy and make good use of your creation.