Have the latest releases of GZDoom affected Timidity++?

Discuss anything ZDoom-related that doesn't fall into one of the other categories.
ksio89
Posts: 8
Joined: Wed Jan 03, 2018 11:27 pm

Have the latest releases of GZDoom affected Timidity++?

Post by ksio89 »

Not sure if it's the right section to place this topic, but here it goes.

I don't know what happened, but since GZDoom version v3.2.3 (64-bit build) I believe, music in Timidity++ (downloaded from https://zdoom.org/wiki/TiMidity%2B%2B) does not sound as good as it used to do in ealiers revisions. More specifically, I set up Timidity++ to play Patch's 93 SC-55 v2.2 soundfont (in .sf2 format). I don't know if has anything to do with the switch from FMOD to OpenAL, which I don't think so, but the instruments now sound very flat and just not as good as before. Obviously, it sounds bad in all Doom-engine games. For example, there seems to be less reverb and chorus, and the bass and snare just do not sound as full as before, there's a lack of "punch". I downloaded SC-55 music packs for Doom and Doom II from http://sc55.duke4.net to test, and they sounded great as expected, and identical to how Patch's 93 soundfont sounded before.

However, I read in Doomworld thread that Patch's 93 himself recommended using CoolSoft VirtualMIDISynth with his soundfont, and boy, he couldn't be more right. I installed this application, and then loaded and applied the .sf2 file. Surprisngly, GZDoom detected it as a MIDI player without needing further configuration. The instruments sound fantastic with this MIDI soft synthesizer, as it used to do before, so I can say the issue was fixed. I have not tried another soundfont to test, but after changing the MIDI synthesizer, I wonder if there as any change in GZDoom latest releases that made Timidity++ sound worse. I even installed GZDoom v.3.2.5 from scratch, but the issue persisted. However, I still wonder what if any change affected how soundfonts sounded when played by Timidity++, and if has anyone else noticed this change.
_mental_
 
 
Posts: 3812
Joined: Sun Aug 07, 2011 4:32 am

Re: Have the latest releases of GZDoom affected Timidity++?

Post by _mental_ »

I would like to clarify. Using exactly the same GZDoom configuration (.ini file) 3.2.3 sounds wrong but 3.2.2 is OK, right?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49066
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Have the latest releases of GZDoom affected Timidity++?

Post by Graf Zahl »

That is totally impossible. Timidity++ is an external process so unless that executable has changed the output is inevitably the same if the input is the same. Keep in mind that there's a few CVARs to control Timidity++, though. Maybe those have been altered?
ksio89
Posts: 8
Joined: Wed Jan 03, 2018 11:27 pm

Re: Have the latest releases of GZDoom affected Timidity++?

Post by ksio89 »

_mental_ wrote:I would like to clarify. Using exactly the same GZDoom configuration (.ini file) 3.2.3 sounds wrong but 3.2.2 is OK, right?
Yep. Same configuration file, same folder. It was fine until up to 3.2.1 or 3.2.2, not sure. I even reinstalled GZDoom, created a new config file, redownloaded TiMIDIty++ and edited the .ini telling the folder where the soundfont file was located, but starting from scratch still didn't solve this issue.

I'm glad I found out about CoolSoft VirtualMIDISynth, which is much easier to set up with the soundfont I use. TiMIDIty++ is a thing from the past now.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49066
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Have the latest releases of GZDoom affected Timidity++?

Post by Graf Zahl »

Here's just a warning: The Windows MIDI player is considered deprecated. It may just disappear so you'd no longer be able to use a system driver for MIDI playback. It may not be obvious but that thing is actually a problem that may have to be removed eventually.

And if Timidity++ wasn't such a gigantic clusterfuck of badly written code I might have included it into GZDoom by now. This stuff is the epitome of using pure C in a context where OOP may be advised and overdepends on global variables to make the code completely useless.
Cacodemon345
Posts: 419
Joined: Fri Dec 22, 2017 1:53 am
Graphics Processor: ATI/AMD (Modern GZDoom)
Contact:

Re: Have the latest releases of GZDoom affected Timidity++?

Post by Cacodemon345 »

How is the Windows MIDI player considered deprecated?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49066
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Have the latest releases of GZDoom affected Timidity++?

Post by Graf Zahl »

It is virtually broken on modern Windows and won't properly play all MIDIs. And it's only a matter of time until it will be degraded further.
Cacodemon345
Posts: 419
Joined: Fri Dec 22, 2017 1:53 am
Graphics Processor: ATI/AMD (Modern GZDoom)
Contact:

Re: Have the latest releases of GZDoom affected Timidity++?

Post by Cacodemon345 »

