[Sv1-commits] SF.net SVN: sv1: [457] vamp-aubio-plugins/trunk
Brought to you by:
cannam
From: <ca...@us...> - 2006-12-12 10:42:22
|
Revision: 457 http://svn.sourceforge.net/sv1/?rev=457&view=rev Author: cannam Date: 2006-12-12 02:42:21 -0800 (Tue, 12 Dec 2006) Log Message: ----------- * Update to new Vamp process() * Add hack for getting raw tempo out of hacked Aubio Modified Paths: -------------- vamp-aubio-plugins/trunk/Makefile vamp-aubio-plugins/trunk/plugins/Notes.cpp vamp-aubio-plugins/trunk/plugins/Notes.h vamp-aubio-plugins/trunk/plugins/Onset.cpp vamp-aubio-plugins/trunk/plugins/Onset.h vamp-aubio-plugins/trunk/plugins/Pitch.cpp vamp-aubio-plugins/trunk/plugins/Pitch.h vamp-aubio-plugins/trunk/plugins/Tempo.cpp vamp-aubio-plugins/trunk/plugins/Tempo.h Modified: vamp-aubio-plugins/trunk/Makefile =================================================================== --- vamp-aubio-plugins/trunk/Makefile 2006-12-12 10:41:41 UTC (rev 456) +++ vamp-aubio-plugins/trunk/Makefile 2006-12-12 10:42:21 UTC (rev 457) @@ -16,7 +16,7 @@ # want to) statically link libstdc++, because our plugin exposes only # a C API so there are no boundary compatibility problems. # -PLUGIN_LIBS = -L$(VAMPLIBDIR) -Wl,-Bstatic -lvamp-sdk -laubio -Wl,-Bdynamic +PLUGIN_LIBS = -L$(VAMPLIBDIR) -Wl,-Bstatic -lvamp-sdk -laubio -lfftw3f -Wl,-Bdynamic #PLUGIN_LIBS = -L$(VAMPLIBDIR) -lvamp-sdk /usr/lib/libaubio.a /usr/lib/libfftw3f.a #PLUGIN_LIBS = -L$(VAMPLIBDIR) -lvamp-sdk $(shell g++ -print-file-name=libstdc++.a) Modified: vamp-aubio-plugins/trunk/plugins/Notes.cpp =================================================================== --- vamp-aubio-plugins/trunk/plugins/Notes.cpp 2006-12-12 10:41:41 UTC (rev 456) +++ vamp-aubio-plugins/trunk/plugins/Notes.cpp 2006-12-12 10:42:21 UTC (rev 457) @@ -328,7 +328,7 @@ } Notes::FeatureSet -Notes::process(float **inputBuffers, Vamp::RealTime timestamp) +Notes::process(const float *const *inputBuffers, Vamp::RealTime timestamp) { for (size_t i = 0; i < m_stepSize; ++i) { for (size_t j = 0; j < m_channelCount; ++j) { Modified: vamp-aubio-plugins/trunk/plugins/Notes.h =================================================================== --- vamp-aubio-plugins/trunk/plugins/Notes.h 2006-12-12 10:41:41 UTC (rev 456) +++ vamp-aubio-plugins/trunk/plugins/Notes.h 2006-12-12 10:42:21 UTC (rev 457) @@ -48,7 +48,8 @@ OutputList getOutputDescriptors() const; - FeatureSet process(float **inputBuffers, Vamp::RealTime timestamp); + FeatureSet process(const float *const *inputBuffers, + Vamp::RealTime timestamp); FeatureSet getRemainingFeatures(); Modified: vamp-aubio-plugins/trunk/plugins/Onset.cpp =================================================================== --- vamp-aubio-plugins/trunk/plugins/Onset.cpp 2006-12-12 10:41:41 UTC (rev 456) +++ vamp-aubio-plugins/trunk/plugins/Onset.cpp 2006-12-12 10:42:21 UTC (rev 457) @@ -225,7 +225,8 @@ } Onset::FeatureSet -Onset::process(float **inputBuffers, Vamp::RealTime timestamp) +Onset::process(const float *const *inputBuffers, + Vamp::RealTime timestamp) { for (size_t i = 0; i < m_stepSize; ++i) { for (size_t j = 0; j < m_channelCount; ++j) { Modified: vamp-aubio-plugins/trunk/plugins/Onset.h =================================================================== --- vamp-aubio-plugins/trunk/plugins/Onset.h 2006-12-12 10:41:41 UTC (rev 456) +++ vamp-aubio-plugins/trunk/plugins/Onset.h 2006-12-12 10:42:21 UTC (rev 457) @@ -46,7 +46,8 @@ OutputList getOutputDescriptors() const; - FeatureSet process(float **inputBuffers, Vamp::RealTime timestamp); + FeatureSet process(const float *const *inputBuffers, + Vamp::RealTime timestamp); FeatureSet getRemainingFeatures(); Modified: vamp-aubio-plugins/trunk/plugins/Pitch.cpp =================================================================== --- vamp-aubio-plugins/trunk/plugins/Pitch.cpp 2006-12-12 10:41:41 UTC (rev 456) +++ vamp-aubio-plugins/trunk/plugins/Pitch.cpp 2006-12-12 10:42:21 UTC (rev 457) @@ -170,7 +170,8 @@ } Pitch::FeatureSet -Pitch::process(float **inputBuffers, Vamp::RealTime /* timestamp */) +Pitch::process(const float *const *inputBuffers, + Vamp::RealTime /* timestamp */) { for (size_t i = 0; i < m_stepSize; ++i) { for (size_t j = 0; j < m_channelCount; ++j) { Modified: vamp-aubio-plugins/trunk/plugins/Pitch.h =================================================================== --- vamp-aubio-plugins/trunk/plugins/Pitch.h 2006-12-12 10:41:41 UTC (rev 456) +++ vamp-aubio-plugins/trunk/plugins/Pitch.h 2006-12-12 10:42:21 UTC (rev 457) @@ -46,7 +46,8 @@ OutputList getOutputDescriptors() const; - FeatureSet process(float **inputBuffers, Vamp::RealTime timestamp); + FeatureSet process(const float *const *inputBuffers, + Vamp::RealTime timestamp); FeatureSet getRemainingFeatures(); Modified: vamp-aubio-plugins/trunk/plugins/Tempo.cpp =================================================================== --- vamp-aubio-plugins/trunk/plugins/Tempo.cpp 2006-12-12 10:41:41 UTC (rev 456) +++ vamp-aubio-plugins/trunk/plugins/Tempo.cpp 2006-12-12 10:42:21 UTC (rev 457) @@ -22,6 +22,8 @@ using std::cerr; using std::endl; +//#define HAVE_AUBIO_LOCKED_TEMPO_HACK + Tempo::Tempo(float inputSampleRate) : Plugin(inputSampleRate), m_ibuf(0), @@ -223,11 +225,23 @@ d.sampleRate = 0; list.push_back(d); +#ifdef HAVE_AUBIO_LOCKED_TEMPO_HACK + d.name = "tempo"; + d.unit = "bpm"; + d.description = "Tempo"; + d.hasFixedBinCount = true; + d.binCount = 1; + d.hasKnownExtents = false; + d.isQuantized = false; + d.sampleType = OutputDescriptor::OneSamplePerStep; + list.push_back(d); +#endif + return list; } Tempo::FeatureSet -Tempo::process(float **inputBuffers, Vamp::RealTime timestamp) +Tempo::process(const float *const *inputBuffers, Vamp::RealTime timestamp) { for (size_t i = 0; i < m_stepSize; ++i) { for (size_t j = 0; j < m_channelCount; ++j) { @@ -238,8 +252,16 @@ aubio_pvoc_do(m_pv, m_ibuf, m_fftgrain); aubio_onsetdetection(m_onsetdet, m_fftgrain, m_onset); +#ifdef HAVE_AUBIO_LOCKED_TEMPO_HACK + float locked_tempo = 0; +#endif + if ( m_btcounter == m_btstep - 1 ) { +#ifdef HAVE_AUBIO_LOCKED_TEMPO_HACK + aubio_beattracking_do(m_beattracking,m_dfframe,m_btout,&locked_tempo); +#else aubio_beattracking_do(m_beattracking,m_dfframe,m_btout); +#endif /* rotate dfframe */ for (size_t i = 0 ; i < m_winlen - m_btstep; i++ ) m_dfframe->data[0][i] = m_dfframe->data[0][i+m_btstep]; @@ -253,7 +275,6 @@ &(m_dfframe->data[0][m_winlen - m_btstep + m_btcounter])); bool istactus = 0; - /* check if any of the predicted beat correspond to the current time */ for (size_t i = 1; i < m_btout->data[0][0]; i++ ) { if (m_btcounter == m_btout->data[0][i]) { @@ -279,6 +300,17 @@ } } +#ifdef HAVE_AUBIO_LOCKED_TEMPO_HACK + if (locked_tempo >= 30 && locked_tempo <= 206) { + if (locked_tempo > 145) locked_tempo /= 2; + std::cerr << "Locked tempo: " << locked_tempo << std::endl; + Feature tempo; + tempo.hasTimestamp = false; + tempo.values.push_back(locked_tempo); + returnFeatures[1].push_back(tempo); + } +#endif + return returnFeatures; } Modified: vamp-aubio-plugins/trunk/plugins/Tempo.h =================================================================== --- vamp-aubio-plugins/trunk/plugins/Tempo.h 2006-12-12 10:41:41 UTC (rev 456) +++ vamp-aubio-plugins/trunk/plugins/Tempo.h 2006-12-12 10:42:21 UTC (rev 457) @@ -46,7 +46,7 @@ OutputList getOutputDescriptors() const; - FeatureSet process(float **inputBuffers, Vamp::RealTime timestamp); + FeatureSet process(const float *const *inputBuffers, Vamp::RealTime timestamp); FeatureSet getRemainingFeatures(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |