Skip to content

Client (Flutter)

Nothing to install — runs in any modern browser (desktop or mobile).

  1. Start your server (Docker / binary / cargo)
  2. Open Web Apphttps://lutgaru.github.io/Sinsajo/app/
  3. Settings → set Server IP (e.g. 192.168.1.100:8765) → tap mic → speak

The Web App on GitHub Pages is built from sinsajo_client via:

Terminal window
flutter build web --release --base-href /Sinsajo/app/

In CI it is merged into docs-site/dist/app/ for a single Pages deploy. Preview locally:

Terminal window
cd docs-site && npm run build
# PowerShell: Copy-Item -Recurse -Force ../sinsajo_client/build/web/* dist/app/
# Bash: cp -r ../sinsajo_client/build/web/* dist/app/

In lib/services/audio_service.dart:

await _vadHandler.startListening(
model: 'v5',
frameSamples: 512,
positiveSpeechThreshold: 0.5,
negativeSpeechThreshold: 0.35,
redemptionFrames: 8,
preSpeechPadFrames: 1,
minSpeechFrames: 3,
);

Tuning:

  • Lower positiveSpeechThreshold to 0.3 for quiet voices
  • Lower negativeSpeechThreshold to 0.2 to keep segments longer
  • Increase redemptionFrames to 12 to avoid cutting pauses
  • Package: vad (pub.dev) — Silero VAD v5 via ONNX Runtime

Riverpod 2.x manages WebSocket lifecycle and transcription state. Check transcription_provider.dart for transcription, partial, final and model_info handlers. See Protocol for the full WebSocket spec.

Web App

Fastest to try or share — no install, just a URL. Needs server IP reachable via ws/wss.

APK

Best for testers on Android — one file, no store. Share Release link/QR.

From source

For developers or other platforms (iOS/Desktop/Web) — compile with Flutter on any supported OS/arch.