Mercurial > hg > btrack
comparison README.md @ 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 | a90b187d6122 |
children |
comparison
equal
deleted
inserted
replaced
13:0d29e68fa2ee | 36:5bd9ae503dcf |
---|---|
1 BTrack - A Real-Time Beat Tracker | 1 BTrack - A Real-Time Beat Tracker |
2 ================================= | 2 ================================= |
3 | 3 |
4 ** Version 0.9 ** | 4 ** Version 1.0.0 ** |
5 | 5 |
6 *by Adam Stark, Matthew Davies and Mark Plumbley.* | 6 *by Adam Stark, Matthew Davies and Mark Plumbley.* |
7 | 7 |
8 | 8 |
9 About BTrack | 9 About BTrack |
10 ------------ | 10 ------------ |
11 | 11 |
12 BTrack is a causal beat tracking algorithm intended for real-time use. It is implemented in C++ with a wrapper for Python. | 12 BTrack is a causal beat tracking algorithm intended for real-time use. It is implemented in C++ with wrappers for Python and the Vamp plug-in framework. |
13 | 13 |
14 Full details of the working of the algorithm can be found in: | 14 Full details of the working of the algorithm can be found in: |
15 | 15 |
16 * Musicians and Machines: Bridging the Semantic Gap in Live Performance, Chapter 3, A. M. Stark, PhD Thesis, Queen Mary, University of London, 2011. | 16 * Musicians and Machines: Bridging the Semantic Gap in Live Performance, Chapter 3, A. M. Stark, PhD Thesis, Queen Mary, University of London, 2011. |
17 | 17 |
19 | 19 |
20 | 20 |
21 Versions | 21 Versions |
22 -------- | 22 -------- |
23 | 23 |
24 ==== 0.9 ==== | 24 ==== 1.0.0 ==== (8th July 2014) |
25 | |
26 * Many updates to stability and improvements to implementation | |
27 | |
28 ==== 0.9.0 ==== (circa 2008/2009) | |
25 | 29 |
26 * This is the original version of the BTrack algorithm | 30 * This is the original version of the BTrack algorithm |
27 | 31 |
28 | 32 |
29 | 33 |
30 License | 34 License |
31 ------- | 35 ------- |
32 | 36 |
33 BTrack is made available under the GNU General Public License, version 3. Please see the included LICENSE.txt for more details. | 37 BTrack is made available under the GNU General Public License, version 3. Please see the included LICENSE.txt for more details. |
38 | |
39 Usage - C++ | |
40 ----------- | |
41 | |
42 **STEP 1** | |
43 | |
44 Include the BTrack header file as follows: | |
45 | |
46 #include "BTrack.h" | |
47 | |
48 **STEP 2** | |
49 | |
50 Instantiate the algorithm by one of the following: | |
51 | |
52 // to use the default 512 hop size and 1024 frame size | |
53 BTrack b; | |
54 | |
55 or: | |
56 | |
57 // to specify a hop size (e.g. 512) and have a frame size of 2 x the hop size | |
58 BTrack b(512); | |
59 | |
60 or: | |
61 | |
62 // to specify both the hop size and frame size | |
63 BTrack b(512,1024); | |
64 | |
65 **STEP 3.1 - Audio Input** | |
66 | |
67 In the processing loop, fill a double precision array with one frame of audio samples (as determined in step 2): | |
68 | |
69 double *frame; | |
70 | |
71 // ! | |
72 // do something here to fill the frame with audio samples | |
73 // ! | |
74 | |
75 and then call: | |
76 | |
77 b.processAudioFrame(frame); | |
78 | |
79 and to check for beats, simply call: | |
80 | |
81 if (b.beatDueInCurrentFrame()) | |
82 { | |
83 // do something on the beat | |
84 } | |
85 | |
86 **STEP 3.2 - Onset Detection Function Input** | |
87 | |
88 The algorithm can process onset detection function samples. Given a double precision onset detection function sample called 'newSamples', at each step, call: | |
89 | |
90 b.processOnsetDetectionFunctionSample(newSample); | |
91 | |
92 and then check for beats with: | |
93 | |
94 if (b.beatDueInCurrentFrame()) | |
95 { | |
96 // do something on the beat | |
97 } | |
98 | |
99 | |
100 License | |
101 ------- | |
102 | |
103 Copyright (c) 2014 Queen Mary University of London | |
104 | |
105 This program is free software: you can redistribute it and/or modify | |
106 it under the terms of the GNU General Public License as published by | |
107 the Free Software Foundation, either version 3 of the License, or | |
108 (at your option) any later version. | |
109 | |
110 This program is distributed in the hope that it will be useful, | |
111 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
112 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
113 GNU General Public License for more details. | |
114 | |
115 You should have received a copy of the GNU General Public License | |
116 along with this program. If not, see <http://www.gnu.org/licenses/>. |