Nama is a multitrack recording application based on
Kai Vehmanen's Ecasound with text and graphic interfaces.
It can work with ALSA or JACK.
Although many Nama users end up building from github,
this release to CPAN allows prospective users to install
it with a simple incantation.
We're naming this release to honor our brother Julien,
whose tireless testing, bug reports, feature requests and
documentation-writing have helped make Nama what it is
I'd also like to shout a thanks to newer users who've
contributed, especially Raphaël Mouneyres, who suggested
improvements to the track record/play settings and text-mode
display, along with many reports and suggestions.
The following are recent features, new and improved:
## Hyphens in Commands
Nama now accepts hyphens in command names: Both
"find_effect" and "find-effect" are acceptable (in addition
to the usual shortcut "fe".)
## Hot keys
The hotkey mode supports arbitrary bindings. The default
mapping provides for changing the selected track, effect,
parameter, stepsize and increment/decrement. You switch
from command mode to hotkey mode with "#" and back to
command mode with ESC.
Sequences have been implemented as a special type of bus
that plays its member clips (tracks) one after another, and
allows for spacing or overlap between clips.
These can be used to provide each musician with her own mix
for live monitoring, and can use either the raw track source
or the effects-processed track output.
## Track Modes
Track modes have been revised to REC/MON/PLAY/OFF,
set by the corresponding commands (in lower case). Note
that "off" (do not route track audio streams) is distinct
from "mute" (silence track audio output.)
+ use track source setting as track input
+ use track source setting as track input
+ record audio file to disk
+ use audio file from disk as track input
+ do not route track audio I/O
By default, REC, PLAY and MON settings route track audio
output for monitoring.
## Improved Track Listing
The example below shows a simple setup for recording
two audio files: sax_1.wav and synth_1.wav. The
signals are routed to the Main bus (the default), which
outputs to soundcard channels 1/2.
All files recorded in the same take get the same version
No. Name Status Source Destination Vol Pan
1 Master MON Main bus 1/2 0 50
2 Mixdown OFF -- -- -- --
3 sax REC v1 1 Main 0 50
4 synth REC v1 bristol Main 0 50
## Project management using Git
Each project has a git repository in which Nama stores the
entire project history. Nama automatically promotes each
named snapshot into a branch. This allows users to follow
multiple approaches to a project and return to any previous
Within each project we use a save / get
pattern similar to managing project state as files or
snapshots. Users benefit from version control technology
without having to study git or learn special commands.
Amazingly, the plain-jane Tk GUI still works, providing
functions of a basic harddisk recorder. Since all
diagnostics appear on the terminal (which is also available
for commands), the user is never slowed down by having to
close an information window or dialog box.
Nama provides rudimentary MIDI support via Midish, starting
a Midish process when configured with midish_enable: 1 in
.namarc. Midish commands can be issued at any time. For
convenience, Nama issues a save-to-file command to Midish on
## Preliminary OSC Support
This is a thin wrapper that accepts Nama commands
as OSC packets, and returns the results.
## Underlying Code
There have been many improvements.
Support for multiples engines has been added, which will in
future allow for monitor outputs to be kept "live"
continuously. (Currently Ecasound must be reconfigured when
changing routes for playing or recording audio.)
Effects code has been coverted to OO style, which is easier
to read and will allow for a change in underlying data
structure in future. Effects support was one of the first
parts of Nama to be written and was the last still written
in procedural style.
Live monitoring support was mentioned above. Latency
compensation is awaiting improvements the underlying JACK
interface library. MIDI tracks are planned.
Thanks to the Linux audio community and Nama users
for your support.
2. A distributed hosting system for perl libraries,
and acronym for Comprehensive Perl Archive Network
Perl was/is a hotbed for testing culture.
Modules I upload get built (smoke-tested) on
many different architectures, and are provided
a bug-tracking system.
3. cpanm Audio::Nama
+ Installs into $HOME/perl5 by default
with no special permissions required
+ However, you may need to install cpanm (c.f.
sudo cpan Audio::Nama
+ Installs under /usr/local/perl5 by default
5. All information relating to sound of the project except
for the audio files is stored in the file State.json.
Project data *not* under version control such as
track or version comments, effect chains, and
effect profiles is stored in
Aux.json, which can be blown away without affecting the
Joel Roth, Nama Animator
Linux-audio-user mailing list