iiwusynth-devel
[Top][All Lists]
Advanced

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

[iiwusynth-devel] Libsoundfont version of iiwusynth


From: Josh Green
Subject: [iiwusynth-devel] Libsoundfont version of iiwusynth
Date: 05 Mar 2002 18:23:21 -0700

Well things are progressing rather well with Swami (new name for the
Smurf Sound Font Editor). Its rapidly coming back to its old Smurfy self
(with the nice new architecture of course). I'm at a stage now where I
would like to start on the wavetable sub system. I've started porting
iiwusynth over to libsoundfont just last night. I'm convinced that this
is the best way to add support for iiwusynth to Swami. I don't recall
what your own thoughts were on this. I'm currently going with the
thought of getting it working directly with Swami and then worrying
about the details of how and if these changes will be put back into the
iiwusynth source tree.
Current thoughts on using libsoundfont with iiwusynth:

- Remove all iiwusynth sound font related structures and use the
libsoundfont ones instead to store and manage sound font data
- Keep the iiwusynth "synth" related structures for the iiwusynth
synthesis engine and add other performance related structures
- Load preset synth and performance structures (at channel preset
selection time) from libsoundfont structures
     a. switch to libsoundfont array generator storage mode
- Use libsoundfont sample management to dynamically manage sample data
and perhaps enable on demand loading of data (to conserve memory and for
cases where sound font size exceeds system memory size).

For the most part I don't see any performance related issues with using
libsoundfont directly in the synthesis engine. The main thing is using
array storage of generators (which I'm implementing support for in
libsoundfont). This conversion, as well as loading of other iiwusynth
performance related structures, would occur at channel preset selection
time. Once this is done all synthesis would occur using iiwusynth's
floating point type with the structures already defined.
I was curious about a couple things:

1. Is it absolutely necessary to have the generators as floats?
SoundFont's themselves use 16 bit signed integers which I'm sure you
know. Seems like sticking to this format up until the actual synthesis
makes the most sense?

2. I think I mentioned this before. But I believe there are some
performance issues with converting floats to ints or the other way
around on intel architectures? Perhaps this was only an issue with
certain models of the x86 family, donno. Have you done any profiling
yet?

Anyways. I'll keep you up to date on whats going on with the
libsoundfont port of iiwusynth. If you would like to help in the process
let me know, I can put it in CVS. Cheers!
        Josh Green




reply via email to

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