Warning: session_start(): open(/var/lib/php/sessions/sess_amoigrvo8ssp7p99dsn8dbv93v, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
sclass BPMExtractor1 {
int getBPM(L ranges) {
int[] gaps = intRangeStartGaps(ranges);
if (empty(gaps)) ret 0;
sort(gaps);
MultiSet ms = intArrayAsTreeMultiSet(gaps);
new Best best;
for (int gap : keys(ms))
if (isBetween_double(
audio_frequencyImage_pixelsToBPM(gap),
minBPM, maxBPM))
best.put(gap, ms.get(gap-1)+ms.get(gap)+ms.get(gap+1));
Int gap = best!;
if (gap == null) ret 0 with print("no fitting gaps");
print(ms);
double exactGap = weightedAverage_lit(
gap-1, ms.get(gap-1),
gap, ms.get(gap),
gap+1, ms.get(gap+1));
double bpm = audio_frequencyImage_pixelsToBPM(exactGap);
printVars_str(+gap, +exactGap, +bpm);
ret bpm;
}
}