Why MKAK's Sound Is "Off"

Patrick McCarron

TRMK Admin, Co-founder
Staff member
So I don't have time for a massive overly technical writeup, yet, but I wanted to make a post here for our members and the community to know what is going on with MKAK's audio and why it's unlikely going to be patched. I see a lot of people "claiming" to know why the sound is off, but they are not the correct reason. I did some research into the MKAK package files the past two weeks and found out a few things.

Unfortunately the MKAK audio issues are actually because the sounds we hear is NOT emulated. Other Ocean is using basically what I'd call a "sound wrapper" (run by the Unreal Engine actually, more on that later) that instead of emulating the sound board. Actually MKAK includes EMPTY SOUND ROM files likely put there to somehow trick the emulator into passing it's boot up and initialization.

Since the sound system isn't emulated the Unreal wrapper around the game plays back an MP3 of that sound that is meant to be played. In the case of MK1, they used all new completely different sounds (reason why later). But with MK2 and MK3 they appear to use the original sounds, so that's why it mostly sounds okay. The other issue this method brings up is the MIX of audio is totally off from how we remember resulting in things sounding "off" like the Jump/Block sound in MK2. There are also some lags in playback processing (the MK2 music issues) that are also likely because of this change.

So why did Other Ocean choose to do the sounds this way instead of just emulating them? This is because the "MK Arcade Kollection" began as the "Mortal Kombat HD Arcade Kollection" and these audio changes are clearly part of that cancelled "project." (Actually the internal files of MKAK still are labeled "MKHD.") The audio hardware on MK1 was vastly inferior to the "DCS" sound of MK2 and UMK3 and the samples were of much lower quality and likely felt they needed to be replaced with newer sounds. In most cases they were close, but in some places like the clapping they were completely different. It was likely easier for them to keep the "HD" audio part of the HD conversion project instead of the harder task to write the sound emulation in a shortened development time table.

The fan reaction to these audio changes should show you all what the overall quality of the MKHD collection was going to be and likely why it was cancelled. I bet the visuals were probably even worse of a change to handle, but all we have to go on is the concept art photo leaks. So think about how you'd handle major changes to visual AND audio before you beg NRS/WB for a second attempt at a HD MK collection.

Now the question is, will this audio change be patched out and replaced with the original audio? It's very unlikely due to the cost and time involved in patching games, and this change is a major one too. The biggest problems with the Kollection (online play) were addressed in the patch, and the audio changes are not deal breakers for me. I just wish they'd tighten it up a bit in MK1's Goro's Lair and MK2's background music a bit more to make the experience closer to how it used to be.

I'm okay with the more "HD" audio (sounds great on my sound system) I just want them to work out the bugs out of the playback if they get another chance in a new patch.
 
Last edited:
I will later read thru and clarify a bit more and add images to back up the points I made above, but I wanted to get this post out there with the 1.02 patch coming out tonight.
 
Very interesting! The only thing that bothers me is whether or not this wrapper could induce "lagged" framerates during gameplay - similar in effect to how an analog to digital video converter may be slightly delayed - I wonder if the method it uses to determine what mp3-type sound files to play would tax the resources it's using enough to hinder the game's performance.

Technically, couldn't the audio issues be completely resolved by just updating the game to use the original non-blank sound roms? Them fixing what they have now seems like it would be more work.
 
Very interesting! The only thing that bothers me is whether or not this wrapper could induce "lagged" framerates during gameplay - similar in effect to how an analog to digital video converter may be slightly delayed - I wonder if the method it uses to determine what mp3-type sound files to play would hinder the game's performance.

Well the sound doing this is unlikely to cause or introduce lag on the PS3/360 systems, as this method of playback is more efficient for modern consoles than emulating the sound board for MK1-MK3. I was surprised it was using MP3 files, as I had expected WAV files because I know in my games we stick with WAVs because they playback even faster than MP3 files. Personally if I had planned MKHDK I would have had them do the new HD audio AND keep the old arcade audio and visuals there via a toggle that you could change on the fly. That would be the ideal way to do it.

