Communitygithub.com

歌曲编辑分析

分析歌曲和音频文件,用于节拍同步视频编辑、剪辑定时、能量映射、病毒式窗口选择、起始锁定切割网格、素材选择和面向智能体的编辑简报。当智能体需要检查MP3/WAV/M4A/音频轨道、估算节拍和节拍网格、识别段落、生成剪切标记、选择歌曲中最佳的15-30秒窗口用于短视频、或指导人类或其他智能体选择与音乐能量匹配的素材时使用。

歌曲编辑分析 是什么?

该技能提供了一套全面的音频分析工具,专为视频编辑场景设计。它能够将歌曲转化为实用的编辑情报,包括精确的节拍、段落、能量曲线和素材匹配建议。核心是一个Python脚本(`scripts/analyze_song_for_editing.py`),它利用`librosa`、`numpy`等库生成机器可读的分析文件(如CSV、JSON)和可视化图表。技能支持起始锁定切割网格(onset-locked cut grids),适合密集切割;其病毒式窗口选择算法(viral window selection)通过能量、重复性、歌词位置等信号,智能推荐15-30秒的最佳剪辑片段。该技能还通过能量阶梯和详细的素材选择指导,协助AI或人工编辑进行素材匹配、镜头切换与视觉特效同步,确保音乐与画面的精确对齐。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/BusyBee3333/viral-video-edit-skills/tree/main/skills/song-edit-analysis

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

歌曲编辑分析 是做什么的?

概述

使用此技能将歌曲转化为实用的编辑情报:节拍、节拍网格、段落图谱、能量曲线、剪辑优先级、素材适配说明、时间线标记,以及面向智能体的素材选择简报。

内置脚本是默认路径,因为它保持分析的可复现性,同时生成人机可读的输出。

工作流程

  1. 确认音频文件路径,并为交付物创建输出文件夹。
  2. 确保 Python 依赖可用:librosa、numpy、scipy、matplotlib、pandas、scikit-learn 和 soundfile。
  3. 运行 scripts/analyze_song_for_editing.py <音频文件> --out <输出文件夹>。
  4. 检查生成的能量时间线图像和段落 CSV。如果自动分段对忙碌段落过度分割,请在最终响应或单独的 markdown 文件中合成一个更简单的宏观段落图谱。
  5. 当另一个智能体将选择片段、组装编辑或给素材候选评分时,使用智能体素材简报。
  6. 对于下游制作,使用 $footage-review-pack 进行素材筛选,使用 $beat-synced-montage-builder 组装编辑,以及使用 $edit-delivery-qa 验证最终渲染。

脚本输出

对于名为 my_song.mp3 的输入,脚本会写入:

  • my_song_beats.csv:每个检测到的节拍,包含时间、估计的节拍/拍子位置、能量、低音、亮度、瞬态强度和剪辑优先级。
  • my_song_cut_markers_30fps.csv:主要和次要剪辑标记,附带30fps时间码和简洁的标记说明。
  • my_song_sections.csv:检测到的结构区域,包含平均能量、声音特征、素材适配性和剪辑策略。
  • my_song_phrases.csv:8拍乐句级别的编辑笔记。
  • my_song_energy_timeline.png:波形、能量曲线、素材提示和检测到的段落。
  • my_song_editing_guide.md:面向人类的编辑指导。
  • my_song_agent_footage_brief.json:结构化的、供另一个智能体使用的素材选择指令。
  • my_song_analysis.json:机器可读的总体摘要。

起始锁定切割网格(v2引擎,适用于密集切割)

当编辑需要在每个音乐允许的时刻进行剪切(包括快速爆发)时,跳过标记阈值并构建原始起始网格:

env    = librosa.onset.onset_strength(y=y, sr=sr, hop_length=512)
onsets = librosa.onset.onset_detect(onset_envelope=env, sr=sr, hop_length=512,
                                    backtrack=False, delta=0.02, units="time")

delta=0.02 捕捉所有内容(0.03-0.04 可实现更干净的网格)。合并距离小于0.13秒的起始点,保留较强的那个;使用 int(round((t-t0)*FPS)) 量化为帧;强制在0帧处进行剪切;丢弃距结尾2帧以内的剪切。稀疏时保持,忙碌时爆发——绝不插入偏离网格的填充剪切。起始强度在前四分位数中的获得重音(推镜缩放)。在60ms范围内将任何估计的节拍网格捕捉到最近的真实起始点(瞬态可能偏离稳定节拍网格约35ms);对于变换/风格切换时刻,使用向下取整而非四舍五入进行量化,使得变化恰好落在包含瞬态的帧上。

病毒式窗口选择(选择哪15-30秒进行剪辑)

根据五个信号对候选窗口进行评分:重复性/副歌程度(节拍同步色度自相似性,对角线+8条副对角线置零,行平均值)、能量上升(后均值(4s) - 前均值(4s)——捕捉建造→高潮)、循环接缝(窗口结束稍后和开始稍后的色度+MFCC的余弦相似度——实现无感循环)、歌词位置(在[开始-0.5, 开始+3.0]内开始的乐句,情感词汇加分),以及艺术家自己发布的起始时间先验。锚点 = 最高重复峰值 + 最高能量上升节拍 + 先验,每个都对齐到其所在或之前的强拍,使得钩子尽早出现。大致组合权重为 0.26*能量 + 0.20*重复性 + 0.18*上升*2 + 0.16*歌词 + 0.12*循环接缝 + 0.08*先验;保留重叠<50%的顶部窗口。

