Warning: session_start(): open(/var/lib/php/sessions/sess_2g8on3k0mu712uamfkht06cukv, 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
!7
replace MarkedImage with BWImageAndRange.
static L markedImages;
p-exp {
L files = latestFilesFirst(audioRecordingsWithSingleClip());
pnl(files);
markedImages = map_printProgress(f audioFileToBWImageAndRange, files);
showOriginalClips();
findBestBand();
}
srecord Band(IntRange r, float threshold) {}
svoid findBestBand {
final int h = first(markedImages).image.getHeight();
final new Best best;
final new AIStrategy_RandomWithVariation strategy;
strategy.random = func -> Band { Band(randomIntRange(1, 0, h), randomFloat()) };
strategy.vary = func(Band b) -> Band { Band(varyIntRange(b.r, 5, 1, 0, h), varyFloat(b.threshold)) };
strategy.submit = func(final Band b) -> double {
new Scorer scorer;
for (MarkedImage img : markedImages)
audio_scoreEntryPoints(scorer, img, audio_exitPointsUsingBand_v1(img.image, b.r, threshold := b.threshold));
if (best.put(b, scorer!)) {
print(scorer + " / Band: " + b + " of " + h);
quickShowZoomedImage(mergeBWImagesVertically(map(markedImages,
func(MarkedImage img) -> BWImage {
new Var processedImage;
L exitPoints = audio_exitPointsUsingBand_v1(img.image, b.r, threshold := b.threshold, +processedImage);
ret markIntRangesOnTopOfBWImage(
squishBWImage(processedImage!, 20),
ll(intRange(img.start, img.end)),
intsToSize2Ranges(exitPoints));
})));
}
ret scorer!;
};
thread { while licensed { strategy.go(); } }
}
svoid showOriginalClips {
showImage(mergeBWImagesVertically(map renderBWImageAndRange(markedImages)));
}