[ecasound] FutureEcaSound: automating my workflow with Lisp

From: David O'Toole <dto@email-addr-hidden>
Date: Tue Jan 23 2007 - 17:26:31 EET

I am getting into ecasound, and I would like to start up the old
"SuperEcasound" discussion that happened on the list wayyyy back.

I have used Ardour a lot the last year or so, and have built up many
hours of sessions. However I'm realizing a few things about my usage
of ardour:

 1. I hardly use anything beyond the very basics of ardour's
    feature-set. Our band's style is about capturing the music as it
    happens, and throwing away whole takes if it doesn't work. I have
    no use for punch-in/punch out, really complex automations, or
    sequencing of loops (i.e. Ableton Live type stuff.)

 2. Paradoxically, I want to do more than Ardour can :-). I want to
    easily mix command-line batch processing tools (like
    "soundmosaic") with automated multitrack processing... I have
    become interested in the dialogue between live improvisation and
    "process music" (i.e. two ends of a spectrum)

 3. Ardour can be very frustrating. Switching to the development
    version (ardour2) helped with the crashes, but its interface is
    very non-scriptable and just doesn't suit my personal taste.

Playing with ecasound's Emacs Lisp interface has made me decide to
develop some Lisp tools for automating my workflow and for creating
new possibilities by integration with other tools (Snd, Common Lisp
Music, soundmosaic, etc)

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?

Here are some of my thoughts on the basic design. I've only been
experimenting with ecasound a little bit, so forgive me if the ideas
are dumb.

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
Some links:

my hardware setup: http://dto.freeshell.org/notebook/KarmaPod.html
some audio ramblings: http://dto.freeshell.org/notebook/ClFrame.html
some music we made: http://dto.freeshell.org/notebook/Excelsis.html

David O'Toole 
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
Ecasound-list mailing list
Received on Tue Jan 23 20:15:05 2007

This archive was generated by hypermail 2.1.8 : Tue Jan 23 2007 - 20:15:05 EET