/ Модель

Характеристики

Библиотека
pytorch
Опубликована
10 сен 2026

sorani-zipformer2-streaming

Распознавание речиАудио → текст

Потоковая модель Zipformer2 для локальной транскрибации речи на центральнокурдском языке.

0скачиваний за 30 дней0лайковвеса обновлены10 сен 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Amin Khattab разработал потоковую модель распознавания речи на основе причинной архитектуры Zipformer2. Модель содержит 66,14 млн параметров, обучена с нуля на 188,70 часах человеческой, псевдоразмеченной и синтетической речи и предназначена для локального преобразования речи на центральнокурдском языке, включая работу на CPU. Выпуск включает один усреднённый чекпойнт по эпохам 17–24; используется токенизатор BPE на 512 элементов, размер аудиочанка составляет 320 мс, контекст слева — 2,56 с.

Модель подходит для потоковой транскрибации аудио на центральнокурдском языке в локальных приложениях. В тесте на 2 014 отложенных высказываниях указаны WER 23,69% и CER 4,54% при потоковом жадном декодировании. Модель выдаёт текст без восстановления пунктуации; в комплект не входят диаризация, временные метки и автоматическое определение конца речи. Задержки и скорость в реальном времени не измерены. Качество на других языках, при шуме, переключении языков и редких именах не установлено. Для весов лицензия повторного использования пока не определена: условия следует согласовать с Amin Khattab; лицензия Apache-2.0 относится к upstream-коду Icefall, а не автоматически к весам.

Сценарии применения

  • потоковая транскрибация центральнокурдской речи
  • распознавание речи с микрофона в локальном приложении
  • преобразование центральнокурдских аудиозаписей в текст

Ограничения

Вывод не содержит восстановленной пунктуации; модель не выполняет диаризацию, не выдаёт временные метки и не определяет конец речи автоматически. Качество на других языках, шумной речи, переключении языков и редких именах, а также задержки и скорость работы в реальном времени не установлены; лицензию на повторное использование весов необходимо уточнить у автора.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Sorani Zipformer2 · Streaming ASR

Central Kurdish speech → text, running locally on your CPU.

Run B is a causal Zipformer2 trained from scratch on 188.70 hours of human, pseudo-labeled, and synthetic speech. This release contains one checkpoint: the development-selected running-model average spanning epochs 17–24.

66.14M parameters · 512-piece BPE · 320 ms chunks · 2.56 s left context

Quick start

Use Python 3.12 and a fresh environment:

python3.12 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip huggingface_hub
hf download Amin-khattab/sorani-zipformer2-streaming --local-dir sorani-model
pip install -r sorani-model/requirements.txt
python sorani-model/transcribe.py recording.wav

Add --partials to display changing text as chunks are processed. WAV and FLAC are recommended; the script converts to mono and resamples to 16 kHz. The verified runtime is Mac CPU. Other platforms have not been tested.

Use in your application

From the downloaded sorani-model directory:

import numpy as np
from transcribe import Recognizer

model = Recognizer(".")                 # load once
stream = model.create_stream()          # new stream per utterance

# Replace silence with mono float32 microphone PCM at 16 kHz, in [-1, 1].
pcm = np.zeros(5120, dtype=np.float32)   # 320 ms packet
print(stream.accept(pcm))               # repeat for each incoming packet
print(stream.accept(np.empty(0, dtype=np.float32), final=True))

Each stream retains its encoder/decoder state. final=True flushes the last words using 500 ms of silence. Resample microphone input before feeding it; convert int16 PCM to float32 and divide by 32768.

Format: TorchScript (torch.jit.load), not a Transformers pipeline() model. The script provides greedy decoding; microphone capture and a hosted API are not included. Output is Sorani text without punctuation restoration.

Test results

2,014 held-out utterances · 3.014328 hours · cached streaming greedy decoding

ModelWER ↓CER ↓
Run A · Common Voice only41.24%12.14%
Run B · this release23.69%4.54%

42.55% relative WER reduction over Run A. Both models used the same test set and decoder. WER uses whitespace-separated words; CER uses Unicode codepoints excluding whitespace. Scores use corpus edit totals without text normalization.

Development results were 21.40% WER / 4.13% CER, using four-path modified beam search. Those are separate development scores, not test results. Selection used development data only. Audio hashes and utterance IDs were checked for split overlap; speaker-disjointness is not established because speaker metadata was unavailable.

Training & limitations

30 epochs · 20,938 updates · RTX 3060 12 GB · FP16 · ScaledAdam + Eden. SpecAugment enabled; MUSAN/noise mixing and speed perturbation disabled. The tokenizer was trained only on Common Voice training transcripts.

Accuracy on other languages, noise, code-switching, and uncommon names is not established. No diarization, timestamps, or automatic endpointing is included. Chunk size is not measured latency: formal RTF and first-partial/finalization latencies remain unbenchmarked. Verify important transcriptions manually.

Technical details cover data proportions, architecture, averaging, feature settings, and runtime differences. evaluation.json contains the aggregate scores; SHA256SUMS verifies the release files.

License: a reuse license for these weights has not yet been specified. Contact Amin Khattab for licensing; public access does not grant unrestricted reuse. Built with Icefall / Zipformer2, whose upstream code is Apache-2.0 licensed.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · pytorch

Нельзя запустить

В репозитории нет config.json: не понять архитектуру модели.

Ревизия весов
c4cd6d2

0 моделей