Files
wisp/src/lib/audio/index.ts
T
NilsBriggen 9f42ee2460
CI / test (push) Has been cancelled
CI / deploy-web (push) Has been cancelled
CI / build-apk (push) Has been cancelled
Build Wisp: on-device transcription studio (web + native, one codebase)
Private, offline speech-to-text that runs Whisper on the user's own device —
free, no account, no per-minute fees. Replaces Otter.ai / Rev.

- Pure, tested engine: chunking, overlap timestamp-stitching, exports
  (SRT/VTT/TXT/MD/JSON), WAV codec, resampler, job queue, model catalog (142 tests).
- Platform-abstracted TranscriptionEngine: transformers.js on web (loaded from
  CDN at runtime to dodge Metro's onnxruntime-web bundling limits), whisper.rn
  on native. Shared pipeline orchestrates decode -> chunk -> transcribe -> stitch.
- Cross-platform StorageRepo (Dexie web / expo-sqlite native), Zod-validated.
- UI: library + search, import, live-progress transcription, synced click-to-seek
  editor, multi-format export; model picker + privacy in settings.
- Web ships as a single-page PWA with COOP/COEP isolation for threaded WASM;
  Docker (nginx) image + Traefik compose for wisp.briggen.dev.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 17:54:21 +02:00

16 lines
595 B
TypeScript

// Public entry point for audio decoding.
//
// `./decodeImpl` is resolved by Metro to the right platform sibling
// (`decodeImpl.web.ts` on web, `decodeImpl.native.ts` on iOS/Android), each of
// which re-exports the matching `decoder`. Consumers call `getDecoder()` and
// stay platform-agnostic; they should never import `decode.web` / `decode.native`
// directly.
import { decoder } from './decodeImpl';
/** Return the platform-resolved audio decoder. */
export const getDecoder = () => decoder;
// Re-export the shared types (`AudioDecoder`, `AudioFileInput`).
export * from './decode';