fluidsynth for windows port

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

mac_es
Posts: 145
Joined: Mon Oct 31, 2005 9:37 am

fluidsynth for windows port

Post by mac_es »

Hi,

There is a reason to not include fluidsynth support in windows port?

It compiles straight forward whith the prebuild version 1.0.0 for windows (fluidsynth-1.0.0-win32.zip).

After compile, you can use the dll from fluidsynth-1.0.3-win32.zip package or the original dll.

Whith this feature compiled in you can use sf2 files in windows, whithout installing anything else.

I see that fluidsynth is not gnu, this is the problem?

Thanks
User avatar
eriktorbjorn
ScummVM Developer
Posts: 3373
Joined: Mon Oct 31, 2005 7:39 am

Re: fluidsynth for windows port

Post by eriktorbjorn »

mac_es wrote: There is a reason to not include fluidsynth support in windows port?
I don't know. Back when I tried compiling ScummVM for Windows (for my own private use only), libfluidsynth was the one thing I never managed to get to compile, but perhaps that has changed. It was a few years ago.
mac_es wrote: I see that fluidsynth is not gnu, this is the problem?
The COPYING file says it's under the LGPL, so that should be no problem at all.
mac_es
Posts: 145
Joined: Mon Oct 31, 2005 9:37 am

Post by mac_es »

Yeah, I didn't manage to compile the dll. Because of that I have used the precompiled library.

Also, the 1.0.3 needs some more definitions.

I have installed the 1.0.0 library in my MINGW/MSYS. After that, the configuration tool of scummvm detects the library and builds itself whith the support. It compiles the trunk and the 0.11.1 branch at least, I didn't tried more versions.

When you try to run Scummvm.exe it looks for fluidsynth.dll, which is included in the package.

I have tried several sf2 soundfonts: 8mbgm_enhanced18.sf2, a340.sf2, RealFont_2_1.SF2 and all of them works ok. Though sometimes fluidsynth camplains about some values (in runtime). Then I replaced the dll whith the one included in the 1.0.3 package and the warnings are gone :)

This is great as my sound system doesn't support soundfonts natively. And this is a standalone solution, no need to add a driver, external program.... (There are some threads talking about installing timidity+drivers)

I don't know the "official" builder but it should take a minute to include it.

Ah! My specs are WXP SP2, Intel chipset integrated audio card
User avatar
Laserschwert
Posts: 280
Joined: Mon Mar 06, 2006 11:48 pm

Post by Laserschwert »

Could you upload the build with FluidSynth-integration?
Kirben
ScummVM Developer
Posts: 417
Joined: Wed Sep 21, 2005 12:15 pm
Location: Melbourne, Victoria, Australia

Post by Kirben »

No, fluidsynth support will not be included in the Windows builds:

* Fluidsynth doesn't compile under Windows (at least mingw), and I'm not interested in taking over Windows port either.

* The last Windows port (1.03) of fluidsynth is four years old, and only offers dynamic libraries.

* Unless you are using an ancient system, you should find your sound chipset/soundcard supports switching MIDI patch sets, via DLS or soundfonts. And it is possible to convert midi patch sets, between both formats.
mac_es
Posts: 145
Joined: Mon Oct 31, 2005 9:37 am

Post by mac_es »

Hi,

@Kirben
No, fluidsynth support will not be included in the Windows builds
Ok, I was only asking. :)
Fluidsynth doesn't compile under Windows (at least mingw), and I'm not interested in taking over Windows port either
Because of that I used the precompiled library
The last Windows port (1.03) of fluidsynth is four years old, and only offers dynamic libraries
This means including only one more dll, as SDL. I don't see the problem though.
Unless you are using an ancient system, you should find your sound chipset/soundcard supports switching MIDI patch sets, via DLS or soundfonts. And it is possible to convert midi patch sets, between both formats.
Well, my system specs regarding audio are: SoundMax Integrated Digital HD Audio, on a Core2 DUO, the chipset is intel 946.

So as you can see, is not ancient. And I can't (at least, I don't know) how to modify soundfonts or anything else in MIDI. All my options in MIDI are: change volume.

@Laserschwert
Could you upload the build with FluidSynth-integration?
If you tell me an anonymous place (I don't want to register anywhere), I will upload 0.11.1 whith fuildsynth for windows.
Kirben
ScummVM Developer
Posts: 417
Joined: Wed Sep 21, 2005 12:15 pm
Location: Melbourne, Victoria, Australia

Post by Kirben »

mac_es wrote: This means including only one more dll, as SDL. I don't see the problem though.
Well a dynamic library (dll) is only worth including, if it offers clear version number (via version tab), and supports switching versions.
mac_es wrote:Well, my system specs regarding audio are: SoundMax Integrated Digital HD Audio, on a Core2 DUO, the chipset is intel 946.

So as you can see, is not ancient. And I can't (at least, I don't know) how to modify soundfonts or anything else in MIDI. All my options in MIDI are: change volume.
Any of the Analog Devices audio codecs should support DLS 1/2, with the right SoundMax drivers installed.

Earlier SoundMax versions offered custom MIDI driver, and their own DLS Loader program (for switching between midi patch sets), via the SoundMax icon in system tray.

