PCSX2 / pcsx2

PCSX2 - The Playstation 2 Emulator
https://pcsx2.net
Other
10.61k stars 1.54k forks source link

[BUG]: Microphone bugs out when using built-in emulation settings during gameplay #10799

Open saintofpride201 opened 4 months ago

saintofpride201 commented 4 months ago

Describe the Bug

When playing microphone based games or games that allow for microphones to be used like Lifeline or SOCOM 3, when accessing, activating, etc, any emulator based setting (such as using hotkeys, increasing/decreasing resolution, saving/loading state, or even just using PCSX2's built in pause function), it begins to no longer receive audio properly. It sort of garbles the audio it "hears" when it gets received by the emulator, and your words cannot be understood by the game. It seems to be hearing a constant garbled audio, regardless if you are quiet or not, and talking tends to garble it even more.

The microphone is fine quality (I default a pair of Bose earbuds that have a mic on them, but I have used several others thinking the mic was the issue), as when I checked my audio settings it was being picked up normally, and a recording test also proved that it was normal. The emulator just seems to mess with the audio somehow.

Reproduction Steps

The perfect game to test this on is Lifeline, since the game is 90% played on the microphone anyway and has a wide array of audio commands, but you can try any game that accepts mic input. For the sake of the report though, I'll use Lifeline as an example.

  1. Start a new game, pass the tutorial, and follow the main game's instructions up to the point after you instruct Rio to kill the monster (easiest way is to say "left eye, right eye, middle eye" and then "red eye"). Refrain from accessing any emulator settings for now.
  2. After killing the monster, Rio will speak to you through the camera and inquire about your girlfriend's name, and won't let you continue until you tell her correctly. The correct answer is Naomi, but there are a wide array of incorrect names for you to say, such as Ann, Charlotte, Becky, Kerry, etc. This is the best place to test the bug.
  3. First, say a few incorrect names to ensure Rio hears you properly. Be sure to speak in a clear American English accent because the game will mishear you otherwise (it's very picky how it hears things even if your default accent IS American English)
  4. Use an emulator setting. Use a hotkey, pause the game, etc. Any one will do and you only have to do it once.
  5. After doing so, try saying a name. Incorrect or not. You can even just say a word, or simply press the microphone button on the controller for a second and she will hear something.

Normally, Rio will say the names she "hears" when you say them. But now she hears literally anything else. Regardless of what name you say she will hear something else. She mainly hears "Ann" for some reason, but if you speak differently enough or long enough she will end up hearing completely different names. Rarely will she hear "Naomi". Edit: I should also add that the game has a volume measure bar at the top left corner that activates when you press the mic button. It normally stays low until you speak or it hears something, but when the bug is active it stays semi-steady at 50%.

This, of course, is just the best area to test it, and not the single location of the bug itself. It will carry on for the entire uptime of the game until you close the emulator and restart it.

Expected Behavior

No response

PCSX2 Revision

1.7.5552

Operating System

Windows 10 (64bit)

If Linux - Specify Distro

No response

CPU

Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz 1.99 GHz

GPU

Intel® UHD Graphics for 8th Generation Intel® Processors

GS Settings

No response

Emulation Settings

No response

GS Window Screenshots

No response

Logs & Dumps

No response

hyh19962008 commented 3 months ago

Thanks for pointing it out, I was able to reproduce it, you saved me a lot of time. I have been adjusting my microphone and system audio settings and the USB settings in PCSX2 for 2 hours and couldn't pass the Tutorial of Lifeline because I kept the USB setting window open every time. About the garble noise, there is a "Microphone Enhance" option in the Audio Settings in the Windows system, and it's enabled by default(set to +10dB). Turning it off may help.

PCSX2 Revision

1.7.5569

Operating System

Windows 10 (64bit)

CPU

Intel(R) Core(TM) i5-9400F

GPU

AMD Radeon RX550

jflohr3 commented 1 month ago

Description

Looks like this is fixed in 1.7.5801. Before I updated I saw some funny things in the usb device options window for controller usb devices (like raw addresses) so I was curious.

PC info

1.7.5801 Windows 11 (64bit) AMD Ryzen 7 7800X3D NVIDIA 4090

Emulation Settings

image

image

Logs

This log is from NTSC SOCOM Navy Seals I. I was able to play lifeline last month just fine but I had trouble with getting SOCOM to pick up the microphone today (I had never tried it before). Just like the first report the mic would work for a very brief time and then stop completely, though for me I could just see the visual indication of the mic picking something up for a couple seconds at most. I believe the log shows headset streams getting created and recycled for the headset here: image Full Log: #10799-SOCOM-USB-MIC.txt

saintofpride201 commented 3 weeks ago

Ah, thank you both for responding. I'm not on github or discord too often so I didn't see this til today.

Addressing the first comment, I did find that my mic-boost setting was set to +20. I do voice-over/voice acting and forgot that I had it boosted for a call several, so thank you VERY much for making me aware of that, it's been driving me nuts for both gameplay AND VA work for months.

As for the second, yeah I probably should have looked at my logs to see if I could find the issue there. Though, about the raw addresses, I did notice (on the version I reported this bug on, so it may be an obsolete issue now) that when I went to change input/output devices, it would change their names from "Bose Earbuds" to a string of numbers and colons and just... refuse to change again until I restarted. Dunno what the issue was, but I haven't tested it since then unfortunately. It might be fixed by now.

Anyway, again thank you both for responding. I'll give it a test later when I'm not busy lol