Skip to main content

Version 1.1.0

New Features

  • Multi-channel analysis: Analyze two channels simultaneously using stereo audio. New startDataSource(using:eventListeners:) / stopDataSource() methods separate the data source lifecycle from session lifecycles, with per-channel start via startAnalysis(channel:config:at:tag:) and per-session stop via stopAnalysis(channel:at:).
  • Audio health monitoring: New audioHealthStream: AsyncStream<AudioHealthUpdate> emits real-time audio input health status changes (.healthy, .flatline, .missingInput). AudioStatistics and AudioHealthInterval are included in the analysis result.
  • Session IDs on all public types: Event, BreathingRate, SleepStageInterval, AudioClip, and AudioHealthUpdate now include a sessionId: UUID property to identify which session they belong to.

API Changes

  • startAnalysis() now returns a UUID identifying the session.
  • Added tag: String? parameter to startAnalysis() for labeling sessions.
  • AudioEventListener.onAudioAnalysisBatchCompleted() now includes a sessionId: UUID parameter.
  • AnalysisResult now includes sleepStageIntervals, audioStatistics, and sessionId properties.
  • Added multiChannelAnalysis to SleepAnalysisFeatures.