Example

Midi to NX converter

6

SP4CEBAR 2021-05-01 09:53 (Edited)

I've moved this project to MidiTools

This program converts a midi file to an NX music file. In the conversion process you can set the precision of the quantization: a value of 1 means that it'll preserve the music as best as it can, but it'll probably not fit in the 64 tracks of NX music.

Yay, the tracks line up now. Fixed another bug with the note lengths I fixed another bug with the rounding (quantizing) of time values

To load in a midi file, you can open a .mid file in a hex editor, if you're on IOS you could use an online hex editor. In the hex editor you can copy the hex data and paste it in this program. I've loaded a midi file for the nyan cat song in rom location 5.


Big thanks to Timo for helping me with the midi file system



G-9 2021-05-01 10:08

🤩


Timo 2021-05-01 14:07

Very cool!


SP4CEBAR 2021-05-01 15:23

Thanks


G-9 2021-05-01 16:12

Well I can’t really import any midi but you are bold and brave :3


SP4CEBAR 2021-05-01 16:17 (Edited)

@G-9 You mean, you don't have a (working) hex editor?, are you on IOS?


SP4CEBAR 2021-05-01 18:13

On IOS I think it's best to use an online hex editor, since there aren't any free hex editors in the app store


G-9 2021-05-01 20:31

I’m on iOS and I used an online hex editor, then removed all spaces :3
“ since there aren't any free hex editors in the app store “ yea, I saw that, idk why 😂


G-9 2021-05-01 20:32

I imported headers (there was an option to export line numbers and text)


Timo 2021-05-01 20:52

I think spaces are ignored anyway, so no need to remove them.


SP4CEBAR 2021-05-02 10:32 (Edited)

I think it looks nicer if the data's layout is reset, so I just made a little program to do that: it loads the data from an external disk to RAM and then it saves it back to the disk:

INPUT "FILE:";F
KEYBOARD OFF
FILES
C$=FILE$(F)
S=FSIZE(F)
PRINT C$
PRINT "SIZE=",F
LOAD F,$A000
SAVE F,C$,$A000,S
PRINT "DONE"


SP4CEBAR 2021-05-03 09:34 (Edited)

I just found an online hex editor which allows you to copy hex data from a file to clipboard in the same data layout as NX (16 bytes per row):
http://tomeko.net/online_tools/file_to_hex.php?lang=en
Make sure to uncheck the "Use 0x and comma as separator".


G-9 2021-05-04 12:10 (Edited)

Thank you :3
Now it works !! I can upload midi files :3
Yasss thank you you are the best :’D


Log in to reply.