コンテンツ制作 · heygen-com/hyperframes

hyperframes-audio

HyperFrames コンポジションに配置済みの音声をミキシングする必要がある場合に使用します:フェードイン/フェードアウト、クロスフェード、トラックのゲインや音量、ボリュームオートメーション、ダッキング、ナレーションと衝突する BGM ベッド(ボイスオーバーカーブ)、トラックへのエフェクト(EQ、コンプレッサー、リミッター、ゲート、サチュレーション、ディレイ、リバーブ、コーラス、フェイザー、ビットクラッシュ)、トラックのボリュームや任意のエフェクトパラメーターに描かれたオートメーションエンベロープ、または複数トラックに対して1つのエフェクトチェーン、フェーダー、オートメーションクロックを共有するサブミックスバス(`<hf-audio-group>`)。音声の調達や生成(BGM、SFXの検索、ナレーションの作成は `/media-use`)には使用しないでください。クリップのタイミング調整やトラック配置(`/hyperframes-core`)には使用しないでください。

L4 高権限 · 段階的認可と監査V1 コミット固定コマンド実行ファイル書き込みDual-pass Audit
Author heygen-comGitHub heygen-com/hyperframes ↗Stars 48297License Apache-2.0(仓库根 LICENSE;GitHub API spdx Apache-2.0)Commit b8328f9573
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

機能はすべて3つの要素属性に集約されます:`data-fx-chain`(エフェクトチェーン)、`data-automation`(エンベロープ)、`data-fx-carve`(ボイスオーバーカーブ設定)——属性を記述すること自体がミキシングであり、プレビューとレンダリングは同一の Web Audio グラフ(Studio リアルタイムコンテキスト、engine オフラインコンテキスト)でこれらの属性を実行します。

skills/hyperframes-audio/SKILL.md
Effects live on the element as `data-fx-chain`, and preview and render run the same Web Audio graph — the studio in a live context, the engine in an offline one inside the browser it already drives. There is one implementation of each effect, so what you hear while scrubbing is what gets written. You never tune twice.
キーとなる利点である「プレビュー通りの結果」は共有ビルダーによって保証されます:audioFxGraph.ts·buildFxChain + audioFxAutomation.ts·scheduleChainAutomation がライブ AudioContext と OfflineAudioContext の両方に同時に供給します(SKILL.md 内の mermaid 図にこのアーキテクチャが示されています)。

エフェクトファミリーは全12種類:gain、EQ(highpass/lowpass/peaking/shelves)、compressor、limiter、gate、saturate、delay、reverb、chorus、phaser、bitcrush。シリアルチェーン規律(補正フィルターを先頭、キャラクター系を中段、リミッターを最後尾に配置)。詳細は references/{attributes,fx-registry,presets,diagnosis}.md を参照。

skills/hyperframes-audio/SKILL.md
The shipped effect families are gain, EQ (highpass, lowpass, peaking, shelves), compressor, limiter, gate, saturate, delay, reverb, chorus, phaser, and bitcrush.
オートメーション規律:Web Audio の AudioParam に裏付けられたノブのみがオートメーション可能です。4つの worklet エフェクト(compressor/limiter/gate/bitcrush)には自動化可能なパラメーターが一切なく、レーンを割り当てても警告なく無視されます(fx-registry.md にパラメーターごとの注記あり)。

診断手法は「計測優先」:単一の未知のボーカルの絶対スペクトルは診断不能(フォルマント ±10dB や基本周波数 85〜255Hz も欠陥のように見えうる)であり、同一ファイル内の参照(生声や無音部のノイズ)と比較する必要があります。これは不可侵のルールとして定義されています。

skills/hyperframes-audio/SKILL.md
> **The absolute spectrum of a single unknown voice cannot be diagnosed.** > Formants are ±10 dB, fundamentals run 85–255 Hz, and sentences decline 5–6 dB > as they end. Every one of those reads as a defect on its own, and every one of > them is the speaker.
SKILL はこの結論が評価によって裏付けられていると主張しています:「このガイダンスの背景にある評価で出た2つの誤答は、まさにそれが原因だった」(公開平均スペクトルや合成参照音との比較による失敗)。掘り下げコマンドや注意点は references/diagnosis.md に記載されています。

