@class VTBiometricMatchMonitor, NSDate, NSDictionary, VTAudioCircularBuffer, NSObject, VTTextDependentSpeakerRecognizer, NSDateFormatter, NSMutableArray, VTCorruptDetector, NSString, VTAudioFileReader, VTAnalyzerNDAPI, NSArray, NSData, VTSiriNotifications, VTTranscriber, VTPhraseSpotterEnabledPolicy; @protocol OS_dispatch_queue, OS_dispatch_semaphore; @interface VTPhraseSpotter : NSObject <VTTextDependentSpeakerRecognizerDelegate, VTAssetMonitorDelegate, VTLanguageCodeUpdateMonitorDelegate> { double _hardwareSampleRate; VTAnalyzerNDAPI *_analyzer; NSArray *_triggerPhrases; id /* block */ _readyCompletion; id /* block */ _readyForAnalyze; int _firstUnlockAfterRebootNotificationToken; BOOL _isMaximized; int _numFramesFromPreTrigger; double _ndapiThreshold; double _ndapiThresholdSecondChance; double _ndapiThresholdLogNearMisses; double _combinedThreshold; double _combinedThresholdSecondChance; double _combinedThresholdLogNearMisses; double _threshold; double _thresholdSecondChance; double _effectiveThreshold; BOOL _audioLoggingEnabled; double _thresholdLogNearMisses; NSString *_audioFileDir; BOOL _secondPassAudioLoggingEnabled; BOOL _audioCaptureRequested; NSString *_languageCode; NSString *_configPath; NSString *_configData; NSString *_configLanguageCode; NSString *_configVersion; NSString *_resourcePath; double _triggerThreshold; unsigned int _extraSamplesAtStart; double _secondPassTrailingTime; BOOL _isRunningSATEnrollment; BOOL _isRunningSATDetection; double _thresholdSAT; BOOL _implicitlyTrained; NSString *_lastImplicitlyTrainedAudioFile; unsigned long long _retrainNumExplicitUtt; unsigned long long _retrainNumImplicitUtt; NSString *_retrainSamplingPolicy; double _retrainThresholdTrigger; double _retrainThresholdSAT; VTAudioCircularBuffer *_audioBuffer; NSDateFormatter *_formatter; BOOL _doSuperVectorSecondaryTest; double _thresholdPreSuperVector; BOOL _isSuperVectorNeeded; unsigned int _samplecount; unsigned int _samplecountAtLastTriggerStart; unsigned int _samplecountAtLastTriggerEnd; unsigned int _samplecountAtRealTriggerStart; unsigned int _sampleCountAtFirstChance; unsigned int _lastEventEnd; int _nearMissLogPreDelayTimer; BOOL _nearMissLogPending; BOOL _firstChanceDetected; double _firstChanceDetectionTime; BOOL _isSecondChanceEffective; double _lastUptime; double _lastDowntime; BOOL _earlyDetected; double _earlyDetectTime; NSObject<OS_dispatch_queue> *_loggingQueue; NSObject<OS_dispatch_queue> *_ndetectQueue; int _heartbeatCounter; int _languageCodeChangedNotificationToken; NSObject<OS_dispatch_queue> *_assetChangedQueue; BOOL _registeredForPhraseSpotterNotification; BOOL _phraseSpotterEnabled; BOOL _registeredforVoiceTriggerEnabledNotification; BOOL _voiceTriggerEnabled; BOOL _phraseSpotterBypassed; BOOL _isSecondPass; int _secondPassResetTimer; BOOL _secondPassAccepted; double _secondPassBestScore; BOOL _didWakeAP; BOOL _secondPassTriggered; BOOL _secondPassStopSent; id /* block */ _assetChangedCallback; VTSiriNotifications *siriNotifications; NSObject<OS_dispatch_queue> *_desQueue; BOOL _useRecognizer; BOOL _isRunningRecognizer; BOOL _isRecognitionResultPending; BOOL _firstRecognitionResultReceived; BOOL _useFallbackThresholdUponTimeout; BOOL _useKeywordSpotting; NSString *_recognizerConfigName; double _recognizerThresholdOffset; double _recognizerWaitTime; double _recognizerScore; double _recognizerScoreScaleFactor; NSString *_triggerTokens; VTTranscriber *_transcriber; VTTextDependentSpeakerRecognizer *_satDetectionTdSr; NSObject<OS_dispatch_semaphore> *_satDetectionTdSrSemaphore; double _tdSpeakerRecognizerSATThreshold; double _lastCombinedTdSpeakerRecognizerSATScore; double _tdSpeakerRecognizerCombinationWeight; NSMutableArray *_nonceTriggerEvents; VTCorruptDetector *_corruptDetector; unsigned long long _earlyDetecFiredMachTime; unsigned long long _triggerStartMachTime; unsigned long long _triggerFireMachTime; BOOL _deviceHandheld; double _handHeldDetectedTime; double _firstPassScore; VTPhraseSpotterEnabledPolicy *_policy; struct OpaqueAudioConverter { } *_deinterleaver; unsigned long long _numChannels; struct AudioBufferList { unsigned int x0; struct AudioBuffer { unsigned int x0; unsigned int x1; void *x2; } x1[1]; } *_deinterleavedABL; VTAudioFileReader *_audioFileReader; unsigned long long _audioInjectionIndex; NSString *_injectedAudioFilePath; BOOL _externalPhraseSpotterRunning; NSDictionary *_lastVoiceTriggerEventInfo; VTBiometricMatchMonitor *_biometricMonitor; double _lastPHSRejectedTime; double _consecutivePHSRejects; } @property (readonly) unsigned long long samplerate; @property (readonly) unsigned long long sampleCount; @property (readonly) unsigned long long sampleCountAtStartOfTrigger; @property (readonly) unsigned long long sampleCountAtEndOfTrigger; @property (readonly) double lastScore; @property (readonly) double lastSupervecScore; @property (readonly) unsigned char lastTriggerType; @property (readonly) long long triggerCount; @property (readonly) NSData *firstChanceAudioBuffer; @property (readonly) NSDictionary *firstChanceVTEventInfo; @property (readonly) NSDate *firstChanceTriggeredDate; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (void)initialize; + (id)currentSpotter; - (void)_performReadyCompletion; - (id)_capturePathWithPrefix:(id)a0 eventKind:(unsigned char)a1; - (void)_clearDeviceHandHeld; - (id)init; - (void)_logMetaData:(id)a0; - (void)_handleAssetChangeForLanguageCode:(id)a0; - (id)initWithLanguageCodeForSATEnrollment:(id)a0; - (void)dealloc; - (void)looseTriggerThreshold; - (unsigned long long)_applyExtraTime:(double)a0 to:(unsigned long long)a1; - (void)_setDeviceHandHeld; - (void)_safeConfigureWithAnalyzer:(id)a0 path:(id)a1 data:(id)a2 resourcePath:(id)a3; - (long long)isFollowedBySpeech; - (void)prepareWithProperty:(id)a0 readyCompletion:(id /* block */)a1; - (id)getLanguageCode; - (void)textDependentSpeakerRecognizer:(id)a0 failedWithError:(id)a1; - (unsigned long long)_sampleLengthFrom:(unsigned int)a0 To:(unsigned int)a1; - (long long)_getNumberOfAudioFilesInDirectory:(id)a0; - (void)_setSecondChance; - (id)getSATDirectory; - (void)requestSecondChance; - (id)_randomSubset:(id)a0 numSelected:(unsigned int)a1; - (id)getCorealisRTModel; - (void)_logCorruptAudio; - (void)_logDESTriggerRecord:(const struct _ndresult { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; float x4; BOOL x5; BOOL x6; } *)a0 result:(id)a1; - (void)_initDetector; - (id)_handleTriggerEvent:(const struct _ndresult { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; float x4; BOOL x5; BOOL x6; } *)a0 num_new_samples:(unsigned int)a1 satScore:(double)a2; - (id)_analyzeEvents:(const struct _ndresult { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; float x4; BOOL x5; BOOL x6; } *)a0; - (id)_createVTEventInfoString:(id)a0; - (BOOL)_shouldPerformRetrainingWithAnalyzerNDAPI:(id)a0 resourcePath:(id)a1; - (void)_resetVoiceTriggerDueToRTSTrigger; - (id)_desRecordFromTriggerData:(const struct _ndresult { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; float x4; BOOL x5; BOOL x6; } *)a0 sampleCount:(unsigned long long *)a1; - (id)initWithConfig:(id)a0 resourcePath:(id)a1; - (void)didReceiveSleepGesture; - (void)textDependentSpeakerRecognizer:(id)a0 hasSatScore:(float)a1; - (id)lastVoiceTriggerEventInfo; - (void)_voiceTriggerEnabledDidChange; - (id)_sampleFromSortedArray:(id)a0 numSelected:(unsigned long long)a1; - (id)initWithConfig:(id)a0 assetDir:(id)a1 runMode:(unsigned long long)a2; - (void)_storeFirstChanceAudio; - (id)analyze:(struct AudioBuffer { unsigned int x0; unsigned int x1; void *x2; })a0; - (BOOL)_configureWithConfig:(id)a0 resourcePath:(id)a1; - (void)_logDESRecord:(const struct _ndresult { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; float x4; BOOL x5; BOOL x6; } *)a0 result:(id)a1 isActualTrigger:(BOOL)a2; - (id)initWithHardwareSampleRate:(double)a0 readyCompletion:(id /* block */)a1; - (BOOL)_isDeviceHandheld; - (void)_logPHSDESRecord:(const struct _ndsupervec { float *x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; } *)a0; - (void)_cancelSecondChance; - (void)setStartSampleHostTime:(unsigned long long)a0; - (unsigned long long)_getBiometricMatchResult; - (void)clearTriggerCount; - (id)initWithHardwareSampleRate:(double)a0; - (void)_createFirstChanceMeta:(const struct _ndresult { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; float x4; BOOL x5; BOOL x6; } *)a0; - (double)_computeSATScore:(const struct _ndresult { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; float x4; BOOL x5; BOOL x6; } *)a0; - (void).cxx_destruct; - (void)didReceiveWakeGesture; - (void)_phraseSpotterEnabledDidChange; - (id)_storeTrainingAudioAndMetaInfo; - (id)_analyzeMakeResult:(const struct _ndresult { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; float x4; BOOL x5; BOOL x6; } *)a0 eventKind:(unsigned char)a1 satScore:(double)a2; - (void)VTAudioRouteChangeMonitorDidChangeAudioRoute:(id)a0; - (void)startAudioCapture; - (void)_notifyAssetChangedCallback; - (BOOL)_configureWithDefaults; - (void)_logDESRecord:(const struct _ndresult { unsigned int x0; unsigned int x1; unsigned int x2; unsigned int x3; float x4; BOOL x5; BOOL x6; } *)a0 result:(id)a1; - (void)setBypass:(BOOL)a0; - (void)_safeReconfig; - (id)analyzeBufferList:(struct AudioBufferList { unsigned int x0; struct AudioBuffer { unsigned int x0; unsigned int x1; void *x2; } x1[1]; } *)a0; - (id)assetDictionary; - (void)_resetCounters; - (void)_firstUnlockedAndSpringBoardStarted; - (void)didReceiveSiriSessionCancellation:(id)a0; - (void)requestFoceTrigger; - (unsigned long long)_addExtraTime:(double)a0 to:(unsigned long long)a1; - (void)_analyzeResetWithOption:(unsigned char)a0; - (void)stopAudioCapture; - (void)VTLanguageCodeUpdateMonitor:(id)a0 didReceiveLanguageCodeChanged:(id)a1; - (BOOL)_shouldCreateAudioBuffer; - (void)_commonInit; - (void)_logPrepareProperty:(id)a0; - (unsigned long long)getAdjustedDeviceStartTime:(unsigned long long)a0; - (void)notifyAssetChangeWithCallback:(id /* block */)a0; - (id)getAudioBuffer; - (void)VTAssetMonitor:(id)a0 didReceiveNewAssetAvailable:(BOOL)a1; - (BOOL)_getSecondChanceEffective; @end