Subject: Re: [ecasound] metronome/click track
From: Kai Vehmanen (email@example.com)
Date: Sat Sep 16 2000 - 10:21:49 EEST
On Fri, 15 Sep 2000, Rob Coker wrote:
> 1. Have a chain with a -em (or similar) with rate for a metronome as a
> primitive effect.
Yup, basicly there are three alternatives:
1. integrate the metronome tightly with ecasound's processing
2. write is as a effect (internal or LADSPA)
3. write it as a audio object
I'd count the first approach out right away. One of my big goals is to
keep the main engine simple and stupid, and adding a metronome would
certainly break this design.
Second one is quite tempting. It's quite easy to write (you don't need to
know about ecasound internals) and flexible (control metronome tempo with
various controllers, like for instance a MIDI knob!). One of problem is
that you can't add a effect (same physical object) to multiple chains. But
when talking about a metronome, this shouldn't be a problem.
Audio objects and effects (chain ops) aren't that different, when you
look at the APIs. Many audio apps don't separate these concepts at all
(UG based synthesizers). In ecasound though, there are few differences...
- audio objects can be opened for reading, writing or read&writing
- effects get a buffer which they operate
- audio objects can have a distinct audio format (sample rate, bits,
- effects should be capable of accepting audio data in any format
(this is usually easy as ecasound converts all input data to its
- audio objects can be prepared, started and stopped
- effects don't have a running state
- audio objects store length and position
- effecst are just process buffers and that's all
A good example of this similarity is LADSPA sine oscillator plugins. Although they are effectc, you can easily use them as audio inputs by specifying:
"ecasound -i null -o /dev/dsp -el:sine_fcac,440,1"
... so to sum it up, approach 2 sounds quite good.
> I'd be willing to implement either choice, but am looking to find out if I'm > reinventing the wheel and also what others would like.
This would be great! Metronome is on my task list, but there's lots of other stuff there too (especially writing a new MIDI subsystem to ecasound). And as always, when someone who needs feature xxx himself, will usually write a better xxx than others.
-- . http://www.eca.cx ... [ audio software for linux ] /\ . . http://www.eca.cx/aivastus ... [ aivastus net radio ] /\ . . http://www.eca.cx/sculpscape [ my armchair-tunes mp3/ra/wav ]
-- To unsubscribe send message 'unsubscribe' in the body of the message to <firstname.lastname@example.org>.
This archive was generated by hypermail 2b28 : Sat Sep 16 2000 - 12:30:09 EEST