CoolFace
Modelpublic

loom-ai-org/paraformer-zh-loom

sourceHugging Faceapache-2.0updated 7d agoView on Hugging Face
0likes23downloads
Model Card

Paraformer-large (Chinese/English)

Alibaba's Paraformer-large non-autoregressive ASR model, exported for loom.cpp.

This is a loom.cpp export: a single self-describing GGUF that carries its own graph topologies, tokenizer (if any) and driver script, produced by loom-exporter.

Original model

Exported from `funasr/paraformer-zh`. Weights are unmodified; this repo packages the same parameters into loom.cpp's GGUF format.

License

apache-2.0, inherited from the base model above.

Language(s)

zh, en

Usage

Run it with loom-py -- loom-py-rt on PyPI:

sh
pip install -U "loom-py-rt[hub]"
python
import loom

model = loom.Model.from_pretrained("loom-ai-org/paraformer-zh-loom")

# Audio is a mono float list at 16 kHz. This model decodes in the one language it was trained for and
# takes no `language=` argument -- passing one warns and is ignored, because nothing in its decode
# could act on it.
result = model.speech2text.infer(audio, timestamps=True)
print(result.text)

# It emits no timestamp tokens, so `segments` is one span covering the whole clip and
# `result.timestamped` is False. Check that before treating a start/end as a boundary the model chose.
for segment in result.segments:
    print(segment.start, segment.end, segment.text)

The layer underneath

The call above is the high-level door: one per task, named for the modality pair it maps between, with the windowing, sampling and assembly this model needs already applied. Under it, model.infer(...) passes your arguments straight to the driver this GGUF embeds -- which is where you go for a knob the door does not name.

model.driver_source prints that driver, including a header comment documenting every argument it accepts for this model, and is the authority on it. See loom-py for the API and loom.cpp for what the engine does between the two.

Files

  • paraformer-zh.gguf -- the model, exported with loom-exporter.