包络跟随器(驱动连续 FX)

对于音频响应式特效,将起始包络重采样到帧网格,按第95百分位数归一化,然后应用单极点峰值保持(瞬时触发,exp(-1/(fps*0.22..0.25)) 衰减)。节拍拍冲用于推镜缩放/光晕:每拍添加 amp * exp(-(t-t_beat)/0.16),能量加权的振幅。将低音/能量/高音/瞬态作为独立的归一化通道——绝不是一个响度标量——并让起始事件通道保持未平滑。在同一开始/持续时间窗口下渲染FX,使得拍冲和剪辑共享一个包络(通过构造同步)。

解释规则

在对照波形或通过耳朵检查之前,将节拍、拍子和小节视为估计值。节拍网格通常足够好用于粗略编辑,但强拍标记可能偏移一个节拍或乐句。

使用此能量阶梯进行素材选择:

  • 能量 1 / 非常低:氛围、标题、细节镜头、慢速平移、安静的铺垫。
  • 能量 2 / 低:准备、预期、背景、慢动作、行动前。
  • 能量 3 / 中等:可见的运动、反应、有节奏的B-roll、2-4拍剪辑。
  • 能量 4 / 高:活跃的运动、冲击邻近镜头、快速B-roll、1-2拍剪辑。
  • 能量 5 / 峰值:最强素材、碰撞、揭示、快速甩镜头、VFX击中、快速交替、0.5-1拍剪辑。

使用主要剪辑点进行主要主题变化、冲击、硬切、揭示、速度斜坡着陆和标题击中。使用次要剪辑点进行角度变化、连续剪辑、较小的B-roll替换和速度斜坡开始。

智能体素材选择

当智能体将选择素材时,向其传递 *_agent_footage_brief.json 以及任何可用的素材清单。指示智能体:

  1. 使用简报分类法中的 content_type 标记每个候选片段。
  2. 对每个候选片段按1-5评分 motion_intensity。
  3. 将片段强度与每个段落的 energy_level 匹配,除非编辑需要故意对比,否则允许正负1的偏差。
  4. 将 peak_impact 和运动强度5的片段保留给最高能量的段落。
  5. 将主题变化、冲击和揭示放在主要剪辑点上。
  6. 当可用素材强度低于音乐时,使用更短的时长、更紧的裁剪、速度斜坡或重复的冲击细节。

面向人类的指导

除了原始数据之外,始终提供简洁的宏观图谱。编辑需要音乐判断,而不仅仅是一系列节拍。指出:

  • 何处保持镜头。
  • 第一个有意义的节奏剪切从何处开始。
  • 高潮或峰值从何处开始。
  • 哪个段落应获得最佳素材。
  • 最强的剪切点及其时间戳。
  • 任何不确定性,特别是如果段落检测过度分割或强拍可能偏移时。

下游技能

该技能产生音乐情报。对工作流程的其余部分使用配套技能:

  • $footage-review-pack:构建短名单、审查画廊、清单和来源溯源。
  • $beat-synced-montage-builder:将素材映射到剪切标记并渲染社交蒙太奇特辑。
  • $edit-delivery-qa:检查最终渲染、联系表、时间线密度和交付就绪状态。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

beat-synced-montage-builder

Build beat-synced social video montages from song-analysis outputs and source footage. Use when an agent needs to assemble, plan, or revise a music-timed edit; map footage to beats/onsets/cut markers; create vertical or landscape montage timelines; integrate audio-reactive FX into shots; mix gameplay, crowd, concert, nature, menu, or other accent footage; generate timeline CSVs, contact sheets, and edit briefs; or adapt the Conteto Machino / Smash Mash workflow for another song or footage library.

edit-delivery-qa

Verify final video edits before delivery. Use when an agent needs to inspect a rendered MP4/MOV/WebM, confirm duration/resolution/frame rate/audio, generate or review contact sheets, analyze timeline CSVs, check cut density/source mix, check FX integration and cohesion, verify text-to-beat sync, catch weak frames or accidental placeholders, and decide whether a beat-synced social edit is ready to show.

generated-media-sourcing

Generate or plan media assets for beat-synced edits when real footage is missing or the user asks for generated visuals - AI video (Gemini/Veo/Flow), AI images, or procedural audio-reactive GPU renders (tunnels, portals, kaleidoscopes, starbursts, mandalas, title pieces via Python+moderngl GLSL). Use with beat-synced-montage-builder when a montage needs generated clips, stills, or procedural audio-reactive elements instead of, or alongside, sourced footage.

viral-video-edits

End-to-end system for making S-tier beat-synced short-form music video edits — song analysis, viral window selection, footage sourcing with shot-level QA, hook writing, onset-locked cutting, integrated audio-reactive FX (person mattes, procedural GLSL renderers, cinematic grade), and delivery QA. Use this whenever the user asks to make a video edit, music video, reel, TikTok/Shorts/vertical video, beat-synced montage, lyric/hook video, audio-reactive visual, tunnel/portal/kaleidoscope render, or to promote a song with video content — even if they don

相关技能