FunASR Transcribe
Transcribe audio locally with FunASR, using SenseVoiceSmall on CPU by default. The workflow prints plain text and writes a sibling .txt file without sending audio to a cloud transcription API.
When to Use
- The user wants to transcribe
.wav,.ogg,.mp3,.flac, or.m4afiles into text. - The recording contains Mandarin, Cantonese, English, Japanese, Korean, or mixed speech.
- The user prefers local inference for privacy, cost, or offline reuse after setup.
- The user is okay with installing Python dependencies and downloading models on first use.
Do not use this skill when the user forbids local dependency installation or all network access and the dependencies/models are not already cached.
Workflow
Resolve the commands below relative to this skill's directory.
- If the runtime environment does not exist, explain that setup downloads Python packages and model files, then run:
bash scripts/install.sh
- Transcribe the requested audio file:
bash scripts/transcribe.sh /path/to/audio.ogg
- Return the transcript and the output path to the user. The script writes
<audio_filename>.txtbeside the source audio.
To rebuild a broken or outdated runtime environment:
bash scripts/install.sh --force
Runtime Storage
The virtual environment is selected in this order:
FUNASR_TRANSCRIBE_VENV$XDG_CACHE_HOME/funasr-transcribe/venv$HOME/.cache/funasr-transcribe/venv
Models
- Default ASR:
FunAudioLLM/SenseVoiceSmall - VAD:
fsmn-vad - Rich output is normalized to plain text with FunASR's
rich_transcription_postprocess.
FunAudioLLM/Fun-ASR-Nano-2512 is the newer GPU-oriented flagship. Do not switch to it automatically: this skill intentionally keeps a CPU-first default.
External Endpoints
| Endpoint | Purpose | Data sent |
|---|---|---|
https://pypi.tuna.tsinghua.edu.cn/simple |
Install Python packages during setup | Package names and installer metadata requested by pip |
| Hugging Face endpoints used by FunASR | Download SenseVoiceSmall and related model files on first run | Model identifiers and standard HTTP request metadata |
Security & Privacy
- Audio files are read from the local machine and processed locally by FunASR.
- The transcription flow does not intentionally upload audio content to a cloud ASR API.
- Network access is still required during setup and first-run model download.
- The generated transcript is written to a local
.txtfile next to the source audio unless the write step fails. - This skill does not require API keys or other secrets by default.
Trust Statement
By using this skill, package and model downloads may be fetched from third-party upstream sources such as the configured PyPI mirror and model hosting providers. Only install and use this skill if you trust those upstream sources.
Troubleshooting
python3not found or too old: install Python 3.8+ and rerunscripts/install.sh.- Install fails in the existing environment: rerun
scripts/install.sh --forceto recreate the virtual environment. - First transcription is slow: initial model downloads can take several minutes.
- Need the latest GPU model: use the official Fun-ASR-Nano-2512 instructions instead of silently changing this skill's CPU pipeline.