summaryrefslogtreecommitdiff
path: root/manual/plugins/metronome.tex
diff options
context:
space:
mode:
Diffstat (limited to 'manual/plugins/metronome.tex')
-rw-r--r--manual/plugins/metronome.tex175
1 files changed, 174 insertions, 1 deletions
diff --git a/manual/plugins/metronome.tex b/manual/plugins/metronome.tex
index e792498984..760507e9b9 100644
--- a/manual/plugins/metronome.tex
+++ b/manual/plugins/metronome.tex
@@ -1,6 +1,23 @@
1\subsection{Metronome} 1\subsection{Metronome}
2
2This plugin can be used as a metronome to keep time during music 3This plugin can be used as a metronome to keep time during music
3practice. Adjust the tempo through the interface or by tapping it out 4practice. It supports two modes of operation, depending on it being
5started from the plugin menu or as viewer for tempomap (\verb:.tempo:)
6files.
7
8The sound is a piercing square wave that can be heard well also
9through loud music from a band.
10In addition, the display also indicates the beats while playing
11so that you can discreetly place the device
12in your sight for checking the tempo instead of wearing
13headphones at a concert.
14
15\subsubsection{Simple Interactive Mode}
16
17This is the mode of operation that is active when starting the
18plugin directly from the menu. It offers a uniform metronome sound at
19a constant tempo.
20You can adjust the tempo through the interface or by tapping it out
4on the appropriate button. 21on the appropriate button.
5 22
6\begin{btnmap} 23\begin{btnmap}
@@ -34,3 +51,159 @@ on the appropriate button.
34 \opt{HAVEREMOTEKEYMAP}{& } 51 \opt{HAVEREMOTEKEYMAP}{& }
35 & Sync tap \\} 52 & Sync tap \\}
36\end{btnmap} 53\end{btnmap}
54
55
56\subsubsection{Programmed Track Mode}
57
58When starting the plugin as a viewer for tempomap files
59(ending in \verb:.tempo:), it starts in the track mode that offers
60playback of a preprogrammed metronome track consisting out of
61multiple parts, each with possibly different properties.
62
63In contrast to the simple mode, there exists the notion of
64meter and bars, along with emphasis on certain beats.
65Parts can have these properties:
66
67\begin{itemize}
68 \item finite or infinite duration in bars (navigation only jumps
69 to the beginning of infinite parts),
70 \item differing meters (4/4, 3/4, 6/8, etc., default 4/4),
71 \item differing tempo (always in quarter beats per minute,
72 default 120) with
73 \begin{itemize}
74 \item one tempo per bar or even one tempo per beat, or
75 \item smooth tempo changes with configurable acceleration, and
76 \end{itemize}
77 \item custom beat patterns (tick/tock/silence on each beat),
78 default being emphasis (tick) on first beat, normal sound
79 (tock) on others.
80\end{itemize}
81
82\paragraph{The button mapping}
83is different to enable navigation in the programmed track.
84\begin{btnmap}
85 \PluginExit
86 \opt{HAVEREMOTEKEYMAP}{& }
87 & Exit plugin \\
88
89 \PluginCancel
90 \opt{HAVEREMOTEKEYMAP}{& \PluginRCCancel}
91 & Stop (stay at position) \\
92
93 \PluginSelect
94 \opt{HAVEREMOTEKEYMAP}{& \PluginRCSelect}
95 & Start from / Stop at current position \\
96
97 \PluginLeft{} / \PluginRight
98 \opt{HAVEREMOTEKEYMAP}{& \PluginRCLeft{} / \PluginRCRight}
99 & Seek in track \\
100
101 \opt{scrollwheel}{\PluginScrollFwd{} / \PluginScrollBack}
102 \nopt{scrollwheel}{\PluginUp{} / \PluginDown}
103 \opt{HAVEREMOTEKEYMAP}{& \PluginRCUp{} / \PluginRCDown}
104 & Adjust volume \\
105
106 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,SANSA_E200_PAD}{
107 \ButtonRec
108 \opt{HAVEREMOTEKEYMAP}{& }
109 & Sync tap \\}
110\end{btnmap}
111
112\paragraph{Navigation}
113The display indicates the part properties and position in track as such:
114\begin{verbatim}
115 Metronome Track
116 ---------------
117 "Interlude"
118 3/4@120 V-25
119 P2/13: B1/5+2
120\end{verbatim}
121In this example, the part label is ``Interlude'', the meter is 3/4 and
122the tempo 120 quarter beats per minute (bpm). The volume setting is at -25
123and this is the second part of a track with 13 total. In that part,
124the position is at the second beat of the first bar of five.
125
126\paragraph{The syntax of programmed tracks}
127in tempomap files follows the format defined by
128\url{http://das.nasophon.de/klick/}.
129Actually, the goal is to keep compatibility between klick and this
130Rockbox metronome.
131The parts of a track are specified one line each in this scheme
132(pieces in [] optional):
133\begin{verbatim}
134[name:] bars [meter ]tempo[-tempo2[*accel|/accel] [pattern] [volume]
135\end{verbatim}
136The bar count and tempo always have to be specified, the rest is optional.
137
138One example is
139\begin{verbatim}
140part I: 12 3/4 133
141\end{verbatim}
142for a part named ``part I'' , 12 bars long, in 3/4 meter with
143a tempo of 133 quarter beats per minute.
144Tempo changes are indicated by specifying a tempo range and the
145acceleration in one of these ways:
146\begin{verbatim}
1470 4/4 90-150*0.25
1480 4/4 150-90/4
14916 4/4 100-200
150\end{verbatim}
151The first one goes from 90 to 150 bpm in an endless part with 0.25 bpm
152increase per bar. The second one goes down from 150 to 90 with
1534 bars per bpm change, which is the same acceleration as in the first line.
154The last one is a part of 16 bars length that changes tempo from 100 to 200
155smoothly during its whole lifetime (6.25 bpm/bar). For details on how the
156acceleration works, see
157\url{http://thomas.orgis.org/science/metronome-tempomath/tempomath.html}.
158
159It is also possible to provide a tempo for each individual beat in a part
160by separating values with a comma (no spaces),
161\begin{verbatim}
162varibeat: 3 4/4 135,90,78,100,120,120,99,100,43,94,120,133
163\end{verbatim}
164where the beat duration is first according to 135 bpm, then 90 bpm,
165and so forth. You are required to provide a value for each beat
166in all bars of the part.
167
168You can provide a pattern that controls how the beats are played:
169\begin{center}
170\begin{tabular}{c|l}
171 Symbol & Meaning \\
172 \hline
173 X & emphasized beat (Tick) \\
174 x & normal beat (Tock) \\
175 . & silent beat
176\end{tabular}
177\end{center}
178
179Some examples:
180\begin{verbatim}
181default: 0 4/4 120 Xxxx
182rockon2: 0 4/4 120 xXxX
183 solea: 0 12/4 180 xxXxxXxXxXxX
184shuffle: 0 12/12 120 x.xX.xx.xX..
185 funky: 0 16/16 120 x.x.X..X.Xx.X..X
186\end{verbatim}
187The 12/12 for the shuffle create 1/4 triplets. Just do a bit of math;-)
188This is still a metronome, not a drum machine, but it can act like a basic
189one, helping you to figure out a certain rhythm within the meter.
190
191The UI is developed so that it fits into the display of a Sansa Clip+ and
192that is the hardware device it is tested on. It seems to work reasonably
193on some other models in the simulator.
194
195At last, a more complete tempomap file:
196\begin{verbatim}
197# An example track exercising the programmable Rockbox metronome
198# or also http://das.nasophon.de/klick/.
199 lead-in: 1 4/4 120 XXXX 0.5 # 4 emphasized but less loud ticks
200 intro: 4 4/4 120 # standard beat
201tearing down: 4 120-90 # changing tempo from 120 to 90
202 break: 2 1/4 90 # 2 1/4 bars at 90
203 rolling: 2 6/8 90 # 2 6/8 at same tempo (quarters!)
204 rumbling: 4 3/4 90 X.x # 3/4, first (tick) and last (tock)
205 ramp-up: 8 2/4 90-150 # speeding up to 150 bpm again
206 flow: 4 150 # steady 4/4 at 150 bpm
207 death: 8 150-60 # going down to 60
208 final: 1 1/1 60 # one last hit
209\end{verbatim}