Previous Page | Next Page

by Nisto at 3:30 PM EDT on March 21, 2016
Done.

As for further KDT research, I'm sad to say there has been little to no progress despite having code with named functions now. I am just generally confused and frustrated at this point.

There are a few tracks in SH1 which use the 0xC8 (0x64) command (pitch bend, and it does seem like it's actually implemented in SH1 too, judging by comparing the code to the WE5 driver). So I tested C.KDT with a PSF with an original driver, but the command really doesn't seem to have any effect, regardless of the parameter value. I did also try adding pitch bend support to my Python tool and converting the WE5 menu theme, but the pitch bends doesn't sound right.

Also, I realized there's another issue in converting. There's a limit of 16 channels in MIDI, and channel 10 is exclusive to drums/percussion, whereas it isn't in KDT1. This may cause the track using channel 10 to be silent if it is not a drum instrument. And I've seen lots of tracks which use 16 channels so far. So I'm really not sure how to tackle this.

Oh, what else. Apparently all commands except those in the 0xC6 - 0xCE range are channel message events. But what they also have in common is that they don't lead into some nicely named function directly, but they're stored in a table in RAM first, which I assume are shortly after picked up by the appropriate function. So that's going to take a while to understand, especially since I don't have any debugger available.

And yeah, still no effing clue why the tempo isn't right. The code in WE5 looks just the same as in SH2. Maybe there is some more commands which contributes to the tempo. Or maybe the tempo is even manually changed by the game. It does disable/enable channels when you switch menus for example - even before it starts playing too, since the rock track doesn't play on the first screen. Also, I noticed track 4 has some modulation effect or something, so that doesn't sound very accurate currently. But not sure which command that is yet.


If anyone out there is experienced with MIDI et al, please do help if you have any ideas. I am happy to provide my IDA project files, which contains personal comments on stuff.
sh2 extra audio tracks by sega at 9:25 PM EDT on June 20, 2016
so....from what you are saying
all the extra tracks in born from a wish have dialog over them?
by Nisto at 3:14 AM EDT on June 21, 2016
Love Psalm was an extra track added to the DC/GH release I believe. It's in a movie and has no dialogue.

Apart from that, no additional sequenced tracks were added, so the only thing left to contain additional music is dialogue tracks.

I wrote a Python script a little while ago for extracting all data from SOUND.DAT in any release of SH2. I could throw it up on Github if anyone's interested. Note that SOUND.DAT does not contain any movie stuff though (you can extract movie.mgf and movie2.mgf with PSS Cutter and VGMToolbox).
by peronmls at 11:23 AM EDT on June 22, 2016
were you able to figure out pitch bend at all?
by jimbo1qaz at 1:44 AM EDT on June 24, 2016
@Nisto

I wrote a Fluidsynth mod to allow over 16 channels, allocating each track to its own channel.

https://github.com/jimbo1qaz/fluidsynth-plus

You'll have to compile it yourself (which I heard is difficult on Windows).

# PROCEDURE

First, remap your MIDI files so all non-percussion tracks are assigned to other channels (not 10). You may have to duplicate channels. This is perfectly fine (though Anvil Studio may damage the MIDI when you create duplicate channels).

Then compile the custom Fluidsynth and run "fluidsynth -K 64 soundfont... midi".

# EXPLANATION

`fluidsynth -K n` specifies the number of channels. I modified the program to allocate each track to its own channel, when n >= 17 (n <= 256). The channel numbers in the MIDI are ignored, except for channel 9 (conventionally 10) which remains percussion.

edited 1:44 AM EDT June 24, 2016
by Nisto at 2:48 AM EDT on June 25, 2016
@peronmls: I've just updated the script on Github to support pitch bend. But as I've mentioned previously, I can not seem to convert the parameters accurately. For comparison, here's the siren in Silent Hill 2, which uses pitch bend: Siren MIDI+SF2.7z (unless this is an unused variation of the siren or something? I found it among the SFX sequences by chance).

@jimbo1qaz: Thanks for the tip. It sounds great, but I'm not very good working with toolchains and setting up all the dependencies to be honest. I have GCC 4 (MinGW) installed, and that works for the puny C programs I write... I guess. I'd gladly try out a Windows build if available though. But also, how can it allow over 16 channels if channel messages (0xEx) are effectively limited to 4-bit channel numbers? Am I missing something? Does the program assign re-used channel numbers to something else?
by peronmls at 11:59 AM EDT on June 25, 2016
@nisto
Thanks. ill be able to properly tell with SH3s mall enemies since the goth choir sample gets pitched bend.
by jimbo1qaz at 2:08 PM EDT on June 25, 2016
Fluidsynth already supports up to 256 channels (fluidsynth -K ###). These channels are only accessible through API, not MIDI files.

I edited the program to make these extra channels accessible from MIDI files.

My program only keeps Channel 9 (conventionally 10). Otherwise, it assigns "channel = track", skipping channel 9.

----

You should install Mingw-w64. It's MUCH newer and better than MinGW.

I haven't tried compiling Fluidsynth on Windows.

Check here (it looks painful): https://sourceforge.net/p/fluidsynth/wiki/BuildingFluidSynth/#windows

edited 3:00 PM EDT June 25, 2016
by Nisto at 10:33 PM EDT on August 19, 2016
Since the "unused tracks" video is still having weird encoding/playback problems and keeps annoying people, I've uploaded a new encode. Hopefully this works better...

https://www.youtube.com/watch?v=AWE4gOoQRs8

I uploaded this too:

https://github.com/Nisto/sh2-soundex
by mrjaredbeta at 12:41 PM EDT on August 21, 2016
Thank you Nisto!

Previous Page | Next Page
Go to Page 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

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=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source