luxlabs header browser preview


@class NSDictionary, CSAudioConverter, CSAudioSampleRateConverter, CSAudioSessionController, CSAudioStopStreamOption, SOMediaNowPlayingObserver, CSXPCClientFactory, CSAudioZeroCounter, CSVolumeMonitor, SOClockTimerObserver, SOClockAlarmObserver, CSAsset, CSSACInfoMonitor, CSEndpointerProxy, CSLanguageDetector, SSRVoiceProfileManager, CSSmartSiriVolumeController, CSRCHandlingXPCClient, CSUncompressedAudioLogging, CSPlainAudioFileWriter, CSSpeakerRecognitionProxy, CSAudioPowerMeter, NSArray, CSContinuousVoiceTrigger, CSAudioStream, SSRSpeakerRecognitionController, CSSelectiveChannelAudioFileWriter, NSMutableDictionary, NSString, NSObject, CSAudioRecordContext, CSAudioDeviceInfo, NSUUID, CSXPCClient, CSSpeechEndHostTimeEstimator;
@protocol CSAudioAlertProviding, CSAudioMeterProviding, CSSpeechControllerDelegate, CSSpeakerIdentificationDelegate, CSAudioSessionProviding, CSAudioMetricProviding, CSAudioStreamProviding, OS_dispatch_queue, CSEndpointAnalyzer, OS_dispatch_group, CSLanguageDetectorDelegate;

@interface CSSpeechController : NSObject <CSAudioConverterDelegate, CSSmartSiriVolumeControllerDelegate, CSAudioStreamProvidingDelegate, CSAudioAlertProvidingDelegate, CSAudioSessionControllerDelegate, CSAudioDecoderDelegate, CSEndpointAnalyzerImplDelegate, CSLanguageCodeUpdateMonitorDelegate, SOMediaNowPlayingListening, SOClockAlarmListening, SOClockTimerListening, CSSpeakerRecognitionProxyProtocol, SSRSpeakerRecognitionControllerDelegate, CSSpeakerRecognitionAssetDownloadMonitorDelegate, CSVoiceTriggerAssetHandlerDelegate, CSXPCClientDelegate, CSAudioSessionProvidingDelegate, CSSpeechManagerDelegate, CSContinuousVoiceTriggerDelegate> {
    NSObject<OS_dispatch_queue> *_targetQueue;
    NSObject<OS_dispatch_queue> *_queue;
    NSObject<OS_dispatch_queue> *_contextResetQueue;
    CSAudioConverter *_opusAudioConverter;
    CSAudioConverter *_narrowBandOpusConverter;
    CSAudioConverter *_audioConverter;
    CSAudioSampleRateConverter *_downsampler;
    NSDictionary *_requestedRecordSettings;
    NSDictionary *_lastVoiceTriggerInfo;
    NSDictionary *_lastRTSTriggerInfo;
    CSAudioZeroCounter *_continuousZeroCounter;
    NSObject<OS_dispatch_queue> *_audibleFeedbackQueue;
    NSObject<OS_dispatch_group> *_twoShotAudibleFeedbackDecisionGroup;
}

