Mercurial > hg > piper-vamp-js-builds
changeset 27:cae97e9dfa72
Import a couple of builds
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Thu, 10 Nov 2016 11:55:22 +0000 |
parents | |
children | f60fe40a8caa |
files | .hgignore qm-vamp-plugins/Makefile qm-vamp-plugins/qm-vamp-plugins.cpp silvet/Makefile silvet/silvet.cpp |
diffstat | 5 files changed, 315 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.hgignore Thu Nov 10 11:55:22 2016 +0000 @@ -0,0 +1,2 @@ +syntax: glob +*.o
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qm-vamp-plugins/Makefile Thu Nov 10 11:55:22 2016 +0000 @@ -0,0 +1,118 @@ + +PIPER_VAMP_JS_DIR := ../../piper-vamp-js +QM_VAMP_PLUGINS_DIR := ../../qm-vamp-plugins + +MODULE_NAME := QMVampPlugins + +QMV := $(QM_VAMP_PLUGINS_DIR) +DSP := $(QMV)/qm-dsp +EXT := $(DSP)/ext + +INCPATH := -I$(QMV) -I$(DSP) -I$(EXT)/kissfft -I$(EXT)/kissfft/tools +DEFINES := -DNO_BLAS_WRAP -DADD_ -Dkiss_fft_scalar=double -I$(EXT)/clapack/include -I$(EXT)/cblas/include + +CLAPACK_SOURCES := \ + $(EXT)/clapack/src/dgetrf.c \ + $(EXT)/clapack/src/dgetri.c \ + $(EXT)/clapack/src/dgetf2.c \ + $(EXT)/clapack/src/xerbla.c \ + $(EXT)/clapack/src/dlaswp.c \ + $(EXT)/clapack/src/dtrtri.c \ + $(EXT)/clapack/src/ilaenv.c \ + $(EXT)/clapack/src/iparmq.c \ + $(EXT)/clapack/src/s_cat.c \ + $(EXT)/clapack/src/s_copy.c \ + $(EXT)/clapack/src/s_cmp.c \ + $(EXT)/clapack/src/pow_di.c \ + $(EXT)/clapack/src/ieeeck.c \ + $(EXT)/clapack/src/i_nint.c \ + $(EXT)/clapack/src/dtrti2.c \ + $(EXT)/clapack/src/f77_aloc.c \ + $(EXT)/clapack/src/exit_.c + +CBLAS_SOURCES := \ + $(EXT)/cblas/src/dgemm.c \ + $(EXT)/cblas/src/ddot.c \ + $(EXT)/cblas/src/dgemv.c \ + $(EXT)/cblas/src/dswap.c \ + $(EXT)/cblas/src/dtrsm.c \ + $(EXT)/cblas/src/dger.c \ + $(EXT)/cblas/src/idamax.c \ + $(EXT)/cblas/src/dscal.c \ + $(EXT)/cblas/src/dtrmm.c \ + $(EXT)/cblas/src/lsame.c \ + $(EXT)/cblas/src/dlamch.c \ + $(EXT)/cblas/src/dtrmv.c \ + $(EXT)/cblas/src/cblas_globals.c \ + $(EXT)/cblas/src/cblas_dgemm.c \ + $(EXT)/cblas/src/cblas_ddot.c \ + $(EXT)/cblas/src/cblas_xerbla.c + +DSP_SOURCES := \ + $(DSP)/base/Pitch.cpp \ + $(DSP)/base/KaiserWindow.cpp \ + $(DSP)/base/SincWindow.cpp \ + $(DSP)/dsp/chromagram/Chromagram.cpp \ + $(DSP)/dsp/chromagram/ConstantQ.cpp \ + $(DSP)/dsp/keydetection/GetKeyMode.cpp \ + $(DSP)/dsp/mfcc/MFCC.cpp \ + $(DSP)/dsp/onsets/DetectionFunction.cpp \ + $(DSP)/dsp/onsets/PeakPicking.cpp \ + $(DSP)/dsp/phasevocoder/PhaseVocoder.cpp \ + $(DSP)/dsp/rateconversion/Decimator.cpp \ + $(DSP)/dsp/rateconversion/DecimatorB.cpp \ + $(DSP)/dsp/rateconversion/Resampler.cpp \ + $(DSP)/dsp/rhythm/BeatSpectrum.cpp \ + $(DSP)/dsp/segmentation/ClusterMeltSegmenter.cpp \ + $(DSP)/dsp/segmentation/Segmenter.cpp \ + $(DSP)/dsp/signalconditioning/DFProcess.cpp \ + $(DSP)/dsp/signalconditioning/Filter.cpp \ + $(DSP)/dsp/signalconditioning/FiltFilt.cpp \ + $(DSP)/dsp/signalconditioning/Framer.cpp \ + $(DSP)/dsp/tempotracking/DownBeat.cpp \ + $(DSP)/dsp/tempotracking/TempoTrack.cpp \ + $(DSP)/dsp/tempotracking/TempoTrackV2.cpp \ + $(DSP)/dsp/tonal/ChangeDetectionFunction.cpp \ + $(DSP)/dsp/tonal/TCSgram.cpp \ + $(DSP)/dsp/tonal/TonalEstimator.cpp \ + $(DSP)/dsp/transforms/DCT.cpp \ + $(DSP)/dsp/transforms/FFT.cpp \ + $(DSP)/dsp/wavelet/Wavelet.cpp \ + $(DSP)/maths/Correlation.cpp \ + $(DSP)/maths/CosineDistance.cpp \ + $(DSP)/maths/KLDivergence.cpp \ + $(DSP)/maths/MathUtilities.cpp + +# $(DSP)/thread/Thread.cpp \ + +# $(QMV)/plugins/AdaptiveSpectrogram.cpp \ + +PLUGIN_SOURCES := \ + $(QMV)/plugins/BarBeatTrack.cpp \ + $(QMV)/plugins/BeatTrack.cpp \ + $(QMV)/plugins/DWT.cpp \ + $(QMV)/plugins/OnsetDetect.cpp \ + $(QMV)/plugins/ChromagramPlugin.cpp \ + $(QMV)/plugins/ConstantQSpectrogram.cpp \ + $(QMV)/plugins/KeyDetect.cpp \ + $(QMV)/plugins/MFCCPlugin.cpp \ + $(QMV)/plugins/SegmenterPlugin.cpp \ + $(QMV)/plugins/SimilarityPlugin.cpp \ + $(QMV)/plugins/TonalChangeDetect.cpp \ + $(QMV)/plugins/Transcription.cpp \ + $(DSP_SOURCES) + +C_SOURCES := \ + $(QMV)/g2cstubs.c \ + $(DSP)/dsp/segmentation/cluster_segmenter.c \ + $(DSP)/dsp/segmentation/cluster_melt.c \ + $(DSP)/hmm/hmm.c \ + $(DSP)/maths/pca/pca.c \ + $(DSP)/ext/kissfft/kiss_fft.c \ + $(DSP)/ext/kissfft/tools/kiss_fftr.c \ + $(CLAPACK_SOURCES) \ + $(CBLAS_SOURCES) + +MODULE_SOURCE := qm-vamp-plugins.cpp + +include $(PIPER_VAMP_JS_DIR)/Makefile.inc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qm-vamp-plugins/qm-vamp-plugins.cpp Thu Nov 10 11:55:22 2016 +0000 @@ -0,0 +1,105 @@ +/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ + +/* + Piper + + Centre for Digital Music, Queen Mary, University of London. + Copyright 2015-2016 QMUL. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without + restriction, including without limitation the rights to use, copy, + modify, merge, publish, distribute, sublicense, and/or sell copies + of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the names of the Centre for + Digital Music; Queen Mary, University of London; and Chris Cannam + shall not be used in advertising or otherwise to promote the sale, + use or other dealings in this Software without prior written + authorization. +*/ + +#include "PiperAdapter.h" +#include "PiperPluginLibrary.h" + +#include "plugins/BeatTrack.h" +#include "plugins/OnsetDetect.h" +#include "plugins/ChromagramPlugin.h" +#include "plugins/ConstantQSpectrogram.h" +#include "plugins/TonalChangeDetect.h" +#include "plugins/KeyDetect.h" +#include "plugins/MFCCPlugin.h" +#include "plugins/SegmenterPlugin.h" +#include "plugins/SimilarityPlugin.h" +#include "plugins/BarBeatTrack.h" +//!!!#include "plugins/AdaptiveSpectrogram.h" +#include "plugins/DWT.h" +#include "plugins/Transcription.h" + +using piper::PiperAdapter; +using piper::PiperPluginLibrary; + +static std::string soname("qm-vamp-plugins"); + +static PiperAdapter<BeatTracker> beatTrackerAdapter(soname); +static PiperAdapter<OnsetDetector> onsetDetectorAdapter(soname); +static PiperAdapter<ChromagramPlugin> chromagramPluginAdapter(soname); +static PiperAdapter<ConstantQSpectrogram> constantQAdapter(soname); +static PiperAdapter<TonalChangeDetect> tonalChangeDetectorAdapter(soname); +static PiperAdapter<KeyDetector> keyDetectorAdapter(soname); +static PiperAdapter<MFCCPlugin> mfccPluginAdapter(soname); +static PiperAdapter<SegmenterPlugin> segmenterPluginAdapter(soname); +static PiperAdapter<SimilarityPlugin> similarityPluginAdapter(soname); +static PiperAdapter<BarBeatTracker> barBeatTrackPluginAdapter(soname); +//!!!static PiperAdapter<AdaptiveSpectrogram> adaptiveSpectrogramAdapter(soname); +static PiperAdapter<DWT> dwtAdapter(soname); +static PiperAdapter<Transcription> transcriptionAdapter(soname); + +static PiperPluginLibrary library({ + &beatTrackerAdapter, + &onsetDetectorAdapter, + &chromagramPluginAdapter, + &constantQAdapter, + &tonalChangeDetectorAdapter, + &keyDetectorAdapter, + &mfccPluginAdapter, + &segmenterPluginAdapter, + &similarityPluginAdapter, + &barBeatTrackPluginAdapter, +//!!! &adaptiveSpectrogramAdapter, + &dwtAdapter, + &transcriptionAdapter + }); + +extern "C" { + +const char *piperRequestJson(const char *request) { + return library.requestJson(request); +} + +const char *piperProcessRaw(int handle, + const float *const *inputBuffers, + int sec, + int nsec) { + return library.processRaw(handle, inputBuffers, sec, nsec); +} + +void piperFreeJson(const char *json) { + return library.freeJson(json); +} + +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/silvet/Makefile Thu Nov 10 11:55:22 2016 +0000 @@ -0,0 +1,54 @@ + +MODULE_NAME := Silvet + +SILVET_DIR := ../silvet + +SRC_DIR := $(SILVET_DIR)/src +CQ_DIR := $(SILVET_DIR)/constant-q-cpp +CQSRC_DIR := $(SILVET_DIR)/constant-q-cpp/src +KFFT_DIR := $(SILVET_DIR)/constant-q-cpp/src/ext/kissfft +BQVEC_DIR := $(SILVET_DIR)/bqvec +FD_DIR := $(SILVET_DIR)/flattendynamics + +INCPATH := -I$(SRC_DIR) -I$(CQ_DIR) -I$(CQ_DIR)/cq -I$(KFFT_DIR) -I$(KFFT_DIR)/tools -I$(SILVET_DIR) -I$(FD_DIR) -I$(BQVEC_DIR) + +EMFLAGS := -s TOTAL_MEMORY=100000000 + +DEFINES := -Dkiss_fft_scalar=double + +PLUGIN_SOURCES := \ + $(SRC_DIR)/Silvet.cpp \ + $(SRC_DIR)/EM.cpp \ + $(SRC_DIR)/Instruments.cpp \ + $(SRC_DIR)/LiveInstruments.cpp + +BQVEC_SOURCES := \ + $(BQVEC_DIR)/src/Allocators.cpp + +FD_SOURCES := \ + $(FD_DIR)/flattendynamics-ladspa.cpp + +CQ_SOURCES := \ + $(CQSRC_DIR)/CQKernel.cpp \ + $(CQSRC_DIR)/ConstantQ.cpp \ + $(CQSRC_DIR)/CQSpectrogram.cpp \ + $(CQSRC_DIR)/CQInverse.cpp \ + $(CQSRC_DIR)/Chromagram.cpp \ + $(CQSRC_DIR)/Pitch.cpp \ + $(CQSRC_DIR)/dsp/FFT.cpp \ + $(CQSRC_DIR)/dsp/KaiserWindow.cpp \ + $(CQSRC_DIR)/dsp/MathUtilities.cpp \ + $(CQSRC_DIR)/dsp/Resampler.cpp \ + $(CQSRC_DIR)/dsp/SincWindow.cpp + +KFFT_SOURCES := \ + $(KFFT_DIR)/kiss_fft.c \ + $(KFFT_DIR)/tools/kiss_fftr.c + +PLUGIN_SOURCES := $(PLUGIN_SOURCES) $(BQVEC_SOURCES) $(FD_SOURCES) $(CQ_SOURCES) + +PLUGIN_C_SOURCES := $(KFFT_SOURCES) + +MODULE_SOURCE := silvet.cpp + +include Makefile.inc.em
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/silvet/silvet.cpp Thu Nov 10 11:55:22 2016 +0000 @@ -0,0 +1,36 @@ + +#include "PiperAdapter.h" +#include "PiperPluginLibrary.h" + +#include "Silvet.h" + +using piper::PiperAdapter; +using piper::PiperPluginLibrary; + +static std::string soname("silvet"); + +static PiperAdapter<Silvet> silvetAdapter(soname); + +static PiperPluginLibrary library({ + &silvetAdapter +}); + +extern "C" { + +const char *piperRequestJson(const char *request) { + return library.requestJson(request); +} + +const char *piperProcessRaw(int handle, + const float *const *inputBuffers, + int sec, + int nsec) { + return library.processRaw(handle, inputBuffers, sec, nsec); +} + +void piperFreeJson(const char *json) { + return library.freeJson(json); +} + +} +