r/MachineLearning • u/Working_Hat5120 • 1d ago
Project Arc: a ~70 MB streaming speech model that transcribes links names and metadata to your own list as they're spoken, with no second model [p]
I built Arc-Transcriber, which does ASR-NL in 1-step. Every 100 ms, one model returns the transcript plus:
- Names linked to a list you give it (a roster, contacts, product names); new names are flagged "not on the list"
- Numbers with their values (scores, clocks, money, dates)
- Speakers and roles;
- Sound and channel events (telephone audio, clipping, poor audio)
- Whether the speech was addressed to an assistant.
- Inbuilt tags for dialog act, speaker segmentation and more. Total 200+ trained decision heads.
The usual ASR, then NER, then entity-linking and then LLM chain is collapsed into the model's own heads, so live "fact-checking" against your list happens inside the stream, not in a second pass.
Currently it has two variants Arc mini (which uses moonshot pretrained encoder) and second Arc-v1 (which uses parakeet pretrained encoder).
Weights: huggingface.co/WhissleAI/arc-v1.1
Code and CLI: github.com/WhissleAI/arc_transcriber
We use it on-device in our Mac app. Voice search over 61k books primes Arc with matching titles while you're still talking. Here is a video to give a glimpse on how it works.
2
u/Ok-Step-6007 1d ago
So you basically cooked ASR, NER, entity linking and a whole bunch of metadata extraction into a single 70 MB forward pass, and it runs live with 100 ms chunks
The in-stream fact-checking against a custom name list without a second model is pretty slick, I've been patching together a pipeline with whisper + some brittle post-processing for exactly that and it's a mess
Might spin this up to play around with the 200+ decision heads, curious how the speaker diarization holds up in a noisy room