← ClaudeAtlas

wjs-transcribing-audiolisted

Use when the user has audio or video and wants a timestamped transcript (SRT) in the source language. Routes by source language — Chinese defaults to Volcano (豆包) ASR; other languages (Spanish, English, Portuguese, French, Italian, Japanese, Korean, etc.) use OpenAI Whisper API with word-level timestamps and self-assembled cues. Outputs SRT with punctuation-bounded cues capped for on-screen reading. Triggers — "转写", "转成字幕", "做 SRT", "transcribe", "make subtitles", "speech to text", "出字幕".
jianshuo/claude-skills · ★ 77 · AI & Automation · score 85
Install: claude install-skill jianshuo/claude-skills
# wjs-transcribing-audio Spoken audio in → timestamped SRT in the same language out. **This skill stops at the source-language SRT.** Translation to another language is the next skill (`/wjs-translating-subtitles`). ## When to use - User provides a video or audio file and wants a transcript / SRT in the source language. - User already has a translated SRT and the source SRT is missing. - User asks "做 SRT" / "make subtitles" / "出逐字稿" with no translation step requested yet. ## When NOT to use - Source-language SRT already exists → skip straight to `/wjs-translating-subtitles`. - User wants the transcript in a different language than spoken → run this skill first, then `/wjs-translating-subtitles`. - User wants only the dub or burn-in → if SRT exists, skip; otherwise run this first. ## Routing: which engine | Source language | Default engine | Why | |---|---|---| | Chinese (zh-CN, zh-HK, zh-TW) | **Volcano (豆包) ASR** | Materially better accuracy than Whisper for Chinese — user's standing preference | | Any other (es, en, pt, fr, it, ja, ko, …) | **OpenAI Whisper API** with word-level granularity | Whisper's multilingual is strong; word timestamps let us assemble cues ourselves | | Offline / no API access | Local `openai-whisper` (medium) | Quality floor; same loop/blob failure modes apply | For Chinese, do **not** default to Whisper unless the user explicitly asks for it or Volcano is unavailable. This is a deliberate routing decision — see user's memory on Chinese ASR p