A real-time Automatic Speech Recognition (ASR) experiment
Python
0
7 commits
updated Jul 25, 2026
A real-time Automatic Speech Recognition (ASR) experiment built for Cursor Meetup Taipei (June 2025), originally intended to power bilingual subtitles during the talk.
This is the second iteration. v1 was built on Google Cloud Speech-to-Text and Google Translation APIs. v2 replaces the cloud pipeline with MediaTek Research's Breeze-ASR-25, a Whisper-based model fine-tuned for Mandarin and Taiwanese Hokkien. In concept it is similar to Typeless — audio in, transcript out — but without any downstream cleanup model.
The program runs a continuous loop:
transformers).On Apple Silicon, inference runs on the MPS backend. On other machines it falls back to CPU.
uv sync
uv run python3 main.py
The first run downloads the Breeze-ASR-25 model weights from Hugging Face. All subsequent runs are fully offline.
Press Ctrl+C to stop.
| Branch | Notes |
|---|---|
master | Original experiment files, committed as-is |
working | Verified to compile and run on Apple M3 Max |
| Package | Purpose |
|---|---|
torch + torchaudio | Tensor ops and audio resampling |
transformers | Breeze-ASR-25 model and Whisper pipeline |
pyaudio | Microphone capture |
numpy | Audio buffer manipulation |
A real-time Automatic Speech Recognition (ASR) experiment
Python
0
7 commits
updated Jul 25, 2026
A real-time Automatic Speech Recognition (ASR) experiment built for Cursor Meetup Taipei (June 2025), originally intended to power bilingual subtitles during the talk.
This is the second iteration. v1 was built on Google Cloud Speech-to-Text and Google Translation APIs. v2 replaces the cloud pipeline with MediaTek Research's Breeze-ASR-25, a Whisper-based model fine-tuned for Mandarin and Taiwanese Hokkien. In concept it is similar to Typeless — audio in, transcript out — but without any downstream cleanup model.
The program runs a continuous loop:
transformers).On Apple Silicon, inference runs on the MPS backend. On other machines it falls back to CPU.
uv sync
uv run python3 main.py
The first run downloads the Breeze-ASR-25 model weights from Hugging Face. All subsequent runs are fully offline.
Press Ctrl+C to stop.
| Branch | Notes |
|---|---|
master | Original experiment files, committed as-is |
working | Verified to compile and run on Apple M3 Max |
| Package | Purpose |
|---|---|
torch + torchaudio | Tensor ops and audio resampling |
transformers | Breeze-ASR-25 model and Whisper pipeline |
pyaudio | Microphone capture |
numpy | Audio buffer manipulation |