OpenMPT: Sample volume increase not in multichannel WAV expt

Started by ZeaLitY, December 03, 2009, 00:05:28

Previous topic - Next topic

ZeaLitY

Hey,

Recently a few Unreal Tournament fans discovered that some of the old tracker songs used for the game were multichannel. We had previously made a rip of the soundtrack for archival purposes using XMPlay, which can export to WAV really well. Unfortunately, XMPlay can't export multichannel, so we tried OpenMPT.

OpenMPT is a bit quieter than XMPlay, so we decided to export by upping the sample volume to approximate XMPlay's output (I wish I knew the specifics behind XMPlay's normalization so this could be an exact science, but I don't).

If you up the sample volume and export a 16-bit stereo WAV, the increase in volume is maintained. But if you up the sample volume and export a 32-bit quadraphonic WAV, the volume level is OpenMPT's default; the sample volume increase doesn't have an effect. So multichannel WAV audio is always fixed at the quiet default.

Is this intentional? (I don't know much at all about dealing with multichannel audio.) And are there any alternative ways of dealing with that problem? I was afraid to try and preamp the output in OpenMPT, since we're doing about 30 songs and they need to be estimated on an individual basis, or some clipping might occur.

http://chronofan.com/Zeality/Foregone.s3m

Sam_Zen

Welcome ZeaLitY !
I'm delighted with this. The first time someone talks about the multichannel export of OMPT..

So far I've exported many tracker songs of mine as quadrophonic WAVs, but only as 16-bit.
(One of the players I use to perform this format is XMPlay)

So give me a little time to work this out, also because I'm not familiar with the S3M format.
0.618033988

bvanoudtshoorn

Since you're exporting at such a high bitrate, you can probably afford to normalise the tracks in post-processing. Load 'em up in your favourite audio and amp the volume. There are utilities that can do this in batches for you, too. Doing it this way will probably give you a more consistent (and louder) overall sound, and take a lot less time than manually fiddling with each track.

ZeaLitY

Hey, thanks for looking at it. I just started educating myself on bit depth, multichannel audio, etc., so it's very new to me.

Quote from: "bvanoudtshoorn"Since you're exporting at such a high bitrate, you can probably afford to normalise the tracks in post-processing. Load 'em up in your favourite audio and amp the volume. There are utilities that can do this in batches for you, too. Doing it this way will probably give you a more consistent (and louder) overall sound, and take a lot less time than manually fiddling with each track.

I just realized that these tracker songs only use 8/16-bit samples, so there's probably no reason to rip to anything higher than 16, right?

Yeah, normalization is on the table. I'm not sure how to deal with a certain unique problem in this case, though. On most of these songs, the extra 2 channels are very quiet, so normalizing the entire thing ruins the song by bringing the quiet percussion channels to the front. I can normalize those 2 independently of the main channels of course, but...I'm not sure how to calculate exactly how much I should normalize to keep them in the background as they originally came. Is there some way to preserve the distance between the general intensity of the main 2 channels and the quietness of the extra 2? (Using Audacity.)

bvanoudtshoorn

As far as I'm aware, Audacity can't handle more audio channels than two (ie stereo). When you normalise, you should be normalising everything at once -- that is, all channels should be amplified by exactly the same amount. This will ensure that everything stays at the correct relative volume.

I don't know of any utilities that will do this for you off the top of my head, although the rather out-of-date normalize utility might be worth a look. I don't know if it'll work with multi-channel audio either, though. :/

Even though the samples themselves are at 16bit, you *will* lose information when exporting at 16bit because of the volume (and various other issues that aren't really worth going into now). My advice would be to export at something nice and high (like 32bit), do your post-processing, and then downsample to something more convenient, like CD quality (16bit, 44.1KHz). This way, your resultant audio file will be more true to the original track.

LPChip

"Heh, maybe I should've joined the compo only because it would've meant I wouldn't have had to worry about a damn EQ or compressor for a change. " - Atlantis
"yes.. I think in this case it was wishful thinking: MPT is makng my life hard so it must be wrong" - Rewbs

Saga Musix

I will just ignore everything that has been posted so far and rephrase my answer from the XMPlay forum:

OpenMPT has removed the "normalize" function for some unknown reason. However, it will be there again in the next version. You could use the old MPT 1.16, which still has normalize.
XMPlay will play all mods as loud as possible, but that's not our intention with a tracker.
Also, you can normalize your wav files in an external application like Audacity.

I also want to rephrase that the Unreal soundtrack only uses the S91 command, which is normally encoded as Pro-Logic surround in most trackers and mod players. I guess that's even the case in the Unreal engine. You'd normally need a Pro-Logic decoder to get this kind of surround, if you don't, you will just hear a surround-like effect because the waveform of the left side of the channel is flipped by 180 degrees on the right side. This is normally how surround is emulated on a stereo setup. I have not checked it, but I guess MPT doesn't use the rear speakers when you use S91, because you would have to use the S9B command to pan in the rear. So the quad output should be the same as stereo output.

All in all: I don't even think that the Unreal soundtrack was meant to be played with four speakers. S91 was (and still is) just a common effect to create a sound that's "somewhere in space", because it will confuse the listener's ear. Even in stereo.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

g

Quote from: "Jojo"OpenMPT has removed the "normalize" function for some unknown reason. However, it will be there again in the next version. You could use the old MPT 1.16, which still has normalize.
From 1.17 RC1 release notes:
"Can no longer select "Normalize" when writing to wave, as this can produce incorrect output with certain VSTs."

Saga Musix

g: Yeah, but that's no reason to simply remove it, and the code was still there, so I put the checkbox back in. As normalizing is done after the file has already been written, I don't see how a VST could break something, but for that case, normalizing is still disabled by default.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

ZeaLitY

Ok, now I see; thanks.

It's a bit moot at this point, but I noticed that in Audacity, the output plays back at the correct, loud volume. So perhaps the quietness is just a playback quirk with Winamp/WMP/etc. for multichannel.

Sam_Zen

For monitoring, you could use Foobar 2000 as multichannel player, because it has a nice 4 channel volume bar.

I agree with Jojo about the quasi surround effect, but this is valid, as effect, when playing back all in 2 channels.

When exporting as quad WAV, every channel with the surround button enabled is exported to channels 3 and 4 afaik.
0.618033988