On Tue, Jan 23, 2007 at 10:26:31AM -0500, David O'Toole wrote:
>
> I am getting into ecasound, and I would like to start up the old
> "SuperEcasound" discussion that happened on the list wayyyy back.
Hi David,
Great to hear about your audio projects and plans.
And somewhat reassuring to know that I'm not the
only one who finds Ardour frustrating at times.
First, I'm amazed at the generality of what you are
planning. Is that typical of the 'lisp mentality'??
(Maybe it's time for me to learn lisp!)
> So my big question is: what are your fantasies for the future of
> Ecasound and SuperEcasound? What kind of things would you like to see
> in a lisp-based/emacs-based ecasound application?
> I would like to implement some basic workflow abstractions in Lisp
> that are reduced to basic ecasound primitives like inputs, chains,
> chain ops. Then I will implement basic user interfaces for these
> (possibly using CellMode for Emacs:
> http://dto.freeshell.org/notebook/CellMode.html )
>
> Some details:
>
> - A "session" is a directory with .wav, .ecs, .ewf and a lisp
> metadata file
> - A "take" is a single timestamped recording (i.e. a wav file)
> - A "clip" is a section of a take (i.e. defined by ewf)
> - A "track" does the following:
> - sequences clips for playback
> - determines input and output when record-enabled
> - adds effect processing to all clips within the track
> - Recording creates N takes where there are N record-enabled tracks
> - Easy jack connection interface
This seems like a great start.
Any generalized work you do will probably support a
simpler, smaller feature set for those of us with more
pedestrian needs.
Since everyone's "pedestrian" needs are different,
everyone who meets Ecasound seems to want to build
their own custom interface. I am no exception.
Perhaps you'll be interested in the templating system I have
used in generating chain setups.
I wanted to build up multitrack recordings by one or more
tracks at a time, easily, being able to toggle any 'track'
between record and playback mode for a given recording
effort, to apply effects, either as processing for a live
performance or on a recorded track.
As a rather ordinary bear, I made a pile of Perl code
that does much of this using Tk for the user interface.
You can check it out at:
My 'tracks' are names associated with:
- zero or more numbered .wav files
- effects that can controlled by sliders or numerical entry
- chains for raw and effects-processed ("cooked") signals
I have GUI buttons controlling a set of templates that route
the _raw_ and _cooked_ and _mixed_ sound signals from/to files
and output devices using loop devices as necessary.
In general there is a signal flow
raw->cooked->mixed
A more general solution than mine would allow JACK
connections at any node in this graph. I made some
simplifying assumptions that keep my head (and code) from
exploding.
The templates seem kind of 'lispy' (in my foggy conception of
lisp) as they are abstract and powerful and simple, and
because they operate in building up lists.
The processing to generate a chain setup works like this:
Evaluate the REC/MON status of each track
Build lists of inputs and outputs by applying templates to
each track, associating chain ids with files and devices.
Use the templates to build lists of chain_ids ("customers")
for cooked and mixed signals
Rewrite the lists to eliminate unnecessary loop devices
in cases where there are no customers for the
cooked and mixed signals
Write the chain setup from the input/output lists
All effects processing I apply afterwards using IAM commands.
Each template consists of:
template name
template target (rec tracks, mon tracks, or all tracks)
prefix for chain ids created by this template
output (device_name, file or loop)
signal type (raw, cooked or mixed)
pre-output processing subroutine
Thanks for reading, hope you find this interesting.
-- Joel Roth ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Ecasound-list mailing list Ecasound-list@email-addr-hidden https://lists.sourceforge.net/lists/listinfo/ecasound-listReceived on Wed Jan 24 04:15:01 2007
This archive was generated by hypermail 2.1.8 : Wed Jan 24 2007 - 04:15:01 EET