What's new

Audio v0.70 WIP 4 Feedback

OP
Azimer

Azimer

Emulator Developer
Moderator
I think I kind of found out why it happens. It only seems to really happen when I livestream. When I do this, I have to open a few programs and what not, and my computer isn't great (However It still runs at 60 VI/s). Recently however it hasn't been popping at all, which is good. But when it starts, I can't really seem to stop it.
Do you think running in Windows basic mode / Using game or window capture in OBS with the emulator would have anything to do with it?

It's possible it could affect it... the audio thread fighting for resources with the capture. Now the biggest question is... does this happen with other audio plugins? For xaudio2, does this happen with Shunyum's audio plugin? (sorry I forget what the name is exactly).
 

Zapfy

New member
It's possible it could affect it... the audio thread fighting for resources with the capture. Now the biggest question is... does this happen with other audio plugins? For xaudio2, does this happen with Shunyum's audio plugin? (sorry I forget what the name is exactly).

No, it doesn't happen with any others. However I have a different problem with Shunyums (or whatever) where the audio is desynced until the first loading zone. Not that it matters. So no. Only with this one as far as I could tell.
 

Iconoclast

New member
The problem was one which I could reproduce from the start as well, Zapfy. It's one of CPU resources management.

No matter what way I use to control my plugins or other effects on CPU usage, anything above 30% of a full core on my dual-core machine seems to start some minor/frequent clicks and pops in games, just like you said. Try to use other, faster HLE video plugins or RSP plugin, or tweak with the re-compiler or counter factor settings in Project64 to make it run faster. You also can try a faster core like 1964 emulator to test until it frees more of your computer's resources for reserved speed, then the audio should improve, no matter what types of process or modes you have going on, e.g., window/video capture.

In the meantime, yes. It doesn't happen with Shunyum's audio plugin for me, either. This is probably because it provides no control over synchronization, and seems to force some kind of internal limit that doesn't let you free the speed cap, whereas with Azimer's plugin, it's an option. It seems to be something that neither Azimer nor Shunyum could control, without exposing a forceful audio sync like Jabo had to do.

Do you have a dual-core processor?
 

Zera

New member
Turok 2 isn't very smooth with this plugin. On PJ64 1.6 there's audio crackling, on 2.0 it's out of sync If I leave the fixed timing/sync to audio settings ticked (if I leave them off, there's crackling like in 1.6).
 
OP
Azimer

Azimer

Emulator Developer
Moderator
I am still watching this thread. I haven't gone anywhere. There isn't any low hanging fruit to pick and push out a new WIP build. I am trying to come up with some strategies on how fix these audio pops I am not getting on my hardware. I have an old laptop I just rebuilt and will try testing on that. I believe I programed myself into a situation where it works well on my system but no one else's.
 

Iconoclast

New member
Don't have access to a quad-core machine myself, so I can't 100% confirm that it's just an issue with backup resources from having more than 2 cores or something. We'd need more feedback posted here, but in the meantime if I really need to, I'm happy checking "Force Old School Audio Sync" in the settings as that reproduces Shunyum's audio forcing method. That makes it sound perfect and removes the crackling.

But even without that, as usual life simply comes first.

In the meantime I'm happy that I'll never need to switch audio plugins again. With pixel-accuracy, HLE audio still helps a little, and I had to keep switching between audio HLE and Jabo's DirectSound LLE for games like MusyX.
 

AIO

New member
I am still watching this thread. I haven't gone anywhere. There isn't any low hanging fruit to pick and push out a new WIP build. I am trying to come up with some strategies on how fix these audio pops I am not getting on my hardware. I have an old laptop I just rebuilt and will try testing on that. I believe I programed myself into a situation where it works well on my system but no one else's.
It's not just you man. Even I don't have audio popping issues with games like SM64. I think it's mostly hardware related, because even I have randomly heard crackling sometimes, then later check and hear none. There was a high correlation between my laptop being overheated and hearing extra crackling.

I have not yet tested turok2 though. Also part of the problem are the emulators themselves. I'm almost certain I have much less audio issues when using Mupen64 0.5 instead of PJ64 or 1964. I believe mupen even somewhat fixes Shunyum's audio desync problem.

