Excessive clipping can happen with perfectly normal input - make the warning less scary

This commit is contained in:
Chris Cannam
2022-06-29 14:43:59 +01:00
parent 3060f37ae8
commit fb8f021a1a

View File

@@ -865,19 +865,21 @@ int main(int argc, char **argv)
} }
if (clipping) { if (clipping) {
if (!quiet) {
cerr << "NOTE: Clipping detected at output sample "
<< countOut << ", restarting with "
<< "reduced gain of " << gain
<< " (supply --ignore-clipping to avoid this)" << endl;
}
const float mingain = 0.75f; const float mingain = 0.75f;
if (gain < mingain) { if (gain < mingain) {
cerr << "WARNING: Clipped values were implausibly high: " cerr << "NOTE: Clipping detected at output sample "
<< "something wrong with input or process - " << countOut << ", but not reducing gain as it would "
<< "not reducing gain below " << mingain << endl; << "mean dropping below minimum " << mingain << endl;
gain = mingain; gain = mingain;
ignoreClipping = true; ignoreClipping = true;
} else {
if (!quiet) {
cerr << "NOTE: Clipping detected at output sample "
<< countOut << ", restarting with "
<< "reduced gain of " << gain
<< " (supply --ignore-clipping to avoid this)"
<< endl;
}
} }
successful = false; successful = false;
break; break;
@@ -983,7 +985,11 @@ int main(int argc, char **argv)
if (!quiet) { if (!quiet) {
cerr << "in: " << countIn << ", out: " << countOut << ", ratio: " << float(countOut)/float(countIn) << ", ideal output: " << lrint(countIn * ratio) << ", error: " << abs(lrint(countIn * ratio) - int(countOut)) << endl; cerr << "in: " << countIn << ", out: " << countOut
<< ", ratio: " << float(countOut)/float(countIn)
<< ", ideal output: " << lrint(countIn * ratio)
<< ", error: " << abs(lrint(countIn * ratio) - int(countOut))
<< endl;
#ifdef _WIN32 #ifdef _WIN32
RubberBand:: RubberBand::