@property (nonatomic) BOOL supportPhatic;
@property (nonatomic) BOOL supportHearstVoiceTrigger;
@property (nonatomic) BOOL supportTriagleModeSessionActivationRetry;
@property (nonatomic) BOOL supportSessionActivateDelay;
@property (nonatomic) BOOL supportLazySessionActivtion;
@property (retain, nonatomic) CSEndpointerProxy *endpointerProxy;
@property (retain, nonatomic) CSAudioRecordContext *audioRecordContext;
@property (retain, nonatomic) CSAudioStream *audioStream;
@property (retain, nonatomic) id<CSAudioStreamProviding> streamProvider;
@property (retain, nonatomic) id<CSAudioSessionProviding> sessionProvider;
@property (retain, nonatomic) id<CSAudioAlertProviding> alertProvider;
@property (retain, nonatomic) id<CSAudioMeterProviding> audioMeterProvider;
@property (retain, nonatomic) id<CSAudioMetricProviding> audioMetricProvider;
@property (nonatomic) BOOL isAsrOnDevice;
@property (nonatomic) BOOL isOpus;
@property (nonatomic) BOOL isSiriClientListening;
@property (nonatomic) BOOL hasRequestedTwoShotFeedback;
@property (nonatomic) BOOL isNarrowBand;
@property (retain, nonatomic) CSPlainAudioFileWriter *audioFileWriter;
@property (retain, nonatomic) CSSelectiveChannelAudioFileWriter *serverLoggingWriter;
@property (retain, nonatomic) CSSmartSiriVolumeController *volumeController;
@property (retain, nonatomic) NSString *recordEventUUID;
@property (nonatomic) BOOL isAudioSessionActivated;
@property (nonatomic) BOOL deviceRoleIsStereo;
@property (retain, nonatomic) NSDictionary *speakerRecognitionScores;
@property (nonatomic) unsigned long long activeChannel;
@property (nonatomic) BOOL twoShotNotificationEnabled;
@property (nonatomic) BOOL isMediaPlaying;
@property (nonatomic) BOOL isAlarmPlaying;
@property (nonatomic) BOOL isTimerPlaying;
@property (nonatomic) BOOL isSoundPlaying;
@property (nonatomic) BOOL isRemoteVADAvailableStream;
@property (nonatomic) BOOL myriadPreventingTwoShotFeedback;
@property (retain, nonatomic) CSSpeechEndHostTimeEstimator *speechEndHostTimeEstimator;
@property (retain, nonatomic) NSString *bundleIdFromDictation;
@property (nonatomic) BOOL isHybridUODEnabled;
@property (retain, nonatomic) CSContinuousVoiceTrigger *continuousVoiceTrigger;
@property (retain, nonatomic) CSLanguageDetector *languageDetector;
@property (nonatomic) BOOL shouldUseLanguageDetectorForCurrentRequest;
@property (retain, nonatomic) NSUUID *pendingAudioSessionActivationToken;
@property (copy, nonatomic) id /* block */ pendingAudioSessionActivationCompletion;
@property (nonatomic) unsigned long long pendingAudioSessionActivationReason;
@property (nonatomic) double audioSessionActivationDelay;
@property (retain, nonatomic) CSXPCClientFactory *xpcClientFactory;
@property (retain, nonatomic) CSXPCClient *xpcClient;
@property (retain, nonatomic) CSXPCClient *duckAudioXPCClient;
@property (nonatomic) float cachedAvgPower;
@property (nonatomic) float cachedPeakPower;
@property (retain, nonatomic) CSAudioPowerMeter *powerMeter;
@property (nonatomic) BOOL didDeliverLastBuffer;
@property (nonatomic) BOOL didDeliverFirstSpeechPacket;
@property (retain, nonatomic) NSString *requestMHUUID;
@property (nonatomic) BOOL canPerformDelayedStop;
@property (nonatomic) BOOL hasPerformedDelayedStop;
@property (retain, nonatomic) CSAudioStopStreamOption *requestedStopRecordingOptions;
@property (nonatomic) unsigned long long numTrailingSamplesAfterSchedulingStop;
@property (nonatomic) unsigned long long maxAllowedTrailingSamplesAfterSchedulingStop;
@property (retain, nonatomic) NSMutableDictionary *decodersForTV;
@property (nonatomic) unsigned long long decoderProcessedSampleCountForTV;
@property (retain, nonatomic) NSString *logEventUUID;
@property (retain, nonatomic) CSSpeakerRecognitionProxy *speakerRecognitionProxy;
@property (retain, nonatomic) SSRSpeakerRecognitionController *speakerRecognitionController;
@property (retain, nonatomic) SSRVoiceProfileManager *voiceProfileManager;
@property (retain, nonatomic) CSAsset *asset;
@property (retain, nonatomic) NSArray *ssrAssets;
@property (retain, nonatomic) NSString *ssvLogFilePath;
@property (retain, nonatomic) NSObject<OS_dispatch_queue> *mediaPlayingObserverQueue;
@property (retain, nonatomic) SOMediaNowPlayingObserver *mediaPlayingMonitor;
@property (retain, nonatomic) SOClockAlarmObserver *alarmMonitor;
@property (retain, nonatomic) SOClockTimerObserver *timerMonitor;
@property (retain, nonatomic) CSVolumeMonitor *volumeMonitor;
@property (retain, nonatomic) CSAudioDeviceInfo *audioDeviceInfo;
@property (readonly, copy, nonatomic) NSUUID *endpointId;
@property (nonatomic) BOOL setupStarted;
@property (retain, nonatomic) CSAudioSessionController *audioSessionController;
@property (retain, nonatomic) CSSACInfoMonitor *sacInfoMonitor;
@property (retain, nonatomic) CSRCHandlingXPCClient *rcHandlingClient;
@property (retain, nonatomic) CSUncompressedAudioLogging *uncompressedAudioLogging;
@property (weak, nonatomic) id<CSSpeechControllerDelegate> delegate;
@property (weak, nonatomic) id<CSLanguageDetectorDelegate> languageDetectorDelegate;
@property (weak, nonatomic) id<CSSpeakerIdentificationDelegate> speakerIdDelegate;
@property (readonly, nonatomic) id<CSEndpointAnalyzer> endpointAnalyzer;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)sharedController;
+ (BOOL)isSmartSiriVolumeAvailable;

