slackbuilds/audio/klick/klick.1

566 lines
16 KiB
Groff

.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
. ds C`
. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{
. if \nF \{
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{
. nr % 0
. nr F 2
. \}
. \}
.\}
.rr rF
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "KLICK 1"
.TH KLICK 1 "2014-01-19" "0.12.2" "SlackBuilds.org"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
klick \- an advanced metronome for JACK
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
klick [options] [bars] [meter] tempo[\-tempo2/accel] [pattern]
.PP
klick [options] \-f filename
.PP
klick [options] \-i
.PP
klick [options] \-j
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
.Vb 1
\& klick [options] [bars] [meter] tempo[\-tempo2/accel] [pattern]
.Ve
.PP
Plays a simple metronome with the given meter and tempo. To play a 3/4 beat at 120 bpm:
.PP
.Vb 1
\& klick 3/4 120
.Ve
.PP
You can also specify a \*(L"target\*(R" tempo and acceleration rate, to use klick
as a speed trainer. To play a 4/4 beat starting at 80 bpm, gradually
increasing the tempo by 1 bpm every 10 measures until reaching 120 bpm:
.PP
.Vb 1
\& klick 80\-120/10
.Ve
.PP
Once the final tempo is reached, klick will continue playing at a constant tempo.
.PP
.Vb 1
\& klick [options] \-f filename
.Ve
.PP
Loads a tempo map from a file. This allows for more complex setups
including meter and tempo changes etc. See \fBTempo Map File Format\fR.
.PP
.Vb 1
\& klick [options] \-i
.Ve
.PP
Runs klick in interactive mode, allowing you to change tempo and meter
while klick is running. The keyboard commands available in this mode
are described in Interactive Mode.
.PP
.Vb 1
\& klick [options] \-j
.Ve
.PP
In this mode, klick gets all tempo information from \s-1JACK.\s0 Just run
a sequencer as \s-1JACK\s0 transport master, and klick will play a simple
metronome pattern in sync with \s-1JACK\s0 transport.
.SH "OPTIONS"
.IX Header "OPTIONS"
.IP "\-f filename" 4
.IX Item "-f filename"
load tempo map from file
.IP "\-j" 4
.IX Item "-j"
no tempo map, just follow jack transport
.IP "\-n name" 4
.IX Item "-n name"
set jack client name
.IP "\-p port,.." 4
.IX Item "-p port,.."
jack port(s) to connect to
.IP "\-P" 4
.IX Item "-P"
automatically connect to hardware ports
.IP "\-o port" 4
.IX Item "-o port"
\&\s-1OSC\s0 port to listen on. Only available when compiled with liblo support.
.IP "\-i" 4
.IX Item "-i"
interactive mode
.IP "\-W filename" 4
.IX Item "-W filename"
export click track to audio file
.IP "\-r samplerate" 4
.IX Item "-r samplerate"
sample rate of export (default: 48000)
.IP "\-s number" 4
.IX Item "-s number"
use built-in sounds:
.RS 4
.IP "0" 4
square wave (default)
.IP "1" 4
.IX Item "1"
sine wave
.IP "2" 4
.IX Item "2"
noise
.IP "3" 4
.IX Item "3"
acoustic bell/click
.RE
.RS 4
.RE
.IP "\-S file[,file]" 4
.IX Item "-S file[,file]"
load sounds from file(s)
.IP "\-e" 4
.IX Item "-e"
no emphasized beats
.IP "\-E" 4
.IX Item "-E"
emphasized beats only
.IP "\-v mult[,mult]" 4
.IX Item "-v mult[,mult]"
adjust playback volume (default: 1.0)
.IP "\-w mult[,mult]" 4
.IX Item "-w mult[,mult]"
adjust playback pitch (default: 1.0)
.IP "\-t" 4
.IX Item "-t"
enable jack transport
.IP "\-T" 4
.IX Item "-T"
become transport master (implies \-t)
.IP "\-d seconds" 4
.IX Item "-d seconds"
delay before starting playback
.IP "\-c bars" 4
.IX Item "-c bars"
pre-roll. use \-c 0 for 2 beats
.IP "\-l label" 4
.IX Item "-l label"
start playback at the given label
.IP "\-x multiplier" 4
.IX Item "-x multiplier"
multiply tempo by the given factor
.IP "\-h" 4
.IX Item "-h"
show this help
.SH "INTERACTIVE MODE"
.IX Header "INTERACTIVE MODE"
The following keyboard commands are available in interactive mode:
.IP "Arrow up/down" 4
.IX Item "Arrow up/down"
increase/reduce tempo by 10 bpm
.IP "Arrow right/left" 4
.IX Item "Arrow right/left"
increase/reduce tempo by 1 bpm
.IP "0\-9" 4
.IX Item "0-9"
set beats per bar (0/1: all beats are even)
.IP "q/w/e/r" 4
.IX Item "q/w/e/r"
set beat type (whole, half, quarter, eighth note)
.IP "+/=, \-" 4
increase/reduce volume
.IP "Space" 4
.IX Item "Space"
start/stop metronome
.IP "Escape" 4
.IX Item "Escape"
exit klick
.SH "TEMPO MAP FILE FORMAT"
.IX Header "TEMPO MAP FILE FORMAT"
A tempo map is a plain text file, consisting of an arbitrary number of lines
which will be played sequentially. Each line must have the following format:
.PP
.Vb 1
\& [label:] bars [meter] tempo [pattern] [volume]
.Ve
.PP
Everything in brackets is optional, and can be omitted to use the default. '#'
indicates the start of a comment, empty lines are ignored.
.IP "label" 4
.IX Item "label"
An optional name that can be used to refer to this line, and start
playback at this position.
.IP "bars" 4
.IX Item "bars"
The number of bars for this tempo map entry.
.IP "meter" 4
.IX Item "meter"
The meter, written as beats/denominator. This is optional, the default
is 4/4. The tempo in beats per minute, with a \*(L"beat\*(R" always referring
to quarter notes, no matter what the meter actually is.
.IP "tempo" 4
.IX Item "tempo"
.RS 4
.PD 0
.IP "tempo" 4
.IX Item "tempo"
.PD
Sets the tempo for the duration of the whole tempo map entry.
.IP "tempo1\-tempo2" 4
.IX Item "tempo1-tempo2"
Specifies the tempo for the start and the end of this
entry, with a gradual tempo change in between.
.IP "tempo1,tempo2,..." 4
.IX Item "tempo1,tempo2,..."
Sets a different tempo for each beat. The
number of
tempo values must be the same as the total number of
beats for this entry (bars * beats).
.RE
.RS 4
.RE
.IP "pattern" 4
.IX Item "pattern"
This can be used to alter the pattern of accented/normal beats. Use 'X'
(upper case) for accented beats, 'x' (lower case) for normal beats, and
\&'.' for silence. So for example, given a 6/8 measure, and you only want
the 1st and 4th beat to be played, you could use the pattern 'X..x..';
the default is 'Xxxxxx'.
.IP "volume" 4
.IX Item "volume"
Allows you to set a different volume for each part, default is 1.0.
.SS "Example Tempo Map"
.IX Subsection "Example Tempo Map"
.Vb 10
\& intro: 8 120 # play 8 measures at 120 bpm (4/4)
\& verse1: 12 120 X.x. # 12 measures at 120 bpm, playing only the 1st and 3rd beat
\& 4 120\-140 X.x. # gradually increase tempo to 140 bpm
\& chorus1: 16 140
\& bridge: 8 3/4 140 0.5 # change to 3/4 time, reduce volume
\& 8 3/4 140 # normal volume again
\& verse2: 12 120 # back to 4/4 (implied)
\& chorus2: 16 140 # jump to 140 bpm
\& outro: 6 140
\& 2 140\-80 # ritardando over the last 2 bars
.Ve
.SH "CLICK TRACK EXPORT"
.IX Header "CLICK TRACK EXPORT"
By default, klick connects to \s-1JACK\s0 for audio output. To export a click track to
an audio file instead, use the \-W parameter to specify an output filename. The
file type is determined by extension, supported formats are \s-1WAV, AIFF, FLAC,\s0 Ogg
Vorbis (with libsndfile >= 1.0.18).
The \-r parameter can be used to set the sample rate of the exported audio,
default is 48000 Hz.
.SH "OSC MESSAGES"
.IX Header "OSC MESSAGES"
klick must be compiled with lilbo support to use \s-1OSC.\s0
.PP
klick understands the following \s-1OSC\s0 messages:
.SS "General"
.IX Subsection "General"
.IP "/klick/ping" 4
.IX Item "/klick/ping"
.PD 0
.IP "/klick/ping ,s <return_address>" 4
.IX Item "/klick/ping ,s <return_address>"
.PD
responds: /klick/pong
.IP "/klick/register_client" 4
.IX Item "/klick/register_client"
.PD 0
.IP "/klick/register_client ,s <address>" 4
.IX Item "/klick/register_client ,s <address>"
.PD
registers a client to receive notifications when any parameter changes
.IP "/klick/unregister_client" 4
.IX Item "/klick/unregister_client"
.PD 0
.IP "/klick/unregister_client ,s <address>" 4
.IX Item "/klick/unregister_client ,s <address>"
.PD
unregisters a client
.IP "/klick/query" 4
.IX Item "/klick/query"
.PD 0
.IP "/klick/query ,s <return_address>" 4
.IX Item "/klick/query ,s <return_address>"
.PD
reports current state (same as /klick/*/query)
.IP "/klick/quit" 4
.IX Item "/klick/quit"
terminates klick
.SS "Configuration"
.IX Subsection "Configuration"
.IP "/klick/config/set_sound ,i <number>" 4
.IX Item "/klick/config/set_sound ,i <number>"
sets the sound to one of the built-in ones
.IP "/klick/config/set_sound ,ss <filename> <filename>" 4
.IX Item "/klick/config/set_sound ,ss <filename> <filename>"
loads the sound from two audio files
.IP "/klick/config/set_sound_volume ,ff <emphasis> <normal>" 4
.IX Item "/klick/config/set_sound_volume ,ff <emphasis> <normal>"
changes the volume individually for both samples
.IP "/klick/config/set_sound_pitch ,ff <emphasis> <normal>" 4
.IX Item "/klick/config/set_sound_pitch ,ff <emphasis> <normal>"
changes the pitch individually for both samples
.IP "/klick/config/set_volume ,f <volume>" 4
.IX Item "/klick/config/set_volume ,f <volume>"
sets the overall output volume
.IP "/klick/config/autoconnect" 4
.IX Item "/klick/config/autoconnect"
connects klick's output port to the first two hardware ports
.IP "/klick/config/connect ,s... <port> ..." 4
.IX Item "/klick/config/connect ,s... <port> ..."
connects klick's output port to the specified \s-1JACK\s0 ports
.IP "/klick/config/disconnect_all" 4
.IX Item "/klick/config/disconnect_all"
disconnects all connections from klick's output port
.IP "/klick/config/get_available_ports" 4
.IX Item "/klick/config/get_available_ports"
.PD 0
.IP "/klick/config/get_available_ports ,s <return_address>" 4
.IX Item "/klick/config/get_available_ports ,s <return_address>"
.PD
returns a list of all \s-1JACK\s0 input ports:
.Sp
.Vb 1
\& /klick/config/available_ports ,s... <port> ...
.Ve
.IP "/klick/config/query" 4
.IX Item "/klick/config/query"
.PD 0
.IP "/klick/config/query ,s <return_address>" 4
.IX Item "/klick/config/query ,s <return_address>"
.PD
reports current state:
.Sp
.Vb 5
\& /klick/config/sound ,i
\& /klick/config/sound ,ss
\& /klick/config/sound_volume ,ff
\& /klick/config/sound_pitch ,ff
\& /klick/config/volume ,f
.Ve
.SS "Generic Metronome Functions"
.IX Subsection "Generic Metronome Functions"
.IP "/klick/metro/set_type ,s <type>" 4
.IX Item "/klick/metro/set_type ,s <type>"
sets the metronome type, one of 'simple', 'map', 'jack'
.IP "/klick/metro/start" 4
.IX Item "/klick/metro/start"
starts the metronome
.IP "/klick/metro/stop" 4
.IX Item "/klick/metro/stop"
stops the metronome
.IP "/klick/metro/query" 4
.IX Item "/klick/metro/query"
.PD 0
.IP "/klick/metro/query ,s <return_address>" 4
.IX Item "/klick/metro/query ,s <return_address>"
.PD
reports current state:
.Sp
.Vb 2
\& /klick/metro/type ,s
\& /klick/metro/active ,i
.Ve
.SS "Simple (Dynamic) Metronome"
.IX Subsection "Simple (Dynamic) Metronome"
.IP "/klick/simple/set_tempo ,f <tempo>" 4
.IX Item "/klick/simple/set_tempo ,f <tempo>"
sets the metronome's tempo
.IP "/klick/simple/set_tempo_increment ,f <increment>" 4
.IX Item "/klick/simple/set_tempo_increment ,f <increment>"
sets the tempo increment per bar
.IP "/klick/simple/set_tempo_start ,f <start>" 4
.IX Item "/klick/simple/set_tempo_start ,f <start>"
sets the start tempo
.IP "/klick/simple/set_tempo_limit ,f <limit>" 4
.IX Item "/klick/simple/set_tempo_limit ,f <limit>"
sets the maximum tempo
.IP "/klick/simple/set_meter ,ii <beats> <denom>" 4
.IX Item "/klick/simple/set_meter ,ii <beats> <denom>"
sets the metronome's meter
.IP "/klick/simple/set_pattern ,s <pattern>" 4
.IX Item "/klick/simple/set_pattern ,s <pattern>"
sets the beat pattern
.IP "/klick/simple/tap" 4
.IX Item "/klick/simple/tap"
tap tempo
.IP "/klick/simple/query" 4
.IX Item "/klick/simple/query"
.PD 0
.IP "/klick/simple/query ,s <return_address>" 4
.IX Item "/klick/simple/query ,s <return_address>"
.PD
reports current state:
.Sp
.Vb 6
\& /klick/simple/tempo ,f
\& /klick/simple/tempo_increment ,f
\& /klick/simple/tempo_limit ,f
\& /klick/simple/current_tempo ,f
\& /klick/simple/meter ,ii
\& /klick/simple/pattern ,s
.Ve
.SS "Tempo Map Metronome"
.IX Subsection "Tempo Map Metronome"
.IP "/klick/map/load_file ,s <filename>" 4
.IX Item "/klick/map/load_file ,s <filename>"
loads a tempo map from a file
.IP "/klick/map/set_preroll ,i <bars>" 4
.IX Item "/klick/map/set_preroll ,i <bars>"
sets the preroll before the start of the tempo map
.IP "/klick/map/set_tempo_multiplier ,f <mult>" 4
.IX Item "/klick/map/set_tempo_multiplier ,f <mult>"
sets the tempo multiplier
.IP "/klick/map/query" 4
.IX Item "/klick/map/query"
.PD 0
.IP "/klick/map/query ,s <return_address>" 4
.IX Item "/klick/map/query ,s <return_address>"
.PD
reports current state:
.Sp
.Vb 3
\& /klick/map/filename ,s
\& /klick/map/preroll ,i
\& /klick/map/tempo_multiplier ,f
.Ve
.SS "\s-1JACK\s0 Transport Metronome"
.IX Subsection "JACK Transport Metronome"
.IP "/klick/jack/query" 4
.IX Item "/klick/jack/query"
.PD 0
.IP "/klick/jack/query ,s <return_address>" 4
.IX Item "/klick/jack/query ,s <return_address>"
.PD
currently does nothing
.SH "AUTHOR"
.IX Header "AUTHOR"
klick is opyright (C) 2007\-2009 Dominic Sacre <dominic.sacre@gmx.de>