注記:Mesは現在も研究開発中で安定版はありません。今後も大きな破壊的変更(仕様変更)が行われる可能性があることに注意してください。
従来の脚本テキストは、Well Known(よく知られた)な記述ルールはあるものの、細かい部分で仕様は統一されていませんでした。
また、人間は文脈から『ト書き』『セリフ』『キャラクター』等の情報を区別することができましたが、機械(ソフトウェア)には解析が難しい状態でした。
Mesはソフトウェアが解析可能な記述ルールを整備し、脚本テキストを構造化されたデータ形式(JSON等)で扱えるようにすることで、『キャラ毎のセリフ文字数の集計』『Excelに貼り付け可能なCSVとして出力』などのソフトウェアの恩恵を最大限に受けられるようにすることが目的です。
現在、Mesプロジェクトでは以下の3つの柱を軸に開発と研究が進められています。
ソフトウェアが解析可能な記述ルールを整備 ⇒ Mes言語仕様
脚本を構造化されたデータ形式で扱えるようにする ⇒ Mesコアライブラリ(パーサー群)
ソフトウェアの恩恵を最大限に受けられるようにする ⇒ 二次ソフトウェア(Officeアドイン、Webエディタ、etc...)
※画面は開発中のOfficeアドインものです
Mesは単なるテキストです。
専用エディタに縛られる必要はありません。
Mesはセリフをデコレーション(装飾)するようにト書きなどの情報を前後の行に付加していくのが特徴です。
このデコレーションする情報のことをデコレーターと呼びます。
このデコレーターはセリフの前後どちらでも付与することが可能です。
もちろん、デコレーターは好きなものだけ記述すればOK。
デコレーターは2023年4月1日時点で6個あります。
【よく使うデコレーター】
@: キャラクター。セリフの発言者を表します。
#: コメント。一般的なト書きを表します。大体これでOKです。
$: サウンドノート。音響に関するコメントです。
!: サウンドポジション。音の位置に関する情報です。
【特殊なデコレーター】
&:タイミング。主にWebVTT形式で記述します。字幕とか字コンテ用。
?:拡張フィールド。特殊な二次ソフトウェア用です。ほぼ非推奨。
一つ以上の空白行で区切られたセリフやデコレーターの塊をMesではピース(欠片)と呼びます。このピースがMesでは脚本上の構成単位の一つとして数えられます。
とにかく必須な記述と情報がほぼない。
簡単かつシンプル。これがMesの特徴です。
デコレーターによる記述は人間の思考順序やタイピング等を研究・考慮して作られています。しかし、Well Known(よく知られた)な脚本記述と比べるとクセのある文章に見えてしまいます。
そこで、MesにはWell Knownな脚本記述の一部をサポートするために糖衣構文とよばれる特別な記述があります。
糖衣構文はMesコアライブラリ(解析器)内でデコレーター記述に変換されてから処理されます。
糖衣構文は単なるテキストの加工処理なので、自作することも簡単です。
(Mesで変換する前に自作の加工を適用すればいいので)
もし、公式の糖衣構文に実装して欲しい記述パターンがあればプロジェクトチームにリクエストを送ってみてください。
Github issue→https://github.com/tokakuya/Mes/issues
シンプルなWebエディターを使って、Mesを体験してみましょう。
WebエディタではJSON形式でデータを出力できたり、様々な機能があります。とりあえず、「セリフ文字数を集計してくれる便利なツール」として使ってみましょう。
サンプルテキストもあるので、ぜひ参考にしてみてください。
Mesにはヘッダーと呼ばれる記述エリアがあります。
ヘッダーはヘッダデリミタの----で区切られた上の部分です。
ヘッダーは省略しても良いので、普段は記述しないほうがスッキリしています。
では、どういう時に使うのでしょうか?
このヘッダーエリアにはヘッダー変数と呼ばれる設定を記述することができます。
例えば、セリフ文字数を集計する際に句読点を除外して欲しいとき、$ignore_char変数に句読点を設定することで、集計関数が内部で差し引いて計算してくれます。
他にも色々と便利なヘッダ変数がありますが、大いなる力には大いなる責任が伴います。
(いわゆるバグの発生に繋がったりします)
ご利用は計画的に!
※ヘッダ変数の詳細については、Mesの言語仕様書を読んで下さい。
Mesにはこれまでの研究開発で形成されてきた哲学があります。
その哲学について少しだけ紹介します。というかさせてください。
■思考を阻害しない脚本の記述フロー
セリフとト書きは脚本において重要な要素です。
基本的にト書きはその成り立ちから、セリフを補足するために後述(後ろに記述)されますが、状況によっては前述したほうが良いケースもあり、近年では前述する形式も増えています。
そもそも論として、脚本家が脳内でストーリーを仕立てる時に、セリフが先に想起されるか状況説明(ト書き)が先に想起されるかは、人によって異なります。
思考順序を阻害しないためにも脚本の記述において、ト書きはセリフの前後どちらでも許容できる必要があります。
Mesでデコレーターがセリフの前後どちらにも記述できるようになっているのは、このような理由があるためです。
■脚本(書きやすさ)と台本(読みやすさ)の分離
Mesで書かれたテキストが読みにくいと感じた人は、Mesが読みやすさの観点において台本に責任を分離していることを理解する必要があります。
そもそも、整形されていない生のテキストに可読性を求めるのは限界があります。
身近な例として『速記』が挙げられますが、書きやすさと読みやすさはトレードオフの関係になりやすいのです。
Mesでは書きやすさと読みやすさをトレードオフしたくありませんでした。どちらも向上できるなら向上できたほうがいいに決まっています。
そこで、読みやすさに関しては二次ソフトウェアが台本形式として提供するように責任範囲を分離しています。
『Mesってこんな事もできて便利だな』と感じたことは大体が哲学による恩恵です。そこには苦労と長い長い思案が詰められています。
Mesプロジェクトでは二次ソフトウェアとして以下を開発中です。
■Mes Word Addin(Office Online)
Office Online向けのWordアドインです。
Wordに記述したMesテキストを台本形式に変換してくれたりします。
導入も簡単なので主力になる予定です。
■PSMes
PowerShellのコマンドレットとしてMesコアライブラリの一部機能を提供するモジュールです。
コアライブラリが持っている型情報をそのまま扱える点で非常に便利です。
PowerShellはJSONの扱いだけでなく、データ処理も簡単かつ便利にこなせるので、パース後のデータを加工するのに非常に強力な選択肢になります。
プログラミングチョットデキル人向けです。
■MesTools
データ加工に特化したWindowsアプリです。Microsoft Store経由で配布されます。
現状はWebエディターやMesWordAddinと大差がありませんが、ゆくゆく限定機能などが拡張されていく予定です。オフラインでも利用できたり、自動アップデート機能があったりと色々便利です。
Mesは基本的に無償です。使用には許諾もいりません。
ただ、Mesを応援してくれる人は作品の概要欄等に、iranika@MesLang又はMesLangをスペシャルサンクスとして記載してもらえると嬉しいです。
Mesでは貰ったスペシャルサンクスの数をプロジェクトのモチベーション目標にしているので、励みになります。
記載して頂けた作品のURLを下記リンクから報告いただければ、このサイトに掲載しようと思いますのでぜひPRにもご活用ください。
報告先リンク:<現在準備中。しばらくお待ち下さい。>
Mesプロジェクトはiranika(@happy_packet)の個人開発プロジェクトです。
iranikaが困窮するとプロジェクトも破綻します。
ゆくゆくは一部の二次ソフトウェアを有償提供する予定ですが、寄付はいつでも受け付けています。
プロジェクトを応援したい人はぜひ!
寄付はKyashにて受け付けています。
Ci-enからご支援いただくことも可能です!
https://ci-en.net/creator/10765
QRをKyashアプリから読み取ってください
スペシャルサンクス!!お世話になった方々です!!ありがとう!!
あなた
支援してくれた人で、ここを広告欄として活用したい人は、いらにかに連絡ください。
(期間を決めて載せようと思います)
■Mes言語仕様書
https://docs.google.com/document/d/12EHzhasXu9RgVpwRYsbSNeKxrcPz_hFJHPN8WPXpfKo/edit?usp=sharing
■Mesコアライブラリ
https://github.com/tokakuya/Mes
【二次ソフトウェア】
■Webエディターアプリ(SMWE)
https://smwe.iranika.info/
■PSMes(PowerShell Module)
https://github.com/tokakuya/PSMes
■WordAddin(OfficeOnline)
Coming soon...
■MesTools(Windowsアプリ)
Coming soon...
■プロジェクト管理(Notion)
https://tokakuya.notion.site/fc3a9620c16c447fb2a0f8e57cd997ae?v=ea406da72c704996ae56ce10cb30ea38
■iranika(いらにか)
Twitter:https://twitter.com/happy_packet
Ci-en:https://ci-en.net/creator/10765
Mail :(整備中です)