DAE The digital audio editor
(C) copyright Meraka Institute, CSIR
EMAIL: wvdwalt@csir.co.za

*******************************************************************************

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.  See the GNU General Public License for more details (file
COPYING in the root directory).

You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 675 Mass
Ave, Cambridge, MA 02139, USA.

*******************************************************************************

The purpose of this program is to allow for the editing of digital audio
files from a text-base application in a user-friendly manner.
Among the very few open-source programs that claim to perform this task, I
could find only two that was still actively maintained and compiled under a
modern Linux system.  These were ecasound and wedit.
The text-based interface of ecasound is quite accessible, but not user
friendly at all.  It is a direct interface to the ecasound library.  Wedit,
an audio editor written by a blind man some years ago, is more user-friendly
but did not have all the functions required to make editing of audio files
usable in a real time environment like a lecture/presentation.

Ecasound has application programming interfaces (APIs) for
 a number of languages.
I first developed the editor using the PERL api, but
ended up using ecasound and its python API for the development of DAE.

 

The idea was to keep the function of the editor as close to that of a
conventional analog tape recorder, but with at least the following
additional functions.
1.  The ability to delete a marked passage from the audio,
2.  The ability to insert either from an existing file or by recording
through a microphone, into the middle of an audio file,
3.  The ability to copy a marked passage out to another audio file.

Verifying that a marked audio block is correct is done by playing the marked
passage.  Doing anything with digital audio files except playing them, even
with the graphical tools, seem to assume some knowledge of audio file
formats.  As the potential users of DAE are unlikely to have that knowledge,
it was required to screen the user from that detail.
This is done by automatically converting all formats to that of the file
being edited.

Technical detail
DAE is written in python and requires a number of other applications to be
installed.
1.  Ecasound and its library as well as python.
    Currently ecasound needs to be compiled with libsamplerate support. 
Libsamplerate is a separate package used for changing the sample rate of
audio files.
2.  Lame, mpg123, ogg123 and oggenc for mp3 and ogg-vorbis support.
3.  Dae currently calls pickafile for selecting files, but that requirement
could be removed.  Pickafile is a text-based file browser which forms part
of the Kies package, but it is included in the dae package for your
conveniance.  Pickafile requires a small program called getterm which is
also included with dae.
    Dae also requires catchkey, part of the kies package for processing the
keystrokes.  A copy of catchkey is also included with dae.



Like most programs of this nature, DAE is a bit of a disk space glutton
A copy of the file being edited is made on startup to serve as a backup. 
When inserting or deletion is done, work files are created which can also
potentially take up as much space as the original file.  When compressed
files, IE .mp3 or .ogg files are being edited, they are first decompressed
to a working file which cause the disk space requirement to go up even more.
Note that editing of compressed files is not yet supported in the current
python version of dae.

I have tested DAE on a 300 Megahertz processor PC with 256 MB ram using a
big CD quality file and it still worked.
Processing is noticeably slower on the slower machines.
