mcpField
A
academic-presentations

academic-presentations

github.com/boom5426ドキュメント637131 回インストール2 週間前に更新
リポジトリ

academic-presentations について

academic-presentations は、研究者向けに論文とユーザー指定のアウトラインからスライドを作るスキルです。ナレーションやデモ動画も任意で作成でき、構成とビジュアルの判断はユーザーが行い、エージェントが制作工程を実行します。

主な機能

  1. 01指定アウトラインに沿ったスライド原稿の作成
  2. 02nanobanana によるスライドの生成・編集
  3. 03スライドごとのナレーション生成(任意)
  4. 04ffmpeg による動画作成(任意)
  5. 05PPTX スライドの画像変換

活用シーン

  1. 01研究論文を学術発表にまとめる
  2. 02論文の既存図表を使ったスライド制作
  3. 03スライド用ナレーションの生成
  4. 04スライド、音声、デモ録画の動画化

インストール

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

$npx skills add https://github.com/boom5426/nature-paper-skills --skill academic-presentations

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
pptx-conversion.md
slide-generation.md
tts-engines.md
scripts/
batch_tts_edge.py
batch_tts_kokoro.py

詳細

学術プレゼンテーション

研究論文からスライドデッキ(および任意でナレーション付きデモ動画)を作成します。アウトラインとビジュアルに関する判断はすべて人間が行い、エージェントはその作業を実行します。

パイプライン

[1] Script Draft ──→ [2] Slide Generation ──→ [3] TTS Audio (optional) ──→ [4] Video Assembly (optional)
     Claude Code          nanobanana /edit     edge-tts / Kokoro / ElevenLabs       ffmpeg

スライドのみを出力する場合は、ステージ 3~4 をスキップします。ユーザーはどのステージからでも開始できます。

ステージ 1:台本/アウトライン

入力:論文+ユーザーが提示したアウトラインまたはスライドプラン
出力:video-scripts.md または slide-outline.md — スライドごとの内容と話すポイント

エージェントは、ユーザーのアウトラインに基づいて台本を作成します。構成を決めるのはユーザーです。エージェントはスライドの枚数、順序、強調する内容を決定しません。

ステージ 2:スライドの生成

詳細なリファレンス:references/slide-generation.md

ツール:nanobanana(Gemini CLI 拡張機能)

優先順位(編集を優先):

  1. 論文の図がある → nanobanana の /edit でスライドフレームに組み込む
  2. 既存のスライドがある → /edit で調整する
  3. ユーザー提供の参考資料(例:NotebookLM からの資料、またはユーザーが作成した PPTX)→ /edit で仕上げる
  4. タイトルスライドを一から作成 → 学術スタイルのプロンプトで生成する
  5. コンテンツスライドを一から作成 → デッキスタイルの前文を付けて生成する

重要な原則:一から生成するよりも、高品質な既存の論文図に対して /edit を使うことを優先します。

デッキスタイル:デッキごとに deck-style.md を一度作成し、一から生成するすべてのプロンプトの先頭に追加します。/edit では、スタイルはベース画像から引き継がれます。

deck-style.md の例:

- Canvas: 1920x1080, white background
- Accent: #2563EB blue, text: #1e293b dark slate
- Clean sans-serif, flat design, no gradients/shadows
- Bottom bar: blue accent with white affiliation text

ステージ 3:TTS 音声(任意)

詳細なリファレンス:references/tts-engines.md
バッチスクリプト:scripts/batch_tts_edge.py、scripts/batch_tts_kokoro.py

出力:ナレーション付きスライドごとに音声ファイルを 1 つ

エンジンの選択
エンジン品質コストレイテンシ最適な用途
edge-tts(デフォルト)とても良い無料、無制限約 6 秒/スライド(クラウド)素早い生成、男性音声の品質が良い
Kokoroとても良い無料、無制限約 1.5 秒/スライド(ローカル)オフライン利用、高速な一括処理、女性音声の品質が良い
ElevenLabsプレミアム月 10k 文字まで無料約 3 秒/スライド(クラウド)最高品質、音声クローン

