meterec(1) console multitrack audio recorder


meterec [ -tpcih ] [ -r ref-level ] [ -o output-format ] [ -s session-name ] [ -j jack-name ] [ -f frequency ] [ -w width ] [ -u uuid ]


meterec real-time jack ports vu-meter, records specified ports to take file and replays selected take(s).


-r ref-level
Adjust the 0dB reference level of the port vu-meter.
-o output-format
'w64', 'wav', 'ogg' or 'flac'. Format of the take files produced when recording. The same session can use different formats subsequently. Defaults to 'w64' or 'wav'.
-s <session-name>, -s <session-file>
Name of the session beeing recorded. If a file called <session-name>.mrec exists, meterec will execute from the current directory. if a file called <session-file> exists, meterec will change to it's base directory before executing. defaults to './meterec.mrec'.
-j jack-name
Name of the meterec client in the jack graph. This name should be specified if using several meterec instances on the same jack server. Using the same <jack-name> for multiple meterec instances is not supported. Defaults to 'meterec'
-f frequency
Set the display refresh rate in frames per second. This setting does not affects the pace at wich command keys can be used, nor the meter peak value fall time.
-w width
Set the number of columns for the display . Defaults to the current console width.
-u uuid
Universal unique identifyer used by jack-session save/restore managers. WARNING: jack-session requests that directory holding session restore data is erased before session is saved! Make sure you do not use the meterec-session directory or a parent directory to save your jack-session: this would erase all previously recoded audio as well as configuration data for this meterec-session.
Start recording at startup. Default is to start in playback mode. With this option a new take will be captured at startup. This allows to call meterec from a script or do a quick take right from the shell. If recording should only be starting upon user action or when jack-transport goes to roll state, use this option along with -p option.
Do not playback at startup. Default is to start in playback mode. Use this option if you want meterec to wait for user input of jack-transport to start playback.
Do not interact with jack-transport state. By default meterec will set jack-transport state when user start or stop playback and playback will start or stop when jack-transport state changes.
Do not connect automatically to jack ports. By default meterec will use the list of connections stored in <jack-session>.mrec to connect it's ports to other jack clients at startup as well as when these ports becomes available.
Show options and command keys summary.

COMMAND KEYS (all views)

Switch between the different 'views': vu-meter, edit, connections.
Start playback, stop playback. unless -i option is used, the jack-transport state will be updated so the other jack clients supporting jack-transport are syncronised with meterec.
Start recording, stop playback and record. At least one port should be in one of the recording modes for recording to start. Also updates jack-transport state.
when record is already ongoing, this creates a new take on the fly. This operation allows to have subsequent takes without any gaps in audio. When recording is not ongoing this key will engage the record mode: the recording of audio is pending until playback starts. This allows to have meterec start recording when jack-transport state goes to 'roll'
Select port above in the list. Will wrap at list boundaries.
Well... Select port bellow in the list. Will wrap at list boundaries.
Reset maximum level vu-meter markers. Each port will record the maximum signal level reached and display it with a column char ':'. It is sometime usefull to reset these markers for a fresh start.
Toggle port names display. Since the port name is located over the vu-meter display it might be annoying when reading levels.
Insert name. Helps tidy you workspace by giving each port a meaningfull name.
Toggles pass-thru for this port. Depending on the instrument plugged in, it is usefull to have the live audio at the input side available at the output side.
Toggles pass thru for all ports.
Mute/unmute that port playback. No recoded audio for this port will be played when this port is muted. The audio data coming from the input side due to 'pass-thru' beeing active is not muted.
Mute/unmute all ports playback.
Mute all but that port playback (solo). Note this is not standard 'solo' approach found in mixers as you cannot 'solo' several ports at the same time.
Unmute all ports playback.
toggle REC record mode for that port. Available audio from previous take will not be played back when recording.
toggle REC record mode for all ports
toggle DUB record mode for that port. Available audio from previous take will played along when recording. The resulting take will contain only audio played during the last take.
toggle DUB record mode for all ports
toggle OVR record mode for that port. Available audio from previous take will played along when recording. The resulting take will contain a mix of audio played during the last take and audio from previous take. When using this record mode, you should use take-locking to precisely control what is the track that will be mixed when recodring. Remeber to remove the lock to be able to ear the result!
toggle OVR record mode for all ports
Set time index. Current playhead position will be stored in this index.
Jump to time index. When playback is ongoing, playhead will jump to stored time index. No action if this time index is not set or if in record state.
Use time index as loop boundary. Will be used at upper or lower bound depending on time index value and already programmed loop boundary. If the time index was not set, current playhead time will be used and stored for this time index.
Use current time as loop boundary. Usefull for setting a loop quickly.
Clear loop boundaries. Playback will keep on reading once the former loop upper bound is reached.
Clear loop lower bound. Programming a new bound will move the remaining bound to lower bound if it is upper than remaingin upper bound.
Clear loop upper bound. Programming a new bound will move the remaining bound to upper bound if it is lower than remaingin lower bound.
Be kind, rewind.

COMMAND KEYS (vu-meter)

Seek forward 5 seconds
Seek backward 5 seconds


Select next take
Select previous take
Lock/unlock selected track for playback
Lock/unlock selected track for playback and clear all other locks for this port
Lock/unlock selected take for playback
Lock/unlock selected take for playback and clear all other locks in the session

COMMAND KEYS (connections)

Select port column on the right
Select port column on the left.
Connect ports.
Disconnect ports.


Monitor port
meterec has an extra output port called 'monitor' that is providing a copy of audio signal available at the input side of the currently selected port.

By default meterec will play the latest take for a given port when playing back or recording with DUB or OVR mode. If you want to play an other take you have to set a lock on the particular tack you want to ear. This is done in 'edit view'. If a port has lock for several tracks, the track recorded during the latest take will be played (most recent).

Setting loop boundaries will not make meterec jump into the loop right away. Only once the upper loop bound is reached, playback will jump to lower bound.

Ports connection
The connection views show 3 ports columns. On the left: all available output ports of jack clients other than this meterec instance. On the right: all available input ports of jack clients other that this client. The middle columns shows all meterec ports available in this session. To connect 2 ports first select the meterec port you want to connect in the middle column, then go to left or right colum and browse to the port you wish to connect to and hit the 'c' key. Connected ports will be shown by a '+' sign and highligted if your console allows. For all ports, a '->' sign between the input side and the ouput side show if this port is in pass-thru mode.


You can abort meterec at any time by pressing Ctrl-C. The current state will be saved to <session-name>.mrec before meterec exits.


<session-file>, <session-name>.mrec
Contains current state of session: list of ports with connections, record mode, mute state, name, takes map. List of time indexes. Sampling rate.

Activity log of latest meterec run for session <session-name>.

Take file. <nnnn> is the take number. This file contains audio for all the ports that where selected for record during take <nnnn>. You can open/edit this file in an audio editor if it supports multitrack audio files.


Please report and monitor bugs using


Fabrice Lebas <[email protected]>