                                    METEREC

Screen shots
============

Vu-meter view
-------------

[> ONGOING ]IIIIIIIIIII\  .|||   :  '  [0:00:08.125] 0:00:10.244 [0:00:16.962]
[O OFF     ]|
  -60-50   -40   -35  -30     -25     -20      -15       -10      -5  -3     0
  |___|_____|_____|____|_______|_______|________|_________|________|___|_____|
01R##I                                         :
02R##I            :
03=#####################################I          :
04=###########################################I
05~##I                                                               :
06=###############################I                                      :
07=##I----------:----------------------------------   :
08=##I------------------------------------------------------------:
  |___|_____|_____|____|_______|_______|________|_________|________|___|_____|
  -60-50   -40   -35  -30     -25     -20      -15       -10      -5  -3     0
  Port  5 [   ][MUTE][    ] PLAYING no take |  -53.1dB ( -4.1dB) | 


Edit view
---------

[> OFF     ]IIIIIIIIIII\  .         '  [-:--:--.---] 0:00:22.453 [-:--:--.---]
[O OFF     ]|
  Take  5 [CONTENT][LOCKED][PLAYING]

01RXXXXLX--
02RXXXXLX--
03=----L-XX
04=----L-XX
05=----L---
06=----L---
07=----L---
08=----L---


  Port  1 [REC][     ][THRU] PLAYING no take |  -55.9dB ( -15.8dB) ) | 


Connections view
----------------

[> ONGOING ]IIIIIIII   -  .         '  [-:--:--.---] 0:00:02.965 [-:--:--.---]
[O ONGOING ]/


      system:capture_1-+-meterec:in_1 -> meterec:out_1 -+-system:playback_1
      system:capture_2 | meterec:in_2 -> meterec:out_2  | system:playback_2
      system:capture_3 | meterec:in_3 -> meterec:out_3  | system:playback_3
      system:capture_4 | meterec:in_4    meterec:out_4  | system:playback_4
      system:capture_5 | meterec:in_5    meterec:out_5  | system:playback_5
      system:capture_6 | meterec:in_6 -> meterec:out_6  | system:playback_6
      system:capture_7 | meterec:in_7 -> meterec:out_7  | system:playback_7
      system:capture_8 | meterec:in_8    meterec:out_8  | system:playback_8

Help
====

% meterec -h
version 0.10.0

meterec [-f freqency] [-r ref-level] [-s session-name] [-j jack-name] [-o output-format] [-u uuid] [-t][-p][-c][-i]

where  -f      is how often to update the meter per second [24]
       -r      is the reference signal level for 0dB on the meter [0]
       -s      is session name [meterec]
       -j      is the jack client name [meterec]
       -o      is the record output format (w64, wav, flac, ogg) [w64]
       -u      is the uuid value to be restored [none]
       -t      record a new take at start
       -p      no playback at start
       -c      do not connect to jack ports listed in .mrec file
       -i      do not interact with jack transport


Command keys:
       q       quit
       <SPACE> start playback; stop playback
       <ENTER> start record; stop all
       <BKSPS> create new take while record is ongoing; toggle record state when stopped
       v       reset maximum level vu-meter markers
       n       toggle port names display
       i       insert name
       t       toggle pass thru for this port
       T       toggle pass thru for all ports
       m       mute that port playback
       M       mute all ports playback
       s       mute all but that port playback (solo)
       S       unmute all ports playback
       r       toggle REC record mode for that port - record without listening playback
       R       toggle REC record mode for all ports
       d       toggle DUB record mode for that port - record listening playback
       D       toggle DUB record mode for all ports
       o       toggle OVR record mode for that port - record listening and mixing playback
       O       toggle OVR record mode for all ports
<SHIFT>F1-F12  set time index
       F1-F12  jump to time index
 <CTRL>F1-F12  use time index as loop boundary
       +       use current time as loop boundary
       -       clear loop boundaries
       /       clear loop lower bound
       *       clear loop upper bound
       <HOME>  be kind, rewind
       <TAB>   vu-meter view (special keys) ------------------------------------
       =>      seek forward 5 seconds
       <=      seek backward 5 seconds
       <TAB>   edit view (special keys) ----------------------------------------
       =>      select next take
       <=      select previous take
       l       lock/unlock selected track for playback and clear all other locks for this port
       L       lock/unlock selected track for playback
       a       lock/unlock selected take for playback and clear all other locks in the session)
       A       lock/unlock selected take for playback
       <TAB>   connections view (special keys)----------------------------------
       <= =>   select port column
       c       connect ports
       x       disconnect ports
       w       toggle ports connection

Why is it so basic?
===================

meterec works as a basic multi track tape recoder. The aim of this software is
to minimise the interactions of the users with the computer and allow them to
focus on their instrumental performance. For this reason meterec features are
minimal. if you srew one take, start it over again! rather than learning how
to use a specific software to correct what you screw, meterec forces to learn
and master your instrument. Good news is previous takes are kept in take history
and if in the end, the first one was the best you could play, you can choose it 
in your final mix.


A typical session:
==================

hardware setup example
----------------------

A 16 ports mixer has all it's inserts plugged to a 16in+16out channels sound card. 

Example for the first port of the mixer:
+--- 1 ---+
|         |
| MIC/LINE|
| |IN <--------- Instrument/Mic
|         |
| INSERT  |
| |SEND -------> Sound card IN 1  (jack system:capture_1)
| |RETURN <----- Sound card OUT 1 (jack system:playback_1)
|         |
|         |


