TVML - TVprogram Making Language
TVMLとは
利用方法
利用申請
TVMLの言語仕様
最新版TVMLプレイヤーXリリース

TVMLとは

TVML (TV program Making Language)はテレビ番組をまるまる1本記述できるテキストベースの言語です。このTVMLで書いた番組台本を、パソコンソフトのTVMLプレイヤーで即座にテレビ番組として再生することができます。ユーザはワープロなどを使ってTVMLで台本を書くだけで、自分だけのテレビ番組をパソコン上で簡単に制作することができるのです。

TVMLプレイヤーとしてこれまでTVML Player II、TVML Player miniを公開していましたが、今回、機能、品質を大幅に向上したTVML Player Xを公開します。

- TVML Player X

ワンスキンモデルの高品質なCGキャラクタ、日本語、英語だけでなく、その他の言語ににも対応したマルチ言語対応、実写映像の取り込み、合成、BVH形式のモーションデータの再生など、機能、品質を大幅に向上させた最新のTVMLプレイヤーです。

インストールも簡単になりました。ダウンロード後、圧縮ファイルを解凍して適当なフォルダーにコピーするだけです。

- TVML Player II

2004年に公開されたTVMLプレイヤーです。その後も機能追加、操作性の向上を図りました。

- TVML Player Mini

2007年に公開されました。TVMLプレイヤーの簡易版として、TVMLスクリプトを知らないユーザでも簡単に使うことができます。小学生の授業でも使われました。

TVMLプレイヤーの基本は同じです。TVMLプレイヤーにはテレビ番組を作るのに必要な次のような機能があります。

  • スタジオショットはリアルタイムフルCGです。
    CGスタジオセットCG小道具を配置し、CGキャストが登場し、台本どおりに合成音声でしゃべり、動きます。 カメラワークも自在にできます。
  • テキストや画像をスーパーインポーズできます。
  • テキストや画像をタイトルとして表示できます。
  • 動画ファイルの再生ができます。
  • オーディオファイルを再生し、BGM、効果音として使えます。
  • 音声合成によるナレーションが使えます 。

TVMLプレイヤー

TVMLプレイヤーは、TVMLで書いた番組台本を読み込み、リアルタイムでテレビ番組を作り出すパソコンソフトです。TVMLプレイヤーはフリーウェアで配布していますので、ダウンロードしてパソコンにインストールすれば誰でもすぐにTVMLを使って番組作りを始めることができます。
現在、フリーウェアで配布しているTVMLプレイヤーは以下の通りです。Player Xが新たに加わりました。TVMLプレイヤーの利用方法についてはこちらをご覧ください。

  • TVML Player II Version 2.3 for Windows (XP or later)
  • TVML Player II βfor Macintosh (Mac OSX10.3 or later)
  • TVML Player X Version 1.0 for Windows

TVMLプレイヤーの主な機能は以下のとおりです。

TVML台本ファイルを指定すると、これを頭からリアルタイム再生します。
外部制御モードで起動するとTVMLプレイヤーを外部アプリケーションから制御できます。詳しくはこちらをご覧下さい。

 

TVMLによるシーン作り

TVML台本は、番組の台本と同じように、時間の流れに従って、どんなイベントがどのように行われるかを列挙することで番組を記述します。ここではTVMLの概要を分かって頂くため、例をあげながら簡単に紹介しましょう(TVML言語の詳細についてはTVML言語仕様の章をご覧下さい)。

TVML台本は、1行があるひとつのイベントに対応しています。TVMLプレイヤーは1行分のイベントを実行し、そのイベントが終了したら次の行に記述されたイベントを実行する、というように動作します。TVMLのイベントとは次のようなものです。

スタジオショットでCGキャラクタ佐藤に「こんにちは、佐藤です」としゃべらせたかったら、

character: talk( name = 佐藤, text = "こんにちは、佐藤です")

と書きます。この1行で、画面にCGキャラクタ佐藤が登場し、合成音声で「こんにちは、佐藤です」としゃべります。上の例において、character:の部分をイベント名、talkの部分をそのイベントに用意されたコマンド名、カッコ内をそのコマンドに与える各種パラメータといいます。イベントの種類は次の13種類あります。

character CGキャラクタ関係
set CGスタジオセット関係
prop CG小道具関係
camera CGカメラワーク関係
light CG照明関係
movie 動画ファイル再生
super スーパーインポーズ関係
title 静止タイトル関係
sound オーディオファイル再生、オーディオミキサー
narration ナレーション
video ビデオエフェクト
cgenv CG環境の設定(背景・フォグなど)
drawing 2Dドローイング

もういくつか例をあげましょう。

camera: closeup( what=坂田 )
(CGキャスター坂田にクローズアップする)

movie: playfile( filename=test.mov, from=100, to=200 )
(test.movというムービーファイルを100フレーム目から200フレームまで再生する)

super: on( type=text, text="これがスーパーです" )
(「これがスーパーです」という文字をスーパーする)

以上のようにイベントを記述し、これを書き並べていくことで番組を作ることができます。例えば、CGキャスタにクローズアップして、「坂田」という文字をスーパーし、おじぎをさせ、「みなさんこんにちは」としゃべらせるときは、

camera: closeup( what = 坂田 )
super: on( type = text, text= "坂田" )
character: bow( name = 坂田)
character: talk( name = 坂田, text = "みなさんこんにちは")

となります。
次に、ふたつのイベントを同時に行いたいときの方法について説明します。このときは、イベントのコマンド引数にwait = noというパラメータをつけ加えることで行います。wait = noをつけ加えると、そのイベントは起動のトリガーをかけるだけですぐにリターンするようになります(デフォルトではwait=yesになっています)。
例えば佐藤と坂田を同時におじぎさせ、おじぎが終わってからスーパーしたいときは次のように書きます。

character: bow( name=佐藤, wait=no )
character: bow( name=坂田 )
super: on( type=text, text = "佐藤と坂田" )

ちなみに、上記でwait = noをつけ加えないと、佐藤がおじぎして、おじぎし終わったら坂田がおじぎして、坂田がおじぎし終わったらスーパーする、という動作になります。

またタイトルやスーパーにおけるテキストレイアウトには2D画像を扱うdrawingイベントが用意されており、種々のフォントや画像を自由に、ピクセル単位で画面上に配置することができます。

以上がTVMLの概要です。非常にシンプルな言語なので、ちょっと慣れてしまえばコンピュータ言語に特別な知識がなくても番組台本を書くことができます。また、TVMLには多くのサンプル台本が用意されていますので、それを改変することから始められるとよいでしょう。