c@27
|
1
|
c@39
|
2 #include "PiperExport.h"
|
c@27
|
3
|
c@27
|
4 #include "plugins/BeatTrack.h"
|
c@27
|
5 #include "plugins/OnsetDetect.h"
|
c@27
|
6 #include "plugins/ChromagramPlugin.h"
|
c@27
|
7 #include "plugins/ConstantQSpectrogram.h"
|
c@27
|
8 #include "plugins/TonalChangeDetect.h"
|
c@27
|
9 #include "plugins/KeyDetect.h"
|
c@27
|
10 #include "plugins/MFCCPlugin.h"
|
c@27
|
11 #include "plugins/SegmenterPlugin.h"
|
c@27
|
12 #include "plugins/SimilarityPlugin.h"
|
c@27
|
13 #include "plugins/BarBeatTrack.h"
|
c@27
|
14 //!!!#include "plugins/AdaptiveSpectrogram.h"
|
c@27
|
15 #include "plugins/DWT.h"
|
c@27
|
16 #include "plugins/Transcription.h"
|
c@27
|
17
|
c@29
|
18 using piper_vamp_js::PiperAdapter;
|
c@29
|
19 using piper_vamp_js::PiperPluginLibrary;
|
c@27
|
20
|
c@48
|
21 static std::string libname("qm-vamp-plugins");
|
c@27
|
22
|
c@48
|
23 static PiperAdapter<BeatTracker>
|
c@48
|
24 qmTempoTrackerAdapter(
|
c@48
|
25 libname,
|
c@48
|
26 { "Time", "Tempo" },
|
c@48
|
27 {
|
c@48
|
28 { "beats",
|
c@48
|
29 { "http://purl.org/ontology/af/Beat" }
|
c@48
|
30 },
|
c@48
|
31 { "detection_fn",
|
c@48
|
32 { "http://purl.org/ontology/af/OnsetDetectionFunction" }
|
c@48
|
33 },
|
c@48
|
34 { "tempo",
|
c@48
|
35 { "http://purl.org/ontology/af/Tempo" }
|
c@48
|
36 }
|
c@48
|
37 }
|
c@48
|
38 );
|
c@48
|
39
|
c@48
|
40 static PiperAdapter<OnsetDetector>
|
c@48
|
41 qmOnsetDetectorAdapter(
|
c@48
|
42 libname,
|
c@48
|
43 { "Time", "Onsets" },
|
c@48
|
44 {
|
c@48
|
45 { "onsets",
|
c@48
|
46 { "http://purl.org/ontology/af/Onset" }
|
c@48
|
47 },
|
c@48
|
48 { "detection_fn",
|
c@48
|
49 { "http://purl.org/ontology/af/OnsetDetectionFunction" }
|
c@48
|
50 },
|
c@48
|
51 { "smoothed_df",
|
c@48
|
52 { "http://purl.org/ontology/af/OnsetDetectionFunction" }
|
c@48
|
53 }
|
c@48
|
54 }
|
c@48
|
55 );
|
c@48
|
56
|
c@48
|
57 static PiperAdapter<ChromagramPlugin>
|
c@48
|
58 qmChromagramAdapter(
|
c@48
|
59 libname,
|
c@48
|
60 { "Visualisation" },
|
c@48
|
61 {
|
c@48
|
62 { "chromagram",
|
c@48
|
63 { "http://purl.org/ontology/af/Chromagram" }
|
c@48
|
64 },
|
c@48
|
65 { "chromameans",
|
c@48
|
66 { "" }
|
c@48
|
67 }
|
c@48
|
68 }
|
c@48
|
69 );
|
c@48
|
70
|
c@48
|
71 static PiperAdapter<ConstantQSpectrogram>
|
c@48
|
72 qmConstantQAdapter(
|
c@48
|
73 libname,
|
c@48
|
74 { "Visualisation" },
|
c@48
|
75 {
|
c@48
|
76 { "constantq",
|
c@48
|
77 { "http://purl.org/ontology/af/Spectrogram" }
|
c@48
|
78 }
|
c@48
|
79 }
|
c@48
|
80 );
|
c@48
|
81
|
c@48
|
82 static PiperAdapter<TonalChangeDetect>
|
c@48
|
83 qmTonalChangeAdapter(
|
c@48
|
84 libname,
|
c@48
|
85 { "Key and Tonality" },
|
c@48
|
86 {
|
c@48
|
87 { "tcstransform",
|
c@48
|
88 { "http://purl.org/ontology/af/TonalContentSpace" }
|
c@48
|
89 },
|
c@48
|
90 { "tcfunction",
|
c@48
|
91 { "http://purl.org/ontology/af/TonalChangeDetectionFunction" }
|
c@48
|
92 },
|
c@48
|
93 { "changepositions",
|
c@48
|
94 { "http://purl.org/ontology/af/TonalOnset" }
|
c@48
|
95 }
|
c@48
|
96 }
|
c@48
|
97 );
|
c@48
|
98
|
c@48
|
99 static PiperAdapter<KeyDetector>
|
c@48
|
100 qmKeyDetectorAdapter(
|
c@48
|
101 libname,
|
c@48
|
102 { "Key and Tonality" },
|
c@48
|
103 {
|
c@48
|
104 { "tonic",
|
c@48
|
105 { "" }
|
c@48
|
106 },
|
c@48
|
107 { "mode",
|
c@48
|
108 { "" }
|
c@48
|
109 },
|
c@48
|
110 { "key",
|
c@48
|
111 { "http://purl.org/ontology/af/KeyChange" }
|
c@48
|
112 },
|
c@48
|
113 { "keystrength",
|
c@48
|
114 { "" }
|
c@48
|
115 }
|
c@48
|
116 }
|
c@48
|
117 );
|
c@48
|
118
|
c@48
|
119 static PiperAdapter<SegmenterPlugin>
|
c@48
|
120 qmSegmenterAdapter(
|
c@48
|
121 libname,
|
c@48
|
122 { "Classification" },
|
c@48
|
123 {
|
c@48
|
124 { "segmentation",
|
c@48
|
125 { "http://purl.org/ontology/af/StructuralSegment" }
|
c@48
|
126 }
|
c@48
|
127 }
|
c@48
|
128 );
|
c@48
|
129
|
c@48
|
130 static PiperAdapter<SimilarityPlugin>
|
c@48
|
131 qmSimilarityAdapter(
|
c@48
|
132 libname,
|
c@48
|
133 { "Classification" },
|
c@48
|
134 {
|
c@48
|
135 { "distancematrix",
|
c@48
|
136 { "" }
|
c@48
|
137 },
|
c@48
|
138 { "distancevector",
|
c@48
|
139 { "" }
|
c@48
|
140 },
|
c@48
|
141 { "sorteddistancevector",
|
c@48
|
142 { "" }
|
c@48
|
143 },
|
c@48
|
144 { "means",
|
c@48
|
145 { "" }
|
c@48
|
146 },
|
c@48
|
147 { "variances",
|
c@48
|
148 { "" }
|
c@48
|
149 },
|
c@48
|
150 { "beatspectrum",
|
c@48
|
151 { "" }
|
c@48
|
152 }
|
c@48
|
153 }
|
c@48
|
154 );
|
c@48
|
155
|
c@48
|
156 static PiperAdapter<MFCCPlugin>
|
c@48
|
157 qmMfccAdapter(
|
c@48
|
158 libname,
|
c@48
|
159 { "Low Level Features" },
|
c@48
|
160 {
|
c@48
|
161 { "coefficients",
|
c@48
|
162 { "" }
|
c@48
|
163 },
|
c@48
|
164 { "means",
|
c@48
|
165 { "" }
|
c@48
|
166 }
|
c@48
|
167 }
|
c@48
|
168 );
|
c@48
|
169
|
c@48
|
170 static PiperAdapter<BarBeatTracker>
|
c@48
|
171 qmBarBeatTrackerAdapter(
|
c@48
|
172 libname,
|
c@48
|
173 { "Time", "Tempo" },
|
c@48
|
174 {
|
c@48
|
175 { "beats",
|
c@48
|
176 { "http://purl.org/ontology/af/Beat" }
|
c@48
|
177 },
|
c@48
|
178 { "bars",
|
c@48
|
179 { "" }
|
c@48
|
180 },
|
c@48
|
181 { "beatcounts",
|
c@48
|
182 { "" }
|
c@48
|
183 },
|
c@48
|
184 { "beatsd",
|
c@48
|
185 { "" }
|
c@48
|
186 }
|
c@48
|
187 }
|
c@48
|
188 );
|
c@48
|
189
|
c@48
|
190 static PiperAdapter<DWT>
|
c@48
|
191 qmDwtAdapter(
|
c@48
|
192 libname,
|
c@48
|
193 { "Visualisation" },
|
c@48
|
194 {
|
c@48
|
195 { "wcoeff",
|
c@48
|
196 { "" }
|
c@48
|
197 }
|
c@48
|
198 }
|
c@48
|
199 );
|
c@48
|
200
|
c@48
|
201 /*
|
c@48
|
202 static PiperAdapter<AdaptiveSpectrogram>
|
c@48
|
203 qmAdaptiveSpectrogramAdapter(
|
c@48
|
204 libname,
|
c@48
|
205 { "Visualisation" },
|
c@48
|
206 {
|
c@48
|
207 { "output",
|
c@48
|
208 { "http://purl.org/ontology/af/Spectrogram" }
|
c@48
|
209 }
|
c@48
|
210 }
|
c@48
|
211 );
|
c@48
|
212 */
|
c@48
|
213
|
c@48
|
214 static PiperAdapter<Transcription>
|
c@48
|
215 qmTranscriptionAdapter(
|
c@48
|
216 libname,
|
c@48
|
217 { "Notes" },
|
c@48
|
218 {
|
c@48
|
219 { "transcription",
|
c@48
|
220 { "http://purl.org/ontology/af/Note" }
|
c@48
|
221 }
|
c@48
|
222 }
|
c@48
|
223 );
|
c@27
|
224
|
c@27
|
225 static PiperPluginLibrary library({
|
c@48
|
226 &qmTempoTrackerAdapter,
|
c@48
|
227 &qmOnsetDetectorAdapter,
|
c@48
|
228 &qmChromagramAdapter,
|
c@48
|
229 &qmConstantQAdapter,
|
c@48
|
230 &qmTonalChangeAdapter,
|
c@48
|
231 &qmKeyDetectorAdapter,
|
c@48
|
232 &qmSegmenterAdapter,
|
c@48
|
233 &qmSimilarityAdapter,
|
c@48
|
234 &qmMfccAdapter,
|
c@48
|
235 &qmBarBeatTrackerAdapter,
|
c@48
|
236 &qmDwtAdapter,
|
c@48
|
237 // &qmAdaptivespectrogramAdapter,
|
c@48
|
238 &qmTranscriptionAdapter
|
c@39
|
239 });
|
c@27
|
240
|
c@39
|
241 PIPER_EXPORT_LIBRARY(library);
|
c@27
|
242
|