Project

General

Profile

Actions

Emulator Issues #7629

closed

XAudio2 plays audio high pitched when rendered at higher framerates (Super Smash Bros Brawl)

Added by Angelo.M.Gonzalez over 9 years ago. Updated about 7 years ago.

Status:
Duplicate
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Super Smash Bros Brawl (and all other games)

RSBE01

When playing Super Smash Bros Brawl at double speed, it also increases the pitch of the audio it plays. This typically wouldn't be a problem, but you can utilize rendering at 2x the framerate - coupled with in game slowmo (or using Action Replay cheats to activate slow motion - to play the game at 120 frames per second on 120hz monitors. This allows crystal clear motion clarity for the people who play these games, and at the normal game speed. In this case audio does and did typically play at double speed but it was more tolerable because the pitch did not change along with it (though memory may be incorrect on this). I'm hoping an option can be added to disable the pitch shift effect. I would use OpenAL as an alternative, but it seems that OpenAL audio doesn't work with Project M in Dolphin.

What did you expect to happen instead?

I'd hoped the game would render at 2x speed with perfectly synced audio at the correct pitch. I think perfectly synced audio is not likely to ever happen for this use case, but I'm hoping the sound playing at the typical pitch will be an option.

What steps will reproduce the problem?

Set Audio Backend to XAudio2.
Set framelimit to 120 (off will also likely work)
Launch a game.

Which versions of Dolphin did you test on?

Latest version of Dolphin as of today. 4.0-3024

Does using an older version of Dolphin solve your issue? If yes, which
versions of Dolphin used to work?

3.5-2449 has non-pitch shifted audio but suffers from audio crackling.

What are your PC specifications? (including, but not limited to: Operating
System, CPU and GPU)

Win7, i5 2400k, GTX570, 8GB RAM


Related issues 1 (0 open1 closed)

Is duplicate of Emulator - Emulator Issues #7245: The audio pitch changes with the frame limiter.Fixed

Actions
Actions #1

Updated by JMC4789 over 9 years ago

  • Status changed from New to Invalid

You're running the game at twice the framerate, thus the audio is coming twice as fast. What do you expect to happen? Try recording on a Wii, then doubling the framerate of that recording, does the audio become too fast there, too

You'd have to modify the emulator yourself to change how fast audio is sent to the game to make something crazy like this work.

Actions #2

Updated by Angelo.M.Gonzalez over 9 years ago

The issue isn't the speed at which the audio is played, it is the pitch.

A previous version of Dolphin has had proper pitch at double speed, the current implementation is pitch shifted and double speed.

I don't think this should be considered invalid based on your comment, as it seems you misinterpreted the issue.

Actions #3

Updated by JMC4789 over 9 years ago

No, I didn't misinterpret your comment, I've made Brawl and Melee run at 120 fps with proper audio by making slight altercations to Dolphin before. The games are both very, very easy to make work at 120 fps; and audio does end up having to be hacked, but it is possible.

You are setting the game to run at 2x the speed, and then using a cheat code to slow it down. Dolphin is designed to handle audio at the rate at which the game requests, which you are modifying causing either: Crackling before we had time-stretched audio, or pitch offset, which was done to prevent said crackling.

You could try OpenAL with some kind of latency (it has time-stretching) but your request goes above and beyond what the emulator should do.

I wish you luck, but this isn't Dolphin's problem.

Actions #4

Updated by Melee.Mechanics over 9 years ago

Sorry to side-track this discussion, but could you tell me how you got Melee to render at true 120 fps (not 60 fps with every frame repeated once)? I’ve been trying to do that, but was unsuccessful so far.

Actions #5

Updated by JMC4789 over 9 years ago

You have to edit some counter in Dolphin; you can probably search the code base for for "zelda" or "wind waker" in the comments and find notes about the counter speedhack. You just do the opposite of that.

Actions #6

Updated by JosJuice about 7 years ago

Actions #7

Updated by JosJuice about 7 years ago

  • Status changed from Invalid to Duplicate
Actions

Also available in: Atom PDF