Professional-grade, on-device transcription for creators.
SonicScribe runs speech-to-text directly in your browser using Transformers.js Whisper models (CPU/WASM or WebGPU). Your media stays on your machine for maximum privacy.

- Privacy-first Your audio/video is processed locally in the browser.
- Fast on modern hardware WebGPU acceleration can be significantly faster than CPU/WASM.
- Creator-friendly output
Export transcripts as
.txtand subtitles as.srt. - Built-in history Quickly revisit previous transcriptions in the same session.
- Three UI themes Switch between multiple visual styles.
- Media upload Accepts common audio and video formats (the UI allows uploading audio/* and video/*; examples include MP3, WAV, MP4, WEBM).
- Chunked transcription Long files are processed in ~30s chunks with progress reporting.
- Devices CPU (WASM) works everywhere; WebGPU is enabled when your browser/device supports it.
- React + Vite
- Transformers.js (
@huggingface/transformers) for on-device ASR - Tailwind CSS for styling
- Node.js (LTS recommended)
- npm (bundled with Node.js)
pnpm installNo environment variables are required for basic usage.
pnpm run devThen open:
http://localhost:3000
pnpm run buildpnpm run preview- Select a model and click Load Model (first run downloads model weights; this can be large depending on the model).
- Upload an audio/video file.
- Click Transcribe.
- Download output as
.txtor.srt.
- Model downloads can be hundreds of MB depending on selection.
- WebGPU support depends on browser and GPU. If unavailable, SonicScribe falls back to CPU/WASM.
Contributions are invited and appreciated.
- Bug reports Include repro steps, browser/OS, and a sample file description (avoid sharing sensitive media).
- Feature requests Share the use-case and expected output format.
- Pull requests Fix bugs, improve UX, add export formats, extend model support, or polish docs.
# Run dev server
pnpm run dev
# Typecheck
pnpm run lint
# Production build
pnpm run build- Keep changes focused and easy to review.
- Include screenshots for UI changes.
- Ensure
pnpm run lintpasses.
This project is open source. Add a LICENSE file to define the license for the repository.