以前より考案中であった「シナリオ記法」の考察をChatGPTを利用してさらに進めてみた
今流行りのChatGPTを利用して「シナリオ記法」の開発を進めてみた。
以前のバージョンではSASS的な記法を模索していたが、その後JSONとなりJSONCへと変化していた。
今回、ChatGPTとのブレインストーミングを進める中で、YAMLでの記述が適していてそうとの感覚を得た。
とりあえずSPES(スぺス)のYAMLコード
3時間程度ChayGPTとブレインストーミングした結果、以下のYAMLコードが得られた。
これがPremiere ProやFinal Cut Proの xmlにパースできればシナリオ➡絵コンテ➡プリビス(動画編集)の流れがスムーズに完成する。
# キーの凡例:
# - name: シーン名
# - duration: シーンの時間 (秒)。nullの場合は未定義。
# - time_of_day: シーンの時間帯。nullの場合は未定義。
# - se: シーンで使われるサウンドエフェクト。nullの場合は未定義。
# - description: シーンの説明。
# - actor: シーンに登場するキャラクターのリスト。
# - cuts: シーンを構成するカットのリスト。
# - id: カットの一意な識別子として使用されます。同じシーン内の異なるカットを区別するために使用されます。
# - transition: カット間の遷移方法を指定するために使用されます。例えば、次のカットが直接前のカットと重なり合うようになる場合は "オーバーラップ"、フェードイン/フェードアウトのようにシーンの切り替わりをスムーズにするために使用されます。transition が null である場合、前のカットと直接切り替わります。
title: "都会の恋"
# 都会の男女の恋物語
# 登場人物: アリス (女性), ボブ (男性)
scene1:
- name: "初デート"
duration: null
time_of_day: 8:00
se: null
description: "都会のトレンディなカフェ"
actor:
- "アリス (女性)"
- "ボブ (男性)"
cuts:
- id: 1
camera: "アリスがカフェに入ってくる中編"
se: "背景にソフトな音楽"
action: "アリスはカフェを見回してボブを探す"
dialogue: []
transition: "オーバーラップ"
- id: 2
camera: "ボブがテーブルに座って時計を見ているクローズアップ"
se: null
action: "ボブは時計を確認して周りを見まわす"
dialogue: []
transition: null
- id: 3
camera: "アリスがボブを見つけたクローズアップ"
se: null
action: "アリスはにっこり笑ってボブに向かって歩く"
dialogue: []
transition: null
- id: 4
camera: "アリスとボブのツーショット"
se: null
action: []
dialogue:
- "アリス: こんにちは!アリスです。"
- "ボブ: こんにちはアリス!ようやく会えて嬉しいです。"
- "アリス: 私もそう思います!"
transition: null
scene2:
- name: "アイスクリーム冒険"
duration: null
time_of_day: 8:00
se: null
description: "アイスクリームショップ"
actor:
- "アリス"
- "ボブ"
cuts:
- id: 1
camera: "アリスとボブがアイスクリームショップに入ってくる中編"
se: "ハッピーな背景音楽"