| |||
Views: 88,487,460 |
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search | 04-26-24 12:49 PM |
|
Guest: Register | Login |
0 users currently in ROM Hacking | 3 guests |
Main - ROM Hacking - SMB3 Music Inserter - WIP Release (beta 1.3) | New thread | New reply |
JaSp |
| ||
Shyguy Level: 24 Posts: 43/95 EXP: 73288 Next: 4837 Since: 03-02-07 From: Paris, France Last post: 4350 days Last view: 4145 days |
Hopefully MIDI conversion isn't too far ahead; I've begun to take a look at the MusicXML format, and it will be my current task for the next days.
I also found a great utility to convert MIDI files into MusicXML (MuseScore). Stay tuned |
KP9000 |
| |||
Boomboom Level: 90 Posts: 1100/1975 EXP: 6953395 Next: 235214 Since: 02-19-07 Last post: 3580 days Last view: 3204 days |
|
JaSp |
| ||
Shyguy Level: 24 Posts: 44/95 EXP: 73288 Next: 4837 Since: 03-02-07 From: Paris, France Last post: 4350 days Last view: 4145 days |
New release, with first version of the MusicXML to smb3song converter!
It kinda works, except that it doesn't support noise and dmc channels. You can now convert MIDI files to MusicXML (via MuseScore, it's the only free tool to do that that I found so far), and then convert that file with the MusicXMLConverter. There aren't any instructions on how to use it, but if you can look at your MIDI/MusicXML file structure, you should be able to understand it quite easily. Small notes : - ending measure is inclusive - multiply factor is used to multiply (or divide if by < 1) input notes by a certain amount; it is merely used to change the speed of the track regardless of the tempo, or if something doesn't sound right, for example when a note has a too small duration (< 0.33) for smb3) - the output track should sound as it sounds in MusicXML, *not* as the MIDI file itself (MuseScore's imported MIDIs don't sound right sometimes) Here's a screenshot with a ready-to-be-converted song : EDIT: check the included sml-overworld.smb3song file included, it has been made with the converter from a MIDI file! |
KP9000 |
| |||
Boomboom Level: 90 Posts: 1123/1975 EXP: 6953395 Next: 235214 Since: 02-19-07 Last post: 3580 days Last view: 3204 days |
|
JaSp |
| ||
Shyguy Level: 24 Posts: 45/95 EXP: 73288 Next: 4837 Since: 03-02-07 From: Paris, France Last post: 4350 days Last view: 4145 days |
- winamp startup should be disabled if you uncheck the "Open NSF" checkbox
- as for MuseScore, I merely use it as a converter; I just open a MIDI file with it and save as a MusicXML file; since it's basically made to generate scores, it isn't very handy for editing purposes for non-musically trained people. You've got to choose the instrument in the converter then ("Track to use"). However I realized that some MIDI files aren't imported right into MuseScore; that's why I'm actually considering writing a MIDI to smb3song Converter... So for now, I recommend optimizing the MIDI file itself first with your favorite tracker! |
Kawa |
| ||
CHIKKN NI A BAAZZKIT!!! 80's Cheerilee is best pony Level: 138 Posts: 2795/5344 EXP: 30945065 Next: 717916 Since: 02-20-07 From: The Netherlands Last post: 4498 days Last view: 2633 days |
For that matter, what if you use something other than Winamp to play NSF files? ____________________ Wife make lunch - Shampoo Opera - give it a spin Spare some of your free time? <GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered Kawa rocks — byuu |
JaSp |
| ||
Shyguy Level: 24 Posts: 46/95 EXP: 73288 Next: 4837 Since: 03-02-07 From: Paris, France Last post: 4350 days Last view: 4145 days |
The program only opens the .nsf file, so it just uses the default assigned opener for this file type. |
KP9000 |
| |||
Boomboom Level: 90 Posts: 1127/1975 EXP: 6953395 Next: 235214 Since: 02-19-07 Last post: 3580 days Last view: 3204 days |
|
JaSp |
| ||
Shyguy Level: 24 Posts: 47/95 EXP: 73288 Next: 4837 Since: 03-02-07 From: Paris, France Last post: 4350 days Last view: 4145 days |
Posted by KP9000Try to use the "multiply factor", i.e. setting it to 4 in this case; and also try to adjust the song's tempo; if you still can't get it right, well...I can't do much! I know things are really tricky right now, that's why I was considering making a MIDI to smb3song converter (I used MusicXML because XML seemed faster/easier to do, but after all, being a ROM hacker I'm really used to work with binary so it shouldn't be much of a problem - more a matter of time...) I won't be able to work on this very often, I'm quite busy with my internship, so I only get to work on all this on weekends. |
KP9000 |
| ||||
Boomboom Level: 90 Posts: 1131/1975 EXP: 6953395 Next: 235214 Since: 02-19-07 Last post: 3580 days Last view: 3204 days |
|
KP9000 |
| |||
Boomboom Level: 90 Posts: 1132/1975 EXP: 6953395 Next: 235214 Since: 02-19-07 Last post: 3580 days Last view: 3204 days |
|
JaSp |
| ||
Shyguy Level: 24 Posts: 48/95 EXP: 73288 Next: 4837 Since: 03-02-07 From: Paris, France Last post: 4350 days Last view: 4145 days |
Posted by KP9000This is an error from the XSD validation; that means the string pattern isn't correct for the channel. Usually it might be because the converter has output a too low/high octave (< 2 or > 7), or that a note duration was invalid (usually because it is too low so it has output a 0-note, which is invalid). It's cool that you managed to get a smb3song I'm at work right now but I'll definitely take a look at it once I get home! |
Kawa |
| ||
CHIKKN NI A BAAZZKIT!!! 80's Cheerilee is best pony Level: 138 Posts: 2848/5344 EXP: 30945065 Next: 717916 Since: 02-20-07 From: The Netherlands Last post: 4498 days Last view: 2633 days |
Know what this thing needs? Cheetahmen. ____________________ Wife make lunch - Shampoo Opera - give it a spin Spare some of your free time? <GreyMaria> I walked around the Lake so many goddamn times that my sex drive was brutally murdered Kawa rocks — byuu |
JaSp |
| ||
Shyguy Level: 24 Posts: 49/95 EXP: 73288 Next: 4837 Since: 03-02-07 From: Paris, France Last post: 4350 days Last view: 4145 days |
Just a little note to let you know that I am working on a MIDI converter, and that I've already managed to get an accurate smb3song-type string representation of a score (currently tested on just 1 midi file for now, but progress is going way faster than I could imagine)
Stay tuned! |
KP9000 |
| |||
Boomboom Level: 90 Posts: 1138/1975 EXP: 6953395 Next: 235214 Since: 02-19-07 Last post: 3580 days Last view: 3204 days |
|
JaSp |
| ||
Shyguy Level: 24 Posts: 50/95 EXP: 73288 Next: 4837 Since: 03-02-07 From: Paris, France Last post: 4350 days Last view: 4145 days |
I haven't checked yet, but my patch is likely to not be compatible with the latest version of Reuben; I believe DD used some space I used for my patch, so it would just overwrite it and break down Reuben's routines.
Also, I told DD about being able to manually set the song selection byte for levels' header but he must have forgotten about it, since you can't do so in the current release. I'll look into it and release a proper patch as soon as I can! |
DahrkDaiz |
| ||
Nipper Plant Sandwich Artist Level: 46 Posts: 306/417 EXP: 674456 Next: 37318 Since: 02-22-07 Last post: 3486 days Last view: 3407 days |
Well, there are 3 unused bytes for the level headers, one of those can be used to set the custom music (or the main music byte too). I was going to wait until both of our patches were final before adding support to change that value (which it can right now as Unused 1) as a music selection so I can detect it in the rom. |
JaSp |
| ||
Shyguy Level: 24 Posts: 51/95 EXP: 73288 Next: 4837 Since: 03-02-07 From: Paris, France Last post: 4350 days Last view: 4145 days |
Well, the best option here would be to have Reuben's song list loaded from an external file, so that I could generate a new file with SMB3MI; this way people would actually select "New Super Mario Bros. Overworld" as the song for their level rather than looking at SMB3MI to see that 21 = NSMB Overworld.
The list could look like this as an XML file :
I guess you should also disable your conversion algorithm since I'm taking care of this through my patch (I don't remember whether this was done in Reuben.exe or in the patched ROM ?) Anyway, using the Unused1 byte isn't convenient, it would basically waste it - and I'm already planning to really use these bytes for my future hack! |
DahrkDaiz |
| ||
Nipper Plant Sandwich Artist Level: 46 Posts: 309/417 EXP: 674456 Next: 37318 Since: 02-22-07 Last post: 3486 days Last view: 3407 days |
nice. Ok, what I will basically do is when we have our patches ready, I'll give the option to load an external music list and store the music value as a direct value. We should get together and see where you're wanting to put your asm stuff so that I do not continuously overwrite your stuff. I can clean up my code quite a bit if necessary to free up space. |
KP9000 |
| |||
Boomboom Level: 90 Posts: 1167/1975 EXP: 6953395 Next: 235214 Since: 02-19-07 Last post: 3580 days Last view: 3204 days |
|
Main - ROM Hacking - SMB3 Music Inserter - WIP Release (beta 1.3) | New thread | New reply |
© 2005-2023 Acmlm, blackhole89, Xkeeper et al. |
MySQL - queries: 124, rows: 163/166, time: 0.018 seconds. |