GigaAM v3 models converted to ONNX format for onnx-asr.
Install onnx-asr
pip install onnx-asr[cpu,hub]
Load GigaAM v3 CTC model and recognize wav file
import onnx_asr
model = onnx_asr.load_model("gigaam-v3-ctc")
print(model.recognize("test.wav"))
Load GigaAM v3 RNN-T model and recognize wav file
import onnx_asr
model = onnx_asr.load_model("gigaam-v3-rnnt")
print(model.recognize("test.wav"))
Load GigaAM v3 E2E CTC model (with punctuation and text normalization) and recognize wav file
import onnx_asr
model = onnx_asr.load_model("gigaam-v3-e2e-ctc")
print(model.recognize("test.wav"))
Load GigaAM v3 E2E RNN-T model (with punctuation and text normalization) and recognize wav file
import onnx_asr
model = onnx_asr.load_model("gigaam-v3-e2e-rnnt")
print(model.recognize("test.wav"))
Code for models export
import gigaam
from pathlib import Path
onnx_dir = "gigaam-v3-onnx"
model_version = "v3_rnnt" # or "v3_ctc"
model = gigaam.load_model(model_version)
model.to_onnx(dir_path=onnx_dir)
with Path(onnx_dir, "v3_vocab.txt").open("wt") as f:
for i, token in enumerate(["\u2581", *(chr(ord("а") + i) for i in range(32)), "<blk>"]):
f.write(f"{token} {i}\n")
v3_e2e_ctc.onnx 886 MBv3_ctc.onnx 885 MBv3_e2e_rnnt_encoder.onnx 885 MBv3_rnnt_encoder.onnx 885 MBv3_e2e_ctc.int8.onnx 225 MBv3_ctc.int8.onnx 225 MBv3_e2e_rnnt_encoder.int8.onnx 225 MBv3_rnnt_encoder.int8.onnx 225 MBv3_e2e_rnnt_decoder.onnx 5 MBv3_rnnt_decoder.onnx 3 MBv3_e2e_rnnt_joint.onnx 3 MBv3_rnnt_joint.onnx 1 MBv3_e2e_rnnt_decoder.int8.onnx 1 MBv3_rnnt_decoder.int8.onnx 842 kBv3_e2e_rnnt_joint.int8.onnx 687.8 kBv3_rnnt_joint.int8.onnx 366.7 kBai-sage/GigaAM-v3