告别动辄数百兆、必须联网还死等填充的笨重语音识别!看 Cactus 如何把多语种高精度 ASR 塞进 16.9MB 小身板,11ms 秒级出字,一条语音直接穿透生成 Tool Call 结构化调用!
Whistle 的编码器采用 8 个 Simple Attention 块(4 条 mHC 残差道与 Monarch Hadamard MLP),解码器采用 8 个阶梯式结构。它们复用 Cactus Needle 的纯 C++ 计算引擎,零重复冗余。
传统交叉注意力多 Beam 搜索计算极其昂贵。Whistle 在音频到达时,将 375 个帧在 8 层上仅投影一次 K 和 V 缓存并全局持有,5 个 Beam 只需要极小的缓存代价,解码速率飙到 1,319 tok/s!
单条指令 needle --model needle3.cact --model whistle.cact --tools tools.json --audio clip.wav,内部直接流水线将语音转为对应结构化调用,无需中间文本胶水代码!
点击不同的语音输入指令,观察 Whistle 如何在毫秒级内完成音频帧切片、跨语言检测、时间戳对其并直出 Tool Call!
16 kHz 单声道音频切分成 80 通道 Log-mel 特征(30秒等于 3,000 帧)。Whistle 采用核为 9 的 128 通道卷积干进行三次下采样:
在人名、专有名词识别中,小模型极易听错。Whistle 别出心裁地引入了 Aho-Corasick 多模式匹配自动机:
不需要 Python 环境,不需要 PyTorch,纯单头文件 `needle.h` 与静态库编译,无任何外部动态库依赖: