Downloads · 30 days
12
10% of all-time downloads
futo-org/gravel-ctc-440m
gravel-ctc-440m is a automatic speech recognition model from futo-org. Use it when you need speech turned into text. The card lists the license as apache-2.0.
A 440M CTC English ASR model: the conformer speech encoder of ibm-granite/granite-speech-4.1-2b-nar, extracted, LoRA-finetuned with a BPE-256 CTC head, and merged into a standalone greedy-CTC recognizer.
Downloads · 30 days
12
10% of all-time downloads
All-time downloads
126
Public
Parameters
443M
1.8 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors1.8 GB · 100%
From the Hugging Face model README
A 440M CTC English ASR model: the conformer speech encoder of
ibm-granite/granite-speech-4.1-2b-nar, extracted, LoRA-finetuned with a
BPE-256 CTC head, and merged into a standalone greedy-CTC recognizer.
[!NOTE] Gravel is granite broken into smaller pieces. This model is the 440M encoder chipped out of IBM's 2B+
ibm-granite/granite-speech-4.1-2b-narplus a small CTC head. It is not an IBM release, it is a derivative of the granite model.
granite_speech conformer encoder from ibm-granite/granite-speech-4.1-2b-nar
instantiated from transformers.models.granite_speech classes, weights extracted,
then LoRA-adapted (r=16 on attention + macaron-FFN linears) and merged.ibm-granite/granite-speech-4.1-2b-nar.It is used as the knowledge-distillation teacher for FUTO's streaming ASR models.
import torch, torchaudio
from transformers import AutoModel
model = AutoModel.from_pretrained("futo-org/gravel-ctc-440m", trust_remote_code=True).eval()
wav, sr = torchaudio.load("speech.wav") # any mono/stereo file
wav = torchaudio.functional.resample(wav.mean(0), sr, 16000)
print(model.transcribe(wav)) # greedy CTC text
Or via pipeline:
from transformers import pipeline
asr = pipeline("automatic-speech-recognition", model="futo-org/gravel-ctc-440m",
trust_remote_code=True)
print(asr("speech.wav")["text"])
Derived from ibm-granite/granite-speech-4.1-2b-nar (Apache-2.0, IBM).
Modifications: encoder extraction, 50→25 Hz downsample, BPE-256 CTC head, LoRA finetune (merged).