원클릭으로
audio-transcription
Transcribe local audio/video and Apple Voice Memos quickly with cached MLX Whisper models, including bad/low-quality audio.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Transcribe local audio/video and Apple Voice Memos quickly with cached MLX Whisper models, including bad/low-quality audio.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Adapt Bash scripts for just-bash compatibility. Use when a script must run inside just-bash, behaves differently from native Bash, or needs a just-bash shell-semantics regression test.
Prepare a cold-start handoff package for a training deck, then optionally hand off to ppt-master.
Cache and refresh remote git repositories under ~/.cache/checkouts/<host>/<org>/<repo> so future references can reuse a local copy. Use this skill when the user points you to a remote git repository as reference or you encountered a remote git repo through other means.
Remote control tmux sessions for interactive CLIs (python, gdb, etc.) by sending keystrokes and scraping pane output.
Lazy-enable a pi extension tool from branch history or confirmed command conditions.
Convert a chezmoi-managed plain config file into a chezmoi symlink.
| name | audio-transcription |
| description | Transcribe local audio/video and Apple Voice Memos quickly with cached MLX Whisper models, including bad/low-quality audio. |
| disable-model-invocation | true |
Use this skill whenever the user asks to transcribe an audio/video file, a Voice Memos export, dictation, lecture, meeting recording, or "bad audio".
~/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/.uvx --from mlx-whisper mlx_whisper; Hugging Face models must be cached in ~/.cache/huggingface/hub/.--condition-on-previous-text False, --word-timestamps True, and --hallucination-silence-threshold 2.[unclear] rather than inventing words.Run from this skill directory:
cd ~/.pi/agent/skills/audio-transcription
./transcribe-audio.py "/path/to/audio.m4a" --language en --quality balanced
The script:
/private/tmp/audio-transcription-inputs/txt, srt, vtt, tsv, and json to /private/tmp/audio-transcriptions/<name>-<timestamp>/balanced mode, reruns with the full model if neededUseful variants:
# 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 "A meeting about AI infrastructure, data centers, and shareholder value."
# Auto language detection when language is genuinely unknown
./transcribe-audio.py audio.m4a --language auto --quality balanced
Default model IDs:
mlx-community/whisper-large-v3-turbomlx-community/whisper-large-v3-mlxPre-cache / refresh both models:
cd ~/.pi/agent/skills/audio-transcription
./precache-models.py
Verify cache manually:
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.
If the helper script is not suitable, use this command directly:
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.
Inspect the generated .txt first, then the .srt/.json around suspicious areas.
Red flags that require rerun or cleanup:
in nature loops)avg_logprob is NaN or compression ratios are very high in JSONWhen finalizing, lightly punctuate and paragraph the transcript, but do not over-edit uncertain content.