I think WIP4 is still bugged for PJ64 2.1. I just tried playing rogue squadron with WIP4 and am using 50% of cpu on PJ64 2.1, and I'm using a quad core, so it should really be 25%.
 

Iconoclast

New member
That was the point.

From what you said, Azimer and yourself have quad-core CPUs. I only have dual-core.

This was one of the reasons we thought might be causing the implicit popping at a perfect 60 VI/s.
We never got Zapfy's confirmation, but if anyone else with quad-core can confirm/deny it can help.
 

weinerschnitzel

Surreal64 Nut
I have a quad core and it does not give me any pops using XA2 with PJ64 1.6 or 2.1. Tested with SM64.

The pops with DS8 sound like the audio stream is sped up for a very brief moment before "skipping" to resync. I wish I could confirm XA2 pops on a dual core, but hopefully the DS8 info is related.
 
Last edited:

Iconoclast

New member
Hmm... Azimer , weinerschnitzel, what if you go into task manager (or some other process explorer thing), right click the emulator EXE this nice HLE audio is attached to, and disable the CPU affinity for 2 of your 4 cores? It would be like you guys have a dual-core machine, then, right? So if you turn off CPU2 and CPU3 or whatever, and only allow Project64.exe to execute on CPU0 and CPU1, maybe you can test and reproduce the crackling then?

And regarding DS8, I can't safely test it due to a high CPU usage bug, and I happily assume Azimer is deprecating it anyway.
 

weinerschnitzel

Surreal64 Nut
Last edited:

AIO

New member
Really strange, I tested WIP 2 and 4 in 1964 1.1. All the sudden I hear a significant amount of crackling in the file select menu in SM64. One interesting thing about it is, force old school audio sync totally eliminated it. I love how that also reduces desync for netplay. Only issue is the fps fluxing.

Anyway, so I suspected something odd is going on and tried testing audio with Mupen64 0.5.1 and sure enough, no crackling in the file select menu. There was a little crackling when Mario spoke though. This is why I'm interested in fixing up emulators. Mupen sure fixes a lot of audio issues.

Lol as I'm typing, my laptop's fan activated and I started hearing crackling for a bit ;/ .
 

PistolSlap

New member
Hello, I have downloaded the AziAudio v0.70 wip4, but PJ64 2.1 is not recognizing it. I have put both files (AziAudioDS8.dll and AziAudioXA2.dll) in the plugin/audio folder, but they are not showing up on the Plugins page. How do I cause it to work?
 

Iconoclast

New member
Due to the version of Microsoft compiler suite used to build this plugin, it's most likely that the DLL won't initialize for you in emulators due to missing DLL dependencies.

There are two in fact: MSVCR120.DLL and MSVCP120.DLL.

You can either go through the official, more painful method and get the full run-time set installed from their webpage here (using only vcredist_x86.exe installer), or you can individually download those files off of some website like dll-files.com and place them in C:\Windows\SySWoW64 (or C:\Windows\System32 if the former doesn't exist on your hard drive).
 

Iconoclast

New member
Heh.

Best way to know for sure is Dependency Walker. Extract that, and run depends on the AziAudio DLL file(s) you're trying to get working in Project64. It will tell you what if any modules failed to load.

Honestly you'd only need to worry about installing the XAudio2 version if you can. The DS8 DLL is still provided for some reasons, but it might give us some of a hard time with some things anyway.
 

PistolSlap

New member
Yes, but interestingly, it says I am missing MSVCR120.DLL and MSVCP120.DLL, but I just got those and put them into system32. how can i be missing them still?
 

Iconoclast

New member
I'll copy-pasta a certain fragment of my post from earlier:
> "place them in C:\Windows\SySWoW64 (or C:\Windows\System32 if the former doesn't exist on your hard drive)."

They actually don't belong in System32 if you have a SySWoW64 folder. On a 64-bit Windows operating system you should have a SySWoW64 folder. This has the 32-bit wrapper for executing 32-bit stuff on Windows x86_64. The way I like to remember it personally, is it's backwards :) : 32-bit DLLs go to syswow64 and 64-bit DLLs to system32. :p
 

AIO

New member
So now that I've figured out emulators may play a role in crackling, can those who have had crackling try using mupen64 0.5.1? Also for those with dual cores & crackling issues, try using the dummy video plugin and see if you still get crackling.
 

Top