Skip to content

Add support for new giga asr models #87

Open

Description

@mikeozornin

cjpais/Handy#1688 (comment)

Recently two ASR models were published:
https://huggingface.co/ai-sage/GigaAM-Multilingual
https://huggingface.co/ai-sage/GigaChat3.1-Audio-10B-A1.8B

In Russian, Kazakh, Kyrgyz, and Uzbek tests they performed better than whisper large. It will be nice to have it in Handy, maybe it's worth to replace older GigaAM models.

Image

Activity

  1. cjpais commented on Jul 16, 2026

    @cjpais
    Contributor

    I think GigaAM-Multilingual will probably come in first mainly because it's probably simpler to port and runs on more systems

  2. ekhodzitsky commented on Jul 22, 2026

    @ekhodzitsky

    there's already an int8 onnx export of the multilingual model on hf: istupakov/gigaam-multilingual-ctc-onnx (~225mb). it's encoder-only ctc, decode is just argmax + collapse — much simpler than the rnnt heads. the 25s thing only happens if you run the encoder once on the whole file, split on silence and it's fine for hours

  3. koloved commented on Aug 31, 2026

    @koloved

    @ekhodzitsky I tried using this model. Firstly, it doesn't put punctuation marks or grammar/punctuation, and it supports multilingualism very poorly. You cannot use words from different languages during use: English and Russian. For some reason, it continues to transcribe English words in Cyrillic.

  4. ekhodzitsky commented on Aug 31, 2026

    @ekhodzitsky

    @koloved both of those are expected for this head, not a transcribe.cpp bug.

    No punctuation. Character CTC has no punctuation in the vocab — it emits lowercase letters only. In gigastt that’s a separate RuPunct pass (--punctuation on). Handy’s GigaAM-v3 e2e heads bake punctuation in; multilingual CTC does not.

    English coming out in Cyrillic / no mixing. “Multilingual” here means five languages (ru/en/kk/ky/uz), usually one language per clip. It is not trained to code-switch inside a sentence. On Russian-dominant audio, English words get spelled in Cyrillic (google → гугл). A Russian-only GigaAM-v3 head cannot emit Latin at all — its vocab is Cyrillic. Whisper is better at mixed ru+en because of a large multilingual BPE vocab.

    So: monolingual Russian with punctuation → v3 e2e (or CTC + RuPunct). Kazakh/Kyrgyz/Uzbek or English-only clips → multilingual CTC. Mixed ru+en in one utterance → Whisper still wins.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions