Audacity 3.2.0
|
Classes | |
struct | BarDivision |
Typedefs | |
using | PossibleDivHierarchies = std::unordered_map< int, std::vector< BarDivision > > |
Functions | |
PossibleDivHierarchies | GetPossibleDivHierarchies (double audioFileDuration) |
int | GetOnsetLag (const std::vector< float > &odf, int numTatums) |
double | GetQuantizationDistance (const std::vector< int > &peakIndices, const std::vector< float > &peakValues, size_t size, int numDivisions, int lag) |
OnsetQuantization | RunQuantizationExperiment (const std::vector< float > &odf, const std::vector< int > &peakIndices, const std::vector< float > &peakValues, const std::vector< int > &possibleNumTatums, QuantizationFitDebugOutput *debugOutput) |
std::optional< TimeSignature > | GetTimeSignature (const BarDivision &barDivision, int numTatums) |
double | GetTimeSignatureLikelihood (const std::optional< TimeSignature > &ts, double bpm) |
double | GetBeatSelfSimilarityScore (double odfAutoCorrSampleRate, double bpm, const std::vector< float > &odfAutoCorr, int odfAutocorrFullSize, QuantizationFitDebugOutput *debugOutput) |
size_t | GetBestBarDivisionIndex (const std::vector< BarDivision > &possibleBarDivisions, double audioFileDuration, int numTatums, const std::vector< float > &odf, QuantizationFitDebugOutput *debugOutput) |
MusicalMeter | GetMostLikelyMeterFromQuantizationExperiment (const std::vector< float > &odf, int numTatums, std::vector< BarDivision > possibleBarDivisions, double audioFileDuration, QuantizationFitDebugOutput *debugOutput) |
bool | IsSingleEvent (const std::vector< int > &peakIndices, const std::vector< float > &peakValues) |
Variables | |
constexpr auto | minTatumsPerMinute = 100 |
constexpr auto | maxTatumsPerMinute = 700 |
constexpr auto | minBpm = 50. |
constexpr auto | maxBpm = 200. |
constexpr auto | minBeatsPerBar = 2 |
constexpr auto | maxBeatsPerBar = 4 |
constexpr std::array< std::pair< int, int >, 9 > | possibleTatumsPerBeat |
using MIR::anonymous_namespace{GetMeterUsingTatumQuantizationFit.cpp}::PossibleDivHierarchies = typedef std::unordered_map<int , std::vector<BarDivision> > |
Definition at line 55 of file GetMeterUsingTatumQuantizationFit.cpp.
double MIR::anonymous_namespace{GetMeterUsingTatumQuantizationFit.cpp}::GetBeatSelfSimilarityScore | ( | double | odfAutoCorrSampleRate, |
double | bpm, | ||
const std::vector< float > & | odfAutoCorr, | ||
int | odfAutocorrFullSize, | ||
QuantizationFitDebugOutput * | debugOutput | ||
) |
Definition at line 269 of file GetMeterUsingTatumQuantizationFit.cpp.
References MapToPositiveHalfIndex(), and MIR::QuantizationFitDebugOutput::odfAutoCorrPeakIndices.
size_t MIR::anonymous_namespace{GetMeterUsingTatumQuantizationFit.cpp}::GetBestBarDivisionIndex | ( | const std::vector< BarDivision > & | possibleBarDivisions, |
double | audioFileDuration, | ||
int | numTatums, | ||
const std::vector< float > & | odf, | ||
QuantizationFitDebugOutput * | debugOutput | ||
) |
Definition at line 306 of file GetMeterUsingTatumQuantizationFit.cpp.
References MIR::GetNormalizedCircularAutocorr(), MIR::IsPowOfTwo(), and MIR::QuantizationFitDebugOutput::odfAutoCorr.
Referenced by GetMostLikelyMeterFromQuantizationExperiment().
MusicalMeter MIR::anonymous_namespace{GetMeterUsingTatumQuantizationFit.cpp}::GetMostLikelyMeterFromQuantizationExperiment | ( | const std::vector< float > & | odf, |
int | numTatums, | ||
std::vector< BarDivision > | possibleBarDivisions, | ||
double | audioFileDuration, | ||
QuantizationFitDebugOutput * | debugOutput | ||
) |
Definition at line 343 of file GetMeterUsingTatumQuantizationFit.cpp.
References for_each_in_range(), GetBestBarDivisionIndex(), GetTimeSignature(), and anonymous_namespace{NoteTrack.cpp}::swap().
Referenced by MIR::GetMeterUsingTatumQuantizationFit().
int MIR::anonymous_namespace{GetMeterUsingTatumQuantizationFit.cpp}::GetOnsetLag | ( | const std::vector< float > & | odf, |
int | numTatums | ||
) |
Definition at line 107 of file GetMeterUsingTatumQuantizationFit.cpp.
References for_each_in_range(), and fast_float::round().
PossibleDivHierarchies MIR::anonymous_namespace{GetMeterUsingTatumQuantizationFit.cpp}::GetPossibleDivHierarchies | ( | double | audioFileDuration | ) |
Definition at line 61 of file GetMeterUsingTatumQuantizationFit.cpp.
References for_each_in_range(), maxBeatsPerBar, maxBpm, minBeatsPerBar, minBpm, possibleTatumsPerBeat, and fast_float::round().
Referenced by MIR::GetMeterUsingTatumQuantizationFit().
double MIR::anonymous_namespace{GetMeterUsingTatumQuantizationFit.cpp}::GetQuantizationDistance | ( | const std::vector< int > & | peakIndices, |
const std::vector< float > & | peakValues, | ||
size_t | size, | ||
int | numDivisions, | ||
int | lag | ||
) |
Definition at line 143 of file GetMeterUsingTatumQuantizationFit.cpp.
References size.
std::optional< TimeSignature > MIR::anonymous_namespace{GetMeterUsingTatumQuantizationFit.cpp}::GetTimeSignature | ( | const BarDivision & | barDivision, |
int | numTatums | ||
) |
Definition at line 206 of file GetMeterUsingTatumQuantizationFit.cpp.
References MIR::anonymous_namespace{GetMeterUsingTatumQuantizationFit.cpp}::BarDivision::beatsPerBar, and MIR::anonymous_namespace{GetMeterUsingTatumQuantizationFit.cpp}::BarDivision::numBars.
Referenced by GetMostLikelyMeterFromQuantizationExperiment().
double MIR::anonymous_namespace{GetMeterUsingTatumQuantizationFit.cpp}::GetTimeSignatureLikelihood | ( | const std::optional< TimeSignature > & | ts, |
double | bpm | ||
) |
Definition at line 231 of file GetMeterUsingTatumQuantizationFit.cpp.
bool MIR::anonymous_namespace{GetMeterUsingTatumQuantizationFit.cpp}::IsSingleEvent | ( | const std::vector< int > & | peakIndices, |
const std::vector< float > & | peakValues | ||
) |
Definition at line 375 of file GetMeterUsingTatumQuantizationFit.cpp.
Referenced by MIR::GetMeterUsingTatumQuantizationFit().
OnsetQuantization MIR::anonymous_namespace{GetMeterUsingTatumQuantizationFit.cpp}::RunQuantizationExperiment | ( | const std::vector< float > & | odf, |
const std::vector< int > & | peakIndices, | ||
const std::vector< float > & | peakValues, | ||
const std::vector< int > & | possibleNumTatums, | ||
QuantizationFitDebugOutput * | debugOutput | ||
) |
Definition at line 171 of file GetMeterUsingTatumQuantizationFit.cpp.
Referenced by MIR::GetMeterUsingTatumQuantizationFit().
|
constexpr |
Definition at line 37 of file GetMeterUsingTatumQuantizationFit.cpp.
Referenced by GetPossibleDivHierarchies().
|
constexpr |
Definition at line 35 of file GetMeterUsingTatumQuantizationFit.cpp.
Referenced by GetPossibleDivHierarchies().
|
constexpr |
Definition at line 33 of file GetMeterUsingTatumQuantizationFit.cpp.
|
constexpr |
Definition at line 36 of file GetMeterUsingTatumQuantizationFit.cpp.
Referenced by GetPossibleDivHierarchies().
|
constexpr |
Definition at line 34 of file GetMeterUsingTatumQuantizationFit.cpp.
Referenced by GetPossibleDivHierarchies().
|
constexpr |
Definition at line 32 of file GetMeterUsingTatumQuantizationFit.cpp.
|
constexpr |
Definition at line 38 of file GetMeterUsingTatumQuantizationFit.cpp.
Referenced by GetPossibleDivHierarchies().