/ Модель

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

Лицензия
MIT
Базовая модель
VibeVoice-ASR
Библиотека
ggml
Опубликована
24 апр 2026

vibevoice-asr-GGUF

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

cstr/vibevoice-asr-GGUF — это конверсия модели Microsoft VibeVoice-ASR в формат GGUF/ggml, подготовленная для запуска через CLI CrispASR.

4 175скачиваний за 30 дней7лайковвеса обновлены2 авг 2026

Бенчмарки

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

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

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

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

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

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

Модель предназначена для автоматического распознавания речи, транскрибации длинных аудиозаписей, определения говорящих и формирования временных меток. Она может обрабатывать до 60 минут аудио за один проход, а для более длинных записей используется потоковая сегментация. Результат выдаётся в структурированном JSON с текстом, идентификатором говорящего, временем начала и окончания сегмента. Поддерживаются контекст и пользовательские hotwords, а также автоматическое определение языка.

Это speech-LLM примерно на 7 млрд параметров с акустическим и семантическим ConvNeXt-подобными энкодерами, двумя SpeechConnectors и декодером Qwen2-7B. Декодер имеет 28 слоёв, Grouped Query Attention с 28 query-heads и 4 KV-heads, размер скрытого состояния 3584 и контекст до 32768 токенов. Модель мультиязычная и заявлена для более чем 50 языков, включая английский, китайский, испанский, русский, японский, корейский, немецкий и другие. Доступны варианты квантования Q4_K_M размером около 5 ГБ, Q8_0 размером 9,45 ГБ и F16 размером 16 ГБ; Q8_0 позиционируется как вариант с качеством, близким к F16.

К сильным сторонам относятся объединение транскрибации и диаризации в одной модели, сегментация с временными метками, поддержка длинных записей, hotwords и детерминированный режим работы C++-рантайма. Ограничения включают необходимость запуска через совместимый CrispASR и обязательную предварительную подготовку аудио: моно, 24 кГц, с нормализацией уровня. Модель распространяется по лицензии MIT.

Для каких профессий подходит9

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

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

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

Открыть на Hugging Face

VibeVoice-ASR — GGUF

GGUF / ggml conversions of microsoft/VibeVoice-ASR for use with the crispasr CLI from CrispStrobe/CrispASR.

VibeVoice-ASR is Microsoft's 7B-parameter speech-LLM capable of transcribing up to 60 minutes of audio in a single pass. Unlike most ASR models it outputs structured JSON containing who (speaker diarization), when (timestamps), and what (content) simultaneously — with support for customised hotwords and 50+ languages.

  • 60-minute long-form audio in a single forward pass (streaming segmentation for >60 s)
  • Built-in speaker diarization — Speaker IDs in every output segment
  • Word-level timestamps — Start time / End time per segment
  • Hotword / context injection — pass terms or metadata via --context
  • 50+ languages with automatic language detection
  • MIT licence

Files

FileSizeNotes
vibevoice-asr-q4_k.gguf~5 GBQ4_K_M — smallest
vibevoice-asr-q8_0.gguf9.45 GBQ8_0 — near-F16 quality, recommended if Q4_K sounds off
vibevoice-asr-f16.gguf16 GBF16 — reference quality

Quick Start

# 1. Build CrispASR
git clone https://github.com/CrispStrobe/CrispASR
cd CrispASR
cmake -B build -DCMAKE_BUILD_TYPE=Release -DGGML_METAL=ON   # macOS
cmake --build build -j$(nproc)

# 2. Download the quantised GGUF
huggingface-cli download cstr/vibevoice-asr-GGUF \
    vibevoice-asr-q4_k.gguf --local-dir .

# 3. Transcribe
./build/bin/crispasr --model vibevoice-asr-q4_k.gguf \
    --file audio.wav --backend vibevoice

Audio must be 24 kHz mono. Pre-convert with:

ffmpeg -i input.mp3 -ar 24000 -ac 1 -c:a pcm_s16le output.wav

With hotwords / context

./build/bin/crispasr --model vibevoice-asr-q4_k.gguf \
    --file meeting.wav --backend vibevoice \
    --context "ACME Corp, John Smith, Q3 earnings"

Output Format

The model outputs structured JSON per segment:

[
  {
    "start_time": "0:00:01.234",
    "end_time":   "0:00:04.567",
    "speaker_id": "Speaker_1",
    "text":       "And so, my fellow Americans …"
  },
  …
]

This differs from most ASR models — the LLM generates the JSON itself; no separate diarization step is needed.

Architecture

VibeVoice-ASR is a four-module speech-LLM:

