annotate qm-vamp-plugins/qm-vamp-plugins.cpp @ 24:1e6940e42972

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