---
license: apache-2.0
base_model: FireRedTeam/FireRedPunc
pipeline_tag: automatic-speech-recognition
library_name: openasr
tags:
- openasr
- oasr
- firered-punc
---
# FireRedPunc ยท OpenASR
**Chinese punctuation restoration for OpenASR -- a BERT token classifier that adds full-width marks to unpunctuated transcripts, fully on-device**
[](https://huggingface.co/FireRedTeam/FireRedPunc)
[](https://github.com/QuintinShaw/openasr)
[](https://openasr.org)
[](https://huggingface.co/FireRedTeam/FireRedPunc)
A capability-pack support model for the **[OpenASR](https://github.com/QuintinShaw/openasr)**
runtime โ pure-Rust inference, **no Python at inference time**. Not a standalone
transcription model: it augments another OpenASR ASR model's own decode path.
---
## โจ Highlights
- ๐ถ **Chinese punctuation restoration** -- restores full-width `๏ผใ๏ผ๏ผ` on an unpunctuated ASR transcript (e.g. Dolphin, FireRedASR2-AED) in a finalize-only post-processing pass
- ๐ง **BERT token classifier** -- a 12-layer `chinese-lert-base` encoder with a 5-class head predicting which of none/๏ผใ๏ผ๏ผ follows each subword
- ๐จ๐ณ **Chinese-only by construction** -- the released label set has no English half-width marks, so only Chinese text is punctuated
- ๐ **Opt-in and auto-gated** -- runs only when the ASR model is unpunctuated and this pack is installed, so punctuating families are never double-punctuated
- ๐ฆ **Native in OpenASR** โ `.oasr` packs run with no Python at inference, engineered for peak performance on CPU & GPU
## ๐ Quickstart
```bash
# 1. Install the OpenASR CLI ยท https://openasr.org
# 2. Pull the pack
openasr pull firered-punc:fp16
# 3. Use it as an opt-in refinement for another model's transcribe call
openasr transcribe meeting.wav --model --word-timestamps=aligned
```
## ๐ฆ Pack
| Quant | File (`.oasr`) | Size |
|:------|:---------------|-----:|
| fp16 | `firered-punc-fp16.oasr` | 204 MB |
## ๐ง About FireRedPunc
FireRedPunc is a **punctuation-prediction** model from **FireRedTeam**, part of the
FireRedASR2S all-in-one ASR system. It adopts a BERT-style encoder initialized from
`chinese-lert-base` (a 12-layer, 768-hidden, 12-head BERT) with a token-classification head
that predicts, for each subword, which of five classes follows it: none, or one of the four
Chinese full-width marks `๏ผ`, `ใ`, `๏ผ`, `๏ผ`. It is a text-in / labels-out post-processor,
not an ASR model -- no audio frontend, no autoregressive decode.
In OpenASR it is packaged as an optional **punctuation capability pack**: an unpunctuated
family's finished transcript (e.g. Dolphin or FireRedASR2-AED) is passed through the classifier
once, and the predicted marks are re-inserted into the original characters. The stage is
auto-gated on the ASR model's catalog `emits_punctuation == false` and only runs when this pack
is installed, so punctuating families are never double-punctuated. Because the released label
set is Chinese-only, the integration is Chinese-only by construction (the architecture cannot
emit English half-width marks).
This OpenASR repo repackages the upstream weights as `.oasr` packs that run natively in the
OpenASR runtime -- no Python at inference, all decoding local. It ships in **fp16**.
**Not a standalone transcription model.** This pack cannot transcribe audio by itself; it is an
opt-in post-process applied to an unpunctuated ASR model's output.
**Verification status:** this is a brand-new catalog entry (no prior public listing). Local
verification covers exact per-token label parity against the upstream PyTorch forward across a
set of Chinese golden sentences (all four punctuation classes plus the no-mark class). This
pack is staged in a private repo, not yet publicly listed.
## โ๏ธ How this pack was made
Converted from [FireRedTeam/FireRedPunc](https://huggingface.co/FireRedTeam/FireRedPunc) with the OpenASR local-source
converter (`convert_local_qwen_forced_aligner_source_to_runtime_pack`, not yet wired
to a public `openasr model-pack import` subcommand -- the pack format and tensor
mapping are stable, but CLI/family-registry wiring is a separate stage).
The `.oasr` container is GGUF-backed; packs use zero-copy mmap weight binding.
## โ๏ธ License
This pack **inherits the upstream model's license: Apache-2.0**
([source](https://huggingface.co/FireRedTeam/FireRedPunc)). OpenASR packaging retains the upstream copyright;
the only modifications are format conversion and quantization.
## ๐ Acknowledgements
This pack is a redistribution of **FireRedPunc**, created and open-sourced by **FireRedTeam**
([FireRedTeam/FireRedPunc](https://huggingface.co/FireRedTeam/FireRedPunc)). All credit for the
original architecture, training, and weights belongs to the authors; the license is inherited
from and identical to the upstream model (Apache-2.0). OpenASR only performs format conversion,
runtime verification, and local-inference adaptation.
## ๐ Links
- ๐ฆ **OpenASR** โ
- ๐ **Website** โ
- ๐ค **Upstream model** โ [FireRedTeam/FireRedPunc](https://huggingface.co/FireRedTeam/FireRedPunc)