[linux-audio-dev] Simple reverbs

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] Simple reverbs
From: David Olofson (david@olofson.net)
Date: Tue Jan 28 2003 - 10:49:23 EET


Well, I got the new device subsystem working in Audiality, although
I've only finished the SDL audio driver. ALSA 0.9 rawmidi more or
less finished, OSS audio is a mess, and there's no OSS rawmidi yet.
(Although that's rather trivial; basically a stripped down version of
ALSA rawmidi.)

Anyway, I got sidetracked - as usual. ;-)

First, I started playing with a noise modulated delay line, but didn't
find the results very interesting. So I decided to run a bunch of
fixed feedback delay lines in parallel - and that sounded a lot more
interesting: It became a pretty neat reverb. :-)

With 16 delays and exponential or exponential +/- Golomb ruler, it
sounds great for "normal" sounds, but has some problems with
transients; it's not dense enough. However, with these uneven delay
time distributions, it doesn't sound metallic at all. It rather turns
the transients into some sort of "noise" (sounds like random granular
synthesis, basically), that soon becomes this "shhhh" most of us
desire.

With even/linear delay time distribution, it still sounds pretty good,
but it starts to remind of a gong simulator or something. Plate
reverb, maybe... Interesting, but not what I was looking for -
although I'm throwing all interesting variants in, so they can be
selected through a plugin control.

With 32 delays, it starts to sound *real* interesting - but it also
starts to abuse my PC133 RAM pretty seriously. It won't run real time
on my P-III 933 above some 48 delay lines, although this is with 32
bit buffers of 8192 samples each. This can be improved upon a lot,
since I'm only using a tiny fraction of the maximum delay times with
that dense settings. (Like 300 +/- 100 samples.) Also, it's all
integer, so I could probably use 16 bits.

I have no feedbacks in beetween delays; just one local, LP filtered
feedback per delay. Every other pair of delays is stereo reversed.
Tried some network feedback setups, but I couldn't figure out any
truly useful configurations.

Untested idea: Have multiple feedbacks for each delay line. (The old
"reverb" of Audiality is actually just one stereo delay line with
multiple feedbacks, BTW.) The idea is that, while not as effective as
separate delays, this is a lot cheaper, so I might get more
density/cycle.

Oh, and I'll try the well known delay time modulation trick, of
course. Maybe using filtered noise instead of periodic LFO waveforms?

Thoughts? Any ideas for useful cross feedback configurations?

//David Olofson - Programmer, Composer, Open Source Advocate

.- The Return of Audiality! --------------------------------.
| Free/Open Source Audio Engine for use in Games or Studio. |
| RT and off-line synth. Scripting. Sample accurate timing. |
`---------------------------> http://olofson.net/audiality -'
   --- http://olofson.net --- http://www.reologica.se ---


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Tue Jan 28 2003 - 10:53:20 EET