Midi note numbers in hexadecimals and decimals
Tips on Midi
- Converting Audio to Midi. (This is tricky.)
You can in some software grab audio and convert it to midi notes, not always with good results. Creating hitpoints, that is, get the beat from an audio file is pretty easy and can produce a good result, getting the pitch is more difficult. (It is possible to do it with script but then you really need to know what you are doing.) For paid software, at least Cubase Artist can create hitpoints from an audio file, for notes with different pitch, you would need Cubase Pro (at current date), the function is called VariAudio, a sort of pitch correction function.
Mixxus Studio created a simple free Audio to Midi converter for this purpose (because it is really handy to have a converter sometime). You could download it from Microsoft Store, it is called Midi Pad Light Version - Midi Player and Audio Converter.
You can read more about it here.
- Reading Midi notes in other software.
Audacity, which is a free and great audio software can read a midi file, it can't edit or record midi but you can view the notes in the midi file in case you would need.
You should be able to find a free midi editor somewhere, consider open source from safe site.
- Reading the inside of a Midi file
Midi files are binary files and can be read in Visual Studio's binary reader. If you for some reason would need to programmatically change a Midi file, the note info, like the number and on and off and other info are made up of bytes. These can be changed in script, however you really need to be familiar with the midi file structure and know what you are changing or you will end up with a corrupt file. As usual, always make a copy! Thankfully, most editing can be done in a sequencer software.
If you absolutely need to do something creative and need to change something programmatically, there are some good Youtube videos out there on how to parse and programming a midi file. Study the file in a binary reader, like Microsoft's Visual Studio (it is free). The file always start with info on filename and track. To replace values you would use the script definition byte, and switch a byte array, you could write your own values in a string array and convert these back to byte. Look up details in Microsoft docs.