ボイスオーバーカーブ(本スキルのコアコンセプト)は「エフェクトではなく関係性」:設定は処理対象の bed 要素に記述し、sources は voice グループを指します。単一の strength(0..1) ノブからすべて(カット深度、バンド数、帯域幅、レベルマッチング、リリース)を導出します。carve.mjs は Studio パネルと同じコア分析関数(classifyAudioName、analyseCarveBands など)を使用します。

skills/hyperframes-audio/SKILL.md
The settings live on the _bed_ — the track that gets processed — and they name the voices to listen to, exactly as a sidechain compressor does: you select the track that gets quieter and pick what makes it quieter. **Never put a carve on a voice track.**
グループセマンティクスは推奨事項ではなく不変の原則(invariant)です:「A carve against more than one clip id is wrong. Group the clips and carve against the group.」——carve.mjs はグループ化されていない指定を検出するとディスク書き出しを拒否し stderr で理由を出力します。lint ルール audio_carve_ungrouped_sources および audio_group_carve_attr がセーフティネットとなります。

ヘッドレス実行エントリポイントが実在:`node <SKILL_DIR>/scripts/carve.mjs --comp index.html` で bed/voice を自動認識し、動的デフォルト強度 0.25 を適用して決定レポートを出力します。PATH 上の ffmpeg とプロジェクト内の @hyperframes/core が必要です(CLI インラインの core は利用不可)。

skills/hyperframes-audio/scripts/carve.mjs
With no --bed/--voice it works out the tracks itself: the bed, and every voice playing over it. `--voice` may be repeated to name them instead.
carve.mjs の実測:execFileSync で ffmpeg(48kHz デコード)を呼び出し、@hyperframes/core の音声分析をインポートして writeFileSync で属性を書き戻します。「パネルと同じ分析関数を使用するため、結果は完全に同一です。」

レンダリングセマンティクスには明確な境界が存在:残響などのテール効果(reverb/delay)はレンダリングトラックをソースより長くします(mixer に余韻を通過させるよう chainTailSeconds が通知)。無効なチェーンの場合はドライ信号を出力するくらいならミックス全体を失敗させます。プレビュー時は逆に、解釈不能なチェーンはドライ音を出力してコンポジションの動作を維持します。

skills/hyperframes-audio/SKILL.md
What enforces those is the render: a chain it cannot parse fails the whole mix rather than quietly writing the dry signal, because a mix that sounds plausible and is wrong is worse than a refusal. Preview is the opposite by design: an unreadable chain plays dry so the composition stays workable.
検証の思想:「Almost no static gate covers the mix… a mix is verified by rendering and listening」——音質検証を静的チェックではなく聴感のフィードバックループに位置づけています。

2コア機能

01配置済みトラックのフェード/クロスフェード/ゲイン/ボリュームエンベロープ(data-automation ブレークポイント {t,v})
0212種類のエフェクトチェーン(data-fx-chain、シリアル順)+ プリセット/名前付きジョブ/ワンクリックプロファイリング(presets.md 症状対照表)
03音声ボイスオーバーカーブ(バンド単位のサイドチェーン、動的エンベロープ、再実行可能な fromCarve マーカー)
04サブミックスバス(<hf-audio-group>):複数トラックで1つのチェーン/1つのフェーダー/1つのコンポジション時間オートメーションクロックを共有
05ヘッドレス自動カーブ(carve.mjs:--comp/--bed/--voice/--strength/--dry-run)
06lint 連携による競合検出(audio_volume_double_automation / audio_volume_tween_overrides_gain / carve 関連ルール)

3外部依存関係

KindDependency / Endpoint
cliffmpeg(carve.mjs 解码分析;需在 PATH)
package@hyperframes/core(音频分析函数 classifyAudioName/carveProfile/analyseCarve*;项目内 npm i -D)
network(间接)npm install @hyperframes/core 首次拉包;渲染/预览在浏览器 Web Audio 执行(无外发)

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
段階的・都度認可、サンドボックス推奨
管理者向け
承認フロー、ロールバック可能、全履歴監査
判定根拠(ファイルパスと抜粋)
  • scripts/: ローカルスクリプトまたはコマンドの実行: node <SKILL_DIR>/scripts/carve.mjs --comp index.html(execFileSync でローカル ffmpeg を呼び出し)
  • 本地工作目录: ファイルの読み書きと成果物の出力: carve.mjs が data-fx-carve、data-fx-chain、data-automation 属性をコンポジションへ書き戻し