jack setup
----------

jackd is running on the above card. 

Jack system internal delay should be kept small by 
Maximising sample rate
Minimising periods/buffer
Minimising frames/period

To avoid Xruns (more frequent with shorter delays), Real-Time priority may be setup for
jackd...


software setup
--------------

% mkdir sessions
% cd sessions

Now create a basic session configuration file we will call 'demo':
% meterec-init-conf demo

This will create file:
demo.mrec - status/configuration file for this session

All options of the configuration file can be modified from meterec, but you can
also edit this file when meterec is NOT RUNNING. If you keep your editor open,
make sure you refresh editor content after each meterec run.


The band
--------

Hakim plays bass on port 4
Iris plays drums on ports 6,7(overhead) 8(kick) 9(snare) 10,11(toms)
Igor plays electric piano on ports 14,15 
Paul plays guitar on port 1


Sound check
-----------

% meterec -s demo

Meterec starts in vu-meter view. This shows vue meter for all ports declared in the session file. The view meters 
display input level in DB using bar graph as well as numerical for the selected port at the bottom right corner.

Make sure no instrument reaches the 0dB by adjusting gain on the mixer console or in
the sound card mixer. When a port clip, the bar graph and the digital display will be highlighted. 
you can reset the maximum vu meter markers and clip highlight by hitting <v> or <V> key.

You may not want to have some instruments live audio coming back to your mixing console because they are already 
loud enough. Browse to corresponding ports with the <UP> and <DOWN> arrow keys and hit <t> key to toggle 
pass thru for these ports. 


you can exit meterec at any time with CTRL+c or <q> key. When restarting, all your audio settings will be restored.


Adding rithm section
--------------------

Hakim plays bass on port 4
Iris plays drums on ports 6,7(overhead) 8(kick) 9(snare) 10,11(toms)

Iris and Hakim will make a nice bass and drum take first

Browse to ports with the <UP> and <DOWN> arrow keys. Hit <r> key to toggle 
REC record mode for the selected port.

You can name ports at your convinience using the <i> key.

now you have ports 4,6,7,8,9,10,11 in REC mode.

We are ready for first take... Let's go! hit <ENTER> key! Enjoy the duo swing... Once Iris and Hakim are done, 
stop meterec with <ENTER> key again.

*TO REWORK*
You can listen to what was done right away using <SPACE> key to start playback 
and <SPACE> or <ENTER> to stop playback.

You can create several takes to make sure Iris and Hakim where recorded at their best.


Selecting the best takes
------------------------

When you start playback, you get to hear the latest take for each port, now you may
find out that take 4 whas the best for Iris and Hakim. 

use <TAB> key to switch to 'EDIT' view. 

Browse thru takes using the <RIGHT> and <LEFT> arrow keys. Once you are on take 4 hit
the <a> key to place a 'lock' on all the tracks recorded during take 4.

Now when you playback only tracks of take 4 will be played.

Now every time you get to start meterec you will hear Iris+Hakim performance as it
was when they played for the 4th time. We have "Locked" ports 4,6,7,8,9,10,11 on
tracks recoded during take 4.

You can name intersting takes using the <i> key while in EDIT 'view'. 

Keys <a>, <A>, <l>, <L> are used to toggle locks. with different behaviors.

You can lock a port on several tracks. In that case, tracks of the most recent take will be played.


Adding melodie
--------------

Paul plays guitar on track 1
Igor plays electric piano on tracks 14,15 

Paul and Igor will now play over take 4 of Iris and Hakim and recod their parts.

Hit <R> until no port is in REC mode. Change the record mode of the ports so 1, 14 and 15 are in REC mode.

You may let them warm-up by starting playback with <SPACE> key, this gives a good chance to 
adjust input gain again (trying to get the best dynamic).

Well... After a few takes, it appears that Paul is still suffuring from hangover while Igor's performance
was sharp and still...

you can remove REC mode for tracks 14, 15, so Paul can give extra tries on his own, recording only port 1.

Give a glass of water to you friend and run meterec... If needed, make sure he gets some 
fresh air and keep on hiting the <ENTER> key util everybody is happy (fed-up?) with Paul's guitar riffs.

Igor Just had and idea and would like to add a few notes to his previous take. 

you can use the overdub OVR record mode to create a new track that contains previous
content plus new content... make sure you lock the correct previous track when doing so.

BEWARE: when you will playback again the locked tracks will keep on playing, and you will not 
listen to the added audio. make sure you remove locks for these ports to hear the latest recording



Why does it goes wrong?
=======================

For this approach to work, you have to make sure you always play over the same base.
Here we never have mixed up different takes for tracks 4,6,7,8,9,10,11 as these where
played from scratch. If you like metronomes, You can do a first take containing the
bip of a metronome, and then always use this as a base when you add the extra
instruments.

An other problem is delays... If you record track 1 (during take 1), 
then you record track 2 (during take 2) trying to follow instrument on track 1
then you record track 3 (during take 3) trying to follow instrument on track 2
then you record track 4 (during take 4) trying to follow instrument on track 3
...
Well you may end up wondering why track 10 is completely out of sync with track 1.
Internal delays in jack+meterec cannot be avoided completely. look for help on how 
to minimise delays in jackd. Make sure you do not have a cascading aproach in you
recording session, but rather stick to one of the first takes as a reference for
playing other instruments.

