Skip to content

Add streaming partial transcription#7

Merged
ivan-digital merged 1 commit intomainfrom
feat/streaming-partial-transcription
Apr 6, 2026
Merged

Add streaming partial transcription#7
ivan-digital merged 1 commit intomainfrom
feat/streaming-partial-transcription

Conversation

@ivan-digital
Copy link
Copy Markdown
Contributor

Summary

  • Implement incremental streaming for Parakeet TDT STT
  • Words appear in real-time as the user speaks (every 500ms)
  • Configurable via SpeechConfig.emitPartialTranscriptions
  • Demo app shows partial text in status bar

Changes

  • ParakeetStt: streaming methods (begin_stream, push_chunk, end_stream, cancel_stream)
  • jni_bridge.cpp: wire 5 streaming vtable slots to speech-core pipeline
  • SpeechConfig.kt: add emitPartialTranscriptions and partialTranscriptionInterval
  • NativeBridge.kt + SpeechPipeline.kt: pass config to JNI
  • MainActivity.kt: display partial transcription in status bar
  • Fix memory check to use /proc/meminfo instead of JVM heap

Test plan

  • 15/15 unit tests pass
  • 31/31 e2e tests pass on arm64 emulator (API 35, 4GB RAM)
  • Manual test on physical device with real speech

Implement incremental streaming for Parakeet TDT: accumulate audio
during speech and re-transcribe every 500ms, emitting PartialTranscription
events so words appear as the user speaks.

- ParakeetStt: add begin_stream, push_chunk, end_stream, cancel_stream
- JNI bridge: wire streaming vtable slots to speech-core
- SpeechConfig: add emitPartialTranscriptions and partialTranscriptionInterval
- Demo app: show partial text in status bar during speech
- Fix memory check to use /proc/meminfo (native RAM) not JVM heap

31/31 e2e tests pass, 15/15 unit tests pass.

Closes #5
@ivan-digital ivan-digital merged commit f6c0386 into main Apr 6, 2026
@ivan-digital ivan-digital deleted the feat/streaming-partial-transcription branch April 7, 2026 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant