Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Music track loop issues with Nuked SC55 (and real hardware?) #600

Closed
Kappa971 opened this issue Feb 4, 2025 · 5 comments · Fixed by #601
Closed

Music track loop issues with Nuked SC55 (and real hardware?) #600

Kappa971 opened this issue Feb 4, 2025 · 5 comments · Fixed by #601

Comments

@Kappa971
Copy link

Kappa971 commented Feb 4, 2025

Hi. I'm using DSDA-Doom with Nuked-SC55. I notice a small problem with midi playback.
Basically the "mus_portmidi_reset_delay" option seems to work when the music track starts (0 as default is not good, maybe a solution like in Woof should be adopted which applies an automatic delay if set to -1), but it doesn't seem to work during the track loop: the track ends, starts again but no delay is added to get the emulator ready to start playing again, and this causes some initial notes to be skipped or played too fast. For example, this happens in the music track of the E2M1 level of The Ultimate Doom.

I don't know what solution they adopted in the DOS version, but the loop seems to work correctly there with Nuked-SC55.
Assuming that Nuked SC55 behaves like real hardware, I would imagine that in the source ports of the last 20 years, midi playback has never been tested on SC-55, probably because people used software solutions like the built-in Windows synthesizer, Edirol Virtual Sound Canvas, etc.

@ceski-1
Copy link
Contributor

ceski-1 commented Feb 4, 2025

Please try the Woof build here, with the test wad linked here. If that works for you, I'll put together a similar fix for DSDA-Doom.

@Kappa971
Copy link
Author

Kappa971 commented Feb 4, 2025

That build of Woof seems to work as well as the DOS version, thanks.
I recorded some audio here with Nuked SC55 (mk2 model), so you can hear the difference between DSDA-Doom (without fix) and Woof (with fix): miditest.zip

I also tried the E6M1 music track from Sigil 2 and it works fine now.
For example the music track E2M3 from Legacy of Rust still has problems but this is probably due to the track itself which has not been tested on SC-55 (at least for the music loop, I think the LoR tracks are pre-recorded on SC-55 in the official port) so I don't think there is anything we can do in this case, except changing the software synthesizer for this wad (adding a delay inside the music loop is probably not the best solution).

@ceski-1
Copy link
Contributor

ceski-1 commented Feb 4, 2025

Thanks for testing. Please try the DSDA-Doom build here and let me know if that works for you too.

@Kappa971
Copy link
Author

Kappa971 commented Feb 4, 2025

Thanks for testing. Please try the DSDA-Doom build here and let me know if that works for you too.

It seems to work. This is the recorded test wad: dsda-doom-withfix.zip

Last thing, "mus_portmidi_reset_delay" can't be "0" as default, otherwise we have the same problem at the beginning of the midi tracks, for example when switching to another level. I tried "75" and it seems to work fine, maybe it should be the default.

@ceski-1
Copy link
Contributor

ceski-1 commented Feb 4, 2025

Okay great, thanks again for testing. I don't really want to mess with the reset delay setting right now, but maybe it can be looked at in the future as part of another effort.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants