Have the latest releases of GZDoom affected Timidity++?

Post a reply

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :geek: :ugeek: :!: :?: :idea: :arrow: :| :mrgreen: :3: :wub: >:( :blergh:
View more smilies

BBCode is OFF
Smilies are ON

Topic review
   

Expand view Topic review: Have the latest releases of GZDoom affected Timidity++?

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

by Cacodemon345 » Thu Feb 22, 2018 12:39 pm

I might as well use Timidity++ for Roland SC-55 soundfonts. It sounds original for Doom music.
Because Doom Music was done on an Roland SC-55.

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

by Graf Zahl » Thu Feb 22, 2018 12:35 pm

If OPL actually sounded like those old cards I wouldn't dislike it so much. But it somehow manages to bring out the worst parts of that ancient sound. I still got a CD which I recorded in 1995, playing the music through Doom.exe and my sound card of that time. This sounds a lot better than the digital OPL synths. In this case the analogue circuits really help smoothing out the sound so that it's less harsh. (That CD was recorded by piping it through my stereo amplifier and doing the recording on a different computer because it was not possible to record on the playing system. Bad old times... :mrgreen:)

Obviously it's no match to the high quality Oggs I use these days for Doom's original music.

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

by Rachael » Thu Feb 22, 2018 11:06 am

I am going to have to agree with Graf on this one.

If people *really* did not like inferior synths (hardware, software, or otherwise) - no one would go for the OPL option in DOSBox or GZDoom. Yet, it's what sounds most nostalgic, evoking memories of crappy cheap-ass FM synths on our quite popular at the time and wide-spread Sound Blaster cards, even if that era only lasted about a decade or so, and the same thing could easily happen with FluidSynth. Besides, there's nothing stopping a person from creating a FluidSynth-compatible library to drop in its place, since it's a .dll anyway.

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

by Graf Zahl » Thu Feb 22, 2018 10:00 am

Kotti wrote: One question: Seeing that both the GUS and WildMidi options are merely inferior variations of this, will they stay or be removed? And what about FluidSynth? It's different enough to not throw it in the same basket but on the other hand it is different in not particularly good ways, of the available MIDI synths it is by far the worst sounding, often even being outclassed by OPL.
No, why should they? It's not that they significantly complicate matters. Regarding FluidSynth I have to agree about the quality,. It is indeed vastly inferior to the other synths when the same soundfonts are being used and I have no idea why it sounds so bad. But after all that is merely subjective so let's keep all the options. There may be people who like them.

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

by Kotti » Thu Feb 22, 2018 1:36 am

Cool!

This is a really nice surprise. Timidity++ has always been the odd thing out here with its clumsy setup. Good to see that it now has become a first class option for MIDI music playback.

One question: Seeing that both the GUS and WildMidi options are merely inferior variations of this, will they stay or be removed? And what about FluidSynth? It's different enough to not throw it in the same basket but on the other hand it is different in not particularly good ways, of the available MIDI synths it is by far the worst sounding, often even being outclassed by OPL.

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

by Graf Zahl » Wed Feb 21, 2018 1:48 pm

I may just post it here instead of starting a new thread about it.

The external solution to use Timidity++ is no longer needed and supported, I spent the last few weeks adjusting the Timidity++ source to be usable as an internal Midi synth, that can be driven by GZDoom itself, just like all the other options. I think this will solve all the problems people have been experiencing in the past.

I plan to do a few changes to the sound font setup now that there is a real chance to unify the handling across the different synths because the Timidity++ executable with its almost insane conventions is no longer a factor.

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

by Cacodemon345 » Fri Jan 19, 2018 12:23 am

Fluidsynth is less error-resistant.

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

by _mental_ » Fri Jan 19, 2018 12:22 am

If you found the issue then report it to developers. For FluidSynth I got a response in a few hours and reported crash was fixed in a day or so.

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

by Cacodemon345 » Fri Jan 19, 2018 12:08 am

There is no real chance to plug Timidity++ into GZDoom without it's developers cleaning up the mess. My advice would be to use FluidSynth, but it is also a mess of badly-written code that will make it crash with some soundfonts.

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

by Graf Zahl » Thu Jan 18, 2018 2:57 pm

Jerry.C wrote:Yay, Timidity++.

My main gripe with this program has been forever that it was designed to do everything regarding MIDI, yet no decent documentation exists, and trying to recompile it always ends up in a mess because nobody got the slightest clue what parts need to be combined to get what you want.
Welcome to the club. I really don't know how many times I have tried to make some sense of this code but there's so little information and the code nearly impenetrable that it's probably hopeless.

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

by Jerry.C » Thu Jan 18, 2018 10:50 am

Yay, Timidity++.

My main gripe with this program has been forever that it was designed to do everything regarding MIDI, yet no decent documentation exists, and trying to recompile it always ends up in a mess because nobody got the slightest clue what parts need to be combined to get what you want.

For example, apparently there is code in there that would allow streaming MIDI events through a pipe - if someone got it to work first. This doesn't seem to be part of any preexisting configuration aside from the autotools config so we are out of luck again. The included MSVC projects are perfectly useless, meaning that it is close to impossible to get it set up to a state where it at least works and someone can continue developing from that point onwards. If that obstacle could be overcome it should be perfectly doable to plug the synth into GZDoom as a library which would nullify most of the issues the current setup causes.

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

by Graf Zahl » Tue Jan 16, 2018 10:36 am

The distinction between binary and text mode is made inside the CRT. I do not know the specifics that decide which is being set.

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

by Rachael » Tue Jan 16, 2018 10:11 am

Keep in mind that it is, and always has been possible to spawn multiple GZDoom processes. If you're going to do a named pipe you better attach a process ID or something to it, too, in order to force it to be unique.

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

by Chris » Tue Jan 16, 2018 9:02 am

Graf Zahl wrote:What necessitates the special compile is that the Timidity developers forgot to set stdout to binary mode when piping back the wave data to the calling process.
I see. I guess there isn't a way to make the process spawn with stdout in binary mode? What about using a named pipe? e.g.

Code: Select all

ReadWavePipe = CreateNamedPipe("\\.\pipe\zdoom_timidity.raw", PIPE_ACCESS_INBOUND, PIPE_TYPE_BYTE | PIPE_NOWAIT, ...);

// then launch timidity...
timidity.exe -o \\.\pipe\zdoom_timidity.raw <other flags...>

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

by Cacodemon345 » Tue Jan 16, 2018 2:34 am

The MIDIMapper was removed in Windows 8 and higher.

Top