Skip to content

Commit 51e7eb4

Browse files
committed
Replace microphone with Whisper AI for transcription
- Integrate Transformers.js with Whisper tiny.en model - Model runs locally in browser (~40MB download, cached) - Process captured tab audio in 5-second chunks - Add model loading UI with progress bar - Filter noise/silence from transcription output - No microphone needed - transcribes directly from audio stream - Update README with new workflow
1 parent 81b24e3 commit 51e7eb4

4 files changed

Lines changed: 323 additions & 219 deletions

File tree

README.md

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,46 @@
11
# Baltimore Scanner
22

3-
Live Police, Fire & EMS radio scanner for Baltimore City with tab audio capture and real-time speech-to-text transcription.
3+
Live Police, Fire & EMS radio scanner for Baltimore City with Whisper AI transcription running entirely in your browser.
44

55
## Features
66

77
- **Tab Audio Capture** - Capture audio directly from the Broadcastify browser tab
8-
- **Audio Visualizer** - Real-time frequency visualization of the captured audio
8+
- **Whisper AI Transcription** - OpenAI's Whisper model runs locally in your browser (no server needed)
9+
- **Audio Visualizer** - Real-time frequency visualization
910
- **Volume Control** - Adjust playback volume
10-
- **Speech-to-Text** - Live transcription using Web Speech API
1111
- **Timestamped Transcript** - Each entry shows when it was captured
12-
- **Responsive Design** - Works on desktop and mobile
12+
- **Privacy First** - All processing happens locally, no data sent to servers
1313

1414
## How to Use
1515

16-
1. Open the [Broadcastify player](https://www.broadcastify.com/webPlayer/40593) in a new tab
17-
2. Start playing the audio in the Broadcastify tab
16+
1. Click **"Load Model"** to download the Whisper AI model (~40MB, one-time download)
17+
2. Open the [Broadcastify player](https://www.broadcastify.com/webPlayer/40593) in a new tab and start playing
1818
3. Return to Baltimore Scanner and click **"Capture Tab Audio"**
1919
4. Select the Broadcastify tab and check **"Share tab audio"**
20-
5. Click **"Start Transcription"** to begin speech-to-text
21-
6. The scanner audio will play through this page with live visualization
20+
5. Click **"Start Transcription"** to begin AI-powered speech-to-text
2221

2322
## Live Demo
2423

2524
Visit: https://arandomguyhere.github.io/baltimorescanner/
2625

2726
## Requirements
2827

29-
- **Browser:** Chrome or Edge (required for tab audio capture and speech recognition)
30-
- **Permissions:** Screen sharing (for tab audio) and microphone (for transcription)
31-
- **Internet:** Required for Broadcastify stream
28+
- **Browser:** Chrome or Edge (required for tab audio capture)
29+
- **Internet:** Required for Broadcastify stream and first-time model download
30+
- **Storage:** ~40MB for Whisper model (cached in browser)
31+
32+
## Technical Details
33+
34+
- **Audio Capture:** `getDisplayMedia()` API for tab audio
35+
- **Transcription:** Whisper tiny.en model via [Transformers.js](https://huggingface.co/docs/transformers.js)
36+
- **Processing:** 5-second audio chunks processed in real-time
37+
- **No Backend:** Everything runs client-side in WebAssembly
3238

3339
## Files
3440

3541
- `index.html` - Main page structure
3642
- `styles.css` - Dark theme styling with visualizer
37-
- `app.js` - Audio capture, visualization, and speech recognition
38-
39-
## Technical Details
40-
41-
- Uses `getDisplayMedia()` API to capture tab audio
42-
- Web Audio API for processing and visualization
43-
- Web Speech API for transcription
44-
- No server required - runs entirely in the browser
43+
- `app.js` - Audio capture, Whisper integration, and UI logic
4544

4645
## Disclaimer
4746

0 commit comments

Comments
 (0)