Previous Page | Next Page

by punk7890-2 at 12:10 AM EDT on May 30, 2016
Yeah, I was thinking it should be in MSB, not LSB for Konami format. I'll let Sub know soon, unless he reads this topic in the morning. MSB would work much better with midi and when importing to game is supported as there is a bank select command (F0XX) in the sequence format that would convert properly (CC#0) to this Konami sequence format as well.

Also you'll noticed the vocal notes in midi are a bit odd as there is small notes when really it should be one long note. That's actually not a error in conversion, but due to the way this Konami sequence format handles them. It's a bit complicated as to why they do this exclusively for the vocals but it does now make a bit of sense on why they do this as this is a very nicely encoded sequence format that loves to save a ton of space (take a look at games that use the SNG format. They are quite massive!). I would go more into depth about how this works, but it shouldn't be a issue. You will just have to stretch the notes longer and erase the mini small notes that get placed around the vocal notes. You will also need to take note of the Fine Tune (E0XX) in the debug parse txt if you want to sync them up with proper timing. I believe you can use pitch bend for fine tune.

I could upload my notes on this format if you would like. They may be a bit messy, however.

edited 12:15 AM EDT May 30, 2016
by SubDrag at 10:28 AM EDT on May 30, 2016
There is a button in the soundbank tool for Konami games that exports the banks combined (and makes the drum bank). Is it not working properly?

Jet Force Gemini midis actually use Controller 32 in the midi itself, so those I kept using LSB.

MIDI CC0 Bank Select - When received, the following program change should select the MIDI program in this bank value
instead of the default bank of 0.
Also, I don't understand the MSB/LSB comment? Midis support both, using Controllers 0 and 32, so what is not supporting that? It seems like LSB is lower values so more natural, like 0, 2, 4, etc, while MSB is actually huge numbers of instrument.

For Konami format, the midis and soundfont use LSB 0-5, and MSB 0, while MSB 1 and LSB 0 is for drum bank.

Looking at SF2 specification, it seems to support:

MIDI CC32 Bank Select LSB - When received, may behave in conjunction with CC0 Bank Select to provide a total of
16384 possible MIDI banks of programs.

edited 10:32 AM EDT May 30, 2016
by kode54 at 11:02 PM EDT on May 30, 2016
Most SoundFont synthesizers use the CC0 to choose the SoundFont bank, since SF2 only supports banks 0-127, with 128 being the drum bank.

Creative's driver supports configuring whether to obey CC0, CC32, or both, but defaults to CC0.

BASSMIDI observes patch banks as CC0, and patches must be specially loaded with mapping overrides per instrument to move them to CC32. Or the player must remap CC32 to CC0.

In foo_midi, with BASSMIDI, I override CC32 to no-op, and use CC32 to control per-channel mapping support, since there's no other way to do that with BASSMIDI, that I know of.

CC0 vs CC32 vs SF2 spec, is rather weird, actually. Considering that the SF2 format has a 16 bit bank field, but the standard only specifies support for bank numbers 0-128, with 128 being the drum bank.

I would love for this to support something more, but I haven't the faintest way to do this, other than writing or using my own open source synthesizer. The one in Polyphone looks promising, but it'll have to be de-Qt'd to be useful to me.

If you like, you could look at the code from Polyphone, and maybe help me with writing a DLS level 1 and 2 and SF2/SF3 bridge? Something that imports DLS into the specification in memory used by Polyphone, so we can contribute DLS loading and possibly saving to it. Not to mention DLS synthesis that we can totally control, bend, and extend in neat ways.
by punk7890-2 at 9:11 PM EDT on June 9, 2016
Another update: Paper Mario support! Midi support is added to Animal Forest as well (sound bank not so much).

Lots of work went into Paper Mario! Sadly, it seems this is the only game that uses this format. Enjoy! Remember if you spot any inconsistencies that are not listed below, do comment.

A few things to point out that are not supported:
Tremolo, pitch bend, a few volume controllers, special tempo increments, special volume/pan increment/decrements. For pitch bend, the game uses coarse tune + fine tune to do their pitch adjustments that emulates pitch bend. This isn't supported as the fine tune range goes beyond midi. Special tempo and the special volume/pan controllers are based on time adjustments that increment/decrement over time, hence not supported either. There is about 5 total volume controllers that somehow work with each other so we only ended up taking the one that's most commonly used. As a result, some tracks may start off quiet. The sound bank for this game is handled odd as well so we made a bank per song. Tuning however is not correct at the moment. I gave up on trying to figure out how coarse tune + fine tune work in this game. I might give it another go another time as I do see a pattern. ADSR is also not supported as it has odd timing like Konami did with their format. If anyone is interested in my notes, feel free to take a look. If you do use it for something, do credit us (punk7890 & SubDrag).

edited 9:13 PM EDT June 9, 2016
by AnonRunzes at 10:27 PM EDT on June 9, 2016
About the N64 Soundbank Tool...
I can't seem to select Sin and Punisment as the ROM because it is not listed in the program itself at all. All I want is the samples from that game whose audio isn't sequenced saved for that one midi file which the N64 Midi Tool detects.
Also, why DLS?

edited 10:29 PM EDT June 9, 2016
by punk7890-2 at 10:37 PM EDT on June 9, 2016
It's labeled as its Japanese name, Tsumi to Batsu - Hoshi no Keishousha (J).

Because SubDrag couldn't find a SF2 API at the time. If you have Awave Studio you can convert DLS to SF2.
by AnonRunzes at 10:48 PM EDT on June 9, 2016
"It's labeled as its Japanese name, Tsumi to Batsu - Hoshi no Keishousha (J)."
I still can't see it on the tool itself. Said tool requires you to select a specific ROM, right?

"If you have Awave Studio you can convert DLS to SF2."
Huh, I didn`t know that. Thanks for the tip.
by punk7890-2 at 11:15 PM EDT on June 9, 2016
Opps. Was a bit of a mix up with the naming. Download these and replace them in your sound bank tool folder. It adds the game as Sin and Punishment (J) now.
by robotortoise at 2:41 AM EDT on June 10, 2016
Oh, that's really cool that Paper Mario works now! Awesome job; this is really nifty!

It seems to spit up MIDIs and Soundfonts unnamed, though, which would be fine if there wasn't 610 MIDIs.

Is there a way to automatically stitch them together?

edited 2:43 AM EDT June 10, 2016
by punk7890-2 at 2:55 AM EDT on June 10, 2016
Ah yeah. Single exported midi's don't seem to have their name. I'll let Sub know about that. For now, you'll have to export all midis and sound banks using the "Export All Midis" and "Write All DLS Soundfont Banks" options for now to get the names to show.

The "Combine Sub-segments" tick box combines all sub-segments from their respective segment. For instance, Normal Battle_Segment0_SubSegment0, Normal Battle_Segment0_SubSegment2, Normal Battle_Segment0_SubSegment3 will simply become Normal Battle_Segment0.mid once using that tick box. This combines the sub-segments into a whole segment midi.

edited 3:02 AM EDT June 10, 2016

Previous Page | Next Page
Go to Page 0 1 2 3 4 5 6 7 8 9

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=]Link[/url]


HCS Forum Index
Halley's Comet Software
forum source