iiwusynth-devel
[Top][All Lists]
Advanced

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

Re: [Fwd: Re: [iiwusynth-devel] update and todo list]


From: Tim Goetze
Subject: Re: [Fwd: Re: [iiwusynth-devel] update and todo list]
Date: Tue, 4 Jun 2002 01:58:54 +0200 (CEST)

Peter Hanappe wrote:

>Tim Goetze wrote:
>> Bob Ham wrote:
>> 
>> 
>>>On Mon, 2002-06-03 at 09:09, Tim Goetze wrote:
>>>
>>>
>>>>i'm linking against libiiwusynth and using more than one iiwusynth
>>>>instance, with chorus and reverb applied within my own code, if at
>>>>all. on this 450 MHz k6-III, the cpu usage of one instance with no
>>>>voices playing is about 1.5 % cpu, with iiwu_synth_write_float called
>>>>every 64 audio frames. imo it's not too much.
>>>>
>>>Will it still not be too much if there's 10 iiwusynth's running, with 4
>>>ladspa plugins applied to the output of each?  This is the kind of thing
>>>my projects seem to end up with in logic audio in windows.  Besides,
>>>IMHO, even 1% of *unnecessary* CPU use is too much.
>>>
>> 
>> agree.
>
>I agree it can be improved. I started profiling the synthesizer to
>analyse where most of the time is spent. I also experimented with
>doing part of the DSP in fixed point arithmetic. It seems that the
>signal processing takes an acceptable amount of CPU. It seems rather
>that the release phases of the notes are generally quite long which
>means a lot of voices are being synthesized that you don't really
>hear. For 10 notes being played, there can be 40 notes in the release
>phase! Anyway, it clearly needs more work.

i also noticed sometimes voices ring on inaudibly for a long time when
i tried to grasp how volenv_val works, and when playing with very low
polyphony. 

btw a friend of mine who runs all the commercial windows sound
applications just said to me the polyphony possible right now with
iiwusynth (on this box) is quite ok.

i think a voice could be cut when it's still barely audible and then
moved into a 'rapid-release' phase to ensure that if the voice is
really still perceived, it fades out gently. this could be done by
simply modifying the voice's local iiwu_env_data_t. hmmm, need to
find out how that works precisely first.

but then again, due to filtering (and non-normalized samples in some
fonts) i guess the only way to find out for sure how loud a voice
is is by calculating its current peak, which would take some more
cpu -- though maybe a simpler calculation involving filter Q and
frequency along with the current envelope gain and the note's
root harmonic would do.

just some random thoughts.

tim




reply via email to

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