- (void)setEndpointerOperationMode:(long long)a0;
- (void)CSLanguageCodeUpdateMonitor:(id)a0 didReceiveLanguageCodeChanged:(id)a1;
- (void)stopRecording;
- (id)endpointerModelVersion;
- (BOOL)playRecordStartingAlertAndResetEndpointerWithAlertOverride:(long long)a0;
- (void)setMeteringEnabled:(BOOL)a0;
- (void)updateMeters;
- (BOOL)_supportsHybridSDSD;
- (id)recordSettings;
- (id)playbackRoute;
- (BOOL)startRecording:(id *)a0;
- (float)averagePowerForChannel:(unsigned long long)a0;
- (float)peakPowerForChannel:(unsigned long long)a0;
- (id)recordDeviceInfo;
- (id)voiceTriggerInfo;
- (void)setDuckOthersOption:(BOOL)a0;
- (BOOL)playAlertSoundForType:(long long)a0;
- (id)_processSpeakerRecognitionResult:(id)a0;
- (unsigned long long)alertStartTime;
- (BOOL)_canPlayTwoShotFeedbackDuringMediaPlayback;
- (BOOL)isRecording;
- (void)updateEndpointerDelayedTrigger:(BOOL)a0;
- (BOOL)setRecordBufferDuration:(double)a0;
- (BOOL)setAlertSoundFromURL:(id)a0 forType:(long long)a1 force:(BOOL)a2;
- (void)stopEndpointer;
- (id)_getSpeechIdentifier;
- (void)_setSoundPlayingState;
- (void)CSXPCClient:(id)a0 didDisconnect:(BOOL)a1;
- (BOOL)_isDelayedDuckingSupportedContext;
- (id)init;
- (BOOL)_isRecordRouteBuiltinMic;
- (void)endpointer:(id)a0 detectedTwoShotAtTime:(double)a1;
- (void)didReceiveSpeakerRecognitionScoreCard:(id)a0;
- (void)audioStreamProvider:(id)a0 audioChunkForTVAvailable:(id)a1;
- (id)initWithEndpointId:(id)a0;
- (id)_getSerialQueueWithName:(id)a0 targetQueue:(id)a1;
- (void)audioConverterDidConvertPackets:(id)a0 packets:(id)a1 durationInSec:(float)a2 timestamp:(unsigned long long)a3 arrivalTimestampToAudioRecorder:(unsigned long long)a4;
- (BOOL)_shouldResetContextAtPrepare;
- (void)reset;
- (void)continuousVoiceTrigger:(id)a0 detectedSilenceAfterVoiceTriggerAt:(double)a1;
- (BOOL)_fetchLastTriggerInfo;
- (void)updateEndpointerThreshold:(float)a0;
- (double)lastEndOfVoiceActivityTime;
- (void)fetchAudioMetricsWithCompletion:(id /* block */)a0;
- (void)processServerEndpointFeatures:(id)a0;
- (void)shouldAcceptEagerResultForDuration:(double)a0 resultsCompletionHandler:(id /* block */)a1;
- (void)preheat;
- (id)getAudioConverterForTest;
- (void)_initializeMediaPlayingState;
- (BOOL)_lazyActivateAudioSessionWithReason:(unsigned long long)a0 error:(id *)a1;
- (BOOL)_shouldUseLanguageDetector:(id)a0;
- (void)audioSessionProvider:(id)a0 providerInvalidated:(BOOL)a1;
- (void)endWaitingForMyriadWithDecision:(unsigned long long)a0;
- (void)_startPhaticDecision;
- (BOOL)_isDuckingAvailableRoute:(id)a0;
- (id)recordRoute;
- (void)setLanguageDetectorInteractionID:(id)a0;
- (void)_updateRecordContextIfNeeded:(id)a0;
- (void)cancelCurrentLanguageDetectorRequest;
- (id)_languageDetectorOptionFromSettings:(id)a0;
- (void)audioStreamProvider:(id)a0 didStopStreamUnexpectedly:(long long)a1;
- (float)peakPowerForOutputReference;
- (void)handleStopRecordingRequestWithOptions:(id)a0;
- (void)didFinishSpeakerRecognition:(id)a0;
- (id)_fetchAudioDecoderForTV:(unsigned int)a0;
- (void)_createAudioPowerMeterIfNeeded;
- (void)startController;
- (void)clockTimerObserver:(id)a0 timerDidFire:(id)a1;
- (void)setSynchronousCallbackEnabled:(BOOL)a0;
- (id)_createTimerMonitor;
- (float)getSmartSiriVolume;
- (BOOL)_setupAudioConverter:(BOOL)a0 isNarrowBand:(BOOL)a1;
- (BOOL)_shouldCalculateEstimatedSpeechEndHostTimeFromCachedEPMetrics;
- (void)audioSessionProviderBeginInterruption:(id)a0;
- (void)_startTwoShotFeedbackDecisionForDetectionAtTime:(double)a0;
- (void)_initializeAlarmState;
- (void)_didStopForReason:(long long)a0;
- (void)setEndpointAnalyzerDelegate:(id)a0;
- (BOOL)_currentConfigurationSupportsDucking;
- (void)continuousVoiceTrigger:(id)a0 detectedVoiceTriggerResult:(id)a1;
- (void)_fetchMetricsAndLog;
- (BOOL)startRecordingWithSettings:(id)a0 error:(id *)a1;
- (id)_contextToString:(id)a0;
- (void)audioSessionController:(id)a0 didReceiveAudioSessionMediaServicesWereResetNotificationWithUserInfo:(id)a1;
- (void)processRCWithId:(unsigned long long)a0 requestId:(id)a1 speechPackage:(id)a2 taskId:(id)a3 forceAccept:(BOOL)a4 completionHandler:(id /* block */)a5;
- (void)audioSessionProviderEndInterruption:(id)a0;
- (void)_logRecordingStopErrorIfNeeded:(long long)a0;
- (void)_initializeTimerState;
- (BOOL)_doActivateAudioSessionWithReason:(unsigned long long)a0 error:(id *)a1;
- (BOOL)prewarmAudioSession;
- (BOOL)_shouldSetStartSampleCountForRTS;
- (BOOL)initializeRecordSessionWithRecordContext:(id)a0;
- (void)_setAlarmIsPlaying:(BOOL)a0;
- (BOOL)prepareRecordWithSettings:(id)a0 error:(id *)a1;
- (BOOL)_activateAudioSessionWithReason:(unsigned long long)a0 error:(id *)a1;
- (void)clockTimerObserver:(id)a0 timerDidDismiss:(id)a1;
- (void)audioDecoderDidDecodePackets:(id)a0 audioStreamHandleId:(unsigned long long)a1 buffer:(id)a2 remoteVAD:(id)a3 timestamp:(unsigned long long)a4 arrivalTimestampToAudioRecorder:(unsigned long long)a5 wasBuffered:(BOOL)a6 receivedNumChannels:(unsigned int)a7;
- (BOOL)_shouldSetStartSampleCount;
- (void)audioSessionProvider:(id)a0 didSetAudioSessionActive:(BOOL)a1;
- (void)_scheduleActivateAudioSessionWithDelay:(double)a0 sessionActivateReason:(unsigned long long)a1 scheduleReason:(id)a2 validator:(id /* block */)a3 completion:(id /* block */)a4;
- (BOOL)_fetchAudioProviderWithContext:(id)a0;
- (void)audioSessionProviderBeginInterruption:(id)a0 withContext:(id)a1;
- (unsigned long long)_calculateEstimatedSpeechEndHostTimeWithStopOptions:(id)a0;
- (void)clockAlarmObserver:(id)a0 snapshotDidUpdateFrom:(id)a1 to:(id)a2;
- (id)_createAlarmMonitor;
- (void)clockTimerObserver:(id)a0 snapshotDidUpdateFrom:(id)a1 to:(id)a2;
- (long long)_currentAudioRecorderSampleRate;
- (void)keywordDetectorDidDetectKeyword;
- (void)_createLanguageDetectorIfNeeded;
- (void)stopRecordingWithOptions:(id)a0;
- (BOOL)_shouldFetchRaiseToSpeakInfo;
- (void)audioAlertProvidingDidFinishAlertPlayback:(id)a0 ofType:(long long)a1 error:(id)a2;
- (void)nowPlayingObserver:(id)a0 playbackStateDidChangeFrom:(long long)a1 to:(long long)a2 lastPlayingDate:(id)a3;
- (void)clockAlarmObserver:(id)a0 alarmDidFire:(id)a1;
- (void)_performPendingAudioSessionActivateForReason:(id)a0;
- (void)speakerRecognitionFinishedProcessing:(id)a0 withFinalSpeakerInfo:(id)a1;
- (void).cxx_destruct;
- (void)setSmartSiriVolumePercentage:(float)a0;
- (BOOL)setCurrentRecordContext:(id)a0 error:(id *)a1;
- (BOOL)_createAudioProviderFromXPCWithContext:(id)a0;
- (void)releaseAudioSession;
- (void)releaseAudioSession:(unsigned long long)a0;
- (float)averagePowerForOutputReference;
- (void)_cancelPendingAudioSessionActivateForReason:(id)a0;
- (void)_audioStreamProvdider:(id)a0 audioBufferAvailable:(id)a1;
- (void)languageDetectorSetMostRecentRecognitionLanguage:(id)a0;
- (BOOL)_isHubRequestTV;
- (float)_scheduledAudibleFeedbackDelay;
- (BOOL)_isRecordRouteStudioDisplay;
- (void)_scheduleAudibleFeedbackAtStartRecording;
- (BOOL)_shouldRunHybridSDSDMitigation;
- (BOOL)_canDelayStopRecording;
- (id)_mapScoresToSharedSiriId:(id)a0;
- (BOOL)isSmartSiriVolumeAvailable;
- (void)beginWaitingForMyriad;
- (BOOL)_activateAudioSessionWithReason:(unsigned long long)a0 delay:(double)a1 delayRequested:(BOOL)a2 error:(id *)a3;
- (void)audioStreamProvider:(id)a0 didHardwareConfigurationChange:(long long)a1;
- (void)speakerRecognitionController:(id)a0 hasSpeakerInfo:(id)a1;
- (void)_refreshSpeakerRecognitionAssets;
- (void)_teardownAudioProviderIfNeeded;
- (void)audioSessionProvider:(id)a0 didChangeContext:(BOOL)a1;
- (void)getMitigationDecisionForRCId:(unsigned long long)a0 requestId:(id)a1 completion:(id /* block */)a2;
- (unsigned long long)outputReferenceChannel;
- (void)resetEndpointer;
- (void)voiceTriggerAssetHandler:(id)a0 endpointId:(id)a1 didChangeCachedAsset:(id)a2;
- (id)_fetchFallbackAudioSessionReleaseProviding;
- (void)setPermanentVolumeOffsetWithDirection:(BOOL)a0;
- (void)_startFeedbackForTwoShotAtTime:(double)a0;
- (id)_createMediaPlayingMonitor;
- (void)_setMediaPlaybackState:(BOOL)a0 isInterrupted:(BOOL)a1;
- (void)audioSessionProvider:(id)a0 willSetAudioSessionActive:(BOOL)a1;
- (void)audioStreamProvider:(id)a0 audioBufferAvailable:(id)a1;
- (void)_setupSpeakerRecognitionController;
- (float)getVolumeForTTSType:(unsigned long long)a0;
- (unsigned long long)_audibleFeedbackPlaybackReason;
- (void)clockAlarmObserver:(id)a0 alarmDidDismiss:(id)a1;
- (void)resetAudioSession;
- (struct AudioStreamBasicDescription { double x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; unsigned int x8; })getLPCMAudioStreamBasicDescription;
- (double)getRecordBufferDuration;
- (void)setSmartSiriVolumeDirection:(BOOL)a0;
- (BOOL)_shouldTrackLaunchLatency;
- (void)_setTimerIsPlaying:(BOOL)a0;
- (BOOL)_shouldFetchVoiceTriggerInfo;
- (void)_setupAudioProviderFromXPC:(id)a0;
- (void)_deviceAudioLoggingWithFileWriter:(id)a0;
- (BOOL)_shouldUseSoundPlaybackMonitors;
- (void)didTTSVolumeChange:(id)a0 forReason:(unsigned long long)a1;
- (id)initWithEndpointId:(id)a0 xpcClientFactory:(id)a1 endpointer:(id)a2 continuousVoiceTrigger:(id)a3 siriVolumeController:(id)a4 mediaPlayingMonitor:(id)a5 alarmMonitor:(id)a6 timerMonitor:(id)a7 sacInfoMonitor:(id)a8 audioSessionController:(id)a9 supportPhatic:(BOOL)a10 supportHearstVoiceTrigger:(BOOL)a11 supportTriagleModeSessionActivationRetry:(BOOL)a12 supportSessionActivateDelay:(BOOL)a13 supportLazySessionActivtion:(BOOL)a14;
- (void)CSSpeakerRecognitionAssetDownloadMonitor:(id)a0 didInstallNewAsset:(BOOL)a1 assetProviderType:(unsigned long long)a2;
- (void)_setupDownsamplerIfNeeded;

@end