I can't speak for how their emulation is done, but consoles run at 59.94 Hz at 720p and the old arcade games ran at around 54.81 Hz so if there is any lag introduced it's because of those differences and trying to compensate for them. Unless you are running on an arcade monitor, getting it to be frame exact with no lag (modern TVs have their own new lag as well) is next to impossible.

Technically, couldn't the audio issues be completely resolved by just updating the game to use the original non-blank sound roms? Them fixing what they have now seems like it would be more work.

You can't just plug in the sound files and it'll work, they have the emulate (translate the code of the sound processors to the Xbox and PS3 processors) the various sound systems used in the three different games. This is a LOT of work, and sure many people will say "MAME is open source, just use their code." But you can't steal their work and put it in your commercial product. MAME is only to be used in free works. Maybe one day in the distant future WB will license MAME for a free open source version of MK1-4 on all platforms, but I wouldn't hold your breath.

That said I've always wondered if MAME source code was used in the previous MK emulation on consoles before MKAK because I remember seeing a LOT of similar emulation bugs between the two like the shadows in MK2 were similar on MAME and on the PSP MK2 back in the day. MAME has since fixed that bug though.
 
You can't just plug in the sound files and it'll work, they have the emulate (translate the code of the sound processors to the Xbox and PS3 processors) the various sound systems used in the three different games. This is a LOT of work, and sure many people will say "MAME is open source, just use their code." But you can't steal their work and put it in your commercial product.

I was under the impression that they'd have to emulate the sound board in order to even be able to use the wrapper they implemented in the first place, but I suppose they could've done something else. Also, MAME code has been used in commercial products a few times. I'm 99% sure they sell some type of psuedo-commercial license unless my source was false. There was even a blog a while back about how MAME saved one dev from meeting their XBL/PSN deadline, IIRC.
 
I was under the impression that they'd have to emulate the sound board in order to even be able to use the wrapper they implemented in the first place, but I suppose they could've done something else. Also, MAME code has been used in commercial products a few times. I'm 99% sure they sell some type of psuedo-commercial license unless my source was false. There was even a blog a while back about how MAME saved one dev from meeting their XBL/PSN deadline, IIRC.

Well their license says otherwise and against what I've been told their product goals have been since the beginning. I know of a few cases where their code was used illegally and they stepped in. Even if you make anything BASED on MAME you have to release the source code and not charge for it.

As far as emulating the sound hardware, no they would just have to capture where in the original game code that it said to the sound board to "play sound XYZ" and do that instead of the sound hardware actually being emulated. That's just my overly non technical way of looking at that problem. It's very unlikely they EVER emulated the arcade sound chips.

I actually messed around with this in MAME by changing the number of the animation frame on Sonya's move. You could also change the sound played by altering the number after the BSOUND and PSOUND calls in those subroutines. My first guess is that BSOUND call is likely an "instrument" and the PSOUND is likely playing back a "sound voice" or they are calling different sound banks, hard to tell without seeing more source. They'd just have to hook into when these were called and play the appropriate sound.
 
Last edited:
Good read, thanks for the write up Pat. I can see why things are the way they are, but when i see other successful ports of MK2 and UMK3 and MK that DONT have these audio issues, to me it just shows that the people involved were more concerned with pushing out a product that wasnt technically sound just to take advantage of the MK diehards who would eat it up day one. Like you said though...if they can do one more patch to clean up some of the more nasty audio issues, then that would be good enough for me (given the circumstances as you explained them).
 
don't mean to butt in, as i am not a computer person like you(patrick), and terry, but i just have one question. could you have handled this project? don't mean to put you on the spot, but based on your expertise, it seems like you could have. just wishful thinking (on my part), i guess. the sound doesn't make the game unplayable, but for me, it is disappointing. anyway, that's all i wanted to ask.

Could I have programmed that? Not at all. Emulation is something I understand, but can't actually do very well if at all. I can tweak MAME to compile and run on my iPhone, and add support for different ROM sets, but that's about it. To actually emulate one processor with another is beyond my knowledge.

