-
Notifications
You must be signed in to change notification settings - Fork 24
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
Sound issues both in SDL1 and SDL2 versions #15
Comments
All the playing is done by SDL and Timidity. I have no control on what is happening. So as a workaround, I converted all midi to ogg and added an option to switch between ogg and midi. The default is now OGG, as it should be less problematic. |
Hmm, this is a good idea, but the OGG files you included sound like the inferior SDL1 version with only the back channels. Can you let me know which program are you using to convert MIDI to OGG, so I can try and make better ones? One more thing: changing the music effectively requires you to reset the game. A warning should be printed on the screen for this purpose, saying something like "This change will require you to reset the game. All unsaved data will be lost. Continue? (Y/N)." |
Found the problem. It's the Timidity and FluidSynth soundfonts. SDL1 version defaults to Timidity whereas SDL2 defaults to FluidSynth. Both applications have very different soundfonts. The Timidity one appears to be very limited and lacking half of the instruments. The FluidSynth soundfont generates conflicts of equivalence which likely cause the weird stuck notes. I'm going to try converting the .mid files to OGG using the better FluidSynth soundfont, and upload them ASAP. |
Ah yes, I converted with Timidity, it was most handy tool I had on hand. I'll also look for a better conversion tool. |
Already converting with FluidSynth :) I'll upload the files in 5 mins or so. |
There you go. It sounds good now. I compared all the files with the original midi, and the sole difference is in nazo.mid/nazo.ogg, where the ogg file for some reason plays faster when converted. I could not find a way to make it exactly the same, but feel free to try. Here's the guide I used: https://wiki.archlinux.org/index.php/FluidSynth#How_to_convert_MIDI_to_MP3/OGG And the converted files: removed see below |
Oops, forgot to include main06. Please redownload the archive here. :) |
Here is a version of main01 converted on my windows machine, with my CreativeLabs sound card sf2. Which one do you prefer? |
The Windows font sounds better, I have to admit. :) For the sake of keeping it as close to the original as possible, let's use the converted versions from the Windows soundfont then. One more thing that comes to mind is that at least the files converted from the Linux soundfonts seem to have inherited some of the volume issues. It may be a good idea to equalize the .ogg files. |
About equalize the file, well, yeah, I agree, but I'm not sure how to do that. For the Confirmation, well, that's a lot of change in the code. The GUI is not super customizable in it's current state, and putting a confirmation screen will make me do quite some work. Not sure I'll do that. |
Also, for the GNU/Linux soundfont, is it possible to make the game load OPL-3_FM_128M.sf2 instead by default? It has a very unique, more DOS-like sound, but it doesn't appear to have volume issues and I think it comes by default on most linux installations, meaning one wouldn't require Timidity. It sounds like a more stable default option for those who want to rely on midi. For the confirmation screen, maybe you can instead just print the message and have the player reset manually i.e "For these changes to take effect, please reset the game." |
Mmm OPL3, old good adlib soundfount :) For the confirmation, it's not a reset, it's a change in music (like, if you enter a boss lair, it will start the new music in the newly selected format). I could restart the music myself during the change, but I need to change memory management for the music first. I'll probably spend some time in that direction. |
The more I try the OPL adlib the more I like it. It seems VERY stable volume-wise, and sounds great too. It's a real no-nonsense approach.
That's a bit a messy, having the game pulling the carpet on the sound mid game, but indeed, something that can be handled in the future. On a side matter, although a debian package is still out of the picture until we get asset clearance, an universal AppImage is something that I could do anytime. :) I'll see if I can get it to work in the future. |
I'll see if the change of music in mid-air is ok. As the music pause during option screen, I think it can work. Yes, AppImage. I have setup an automatic build of an AppImage for another one of my project: stuntcarramake. |
Alright, no need for me to get in the middle then. :) I just noticed, when using OGG files the music volume tends to be disproportionately lower than the sound volume, This depends on the track if I'm using the fluidsynth soundfonts, but it's universally lower with OPL-convered OGGs. I think a volume config option for sound effects, similar to the music one, will also be necessary. |
Also the windows conversion for main01 you uploaded, does not seem to have the volume issues! Can you try converting the remaining tracks? If the sound volume is the same on all files then equalization won't be necessary. |
It's already done, all ogg uploaded are the windows one. |
Ah my bad, forgot to download the latest build. It seems the volume gaps between different songs also happens in the original windows version too, so it's just a general limitation of midi or bad composing from Buster's side. One more argument to make it adlib on midi mode by default. |
Hello, me again :)
I found a couple of different sound issues for both SDL1 and SDL2 version. I should note I have the latest version of Timidity installed.
SDL1 - the music is only displaying the background channels not the full instruments. Please see video attached below.
hydrasoundsdl1.mp4.zip
SDL2 - the music plays fine for the most part, but it generates a lot of error messages on the console which really slows the loading times. When switching tracks mid game, it also gets stuck on notes sometimes. Please see video attached below. Note gets stuck at the end of video.
hydrasoundsdl2.mp4.zip
The text was updated successfully, but these errors were encountered: