#include "MirTypes.h"
#include <algorithm>
#include <array>
#include <cassert>
#include <fstream>
#include <functional>
#include <numeric>
#include <string>
#include <vector>
Go to the source code of this file.
|
template<typename Result > |
RocInfo | MIR::GetRocInfo (std::vector< Result > results, double allowedFalsePositiveRate=0.) |
|
void | MIR::ProgressBar (int width, int percent) |
|
template<typename T > |
void | MIR::PrintPythonVector (std::ofstream &ofs, const std::vector< T > &v, const char *name) |
|
OctaveError | MIR::GetOctaveError (double expected, double actual) |
| Gets the tempo detection octave error, as defined in section 5. of Schreiber, H., Urbano, J. and Müller, M., 2020. Music Tempo Estimation: Are We Done Yet?. Transactions of the International Society for Music Information Retrieval, 3(1), p.111–125. DOI: https://doi.org/10.5334/tismir.43 In short, with an example: two bars of a fast 3/4 can in some cases be interpreted as one bar of 6/8. However, there are 6 beats in the former, against 2 in the latter, leading to an "octave error" of 3. In that case, the returned factor would be 3, and the remainder, log2(3 * actual / expected) More...
|
|
template<int bufferSize = 1024> |
float | MIR::GetChecksum (const MirAudioReader &source) |
|