This is the command namap that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
PROGRAM:
NAME
Nama - digital audio workstation
SYNOPSIS
nama [options] [project_name]
DESCRIPTION
Nama performs multitrack recording, effects processing, editing, mixing, mastering, live
performance and general-purpose audio processing, using the Ecasound realtime audio
engine.
Audio Functionality
Audio projects may be developed using tracks, buses, effects, sends, inserts, marks,
regions, fades, sequences and edits. Each track may contain one or more WAV files, which
may be recorded or imported.
Effects processing by LADSPA, LV2 and Ecasound plugins may be performed in realtime, or
cached (e.g. frozen) to a file. The user may toggle between cached and dynamic processing
for a track. Audio regions may be altered, duplicated, time-shifted or replaced.
Nama supports MIDI functionality via midish.
Presets and templates
To facilitate reuse, a track's plugins and inserts can be stored as an effect chain.
Effect profiles and project templates provide templating for groups of tracks and entire
projects, respectively.
Audio framework
Audio IO is via JACK or ALSA. Soundcard IO is normally routed to JACK with transparent
fallback to ALSA.
Persistence
Project data parameters related to audio configuration are serialized as JSON and tracked
using Git when available. The entire project history is retained and may be managed using
branches and tags.
Nama supports Ladish Level 1 session handling.
User interfaces
Nama has fully featured terminal command prompt, a Tk GUI, and experimental OSC and
remote-command modes.
The command prompt accepts Nama commands, Ecasound interactive-mode commands, shell
commands and perl code.
It has command history and autocompletion. The help system provides documentation and
keyword search covering Nama commands and effects.
The hotkey mode provides a convenient way to select, view, and modify effect parameters.
By default, Nama displays a graphic user interface while the command processor runs in a
terminal window.
OPTIONS
--gui, -g Start Nama in GUI mode
--text, -t Start Nama in text mode
--config, -f
Specify configuration file (default: ~/.namarc)
--project-root, -d
Specify project root directory
--create-project, -c
Create project if it doesn't exist
--net-eci, -n
Use Ecasound's Net-ECI interface
--libecasoundc, -l
Use Ecasound's libecasoundc interface
--save-alsa, -a
Save/restore alsa state with project data
--help, -h This help display
Debugging options:
--no-static-effects-data, -s
Don't load effects data
--no-state, -m
Don't load project state
--no-static-effects-cache, -e
Bypass effects data cache
--regenerate-effects-cache, -r
Regenerate the effects data cache
--no-reconfigure-engine, -R
Don't automatically configure engine
--debugging-output, -D
Emit debugging information
--fake-jack, -J
Simulate JACK environment
--fake-alsa, -A
Simulate ALSA environment
--no-ecasound, -E
Don't spawn Ecasound process
--execute-command, -X
Supply a command to execute
CONTROLLING NAMA/ECASOUND
The Ecasound audio engine is configured through use of chain setups that specify the
signal processing network.
Nama serves as an intermediary, taking high-level commands from the user, generating
appropriate chain setups for user tasks such as recording, playback, mixing, etc., and
running the audio engine.
Configuration Commands
Configuration commands affect future runs of the audio engine. For example, rec, play,
mon and off determine whether the current track will get its audio stream from an external
(e.g. live) source, whether an existing WAV file will be played back, and whether a new
WAV file will be recorded. Nama responds to these commands by reconfiguring the engine and
displaying the updated track status. See 'man ::ChainSetup' for details on how the chain
setup created.
Realtime Commands
Once a chain setup is loaded and the engine is launched, commands can be issued to control
the realtime behavior of the audio processing engine. These commands include transport
"start" and "stop", playback repositioning commands such "forward", "rewind" and "setpos".
Effects may be added, modified or removed while the engine is running.
Configuration
General configuration of sound devices and program options is performed by editing the
.namarc file. On Nama's first run, a default version of .namarc is usually placed in the
user's home directory.
Tk GRAPHICAL UI
Invoked by default if Tk is installed, this interface provides a subset of Nama's
functionality on two windows:
Main Window
The top section has buttons for creating, loading and saving projects, adding tracks,
adding effects to tracks. In short, for setup.
Below are buttons for controlling the transport (start, stop and friends) and for setting
marks.
The GUI project name bar and time display change color to indicate whether the upcoming
operation will include live recording (red), mixdown (yellow) or playback (green).
Effects Window
The effects window provides sliders for each effect parameter of each track. Parameter
range, defaults, and log/linear scaling hints are automatically detected. Text-entry
widgets are used to enter parameters values for plugins without hinted ranges. Any
parameter label can be clicked to add a parameter controller.
Terminal Window
The command prompt is available in the terminal window during GUI operation. Text commands
are used to access Nama's more advanced functions.
TEXT USER INTERFACE
Press the Enter key if necessary to get the command prompt, which will look something like
this:
"nama sax ('h' for help)>"
In this instance, 'sax' is the current track.
When using buses, the bus is indicated before the track:
"nama Strings/violin ('h' for help)>"
At the prompt, you can enter Nama and Ecasound commands, Perl code preceded by "eval" or
shell code preceded by "!".
Multiple commands on a single line are allowed if delimited by semicolons. Usually the
lines are split on semicolons and the parts are executed sequentially, however if the line
begins with "eval" or "!" the entire line (up to double semicolons ';;' if present) will
be given to the corresponding interpreter.
You can access command history using up-arrow/down-arrow.
Type "help" for general help, "help command" for help with "command", "help foo" for help
with commands containing the string "foo". "help_effect foo bar" lists all
plugins/presets/controller containing both foo and bar. Tab-completion is provided for
Nama commands, Ecasound-iam commands, plugin/preset/controller names, and project names.
Many effects have abbreviations, such as 'afx' for 'add_effect'.
TRACKS
Each track has a descriptive name (i.e. vocal) and an integer track-number assigned when
the track is created. New user tracks initially belong to the Main bus.
Track output signals are usually mixed and pass through the Master track on the way to
soundcard for monitoring.
The following sections describes track attributes and their effects.
Width
Specifying 'mono' means the track has one input channel, which will be recorded as a mono
WAV file. Mono track signals are automatically duplicated to stereo and a pan effect is
provided.
Specifying 'stereo' for a track means that two channels of audio input will be recorded as
an interleaved stereo WAV file. You can also use a 'stereo' declaration to avoid the
automatic channel copy usually applied to single-channel sources.
Specifying N channels for a track ('set width N') means N successive input channels will
be recorded as an N-channel interleaved WAV file.
REC/PLAY/MON/OFF
Each track, including Master and Mixdown, has its own REC/MON/PLAY/OFF setting.
The MON setting means that the track source is connected to the track input, and the track
output is supplied for monitoring by the Main bus and other submixes if any.
The REC setting prepares the track is ready to record a WAV file.
The PLAY setting enqueues an audio file for playback from disk as the track source.
REC and PLAY settings also create the monitoring routes associated with MON status.
OFF setting tells Nama to remove the track from the audio network. OFF status also results
when no audio source is available. A track with no recorded WAV files will show OFF
status, even if set to PLAY.
Bus setting
Buses can force the status of their member tracks to OFF. Nama provides MON and OFF
settings for buses. OFF (set by "bus_off") removes all member tracks from the chain
setup, MON (set by "bus_mon" restores them.
The mixplay command sets the Mixdown track to PLAY and the Main bus to OFF.
Version Numbers
Multiple WAV files ("takes") can be recorded for each track. These are distinguished by a
version number that increments with each recording run, i.e. sax_1.wav, sax_2.wav, etc.
All WAV files recorded in the same run have the same version numbers.
The version numbers of files for playback can be selected at the bus or track level. By
setting the bus version to 5, you can play back version 5 of several tracks at once.
Version 5 could signify the fifth take of a song, or the fifth song of a live recording
session.
The track version setting, if present, overrides the bus setting. Setting the track
version to zero restores control of the version number to the bus.
The Main bus version setting does not currently propagate to other buses.
Marks
Marks in Nama are similar to those in other audio editing software. One limitation is that
mark positions are relative to the beginning of an Ecasound chain setup. If your project
involves a single track, and you will be shortening the stream by setting a region to
play, set any marks you need after defining the region.
Regions
The "region" command allows you to define endpoints for a portion of an audio file. You
can then use the "shift" command to move the region to the desired time position.
Each track can have one region definition. To create multiple regions, the "new_region"
command takes a pair of marks to create a read-only copy of the current track with the
specified region definition.
You can control this region as you would any other other track, applying effects,
adjusting volume, etc.
Currently, regions are not clipped out of their host track. This feature may be
implemented in future.
Using Tracks from Other Projects
The "link_track" clones a read-only track from another track, which may belong to a
different project.
Effects
Each track gets volume and pan effects by default. New effects added using "add_effect"
are applied before pan volume controls. You can position effects anywhere you choose
using "insert_effect" or "position_effect".
Fades
Nama allows you to place fades on any track. Fades are defined by mark position and
duration. An additional volume operator, -eadb, is applied to each track to host the
envelope controller that implements fades.
Sends and Inserts
The "send" command can route a track's post-fader output to a soundcard channel or JACK
client in addition to the normal mixer input. Nama currently allows one aux send per
track.
The "add_insert" command configures a pre- or post-fader send-and-return to soundcard
channels or JACK clients. Wet and dry signal paths are provided, with a default setting
of 100% wet.
Each track can have one pre-fader and one post-fader insert.
Bunches
A bunch is just a list of track names. Bunch names are used with the keyword "for" to
apply one or more commands to several tracks at once. A bunch can be created with the
"new_bunch" command. Any bus name can also be treated as a bunch. Finally, several system
defined bunches are available:
rec, mon, off
All tracks with the corresponding setting in the current bus
Buses
Sub Buses
Buses enable multiple tracks to be routed through a single mix track before feeding the
Main mixer bus (or possibly, another bus.)
The following commands create a bus and assign three tracks to it. The mix track takes the
name of the bus and is stereo by default.
# create a bus named Strings with a same-named mix track
add_bus Strings
# create tracks for the bus
add_tracks violin cello bass
# move the tracks from the Main bus (default) to the Strings bus
for violin cello bass; move_to_bus Strings
# use the mix track to control bus output volume
Strings vol - 10
Submixes
Submixes are a type of bus used to provide instrument monitors, or to send the outputs
from multiple user tracks to an external program such as jconverter.
ROUTING
General Notes
While Nama can address tracks by either name and track number, the chain setups use the
track number exclusively.
The Master track (mixer output control) is always chain 1, the Mixdown track is always
chain 2.
In single-engine mode, Nama uses Ecasound loop devices where necessary to connect two
tracks, or to allow one track to have multiple inputs or outputs. Each loop device adds
one buffer, which increases latency. In dual-engine mode, JACK ports are used for
interconnections instead of loop devices.
Flow Diagrams
The following diagrams apply to Nama's single-engine, mode. (The same topology is used in
dual-engine mode.)
Let's examine the signal flow from track 3, the first available user track. Assume track 3
is named "sax".
We will divide the signal flow into track and mixer sections. Parentheses show the track
number/name.
The stereo outputs of each user track terminate at Master_in, a loop device at the mixer
input.
Track, REC status
Sound device --+---(3)----> Master_in
/JACK client |
+---(R3)---> sax_1.wav
REC status indicates that the source of the signal is the soundcard or JACK client. The
input signal will be written directly to a file except in the special preview and doodle
modes, or if "rec_disable" is issued.
Track, MON status
sax_1.wav ------(3)----> Master_in
Mixer, with mixdown enabled
In the second part of the flow graph, the mixed signal is delivered to an output device
through the Master chain, which can host effects. Usually the Master track provides final
control before audio output or mixdown.
Master_in --(1)--> Master_out --+--------> Sound device
|
+-->(2)--> Mixdown_1.wav
Mastering Mode
In mastering mode (invoked by "master_on" and released "master_off") the following
network, receives the Master track signal as input and provides an output to the soundcard
or WAV file.
+- Low -+
| |
Master_in --- Eq --+- Mid -+--- Boost -> soundcard/wav_out
| |
+- High +
The Eq track hosts an equalizer.
The Low, Mid and High tracks each apply a bandpass filter, a compressor and a spatialiser.
The Boost track applies gain and a limiter.
These effects and their default parameters are defined in the configuration file .namarc.
Mixdown
The "mixdown" command configures Nama for mixdown. The Mixdown track is set to REC
(equivalent to "Mixdown rec") and the audio monitoring output is turned off (equivalent to
"Master off").
Mixdown proceeds after you start the transport.
As a convenience, Mixdown_nn.wav will be symlinked to <branch_name_nn.wav> in the project
directory. (If git is disabled or not available <project_name_nn.wav> is used instead.)
Corresponding encoded files are created if the "mixdown_encodings" option is set.
Acceptable values are a space-separated list. The default is "mixdown_encodings: ogg mp3".
The Preview and Doodle Modes, and the Eager Setting
These non-recording modes, invoked by "preview" and "doodle" commands tweak the routing
rules for special purposes. Preview mode disables recording of WAV files to disk. Doodle
mode disables PLAY inputs while excluding any tracks with the same source as a currently
routed track. The "arm" command releases both preview and doodle modes.
The eager setting causes the engine to start immediately following a reconfiguration.
These modes are unnecessary in Nama's dual-engine mode.
Saving Projects
The "save" command is the usual way to preserve your work.
When you type "save", Settings related to the state of the project are saved in the file
State.json in the current project directory. State.json is tracked by git.
"save" updates several other data files as well:
Aux.json, in the current project directory, contains data that is part of the project
(such as command history, track comments, and current operating modes) but with no direct
effect on the project audio.
global_effect_chains.json, in the project root directory, contains system and user defined
effect chains.
Save without Git
"save somename.json" will save project state to a file of that name. Similarly "get
somename.json" will load the corresponding file. The .json suffix may be omitted if
"use_git: 0" is set in .namarc.
Save with Git
When git is installed, Nama uses it to store snapshots of every step in the history of
your project.
While you can continue using the same "save" and "get" with snapshots, the underlying
version control gives them huge advantages over files: (1) they can sprout branches, (2)
they retain their history and (3) they are never overwritten.
When you type "save initial-mix", the latest snapshot is tagged with the name "initial-
mix", which you can recall later with the command "get initial-mix".
You can include a comment with the snapshot:
"save initial-mix "sounds good enough to send to the front office""
Nama lets you create new branches, starting at any snapshot.
To start a new branch called compressed-mix starting at a snapshot called initial-mix you
would say:
"new_branch compressed-mix initial-mix"
If you want to go back to working on the master branch, use "branch master".
You can also issue native git commands at the Nama prompt.
Git history example
All projects begin on the "master" branch. Because this is the default branch, it is not
displayed in the prompt. Otherwise "master" is not special in any way.
In the graphs below, the letters indicate named snapshots.
create test-project
...
save a
...
save b
...
save c
---a---b---c (master)
get a
...
save d
...
save e
...
save f
d---e---f (a-branch)
/
-----a----b---c (master)
Now, you want to go back to try something different at "c":
get c
...
save g
d---e---f (a-branch)
/
----a----b---c (master)
\
g (c-branch CURRENT HEAD)
You could also go back to master, and restart from there:
get master
...
save h
...
save i
d---e---f (a-branch)
/
----a----b---c---h---i (master CURRENT HEAD)
\
g (c-branch)
While the merging of branches may be possible, the function has not been tested.
Exiting
When you type "quit" Nama will automatically save your work to State.json. If you don't
want this behavior, use Ctrl-C to exit Nama.
Jack ports list file
Use source filename.ports to ask Nama to connect multiple JACK ports listed in a file
filename.ports to the input port(s) of that track.
If the track is stereo, ports from the list are alternately connected to left and right
channels.
Track edits
An edit consists of audio clips and data structures associated with a particular track and
version. The edit replaces part of the original WAV file, allowing you to fix wrong notes,
or substitute one phrase for another.
Each track can host multiple edits. Edits are non-destructive; they are achieved by using
Ecasound's ability to crossfade and sequence.
Select the track to be edited and the correct version.
Before creating the edit, you will now need to create three marks:
· play start point =item * rec start point =item * rec end point
The edit will replace the audio between the rec start and rec end points.
There are two ways to set these points.
set_edit_points command
Position the playback head a few seconds before the edit. Enter the set_edit_points
command. This will start the engine. Hit the P key three times to designate the playback
start, punch-in and punch-out positions.
Specify points individually
Position the playback head at the position you want playback for the edit to start. Enter
the set_play_start_mark command.
Use the same procedure to set the rec start and rec end positions using the
set_rec_start_mark and set_rec_end_mark commands.
Provide marks as arguments to new_edit (not implemented)
Type new_edit play_start_mark rec_start_mark rec_end_mark.)
Create the edit
Enter the new_edit command to create the necessary tracks and data structures.
Use preview_edit to confirm the edit positions. The engine will run and you will hear the
host track with the target region removed. Playback will be restricted to the edit region.
You may use preview_out to hear the clip to be removed.
Use list_marks to see the edit marks and modify_mark to nudge them into perfect position.
Once you are satisfied with the mark positions, you are ready to record your edit.
Enter start_edit. Playback will begin at first mark. The replacement clip will be recorded
from the source specified in the original track.
Each start_edit command will record an additional version on the edit track. redo_edit
will delete (destructively) the most recent audio clip and begin recording anew.
You may specify another range for editing and use the editing procedure again as many
times as you like. Edits may not overlap.
Merging edits
merge_edits will recursively merge all edits applied to the current track and version,
creating a new version.
I recommend that you merge edits when you are satisfied, with the results to protect your
edits against an accidental change in mark, region or version settings.
restore_edits acts on a merged version of the current track, selecting the prior unmerged
version with all edits and region definitions in "live" form. You may continue to create
new edits. TO BE IMPLEMENTED
list_edits will label the edits by index and time.
end_edit_mode will restore normal playback mode
destroy_edit Behind the scenes, the host track becomes the mix track to a bus. Sources for
the bus are the original audio track, and zero or more edits, each represented by one
track object.
REMOTE CONTROL
You can send now send commands from a remote process, and also get information back.
Understand that this code opens a remote execution hole.
In .namarc you need something like:
remote_control_port: 57000
Then Nama will set up a listener for remote commands.
The usual return value will be a single newline.
However, if you send an 'eval' command followed by perl code, the return value will be the
result of the perl code executed with a newline appended. If the result is a list, the
items will be joined by spaces into a single string.
If the result is an object or data structure, it will be returned in a serialized form.
For example, if you send this string:
eval $this_track->name
The return value will be the name of the current track.
TEXT COMMANDS
Help commands
help (h) - Display help on Nama commands.
help [ <integer:help_topic_index> | <string:help_topic_name> |
<string:command_name> ]
help marks # display the help category marks and all commands containing marks
help 6 # display help on the effects category help mfx # display help on
modify_effect - shortcut mfx
help_effect (hfx he) - Display detailed help on LADSPA or LV2 effects.
help_effect <string:label> | <integer:unique_id>
help_effect 1970 # display help on Fons Adriaensen's parametric EQ (LADSPA)
help_effect etd # prints a short message to consult Ecasound manpage, # where the
etd chain operator is documented. hfx lv2-vocProc # display detailed help on the
LV2 VocProc effect
find_effect (ffx fe) - Display one-line help for effects matching the search string(s).
find_effect <string:keyword1> [ <string:keyword2>... ]
find_effect compressor # List all effects containing "compressor" in their name or
parameters fe feedback # List all effects matching "feedback" # (for example a
delay with a feedback parameter)
General commands
exit (quit q) - Exit Nama, saving settings (the current project).
exit
memoize - Enable WAV directory caching, so Nama won't have to scan the entire project
folder for new files after every run. (default)
memoize
unmemoize - Disable WAV directory caching.
unmemoize
Transport commands
stop (s) - Stop transport. Stop the engine, when recording or playing back.
stop
start (t) - Start the transport rolling
start
rec # prepare the curent track to be recorded. start # Start the
engine/transport rolling (play now!) stop # Stop the engine, cleanup, prepare to
review
getpos (gp) - Get the current playhead position (in seconds).
getpos
start # Start the engine. gp # Get the current position of the playhead. Where
am I?
setpos (sp) - Set current playhead position (in seconds).
setpos <float:position_seconds>
setpos 65.5
forward (fw) - Move playback position forwards (in seconds).
forward <float:increment_seconds>
fw 23.7
rewind (rw) - Move playback position backwards (in seconds).
rewind <float:decrement_seconds>
rewind 6.5
to_start (beg) - Set the playback head to the start. A synonym for setpos 0.
to_start
to_end (end) - Set the playback head to end minus 10 seconds.
to_end
ecasound_start - Ecasound-only start. Nama will not monitor the transport. For diagnostic
use.
ecasound_start
ecasound_stop - Ecasound-only stop. Nama will not monitor the transport. For diagnostic
use.
ecasound_stop
restart_ecasound - Restart the Ecasound process. May help if Ecasound has crashed or is
behaving oddly.
restart_ecasound
preview (song) - Enter the preview mode. Configure Nama for playback and passthru of live
inputs without recording (for mic test, rehearsal, etc.)
preview
rec # Set the current track to record from its source. preview # Enter the
preview mode. start # Playback begins. You can play live, adjust effects,
# forward, rewind, etc. stop # Stop the engine/transport. arm #
Restore to normal recording/playback mode.
doodle (live) - Enter doodle mode. Passthru of live inputs without recording. No playback.
Intended for rehearsing and adjusting effects.
doodle
doodle # Switch into doodle mode. start # start the engine/transport running.
(fool around) stop # Stop the engine. arm # Return to normal mode, allowing
play and record to disk
Mix commands
mixdown (mxd) - Enter mixdown mode for subsequent engine runs. You will record a new mix
each time you use the start command until you leave the mixdown mode using "mixoff".
mixdown
mixdown # Enter mixdown mode start # Start the transport. The mix will be
recorded by the
# Mixdown track. The engine will run until the
# longest track ends. (After mixdown Nama places
# a symlink to the WAV file and possibly ogg/mp3
# encoded versions in the project directory.) mixoff # Return to the
normal mode.
mixplay (mxp) - Enter Mixdown play mode, setting user tracks to OFF and only playing the
Mixdown track. Use "mixoff" to leave this mode.
mixplay
mixplay # Enter the Mixdown play mode. start # Play the Mixdown track. stop
# Stop playback. mixoff # Return to normal mode.
mixoff (mxo) - Leave the mixdown or mixplay mode. Sets Mixdown track to OFF, user tracks
to MON.
mixoff
automix - Normalize track volume levels and fix DC-offsets, then mixdown.
automix
master_on (mr) - Turn on the mastering mode, adding tracks Eq, Low, Mid, High and Boost,
if necessary. The mastering setup allows for one EQ and a three-band multiband compression
and a final boosting stage. Using "master_off" to leave the mastering mode.
master_on
mr # Turn on master mode. start # Start the playback.
# Now you can adjust the Boost or global EQ. stop # Stop the engine.
master_off (mro) - Leave mastering mode. The mastering network is disabled.
master_off
Track commands
add_track (add new) - Create a new audio track.
add_track <string:name>
add_track clarinet # create a mono track called clarinet with input # from
soundcard channel 1.
add_tracks - Create one or more new tracks in one go.
add_tracks <string:name1> [ <string:name2>... ]
add_tracks violin viola contra_bass
add_midi_track (amt) - Create a new MIDI track.
add_midi_track <string:name>
link_track (link) - Create a read-only track, that uses audio files from another track.
link_track [<string:project_name>] <string:track_name> <string:link_name>
link my_song_part1 Mixdown part_1 # Create a read-only track "part_1" in the
current project # using files from track "Mixdown" in project "my_song_part_1". #
link_track compressed_piano piano # Create a read-only track "compressed_piano"
using files from # track "piano". This is one way to provide wet and dry #
(processed and unprocessed) versions of same source. # Another way would be to
use inserts.
import_audio (import) - Import a sound file (wav, ogg, mp3, etc.) to the current track,
resampling it if necessary. The imported file is set as current version.
import_audio <string:full_path_to_file> [ <integer:frequency> ]
import /home/samples/bells.flac # import the file bells.flac to the current track
import /home/music/song.mp3 44100 # import song.mp3, specifying the frequency
set_track - Directly set current track parameters (use with care!).
set_track <string:track_field> <value>
record (rec) - Set the current track to record its source. Creates the monitoring route
if necessary. Recording to disk will begin on the next engine start. Use the "mon" or
"off" commands to disable recording.
record
rec # Set the current track to record. start # A new version (take) will be
written to disk, # creating a file such as sax_1.wav. Other tracks # may be
recording or playing back as well. stop # Stop the recording/playback,
automatically enter playback mode
play - Set the current track to playback the currently selected version. Creates the
monitoring route if necessary. The selected audio file will play the next time the engine
starts.
play
mon - Create a monitoring route for the current track at the next opportunity.
mon
off - Remove the monitoring route for the current track and all track I/O at the next
opportunity. You can re-include it using "mon", "play" or "rec" commands.
off
source (src r) - Set the current track's input (source), for example to a soundcard
channel, or JACK client name
source <integer:soundcard_channel> | <string:jack_client_name> |
<string:jack_port_name> <string:jack_ports_list> | | <string:track_name> |
<string:loop_id> | 'jack' | 'null'
source 3 # Take input from soundcard channel 3 (3/4 if track is stereo) # source
null # Track's input is silence. This is useful for when an effect such # as a
metronome or signal generator provides a source. # source LinuxSampler # Record
input from the JACK client named LinuxSampler. # source synth:output_3 # record
from the JACK client synth, using the # port output_3 (see he jackd and jack_lsp
manpages # for more information). # source jack # This leaves the track input
exposed as JACK ports # such as Nama:sax_in_1 for manual connection. # source
kit.ports # The JACK ports listed in the file kit.ports (if it exists) # will be
connected to the track input. # # Ports are listed pairwise in the .ports files
for stereo tracks. # This is convenient for use with the Hydrogen drumkit, #
whose outputs use one JACK port per voice.
send (aux) - Set an aux send for the current track. Remove sends with remove_send .
send <integer:soundcard_channel> | <string:jack_client_name> | <string:loop_id>
send 3 # Send the track output to soundcard channel 3. send jconvolver # Send the
track output to the jconvolver JACK client.
remove_send (nosend noaux) - Remove aux send from the current track.
remove_send
stereo - Configure the current track to record two channels of audio
stereo
mono - Configure the current track to record one channel of audio
mono
set_version (version ver) - Select a WAV file, by version number, for current track
playback (Overrides a bus-level version setting)
set_version <integer:version_number>
piano # Select the piano track. version 2 # Select the second recorded
version sh # Display information about the current track
destroy_current_wav - Remove the currently selected recording version from the current
track after confirming user intent. This DESTRUCTIVE command removes the underlying audio
file from your disk. Use with caution.
destroy_current_wav
list_versions (lver) - List WAV versions of the current track. This will print the
numbers.
list_versions
list_versions # May print something like: 1 2 5 7 9
# The other versions might have been deleted earlier by you.
vol (v) - Change or show the current track's volume.
vol [ [ + | - | / | * ] <float:volume> ]
vol * 1.5 # Multiply the current volume by 1.5 vol 75 # Set the current volume
to 75
# Depending on your namarc configuration, this means
# either 75% of full volume (-ea) or 75 dB (-eadb). vol - 5.7 #
Decrease current volume by 5.7 (percent or dB) vol # Display the volume
setting of the current track.
mute (c cut) - Mute the current track by reducing the volume parameter. Use "unmute" to
restore the former volume level.
mute
unmute (nomute C uncut) - Restore previous volume level. It can be used after mute or
solo.
unmute
unity - Set the current track's volume to unity. This will change the volume to the
default value (100% or 0 dB).
unity
vol 55 # Set volume to 55 unity # Set volume to the unity value. vol #
Display the current volume (should be 100 or 0,
# depending on your settings in namarc.)
solo (sl) - Mute all tracks but the current track or the tracks or bunches specified. You
can reverse this with nosolo.
solo [ <strack_name_1> | <string:bunch_name_1> ] [ <string:track_name_2 |
<string:bunch_name_2> ] ...
solo # Mute all tracks but the current track. nosolo # Unmute all tracks,
restoring prior state. solo piano bass Drums # Mute everything but piano, bass
and Drums.
nosolo (nsl) - Unmute all tracks which have been muted by a solo command. Tracks that had
been muted before the solo command stay muted.
nosolo
all - Unmute all tracks that are currently muted
all
piano # Select track piano mute # Mute the piano track. sax # Select the track
sax. solo # Mute other tracks nosolo # Unmute other tracks (piano is still
muted) all # all tracks play
pan (p) - Change or display the current panning position of the current track. Panning is
moving the audio in the stereo panorama between right and left. Position is given in
percent. 0 is hard left and 100 hard right, 50% is dead centre.
pan [ <float:pan_position_in_percent> ]
pan 75 # Pan the track to a position between centre and hard right p 50 # Move
the current track to the centre. pan # Show the current position of the track
in the stereo panorama.
pan_right (pr) - Pan the current track hard right. this is a synonym for pan 100. Can be
reversed with pan_back.
pan_right
pan_left (pl) - Pan the current track hard left. This is a synonym for pan 0. Can be
reversed with pan_back.
pan_left
pan_center (pc) - Pan the current track to the centre. This is a synonym for pan 50. Can
be reversed with pan_back.
pan_center
pan_back (pb) - Restore the current track's pan position prior to pan_left, pan_right or
pan_center commands.
pan_back
show_tracks (lt show) - Show a list of tracks, including their index number, volume, pan
position, recording status and source.
show_tracks
show_tracks_all (sha showa) - Like show_tracks, but includes hidden tracks as well. Useful
for debugging.
show_tracks_all
show_bus_tracks (ltb showb) - Show a list of tracks in the current bus.
show_bus_tracks
show_track (sh -fart) - Display full information about the current track: index, recording
status, effects and controllers, inserts, the selected WAV version, and signal width
(channel count).
show_track
Setup commands
show_mode (shm) - Display the current record/playback mode. this will indicate the mode
(doodle, preview, etc.) and possible record/playback settings.
show_mode
Track commands
show_track_latency (shl) - Display the latency information for the current track.
show_track_latency
Diagnostics commands
show_latency_all (shla) - Dump all latency data.
show_latency_all
Track commands
set_region (srg) - Specify a playback region for the current track using marks. Can be
reversed with remove_region.
set_region <string:start_mark_name> <string:end_mark_name>
sax # Select "sax" as the current track. setpos 2.5 # Move the
playhead to 2.5 seconds. mark sax_start # Create a mark sp 120.5 # Move
playhead to 120.5 seconds. mark sax_end # Create another mark set_region
sax_start sax_end # Play only the audio from 2.5 to 120.5 seconds.
add_region - Make a copy of the current track using the supplied a region definition. The
original track is untouched.
add_region <string:start_mark_name> | <float:start_time> <string:end_mark_name> |
<float:end_time> [ <string:region_name> ]
sax # Select "sax" as the current track. add_region sax_start 66.7 trimmed_sax #
Create "trimmed_sax", a copy of "sax" with a region defined # from mark
"sax_start" to 66.7 seconds.
remove_region (rrg) - Remove the region definition from the current track. Remove the
current track if it is an auxiliary track.
remove_region
shift_track (shift playat pat) - Choose an initial delay before playing a track or region.
Can be reversed by unshift_track.
shift_track <string:start_mark_name> | <integer:start_mark_index |
<float:start_seconds>
piano # Select "piano" as current track. shift 6.7 # Move the start of track
to 6.7 seconds.
unshift_track (unshift) - Restore the playback start time of a track or region to 0.
unshift_track
modifiers (mods mod) - Add/show modifiers for the current track (man ecasound for
details). This provides direct control over Ecasound track modifiers It is not needed for
normal work.
modifiers [ Audio file sequencing parameters ]
modifiers select 5 15.2 # Apply Ecasound's select modifier to the current track.
# The usual way to accomplish this is with a region definition.
nomodifiers (nomods nomod) - Remove modifiers from the current track.
nomodifiers
normalize (ecanormalize) - Apply ecanormalize to the current track version. This will
raise the gain/volume of the current track as far as possible without clipping and store
it that way on disk. Note: this will permanently change the file.
normalize
fixdc (ecafixdc) - Fix the DC-offset of the current track using ecafixdc. Note: This will
permanently change the file.
fixdc
autofix_tracks (autofix) - Apply ecafixdc and ecanormalize to all current versions of all
tracks, set to playback (MON).
autofix_tracks
remove_track - Remove the current track with its effects, inserts, etc. Audio files are
unchanged.
remove_track
Bus commands
bus_mon (bmon) - Set the current bus mix_track to monitor (the default behaviour).
bus_mon
bus_off (boff) - Set current bus mixtrack to OFF. Can be reversed with bus_rec or bus_mon.
bus_off
Group commands
bus_version (bver gver) - Set the default monitoring version for tracks in the current
bus.
bus_version
add_bunch (abn) -
add_bunch <string:bunch_name> [ <string:track_name_1> | <integer:track_index_1> ]
...
add_bunch strings violin cello bass # Create a bunch "strings" with tracks violin,
cello and bass. for strings; mute # Mute all tracks in the strings bunch. for
strings; vol * 0.8 # Lower the volume of all tracks in bunch "strings" by a # a
factor of 0.8.
list_bunches (lbn) - Display a list of all bunches and their tracks.
list_bunches
remove_bunch (rbn) - Remove the specified bunches. This does not remove the tracks, only
the grouping.
remove_bunch <string:bunch_name> [ <string:bunch_name> ] ...
add_to_bunch (atbn) - Add track(s) to an existing bunch.
add_to_bunch <string:bunch_name> <string:track1> [ <string:track2> ] ...
add_to_bunch woodwind oboe sax flute
Project commands
commit (ci) - Commit Nama's current state
commit <string:message>
tag - Git tag the current branch HEAD commit
tag <string:tag_name> [<string:message>]
branch (br) - Change to named branch
branch <string:branch_name>
list_branches (lb lbr) - List branches
list_branches
new_branch (nbr) - Create a new branch
new_branch <string:new_branch_name> [<string:existing_branch_name>]
save_state (keep save) - Save the project settings as file or git snapshot
save_state [ <string:settings_target> [ <string:message> ] ]
get_state (get recall retrieve) - Retrieve project settings from file or snapshot
get_state <string:settings_target>
list_projects (lp) - List all projects. This will list all Nama projects, which are stored
in the Nama project root directory.
list_projects
new_project (create) - Create or open a new empty Nama project.
new_project <string:new_project_name>
create jam
load_project (load) - Load an existing project. This will load the project from the
default project state file. If you wish to load a project state saved to a user specific
file, load the project and then use get_state.
load_project <string:existing_project_name>
load my_old_song
project_name (project name) - Display the name of the current project.
project_name
new_project_template (npt) - Make a project template based on the current project. This
will include tracks and busses.
new_project_template <string:template_name> [ <string:template_description> ]
new_project_template my_band_setup "tracks and busses for bass, drums and me"
use_project_template (upt apt) - Use a template to create tracks in a newly created, empty
project.
use_project_template <string:template_name>
apt my_band_setup # Will add all the tracks for your basic band setup.
list_project_templates (lpt) - List all project templates.
list_project_templates
destroy_project_template - Remove one or more project templates.
destroy_project_template <string:template_name1> [ <string:template_name2> ] ...
Setup commands
generate (gen) - Generate an Ecasound chain setup for audio processing manually. Mainly
useful for diagnostics and debugging.
generate
arm - Generate and connect a setup to record or playback. If you are in dodle or preview
mode, this will bring you back to normal mode.
arm
arm_start (arms) - Generate and connect the setup and then start. This means, that you can
directly record or listen to your tracks.
arm_start
connect (con) - Connect the setup, so everything is ready to run. Ifusing JACK, this
means, that Nama will connect to all the necessary JACK ports.
connect
disconnect (dcon) - Disconnect the setup. If running with JACK, this will disconnect from
all JACK ports.
disconnect
show_chain_setup (chains) - Show the underlying Ecasound chain setup for the current
working condition. Mainly useful for diagnostics and debugging.
show_chain_setup
loop (l) - Loop the playback between two points. Can be stopped with loop_disable
loop <string:start_mark_name> | <integer:start_mark_index> |
<float:start_time_in_secs> <string:end_mark_name> | <integer:end_mark_index> |
<float:end_time_in_secs>
loop 1.5 10.0 # Loop between 1.5 and 10.0 seconds. loop 1 5 # Loop between marks
with indeices 1 and 5, see list_marks. loop sax_start 12.6 # Loop between mark
sax_start and 12.6 seconds.
noloop (nl) - Disable looping.
noloop
Effect commands
add_controller (acl) - Add a controller to an effect (current effect, by default).
Controllers can be modified by using mfx and removed using rfx.
add_controller [ <string:operator_id> ] <string:effect_code> [ <float:param1>
<float:param2> ] ...
add_effect etd 100 2 2 50 50 # Add a stero delay of 100ms. # the delay will get
the effect ID E . # Now we want to slowly change the delay to 200ms. acl E klg 1
100 200 2 0 100 15 200 # Change the delay time linearly (klg)
add_effect (afx) - Add an effect
add_effect [ (before <fx_alias> | first | last ) ] <fx_alias> [ <float:param1>
<float:param2>... ] "before", "first" and "last" can be abbreviated "b", "f" and
"l", respectively.
We want to add the decimator effect (a LADSPA plugin). help_effect decimator #
Print help about its paramters/controls.
# We see two input controls: bitrate and samplerate afx
decimator 12 22050 # prints "Added GO (Decimator)" # We have added the decimator
with 12bits and a sample rate of 22050Hz. # GO is the effect ID, which you will
need to modify it.
add_effect_last (afxl) - Same as add-effect last
add_effect_last <fx_alias> [ <float:param1> <float:param2>... ]
add_effect_first (afxf) - Same as add-effect first
add_effect_first <fx_alias> [ <float:param1> <float:param2>... ]
add_effect_before (afxb) - Same as add-effect before
add_effect_before <fx_alias> <fx_alias> [ <float:param1> <float:param2>... ]
modify_effect (mfx) - Modify effect parameter(s).
modify_effect [ <fx_alias> ] <integer:parameter> [ + | - | * | / ] <float:value>
fx_alias can be: a position, effect ID, nickname or effect code
To change the roomsize of our reverb effect to 62 lfx # We see that reverb has
unique effect ID AF and roomsize is the # first parameter. mfx AF 1 62 # mfx
AF,BG 1 75 # Change the first parameter of both AF and BG to 75. # mfx CE 6,10 -3
# Change parameters 6 and 10 of effect CE to -3 # mfx D 4 + 10 # Increase the
fourth parameter of effect D by 10. # mfx A,B,C 3,6 * 5 # Adjust parameters 3 and
6 of effect A, B and C by a factor of 5.
remove_effect (rfx) - Remove effects. They don't have to be on the current track.
remove_effect <fx_alias1> [ <fx_alias2> ] ...
position_effect (pfx) - Position an effect before another effect (use 'ZZZ' for end).
position_effect <string:id_to_move> <string:position_id>
position_effect G F # Move effecit with unique ID G before F.
show_effect (sfx) - Show information about an effect. Default is to print information on
the current effect.
show_effect [ <string:effect_id1> ] [ <string:effect_id2> ] ...
sfx # Print name, unique ID and parameters/controls of the current effect. sfx H
# Print out all information about effect with unique ID H.
dump_effect (dfx) - Dump all data of current effect object
dump_effect
list_effects (lfx) - Print a short list of all effects on the current track, only
including unique ID and effect name.
list_effects
General commands
hotkeys (hk) - Use this command to set the hotkey mode. (You may also use the hash symbol
'#'.) Hit the Escape key to return to command mode.
hotkeys
hotkeys_always (hka) - Activate hotkeys mode after each command.
hotkeys_always
hotkeys_off (hko) - Disable hotkeys always mode
hotkeys_off
hotkeys_list (hkl lhk) - List hotkey bindings
hotkeys_list
Effect commands
add_insert (ain) - Add an external send/return insert to current track.
add_insert External: ( pre | post ) <string:send_id> [ <string:return_id> ] Local
wet/dry: local
add_insert pre jconvolver # Add a prefader insert. The current track signal is
sent # to jconvolver and returned to the vol/pan controls. add_insert post
jconvolver csound # Send the current track postfader signal (after vol/pan #
controls) to jconvolver, getting the return from csound. guitar # Select the
guitar track ain local # Create a local insert guitar-1-wet # Select the wet arm
afx G2reverb 50 5.0 0.6 0.5 0 -16 -20 # add a reverb afx etc 6 100 45 2.5 # add a
chorus effect on the reverbed signal guitar # Change back to the main guitar track
wet 25 # Set the balance between wet/dry track to 25% wet, 75% dry.
set_insert_wetness (wet) - Set wet/dry balance of the insert for the current track. The
balance is given in percent, 0 meaning dry and 100 wet signal only.
set_insert_wetness [ pre | post ] <n_wetness>
wet pre 50 # Set the prefader insert to be balanced 50/50 wet/dry. wet 100 #
Simpler if there's only one insert
remove_insert (rin) - Remove an insert from the current track.
remove_insert [ pre | post ]
rin # If there is only one insert on the current track, remove it. remove_insert
post # Remove the postfader insert from the current track.
ctrl_register (crg) - List all Ecasound controllers. Controllers include linear
controllers and oscillators.
ctrl_register
preset_register (prg) - List all Ecasound effect presets. See the Ecasound manpage for
more detail on effect_presets.
preset_register
ladspa_register (lrg) - List all LADSPA plugins, that Ecasound/Nama can find.
ladspa_register
Mark commands
list_marks (lmk lm) - List all marks with index, name and their respective positions in
time.
list_marks
to_mark (tmk tom) - Move the playhead to the named mark or mark index.
to_mark <string:mark_name> | <integer:mark_index>
to_mark sax_start # Jump to the position marked by sax_mark. tmk 2 # Move to the
mark with the index 2.
add_mark (mark amk k) - Drop a new mark at the current playback position. this will fail,
if a mark is already placed on that exact position.
add_mark [ <string:mark_id> ]
mark start # Create a mark named "start" at the current position.
remove_mark (rmk) - Remove a mark
remove_mark [ <string:mark_name> | <integer:mark_index> ]
remove_mark start # remove the mark named start rmk 16 # Remove the mark with the
index 16. rmk # Remove the current mark
next_mark (nmk) - Move the playhead to the next mark.
next_mark
previous_mark (pmk) - Move the playhead to the previous mark.
previous_mark
name_mark - Give a name to the current mark.
name_mark <string:mark_name>
modify_mark (move_mark mmk) - Change the position (time) of the current mark.
modify_mark [ + | - ] <float:seconds>
move_mark + 2.3 # Move the current mark 2.3 seconds forward from its mmk 16.8 #
Move the current mark to 16.8 seconds, no matter, where it is now.
Diagnostics commands
engine_status (egs) - Display the Ecasound audio processing engine status.
engine_status
dump_track (dump) - Dump current track data.
dump_track
dump_group (dumpg) - Dump group settings for user tracks.
dump_group
dump_all (dumpa) - Dump most internal state data.
dump_all
dump_io - Show chain inputs and outputs.
dump_io
Help commands
list_history (lh) - List the command history. Every project stores its own command
history.
list_history
Bus commands
add_submix_cooked - Create a submix using all tracks in bus "Main"
add_submix_cooked <string:name> <destination>
add_submix_cooked front_of_house 7 # send a custom mix named "front_of_house" # to
soundcard channels 7/8
add_submix_raw (asr) - Add a submix using tracks in Main bus (unprocessed signals, lower
latency)
add_submix_raw <string:name> <destination>
asbr Reverb jconv # Add a raw send bus called Reverb, with its output
add_bus (abs) - Add a sub bus. This is a bus, as known from other DAWs. The default output
goes to a mix track and that is routed to the mixer (the Master track). All busses begin
with a capital letter!
add_bus <string:name> [ <string:track_name> | <string:jack_client> |
<integer:soundcard_channel> ]
abs Brass # Add a bus, "Brass", routed to the Main bus (e.g. mixer) abs
special csound # Add a bus, "special" routed to JACK client "csound"
update_submix (usm) - Include tracks added since the submix was created.
update_submix <string:name>
update_submix Reverb
remove_bus - Remove a bus or submix
remove_bus <string:bus_name>
list_buses (lbs) - List buses and their parameters (TODO).
list_buses
set_bus (sbs) - Set bus parameters. This command is intended for advanced users.
set_bus <string:busname> <key> <value>
Effect commands
overwrite_effect_chain (oec) - Create a new effect chain, overwriting an existing one of
the same name.
overwrite_effect_chain Same as for new_effect_chain
new_effect_chain (nec) - Create an effect chain, a named list of effects with all
parameter settings. Useful for storing effect setups for particular instruments.
new_effect_chain <string:name> [ <effect_id_1> <effect_id_2>... ]
new_effect_chain my_piano # Create a new effect chain, "my_piano", storing all #
effects and their settings from the current track # except the fader (vol/pan)
settings. nec my_guitar A C F G H # Create a new effect chain, "my_guitar", #
storing the effects with IDs A, C, F, G, H and # their respective settings.
delete_effect_chain (dec destroy_effect_chain) - Delete an effect chain definition. Does
not affect the project state. This command is not reversible by undo.
delete_effect_chain <string:effect_chain_name>
find_effect_chains (fec) - Dump effect chains, matching key/value pairs if provided
find_effect_chains [ <string:key_1> <string:value_1> ] ...
fec # List all effect chains with their effects.
find_user_effect_chains (fuec) - List all *user* created effect chains, matching key/value
pairs, if provided.
find_user_effect_chains [ <string:key_1> <string:value_1> ] ...
bypass_effects (bypass bfx) - Bypass effects on the current track. With no parameters
default to bypassing the current effect.
bypass_effects [ <string:effect_id_1> <string:effect_id_2>... | 'all' ]
bypass all # Bypass all effects on the current track, except vol and pan. bypass
AF # Only bypass the effect with the unique ID AF.
bring_back_effects (restore_effects bbfx) - Restore effects. If no parameter is given, the
default is to restore the current effect.
bring_back_effects [ <string:effect_id_1> <string:effect_id_2> ... | 'all' ]
bbfx # Restore the current effect. restore_effect AF #
Restore the effect with the unique ID AF. bring_back_effects all # Restore all
effects.
new_effect_profile (nep) - Create a new effect profile. An effect profile is a named group
of effect chains for multiple tracks. Useful for storing a basic template of standard
effects for a group of instruments, like a drum kit.
new_effect_profile <string:bunch_name> [ <string:effect_profile_name> ]
add_bunch Drums snare toms kick # Create a buch called Drums. nep Drums
my_drum_effects # Create an effect profile, call my_drum_effects
apply_effect_profile (aep) - Apply an effect profile. this will add all the effects in it
to the list of tracks stored in the effect profile. Note: You must give the tracks the
same names as in the original project, where you created the effect profile.
apply_effect_profile <string:effect_profile_name>
destroy_effect_profile - Delete an effect profile. This will delete the effect profile
definition from your disk. All projects, which use this effect profile will NOT be
affected.
destroy_effect_profile <string:effect_profile_name>
list_effect_profiles (lep) - List all effect profiles.
list_effect_profiles
show_effect_profiles (sepr) - List effect profile.
show_effect_profiles
full_effect_profiles (fep) - Dump effect profile data structure.
full_effect_profiles
Track commands
cache_track (cache ct bounce freeze) - Cache the current track. Same as freezing or
bouncing. This is useful for larger projects or low-power CPUs, since effects do not have
to be recomputed for subsequent engine runs. Cache_track stores the effects-processed
output of the current track as a new version (WAV file) which becomes the current version.
The current effects, inserts and region definition are removed and stored. To go back to
the original track state, use the uncache_track command. The show_track display appends a
"c" to version numbers created by cache_track (and therefore reversible by uncache)
cache_track [ <float:additional_processing_time> ]
cache 10 # Cache the curent track and append 10 seconds extra time,
Effect commands
uncache_track (uncache unc) - Select the uncached track version. This restores effects,
but not inserts.
uncache_track
General commands
do_script (do) - Execute Nama commands from a file in the main project's directory or in
the Nama project root directory. A script is a list of Nama commands, just as you would
type them on the Nama prompt.
do_script <string:filename>
do prepare_my_drums # Execute the script prepare_my_drums.
scan - Re-read the project's .wav directory. Mainly useful for troubleshooting.
scan
Effect commands
add_fade (afd fade) - Add a fade-in or fade-out to the current track.
add_fade ( in | out ) marks/times (see examples)
fade in mark1 # Fade in,starting at mark1 and using the
# default fade time of 0.5 seconds. fade out mark2 2 #
Fade out over 2 seconds, starting at mark2 . fade out 2 mark2 # Fade out over
2 seconds, ending at mark2 . fade in mark1 mark2 # Fade in starting at mark1,
ending at mark2 .
remove_fade (rfd) - Remove a fade from the current track.
remove_fade <integer:fade_index_1> [ <integer:fade_index_2> ] ...
list_fade # Print a list of all fades and their tracks. rfd 2 # Remove the
fade with the index (n) 2.
list_fade (lfd) - List all fades.
list_fade
Track commands
add_comment (comment ac) - Add a comment to the current track (replacing any previous
comment). A comment maybe a short discription, notes on instrument settings, etc.
add_comment <string:comment>
ac "Guitar, treble on 50%"
remove_comment (rc) - Remove a comment from the current track.
remove_comment
show_comment (sc) - Show the comment for the current track.
show_comment
show_comments (sca) - Show all track comments.
show_comments
add_version_comment (avc) - Add a version comment (replacing any previous user comment).
This will add a comment for the current version of the current track.
add_version_comment <string:comment>
avc "The good take with the clear 6/8"
remove_version_comment (rvc) - Remove version comment(s) from the current track.
remove_version_comment
show_version_comment (svc) - Show version comment(s) of the curent track.
show_version_comment
show_version_comments_all (svca) - Show all version comments for the current track.
show_version_comments_all
set_system_version_comment (ssvc) - Set a system version comment. Useful for testing and
diagnostics.
set_system_version_comment <string:comment>
Midi commands
midish_command (m) - Send the command text to the midish MIDI sequencer. Midish must be
installed and enabled in namarc. See the midish manpage and fullonline documentation for
more.
midish_command <string:command_text>
m tracknew my_midi_track
midish_mode_on (mmo) - All users commands sent to midish, until
midish_mode_on
midish_mode_off (mmx) - Exit midish mode, restore default Nama command mode, no midish
sync
midish_mode_off
midish_mode_off_ready_to_play (mmxrp) - Exit midish mode, sync midish start (p) with
Ecasound
midish_mode_off_ready_to_play
midish_mode_off_ready_to_record (mmxrr) - Exit midish mode, sync midish start (r) with
Ecasound
midish_mode_off_ready_to_record
Edit commands
new_edit (ned) - Create an edit for the current track and version.
new_edit
set_edit_points (sep) - Mark play-start, record-start and record-end positions for the
current edit.
set_edit_points
list_edits (led) - List all edits for current track and version.
list_edits
select_edit (sed) - Select an edit to modify or delete. After selection it is the current
edit.
select_edit <integer:edit_index>
end_edit_mode (eem) - Switch back to normal playback/record mode. The track will play full
length again. Edits are managed via a sub- bus.
end_edit_mode
destroy_edit - Remove an edit and all associated audio files. If no parameter is given,
the default is to destroy the current edit. Note: The data will be lost permanently. Use
with care!
destroy_edit [ <integer:edit_index> ]
preview_edit_in (pei) - Play the track region without the edit segment.
preview_edit_in
preview_edit_out (peo) - Play the removed edit segment.
preview_edit_out
play_edit (ped) - Play a completed edit.
play_edit
record_edit (red) - Record an audio file for the current edit.
record_edit
edit_track (et) - Set the edit track as the current track.
edit_track
host_track_alias (hta) - Set the host track alias as the current track.
host_track_alias
host_track (ht) - Set the host track (edit sub-bus mix track) as the current track.
host_track
version_mix_track (vmt) - Set the version mix track as the current track.
version_mix_track
play_start_mark (psm) - Select (and move to) play start mark of the current edit.
play_start_mark
rec_start_mark (rsm) - Select (and move to) rec start mark of the current edit.
rec_start_mark
rec_end_mark (rem) - Select (and move to) rec end mark of the current edit.
rec_end_mark
set_play_start_mark (spsm) - Set play_start_mark to the current playback position.
set_play_start_mark
set_rec_start_mark (srsm) - Set rec_start_mark to the current playback position.
set_rec_start_mark
set_rec_end_mark (srem) - Set rec_end_mark to current playback position.
set_rec_end_mark
disable_edits (ded) - Turn off the edits for the current track and playback the original.
This will exclude the edit sub bus.
disable_edits
merge_edits (med) - Mix edits and original into a new host-track. this will write a new
audio file to disk and the host track will have a new version for this.
merge_edits
Track commands
explode_track - Make the current track into a sub bus, with one track for each version.
explode_track
move_to_bus (mtb) - Move the current track to another bus. A new track is always in the
Main bus. So to reverse this action use move_to_bus Main .
move_to_bus <string:bus_name>
asub Drums # Create a new sub bus, called Drums. snare # Make snare the current
track. mtb Drums # Move the snare track into the sub bus Drums.
promote_version_to_track (pvt) - Create a read-only track using the specified version of
the current track.
promote_version_to_track <integer:version_number>
General commands
read_user_customizations (ruc) - Re-read the user customizations file 'custom.pl'.
read_user_customizations
Setup commands
limit_run_time (lr) - Stop recording after the last audio file finishes playing. Can be
turned off with limit_run_time_off.
limit_run_time [ <float:additional_seconds> ]
limit_run_time_off (lro) - Disable the recording stop timer.
limit_run_time_off
offset_run (ofr) - Record/play from a mark, rather than from the start, i.e. 0.0 seconds.
offset_run <string:mark_name>
offset_run_off (ofro) - Turn back to starting from 0.
offset_run_off
General commands
view_waveform (wview) - Launch mhwavedit to view/edit waveform of the current track and
version. This requires to start Nama on a graphical terminal, like xterm or gterm or from
GNOME via alt+F2 .
view_waveform
edit_waveform (wedit) - Launch audacity to view/edit the waveform of the current track and
version. This requires starting Nama on a graphical terminal like xterm or gterm or from
GNOME starting Nama using alt+F2 .
edit_waveform
Setup commands
rerecord (rerec) - Record as before. This will set all the tracks to record, which have
been recorded just before you listened back.
rerecord
for piano guitar;rec # Set piano and guitar track to record. # do your recording
and ilstening. # You want to record another version of both piano and guitar:
rerec # Sets piano and guitar to record again.
Track commands
analyze_level (anl) - Print Ecasound amplitude analysis for current track. This will show
highest volume and statistics.
analyze_level
General commands
for - Execute command(s) for several tracks.
for <string:track_name_1> [ <string:track_name_2>} ... ; <string:commands>
for piano guitar; vol - 3; pan 75 # reduce volume and pan right for snare
kick toms cymbals; mtb Drums # move tracks to bus Drums
Project commands
git - Execute git command in the project directory
git <string:command_name> [arguments]
Track commands
edit_rec_setup_hook (ersh) - Edit the REC hook script for current track
edit_rec_setup_hook
edit_rec_cleanup_hook (erch) - Edit the REC cleanup hook script for current track
edit_rec_cleanup_hook
remove_fader_effect (rffx) - Remove vol pan or fader on current track
remove_fader_effect vol | pan | fader
rename_track - Rename a track and its WAV files
rename_track <string:old_track> <string:new_track>
Sequence commands
new_sequence (nsq) - Define a new sequence
new_sequence <string:name> <track1, track2,...>
select_sequence (slsq) - Select named sequence as current sequence
select_sequence
list_sequences (lsq) - List all user sequences
list_sequences
show_sequence (ssq) - Display clips making up current sequence
show_sequence
append_to_sequence (asq) - Append items to sequence
append_to_sequence [<string:name1>,...]
asq chorus # append chorus track to current sequence asq # append current
track to current sequence
insert_in_sequence (isq) - Insert items into sequence before index i
insert_in_sequence <string:name1> [<string:name2>,...] <integer:index>
remove_from_sequence (rsq) - Remove items from sequence
remove_from_sequence <integer:index1> [<integer:index2>,...]
delete_sequence (dsq) - Delete entire sequence
delete_sequence <string:sequence>
add_spacer (asp) - Add a spacer to the current sequence, in specified position, or
appending (if no position is given)
add_spacer <float:duration> [<integer:position>]
convert_to_sequence (csq) - Convert the current track to a sequence
convert_to_sequence
merge_sequence (msq) - Cache and MON the current sequence mix track, disable the sequence
merge_sequence
snip - Create a sequence from the current track by removing the region(s) defined by mark
pair(s). Not supported if the current track is already a sequence.
snip <mark_pair1> [<mark_pair2>...]
snip cut1-start cut1-end cut2-start cut2-end This removes cut1 and cut2 regions
from the current track by creating a sequence.
compose (compose_sequence compose_into_sequence) - Compose a new sequence using the
region(s) of the named track defined by mark pair(s). If the sequence of that name exists,
append the regions to that sequence (compose_into_sequence).
compose <string:sequence_name> <string:trackname> <mark_pair1> [<mark_pair2>...]
compose speeches conference-audio speaker1-start speaker1-end speaker2-start
speaker2-end This creates a "speeches" sequence with two clips for speaker1 and
speaker2.
General commands
undo - Roll back last commit (use "git log" to see specific commands) Note: redo is not
supported yet
undo
redo - Restore the last undone commit (TODO)
redo
show_head_commit (show_head last_command last) - Show the last commit, which undo will
roll back. A commit may contain multiple commands. The last_* aliases are meaningful when
autosave: undo is set. In that case each commit contains only a single command
show_head_commit
Mode commands
eager - Set eager mode
eager on | off
Engine commands
new_engine (neg) - Start a named Ecasound engine, or bind to an existing engine
new_engine <string:engine_name> <integer:port>
select_engine (seg) - Select an ecasound engine (advanced users only!)
select_engine <string:engine_name>
Track commands
set_track_engine_group (steg) - Set the current track's engine affiliation
set_track_engine_group <string:engine_name>
Bus commands
set_bus_engine_group (sbeg) - Set the current bus's engine affiliation
set_bus_engine_group <string:engine_name>
select_submix (ssm) - Set the target for the trim command
select_submix <string:submix_name>
trim_submix (trim tsm) - Control a submix fader
trim_submix
# reduce vol of current track in in_ear_monitor by 3dB select_submix
in_ear_monitor trim vol - 3
Effect commands
nickname_effect (nfx nick) - Add a nickname to the current effect (and create an alias)
nickname_effect <lower_case_string:nickname>
add_track guitar afx Plate nick reverb # current effect gets name "reverb1"
mfx reverb1 1 0.05 # modify first reverb effect on current track mfx reverb 1 2
# works, because current track has one effect named "reverb" afx reverb #
add another Plate effect, gets name "reverb2" rfx reverb # Error, multiple
reverb effects are present on this
# track. Please use a numerical suffix. mfx reverb2 1 3 #
modify second reverb effect rfx reverb1 # removes reverb1 ifx reverb2
reverb # insert another reverb effect (reverb3) before reverb2 rfx reverb3
# remove reverb3 rfx reverb # removes reverb2, as it is the sole remain
reverb effect
delete_nickname_definition (dnd) - Delete a nickname definition. Previously named effects
keep their names.
delete_nickname_definition
afx Plate # add Plate effect nick reverb # name it "reverb", and create a
nickname for Plate dnd reverb # removes nickname definition afx reverb # error
remove_nickname (rnick) - Remove the "name" attribute of the current effect
remove_nickname
afx Plate nick reverb mfx reverb 1 3 rnick mfx reverb 1 3 # Error: effect named
"reverb" not found on current track
list_nickname_definitions (lnd) - List defined nicknames
list_nickname_definitions
set_effect_name (sen) - Set a nickname only (don't creating an alias)
set_effect_name <string:name>
set_effect_surname (ses) - Set an effect surname
set_effect_surname <string:surname>
remove_effect_name (ren) - Remove current effect name
remove_effect_name
remove_effect_surname (res) - Remove current effect surname
remove_effect_surname
Track commands
select_track - Set a particular track as the current, or default track against which
track-related commands are executed.
select_track <string:track-name> | <integer:track-number>
REALTIME OPERATION
Nama selects realtime or nonrealtime parameters based on the realtime_profile,
ecasound_buffersize and ecasound_globals fields in .namarc. You can optionally specify the
buffersizes as a multiple of the JACK period size. Note that for best realtime operation
under JACK you will have to configure jackd appropriately as well.
The realtime and auto profiles are useful when using Nama/Ecasound for live fx processing
or live monitoring.
The realtime profile sets a small buffersize and other low latency settings whenever a
soundcard or JACK client is connected.
The nonrealtime profile uses a bigger buffer, providing extended margins for stable
operation. It is suitable for post-processing, or for recording without live monitoring
responsibilities.
The auto profile defaults to nonrealtime settings. It switches to realtime, low-latency
settings when a track has a live input.
DIAGNOSTICS
On any change in setup, the GUI display updates and "show_tracks" command is executed
automatically showing what to expect the next time the engine is started.
You can use the "chains" command to verify the Ecasound chain setup. (The Ecasound command
"cs-save-as mysetup.ecs" will additionally store all engine data, effects as well as
routing.)
The "dump" command displays data for the current track. The "dumpall" command shows all
state that would be saved.
This is the same output that is written to the State.yml file when you issue the "save"
command.
Use namap online using onworks.net services