TVML - TVprogram Making Language
TVMLプレイヤーII
TVMLプレイヤーミニ
TVMLとは何か?
TVMLの言語仕様
TVMLの使用例
TVMLの外部制御モード
キャラクター作成講座
TVML番組制作の解説書
そのほかのトピックス
ダウンロード
TV4U (TV for you)
English
TVMLとは何か?

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

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

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

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

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

TVML台本ファイルを指定すると、これを頭からリアルタイム再生します。
スキンの変更ができます。デフォルトで用意されているスキンは、ノーマル(640×480)、スモール(320×240)、ワイド(960×540)の3種類です。独自のスキンを作成すれば、ハイビジョンも出力できます。
日本語英語混在、日本語のみ、英語のみのいずれにも対応します。
外部制御モードで起動すると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になっています)。
例えばBOBとMARYを同時におじぎさせ、おじぎが終わってからスーパーしたいときは次のように書きます。

character: bow( name=BOB, wait=no )
character: bow( name=MARY )
super: on( type=text, text = "MARY & BOB" )

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

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

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