forked from MTG/essentia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
343 lines (335 loc) · 16.8 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
cmake_minimum_required(VERSION 3.6.0)
project(essentia-android)
file(GLOB essentia_src
"src/essentia/algorithm.cpp"
"src/essentia/configurable.cpp"
"src/essentia/connector.cpp"
"src/essentia/debugging.cpp"
"src/essentia/essentia.cpp"
"src/essentia/essentiautil.cpp"
"src/essentia/parameter.cpp"
"src/essentia/pool.cpp"
"src/essentia/range.cpp"
"src/essentia/scheduler/network.cpp"
"src/essentia/scheduler/networkparser.cpp"
"src/essentia/streaming/accumulatoralgorithm.cpp"
"src/essentia/streaming/algorithms/devnull.cpp"
"src/essentia/streaming/algorithms/poolstorage.cpp"
"src/essentia/streaming/algorithms/ringbufferinput.cpp"
"src/essentia/streaming/algorithms/ringbufferoutput.cpp"
"src/essentia/streaming/algorithms/ringbuffervectoroutput.cpp"
"src/essentia/streaming/sinkbase.cpp"
"src/essentia/streaming/sourcebase.cpp"
"src/essentia/streaming/streamingalgorithm.cpp"
"src/essentia/streaming/streamingalgorithmcomposite.cpp"
"src/essentia/streaming/streamingalgorithmwrapper.cpp"
"src/essentia/stringutil.cpp"
"src/essentia/utils/asciidag.cpp"
"src/essentia/utils/asciidagparser.cpp"
"src/essentia/utils/extractor_freesound/FreesoundLowlevelDescriptors.cpp"
"src/essentia/utils/extractor_freesound/FreesoundRhythmDescriptors.cpp"
"src/essentia/utils/extractor_freesound/FreesoundSfxDescriptors.cpp"
"src/essentia/utils/extractor_freesound/FreesoundTonalDescriptors.cpp"
"src/essentia/utils/extractor_music/MusicLowlevelDescriptors.cpp"
"src/essentia/utils/extractor_music/MusicRhythmDescriptors.cpp"
"src/essentia/utils/extractor_music/MusicTonalDescriptors.cpp"
"src/essentia/utils/synth_utils.cpp"
"src/algorithms/essentia_algorithms_reg.cpp"
"src/algorithms/temporal/loudnessebur128filter.cpp"
"src/algorithms/temporal/duration.cpp"
"src/algorithms/temporal/loudnessvickers.cpp"
"src/algorithms/temporal/loudness.cpp"
"src/algorithms/temporal/lpc.cpp"
"src/algorithms/temporal/larm.cpp"
"src/algorithms/temporal/zerocrossingrate.cpp"
"src/algorithms/temporal/loudnessebur128.cpp"
"src/algorithms/temporal/effectiveduration.cpp"
"src/algorithms/temporal/leq.cpp"
"src/algorithms/filters/medianfilter.cpp"
"src/algorithms/filters/allpass.cpp"
"src/algorithms/filters/iir.cpp"
"src/algorithms/filters/bandreject.cpp"
"src/algorithms/filters/dcremoval.cpp"
"src/algorithms/filters/equalloudness.cpp"
"src/algorithms/filters/movingaverage.cpp"
"src/algorithms/filters/lowpass.cpp"
"src/algorithms/filters/bandpass.cpp"
"src/algorithms/filters/highpass.cpp"
"src/algorithms/experimental/beatogram.cpp"
"src/algorithms/experimental/meter.cpp"
"src/algorithms/tonal/inharmonicity.cpp"
"src/algorithms/tonal/pitchyin.cpp"
"src/algorithms/tonal/pitchcontoursmultimelody.cpp"
"src/algorithms/tonal/chordsdescriptors.cpp"
"src/algorithms/tonal/chordsdetection.cpp"
"src/algorithms/tonal/highresolutionfeatures.cpp"
"src/algorithms/tonal/multipitchklapuri.cpp"
"src/algorithms/tonal/pitchcontoursegmentation.cpp"
"src/algorithms/tonal/pitchfilter.cpp"
"src/algorithms/tonal/key.cpp"
"src/algorithms/tonal/pitchsaliencefunction.cpp"
"src/algorithms/tonal/pitchyinprobabilities.cpp"
"src/algorithms/tonal/nnlschroma.cpp"
"src/algorithms/tonal/dissonance.cpp"
"src/algorithms/tonal/vibrato.cpp"
"src/algorithms/tonal/pitchyinfft.cpp"
"src/algorithms/tonal/tristimulus.cpp"
"src/algorithms/tonal/tuningfrequency.cpp"
"src/algorithms/tonal/pitchcontoursmonomelody.cpp"
"src/algorithms/tonal/tonicindianartmusic.cpp"
"src/algorithms/tonal/oddtoevenharmonicenergyratio.cpp"
"src/algorithms/tonal/pitchyinprobabilistic.cpp"
"src/algorithms/tonal/chordsdetectionbeats.cpp"
"src/algorithms/tonal/multipitchmelodia.cpp"
"src/algorithms/tonal/pitchsaliencefunctionpeaks.cpp"
"src/algorithms/tonal/pitchmelodia.cpp"
"src/algorithms/tonal/predominantpitchmelodia.cpp"
"src/algorithms/tonal/pitchyinprobabilitieshmm.cpp"
"src/algorithms/tonal/pitchcontoursmelody.cpp"
"src/algorithms/tonal/pitchcontours.cpp"
"src/algorithms/tonal/harmonicpeaks.cpp"
"src/algorithms/complex/magnitude.cpp"
"src/algorithms/complex/cartesiantopolar.cpp"
"src/algorithms/complex/polartocartesian.cpp"
"src/algorithms/highlevel/sbic.cpp"
"src/algorithms/highlevel/pca.cpp"
"src/algorithms/highlevel/chromacrosssimilarity.cpp"
"src/algorithms/highlevel/intensity.cpp"
"src/algorithms/highlevel/crosssimilaritymatrix.cpp"
"src/algorithms/highlevel/danceability.cpp"
"src/algorithms/highlevel/fadedetection.cpp"
"src/algorithms/highlevel/dynamiccomplexity.cpp"
"src/algorithms/highlevel/coversongsimilarity.cpp"
"src/algorithms/sfx/strongdecay.cpp"
"src/algorithms/sfx/aftermaxtobeforemaxenergyratio.cpp"
"src/algorithms/sfx/mintototal.cpp"
"src/algorithms/sfx/logattacktime.cpp"
"src/algorithms/sfx/tctototal.cpp"
"src/algorithms/sfx/flatnesssfx.cpp"
"src/algorithms/sfx/maxtototal.cpp"
"src/algorithms/sfx/derivativesfx.cpp"
"src/algorithms/sfx/pitchsalience.cpp"
"src/algorithms/io/fileoutputproxy.cpp"
"src/algorithms/io/audioonsetsmarker.cpp"
"src/algorithms/extractor/tonalextractor.cpp"
"src/algorithms/extractor/keyextractor.cpp"
"src/algorithms/extractor/barkextractor.cpp"
"src/algorithms/extractor/levelextractor.cpp"
"src/algorithms/extractor/lowlevelspectralextractor.cpp"
"src/algorithms/extractor/tuningfrequencyextractor.cpp"
"src/algorithms/extractor/lowlevelspectraleqloudextractor.cpp"
"src/algorithms/extractor/rhythmdescriptors.cpp"
"src/algorithms/extractor/extractor.cpp"
"src/algorithms/spectral/logspectrum.cpp"
"src/algorithms/spectral/tensorflowinputfsdsinet.cpp"
"src/algorithms/spectral/flatnessdb.cpp"
"src/algorithms/spectral/spectrumtocent.cpp"
"src/algorithms/spectral/maxmagfreq.cpp"
"src/algorithms/spectral/hfc.cpp"
"src/algorithms/spectral/spectralwhitening.cpp"
"src/algorithms/spectral/barkbands.cpp"
"src/algorithms/spectral/spectralcomplexity.cpp"
"src/algorithms/spectral/erbbands.cpp"
"src/algorithms/spectral/mfcc.cpp"
"src/algorithms/spectral/spectralcontrast.cpp"
"src/algorithms/spectral/spectralcentroidtime.cpp"
"src/algorithms/spectral/tensorflowinputmusicnn.cpp"
"src/algorithms/spectral/panning.cpp"
"src/algorithms/spectral/gfcc.cpp"
"src/algorithms/spectral/hpcp.cpp"
"src/algorithms/spectral/strongpeak.cpp"
"src/algorithms/spectral/rolloff.cpp"
"src/algorithms/spectral/flux.cpp"
"src/algorithms/spectral/spectralpeaks.cpp"
"src/algorithms/spectral/melbands.cpp"
"src/algorithms/spectral/tensorflowinputvggish.cpp"
"src/algorithms/spectral/triangularbarkbands.cpp"
"src/algorithms/spectral/tensorflowinputtempocnn.cpp"
"src/algorithms/spectral/bfcc.cpp"
"src/algorithms/spectral/frequencybands.cpp"
"src/algorithms/spectral/energybandratio.cpp"
"src/algorithms/spectral/triangularbands.cpp"
"src/algorithms/spectral/energyband.cpp"
"src/algorithms/synthesis/hprmodelanal.cpp"
"src/algorithms/synthesis/spsmodelanal.cpp"
"src/algorithms/synthesis/sinemodelsynth.cpp"
"src/algorithms/synthesis/spsmodelsynth.cpp"
"src/algorithms/synthesis/stochasticmodelsynth.cpp"
"src/algorithms/synthesis/sinemodelanal.cpp"
"src/algorithms/synthesis/hpsmodelanal.cpp"
"src/algorithms/synthesis/stochasticmodelanal.cpp"
"src/algorithms/synthesis/harmonicmask.cpp"
"src/algorithms/synthesis/harmonicmodelanal.cpp"
"src/algorithms/synthesis/resamplefft.cpp"
"src/algorithms/synthesis/sinesubtraction.cpp"
"src/algorithms/synthesis/sprmodelsynth.cpp"
"src/algorithms/synthesis/sprmodelanal.cpp"
"src/algorithms/audioproblems/discontinuitydetector.cpp"
"src/algorithms/audioproblems/snr.cpp"
"src/algorithms/audioproblems/humdetector.cpp"
"src/algorithms/audioproblems/truepeakdetector.cpp"
"src/algorithms/audioproblems/noiseburstdetector.cpp"
"src/algorithms/audioproblems/gapsdetector.cpp"
"src/algorithms/audioproblems/saturationdetector.cpp"
"src/algorithms/audioproblems/falsestereodetector.cpp"
"src/algorithms/audioproblems/clickdetector.cpp"
"src/algorithms/audioproblems/startstopcut.cpp"
"src/algorithms/standard/constantq.cpp"
"src/algorithms/standard/nsgconstantq.cpp"
"src/algorithms/standard/stereomuxer.cpp"
"src/algorithms/standard/multiplexer.cpp"
"src/algorithms/standard/scale.cpp"
"src/algorithms/standard/chromagram.cpp"
"src/algorithms/standard/minmax.cpp"
"src/algorithms/standard/replaygain.cpp"
"src/algorithms/standard/binaryoperator.cpp"
"src/algorithms/standard/realaccumulator.cpp"
"src/algorithms/standard/crosscorrelation.cpp"
"src/algorithms/standard/overlapadd.cpp"
"src/algorithms/standard/nsgiconstantq.cpp"
"src/algorithms/standard/cubicspline.cpp"
"src/algorithms/standard/spline.cpp"
"src/algorithms/standard/binaryoperatorstream.cpp"
"src/algorithms/standard/dct.cpp"
"src/algorithms/standard/derivative.cpp"
"src/algorithms/standard/bpf.cpp"
"src/algorithms/standard/idct.cpp"
"src/algorithms/standard/nsgconstantqstreaming.cpp"
"src/algorithms/standard/startstopsilence.cpp"
"src/algorithms/standard/unaryoperator.cpp"
"src/algorithms/standard/tensortranspose.cpp"
"src/algorithms/standard/noiseadder.cpp"
"src/algorithms/standard/autocorrelation.cpp"
"src/algorithms/standard/unaryoperatorstream.cpp"
"src/algorithms/standard/frametoreal.cpp"
"src/algorithms/standard/tensortovectorreal.cpp"
"src/algorithms/standard/spectrumCQ.cpp"
"src/algorithms/standard/vectorrealaccumulator.cpp"
"src/algorithms/standard/warpedautocorrelation.cpp"
"src/algorithms/standard/spectrum.cpp"
"src/algorithms/standard/stereotrimmer.cpp"
"src/algorithms/standard/pooltotensor.cpp"
"src/algorithms/standard/fftk.cpp"
"src/algorithms/standard/ifftk.cpp"
"src/algorithms/standard/fftkcomplex.cpp"
"src/algorithms/standard/ifftkcomplex.cpp"
"src/3rdparty/kiss_fft130/kiss_fft.c"
"src/3rdparty/kiss_fft130/tools/kiss_fftr.c"
"src/algorithms/standard/framecutter.cpp"
"src/algorithms/standard/silencerate.cpp"
"src/algorithms/standard/welch.cpp"
"src/algorithms/standard/peakdetection.cpp"
"src/algorithms/standard/windowing.cpp"
"src/algorithms/standard/vectorrealtotensor.cpp"
"src/algorithms/standard/clipper.cpp"
"src/algorithms/standard/slicer.cpp"
"src/algorithms/standard/monomixer.cpp"
"src/algorithms/standard/envelope.cpp"
"src/algorithms/standard/maxfilter.cpp"
"src/algorithms/standard/tensornormalize.cpp"
"src/algorithms/standard/tensortopool.cpp"
"src/algorithms/standard/powerspectrum.cpp"
"src/algorithms/standard/trimmer.cpp"
"src/algorithms/standard/viterbi.cpp"
"src/algorithms/standard/stereodemuxer.cpp"
"src/algorithms/rhythm/onsetdetectionglobal.cpp"
"src/algorithms/rhythm/percivalenhanceharmonics.cpp"
"src/algorithms/rhythm/bpmhistogramdescriptors.cpp"
"src/algorithms/rhythm/noveltycurve.cpp"
"src/algorithms/rhythm/superfluxextractor.cpp"
"src/algorithms/rhythm/percivalevaluatepulsetrains.cpp"
"src/algorithms/rhythm/beattrackermultifeature.cpp"
"src/algorithms/rhythm/noveltycurvefixedbpmestimator.cpp"
"src/algorithms/rhythm/beattrackerdegara.cpp"
"src/algorithms/rhythm/onsetrate.cpp"
"src/algorithms/rhythm/tempotapmaxagreement.cpp"
"src/algorithms/rhythm/bpmrubato.cpp"
"src/algorithms/rhythm/onsets.cpp"
"src/algorithms/rhythm/percivalbpmestimator.cpp"
"src/algorithms/rhythm/beatsloudness.cpp"
"src/algorithms/rhythm/loopbpmestimator.cpp"
"src/algorithms/rhythm/rhythmtransform.cpp"
"src/algorithms/rhythm/loopbpmconfidence.cpp"
"src/algorithms/rhythm/superfluxnovelty.cpp"
"src/algorithms/rhythm/singlebeatloudness.cpp"
"src/algorithms/rhythm/tempotapticks.cpp"
"src/algorithms/rhythm/rhythmextractor.cpp"
"src/algorithms/rhythm/rhythmextractor2013.cpp"
"src/algorithms/rhythm/tempotapdegara.cpp"
"src/algorithms/rhythm/harmonicbpm.cpp"
"src/algorithms/rhythm/tempotap.cpp"
"src/algorithms/rhythm/superfluxpeaks.cpp"
"src/algorithms/rhythm/temposcalebands.cpp"
"src/algorithms/rhythm/onsetdetection.cpp"
"src/algorithms/rhythm/bpmhistogram.cpp"
"src/algorithms/stats/rms.cpp"
"src/algorithms/stats/centralmoments.cpp"
"src/algorithms/stats/distributionshape.cpp"
"src/algorithms/stats/decrease.cpp"
"src/algorithms/stats/entropy.cpp"
"src/algorithms/stats/centroid.cpp"
"src/algorithms/stats/rawmoments.cpp"
"src/algorithms/stats/median.cpp"
"src/algorithms/stats/flatness.cpp"
"src/algorithms/stats/mean.cpp"
"src/algorithms/stats/poolaggregator.cpp"
"src/algorithms/stats/crest.cpp"
"src/algorithms/stats/histogram.cpp"
"src/algorithms/stats/energy.cpp"
"src/algorithms/stats/instantpower.cpp"
"src/algorithms/stats/powermean.cpp"
"src/algorithms/stats/geometricmean.cpp"
"src/algorithms/stats/variance.cpp"
"src/algorithms/stats/singlegaussian.cpp"
"src/3rdparty/spline/splineutil.cpp"
"src/3rdparty/nnls/nnls.c"
"src/3rdparty/cephes/bessel/gamma.cpp"
"src/3rdparty/cephes/bessel/hyperg.cpp"
"src/3rdparty/cephes/bessel/iv.cpp"
"src/3rdparty/cephes/bessel/polevl.cpp"
)
add_library(essentia-android STATIC ${essentia_src})
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/src
${CMAKE_CURRENT_SOURCE_DIR}/src/python
${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms
${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/temporal
${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/filters
${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/experimental
${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/tonal
${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/complex
${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/highlevel
${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/sfx
${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/io
${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/extractor
${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/spectral
${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/synthesis
${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/machinelearning
${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/audioproblems
${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/standard
${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/rythm
${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/stats
${CMAKE_CURRENT_SOURCE_DIR}/src/3rdParty
${CMAKE_CURRENT_SOURCE_DIR}/src/3rdParty/nnls
${CMAKE_CURRENT_SOURCE_DIR}/src/3rdParty/tensorflow
${CMAKE_CURRENT_SOURCE_DIR}/src/3rdParty/spline
${CMAKE_CURRENT_SOURCE_DIR}/src/3rdParty/kiss_fft130
${CMAKE_CURRENT_SOURCE_DIR}/src/3rdParty/cephes
${CMAKE_CURRENT_SOURCE_DIR}/src/3rdParty/vamp-plugin-sdk-2.4
${CMAKE_CURRENT_SOURCE_DIR}/src/essentia
${CMAKE_CURRENT_SOURCE_DIR}/src/essentia/utils
${CMAKE_CURRENT_SOURCE_DIR}/src/essentia/utils/tnt
${CMAKE_CURRENT_SOURCE_DIR}/src/essentia/streaming
${CMAKE_CURRENT_SOURCE_DIR}/src/essentia/streaming/algorithms
${CMAKE_CURRENT_SOURCE_DIR}/src/essentia/scheduler
${CMAKE_CURRENT_SOURCE_DIR}/../libeigen
)
# Macro definitions
add_definitions(-DGTEST_HAS_TR1_TUPLE=0 -DHAVE_EIGEN3=1 -DEIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS -D__STDC_CONSTANT_MACROS -DEIGEN_MPL2_ONLY)
# CXX_FLAGS
# set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG -DNO_THREAD_CHECKS -DNO_TIMING")
# set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ffast-math -mfpmath=sse -msse -msse2 -O3 -ftree-vectorize")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -DDEBUG")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG -DNO_THREAD_CHECKS")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -mfpu=neon -mfloat-abi=softfp -ffast-math -freciprocal-math -mfpmath=sse -msse -msse2 -O3 -ftree-vectorize -fsingle-precision-constant")
# 07:30:55 runner ['/usr/bin/clang++', '-std=c++11', '-pipe', '-Wall', '-O2', '-fPIC', '-std=c++11', '-w', '-fPIC', '-Isrc', '-I../src', '-Isrc/essentia', '-I../src/essentia', '-Isrc/essentia/scheduler', '-I../src/essentia/scheduler', '-Isrc/essentia/streaming', '-I../src/essentia/streaming', '-Isrc/essentia/streaming/algorithms', '-I../src/essentia/streaming/algorithms', '-Isrc/essentia/utils', '-I../src/essentia/utils', '-Isrc/3rdparty', '-I../src/3rdparty', '-Isrc/3rdparty/spline', '-I../src/3rdparty/spline', '-Isrc/3rdparty/nnls', '-I../src/3rdparty/nnls', '-Isrc/3rdparty/kiss_fft130', '-I../src/3rdparty/kiss_fft130', '-Isrc/3rdparty/cephes/bessel', '-I../src/3rdparty/cephes/bessel', '-I/opt/homebrew/Cellar/eigen/3.4.0_1/include/eigen3', '-DGTEST_HAS_TR1_TUPLE=0', '-DHAVE_EIGEN3=1', '-DEIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS', '-D__STDC_CONSTANT_MACROS', '-DEIGEN_MPL2_ONLY', '../src/algorithms/tonal/dissonance.cpp', '-c', '-o/Users/sergihernanz/Projects/muscle-mixer-android2/deej-core/essentia/build/src/algorithms/tonal/dissonance.cpp.1.o', '-fPIC']