What the project did need is someone who understood how to make a proper "Kollection" that did the old games justice and could spot these errors from the start. Too bad NRS was too busy with MK9 as they said. Finding out the problems AFTER it shipped is not going to make fixing them easy as too many bad decisions were made earlier. From what I could see NRS stepped in to help get the majority of issues fixed (online) but not all of the issues were in the scope of the patch time requirements.

I'm 100% sure NRS knew of the sound differences after release and they learned what it would take to make those right, and determined to get a patch made that they'd have to fix what they could in the limited time they had. Sure the patch approval may have taken months, but they didn't have months to develop and test it before submission.

Good read, thanks for the write up Pat. I can see why things are the way they are, but when i see other successful ports of MK2 and UMK3 and MK that DONT have these audio issues, to me it just shows that the people involved were more concerned with pushing out a product that wasnt technically sound just to take advantage of the MK diehards who would eat it up day one. Like you said though...if they can do one more patch to clean up some of the more nasty audio issues, then that would be good enough for me (given the circumstances as you explained them).

I too hope they get to refine it further, but the cost is great.
 
Why don't they just go back and put in mp3 files from the original game instead of using the mp3 files from the HD version?

As for the audio mix, that should be pretty easy. Why can't they just adjust the audio levels?
 
I think it would of been best if they carried on with the HD kollection they originally was doing and added a toggle with old school graphics and sound, abit like super street fighter 2 turbo HD remix. Capcom always deliver to their fans, shame MK is just all about the money. Same with MK9, could could of had at least 20 dlc characters, but no 6 months on and that game is dead. We didn't even get Jason Voorhess to fight with freddy. I tell you, I'm sick of Ed boon being money first, fans last. This kollection was advertised as "arcade perfect ports" and they failed to deliver. It's no different if you see a car advertised and you go look at it and it got some damage or advertised with a full service history , but then when you go look it in person, it doesn't even have a service history! you could have them for trade description act. Same thing with this game. Im not trolling, only trolls use that word. I give out correct info unlike some. I don't kiss Ed boons ass and defend him when he's wrong.
 
Last edited:
Well at least people will actually believe Pat & I about the whole MKHD project now lol. Good stuff, Pat.

Ninja Edit: woot, 3,000th post
 
Last edited:
This thread is about MKAK's sound and it's origin. I don't mind you debating about the stuff above in it's proper place, but that place is NOT here in this thread. Go create it elsewhere, and not troll every thread and stay on topic please.
 
If this game uses Unreal, I might be able to help shed light on some things. I have used the free UDK. If the sound files are played and managed in Unreal, then they wouldn't start out as MP3. They would be WAV. When Unreal compresses audio, it turns it into a format that makes sense. On the PC that means OGG, on the PS3 it is MP3, and I don't know what the Xbox would be.

I know the PS3 supports one other type of audio file, but I don't think Unreal uses it.

I also know that the music in MK2 and MK3 was never organized all in one file. Music is broken up into several small files that the game knows to play depending on what round it is on and how much time is left on the clock.

If I had to guess? Those annoying pauses between pieces of music are caused by how Unreal does audio by default. It only streams textures. You can't stream audio. So the game has to load each music piece, decompress it, and play it. If it was MP3, I could see how that could hiccup.

The bad audio levels are probably caused from them normalizing the audio files but then they didn't set Unreal up to play that sound at the same level as the original game. So a sound that used to be quiet is unfortunately now just as loud as any other sound. And that sucks.

I can't imagine the people at NRS are deaf, so they probably know all this already but they worked on the net code instead. It's all fixable, but I don't know if they feel it is important enough to fix.

You couldn't just completely emulate the original audio. They likely have it doing enough to know what sound needs to be played when, but I don't think it would be possible to convert that old raw audio data into something that plays on an Xbox or a PS3. Both consoles have their own rules on how to audio and Unreal has its own rules ontop of that. Saying they can just magically take the arcade machine and spit out audio exactly like the original is nothing more than a fantasy when it comes to home consoles like a PS3.
 
