Re: [ecasound] ecasound and lua?

From: Joel Roth <joelz@email-addr-hidden>
Date: Wed Jul 14 2010 - 00:29:13 EEST

On Tue, Jul 13, 2010 at 12:07:01PM +0200, Philipp ??berbacher wrote:
> Excerpts from Joel Roth's message of 2010-07-12 13:56:40 +0200:
> > I chose Ecasound (and later writing a front-end for it) due
> > to my simple requirements, and due to instabilities at the
> > time with Ardour. Just installing all the libraries to build
> > Ardour took weeks!
> Wow, when was that?

Some years back already.

> I only came in contact with it right at the
> beginning of the 2.* series, but didn't build it immediately myself.
> Back then I was using ubuntu and derivatives. I believe ardour was one
> of the first Programs I built from source, and it wasn't too hard.

> > Ecasound is _very_ mature. Since my project targets the
> > Ecasound ECI API, it's almost completely independent
> > of Ecasound's internals. That separation of concerns
> > helps Nama be relatively simple.
> This sounds like a sensible thing. I'm looking forward to try nama.
> > Please try 'preset-register', the command that failed here,
> > directly from within Ecasound.
> $ ecasound -c
> **************************************************************************
> * ecasound v2.7.1 (C) 1997-2009 Kai Vehmanen and others
> **************************************************************************
> (eca-chainsetup) Chainsetup "untitled-chainsetup"
> (eca-session) NOTE: Unable to create a valid chainsetup from the command-line arguments.
> ecasound ('h' for help)> preset-register
> (eca-control) Registered effect presets:
> (eca-object-factory) ERROR: Unable to find LADSPA plugin "1205"
> (audiofx_misc) WARNING! Shift-% must be greater than 12.50%! Limiting to the low-limit.
> 1. dyn_compress_brutal, -pn:dyn_compress_brutal:gain-%
> 2. dyn_compress_hard, -pn:dyn_compress_hard:gain-%
> 3. dyn_compress_infinite, -pn:dyn_compress_infinite:gain-%
> ..
> Seems like there's some problem with one of the plugins, maybe nama
> doesn't like that? I have yet to find the package that contains that
> plugin.

One of Ecasound's default presets requires LADSPA plugin.
You don't need this for Ecasound to run correctly.
> > Most likely, my regular expression is failing.
> > Unfortunately, my debugging code doesn't list the
> > unparsed return string. :-(
> >
> > I'll put in a fix into the git version, if you'd like
> > to download and build from there.
> I do get errors after running ./build:
> Can't locate Text/ in @INC (@INC contains: /usr/lib/perl5/site_perl/5.10.1 /usr/share/perl5/site_perl/5.10.1 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl /usr/lib/perl5/current /usr/lib/perl5/site_perl/current .) at ./preproc line 18.

To build you need to install the perl module Text::Template.

> > > > To get quickest satisfaction, :-) try installing
> > > > Audio::Ecasound. That will be automatically used,
> > > > bypassing Net-ECI.
> >
> > I still recommend this.
> It's done.

Nama will default to using libecasoundc (via Audio::Ecasound).

To test for the bug in Nama's Net-ECI interface, start
Nama with the -n flag.
> > > Can't chdir('~/audio-projects/nama'): No such file or directory at /usr/share/perl5/vendor_perl/Audio/ line 1065
> >
> > Probably you should try using /home/username/audio-projects
> > in .namarc.
> Ha, wouldn't have thought about that, but it works! Nama starts!

Thanks to your discovery (and my fix), you can now use ~/audio-projects
in .namarc.

You'll need to pull the latest version.
> It seems to parse -g, but the gui doesn't start and I don't see an
> error. I do have tk installed: tk 8.5.8

For the GUI to work, you need to install perl's Tk module.
That is different from the standalone tk.

The GUI adds a bit of convenience, and is sufficient
for the basic recording and effects processing you're
interested in.

> > > > By the way, what kinds of signal processing would
> > > > you be wanting to do with Ecasound?
> > >
> > > Mainly simple recording, and for that there are lots of choices. I
> > > started to learn playing the piano only two years ago, I'm still very
> > > bad at it, but it's fun to record a few songs and give them away as
> > > little presents. Last time I did this with Traverso, but I could have
> > > easily done it in ecasound as well, since I didn't overdub at all.
> > > For that, maybe normalization, a little reverb and fade out of the
> > > track is likely enough. It would be nice to have such a CD ready in
> > > about two weeks, I'll try to use ecasound this time.
> > > Everything else I did or want to do is pretty much experimental, but
> > > still just recording and effects processing.
> > >
> > > I hope that ecasound can serve as a stable basis for those recording
> > > needs, and I hope that my frontend will give me just the features I
> > > want. Besides that, I hope it will be fun to write. Actually it already
> > > is, despite not a single line written :)
> >
> > You should be able to use naked Ecasound to accomplish what
> > you like, although it may take a bit of fiddling to learn
> > how to do it efficiently.
> I learn a bit of bare ecasound, to see what it's capable of and how it
> works. There are still a lot of open questions.

It does take some time to get aquainted. That was
one motivation that spurred me to write Nama.
> > Nama is trying to fill that niche and has the advantage of
> > quite a bit of cumulative development effort. :-)

> Thanks for looking into that. I'm looking forward to using nama. I would
> probably nick the one or the other thing from nama, but I heard that
> perl is pretty much a write-only language :)

You can write write-only code in any language :-)

And you _can_ write readable code in perl.

The Nama codebase has grown to about 10,000 lines.
Seems like a lot just to do simple recording, doesn it?
I started writing procedural code, and gradually
introduced OO, which has made it possible to handle
all the complexity.

> Well, the quest goes on :)

Yes, my aim was to create something that people could
install and have it *just work*. I think I'm getting
closer. :-)

The command language is relatively simple.
To record a single from soundcard channel 1:

        create test_project
        add piano



> --
> Regards,
> Philipp

Joel Roth
This email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit --
Ecasound-list mailing list
Received on Wed Jul 14 04:15:01 2010

This archive was generated by hypermail 2.1.8 : Wed Jul 14 2010 - 04:15:01 EEST