Install
$ agentstack add skill-zju-real-easel-audio-mix ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
音频混合(旁白 + BGM + 音效)
> 把多条音频同时叠加混成一轨,核心能力是闪避(ducking)——旁白说话时自动压低 > 背景音乐,人声清晰、音乐不抢。全部走 skills/shared/scripts/audio_mix.py, > 不要手拼 amix/sidechaincompress。
> 前后顺序拼接(一段接一段)见 audio-editing concat;给视频配乐见 video-editing bgm; > 降噪见 audio-denoise。
输入
| 字段 | 必填 | 说明 | |------|------|------| | 旁白 | 否 | 口播/配音主轨(给了则输出时长跟它走,并触发闪避) | | BGM | 否 | 背景音乐(自动循环补足到旁白长度) | | 音效 | 否 | 一个或多个音效,可指定各自出现时间点 |
(三者至少给一个。最典型:"旁白 + BGM"。)
输出(outputs/主题名/)
- 混音后的单轨音频(mp3/wav/m4a,按输出后缀)
- 报告:轨数、时长、是否闪避
执行步骤
脚本路径(相对项目根):skills/shared/scripts/audio_mix.py(mix -h 看参数)。
# 旁白 + BGM(默认自动闪避,BGM 循环补足到旁白长度)
python skills/shared/scripts/audio_mix.py mix \
--voice narration.mp3 --bgm music.mp3 --bgm-volume 0.25 \
-o outputs/主题名/final.mp3
# 关闭闪避(纯叠加)
python skills/shared/scripts/audio_mix.py mix --voice v.mp3 --bgm m.mp3 --no-duck -o out.mp3
# 旁白 + 定时音效(第 3.5s 一个叮,第 8s 一个 whoosh)
python skills/shared/scripts/audio_mix.py mix --voice v.mp3 \
--sfx ding.wav --sfx-at 3.5 --sfx whoosh.wav --sfx-at 8 -o out.mp3
调参
- 人声被音乐盖住:调低
--bgm-volume(默认 0.25)或确认闪避已开(默认开)。 - 闪避太猛/音乐一顿一顿:
--no-duck后手动压低--bgm-volume。 - BGM 比旁白短:默认自动循环;不想循环用
--bgm-loop-off。 - 音效太响/太轻:
--sfx-volume(默认 0.9)。
规则
- 有旁白时输出时长 = 旁白长度,BGM 自动循环/裁切对齐并在末尾淡出。
- 旁白 + BGM 默认开启闪避(人声优先);不需要时显式
--no-duck。 --sfx与--sfx-at数量一致(或不给 --sfx-at 全部默认 0s)。- 混音不做响度归一(保留相对音量);需统一响度先用 audio-editing
normalize。 - 产物统一进
outputs/主题名/。
参考来源
闪避用 ffmpeg sidechaincompress(以人声为控制信号压缩 BGM),是播客/口播视频保证人声清晰的 标准做法;多轨叠加用 amix。把 sidechain 接线与循环对齐封装成确定性脚本。
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: ZJU-REAL
- Source: ZJU-REAL/Easel
- License: Apache-2.0
- Homepage: https://zju-real.github.io/Easel/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.