監査ノート: 認証情報の読み取りはなく、外部ネットワーク送信もゼロ(URL/認証情報スキャンはいずれもヒットゼロ)。実行されるのはローカルの ffmpeg とプロジェクト内の @hyperframes/core であり、書き込みは作成者のコンポジション HTML とレンダリング成果物のみに限定され、削除や初期化操作はありません。唯一のインストール操作は `npm i -D @hyperframes/core`(公式パッケージ、ガイダンス目的)です。統一格付けに基づき blue を適用します。

5二重目の独立検証

  • [ok] 『零网络』声称 — 对 skills/hyperframes-audio 全部 md/mjs 做 http(s) 扫描零命中;carve.mjs import 面仅 node:fs/path/child_process/url + 项目 @hyperframes/core,无 fetch/网络库。
  • [ok] ffmpeg 依赖与解码率声明 — carve.mjs 头注释 'Needs `ffmpeg` on PATH (to decode the audio)' + SAMPLE_RATE 48000 常量与 Studio decode rate 一致性声明复核一致。
  • [ok] fromCarve 重跑保留手工效果声称 — SKILL.md 原文 'a re-run replaces the previous carve and leaves every effect you built by hand — and every lane you drew by hand — exactly where it was' 复核一致(写链带 fromCarve tag 的机制描述)。
  • [discrepancy] 能力实现位置是否在 skill 目录内 — 首轮易误读为 skill 自带 DSP 实现;复核确认 buildFxChain/scheduleChainAutomation/carveProfile 等实现在 @hyperframes/core 与 engine(audioFxGraph.ts/audioFxAutomation.ts/audioCarve.ts 由 SKILL.md 图引用),skill 目录只含 SKILL.md + 4 references + carve.mjs(6 文件)——实现在下游包,本技能是契约+CLI 壳,已如实表述。
  • [ok] shell 注入面检查(ffmpeg 调用方式) — carve.mjs 使用 node:child_process execFileSync(argv 数组),未见 exec/shell 字符串拼接;ffmpeg 输入为本地文件路径。

6結論

  • 概念の統一(関係性 vs プロセッサ)+ 単一の strength ノブによるカーブ全体の導出により、プロのミキシング判断を指導可能なルールへ凝縮
  • 単一実装・デュアルコンテキストアーキテクチャにより「プレビュー通りのレンダリング」を担保し、再度のパラメーター調整が不要
  • ヘッドレスエントリポイントと Studio パネルが同一の分析関数を共有し、エージェント経路と手動経路でビット単位の一致を実現
  • アンチパターンを lint ルールとして固定化(グループ化されていない carve、グループ上の carve、二重ボリュームオートメーションなど)、誤った構成のディスク書き出しを未然に阻止
  • 静的検証が困難な領域に対する誠実なアプローチ(「a mix is verified by rendering and listening」)、体裁だけの成功よりもレンダリング失敗を優先
  • 最適な用途: HyperFrames コンポジションに配置済みの音声トラックのミキシング/オートメーション/ボイスオーバーカーブ(フェード、クロスフェード、ダッキング、カーブ、エフェクトチェーン、サブミックスバス)、特にナレーション + BGM ベッドのシナリオに最適です。エージェント制作(ヘッドレス carve.mjs)と Studio 手動制作(パネル)の双方に対応します。
    不向きな用途: 素材の調達や生成(BGM、SFX、TTS → /media-use)やクリップのタイミング/トラック配置(→ /hyperframes-core)には適していません。音声を含まない純粋なビジュアルコンポジション(ミキシング対象の配置トラックがない場合)には適していません。
    Install Agent-Ready
    ① Verified Mirror 2026-09-09
    Option A · Direct DownloadDownload hyperframes-audio.tar.gz
    sha256: cf9e74173b75410e…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit b8328f9573.