デフォルト:ユーザーがオフライン利用またはプレミアム品質を希望しない限り、edge-tts を使用します。

クイックスタート(edge-tts)
import edge_tts, asyncio

async def tts_slide(text, output, voice="en-US-AndrewNeural"):
    await edge_tts.Communicate(text, voice).save(output)

asyncio.run(tts_slide("Your slide text here", "slide_01.mp3"))

音声:AndrewNeural(男性、プレゼンター)、AriaNeural(女性)、GuyNeural(男性、温かみのある声)、JennyNeural(女性、プロ向け)

ステージ 4:動画の組み立て(任意)

ツール:ffmpeg
入力:スライド PNG + 音声ファイル + 任意のデモ録画

# Use symlink to avoid iCloud path spaces: ln -sfn "long path" /tmp/workdir

# Slide with audio:
ffmpeg -y -loop 1 -i slide.png -i audio.mp3 \
  -c:v libx264 -tune stillimage -pix_fmt yuv420p \
  -c:a aac -ar 44100 -ac 2 -shortest seg.mp4

# Silent slide (N seconds):
ffmpeg -y -loop 1 -i slide.png -f lavfi -i anullsrc=r=44100:cl=stereo \
  -c:v libx264 -tune stillimage -pix_fmt yuv420p \
  -c:a aac -ar 44100 -ac 2 -t N seg.mp4

# Concat (always re-encode, never -c copy):
printf "file 'seg1.mp4'\nfile 'seg2.mp4'\n..." > concat.txt
ffmpeg -y -f concat -safe 0 -i concat.txt \
  -c:v libx264 -pix_fmt yuv420p -c:a aac -ar 44100 -ac 2 final.mp4

すべてのセグメントで、サンプルレート 44100Hz、ステレオ、AAC コーデックを共通して使用する必要があります。

PPTX 変換(必要な場合)

詳細なリファレンス:references/pptx-conversion.md

既存の PPTX から始める場合は、まずスライドを PNG 画像に変換します:

soffice --headless --convert-to pdf --outdir output/ presentation.pptx
pdftoppm -png -r 300 output/presentation.pdf output/slide

NotebookLM — 人間が参考にする場合のみ

エージェントは NotebookLM を自動で呼び出したり、その出力をスライドや台本の判断に利用したりしてはいけません。 アウトライン、ビジュアルの配置、デッキの方向性を決めるのは人間です。

推奨する場合:ユーザーがスライドに何を載せるべきか迷っている、またはアイデアが必要だと言った場合に限ります。

注意点

  • iCloud のパスに空白があると ffmpeg が動作しません — /tmp/ にシンボリックリンクを作成してください
  • 音声形式の不一致は連結時のエラーにつながります — 必ず -ar 44100 -ac 2 を指定して再エンコードしてください
  • ElevenLabs の無料枠 — mp3_22050_32 のみ、月 10k 文字
  • edge-tts にはインターネット接続が必要です — オフラインの場合は Kokoro に切り替えます
  • Kokoro の WAV ファイルは約 7 倍のサイズになります — 動画の組み立て前に ffmpeg で MP3 に変換してください
  • Kokoro は初回起動時に約 350MB のモデルをダウンロードします — venv に pip があることを確認してください
  • /edit で図が歪む場合があります — 「元の図を完全にそのまま保ち、フレームの追加のみを行ってください」と、より明確に指示してください
  • スライド間でスタイルがぶれる場合があります — ベーススライドから /edit を使うか、共有の deck-style.md を先頭に追加してください

依存関係

ツールステージインストール
Gemini CLI + nanobanana2gemini extensions install https://github.com/gemini-cli-extensions/nanobanana
LibreOffice + poppler2(PPTX)brew install --cask libreoffice && brew install poppler
edge-tts3pip install edge-tts
Kokoro3(オフライン)pip install kokoro soundfile
ElevenLabs3(プレミアム)pip install elevenlabs + ELEVENLABS_API_KEY
ffmpeg4brew install ffmpeg

コメント