.WV6 audio by sandmanfan98 at 5:26 AM EDT on May 4, 2018
I'm trying to convert .WV6 audio files. It's IMA ADPCM COMPRESSED 16 BIT AUDIO when I put it in a hex editor. I made threads about this on zenHAX and XeNTaX but haven't gotten replies. No idea if it's completely foreign or a really simple format and I'm just plain stupid. Would really appreciate if someone would please help me with this.

Samples here are from Fairly OddParents Breakin' Da Rules.
https://mega.nz/#!dxBBmT4R!1QjyJwSI74MCOWJphR-88_WTFAsPqM9ciTSs0QRcJAQ
by simonmkwii at 8:07 AM EDT on May 4, 2018
It's just standard 4-bit IMA-ADPCM at 44100Hz, mono, and 0x88 interleave.
by sandmanfan98 at 5:33 PM EDT on May 4, 2018
Alright I did that, but it isn't as clear as it plays in the game. The created genhs sound static-like and a little distorted. It plays at the right frequency, just sounds low-quality.

edited 5:43 PM EDT May 4, 2018
by bnnm at 1:14 PM EDT on May 5, 2018
I don't think it's pure IMA but a minor variation; I get cleaner sound with some tweaks but still not perfect. Post the .exe/sound dlls, could help.
by sandmanfan98 at 12:38 AM EDT on May 6, 2018
Couldn't find any sound related .dlls but here's the game exe
https://mega.nz/#!3w0yEZJD!dFIyueMQagBw-pXNcWOkR8fLwDiD2C6vRpUynLtjAI4
by sandmanfan98 at 7:01 AM EDT on May 28, 2018
Sorry for the bump, but I now have cleaner sound by selecting Interleaved DVI 4-Bit IMA ADPCM. However there's an annoying pop at the start and end of each audio clip. Is there a way to fix this besides trimming each one?
by hcs at 9:14 PM EDT on May 28, 2018
Probably it has an initial history/index set that isn't being loaded.

edited 9:15 PM EDT May 28, 2018
by bnnm at 4:42 PM EDT on May 29, 2018
If you open your wav with Audacious you'll see the waveform is distorted, hence it will pop. AFAIK it's not pure DVI/IMA.

Didn't see hist/index in the header but I don't think it would fix a waveform that bad.

I get a good waveform using a alternate nibble expand model, but there is still some deviation, and I don't know enough about ADPCM to guess why.
Basically: ((nibble * 2) * step) / 8 rather than ((nibble * 2 + 1) * step) / 8 (IIRC also improved a few other games, could be a common model).

IOW there is nothing you can do.
by hcs at 8:16 PM EDT on May 29, 2018
Ah ok, different rounding model also makes sense.
by bnnm at 5:12 PM EDT on August 4, 2018
I finally added this to vgmstream, after analyzing the .exe with IDA, should sound correctly.
It was using: sample = hist + sign*((u_nibble*step) / 8) + ((u_nibble*step) / 4)

I wonder why everybody loves to do their own IMAs?


Go to Page 0

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