audio-transcription
Transcribe local audio/video and Apple Voice Memos quickly with cached MLX Whisper models, including bad/low-quality audio.
Skill by darkamenosa
Chalk Labs
Need help deploying audio-transcription?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/darkamenosa-audio-transcription
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Nov 1, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/audio-transcription/private/tmp/audio-transcription-inputs/private/tmp/audio-transcriptions~/.cache/huggingface
What's inside
- Skill name
audio-transcription- Description
- Transcribe local audio/video and Apple Voice Memos quickly with cached MLX Whisper models, including bad/low-quality audio.
- License
- Apache-2.0
- Instructions
- 94 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (3)
- SKILL.md
- precache-models.py
- transcribe-audio.py
SKILL.md (first lines)
Use this skill whenever the user asks to transcribe an audio/video file, a Voice Memos export, dictation, lecture, meeting recording, or "bad audio". ## Core rules 1. **Preserve temporary inputs immediately.** Voice Memo share-sheet paths under `~/Library/Containers/com.apple.VoiceMemos/Data/tmp/.com.apple.uikit.itemprovider...` can disappear. Before probing or experimenting, copy the file to stable `/private/tmp/audio-transcription-inputs/`. 2. **Use cached local models, not cloud APIs.** Prefer MLX Whisper via `uvx --from mlx-whisper mlx_whisper`; Hugging Face models must be cached in `~/.cache/huggingface/hub/`. 3. **Force language when known.** For Armin's own dictations this is usually English with an Austrian/German accent, even when the filename is German. Do **not** infer language from filename alone. 4. **For bad audio, run a hallucination-resistant pass.** Use `--condition-on-previous-text False`, `--word-timestamps True`, and `--hallucination-silence-threshold 2`. 5. **Deliver a cleaned best-effort transcript.** Compare model output with timestamps/JSON, remove obvious Whisper loops, and mark uncertain spans as `[unclear]` rather than inventing words. ## Fast path Run from this skill directory: ```bash cd ~/.pi/agent/skills/audio-transcription ./transcribe-audio.py "/path/to/audio.m4a" --language en --quality balanced ``` The script: - stages a stable copy of the input under `/private/tmp/audio-transcription-inputs/` - ensures the selected model is cached (downloads only if missing) - writes `txt`, `srt`, `vtt`, `tsv`, and `json` to `/private/tmp/audio-transcriptions/<name>-<timestamp>/` - detects obvious hallucination loops and, in `balanced` mode, reruns with the full model if needed Useful variants: ```bash # Quick draft, fastest cached model ./transcribe-audio.py audio.m4a --language en --quality fast # Bad/important audio, slower full model ./transcribe-audio.py audio.m4a --language en --quality best \ --prompt "Armin Ronacher dictating about AI, data centers, Vienna, Donauinsel, shareholder value." # Auto language detection when language is genuinely unknown ./transcribe-audio.py audio.m4a --language auto --quality balanced ``` ## Cached models Default model IDs: - Fast/balanced: `mlx-community/whisper-large-v3-turbo` - Best fallback: `mlx-community/whisper-large-v3-mlx` Pre-cache / refresh both models: ```bash cd ~/.pi/agent/skills/audio-transcription ./precache-models.py ``` Verify cache manually: ```bash find ~/.cache/huggingface/hub -maxdepth 1 -type d -name 'models--mlx-community--whisper-large-v3*' -print ``` If a model is already cached, `mlx_whisper` should say `Fetching 4 files: 100%` almost instantly. ## Manual command template If the helper script is not suitable, use this command directly: ```bash mkdir -p /private/tmp/audio-transcriptions/manual uvx --from mlx-whisper mlx_whisper "/stable/copy/of/audio.m4a" \ --model mlx-community/whisper-large-v3-turbo \ --language en \ --condition-on-previous-text False \ --word-timestamps True \ --hallucination-silence-threshold 2 \ --output-format all \ --output-dir /private/tmp/audio-transcriptions/manual \ --output-name transcript \ --verbose False ``` For especially rough audio, replace the model with `mlx-community/whisper-large-v3-mlx`. ## Quality checks Inspect the generated `.txt` first, then the `.srt`/`.json` around suspicious areas. Red flags that require rerun or cleanup: - repeated phrases for many lines (eg. `in nature` loops) - many zero-duration segments - `avg_logprob` is `NaN` or compression ratios are very high in JSON - text contradicts obvious context words supplied in the prompt When finalizing, lightly punctuate and paragraph the transcript, but do not over-edit uncertain content.
From darkamenosa/pi-setup, Apache-2.0.
More from darkamenosa/pi-setup
- 0.607score
realbrowser
darkamenosa
Use for fast target-first local Chrome/Chromium browser control with stable labeled tabs, signed-in profiles, anonymous sessions, compact reads, screenshots…
SkillBFreshness: B★ 18Claude Code +9 - 0.604score
ghidra
darkamenosa
Reverse engineer binaries using Ghidra's headless analyzer.
SkillBFreshness: B★ 18Claude Code +9 - 0.601score
native-web-search
darkamenosa
Trigger native web search.
SkillBFreshness: B★ 18Claude Code +9 - 0.601score
tmux
darkamenosa
Remote control tmux sessions for interactive CLIs (python, gdb, etc.) by sending keystrokes and scraping pane output.
SkillBFreshness: B★ 18Claude Code +9 - 0.599score
pi-share
darkamenosa
Load and parse session transcripts from shittycodingagent.ai/buildwithpi.ai/buildwithpi.com/pi.dev (pi-share) URLs.
SkillBFreshness: B★ 18Claude Code +9 - 0.599score
uv
darkamenosa
Use `uv` instead of pip/python/venv.
SkillBFreshness: B★ 18Claude Code +9 - 0.596score
oracle
darkamenosa
Oracle second-model review: bundle prompts/files, debug, refactor, design-check.
SkillBFreshness: B★ 18Claude Code +9 - 0.593score
update-changelog
darkamenosa
Read this skill before updating changelogs
SkillBFreshness: B★ 18Claude Code +9 - 0.574score
github
darkamenosa
Interact with GitHub using the `gh` CLI.
SkillBFreshness: B★ 18Claude Code +9 - 0.571score
gog
darkamenosa
Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
SkillBFreshness: B★ 18Claude Code +9
Signals
- Stars
- 18
- Forks
- 5
- Open issues
- 0
- Last commit (this folder)
- Aug 1, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/darkamenosa/pi-setup
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from darkamenosa
- 0.607score
realbrowser
darkamenosa
Use for fast target-first local Chrome/Chromium browser control with stable labeled tabs, signed-in profiles, anonymous sessions, compact reads, screenshots…
SkillBFreshness: B★ 18Claude Code +9 - 0.604score
ghidra
darkamenosa
Reverse engineer binaries using Ghidra's headless analyzer.
SkillBFreshness: B★ 18Claude Code +9 - 0.601score
native-web-search
darkamenosa
Trigger native web search.
SkillBFreshness: B★ 18Claude Code +9 - 0.601score
tmux
darkamenosa
Remote control tmux sessions for interactive CLIs (python, gdb, etc.) by sending keystrokes and scraping pane output.
SkillBFreshness: B★ 18Claude Code +9 - 0.599score
pi-share
darkamenosa
Load and parse session transcripts from shittycodingagent.ai/buildwithpi.ai/buildwithpi.com/pi.dev (pi-share) URLs.
SkillBFreshness: B★ 18Claude Code +9 - 0.599score
uv
darkamenosa
Use `uv` instead of pip/python/venv.
SkillBFreshness: B★ 18Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get audio-transcription running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
audio-transcription skill. Agent Mart. https://agentmart.dev/skills/darkamenosa-audio-transcription (last updated 2026-10-24)