var frameSize = 160
//
var i = 0
while (i + frameSize <= samples!!.size) {
val frame = samples.copyOfRange(i, i + frameSize)
if (mWhisper!!.isSpeech(frame)) {
Log.d(TAG, "Speech detected")
// Convert to float array for Whisper
val floatFrame = FloatArray(frame.size) { j -> frame[j] / 32768.0f }
mWhisper!!.writeBuffer(floatFrame)
} else {
Log.d(TAG, "Silence skipped")
}
i += frameSize
}
var frameSize = 160
//
var i = 0
while (i + frameSize <= samples!!.size) {
val frame = samples.copyOfRange(i, i + frameSize)