ai-experiment/README.md

1.3 KiB

STT Runner

Speech-to-Text transcription using sherpa-onnx + Qwen3-ASR.

Installation

python3 -m venv .venv
.venv/bin/pip install -r requirements.txt

Usage

python stt_runner.py [--language=Indonesian] audio1.wav audio2.wav ...

Configuration

Model paths and inference parameters are hardcoded in config/:

  • config/model.py — model paths (conv_frontend, encoder, decoder, tokenizer under models/)
  • config/asr.py — inference params: LANGUAGE, HOTWORDS, NUM_THREADS, PROVIDER, SAMPLE_RATE, FEATURE_DIM, MAX_TOTAL_LEN, MAX_NEW_TOKENS

LANGUAGE defaults to "" (all languages / auto-detect). Passing --language on the CLI overrides it.

Download Model (Qwen3-ASR 1.7B int8)

BASE="https://modelscope.cn/models/zengshuishui/Qwen3-ASR-onnx/resolve/master"
mkdir -p models/model_1.7B models/tokenizer
wget -O models/model_1.7B/conv_frontend.onnx "$BASE/model_1.7B/conv_frontend.onnx"
wget -O models/model_1.7B/encoder.int8.onnx  "$BASE/model_1.7B/encoder.int8.onnx"
wget -O models/model_1.7B/decoder.int8.onnx  "$BASE/model_1.7B/decoder.int8.onnx"
for f in vocab.json merges.txt tokenizer_config.json preprocessor_config.json config.json chat_template.json; do
  wget -O "models/tokenizer/$f" "$BASE/tokenizer/$f"
done