iiwusynth-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [iiwusynth-devel] FluidSynth roadmap


From: Josh Green
Subject: Re: [iiwusynth-devel] FluidSynth roadmap
Date: 06 Nov 2002 09:46:07 -0800

On Wed, 2002-11-06 at 07:31, Antoine Schmitt wrote:
> >
> >- Improved sfloader sample data handling
> 
> - I think that the sfloader API is really heavy, especially knowing 
> that only one sfloader exists : the default one. Is it really 
> necessary ?

Ummm.. I guess you haven't tried my program Swami??
(http://swami.sourceforge.net) The sfloader API was created to allow my
program to manage the SoundFont patches and load them into FluidSynth.

> - As part of the Xtra development, I wrote new functions for 
> sample/instrument/preset creation (on the fly, in RAM, from samples 
> loaded from files or from Director media). I was waiting for some 
> stable moment to include it in CVS. On the other hand, I guess that 
> they are not very generic, as they create one instrument_zone per 
> sample (with envelope and loop management), but dont give access to 
> preset_zone management, not talking about access to zone generators. 
> I think that a rethink of this API to allow for dynamic creation of a 
> sf structure would be really powerful.

You may want to have a look at my libInstPatch library which has a very
flexible patch object editing system (currently just SoundFont files)
and is multi-threaded and based on GObject (a C object system now
becoming popular). The API can be viewed on the Swami developers page.
Its what Swami is based on.

> 
> On one of our project, we have found significant differences between 
> hardware synthesis and FluidSynth synthesis : lower sound volume, 
> many clicks on some presets, etc.. (using complex SoundFont presets 
> inside Vienna, on Windows). We are investigating more on this and 
> will keep you informed. Anyone else has seen this ?
> 

I need to write an emu wavetable backend plugin for Swami so this could
more easily be tested (hear both devices at the same time, could even
map to different left and right speakers on head phones).

> Some other topics I'd like to submit to your sagacity:
> - have FluidSynth automatically take advantage of hardware devices if 
> available

How? Do you mean like a hardware SoundFont device like SB Live! etc?
Using one of these means you don't need FluidSynth. Of course there are
many draw backs to hardware SoundFont devices (not well supported in
Linux, not very portable between platforms, usually a pain to route
synthesized audio to other applications).

> - architecture FluidSynth so that the output stream(s) may be 
> inputted into some other APIs, like DirectSound3D, or some équivalent 
> 3D sound spatialization engine).

Jack is already supported with FluidSynth (although I have not tested it
yet) and it does exactly this. Allows routing of audio to other apps.

> 
> Having used iiwu for some time now, as part of the Xtra development, 
> I must say that I find it really well designed and implemented. Also, 
> I think that leveraging on the SoundFont API which is becoming a 
> standard is really a good position to be : it gives access to all 
> those complex SoundFonts banks created everywhere. I am using it 
> fully as the basis of one project (http://www.infiniteCD.org/) and am 
> actively proselytising it on other projects :-)
> 
> The only thing that is quite complex I think, and which is not caused 
> by iiwu but by the opensource process, is that it is very difficult 
> to rely on a stable version, as it changes all the time with bug 
> fixes and new features. So for the production of a client of iiwu, 
> one has to have the full development environment available, CVS, as 
> well as all the other free software libraries (portaudio, MidiShare, 
> now linsndfile for the Xtra...) + update regularely and recompile 
> everything. I dont know how things are done usually with OpenSource 
> software (I come more from the industry - NeXT, etc..), and I know 
> that all this is done gracefully by all of us, but I think that it 
> would be good to have stable releases from time to time, fully built 
> and available in binary format, with documentation.
> 

What is your development platform? Are you using Linux or a win32
environment?

> Enough for today :-)
> 
> 
> 
> ++ as
> 

Cheers.
        Josh Green





reply via email to

[Prev in Thread] Current Thread [Next in Thread]