Copedal

Video & audio

Voice and audio

Narration, subtitles and music beds, local or cloud, with the metrics that make a voice sound human.

Paid $29 list, $23 until 2026-12-31 · one skill, yours for good. The outline, the steps and the file open after purchase.

local-audio 523 lines · 32 KB

Background

Conclusion from a past 10-second Korean clip: the Korean voice in the final cut was not produced by TTS. It was native audio produced by Seedance in the same inference pass that generated the video (dialogue plus ambience in one go). Reverse transcription re-verified it as ko with 0.98 confidence, word-for-word identical to the script — the model really is speaking Korean.

  • Why prefer it: the model guarantees audio-picture sync itself, so there is no lip-sync alignment, and

one TTS pass plus duration fitting is skipped.

  • Cost: not separately controllable, it tends to add business on its own, and a silent scene may

spontaneously produce voices → key shots still need a human listen.

  • How to write it: put only "scene + ambience + verbatim dialogue" in the prompt, do not describe

characters (describing characters triggers the real-person check; after a rejection, removing the character description from the same image passes).

  • When to fall back to TTS: when you need one timbre across shots, **per-sentence control of

pauses**, or the model does not support that language. Then use multilingual Kokoro (draft grade) or a cloud option that allows commercial use.

Always prefer Doubao (Volcano Engine) for Chinese. In the operator's own listening tests, even ElevenLabs voices that are native Chinese speakers in the library sound like "a foreigner speaking Chinese", because the underlying model is a general multilingual model whose prosody and tone habits are English-first. Doubao is ByteDance speech technology (same lineage as CapCut and Dreamina), trained on Chinese from the start; switching voices cannot close the gap.

Do not deliver Chinese finals produced by Kokoro — 82M parameters, flat intonation with no breath; the user's own verdict was "sounds like a robot".

Runtime is fixed at <TOOLS_DIR> (must be a pure ASCII path, see pitfall 1). Python environment: <TOOLS_DIR>/venv/Scripts/python.exe Credentials: <API_KEY_ENV> is already set in the environment (User scope; the scripts read it themselves, no manual setup needed). The account is on a limited plan: capped quota, no commercial license, no voice cloning — always confirm with --quota before placing an order.

Why it is built this way

The skill opens with a language routing table before any synthesis command appears. The target language picks the engine, then the voice: Chinese to Doubao TTS 2.0 via say_volc.py, English to ElevenLabs, Korean and Japanese to the video model's native audio. The order follows where the failures sit. Six test listens across Sarah, George, Lily and the newest cloud model all came back as a foreigner speaking Chinese, and Kokoro at 82M parameters reads flat with no breath. Chinese voiceover defaults to -s 6.

Every acceptance number sits in one table because the complaint was a robot with no living person in it. Room reverb 15-30% wet/dry, speech rate 4.0-5.5 characters per second, pauses 0.25-0.5s, one timbre per character, pitch off by at least 15%, one sentence per synthesis call. Reverb, pauses and generation granularity have nothing to do with timbre, which is why swapping voices never fixed it. Section 9 states the limit: transcription proves the words and the language, the ear alone judges whether it sounds human.

Where it bites

  • A Chinese path breaks the phonemiser Put the runtime under a directory with Chinese characters and espeak-ng silently falls back to its compile-time path, then reports phontab: Illegal byte sequence against a build machine path such as D:/a/... The message reads like a broken install. The runtime is pinned to a pure ASCII directory for this reason.
  • A 1.0 voice against the 2.0 resource seed-tts-2.0 accepts only voice IDs ending in _uranus_bigtts. Hand it a _moon_ or _mars_ 1.0 voice and the call returns code=55000000, resource ID is mismatched with speaker related resource. The error-code table maps 55000000 to exactly this cause, and fifteen verified voice IDs are listed so nobody has to guess.
  • A sixteen-second bed under a longer cut Doubao audio generation returns a fixed 16.6 seconds with a raw peak near -24 dB, so a bed dropped in as delivered is nearly silent and a plain concat leaves an audible seam. music_volc.py normalises automatically, and the looping step chains copies with acrossfade=d=2.
  • Placeholder audio that ships Windows SAPI, a synth-made bed, synthesised noise, or a Kokoro Chinese read left in the cut reads as a draft or an ad on first listen. Section 8 bans those four from delivery and requires audio/provenance.csv to carry one row per item with source and licence status.

This part is for buyers

The outline, the steps and the SKILL.md stay closed until this address owns the skill.

$29 early bird $23 until 2026-12-31

Buy this skill

Checkout opens soon — leave your address and we will tell you when it does.

all 28 skills for $149, list $430

When to use it

AI audio production with two engines: local (Kokoro-82M, offline and free) plus cloud (ElevenLabs, best human feel). Covers (1) voiceover synthesis in Chinese, English, Korean and other languages, including the routing rule that non-Chinese, non-English languages go through the video model's native audio, (2) transcription of audio/video into SRT subtitles, (3) short music and ambience beds, and states the hard human-feel metrics (reverb / speech rate / pauses / timbre separation) plus the audio-source ledger red line. Use when the user mentions 'voiceover', 'speech synthesis', 'TTS', 'generate subtitles', 'transcribe audio', 'make a background track', 'human feel', 'sounds like a robot', 'voice cloning'.