Views
No views yet
本仓库的 ncnn 权重由 Qwen/Qwen3-ASR(0.6B)经 pnnx 转换而来,推理结果与 PyTorch 原版逐字一致。
dr_mp3.h 解码;重采样(Kaiser 窗 sinc)、梅尔谱、分词器(byte-level BPE)全部自实现,不依赖 ffmpeg / torch。assets/qwen3_asr_0.6b/
├── text_embed.ncnn.bin / .param # 文本 embedding
├── lm_head.ncnn.bin / .param # 输出层
├── decoder_norm.ncnn.bin / .param # 最终 RMSNorm
├── decoder_00..27_{pre,o,mlp}.ncnn.* # 28 层 LLM 解码器(pre=RMSNorm+QKV+RoPE+GQA+o_proj; o=attn out; mlp=MLP)
├── audio_conv*.ncnn.* # 音频塔卷积(3×Conv2d + conv_out)
├── audio_post.ncnn.* # 音频塔后投影(proj1 gelu + proj2)
├── audio_00..17_{pre,o,mlp}.ncnn.* # 18 层音频编码器
├── vocab.txt / merges.txt # byte-level BPE 词表
├── special_tokens.txt # 特殊 token(本仓库为空,特殊 id 由代码处理)
├── hann_window.bin # [400] STFT 窗
└── mel_filters.bin # [128,201] 梅尔滤波器NCNN_AVX2 与 NCNN_OPENMP 收益明显)。1git clone <your-fork> Qwen3-ASR-ncnn
2cd Qwen3-ASR-ncnn
3cmake -B build_fast -DCMAKE_BUILD_TYPE=Release \
4 -Dncnn_DIR=<ncnn>/build/install/lib/cmake/ncnn
5cmake --build build_fast --target asr_main_stream -j
6# 产物:build_fast/asr_stream.exe (Windows)或 build_fast/asr_stream (Linux)1# 直接喂音频(mp3 / wav / ...),自动 C++ 解码 -> mel -> 识别
2asr_stream <model_dir> <audio_file> [max_new=256]
3
4# 示例
5asr_stream assets/qwen3_asr_0.6b test.mp3 512max_new:最多生成的新 token 数(即输出长度上限,不是音频长度)。asr_result.txt(带 BOM),记事本 / VS Code 打开必定正确显示。chcp 65001(Windows)或使用 Windows Terminal。net.opt.num_threads 设为物理核数(而非超线程数)。