Previous Page | Next 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
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.

Edit: The rattle could be present because the loop points are slightly off. It's possible to create a similar rattle for example by exporting D01 with -nobake, going to one of the looped samples in Polyphone and changing the loop start or loop end value just a little.

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 9:09 AM EST December 18, 2017
by psy_commando at 11:15 PM EST on December 23, 2017
That's probably when I changed the way samples were assigned to keep track of their original sample IDs..

I've heard the rattle before yeah. I could take a look at it.

I think I'll need to make a huge rework of this program at this point.. Because I feel if I fix this, I'll just end up with other issues because of the way things are handled right now.
The biggest issue is how I have to abstract things when converting from DSE to SF2, so that programs still refer to the right programs and samples. Its extremely hacky right now.
by notveryhelpful at 10:04 PM EST on December 25, 2017
I noticed that the "fixed" list I posted had the wrong key for Smpl0 - it was meant to be like this:

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

Does C07 use some kind of special DSE effect? The notes in the exported file don't flow together like in the in-game version:

https://www.youtube.com/watch?v=MjI6CM1GeBw&index=13&list=PL4C7A16CA3855F474

This isn't important or anything, but I'll ask about it since I was going to post something anyway.

These are the OST track numbers for the files in case you're interested in comparing them to the tracks in the YT playlist or something like that:

0_W02 = 101 Soma Bringer
0_W03 = 102 The One Who Soars Over the World
OPENING = 103 Ring
0_W01 = 104 Prologue - Land of Promise -
S_TITLE = 105 Determination
0_E11 = 106 The 7th Division of the Pharzuph
0_W04 = 107 Myrtle - Knowledge of the Journey -
0_D01 = 108 Junel, the Large Forest
0_B04 = 109 Threatening Yell
0_E09 = 110 A Memory That Cannot Be Pursued
0_C01 = 111 Schildkröte
0_C02 = 112 Amaty, the Ancient City
0_C07 = 113 Country of the Main Faith - Guiding Sound -
0_F01 = 114 Green Wind
0_D02 = 115 Amaty Ruins - Seal -
0_E13 = 116 Tender Flow
0_B01 = 117 Confronting the Defense Master
0_E24 = 118 Movement of Unrest
0_C03 = 119 Ordital, the Maneuvering City
0_E23 = 120 Drifting Anxiety
0_F02 = 121 Run Through Flames - Largo Bridge
0_E21 = 122 Signal of Emergency
0_E08 = 201 Idea
0_D03 = 202 Graave Stronghold
0_E22 = 203 Footsteps of Stupor
0_E16 = 204 Sacred Relic
0_C04 = 205 Maran Asa, Country of the Main Faith
0_F03 = 206 Adel Desert
0_E14 = 207 Hidden Prediction
0_D04 = 208 Temple of the Sand Coffin
0_E17 = 209 Umbras
0_F04 = 210 Snowy Foot of the Mountain
0_D08 = 211 Bonfire in One Hand
0_C05 = 212 Village of Snow
0_D05 = 213 A Legend Sleeping in Ice Chains
0_E19 = 214 Relic of Ancient Times
0_B03 = 215 Assault
0_F05 = 216 Watching the Tower in the Sea of Flames
0_D06 = 217 Ring Tower
0_E18 = 301 Key of Light
0_C06 = 302 Kremona, the Sky City
0_E20 = 303 Seeking the Road That Sinks in Illusion
0_F06 = 304 Zain, the Floating Continent
0_D07 = 305 Soma Palace
0_E26 = 306 The Lamplight That Floats in Tears
0_B05 = 307 Advent - Time of Judgement -
0_E31 = 308 Decision
0_B02 = 309 Alertia
0_E04 = 310 Light of Truth
0_E05 = 311 Unleashed
0_E10 = 312 The Bonds That Return to the Sky
0_E06 = 313 Fragment of Thought
0_E07 = 314 Looking at Trouvere
0_D09 = 315 Exploration of the Secluded Land
EXCLEAR = 316 And the Tale Is Spun

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

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