If this game uses Unreal, I might be able to help shed light on some things. I have used the free UDK. If the sound files are played and managed in Unreal, then they wouldn't start out as MP3. They would be WAV. When Unreal compresses audio, it turns it into a format that makes sense. On the PC that means OGG, on the PS3 it is MP3, and I don't know what the Xbox would be.

I know the PS3 supports one other type of audio file, but I don't think Unreal uses it.

I also know that the music in MK2 and MK3 was never organized all in one file. Music is broken up into several small files that the game knows to play depending on what round it is on and how much time is left on the clock.

If I had to guess? Those annoying pauses between pieces of music are caused by how Unreal does audio by default. It only streams textures. You can't stream audio. So the game has to load each music piece, decompress it, and play it. If it was MP3, I could see how that could hiccup.

The bad audio levels are probably caused from them normalizing the audio files but then they didn't set Unreal up to play that sound at the same level as the original game. So a sound that used to be quiet is unfortunately now just as loud as any other sound. And that sucks.

I can't imagine the people at NRS are deaf, so they probably know all this already but they worked on the net code instead. It's all fixable, but I don't know if they feel it is important enough to fix.

You couldn't just completely emulate the original audio. They likely have it doing enough to know what sound needs to be played when, but I don't think it would be possible to convert that old raw audio data into something that plays on an Xbox or a PS3. Both consoles have their own rules on how to audio and Unreal has its own rules ontop of that. Saying they can just magically take the arcade machine and spit out audio exactly like the original is nothing more than a fantasy when it comes to home consoles like a PS3.

Im not questioning the technical details that you described, but if what you're saying (in that bolded part) were true, then explain how the standalone MK2 that was/is on PSN, and the UMK3 port that was/is on Xbox Live didnt have these same issues?
 
Im not questioning the technical details that you described, but if what you're saying (in that bolded part) were true, then explain how the standalone MK2 that was/is on PSN, and the UMK3 port that was/is on Xbox Live didnt have these same issues?

They didn't use Unreal? They wrote their own way to go from the game to the console API without having to go through Unreal.

I don't have access to the PS3 or Xbox specific stuff, but I would imagine that taking Unreal out of the equation would mean doing the audio for the old PSN MK2 would be more like doing audio for any other PS3 game. Add Unreal, and you would have to change how it does audio. You would have to make Unreal either stream audio files or you would have to change how Unreal makes audio files for your PS3. Developers get the engine source code, so they can do that sort of thing. I don't think it's easy to do.

Edit: Also, point of information for MK2 on PSN, its audio was far from perfect and also indicates they just used WAV sound files instead of emulating the exact arcade audio data. The pitch is wrong in that game. They got their files, they needed to change the bit rate for the PS3, and in doing so they screwed the pitch. It plays audio slower and lower in that game. Proof that they didn't just take the data generated by the arcade machine and output it to your TV speakers. They emulated the game and played their audio files when they needed to like MKAK.
 
Last edited:
You couldn't just completely emulate the original audio. They likely have it doing enough to know what sound needs to be played when, but I don't think it would be possible to convert that old raw audio data into something that plays on an Xbox or a PS3. Both consoles have their own rules on how to audio and Unreal has its own rules ontop of that. Saying they can just magically take the arcade machine and spit out audio exactly like the original is nothing more than a fantasy when it comes to home consoles like a PS3.

Im not questioning the technical details that you described, but if what you're saying (in that bolded part) were true, then explain how the standalone MK2 that was/is on PSN, and the UMK3 port that was/is on Xbox Live didnt have these same issues?

The old MKs on PS3/Xbox WERE doing Sound Hardware Emulation. MKAK's sound could be completely solved by emulating the arcade hardware as well. The way they did it was done to "improve" the sounds for the "HD Kollection" and they kept that method in there even if it was glitchy and producing poor results with music especially in MK2 for whatever reason.

They should honestly just fix the glitches, and tweak the mix a bit, and things would be MUCH better. But due to the costs of a patch, it's likely out of scope now that the one patch was completed.
 
Top