This class implements a tool to perform cut detection on audio files
This class implements a tool to perform cut detection on audio files.
typedef LinearFFT <Float> PerformFFT
typedef PerformFFT::Spectrum Spectrum
typedef vector <CutData> CutList
typedef double Deviation
enum Similarity
AuCut(size_t winSize = 512, size_t overlap = 0, PerformFFT::WindowFunc winFunc = PerformFFT::NONE, PerformFFT::ConvMethod convMethod = PerformFFT::AMP, Float weight = 0.5, Float dequality = 1.0, Float dsimilarity = 2.0, int count = 2)
- overlap must be smaller than window size
- weight must be one between 0 - 1
- similarity shell must be bigger then equality shell
- if similarity count is less than 2, 2 will be used
o - overlap of FFT windows in samples
f - FFT windowing function
m - convert fft values to feature vector elements
w - weighting of equalitySpectrum
deq - diameter of equality shell
dsim - diameter of similarity shell
sc - number similarities for cut decision
size_t windowSize()
size_t overlap()
PerformFFT::WindowFunc windowFunc()
PerformFFT::ConvMethod method()
Float weight()
Float equalityDeviation()
Float similarityDeviation()
int similarityCount()
CutList calcCuts(const AudioData& audata)
Similarity compareVector(const Spectrum& equalitySpectrum, const Spectrum& newSpectrum)
newSpectrum - vector containing another spectrum
Deviation euclVecDist(const Spectrum& vectorA, const Spectrum& vectorB)
sqroot( sum( sqare(a[i]-b[i]) ) )
vectorB - another vector
bool decide(const Similarity& similarity)
EQUAL -> no cut; set similarParts = 0
SIMILAR -> set similarParts += 1
if similarParts above threshold => CUT
UNEQUAL -> CUT; set similarParts = 0
void adjustVector(Spectrum& vectorA, const Spectrum& vectorB, bool cut)
a = (weight * a) + ((1-weight) * b).
The cut flag decides, whether b will be the new adjustment vector.
This is usefull in connection with Cut-Detection to adjust the
equalityVector with the newly analyzed feature vector.
vectorB - adjustment vector
cut - PerformFFT* fftTool
size_t _windowSize
size_t _overlap
PerformFFT::WindowFunc _windowFunc
PerformFFT::ConvMethod _method
Float _weight
Float _equalityDeviation
Float _similarityDeviation
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de