view dsp/rhythm/BeatSpectrum.h @ 456:05378924b433

Fix a rounding issue, returning key value 25 The two bins above center B minor are treated as 25. This patch shifts also the input chromagram by 2 to have center C on 1 like the profiles
author Daniel Schürmann <daschuer@mixxx.org>
date Sat, 11 May 2019 02:08:22 +0200
parents d5014ab8b0e5
children 701233f8ed41
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */

/*
    QM DSP Library

    Centre for Digital Music, Queen Mary, University of London.
    This file copyright 2008 Kurt Jacobson and QMUL.

    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
    published by the Free Software Foundation; either version 2 of the
    License, or (at your option) any later version.  See the file
    COPYING included with this distribution for more information.
*/

#ifndef BEATSPECTRUM_H
#define BEATSPECTRUM_H

#include <vector>

/**
 * Given a matrix of "feature values", calculate a self-similarity
 * vector.  The resulting vector will have half as many elements as
 * the number of columns in the matrix.  This is based on the
 * SoundBite rhythmic similarity code.
 */

class BeatSpectrum
{
public:
    BeatSpectrum() { }
    ~BeatSpectrum() { }

    std::vector<double> process(const std::vector<std::vector<double> > &inmatrix);

};

#endif