Previous Page

by notveryhelpful at 11:59 PM EST on December 7, 2017
I noticed that D05.mus was missing as well. Pointing it out in case you didn't already try all the tracks. I added the track titles to the filenames, and these don't work:

1-16 Amaty Ruins -Seal- (probably D02)
2-14 A Legend Sleeping in Ice Chains (probably D05)

They have the following errors:

<!>- Exception - vector(T) too long

and

<!>- Warning: The SWDL + SMDL pair #0, for preset 0 has 0 Sample info slots, and 0 samples .

Some of the tracks that work have some issues with relative volume of some instruments, as well as some other small things.

Have you encountered the message about 0 samples before?
by psy_commando at 5:46 AM EST on December 8, 2017
The soundfont format is a complete mess, so there might be some things synthfont doesn't like with my implementation. I mainly tested using Polyphone and Foobar in terms of compatibility. But tbh, I've had synthfont crash with random soundfonts before.. It doesn't seems to be very fault tolerant..

And the large size for the SF2 is normal. Since SF2's volume envelopes aren't as flexible as DSE's, I've had to render them into the samples themselves.. Which means a lot of long samples, and since its all raw audio in there, it gets really big really quick. There's a command line option to "make do" and not bake anything in the samples. That results in tiny soundfonts, but the envelopes sounds weird.

You'd definitely need a custom synth to play DSE audio properly. DLS and SF2 just can't do the same things. And, some of the filters DSE uses are basically impossible to emulate with those either.

And about the exception, I noticed some music files from games other than PMD2 seems to have a lot of quirks in their music files.. That might be why it crashes when allocating like that.. I'll have to take a look. If you get the chance, you should run it with full logging on, it might give a few more hints.

And yeah, those warnings are fine, they're there to better notice the quirks with the files. Prof layton had a bunch of instruments with no samples or anything associated to it for example. Probably just the devs being messy. Seems like soma is another one of those..

EDIT:
Oh and about the volume being off, that's probably because there's basically no proper conversion done on the sample's volume. I just did a shitty cross multiplication to convert the volume's proportions. But the volume on the NDS hardware is stored differently than it should in the SF2 format, so it would need a proper conversion. But I basically knows nothing about signal processing, so I can't really do much about it right now.

edited 5:51 AM EST December 8, 2017

edited 5:53 AM EST December 8, 2017
by notveryhelpful at 10:16 AM EST on December 8, 2017
The logging for the broken files just stops before the part that says "Writing Soundfont..." in working files. I didn't notice error messages in the logs before this happened either, so I haven't included other parts for now. It's possible to get MIDIs from both of the broken files separately to confirm which track was which. These are the points where the logging stops for me at least:

D02.mus (1-16 Amaty Ruins -Seal-), 14th preset:

======================
Handling Trk#0_prg#0xf
======================
    --- Split#0 ---
    Remaping DSE( atkvol : 0, atk : 0, dec : 0, sus : 127, hold : 0, dec2 : 127, rel : 55 )
Skipping Attack..
Skipping Hold..
Decay was 0, falling back to decay 2..
Handling Release..
    Remaped to (del, atk, hold, dec, sus, rel) ( -12000, -12000, -12000, -12000, 0, -2067 )

---------

D05.mus (2-14 A Legend Sleeping in Ice Chains), 11th preset:

======================
Handling Trk#0_prg#0xe
======================
    --- Split#0 ---
    Remaping DSE( atkvol : 0, atk : 0, dec : 0, sus : 127, hold : 0, dec2 : 127, rel : 58 )
Skipping Attack..
Skipping Hold..
Decay was 0, falling back to decay 2..
Handling Release..
    Remaped to (del, atk, hold, dec, sus, rel) ( -12000, -12000, -12000, -12000, 0, -1684 )
    --- Split#0 ---
    Remaping DSE( atkvol : 0, atk : 0, dec : 0, sus : 127, hold : 0, dec2 : 127, rel : 127 )
Skipping Attack..
Skipping Hold..
Decay was 0, falling back to decay 2..
Handling Release..
    Remaped to (del, atk, hold, dec, sus, rel) ( -12000, -12000, -12000, -12000, 0, 6041 )
    --- Split#0 ---
    Remaping DSE( atkvol : 0, atk : 0, dec : 0, sus : 127, hold : 0, dec2 : 127, rel : 58 )
Skipping Attack..
Skipping Hold..
Decay was 0, falling back to decay 2..
Handling Release..
    Remaped to (del, atk, hold, dec, sus, rel) ( -12000, -12000, -12000, -12000, 0, -1684 )
    --- Split#0 ---
    Remaping DSE( atkvol : 0, atk : 0, dec : 0, sus : 127, hold : 0, dec2 : 127, rel : 50 )
