schellingb / dosbox-pure

DOSBox Pure is a new fork of DOSBox built for RetroArch/Libretro aiming for simplicity and ease of use.
GNU General Public License v2.0
778 stars 65 forks source link

Sound bugs in version 0.21 #222

Closed Tasosgemah closed 2 years ago

Tasosgemah commented 2 years ago

I just updated from 0.20 to 0.21 and i'm now getting random blips and bloops in the midi music every now and then.

Seems to clear up if i force 60fps in the core options but that's something i didn't need to do in 0.20. Plus, if i force 60fps, games run a bit jerkier.

I have a 240hz gsync monitor.

71knight commented 2 years ago

Yes I noticed the same thing with a 60 hertz phone. Midi has had this problem for the longest, except for me it sounded like static every minute or so.

schellingb commented 2 years ago

A few questions to help me pin this down:

I "only" have a 144hz screen but I can't reproduce this fully. I do have some glitches when a game loads a lot of data or when I switch between the RetroArch menu and the game, but for me this was much worse in older versions.

Tasosgemah commented 2 years ago

I use the sound font option since frontend midi was always buggy for me and i don't like the sound of the older Soundblaster cards. So i'm using a font that sounds very close to general midi. Don't know if these sound bugs occur with other options. I will be away from my PC for a week so i can't test more for the time being.

The bugs happen during gameplay. Every 30-40 seconds or so, i'm getting a sound bug. It's either a blip/bloop sound or a cut off. Feels like an audio sync issue to me.

I do use the new timing mode in 0.20 and i don't get these sound bugs. I tested both DOOM and Duke Nukem 3D and both behave the same (sound issues every 30-40 seconds in 0.21, no issues in 0.20).

I don't think i changed much of the other core options.

I have a 240hz monitor and the freesync option in the general RetroArch options is always enabled.

71knight commented 2 years ago

For me it only affects Midi using mt-32 setting. The only option I have enabled is force 60fps output with input latency at default. It happens mainly during gameplay.

71knight commented 2 years ago

Just did some more testing on my Android phone. When I turn Force 60fps output off, the static/blip in the midi goes away. Apparently changing the force 60fps output messes up the timing in relation to the estimated refresh rate of the screen. It may somehow affect the sound buffer causing the issue.

Tasosgemah commented 2 years ago

For me its the opposite. 60fps fixes the sound issues but im using a 240hz feesync monitor.

schellingb commented 2 years ago

The fix I did 2 days ago was now released with version 0.22. Please check it out and report back if the issue has been fixed or improved.

Tasosgemah commented 2 years ago

Thank you, i will be testing this after i get back to my PC

71knight commented 2 years ago

In the time that I played ver 0.22 that should have had audio hic-ups and midi blips, now everything seems to have been fixed! I think the source of the problem may have been the addition of low input latency and force 60fps output settings messing up retroarch's estimated screen refresh setting causing slight audio buffer underruns. Just my thought!

gordon81-afk commented 2 years ago

Hello, afer update to 0.22, something was wrong in windows version of the core.

Now the "Force 60 fps output" enabled option breaks the music or sound,

This is the example video i have recorded:

https://files.fm/u/pv79tcjn6

When the video starts, you can hear how the music and the sounds has aleatory snaps.

I have used a fresh reatroarch installation.

Please, could you fix it? the 0.20 version works fine with "force 60 fps output" enabled.

Thank you very much and happy new year.

schellingb commented 2 years ago

@gordon81-afk Thank you for reporting this, you're absolutely right. Looks like we'll get 0.23 sooner than expected :-)

schellingb commented 2 years ago

Audio issues with "Force 60FPS Output" should now be fixed in the just released 0.23.

gordon81-afk commented 2 years ago

Sorry bad news, @schellingb the music bug still with 0.23.

https://files.fm/u/2tb6w8ae9

My system specs:

https://ibb.co/9bghNnq https://ibb.co/jZW73D2 https://ibb.co/mHktKyC

My monitor is not freesync, it has 60hz.

However the 0.20 version still works fine.

I have tested the 0.23 in different systems (ATI/NVIDIA), with directx 11 or glcore and they have same problems with the sound when "force 60fps output" is enabled.

Super Star Wars game or Blackthorne show this bug more clear.

I have another bug with lands of lore 2 Guardians Of Destiny, the game works perfect with 0.20-0.21-0.22 but now wont launch with same options in 0.23.

It show next error:

https://ibb.co/Z6ynP5Z

PD: Nex week i will send more money for support this project, i love your dosbox pure.

I hope you can fix it, thank you very much.

schellingb commented 2 years ago

Aha! Thanks for verifying this again. Turns out Super Star Wars runs at 320x200 at a refresh rate of 54.82 Hz. "Force 60 FPS" was actually broken for that case, running that game at 109% speed and the sound stuttering was just the 9% that had no audio.

Btw. you can check that yourself by setting Show Performance Statistics to Detailed in the core's emulation options. It will show the emulated display mode and a speed percentage (which should always be near 100% otherwise something is bad).

