Re: [LAU] Any HW and SW based backing-band solutions?

From: Joel Roth <joelz@email-addr-hidden>
Date: Wed Apr 03 2013 - 12:18:08 EEST

Jostein Chr. Andersen wrote:
> Hi,

(snip)
 
> The second question is about a backing-band software: In addition to
> the main output, it's nice when everybody can have his own mix (mono
> is ok). I'm not aware of a good SW based backing-band solution for
> Linux, are you? Right now, I can only think about something like
> playing a multi-track from the command line, IE. SOX (one track for
> each monitoring plus one or two for mixer input). Programs like
> Audacity and Ardour can't be used here, they take to long time to
> load and are also a gigantic overkill for this usage. The song need
> to be triggered (IE. with help from a script) from the space bar by
> a finger or foot, and the next song must be ready for playing when
> the current one is finished. I will not have any problem to fix the
> command line/script solution by myself.
>
> Any thoughts or solutions?

Hi Jostein,

(After writing this I see Julien mentioned Nama in his
response to your previous posting. Here's a little more
detail.)

Perhaps you'd like to play around with Nama,[1] which does
much of what you've asked for. It is lightweight, hackable,
runs under JACK or ALSA, and you can start/stop the transport
with the spacebar. :-) Ecasound does all the heavy lifting.

To provide mixes for individual musicians, there is a
feature called 'send buses'. When you create a send bus,
every track in the Main (default) bus gets copied, and all
their output gets sent to the destination (soundcard
channel or JACK client) you specify.

You would need to create a send bus for each performer.

nama> add_send_bus_cooked Jostein 5 # sends to soundcard channel 5
                                    # or 5,6 for a stereo signal

In this example, the ordinary track 'drums' would become
'Jostein_drums'.

You can adjust the level of each of the slave tracks
in a send bus without affecting the original tracks.
That's how each musician gets her own mix.

nama> Jostein_drums vol - 5

There are two types of send buses: one sends the raw
track input, the other sends the "cooked"
(effects-processed) signals.

Unlike ordinary sub-buses, send buses do not (currently)
have a mix track. That was chosen to avoid the delay of an
extra Ecasound loopback device in the network. To adjust
the overall level in software you could do this:

nama> for Jostein; vol + 3

which increases the volume by 3 db for each track in the
Jostein bus.

What we would have to hack up is some kind of playlist
functionality. The backing tracks could live in a separate
project, and could be linked in turn to a dummy track in the
current project. I think that would be pretty easy (although
it's always a bit of work when you have a new mode to switch
in and out of.)

If you were just monitoring your musicians, you'd
need to get the live signals, but then disable
recording to disk.

nama> for Main; rec; rec_defeat

Then you'd just have to reset the backing track to MON
(which the above command would have toggled to REC.)

nama> backing mon # note that the track name (if needed) always goes first

If you now decide you want to record your musicians:

nama> for Main; rec_enable

If you want to play them all back:

nama> for Main; mon # usually happens automatically after recording

To disable all tracks of the send bus:

nama> for Jostein; off

That's how it goes. We try to follow the perlish philosophy
of making easy things easy, hard things possible,
and digesting (or swallowing whole) any other software
or CS goodness that can help. :-)

Regards,

Joel

1. https://freeshell.de/~bolangi/cgi1/nama.cgi/00home.html
   https://github.com/bolangi/nama

> Jostein

-- 
Joel Roth
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-user
Received on Wed Apr 3 12:15:04 2013

This archive was generated by hypermail 2.1.8 : Wed Apr 03 2013 - 12:15:04 EEST