frames To Segments
fun framesToSegments(frameMask: BooleanArray, sampleRate: Int, hopLength: Int): List<Pair<Float, Float>>
Convert a boolean frame mask to time segments.
Identifies contiguous runs of true values and converts them to (startSeconds, endSeconds) pairs.
Usage
Kotlin
val mask = booleanArrayOf(false, true, true, true, false)
val segments = SonixAudioUtils.framesToSegments(mask, sampleRate = 16000, hopLength = 512)
// segments: [(0.032, 0.128)]Content copied to clipboard
Swift
let mask: [Bool] = [false, true, true, true, false]
let segments = SonixAudioUtils.framesToSegments(frameMask: mask, sampleRate: 16000, hopLength: 512)
// segments: [(start: 0.032, end: 0.128)]Content copied to clipboard
Return
List of (start, end) time pairs in seconds.
Parameters
frame Mask
Boolean array where true indicates an active frame.
sample Rate
Sample rate in Hz (must be positive).
hop Length
Hop length in samples (must be positive).