Subject: Re: [ecasound] The speed of Eci
From: Kai Vehmanen (firstname.lastname@example.org)
Date: Sat Jun 16 2001 - 20:29:41 EEST
On Tue, 12 Jun 2001, Junichi Uekawa wrote:
> It seems to be "fast enough" to do most things, but
> like ecasound itself, its real-time response is not too amazing.
Actually ecasound's real-time response can be quite amazing... ;)
> So, there is always a noticable lag between changing an effect
> and that reflecting on the actual sound output.
Yes. There are certain things ecasound can and cannot do
on-the-fly. Quoting ecasound-iam(1) man page:
It´s not possible to use all EIAM commands to modify and control objects
that belong to a connected chainsetup. Commands that do support this are:
´start´, ´stop´, ´setpos´, ´rewind´, ´forward´, ´c-select´, ´c-mute´, ´c-
bypass´, ´c-rewind´, ´c-forward´, ´c-setpos´, ´cop-select´, ´copp-select´
Another set of commands are those which can be used with connected
chainsetups, but not without an audible break. These are: ´cop-add´,
´cop-remove´, ´ctrl-add´, ´ctrl-select´, ´ctrl-remove´
In addition, most non-modifying (const) commands work with connected
So things like changing effect parameter values (copp-value) are very
fast. On the other hand, changing the effect configuration (cop-add,
cop-remove) always causes a break, because ecasound must stop the whole
engine, change the configuration, and then restart.
This can of course change in the future. But it's important to realize,
that supporting more things will require a more complex engine. And more
complex engine usually results in more processing overhead that cannot be
disabled without recompiling. This is one design issue I've paid much
As it is now...
- the same engine code can be used for both non-realtime and
- engine code is quite small (ie. easier to maintain, fewer bugs)
But of course, this is just the current situation. It might be that in the
future it makes more sense to concentrate on the realtime side. Comments
-- http://www.eca.cx Audio software for Linux!
-- To unsubscribe send message 'unsubscribe' in the body of the message to <email@example.com>.
This archive was generated by hypermail 2b28 : Sat Jun 16 2001 - 20:44:03 EEST