Android M2: live rolling transcript and automatic final pass

- RecorderService: rolling-window live pass with a dedicated live model
  (off/tiny/base, beam 1, 8 s ticks, time-based dedupe) and an automatic
  final pass with the selected model (beam 5) writing txt/srt/json
- TranscriptFiles in core/whisper: desktop-compatible outputs, 5 JVM tests
- WhisperEngine exposes modelName; UI: live-model dropdown, merged
  transcript view, share sheet; falls back to manual path without engine
- live loop failures now logged (MeetRec tag) and surfaced in the UI
  (was silently swallowed), plus final-pass timing logs

On-device measurements (Fairphone 6): tiny live ~0.6x realtime, small
final ~0.8x realtime — motivates the planned whisper-server engine.
This commit is contained in:
2026-09-07 12:14:24 +02:00
parent accfe15350
commit 46b0f128bc
7 changed files with 465 additions and 48 deletions
+5
View File
@@ -27,4 +27,9 @@ android {
}
ndkVersion = "27.1.12297006"
}
dependencies {
// TranscriptFiles is pure Kotlin and unit tested on the JVM.
testImplementation(libs.junit)
}