audio-to-notes / README.md
BonusLockSMith's picture
switch faster-whisper to CPU int8 (base) β€” no CUDA libs; free CPU Space
95dcd0c verified
|
Raw History Blame Contribute Delete
1.9 kB
---
title: Audio to Notes
emoji: πŸŽ™οΈ
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 5.38.2
app_file: app.py
pinned: false
short_description: Audio β†’ transcript, summary & action items Β· #7
---
# Audio β†’ Notes πŸŽ™οΈ
Upload a recording or record from the mic β†’ get a **timestamped transcript** (`[mm:ss]` per line,
so every quote is citable by the minute), a short **summary**, and a list of **action items**
(task Β· owner Β· due).
> Project **#7** of my *"30 AI Projects in 15 Days"* build-in-public challenge.
**β–Ά Live demo: https://notes.gritai.solutions**
![demo](demo.png)
## How it works
- **Transcribe** with **faster-whisper** (`base`, int8) on **CPU** β€” reliable and quick for short clips,
no GPU/CUDA libraries required.
- **Summarize** with one **Claude** call using **forced tool-use**, so the summary + action items come
back as schema-valid JSON every time (no brittle parsing).
- **Two-stage pipeline:** transcription β†’ summarization, each a clean step.
## Two tiers
- **Free (this demo)** β€” short clips β†’ transcript + summary + action items.
- **GritAI Studio (Pro)** β€” long meetings, **speaker attribution** (quotable by minute *and* speaker),
a searchable/quotable archive, and auto-generated briefing docs. Join the waitlist in the app.
## Run locally
```bash
pip install -r requirements.txt
export ANTHROPIC_API_KEY=sk-ant-... # for the summary + action items
python app.py # http://127.0.0.1:7860
```
## Deploy (Hugging Face Space)
1. Create a **Gradio** Space β€” **CPU basic** hardware is enough (no GPU needed).
2. Add secret **`ANTHROPIC_API_KEY`** for the summary + action items.
3. Push these files; point **notes.gritai.solutions** at the Space (CNAME β†’ `hf.space`, DNS-only).
---
Built by **Robert Lucyk** Β· [GritAI Solutions](https://gritai.solutions) Β· part of the 30-in-15 challenge.