ComponentDetails
Acoustic σ-VAE encoderConvNeXt-style 7-stage causal encoder, depths=[3,3,3,3,3,3,8], ratios=[8,5,5,4,2,2], n_filters=32. Each stage: RMSNorm → depthwise-Conv1d → γ-scale → residual + RMSNorm → FFN → γ-scale → residual. Total temporal downsampling 3200× (24 kHz → 7.5 Hz). Output: (T', 64) VAE mean with fix_std=0.5.
Semantic encoderSame ConvNeXt architecture, same strides. Output: (T', 128) mean (no sampling).
SpeechConnectorsTwo independent Linear(vae_dim → 3584) + RMSNorm + Linear(3584 → 3584) projectors. Combined features = acoustic_connector(at_mean) + semantic_connector(st_mean).
LLM decoderQwen2-7B: d=3584, 28 layers, 28 Q heads / 4 KV heads (GQA), head_dim=128, FFN=18944 (SiLU), RMSNorm ε=1e-6, RoPE θ=1e6, vocab=152064, max_pos=32768.
Parameters~7B total

Prompt format

<|im_start|>system
You are a helpful assistant that transcribes audio input into text output in JSON format.
<|im_end|>
<|im_start|>user
<|speech_start|><|speech_pad|>×N<|speech_end|>
This is a X.XX seconds audio, please transcribe it with these keys: Start time, End time, Speaker ID, Content
<|im_end|>
<|im_start|>assistant

Where N = ceil(samples / 3200).

Audio preprocessing

  1. Resample to 24 kHz mono
  2. Normalise to −25 dBFS RMS: audio *= 10^(−25/20) / (rms + 1e-6), then clip if |audio| > 1

What's baked into the GGUF

  • All acoustic encoder weights (F16 for conv weights except depthwise which stays F32)
  • Both SpeechConnectors
  • Full Qwen2-7B LLM weights
  • Qwen2.5 tokenizer vocabulary (embedded as tokenizer.ggml.tokens)
  • Architecture hyperparameters as GGUF metadata keys

Implementation notes

The C++ runtime validates against the PyTorch reference at every pipeline boundary using tools/dump_reference.py --backend vibevoice:

StageKeyNotes
Audio normalisationaudio_norm−25 dBFS RMS, clip guard
Acoustic encoder meanat_enc_mean(T', 64) — deterministic (mean, no noise)
Semantic encoder meanst_enc_mean(T', 128) — always deterministic
Acoustic connectorat_conn_out(T', 3584)
Semantic connectorst_conn_out(T', 3584)
Combined featuresspeech_featureselementwise sum of both connectors
Generated tokensllm_argmaxgreedy decode

Note on acoustic sampling: the Python model uses std_dist_type='gaussian' (adds per-batch noise during training/inference for robustness). The C++ runtime uses the VAE mean directly (deterministic), which is equivalent to dist_type='none' and gives reproducible, comparable output for diff-testing.

How this was made

  1. microsoft/VibeVoice-ASR safetensors converted to GGUF F16 by models/convert-vibevoice-to-gguf.py. Tensors loaded in native dtype (BF16) to avoid OOM on the large embedding table; converted to F16/F32 per-tensor at write time.
  2. Quantised variants produced by the CrispASR quantize binary (Q4_K_M).
  3. Full pipeline implemented in src/vibevoice.{h,cpp}: two encoder graphs + two connector graphs + Qwen2 autoregressive decoder with F16 KV cache.

Related

License

MIT, inherited from the base model.

Provenance and EU AI Act Art. 53 note

  • Upstream model: microsoft/VibeVoice-ASR — published by microsoft.
  • Upstream licence: mit. This repository redistributes under the same terms; it grants no rights the upstream licence does not.
  • What was done here: format conversion and/or quantisation only (GGUF/GGML). No training, no fine-tuning, no merging, no distillation, no change to architecture, vocabulary or capability. Only the numeric representation of the upstream weights differs.
  • Training data: documented — where it is documented at all — by the upstream provider; see the upstream model card. No training data was used, added or selected by this repository. No training-content summary was found on the upstream model card at the time of writing; that documentation gap is upstream's and is not filled here.
  • Provider status: under Regulation (EU) 2024/1689 the upstream authors remain the provider of this model. Converting the serialisation format does not make this repository the provider of a new general-purpose AI model, and no such claim is made. Questions about training content, copyright policy or model capability belong upstream.

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

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

GPU в ailist

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

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

GGUF-веса поддерживаются только для текстовых LLM (llama.cpp).

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

0 моделей