mcpField
A
audio-reactive-video-composition

audio-reactive-video-composition

github.com/calesthio创意与媒体219111 次安装15 周前更新
代码仓库

关于 audio-reactive-video-composition

这项制作技能将经批准的音频转为可追溯的提示点图和确定性视觉时间线,强调谨慎解读音频特征、人工确认锚点、无障碍、权利与渲染质检。

主要功能

  1. 01记录音频来源与分析设置
  2. 02构建带置信信息的提示点图
  3. 03区分节奏型与非节奏型素材
  4. 04将提示点映射为受限视觉行为
  5. 05将提示点确定性地对齐帧
  6. 06检查无障碍、权利与渲染结果

适用场景

  1. 01为稳定节拍的曲目制作可视化
  2. 02为自由节奏或口语音频编排画面
  3. 03跨画幅制作可复现的时间线
  4. 04检查字幕、动态效果与帧同步

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/calesthio/generative-media-skills --skill audio-reactive-video-composition

安装后在 Claude Code 中输入/audio-reactive-video-composition确认已加载。

附带文件EVAL.md

详细介绍

音频响应式视频合成

使用此技能,将已批准的音频源转换为可审计的提示点图,再据此生成有界的视觉行为。核心约定是:

$$ \text{源音频} \rightarrow \text{测量特征} \rightarrow \text{带置信度的提示点} \rightarrow \text{经审核的锚点} \rightarrow \text{确定性的视觉时间线} $$

不要把检测器的输出等同于编辑意义。起音不自动等于节拍、剪切、高潮或歌词重音;声学聚类也不自动等于主歌或副歌。

证据立场

  • **有文档记录的事实:**官方分析库、标准或引用的研究中明确说明的行为。
  • **制作启发式方法:**必须在曲目和受众上进行测试的实用映射。
  • **实证观察:**从提供的音频、分析器运行、渲染或播放中测得的结果。

分析算法、默认值和模型行为会变化。事实已于 2026-07-12 核实。每次制作都要固定所用的解码器、库、模型、参数和随机种子。

范围

此技能负责源素材管理、分析策略、置信度解读、节奏型/非节奏型路由、提示点晋升、特征到视觉的映射、合理的帧对齐、无障碍设计和渲染 QA。

它不负责音乐视频叙事或艺人品牌塑造、音乐生成、母带处理、源分离、转录、歌词创作,也不负责特定于 HyperFrames/Remotion/FFmpeg 的实现。

固定音频约定

分析前记录:

  • 源路径/URI、SHA-256、获取来源、权利依据和限制;
  • 所选流、编解码器、原生采样率、声道/布局、起始时间戳和时长;
  • 解码器/重采样器及其版本;
  • 规范 PCM 格式、声道/下混策略、分析采样率、窗口/步长大小、居中方式和填充方式;
  • 分析器/库/模型版本、先验、阈值和随机种子;
  • 裁剪偏移和源时间起点;
  • 主输出帧率(以有理数表示);
  • 转录文本/歌词来源、语言、时间信息来源、审核状态和单独的权利依据。

尽可能使用样本索引作为主要分析时钟。派生出的秒数不应取代精确的源位置。

谨慎解读特征

有文档记录的事实:

  • librosa.beat.beat_track 根据起音强度估算速度,并选择与之相符的节拍位置;它不会返回经过校准的节拍置信度。
  • librosa.onset.onset_detect 对起音强度包络进行峰值拾取。起音估算的是事件的起始瞬态,而非语义重音。
  • 局部主脉冲可以模拟速度变化,但仍然只是估算值。
  • Essentia 的置信度值因算法而异;它们不是通用概率,某些路由还会返回不可用的零置信度。
  • 节拍评估通常会考虑半速/双倍速的节拍度歧义,并采用容差,而非要求精确相等。
  • 结构边界和结构标签是两个不同任务。A/B/C 之类的聚类标签不能证明其具有主歌/副歌含义。
  • RMS 是一种能量测量。EBU R128 响度采用规定的加权方式和时间窗口。两者都不是直接的情绪评分。
  • 谱质心、带宽和对比度描述的是频谱分布;它们不代表快乐、紧张或质量。
  • 静音检测取决于所声明的参考值和阈值。
  • pYIN 的有声标记表示音高的周期性,并不能证明有人在说话或唱歌。

将原始候选项与经人工确认的锚点分开保存。

提示点图约定

每个提示点应包含:

{
  "id": "accent-014",
  "type": "onset",
  "time_samples": 417312,
  "time_seconds": 9.46399,
  "value": 0.82,
  "units": "normalized-onset-strength",
  "analyzer": "record exact library and algorithm",
  "confidence": null,
  "confidence_semantics": "not supplied by analyzer",
  "profile_hash": "sha256:...",
  "status": "promoted-anchor",
  "editorial_role": "single visual accent",
  "reason": "reviewed strong transient before section change"
}

对于区间特征,应包含精确的结束样本/时间。记录被拒绝的候选项,不要删除证据。在歌词、元数据或人工审核提供依据之前,声学段落名称应保持中性。

选择路由模式

节奏明确

当所选节拍跟踪器提供了有用的证据、本地节奏足够稳定,且节拍与起音结果一致时使用。周期性运动可以跟随节拍;选定的强重音或经过审核的段落变化可以作为剪切的依据。

置信度参差

在可靠的节奏窗口内使用节奏信息。其他位置则切换为起音、转录短语、能量、静音或手动锚点。切勿将节拍网格外推到未通过验证的区间。

非节奏型

