Logo Lanfrica

Pearl-Labs-Uganda/minuteman

Domaine:

natural language processing

Type de record:

software
Créateur:
Pea
Hôte:
simple free speech to text tool, for transcription for free # Minuteman A small local web app for transcribing audio with OpenAI Whisper. FastAPI backend + a single vanilla HTML page. No cloud, no API keys. ## What it does today - Upload an audio file (wav, m4a, mp3, mp4, webm, ogg, flac, ...). - Transcribes it locally with Whisper. - Shows the raw transcript with timestamped segments. - Lets you copy or download the transcript as `.txt`. - Saves every transcript to `./transcripts/` automatically. The UI also has placeholder tabs for **Cleaned-up**, **Minutes**, and **Summary** — these are wired to backend stubs that return 501 until we plug in an LLM provider. ## Setup You need Python 3.10+ and `ffmpeg` on your `PATH`. ```bash # macOS brew install ffmpeg # Then in this folder: python -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` The first transcription will download the Whisper model weights (`~150 MB` for `base`), so it can take a minute the first time. ## Run ```bash python app.py ``` Open in your browser. ## Configuration - `WHISPER_MODEL` env var — default model to load: `tiny`, `base`, `small`, `medium`, or `large`. You can also override per-request from the dropdown in the UI. ```bash WHISPER_MODEL=small python app.py ``` ## Project layout ``` minuteman/ ├── app.py # FastAPI app + /transcribe endpoint ├── static/ │ └── index.html # single-page frontend (vanilla HTML/JS/CSS) ├── transcripts/ # saved .txt transcripts (auto-created) ├── requirements.txt └── README.md ``` ## What's next The polish step (cleaned-up text, meeting minutes, summary report) is stubbed out in `app.py` under `/cleanup`, `/minutes`, and `/summary`. To enable them we'll wire one of: - Anthropic Claude API - OpenAI API - A local model via Ollama Just say the word and we'll plug it in.