Recent SoundMax versions use the default 'Microsoft GS Wavetable SW Synth' MIDI driver, which would require you to rename and switch the default 'gm.dls' in the '\windows\system32\drivers' directory.
User avatar
Laserschwert
Posts: 280
Joined: Mon Mar 06, 2006 11:48 pm

Post by Laserschwert »

mac_es wrote:If you tell me an anonymous place (I don't want to register anywhere), I will upload 0.11.1 whith fuildsynth for windows.
Rapidshare.com always works.
Mr. Wood
Posts: 8
Joined: Fri Feb 22, 2008 5:31 pm

Post by Mr. Wood »

Kirben wrote:Recent SoundMax versions use the default 'Microsoft GS Wavetable SW Synth' MIDI driver, which would require you to rename and switch the default 'gm.dls' in the '\windows\system32\drivers' directory.
Since (I believe) Windows XP SP2 this file is monitored for changes and silently rolled back. Replacing the file is unfortunately a rather annoying process.
Cyphox
Posts: 73
Joined: Wed Jan 02, 2008 8:38 pm
Location: Germany

Post by Cyphox »

would it be possible to use soundfont-files with fluidsynth??

cause i tried to get two different soundfonts to work with scummvm, unsuccessfully ....

i can't tell my soundchip to use a font (no option in software) and if make the right settings and point to the soundfont-file in scummvm, it doesn't work either... :?:
User avatar
eriktorbjorn
ScummVM Developer
Posts: 3373
Joined: Mon Oct 31, 2005 7:39 am

Post by eriktorbjorn »

Cyphox wrote:would it be possible to use soundfont-files with fluidsynth??
Yes, the FluidSynth driver is one of the few that uses the SoundFont setting. (From what I remember, the only other one is one of the MIDI drivers for Mac OS X.) Though I haven't tried it much, because my sound card already has a MIDI synth and supports sound fonts.
svarnifyer
Posts: 2
Joined: Mon Mar 17, 2008 4:08 am

Post by svarnifyer »

Would it help to compile the most recent version of fluidsynth under windows?
I compiled it and now have an .exe (13 kB), a .dll (152 kB) and a _lib.lib (581 kB).
Files are here:
http://home.tu-clausthal.de/~mtsa/fluid ... dsynth.exe
http://home.tu-clausthal.de/~mtsa/fluid ... dsynth.dll
http://home.tu-clausthal.de/~mtsa/fluid ... th_lib.lib
or as a zip:
http://home.tu-clausthal.de/~mtsa/fluid ... 05Prof.zip
Revision used for fluidssynth is 124.

If the lib doesn't help, it's still possible to use a windows port of fluidsynth for scummvm. Maybe it's better to not use the above for I may have messed things up :)
I'm using MIDI YOKE
http://www.midiox.com/myoke.htm
as a virtual midi patch cable. I have selected "Out to MIDI Yoke: 1" in my windows audio-configuration dialog (midi output: standard device...) and when setting Scumm VM to "windows midi", the fluidsynth will begin to use the configured Fluid_R3 Soundfont to play pretty nice music :o)
Of course it's a bit annoying to always start fluidsynth by hand, but the result is worth it. and that way it's possible to enter commands like "reset" to fluidsynth, when an note is "hanging".

Best regards.

PS:
I'm sorry, it seems to me that the files above are not working, at least that version of fluidsynth doesn't play any music at all for me.

PPS: well, seems to work. it only will not take the soundfont on command line, need to load it by "-f configfile".
svarnifyer
Posts: 2
Joined: Mon Mar 17, 2008 4:08 am

Post by svarnifyer »

I managed to compile ScummVM for Windows with my VisualStudio2005, but how do I make it to in clude the fluidsynth_lib.lib or the .dll? And after compiling, what files are needed? I guess there is no need to upload the .obj-Files?

PS: I set the flag "USING_FLUIDSYNTH" and added correct paths to the project for including fluidsynth.h and fluidsynth_lib.lib, but I get "unresolved symbol"-errors for
__imp__new_fluid_synth
and 14 other functions. Someone want's to help? I'll upload the working ScummVM with included fluidsynth for windows then :)
mac_es
Posts: 145
Joined: Mon Oct 31, 2005 9:37 am

Post by mac_es »

Sorry for the delay, the real life...

I will upload it, this morning
mac_es
Posts: 145
Joined: Mon Oct 31, 2005 9:37 am

Post by mac_es »

Well a dynamic library (dll) is only worth including, if it offers clear version number (via version tab), and supports switching versions.
It supports switching but no version info is given...
Recent SoundMax versions use the default 'Microsoft GS Wavetable SW Synth' MIDI driver, which would require you to rename and switch the default 'gm.dls' in the '\windows\system32\drivers' directory.
noted!
Would it help to compile the most recent version of fluidsynth under windows?
I compiled it and now have an .exe (13 kB), a .dll (152 kB) and a _lib.lib (581 kB).
I will try the new dll :)
Rapidshare.com always works.
http://rapidshare.com/files/102184743/s ... d.rar.html


It is the 0.11.1, whith no patches.
Post Reply