使用经过审核的语音/歌词短语、静音、能量轮廓、频谱变化和人工确认的宏观锚点。这适用于自由速度、氛围音乐、口语表演、稀疏录音和自由即兴。

将特征映射到视觉行为

制作启发式原则:

  • 为每个特征分配有限的视觉职责。
  • 使用稳健的单曲或单段统计数据归一化连续值,而不是使用单一极值。
  • 平滑噪声,并在切换视觉状态前使用滞回。
  • 限制每个参数的取值范围,并为缺失/无效值定义中性行为。
  • 使用宏观段落锚点、中等粒度的短语锚点和稀疏重音,而不是每遇到一个事件就剪切。
  • 将低能量或静音片段留作停留、阅读、重置和视觉留白。
  • 保护歌词行和重要的人声短语,避免它们被其他剪切和叠加元素干扰。
  • 在不同宽高比下沿用同一份提示映射;调整布局,而非时序。

避免使用看似定量、实则暗示错误测量的映射。如果将能量映射到缩放比例,请明确界定其精确取值范围,不要称其为情绪。

确定性帧时序

将 $30000/1001$ 等精确帧率保留为有理数。为每个提示定义舍入策略。一种保守的视觉响应策略是将提示分配给呈现时间大于或等于音频事件时间的第一帧:

$$ f = \left\lceil t_{event} \cdot \frac{fps_{num}}{fps_{den}} \right\rceil $$

同时记录原始事件时间和映射后的帧。编码后验证实际帧呈现时间戳,因为编码器可能会为满足恒定帧率输出而重复或丢弃帧。

帧 $f$ 的视觉状态必须由提示数据和帧时间决定,而非由墙上时钟播放时间决定。为程序化映射设定种子,并在分布式渲染前冻结分析器输出。

歌词、人声和字幕

将转录或歌词的时间信息视为独立的证据流。不要用音高是否发声来检测人声。在文字排版受其控制之前,应由人工审核名称、歌词、行边界和时间信息。

带有有意义语音的预录同步媒体需要准确字幕。必要时,字幕应包含有意义的非语音声音。风格化歌词层并不能自动取代无障碍字幕或文本稿。

安全、权利和来源记录

WCAG 2.2 SC 2.3.1 限制闪烁频率超过每秒 3 次,除非闪烁低于一般闪烁/红色闪烁阈值。循环播放时以及在最大预期尺寸下测试循环效果。启用减少动态效果并不能让不安全的闪烁变得安全。

如果大幅位移、缩放、抖动或密集的事件响应可能造成不适,请提供低动态效果版本。应降低事件密度和移动幅度,而不只是降低输出 FPS。

音乐作品、歌词和录音可以分别享有不同权利。持有文件并不意味着拥有同步、改编或分发权。记录来源和转换过程的来源信息;不要声称元数据能够证明真实性或授权。

QA

  1. 使用相同的输入和配置重新运行,并比较规范化提示映射哈希。
  2. 试听带有点击标记的候选锚点和已晋升锚点。
  3. 检查节奏层级的歧义和置信度不足的时间窗口。
  4. 将源素材时间与解码/裁剪后的母版及非零时间戳进行比较。
  5. 检查每个宏观锚点之前、所在帧及之后的帧。
  6. 验证不同画幅版本共用相同的提示 ID 和帧分配。
  7. 检查输出帧 PTS、时长和音画同步。
  8. 审核字幕/歌词、减少动态效果设置和闪光安全性。
  9. 保留源素材哈希、配置文件、提示映射、映射表、渲染版本和审批记录。

示例 1:恒定节奏的电子可视化

这是一个完整示例,不是强制公式。

意图: 使用获授权的 44.1 kHz 立体声器乐音频,以 30 fps 制作 30 秒的 9:16 和 16:9 可视化视频。

方法: 使用有文档记录的分析器确认节奏稳定,并检查局部脉冲。保留所有节拍/起音候选。每四拍选一个晋升为中等强度编排锚点;经过审核的强瞬态用于稀疏强调;经过审核的重复模式变化用于宏观转场。节拍相位仅驱动 1.000 至 1.035 范围内的缩放;低频段能量控制有界的景深;频谱质心控制狭窄范围内的纹理密度。六拍的低能量区间用于保持标题文本静止。

将所有锚点映射到采样时间之后的第一帧。两个画幅版本使用相同的提示 ID。QA 点击音轨、重新运行的哈希、PTS、时长、最终尺寸下的文本和全屏闪烁。

可能的失败: 半拍/双拍节奏歧义。通过记录为视觉周期性选定的节拍层级来修复,不要改写原始检测结果。

示例 2:带自由速度的朗诵

这是一个完整示例,不是强制公式。

意图: 以 24 fps 制作一首 75 秒、带环境音底的诗歌视频。

方法: 全局节拍跟踪器的结果不一致,因此采用非节奏路线。经过审核的转录文本行首和行尾作为主要锚点;停顿会重置画面;持续响度上升控制细微扩展;声学变化候选仅作为审核提示。每节诗建立稳定的视觉画面,标点使动态趋于平稳。不使用节拍切换或逐词缩放。

竖屏版本会重新排布文本,但保留时间安排。QA 静音字幕下的理解度、纯音频清晰度、每个行边界、呼吸附近的静音、减少动态效果设置、闪光安全性,以及文本和录音的独立权利。

可能的失败: 声学边界落在句子中间。将其保留为低置信度事件,并拒绝将其作为编辑锚点。

来源

已于 2026-07-12 核实:

评论

支持 Markdown