Whistle: модель распознавания речи

источник ↗ ·

Whistle — компактная 16.9 MB модель распознавания речи на CPU, работающая в одном бинарном движке с Needle и поддерживающая семь языков.

privacy

Эта заметка участвует в semantic memory.

AI Summary

  1. Короткий обзор сути: Whistle — это 16.9 MB модель распознавания речи, работающая на CPU без зависимостей и загружаемая в тот же C++ движок Needle, что позволяет одному бинарному файлу превращать аудиоклип сразу в tool calls. Модель поддерживает семь языков (английский, немецкий, французский, испанский, итальянский, голландский, польский), выдаёт первый токен за 11 мс и работает на устройствах от микроконтроллеров до смартфонов.

🔑 Ключевые факты: модель состоит из энкодера (8 Simple Attention блоков) и декодера (8 Laddered Simple Attention блоков), обрабатывает 16 кГц моно аудио до 30 секунд, выдаёт транскрипцию, word timestamps и speech embeddings; использует gated cross attention для связи с энкодером, beam search с 5 лучами и Aho-Corasick для keyword biasing; silence detection пропускает пустые клипы.

📌 Важные детали: фронтенд преобразует аудио в 80 log-mel бинов (25 мс окно, 10 мс hop, 250-3500 Гц), энкодер даёт 375 кадров по одному на 80 мс; декодер использует GQA 8q:2kv, 3-tap causal conv, engram lookups на слоях 3 и 7; --audio-depth позволяет выбирать глубину декодера при загрузке; silence threshold определяется по loudness range; vocabulary 8192 text pieces + 7 language tokens.

💡 Вывод и значение: модель доступна на Hugging Face, движок и исходники — в репозиториях Cactus-Compute/needle3 и GitHub; pip install cactus-needle даёт Python API (needle.transcribe, needle.Whistle); prebuilt бинарники для 17 платформ (macOS, Linux, Android, iOS, watchOS, Windows ARM, RISC-V, MIPS, браузер, WASI); команды needle --model whistle.cact --audio clip.wav и needle --model needle3.cact --model whistle.cact --tools tools.json --audio clip.wav позволяют сразу получать function calls из речи.

Мои мысли

graph

Карта связей