Communitygithub.com

ZJU-REAL/Easel

通用音频处理:音频剪辑/裁剪、格式转码(mp3/wav/m4a/aac)、音量归一化、从视频提取音轨、多段拼接、淡入淡出、变速(保音高)。当用户说“剪音频”“裁一段”“转成 mp3”“调音量/响度”“提取音轨/扒音频”“拼接音频”“淡入淡出”“加速/减速音频”“变速不变调”时使用。与 audio-denoise 的区别:audio-denoise 专做降噪,audio-editing 做除降噪外的通用音频操作(也内置 denoise 作为兜底)。

Qu'est-ce que Easel ?

Easel is a Claude Code agent skill that 通用音频处理:音频剪辑/裁剪、格式转码(mp3/wav/m4a/aac)、音量归一化、从视频提取音轨、多段拼接、淡入淡出、变速(保音高)。当用户说“剪音频”“裁一段”“转成 mp3”“调音量/响度”“提取音轨/扒音频”“拼接音频”“淡入淡出”“加速/减速音频”“变速不变调”时使用。与 audio-denoise 的区别:audio-denoise 专做降噪,audio-editing 做除降噪外的通用音频操作(也内置 denoise 作为兜底)。.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ZJU-REAL/Easel/tree/HEAD/skills/openclaw/audio-editing

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

通用音频处理

除降噪外的通用音频操作:裁剪、转码、音量归一化、提取音轨、拼接、淡入淡出、变速。全部通过共享脚本 skills/shared/scripts/audio_ops.py 封装 ffmpeg,参数确定、可复现,不现场手拼命令。

输入

字段必填说明
input_file是音频或视频文件路径
operation是trim / convert / normalize / extract / concat / fade / speed / denoise / info
output_file否默认 outputs/主题名/{name}-{op}.{ext}

支持格式:wav / mp3 / m4a / aac / flac,视频容器 mp4 / mkv / mov(提取音轨)。

输出

  • 处理后的音频文件(放入 outputs/主题名/)
  • 每次操作打印实际执行的 ffmpeg 命令 + 输出文件的时长/码率/声道/采样率

执行步骤

脚本路径(相对项目根):skills/shared/scripts/audio_ops.py。每个子命令都支持 -h。

0. 环境检查 + 探测

python skills/shared/scripts/audio_ops.py info input.mp3

脚本自身会检查 ffmpeg/ffprobe,缺失时给安装提示。先 info 展示文件时长/码率/声道再动手。

1. 裁剪 trim

# 起止时间
python skills/shared/scripts/audio_ops.py trim in.mp3 -o outputs/主题名/clip.mp3 --start 00:00:05 --end 00:00:20
# 起点 + 时长
python skills/shared/scripts/audio_ops.py trim in.mp3 -o clip.mp3 --start 5 --duration 15

2. 转码 convert

python skills/shared/scripts/audio_ops.py convert in.wav -o out.mp3 --bitrate 192k
python skills/shared/scripts/audio_ops.py convert in.m4a -o out.wav --sample-rate 44100 --channels 2

输出格式由扩展名决定(mp3/wav/m4a/aac)。

3. 音量归一化 normalize

python skills/shared/scripts/audio_ops.py normalize in.mp3 -o out.mp3

默认 loudnorm 到 -14 LUFS / -1.5 dBTP(社媒/播客通用响度)。可用 --i --tp --lra 覆盖。

4. 提取音轨 extract

python skills/shared/scripts/audio_ops.py extract video.mp4 -o audio.m4a
python skills/shared/scripts/audio_ops.py extract video.mp4 -o audio.aac --copy   # 不重编码,最快

5. 拼接 concat

python skills/shared/scripts/audio_ops.py concat a.mp3 b.mp3 c.mp3 -o all.mp3

按参数顺序拼接,重编码方式兼容不同采样率/容器。

6. 淡入淡出 fade

python skills/shared/scripts/audio_ops.py fade in.mp3 -o out.mp3 --fade-in 2 --fade-out 3

--fade-out 自动定位到结尾前 N 秒。

7. 变速 speed(保持音高)

python skills/shared/scripts/audio_ops.py speed in.mp3 -o out.mp3 --factor 1.5   # 1.5 倍速
python skills/shared/scripts/audio_ops.py speed in.mp3 -o out.mp3 --factor 0.8   # 放慢

基于 atempo 保音高,超 0.5-2.0 范围自动级联。

8. 降噪 denoise(兜底,专项请用 audio-denoise)

python skills/shared/scripts/audio_ops.py denoise in.wav -o out.wav --tier 2

与 audio-denoise 的边界

  • audio-denoise:降噪专项 SKILL,负责选级、模型下载、降噪报告等完整流程——需要认真降噪时用它。
  • audio-editing:通用音频处理。denoise 子命令仅作为顺手兜底,两者调用同一个 audio_ops.py denoise,能力一致,定位不同。

