&dhucpackage; &dhsection;

&dhpackage;

is a simple stereo recorder for jack realtime sound server with few features as silence processing for automatic pause, file splitting, background file post-processing. It may be used with QJackCtl

          &dhpackage;
          options

          &dhpackage;
          -l,--level level
          -d,--delay delay
          -s,--split
          -r,--record
          --dir dirpath
          --pcmd command
          --jack-cns1 connections
          --jack-cns2 connections
          --jack-auto
          --jack-trans
          --no-gui
          --no-settings

## DESCRIPTION

This manual page documents briefly the `&dhpackage;` command.

`&dhpackage;` is a simple stereo recorder for jack with QT GUI mode by default. It can be launched without a window with `--no-gui` option for scripted automation purpose, nevertheless it is not a full console mode and DISPLAY variable must allways be defined.

The two main features of this recorder are the capability to manage record pause on silence, and the capability to launch post process commands on the recording files in backgroud.

The pause mode feature detects silence by the definition of a threshold level and a delay. It can compress silences in time during recording (max = delay), it can split sound between silences in several files (tracks of a vinyl record, tape, ...) it can automatically stops recording at the end of the signal without needing to be on the spot.

Recording format is WAV with 2 channels (stereo) of float (32 bits) values (SF_FORMAT_WAV|SF_FORMAT_FLOAT sndfile library format).

## OPTIONS

This program follow the usual &gnu; command line syntax, with long options starting with two dashes (`-'). A summary of options is included below.

`-h`, `--help`

- Show summary of options.

`-v`, `--version`

- Show version of program.

`-c`, `--config`

- Show the configuration of the recorder on standard output and quit immediately without any GUI. The configuration is a set of "key value" pairs, one per line. Without other options it shows the configuration stored in the settings. Some options can be overrided directly by adding them to the command line at the same time, in this case they will be stored to the settings. if `--no-settings` option is added, the settings ar not loaded nor stored, then the initial configuration is the hardcoded recorder default configuration.

`-l`, `--level `level``

- Set the level in dB. the integer value range is between -40 and 3, default is -20. This signal level is a threshold below which the pause delay begins to count down before effective pause mode. See `-d` delay option.

`-d`, `--delay `delay``

- Set the delay value in seconds. The integer value range is between 0 and 300 (5 mn max), default is 3. The pause mode is effective only if the level of the input signal remains below the threshold level continuously during the set delay. See `-l` level option.

`-s`, `--split`

- Set the split mode. default is not set. When split mode is set, the pause feature do not compress silences in the same file but closes current one and open a new one in pause mode, waiting for signal (greater than the threshold level).

`-r`, `--record`

- Activate recording at launch. By default, recording is not activated at launch. The effective status at launch may be in pause mode if the input signal is considerred as a silence.

`--dir `dirpath``

- Set the directory of the recording WAV files. home directory by default.

`--pcmd `cmdline``

- Set a post process command line. no post process by default. When defined, each recording file is post-processed at its closing in a detached parallel process, independantly of the current recording process, other post-processing processes or application closing. This is particularly useful in split mode, see `-s` option.

  The command line is executed in a bash instance, the full path of the recording file to process is accessible by the ${0} variable.

  To compress the file in ogg format on the fly, install sox command and set the command: "sox ${0} ${0%%wav}ogg"

`--jack-cns1 `connections``

- Set the first stereo channel input jack connections. No jack connections by default. the format is "client:port;client:port;..."

  Set "system:capture_1;" to connect to the system capture channel.

`--jack-cns2 `connections``

- Set the second stereo channel input jack connections. No jack connections by default. the format is "client:port;client:port;..."

  Set "system:capture_2;" to connect to the system capture channel.

`--jack-auto`

- Connect jack new clients on the fly. No connections on the fly by default. This mode is usefull when sound producers are known/declared after recorder launch. In this mode the application auto connect new jack clients (2 first ports) only if there is no connection already set.

`--jack-trans`

- Synchronize recording status with jack transport status. No synchronization by default. This mode is useful to synchronize recording with midi softwares trough jack transport. Warning - to stop recording you must rewind in jack transport.

`--no-gui`

- Invoke the application in command line mode only. GUI by default. This mode is useful for recording automation by script. The standard output is used to show the configuration (cannot be changed while running), recorder status and signal level. Hit ENTER key to stop the application.

`--no-settings`

- Do not load nor store options in the settings. use settings by default. This mode is useful to avoid settings modifications and define temporary options on command line. Can be used either in console or graphic mode. When this option is not set, all option overrided in command line is stored in the current settings at application closing.

## AUTHOR

This manual page was written by &dhusername; &dhemail;