# STT Runner Speech-to-Text transcription using sherpa-onnx + Qwen3-ASR. ## Installation ```bash python3 -m venv .venv .venv/bin/pip install -r requirements.txt ``` ## Usage ```bash 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) ```bash 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 ```