iiwusynth-devel
[Top][All Lists]
Advanced

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

Re: [iiwusynth-devel] Iiwusynth: Buffer fragmentation, sysex, reverb, pi


From: Peter Hanappe
Subject: Re: [iiwusynth-devel] Iiwusynth: Buffer fragmentation, sysex, reverb, pitch bend
Date: 24 Feb 2002 03:01:59 +0100

On Fri, 2002-02-22 at 10:29, M. Nentwig wrote:
> Hello all,
> 
> some comments about Iiwusynth:
> 
> === Pitch bend ===
> I installed the latest version from CVS. Pitch bend now works as
> expected. Great!

Thanks.

> ===Fragments===
> It was a good idea to use command line options for fragment size and the
> number of fragments, because my sound chip (ESS allegro) can't cope with
> the default settings now - it produces strange noises.

Thanks to Josh Green!

> If other people have the same problem, I'd suggest to change the number
> of fragments by default to 16, that's the lowest setting that works.

OK. That corresponds to the original device buffer size of 1024 frames. 


> I have spent quite some time in the past to understand this problem with
> my soundcard (since I want to push down latency to the limits). It's
> odd, using only 3 fragments work as long as I delay writing to the
> soundcard until there is only one or two full buffers, but then the
> number of fragments doesn't have any meaning in any case. The drawback
> of this method is, that the CPU load is always 100 % (I haven't found a
> way yet to give back a time slice of 1 ms or less back to the kernel -
> please let me know if you have a solution). I can send example code, if
> somebody is interested.
> 
> === Sysex ===
> I reported previously, that sysex messages lock up iiwusynth. It's
> possible that there is an unwanted bank change going on, preventing the
> synth from playing anything afterwards. At least that's what I observe,
> when I turn the wrong button on my masterkeyboard in --verbose mode -
> the bank turns to 165xx.

Well, the receiving of sysex events hasn't been tested a lot. I wouldn't
be suprised if it contains an error. If it's possible to send me a MIDI
file with that sysex message, it should take long to debug.

> === Reverb ===
> Being curious by nature, I turned on reverb by setting the default
> reverb send on the voice to 0.3:
> There seems to be a bug in the reverb implementation: Reverb processing
> stops, as soon as all voices, which contribute to reverb send, have
> finished. This produces a weird gating effect, because it cuts off the
> reverb tails. 
> Commenting out
> if (USE_REVERB(synth) && (reverb_send >0.0f){
> in iiwu_synth.c (and the closing bracket) fixed that. (The first half
> probably works OK, it's the reverb_send>0 that causes the trouble).

Hah! Good catch. The reverb_send>0 is there to test that some voice is
actually sending audio to the reverb module. If not, it is not necessary
to execute (the cpu expensive) reverb code. But, as you discovered, I
forgot the reverb tail. I'll try to think of some other way to check the
reverb usage. Having it on all the time is too expensive.

> Having fixed that, I must say that I am impressed with the reverb
> (especially preset 4). Together with the (otherwise completely dry)
> Rhodes Mk 1 patch from
> http://www.hammersound.net/cgi-bin/soundlink_download2.pl/Download%20USA;mk_1_rhodes.rar;561
> 
> this really sounds fine. I did a short comparison by plugging my
> headphones back and forth between the computer and a rhodes patch on my
> masterkeyboard, my conclusion is that they 'play in the same league' now
> :-)

I used the freeverb code.

> === Reverb 2===
> To switch reverbs without recompiling, I implemented a command that
> allows to choose the reverb preset from the command line or .iiwusynth
> file, that was simple. Question is: Does it make sense to put this into
> the official release? If yes, I could implement the following commands:

Yes, that definitely makes sense.

> reverb_preset x: chooses reverb preset x
> reverb_setroomsize x: changes the room size of the current reverb preset
> to x
> reverb_setdamp x: changes the reverb damping of the current reverb to x
> etc...
> 
> What do you think?

Sounds good. If you feel like doing it, go ahead and send me a patch.
I'll integrate it.

> I will need this sort of functionality for my own use, because I want to
> keep loaded soundfonts and effect settings together in a batch file.

Cheers!
Peter

> Regards
> 
> Markus
> 
> PS: I'm using Netscape now for mailing. Let's hope that this mail
> arrives in a human-readable format :-)

Fine now!

> 
> _______________________________________________
> iiwusynth-devel mailing list
> address@hidden
> http://mail.freesoftware.fsf.org/mailman/listinfo/iiwusynth-devel
> 





reply via email to

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