Edge0/Audio8-ASR-Infinite
摘要
Audio8 ASR Infinite 是一款原生流式语音识别模型,具有可选音频时钟和可配置转录延迟,支持无限长度音频转录且无漂移。
查看缓存全文
缓存时间: 2026/09/24 15:10
Edge0/Audio8-ASR-Infinite · Hugging Face
来源:https://huggingface.co/Edge0/Audio8-ASR-Infinite
Audio8 ASR Infinite 是一个原生流式语音识别模型,设计旨在实现尽可能高的响应速度。它支持可选的音频时钟(80/120/160 毫秒)和转录延迟(240–560 毫秒)。配合我们适配的 vLLM 构建,它可以在全天候运行中转录无限长度的音频,且不会产生漂移。
https://huggingface.co/Edge0/Audio8-ASR-Infinite#highlights 亮点
- 超高响应速度——原生流式架构每秒解码 12.5 次。
- 无限长度转录——滚动 KV 缓存确保内存和延迟保持恒定,即使在全天候运行下也是如此。
- 可选流式时钟——每个时钟步产生一个文本 token(每秒 12.5 / 8.3 / 6.25 次决策),在感知粒度和资源消耗之间取得平衡。
- 可配置的转录延迟——可设置以延迟换取准确度的权衡。
- 语义 VAD——可区分思考停顿、结巴和真正的轮次结束,而传统声学 VAD 在这些情况下通常会失效。
- 双语支持——中文和英文。
https://huggingface.co/Edge0/Audio8-ASR-Infinite#see-audio8-asr-infinite-in-action 查看 Audio8-ASR-Infinite 运行演示
该检查点原生上下文为 30 秒。但通过滚动 KV 缓存,它可以 24/7 不间断转录。
https://huggingface.co/Edge0/Audio8-ASR-Infinite#optimized-operation-points 优化操作点
以下帧长和延迟的组合是经过后训练的。其他组合也可使用,但性能可能非最优。
音频时钟 frame_len streaming_n_left_pad_tokens 可选 target_delay_ms
80 毫秒 4 18 240 / 320 / 480 / 560
120 毫秒 6 12 240 / 480
160 毫秒 8 9 320 / 480
target_delay_ms 必须是所选时钟的整数倍,因此即使某些较长的延迟未在上表中列出,在每个时钟下仍然可用。
https://huggingface.co/Edge0/Audio8-ASR-Infinite#architecture 架构
继承 Voxtral 实时音频架构和 DSM 风格的流式处理。
组件 初始权重 已训练
因果音频塔 Voxtral Realtime 4B ✅
音频投影器 随机初始化 ✅
帧长嵌入 随机初始化 ✅
解码器 Qwen2.5-3B-Instruct ✅
语言模型头 Qwen2.5-3B-Instruct ✅
检查点规格说明:
音频塔:32 层,隐藏维度 1280,128 个梅尔频带,滑动窗口 750
文本解码器:36 层,隐藏维度 2048,16 个查询头 / 2 个 KV 头
投影器:最大帧长 8 → 投影尺寸 10240,使用 gelu 激活
帧长条件化:已启用(use_frame_len_embedding: true)
语义 VAD 头:semantic_vad_heads.safetensors,8 个类别,视野范围 0.5 / 1.0 / 2.0 / 3.0 秒
词表大小:151936
数据类型:bfloat16
权重:8.17 GB(model.safetensors + semantic_vad_heads.safetensors)
https://huggingface.co/Edge0/Audio8-ASR-Infinite#roadmap 路线图
这是预览版发布:它提供了转录基础功能。实时语义感知功能正在同一帧网格和相同的声学前向传递上构建中。
阶段 状态 范围
预览版——ASR 基础 ✅ 已完成 流式中英文转录:可选 80/120/160 毫秒时钟,可配置 target_delay_ms,无限长度滚动 KV 窗口
正式版 🏃 进行中 基于同一网格的帧级语义感知,超越转录功能
https://huggingface.co/Edge0/Audio8-ASR-Infinite#evaluation 评估
https://huggingface.co/Edge0/Audio8-ASR-Infinite#480-ms-delay-80ms-frame-length 480 毫秒延迟,80 毫秒帧长
测试集 指标 Audio8 ASR Infinite Voxtral-Mini-4B-Realtime-2602 nemotron-3.5-asr-streaming-0.6
aishell1/test CER 1.750 16.795 12.927 @560ms
aishell4/test CER 2.893 16.456 14.677 @560ms
librispeech test.clean WER 3.042 2.210 3.353 @560ms
librispeech test.other WER 6.808 5.552 7.140 @560ms
平均 3.623 10.253(2 个数据集) 9.524
使用贪心解码,抑制结束符,在 80 毫秒音频时钟下,target_delay_ms = 480(6 个延迟 token)。错误率为百分比。没有重复循环和尾词丢失。
https://huggingface.co/Edge0/Audio8-ASR-Infinite#usage 使用
使用内嵌远程代码进行程序化模拟流式解码:
import numpy as np
import torch
from transformers import AutoFeatureExtractor, AutoTokenizer
from audio8_asr_infinite.modeling.modeling_audio8_asr_infinite import (
Audio8ASRInfiniteForConditionalGeneration,
resolve_qwen_language_token_id,
resolve_qwen_streaming_special_token_ids,
)
from audio8_asr_infinite.streaming_inference import simulated_streaming_greedy_decode_batch
checkpoint = "Edge0/Audio8-ASR-Infinite"
tokenizer = AutoTokenizer.from_pretrained(checkpoint, trust_remote_code=True)
feature_extractor = AutoFeatureExtractor.from_pretrained(checkpoint, trust_remote_code=True)
model = Audio8ASRInfiniteForConditionalGeneration.from_pretrained(
checkpoint, trust_remote_code=True, torch_dtype=torch.bfloat16
).eval().cuda()
class AudioConfig: # 鸭子类型:raw_audio_samples_per_token / streaming_n_left_pad_tokens / sampling_rate
raw_audio_samples_per_token = 1280 # 80 毫秒 @ 16 kHz
streaming_n_left_pad_tokens = 18
sampling_rate = 16000
waveform = np.load("sample.npy", allow_pickle=False).astype(np.float32) # [-1, 1],16 kHz 单声道
results = simulated_streaming_greedy_decode_batch(
model=model,
tokenizer=tokenizer,
feature_extractor=feature_extractor,
waveforms=[waveform],
language_token_ids=[resolve_qwen_language_token_id(tokenizer, "zh")],
special_ids=resolve_qwen_streaming_special_token_ids(tokenizer),
audio_config=AudioConfig(),
num_delay_tokens=[480 // 80],
right_pad_text_tokens=10,
dtype=torch.bfloat16,
device=next(model.parameters()).device,
max_new_tokens=512,
)
print(results[0]["final_text"])
仅支持完整的合并权重目录(即此仓库本身);不支持适配器风格或部分转换的权重。
https://huggingface.co/Edge0/Audio8-ASR-Infinite#247-inference-with-vllm 使用 vLLM 进行全天候推理
Docker compose 是标准部署路径;它还同时提供 Web 演示服务:
cd docker
AUDIO8_MODEL_DIR=/path/to/checkpoint docker compose up -d
使用同套栈中包含的 Web 客户端进行验证:
http://localhost:8080/ # 纯 HTTP
https://localhost:8443/ # TLS 代理;接受自签名证书
同一个套接字也可以通过终端驱动:
python -m audio8_asr_infinite.examples.vllm_realtime_client \
--ws-url ws://127.0.0.1:18191/v1/realtime \
--audio sample.wav --language zh --target-delay-ms 480 --pace
18191 是 docker/docker-compose.yml 发布的宿主机端口;服务本身在 compose 网络内监听 18190 端口。滚动 KV 窗口为 30 秒,采用精确的 RoPE 重置,这正是确保内存在全天候运行中保持有界且延迟恒定的关键。
https://huggingface.co/Edge0/Audio8-ASR-Infinite#torch-inference-simulated-streaming-decode Torch 推理(模拟流式解码)
python -m audio8_asr_infinite.examples.torch_streaming_decode \
--checkpoint /path/to/checkpoint \
--audio sample.wav --language zh --transcription-delay-ms 480
相似文章
@SamuelZengML: 语音识别很容易——直到你要求它永远倾听。今日我们开源 Audio8 ASR Infinite:超低延迟…
开源 Audio8 ASR Infinite,一种具有超低延迟、无限制音频支持、24/7转录和内置语义轮次检测的语音识别工具,据称是流式ASR的新技术标杆。
@AdinaYakup: Mega-ASR https://huggingface.co/zhifeixie/Mega-ASR… 1.7B 参数,Apache 2.0,专为噪声/混响/截断/重叠说话人场景设计…
Mega-ASR 是一个1.7B参数的鲁棒ASR模型,采用Apache 2.0许可,专为噪声、混响和重叠语音设计,并配备音频质量路由器来处理干净音频和降质音频。
[audio.cpp] 狐狸说什么:原生C++/GGML中的4个ASR模型(Nemotron 3.5 ASR、Higgs Audio STT、VibeVoice ASR和Hviske ASR),初始流式支持,327秒音频在2.17秒内转录完成。
audio.cpp更新引入了流式支持和四个ASR/STT模型(Nemotron 3.5、Higgs Audio STT、VibeVoice ASR、Hviske ASR),采用原生C++/GGML实现,速度比Python快高达2.41倍,词错误率(WER)和显存占用具有竞争力。
nvidia/nemotron-3.5-asr-streaming-0.6b
NVIDIA 发布 Nemotron 3.5 ASR,这是一个6亿参数的多语言流式语音识别模型,支持40种语言区域,采用缓存感知的FastConformer-RNNT架构实现低延迟转录。该模型支持可配置的块大小,并已在OpenMDW-1.1许可证下准备商业化使用。
@YichiZ03: https://x.com/YichiZ03/status/2078588932191895976
MOSS-TD是一个说话人感知的ASR系统,在SGLang-Omni服务栈中进行了优化,能够在单张H100上以约49秒转录38分钟的多说话人音频,并支持16个会议的并发处理。