* 配音轨句间停顿收紧(add-audio-tighten-pauses)——**决策纯函数**。 立题:`fragment_interval` 只覆盖自训音色;云引擎音色(真机三条片用的就是)在合成侧 **没有任何办法**调短停顿。实测 `voice-B.wav` 202.96s 里 53.9s 是句间静音(26.6%), 收到 0.2s 后全片少 28.8 秒。 本文件只做「该压哪些、压完时码怎么映射」,不碰文件 IO —— 那部分在 `commands/audio.ts`。
// Source: https://github.com/Gitruck/cli | License: MIT | Copyright 2026 同合云 (Gitruck) // Provided via justclaw.it.com; keep this notice with the code. /** * 配音轨句间停顿收紧(add-audio-tighten-pauses)——**决策纯函数**。 * * 立题:`fragment_interval` 只覆盖自训音色;云引擎音色(真机三条片用的就是)在合成侧 * **没有任何办法**调短停顿。实测 `voice-B.wav` 202.96s 里 53.9s 是句间静音(26.6%), * 收到 0.2s 后全片少 28.8 秒。 * * 本文件只做「该压哪些、压完时码怎么映射」,不碰文件 IO —— 那部分在 `commands/audio.ts`。 * * ## 五条判据(每条都是真机踩出来的,改之前先读) * * ① **只压跨句界的静音**。句与句在 transcript 里**首尾相接**,停顿包在每句自己的时段内—— * 「波形里所有静音」≠「句间停顿」。真机误压 14/14/15 处句内换气(「店在上野阿美横町 / * JR 高架桥底下 / 叫珍珍轩」这种换气被削 0.1s),主理人一耳朵听出句子发赶。 * ② **静音判据用相对 RMS**(见 `detectSilenceRuns`)。`ffmpeg silencedetect` 在 -25dB * 都报 **0 段**——TTS 的底噪高于那个阈值。 * ③ **引用段整体豁免**。它在轨上的时长 MUST 恒等于源片时长,从中间削一截就是画音错位; * 真机曾在一处同期声中间挖掉 0.8 ... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search for more like it.
Get a free API key