SpDL(Screenplay Description Language)とAI生成
SpDLは一般的なユーザーが訓練無しに理解できるプレーンなシナリオ記法を目指した言語です。
(厳密には、プログラミング言語ではなくYAMLのサブセットとしてのキーバリュー型データフォーマットです。)
同時にシステムで容易にパースでき、JsonやXMLに変換できる妥当性を確保した言語としても作られています。
また、生成AI(ChatGPT、Claude、LTXstudio、GitHub Copilot、Sora、SUNO、Kling)でも容易に理解でき発展的に編集できる言語を目指しています。
YAMLのサブセットとしての文法ですので、YAMLの表記に準じ、SpDLとしての規則を加えています。
将来的に大幅な拡張などが発生した場合は分離される可能性もありますが、現在その予定はありません。
ScreenPlay Formater for VSCode
『ScreenPlay Formater for VSCode』は、SpDLを編集するソフトウェアでVSCodeの拡張機能として作成しました。
執筆現在のバージョンは、1.0.5で以下の主要な機能を有します。
主な機能:
- SpDL(Screenplay Description Language)対応
- 独自の構造化シナリオ記述フォーマット(YAMLベース)
- コマンド機能(sp.で始まる)
sp:新規ファイル
:シナリオの雛形を作成sp:テンプレート追加
:空のsequence/scene/cutブロックを挿入sp:シーケンス/シーン/カット追加
:各単位で段階的に追加sp:プレビュー(縦書き/横書き/絵コンテ)
:リアルタイムHTMLプレビューsp:総尺カウント
:カット単位のdurationを集計sp:セリフ文字数カウント
:dialogueブロックの文字数を集計sp:HTML書き出し
:各レイアウトのHTML出力(CSS付き)sp:CSVマーカー書き出し
:Premiere Pro用マーカーデータsp:FcpXml書き出し
:Final Cut Pro用FCPXML書き出し
特徴:
- 明確な構造:
sequences > scenes > cuts > dialogue
の階層構造 - YAML記述:人間が読めて、バージョン管理しやすい
- HTML/CSS出力:DTP不要で縦書き・横書きシナリオ生成可能
- 映像制作向け連携:Premiere/FCPXML書き出しにより編集工程と連携
- プレビュー画面:(縦書き/横書き/絵コンテ)リアルタイムHTMLプレビュー同期スクロールと即時更新
※縦書きシナリオは同期スクロールしません
AIによる出力用途の拡張
SpDLを起点にAIが創作・制作を支援し今までにない創作手法を提供可能です。
- シナリオからビジュアル生成(プロンプト生成)
- 各カットのdescriptionを基に、画像生成AI用のプロンプトを自動生成(例:Stable Diffusion)
- 音声合成/ナレーションスクリプト化
- dialogueをもとにTTS用スクリプト生成(キャラ別音声も管理可能)
- プロット→構造化の支援
- 簡単なストーリー概要を入力すると、SpDL形式でシーケンス・シーンを提案してくれるAIアシスタントの構築
- 完全なAIによるシナリオからプリビズ、生成動画による映像制作が可能。
- 人間は、AIの作成したストーリーや演出に改変指示を与えます。
実例
以下の動画は、ChatGPTによる作詞 ➡ SUNO作曲 ➡ ChatGPTによるSpDL形式シナリオ作成 ➡ KlingAIによる動画化 を行った例です。
プロンプトの調整は行っていません。また、KlingAIはプロンプトの最大文字数が1000文字程度と少ないため、現状では長文のシナリオを投げることができません。
冒頭のシーンだけとなります。
動画の内容に不自然さや人物の一貫性の無さは問題となりますが、特筆すべきはシナリオ指示をほぼ正しく再現しようとしているところです。映像の繋ぎにOLをかましてている部分などには目を奪われました。
動画生成AIに関してはSoraよりもKlingAIの方が一枚上手です。
現状はまだまだな感もありますが、今までの進歩の速度を考えるとこれらの問題は急激に改善していくでしょう。
生成AIのAPIを叩いて、VSCode内でダイレクトにシナリオのインライン生成と修正を行いたいところです。
