Mercurial > hg > btrack
comparison doc/mainpage.dox @ 36:5bd9ae503dcf master 1.0.0
flow: Merged <release> '1.0.0' to <master> ('master').
author | Adam Stark <adamstark.uk@gmail.com> |
---|---|
date | Tue, 08 Jul 2014 12:32:27 +0100 |
parents | deb49a2590f3 |
children |
comparison
equal
deleted
inserted
replaced
13:0d29e68fa2ee | 36:5bd9ae503dcf |
---|---|
1 /** | |
2 * \mainpage BTrack - A Real-Time Beat Tracker | |
3 * | |
4 * A real-time beat tracker, implemented in C++. | |
5 * | |
6 * Written by Adam Stark, Matthew Davies and Mark Plumbley. | |
7 * | |
8 * License | |
9 * ------- | |
10 * | |
11 * BTrack is made available under the GNU General Public License, version 3. Please see the included LICENSE.txt for more details. | |
12 * | |
13 * Usage - C++ | |
14 * ----------- | |
15 * | |
16 * **STEP 1** | |
17 * | |
18 * Include the BTrack header file as follows: | |
19 * | |
20 * #include "BTrack.h" | |
21 * | |
22 * **STEP 2** | |
23 * | |
24 * Instantiate the algorithm by one of the following: | |
25 * | |
26 * | |
27 * // to use the default 512 hop size and 1024 frame size | |
28 * BTrack b; | |
29 * | |
30 * or: | |
31 * | |
32 * // to specify a hop size (e.g. 512) and have a frame size of 2 x the hop size | |
33 * BTrack b(512); | |
34 * | |
35 * or: | |
36 * | |
37 * // to specify both the hop size and frame size | |
38 * BTrack b(512,1024); | |
39 * | |
40 * **STEP 3.1 - Audio Input** | |
41 * | |
42 * In the processing loop, fill a double precision array with one frame of audio samples (as determined in step 2): | |
43 * | |
44 * double *frame; | |
45 * | |
46 * // ! | |
47 * // do something here to fill the frame with audio samples | |
48 * // ! | |
49 * | |
50 * and then call: | |
51 * | |
52 * b.processAudioFrame(frame); | |
53 * | |
54 * and to check for beats, simply call: | |
55 * | |
56 * if (b.beatDueInCurrentFrame()) | |
57 * { | |
58 * // do something on the beat | |
59 * } | |
60 * | |
61 * **STEP 3.2 - Onset Detection Function Input** | |
62 * | |
63 * The algorithm can process onset detection function samples. Given a double precision onset detection function sample called 'newSamples', at each step, call: | |
64 * | |
65 * b.processOnsetDetectionFunctionSample(newSample); | |
66 * | |
67 * and then check for beats with: | |
68 * | |
69 * if (b.beatDueInCurrentFrame()) | |
70 * { | |
71 * // do something on the beat | |
72 * } | |
73 * | |
74 * For any questions, please email Adam Stark (email at http://www.adamstark.co.uk). | |
75 */ |