validate method

  1. @override
void validate()
override

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',
    );
  }
}