规则

  1. 绝不删除原始文件 — 只写新文件到 outputs/主题名/。
  2. 先 info 再处理 — 展示文件信息,避免误操作。
  3. 视频输入只动音频 — denoise 对视频自动 -c:v copy;纯抽音用 extract。
  4. 透明执行 — 脚本会打印实际 ffmpeg 命令。
  5. 无 Profile 也能用 — 音频处理不依赖账号画像。

Profile 感知

有 Profile 时可据平台偏好选默认参数(如短视频响度、目标码率);无 Profile 退到通用默认(-14 LUFS、192k)。

Individual skills in this repo

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

ZJU-REAL/Easel

AI 视频生成:文生视频 / 图生视频 / 数字人首帧驱动。通过可插拔 provider(通义万相 Wan / 火山 Seedance / 快手可灵 / OpenAI 兼容)异步生成视频,用户自备 API key。当用户说 AI 视频生成、文生视频、图生视频、AI 生成视频、AI 短视频、让图片动起来、数字人视频、生成一段视频 时使用。与 video-strategy(选型/策略)、video-editing(剪辑处理)、clipify(切片)区别:本 SKILL 是从 0 用 AI 生成新视频。

ZJU-REAL/Easel

一句话主题 → 成品短视频:自动串联 文案→配图/AI视频→配音→字幕→BGM→合成,把 Easel 制作层零件编排成一条'一键出片'流水线。**单条视频、口播/资讯向,画面默认逐句配图 + Ken Burns 缓动,需要动态时才逐段图生视频**。当用户说 一键生成视频、自动做短视频、主题生成视频、帮我做条视频、口播视频一条龙、自动出片、短视频一键生成 时使用。**有剧情/角色/对白/反转/多集的短剧改用 short-drama(每镜强制图生视频、不用静态图冒充);只写脚本用 video-script;只生成单个片段用 ai-video-gen。**

ZJU-REAL/Easel

自动字幕 / 语音转字幕:把音频或视频里的语音识别成字幕文件(SRT/ASS/TXT/JSON),可选把字幕烧录进视频。当用户说自动字幕、语音转字幕、视频加字幕、上字幕、转录、听写、字幕文件、生成字幕、烧字幕时使用。

ZJU-REAL/Easel

音乐卡点视频 / 踩点视频:检测背景音乐的节拍,让图片或片段在节拍点上切换,配推进/白闪特效,做出燃系'卡点'短视频。当用户说 卡点视频、踩点视频、音乐卡点、节奏卡点、按音乐切换、鼓点视频、踩节奏、beat 卡点、图片卡点、卡点混剪 时使用。基于 shared/scripts/beatsync.py(librosa 节拍检测)。与 slideshow-video 区别:slideshow 每图固定时长、柔和转场,本 SKILL 切换点由音乐节拍决定、硬切踩点带特效。

ZJU-REAL/Easel

Easel clipify: long English talk → punchline cuts → optional 16:9→9:16 face-pan/split → opus word-by-word ASS burn. Ships scripts + assets/preview.png. Part of 1.6k★ Easel suite.

ZJU-REAL/Easel

>- 通用图像处理加工:改尺寸/缩放、裁剪、补边适配平台尺寸、格式转换(png/jpg/webp)、 压缩到目标大小、加文字或图片水印、圆角、多图拼接、生成缩略图、读图片信息。 基于 image_ops.py 确定性处理。 使用时机:用户说"改尺寸"、"缩放图片"、"裁剪"、"压缩图片"、"加水印"、"转格式"、 "圆角"、"拼图/多图联排"、"缩略图"、"适配小红书/朋友圈尺寸"、"把图 pad 成 1:1"。 和 card-*(卡片类)的区别:card-* 是"HTML 设计→渲染出图", image-editing 只加工已有图片,不负责视觉设计。

ZJU-REAL/Easel

多角色对话配音:按 cast 和逐行对白为不同角色分配音色与情绪,合成多声线音轨和带角色名字幕。 当用户说“多角色/双人/剧本/对话配音、多人对白、不同角色不同声音、有声剧配音”时使用。 单一公共音色用 tts-voiceover;克隆本人音色用 voice-clone;整部短剧制作由 short-drama 编排。

ZJU-REAL/Easel

Easel video-highlights: CN/livestream highlight extract + stable static vertical reframe (sibling to clipify).

ZJU-REAL/Easel

>- 视频制作策略与工具选型:AI 视频生成模型对比、视频脚本结构设计、制作流程规划,覆盖产品演示/解说/社媒短视频场景。 当用户说"视频怎么做""视频选型""用什么工具做视频""视频制作流程""视频策略""视频系列规划"时使用。 和 video-script 的区别:video-strategy 做内容规划与工具选型,video-script 写具体某条视频的脚本。

Skills associés