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