icefall-libri-giga-pruned-transducer-stateless7-streaming-2023-04-04 — NCNN export (streaming Zipformer, English)
This repo provides an NCNN export of the icefall streaming Zipformer
model trained on LibriSpeech + GigaSpeech (2023-04-04).
It is ready for sherpa-ncnn (Android and desktop).
Files included
encoder_jit_trace-pnnx.ncnn.param
encoder_jit_trace-pnnx.ncnn.bin
decoder_jit_trace-pnnx.ncnn.param
decoder_jit_trace-pnnx.ncnn.bin
joiner_jit_trace-pnnx.ncnn.param
joiner_jit_trace-pnnx.ncnn.bin
tokens.txt
(500 tokens; blank id = 0)
The encoder
.param
already contains the required SherpaMetaData layer. Files are UTF-8 without BOM to match NCNN’s plain-text parser.
Model details (export)
- Architecture: Streaming Zipformer Transducer (RNN-T)
- Context size: 2
- Encoder stacks / layers:
2,4,3,2,4
- Encoder dims: all
384
- Attention dims: all
192
- Downsampling factors:
1,2,4,8,2
- CNN kernels: all
31
- Decoder dim / Joiner dim:
512 / 512
- Feature extractor: 80-dim log-Mel at 16 kHz
- Streaming chunking:
decode_chunk_len=32
,num_left_chunks=4
,pad_len=7
- Export toolchain:
- PyTorch 1.13.1 (CPU)
- pnnx (Fangjun’s
csukuangfj/ncnn
fork, MSVC build on Windows) - Post-step: insert
SherpaMetaData
into the encoder.param
- Filenames follow the hyphen-pnnx convention for drop-in compatibility
How to use (sherpa-ncnn)
Android (JNI)
Copy the six NCNN files and tokens.txt
into your app’s assets/
(or load from files),
then construct the recognizer with those paths. Ensure your NCNN build includes ops
used by modern Zipformers (e.g., CumulativeSum). If Vulkan isn’t present, useGPU
falls back to CPU automatically.
Desktop quick start (CLI)
If you use the sherpa-ncnn CLI, point each component explicitly (paths adjusted):
sherpa-ncnn \
--encoder-param encoder_jit_trace-pnnx.ncnn.param \
--encoder-bin encoder_jit_trace-pnnx.ncnn.bin \
--decoder-param decoder_jit_trace-pnnx.ncnn.param \
--decoder-bin decoder_jit_trace-pnnx.ncnn.bin \
--joiner-param joiner_jit_trace-pnnx.ncnn.param \
--joiner-bin joiner_jit_trace-pnnx.ncnn.bin \
--tokens tokens.txt \
--decoding-method greedy_search \
--num-threads 4