validate method
Validate the configuration
Implementation
@override
void validate() {
// Validate threshold range with better guidance
if (energyThreshold < 0 || energyThreshold > 1.0) {
throw SDKError.validationFailed(
'Energy threshold must be between 0 and 1.0. Recommended range: 0.01-0.05',
);
}
// Warn if threshold is too low or too high
if (energyThreshold < 0.002) {
throw SDKError.validationFailed(
'Energy threshold $energyThreshold is very low and may cause false positives. Recommended minimum: 0.002',
);
}
if (energyThreshold > 0.1) {
throw SDKError.validationFailed(
'Energy threshold $energyThreshold is very high and may miss speech. Recommended maximum: 0.1',
);
}
if (sampleRate <= 0 || sampleRate > 48000) {
throw SDKError.validationFailed(
'Sample rate must be between 1 and 48000 Hz',
);
}
if (frameLength <= 0 || frameLength > 1.0) {
throw SDKError.validationFailed(
'Frame length must be between 0 and 1 second',
);
}
// Validate calibration multiplier
if (calibrationMultiplier < 1.5 || calibrationMultiplier > 5.0) {
throw SDKError.validationFailed(
'Calibration multiplier must be between 1.5 and 5.0',
);
}
}