Skipping Attack..
Skipping Hold..
Decay was 0, falling back to decay 2..
Handling Release..
    Remaped to (del, atk, hold, dec, sus, rel) ( -12000, -12000, -12000, -12000, 0, -2752 )
    --- Split#0 ---
    Remaping DSE( atkvol : 0, atk : 0, dec : 0, sus : 127, hold : 0, dec2 : 127, rel : 50 )
Skipping Attack..
Skipping Hold..
Decay was 0, falling back to decay 2..
Handling Release..
    Remaped to (del, atk, hold, dec, sus, rel) ( -12000, -12000, -12000, -12000, 0, -2752 )
    --- Split#0 ---
    Remaping DSE( atkvol : 0, atk : 0, dec : 0, sus : 127, hold : 0, dec2 : 127, rel : 50 )
Skipping Attack..
Skipping Hold..
Decay was 0, falling back to decay 2..
Handling Release..
    Remaped to (del, atk, hold, dec, sus, rel) ( -12000, -12000, -12000, -12000, 0, -2752 )
    --- Split#0 ---
    Remaping DSE( atkvol : 0, atk : 0, dec : 0, sus : 127, hold : 0, dec2 : 127, rel : 127 )
Skipping Attack..
Skipping Hold..
Decay was 0, falling back to decay 2..
Handling Release..
    Remaped to (del, atk, hold, dec, sus, rel) ( -12000, -12000, -12000, -12000, 0, 6041 )

---------

I can post more of the logs later if it makes any difference for this.
by psy_commando at 6:51 PM EST on December 8, 2017
Definitely seems like some dev weirdness..
I'll take a look at the SWDLs for those tracks and try to see what's different about them..
by psy_commando at 4:15 AM EST on December 14, 2017
Alright, I think I fixed things! Also now games that don't use a single main swd bank will export to separate sf2 for each midis.
https://github.com/PsyCommando/ppmdu/releases/tag/ppmd_audioutil_0.37
by notveryhelpful at 7:43 AM EST on December 15, 2017
Thanks a lot for the quick fix. However, D05 appears to play the wrong sound at some points. For example, at 0:40, 0:44, 0:48 etc. there's a jingle bell sound (Prg10->Smpl0) that is replaced with a drum roll (Prg10->Smpl1) when the MIDI file is played. A single drum hit is played instead of the drum roll as well, from 1:01 onward.

Edit: These sounds are part of Prg10->Inst10, and Track 14 in the MIDI file has these instruments. The MIDI file has the jingle bell mapped to G5, but the soundfont has it tied to F5 (this note is not actually used). The MIDI file also has the notes G#6 and A6 in Track 14 but there's no sound associated with these in the soundfont.

In-game/soundtrack version: https://www.youtube.com/watch?v=_t-nDw2yU2A

Maybe the crash in earlier versions might be related to this, since these sounds are part of the soundfont preset (0xe) where the logging stopped.

edited 7:04 AM EST December 16, 2017
by psy_commando at 10:13 AM EST on December 17, 2017
Alright I'll look into that. To be honest, I wouldn't be surprised.. This happened before, and my code handling sample mapping is a complete half-assed mess..
However, I didn't notice anything wrong with other games.. So it might be a side effect of some of the samples that this preset refers to not existing. I noted a few programs referring to non-existant samples.

EDIT:
Ok, I hear the drumroll too. I'm surprised its just limited to that though. If its what I think it is it would have shifted a lot of instruments.. I'll definitely need to look at this more closely.

edited 10:18 AM EST December 17, 2017
[edit] (4 hours left)
by notveryhelpful at 12:35 PM EST on December 17, 2017
Other sounds in that preset have been switched as well. I edited the soundfont with Polyphone to make it more accurate, but something (like the order of Smpl2 and Smpl3) may still be wrong.

The keys were originally like this:

Smpl4 - key 36
Smpl5 - key 38
Smpl6 - key 40
Smpl3 - key 41
Smpl0 - key 65
Smpl1 - key 67
Smpl2 - key 72

The changed version is like this:

Smpl2 - key 36
Smpl3 - key 38
Smpl4 - key 40
Smpl1 - key 41
Smpl0 - key 65
Smpl5 - key 80
Smpl6 - key 81

There's also a rattle sound in some samples after SF2 conversion. The oboe (Prg2) in this track is a good example. I read through your notes and couldn't find a mention of this, so I'll say it if you haven't encountered it before.

Also, D05 doesn't work with the -nobake option enabled:
<!>- Exception - invalid map<K, T> key

It may be related to what I posted earlier since the logging stops at the 0xe preset again.

Thanks for all the effort.

edited 4:51 AM EST December 18, 2017
[edit] (7 hours left)

Previous Page
Go to Page 0 1 2 3 4 5 6

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
Generated in 0.0032s;