Regarding Lands of Lore 2, I'll see if I can test that tomorrow. Any special option you think causes this? Edit: It seems to work fine for me with my setup on defaults and with "Force 60 FPS". This might be hard if I can't reproduce it here... I don't think I've touched anything that would cause the emulated CPU to crash like this...

gordon81-afk commented 2 years ago

I can confirm these config for lands of lore 2 guardians of destiny runs flawlesly in 0.20-0.21-0.22

dosbox_pure_advanced = "true" dosbox_pure_aspect_correction = "true" dosbox_pure_audiorate = "48000" dosbox_pure_auto_mapping = "true" dosbox_pure_auto_target = "0.9" dosbox_pure_bind_unused = "true" dosbox_pure_cga = "early_auto" dosbox_pure_cpu_core = "auto" dosbox_pure_cpu_type = "auto" dosbox_pure_cycles = "500000" dosbox_pure_cycles_scale = "1.0" dosbox_pure_experimental_timing_mode = "new" dosbox_pure_force60fps = "true" dosbox_pure_gus = "false" dosbox_pure_hercules = "white" dosbox_pure_joystick_analog_deadzone = "15" dosbox_pure_joystick_timed = "true" dosbox_pure_keyboard_layout = "sp" dosbox_pure_latency = "default" dosbox_pure_machine = "svga" dosbox_pure_memory_size = "16" dosbox_pure_menu_time = "5" dosbox_pure_midi = "scummvm/extra/8bitsf.SF2" dosbox_pure_mouse_input = "true" dosbox_pure_mouse_speed_factor = "1.6" dosbox_pure_mouse_speed_factor_x = "1.0" dosbox_pure_mouse_wheel = "67/68" dosbox_pure_on_screen_keyboard = "true" dosbox_pure_perfstats = "detailed" dosbox_pure_savestate = "on" dosbox_pure_sblaster_adlib_emu = "nuked" dosbox_pure_sblaster_adlib_mode = "opl3gold" dosbox_pure_sblaster_conf = "A220 I7 D1 H5" dosbox_pure_sblaster_type = "sbpro1" dosbox_pure_svga = "vesa_oldvbe"

I repeat, with your dosbox pure, lands of lore guardians of destiny runs better than windows 95 version.

You can make lands of lore 2 run again in 0.23?

Thank you!!!

schellingb commented 2 years ago

And this happens right when starting the game, before the Westwood logo or anything? Which (of the many) EXE files are you using to start? Is it LOLG.EXE or RUNGAME.EXE? Either of those run fine for me with these options and the 0.23 I released yesterday on Windows 64bit. Also, are you running the patched version VER. 1.30 of Lands of Lore 2?

gordon81-afk commented 2 years ago

I´m so sorry

I have reset settings in lands of lore 2 and now it run flawlesly.

With these setting the game runs at 60-70fps very well.

dosbox_pure_aspect_correction = "true" dosbox_pure_audiorate = "48000" dosbox_pure_auto_mapping = "true" dosbox_pure_auto_target = "0.9" dosbox_pure_bind_unused = "true" dosbox_pure_cga = "early_auto" dosbox_pure_cpu_core = "auto" dosbox_pure_cpu_type = "auto" dosbox_pure_cycles = "500000" dosbox_pure_cycles_scale = "1.0" dosbox_pure_force60fps = "true" dosbox_pure_gus = "false" dosbox_pure_hercules = "white" dosbox_pure_joystick_analog_deadzone = "15" dosbox_pure_joystick_timed = "true" dosbox_pure_keyboard_layout = "us" dosbox_pure_latency = "default" dosbox_pure_machine = "svga" dosbox_pure_memory_size = "16" dosbox_pure_menu_time = "5" dosbox_pure_midi = "scummvm/extra/8bitsf.SF2" dosbox_pure_mouse_input = "true" dosbox_pure_mouse_speed_factor = "1.0" dosbox_pure_mouse_speed_factor_x = "1.0" dosbox_pure_mouse_wheel = "67/68" dosbox_pure_on_screen_keyboard = "true" dosbox_pure_perfstats = "none" dosbox_pure_savestate = "on" dosbox_pure_sblaster_adlib_emu = "default" dosbox_pure_sblaster_adlib_mode = "auto" dosbox_pure_sblaster_conf = "A220 I7 D1 H5" dosbox_pure_sblaster_type = "sb16" dosbox_pure_svga = "svga_s3"

thank you very much and so sorry by my mistake.

schellingb commented 2 years ago

@gordon81-afk The fix is now in the just released 0.24, if you could test Super Star Wars or Blackthorne again I'd be grateful.

gordon81-afk commented 2 years ago

Thank you very much @schellingb.

Right now your core runs perfect with both games.

I think you have found the perfect timming.

I love you!!.

Tasosgemah commented 2 years ago

Sound bugs have been fixed for me too.

schellingb commented 2 years ago

Awesome, great to hear. I'll close this issue then. If there are new issues regarding audio output, please open a new issue.