F*** DLS soundfont format that isn't supported by anything other than Windows. If it wasn't for it, I would probably have moved to Linux by now.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49066
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Have the latest releases of GZDoom affected Timidity++?

Post by Graf Zahl »

Why are you so dependent on DLS? The only known soundfont in that format is GM.dls and it's not the best thing out there.
Cacodemon345
Posts: 419
Joined: Fri Dec 22, 2017 1:53 am
Graphics Processor: ATI/AMD (Modern GZDoom)
Contact:

Re: Have the latest releases of GZDoom affected Timidity++?

Post by Cacodemon345 »

I am habituated to hearing GM.DLS.
Edward-san
Posts: 1774
Joined: Sat Oct 17, 2009 9:40 am

Re: Have the latest releases of GZDoom affected Timidity++?

Post by Edward-san »

Graf Zahl wrote:And if Timidity++ wasn't such a gigantic clusterfuck of badly written code I might have included it into GZDoom by now. This stuff is the epitome of using pure C in a context where OOP may be advised and overdepends on global variables to make the code completely useless.
Speaking of which, what do you think about this post it was made in this zandronum bug tracker?
You shouldn't use the "old" method that relies on ancient special compilation of timidity.exe, it's borderline broken, creates cracking sounds on midi track start/stop, random instrument distortions and other unpleasant effects.

What you should do is get Timidity++ CVS version from here
https://ja.osdn.net/projects/twsynth/releases/36408
This will install Timidity++ with standalone windows player AND a timidity driver, configuration is simple, you put your timidity.cfg into C:\WINDOWS, do a single reboot after installing and you should have Timidity Driver listed in your Zandro sound options, just like I've got it - https://i.imgur.com/mCNGnDL.jpg
Now you can enjoy the Timidity++ sound free from all the sound glitches.
Other games can use it as well.

As a bonus note, there is a newer CVS version 2.14.0 but it's served without installer, after you install the one from previous link you can use just slap in those files as upgrade if you want to https://sourceforge.net/projects/timidi ... 2B%2B-CVS/ I suppose that will require replacing timiditydrv.dll in Windows\System32 [in case of 32bit Windows] or Windows\SysWOW64 folder [64bit Windows], which may require more advanced steps to update it [unregistering and re-registering .dll via CMD -> cd c:\windows\syswow64 -> regsvr32.exe -u timiditydrv.dll -> delete the old .dll and put in the new .dll in the syswow64 folder -> regsvr32.exe timiditydrv.dll] so consider the manual update as a poweruser option.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49066
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Have the latest releases of GZDoom affected Timidity++?

Post by Graf Zahl »

Regarding the ticket: The console treats backslashes as filter characters, so it needs to use either forward slashes or double backslashes. This cannot be changed without breaking other stuff. Reporting it here will just result in an outright "Won't change".

Regarding Timidity as a driver: This should work out of the box because it installs Timidity as a system driver. The drawback here is, of course, that you lose all configurability options on the application side. And I happen to use them a lot.

Maybe someone should take the time and reapply the ZDoom specific changes to this more recent code base. (If the source wasn't just such a mess to begin with. This really takes the worst of Unix development habits to the next level.)
Cacodemon345
Posts: 419
Joined: Fri Dec 22, 2017 1:53 am
Graphics Processor: ATI/AMD (Modern GZDoom)
Contact:

Re: Have the latest releases of GZDoom affected Timidity++?

Post by Cacodemon345 »

I want a soundfont that sounds almost exactly like the real Roland SC-55.
And is it true that Timidity++ supports DLS format?
User avatar
wildweasel
Posts: 21706
Joined: Tue Jul 15, 2003 7:33 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): A lot of them
Graphics Processor: Not Listed
Contact:

Re: Have the latest releases of GZDoom affected Timidity++?

Post by wildweasel »

Cacodemon345 wrote:I want a soundfont that sounds almost exactly like the real Roland SC-55.
https://forums.duke4.net/topic/6973-sc- ... ge-update/ - Google result number one for "roland sc-55 soundfont." Enjoy.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49066
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Have the latest releases of GZDoom affected Timidity++?

Post by Graf Zahl »

I just compiled the most recent Timidity++ source with the changes needed by ZDoom's player. Can anyone please tell me if this still has the same issues that were mentioned by Edward-san?
Because I cannot detect anything wrong with either version when comparing it to an official build

Binary: http://www95.zippyshare.com/v/0DrMADHG/file.html
Source: http://www60.zippyshare.com/v/HpLbHtrc/file.html (Be warned, this is quite a mess because the source doesn't play nice with modern Visual Studio, plus I didn't want to set up all those dependencies which are of no use to ZDoom. Upload is a requirement as per GPL, though.)
Post Reply

Return to “General”