mcpField
S
screenkite-clean-cut

screenkite-clean-cut

github.com/screenkiteクリエイティブ・メディア3864 回インストール10 週間前に更新
リポジトリ

screenkite-clean-cut について

screenkite-clean-cutは、ScreenKiteの録画から無音区間やためらいの言葉を取り除くワークフロースキルです。マイク音声を文字起こしし、ドライランで編集内容を確認してから、承認後に統合したカットをコマンドラインで適用します。

主な機能

  1. 01マイク音声の文字起こし
  2. 02無音区間とフィラーの検出
  3. 03ドライランでカットを確認
  4. 04統合したカットを一度に適用
  5. 05プロジェクト時間の検証

活用シーン

  1. 01ScreenKite録画の無音区間を短縮
  2. 02「um」などのためらい音を除去
  3. 03タイムライン変更前に編集案を確認

MCP 対応

ScreenKiteのコマンドラインでプロジェクト状態を確認し、`editTimeline`ツールでタイムライン編集を適用します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/screenkite/awesome-ai-video-editing --skill screenkite-clean-cut

インストール後、Claude Code で/screenkite-clean-cutを入力して読み込まれたか確認します。

同梱ファイルscripts/apply_cuts.pyscripts/compute_all_cuts.py

詳細

screenkite-clean-cut

ScreenKite の録画から無音区間とフィラー語(um、uh、ah、er、hmm)を 1 回の処理で削除します。文字起こし 1 回、ドライラン 1 回、カット 1 回です。

前提条件

  • /usr/local/bin/screenkite-alpha(または screenkite)に screenkite CLI があること。
  • バンドルのある場所から上位のいずれかの .env に ELEVEN_LABS_API_KEY(アンダースコア付き)が設定されているか、シェル環境にエクスポートされていること。
  • PATH に ffmpeg があること。
  • python3 と requests があること。インストールの問題を避けるには uv run --with requests を使用してください。

フェーズ 1 — プロジェクトを開く

'/usr/local/bin/screenkite-alpha' agent project open \
  --path '<absolute-path-to.skbundle>' --json

プロジェクトが最新であることを確認します。

'/usr/local/bin/screenkite-alpha' agent project current --json

フェーズ 2 — マイク音声を文字起こしする

マイク音声は <bundle>/media/microphone_*.m4a にあります。

# Source .env first if key is not in the shell
set -a && source /path/to/workspace/.env && set +a

uv run --with requests \
  .agents/skills/screenkite-clean-cut/scripts/transcribe_mic.py \
  '<bundle>/media/microphone_<name>.m4a' \
  --edit-dir '<bundle-parent>/<slug>-edit' \
  --language en \
  --num-speakers 1
# Output: <edit-dir>/transcripts/<stem>.json  (word-level, cached)

文字起こしの JSON がすでに存在する場合、再実行しても何も起こりません。

フェーズ 3 — ドライラン(必須 — 適用前にユーザーに表示)

uv run --with requests \
  .agents/skills/screenkite-clean-cut/scripts/compute_all_cuts.py \
  '<edit-dir>/transcripts/<stem>.json' \
  --min-silence 0.8 \
  --silence-pad 0.15 \
  --filler-pad 0.03 \
  --dry-run

出力には「無音区間」と「フィラー語」の 2 つのセクションがあり、その後に 全体の概要が表示されます。表全体をユーザーに表示してください。ユーザーの確認を得るまで カットを適用しないでください。

調整オプション:

フラグデフォルト備考
--min-silence0.8これより短い無音区間は残します
--silence-pad0.15無音区間の両端に残す長さ
--filler-pad0.03フィラー語の両端に残す長さ
--fillersum,uh,ah,er,hmm,hm上書きするフィラー語のカンマ区切りリスト

フェーズ 4 — カットを適用する

すべての無音区間とフィラー語の範囲は、単一の editTimeline 呼び出しの前に結合され、 並べ替えられます。そのため、既存のタイムライン編集との順序に関する問題はありません。

'/usr/local/bin/screenkite-alpha' agent tool call \
  --name editTimeline \
  --input-json "$(uv run --with requests \
      .agents/skills/screenkite-clean-cut/scripts/compute_all_cuts.py \
      '<edit-dir>/transcripts/<stem>.json' \
      --min-silence 0.8 --silence-pad 0.15 --filler-pad 0.03 \
      --emit-tool-input)" \
  --json

または、カットを先に保存してから個別に適用します。

# Save
uv run --with requests \
  .agents/skills/screenkite-clean-cut/scripts/compute_all_cuts.py \
  '<edit-dir>/transcripts/<stem>.json' \
  --min-silence 0.8 --silence-pad 0.15 --filler-pad 0.03 \
  --output '<edit-dir>/all_cuts.json'

# Apply
python3 .agents/skills/screenkite-clean-cut/scripts/apply_cuts.py \
  '<edit-dir>/all_cuts.json'

フェーズ 5 — 確認する

'/usr/local/bin/screenkite-alpha' agent tool call \
  --name getProjectState --input-json '{"scope":"summary"}' --json

duration が、削除した秒数の合計分ほど短くなっていることを確認します。

元に戻すには、editTimeline action=undo を実行します。カットごとに 1 回呼び出し、最後に行ったカットから順に戻します。

screenkite-transcription-cut との主な違い

screenkite-transcription-cutscreenkite-clean-cut
無音区間を削除✅✅
フィラー語を削除❌✅
スクリプトcompute_silence_cuts.pycompute_all_cuts.py
1 回あたりのカット無音区間のみ無音区間とフィラー語を結合

避けるべきこと

  • ドライランを絶対に省略しないでください。 カットは元に戻しにくい操作であり、取り消しは一度に 1 つずつ行います。
  • --min-silence を 0.3s 未満に設定しないでください。 音声がぎこちなくなります。
  • --filler-pad を 0.02s 未満に設定しないでください。 音声の継ぎ目でクリック音が発生します。
  • プロジェクトを開かずに実行しないでください。 CLI 呼び出しはエラーを表示せずに失敗します。
  • 確認せずに「like」、「right」、「so」などの単語を --fillers に追加しないでください。 文脈によって意味が変わる単語を追加すると、多くの誤検出が発生します。ためらいを表す音に限定してください。

コメント