(57)【特許請求の範囲】
【請求項１】
第１キャラクタが発話すべき第１音声、及び、当該第１音声の文字内容を示す第１文字列を指定する第１指令と、第２キャラクタが発話すべき第２音声、及び、当該第２音声の文字内容を示す第２文字列を指定する第２指令と、が含まれるスクリプトを記憶する記憶部と、
前記スクリプトに含まれる前記第１指令及び前記第２指令を順番に解釈する解釈部と、
前記解釈部によって解釈された前記第１指令若しくは前記第２指令に従って、前記第１音声若しくは前記第２音声を再生する音声再生部と、
前記解釈部によって解釈された前記第１指令若しくは前記第２指令に従って、前記第１文字列若しくは前記第２文字列を、再生される前記第１音声若しくは前記第２音声と同期させて表示する表示制御部と、を備え、
前記解釈部は、解釈を開始した前記第１指令に、前記第１音声の再生を途中で終了させるための打ち切り情報が含まれている場合に、当該打ち切り情報により定まる打ち切りタイミングに合わせて、前記第２指令の解釈を開始する、
ことを特徴とする端末装置。
【請求項２】
ゲームの進行に応じて、前記打ち切り情報を加工することにより、前記打ち切りタイミングを変動させる進行制御部を更に備える、
ことを特徴とする請求項１に記載の端末装置。
【請求項３】
前記第１音声及び前記第２音声の先頭及び末尾には、無音区間がそれぞれ含まれており、
前記解釈部は、前記第１指令に前記打ち切り情報が含まれている場合に、前記第２指令を先読みし、前記第２音声における先頭の前記無音区間以降が前記打ち切りタイミングに再生されるように、前記第２指令の解釈を開始する、
ことを特徴とする請求項１又は２に記載の端末装置。
【請求項４】
前記音声再生部は、前記第１音声と前記第２音声とをミキシング再生する際に、少なくとも前記第２音声に対して増幅率が任意に設定可能であり、
前記解釈部は、前記第２指令を先読みした際に、再生される前記第１音声と並行して、前記増幅率を最低値に設定した状態で前記第２音声の再生を開始させ、先頭の前記無音区間の終わりを検出したところで、前記第２音声の再生を一時停止させ、前記打ち切りタイミングに、前記増幅率を標準値に再設定した状態で前記第２音声の再生を再開させる、
ことを特徴とする請求項３に記載の端末装置。
【請求項５】
前記解釈部は、前記打ち切りタイミングに、前記第２音声における先頭の前記無音区間内まで微小に巻き戻してから、前記増幅率を標準値に再設定した状態で前記第２音声の再生を再開させる、
ことを特徴とする請求項４に記載の端末装置。
【請求項６】
前記打ち切り情報は、前記第１文字列の末尾に付加されている、
ことを特徴とする請求項１乃至５の何れか１項に記載の端末装置。
【請求項７】
前記打ち切り情報には、前記第１音声の再生時間よりも短い短縮値が規定されており、
前記第１音声の再生が開始されてからの経過時間を逐次計時する計時部を更に備え、
前記解釈部は、計時される前記経過時間の値が前記短縮値に達する時点を、前記打ち切りタイミングとして扱う、
ことを特徴とする請求項１乃至５の何れか１項に記載の端末装置。
【請求項８】
前記打ち切り情報には、前記第１音声の再生を終えてからの待機時間がマイナスの値で規定されており、
再生されている前記第１音声の残り再生時間を逐次計時する計時部を更に備え、
前記解釈部は、計時される前記残り再生時間の値が、前記待機時間の絶対値に達する時点を、前記打ち切りタイミングとして扱う、
ことを特徴とする請求項１乃至５の何れか１項に記載の端末装置。
【請求項９】
前記スクリプトには、前記第１指令と前記第２指令との間に、入力操作を待機するための待機指令が含まれており、
前記解釈部は、前記第１指令に前記打ち切り情報が含まれている場合に、前記待機指令を読み飛ばす、
ことを特徴とする請求項１乃至８の何れか１項に記載の端末装置。
【請求項１０】
第１キャラクタが発話すべき第１音声、及び、当該第１音声の文字内容を示す第１文字列を指定する第１指令と、第２キャラクタが発話すべき第２音声、及び、当該第２音声の文字内容を示す第２文字列を指定する第２指令と、が含まれるスクリプトを記憶する端末装置における音声再生方法であって、
前記スクリプトに含まれる前記第１指令及び前記第２指令を順番に解釈する解釈ステップと、
前記解釈ステップにて解釈された前記第１指令若しくは前記第２指令に従って、前記第１音声若しくは前記第２音声を再生する音声再生ステップと、
前記解釈ステップにて解釈された前記第１指令若しくは前記第２指令に従って、前記第１文字列若しくは前記第２文字列を、再生される前記第１音声若しくは前記第２音声と同期させて表示する表示制御ステップと、
解釈ステップは、解釈を開始した前記第１指令に、前記第１音声の再生を途中で終了させるための打ち切り情報が含まれている場合に、当該打ち切り情報により定まる打ち切りタイミングに合わせて、前記第２指令の解釈を開始する、
ことを特徴とする音声再生方法。
【請求項１１】
第１キャラクタが発話すべき第１音声、及び、当該第１音声の文字内容を示す第１文字列を指定する第１指令と、第２キャラクタが発話すべき第２音声、及び、当該第２音声の文字内容を示す第２文字列を指定する第２指令と、が含まれるスクリプトを記憶するコンピュータを、
前記スクリプトに含まれる前記第１指令及び前記第２指令を順番に解釈する解釈部、
前記解釈部によって解釈された前記第１指令若しくは前記第２指令に従って、前記第１音声若しくは前記第２音声を再生する音声再生部、
前記解釈部によって解釈された前記第１指令若しくは前記第２指令に従って、前記第１文字列若しくは前記第２文字列を、再生される前記第１音声若しくは前記第２音声と同期させて表示する表示制御部、として機能させ、
前記解釈部は、解釈を開始した前記第１指令に、前記第１音声の再生を途中で終了させるための打ち切り情報が含まれている場合に、当該打ち切り情報により定まる打ち切りタイミングに合わせて、前記第２指令の解釈を開始する、
ように機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スクリプトを用いて音声再生を行う場合でも、割り込み発話を適切に成立させることのできる端末装置、音声再生方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
従来より、スマートフォン等の端末装置に向けて、種々のゲームが配信されている。例えば、アドベンチャーゲーム、ノベルゲーム、恋愛シミュレーションゲーム等では、ゲームに登場するキャラクタ同士の会話が順次表示されて行き、ストーリーが展開するようになっている。近年では、このようなアドベンチャーゲーム等において、ボイス機能と呼ばれる機能が搭載されており、会話におけるキャラクタのセリフが、音声でも再生されるようになっている。つまり、各キャラクタの発話により、文字通りに会話が進んで行くことになる。
【０００３】
アドベンチャーゲーム等では、このようなキャラクタ同士の会話において、セリフが発話される度に停止して、入力操作（ユーザからのタップ操作等）を待機するのが一般的となっている。つまり、ユーザからの入力操作がないと、次のセリフに切り替わらないようになっている。そのため、つまり、ユーザは、発話されるセリフをゆっくりと把握しながら、自分のペースで、セリフの切り替えを指示できるようになっている。また、セリフの切り替え時に停止することなく、セリフが順次切り替わって行くオートモードも、アドベンチャーゲーム等には搭載されている。このオートモードでは、例えば、選択肢が提示される等の場面では停止するものの、それ以外では、動画のようにキャラクタ同士の会話が進んで行くことになる。
【０００４】
例えば、特許文献１には、恋愛シミュレーションゲームにおけるキャラクタ画像の表示形態を、選択要求に対する指示入力の有無に応じて動的に変化させる発明が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−２９０５５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
最近では、上述した特許文献１の恋愛シミュレーションゲームも含むアドベンチャーゲーム等は、ゲームエンジンと呼ばれるプラットフォームを利用して制作されるのが一般的となっている。このゲームエンジンを利用する場合、スクリプトと呼ばれるファイルに、例えば、指令（タグ等）、画像ファイル名、音声ファイル名、及び、文字列（セリフ等）を記述して行くことで、キャラクタ同士の会話を作り込んでいく。具体的に、キャラクタＡがセリフＸを発話する場面を一例とすると、スクリプトには、発話指令に対応付けて、キャラクタＡの画像ファイル名、セリフＸの音声ファイル名、及び、セリフＸの文字列等が記述される。このように記述されたスクリプトが、ゲームエンジンにて解釈されると、ゲーム画面に、キャラクタＡの画像、及び、セリフＸの文字列が表示されると共に、セリフＸの音声が再生されるようになっている。
【０００７】
ところで、音声ファイル（音声データ）には、仕様上の制約により、先頭及び末尾に無音区間が含まれている。例えば、音声ファイルにおいて、先頭には、約２００ミリ秒（０．２秒）の無音区間が含まれ、また、末尾には、約７００ミリ秒（０．７秒）の無音区間が含まれている。そのため、上述したオートモードでセリフが順次切り替わって行く場合でも、セリフとセリフとの間に明確な無音時間が生じている。つまり、前セリフの終わりで約２００ミリ秒の無音区間が再生され、続けて、後セリフの始めで約７００ミリ秒の無音区間が再生されることにより、セリフ同士の間には、合計で約９００ミリ秒（０．９秒）もの無音時間が存在することになる。このような無音時間の存在は、通常の会話表現にはほとんど影響を及ぼすことがないものの、ある種の会話表現には、致命的な影響を及ぼすことになる。例えば、あるキャラクタがセリフを発話している途中で、他のキャラクタがセリフを発話する割り込み発話は、以下に説明するように、無音時間が存在すると、成立させることができない。
具体的に、キャラクタＡのセリフＸ「今日は、雨が降るみたいですよ。」の途中（一例として、「今日は、雨が」の後）で、キャラクタＢのセリフＹ「あっ、飴も買わなくちゃ！」を割り込み発話させようとしても、上記の無音時間が存在するため、実際には、「今日は、雨が」・・・無音時間・・・「あっ、飴も買わなくちゃ！」というように音声が再生されることになる。そのため、無音時間による間が空いてしまい、割り込み発話として成立させることができないのが現状であった。
なお、あるキャラクタが「ボケ」のセリフを発話している途中（直後でもよい）に、他のキャラクタが「ツッコミ」のセリフを発話するような場合も、割り込み発話に含まれ、同様に、無音時間が存在すると、成立させることができない。
【０００８】
このようなことから、スクリプトを用いて音声再生を行う場合でも、割り込み発話を適切に成立させることのできる技術が求められていた。
【０００９】
本発明は、上記実状に鑑みてなされたもので、スクリプトを用いて音声再生を行う場合でも、割り込み発話を適切に成立させることのできる端末装置、音声再生方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る端末装置は、
第１キャラクタが発話すべき第１音声、及び、当該第１音声の文字内容を示す第１文字列を指定する第１指令と、第２キャラクタが発話すべき第２音声、及び、当該第２音声の文字内容を示す第２文字列を指定する第２指令と、が含まれるスクリプトを記憶する記憶部と、
前記スクリプトに含まれる前記第１指令及び前記第２指令を順番に解釈する解釈部と、
前記解釈部によって解釈された前記第１指令若しくは前記第２指令に従って、前記第１音声若しくは前記第２音声を再生する音声再生部と、
前記解釈部によって解釈された前記第１指令若しくは前記第２指令に従って、前記第１文字列若しくは前記第２文字列を、再生される前記第１音声若しくは前記第２音声と同期させて表示する表示制御部と、を備え、
前記解釈部は、解釈を開始した前記第１指令に、前記第１音声の再生を途中で終了させるための打ち切り情報が含まれている場合に、当該打ち切り情報により定まる打ち切りタイミングに合わせて、前記第２指令の解釈を開始する、
ことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、スクリプトを用いて音声再生を行う場合でも、割り込み発話を適切に成立させることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る端末装置を含むゲームシステムの全体構成の一例を示すブロック図である。
【図２】端末装置が実現される典型的な情報処理装置の概要構成の一例を示すブロック図である。
【図３】端末装置の概要構成の一例を示すブロック図である。
【図４】スクリプトの一例を示す模式図である。
【図５】スクリプトの解釈に伴う音声再生等の様子を説明するための模式図である。
【図６】後の音声ファイルにて先頭の無音区間を再生させない様子を説明するための模式図である。
【図７】（ａ），（ｂ）共に、ゲーム画面の一例を示す模式図である。
【図８】本実施形態に係る音声生成処理を説明するためのフローチャートである。
【図９】（ａ），（ｂ）共に、他のスクリプトの一例を示す模式図である。
【発明を実施するための形態】
【００１３】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、スマートフォン等の端末装置において、アドベンチャーゲームの進行を制御する実施形態を説明するが、この他にも、例えば、ノート型パーソナルコンピュータ、ゲーム機器、ＰＤＡ（Personal Digital Assistant）などの情報処理装置において、アドベンチャーゲームの進行を制御する場合にも、同様に本発明を適用することができる。また、後述するように、本発明は、アドベンチャーゲーム以外にも適用可能である。
すなわち、以下に記載する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素または全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００１４】
（全体構成）
本発明の実施形態に係る端末装置３００を含むゲームシステム１００の全体構成を、図１に示す。図示するように、ゲームシステム１００は、ゲームサーバ２００と、端末装置３００とがインターネット９００を介して通信可能に接続されて構成されている。
なお、図中では簡略化しているが、端末装置３００は、利用するユーザに応じて、多数存在しているものとする。
【００１５】
ゲームサーバ２００は、例えば、サーバ装置（サーバ用コンピュータ）等であり、端末装置３００と通信し、管理に必要な情報を収集する。例えば、ゲームサーバ２００は、端末装置３００のユーザ情報、及び、端末装置３００にて実行されるアドベンチャーゲームに関する情報を収集して管理する。
【００１６】
端末装置３００は、例えば、スマートフォン等であり、アドベンチャーゲームをプレイするユーザに使用される。つまり、端末装置３００には、アドベンチャーゲームのアプリ（アプリケーション）がインストールされている。
【００１７】
（情報処理装置の概要構成）
本発明の実施形態に係る端末装置３００が実現される典型的な情報処理装置４００について説明する。
【００１８】
情報処理装置４００は、図２に示すように、ＣＰＵ（Central Processing Unit）４０１と、ＲＯＭ（Read Only Memory）４０２と、ＲＡＭ（Random Access Memory）４０３と、記憶デバイス４０４と、表示デバイス４０５と、通信デバイス４０６と、操作デバイス４０７と、を備える。
【００１９】
ＣＰＵ  ４０１は、情報処理装置４００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。
【００２０】
ＲＯＭ  ４０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、所定のプログラムをＲＡＭ  ４０３に読み出してＣＰＵ  ４０１による当該プログラムの実行が開始される。
【００２１】
ＲＡＭ  ４０３は、データやプログラムを一時的に記憶するためのもので、記憶デバイス４０４から読み出したプログラムやデータ、その他、通信に必要なデータ等が保持される。
【００２２】
記憶デバイス４０４は、ＳＳＤ（Solid State Drive）やハードディスク等であり、種々のデータを記憶する。例えば、記憶デバイス４０４は、情報処理装置４００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のアプリケーションや付随するデータ等を記憶する。
【００２３】
表示デバイス４０５は、例えば、ＬＣＤ（Liquid Crystal Display）等の表示装置と、その表示装置に表示するための画像情報を記憶するＶＲＡＭ（Video Random Access Memory）と、画像情報を処理するための画像処理部とを含んで構成されている。この画像処理部は、記憶デバイス４０４から読み出されたデータや、ＣＰＵ  ４０１にて処理されたデータを加工処理した後、これをＶＲＡＭに格納するなどして、画像情報を生成する。
【００２４】
通信デバイス４０６は、移動体通信網や無線ＬＡＮ（Local Area Network）等を利用して無線通信を行う。なお、通信デバイス４０６は、有線ＬＡＮ等を利用して有線通信を行ってもよい。
【００２５】
操作デバイス４０７は、タッチスクリーンやタッチパッド、ボタンやキーボード、若しくは、マウス等であり、ユーザの操作を受け付ける。なお、音声によって、ユーザの操作を受け付けてもよい。
【００２６】
以下、上記情報処理装置４００において実現される端末装置３００の構成等について、図３〜図６を参照して説明する。情報処理装置４００に電源が投入されると、端末装置３００として機能させるプログラムが実行され、本実施形態に係る端末装置３００が実現される。
【００２７】
（端末装置の概要構成）
図３は、本発明の実施形態に係る端末装置３００の概要構成を示すブロック図である。図示するように、端末装置３００は、操作受付部３１０と、送受信部３２０と、記憶部３３０と、制御部３４０と、表示部３５０とを備え、アドベンチャーゲームの進行を制御する。
【００２８】
操作受付部３１０は、ユーザからの各種操作を受け付ける。例えば、操作受付部３１０は、タッチスクリーン等から得られる情報に基づいて、ユーザからの操作を受け付ける。
例えば、ゲーム中のキャラクタ同士の会話において、セリフが切り替わる度（より詳細には、次のセリフが発話される前）に停止する通常モードの場合に、操作受付部３１０は、セリフの切り替えを指示するためのタップ操作を受け付ける。
上述した操作デバイス４０７等が、このような操作受付部３１０として機能しうる。
【００２９】
送受信部３２０は、インターネット９００を介して、ゲームサーバ２００との間で、種々の情報を送受信する。
例えば、送受信部３２０は、アドベンチャーゲームの進行に応じて、新たなスクリプトや、そのスクリプトにて指定される音声ファイル、及び、画像ファイル等をゲームサーバ２００から受信する。また、送受信部３２０は、ゲーム中におけるユーザの選択操作等の情報をゲームサーバ２００に送信する。
上述した通信デバイス４０６等が、このような送受信部３２０として機能しうる。
【００３０】
記憶部３３０は、アドベンチャーゲームの進行制御等に必要な種々の情報を記憶する。
例えば、記憶部３３０は、アドベンチャーゲームのアプリを記憶すると共に、そのアプリのデータとして、ゲーム管理情報３３１、及び、スクリプト３３２を記憶する。
【００３１】
ゲーム管理情報３３１は、アドベンチャーゲームにおいて使用される音声ファイル（音声データ）、画像ファイル（画像データ）等を管理すると共に、ゲームにおける進行状況等も管理する。
なお、音声ファイルには、仕様上の制約により、先頭及び末尾に無音区間が含まれている。例えば、音声ファイルにおいて、先頭には、約２００ミリ秒（０．２秒）の無音区間が含まれ、また、末尾には、約７００ミリ秒（０．７秒）の無音区間が含まれている。
更に、ゲーム管理情報３３１にて管理される進行状況には、例えば、ゲームに登場するキャラクタ間の親密度等のパラメータ値が含まれている。
【００３２】
スクリプト３３２は、ゲーム中におけるキャラクタ同士の会話を規定するファイルであり、例えば、指令（タグ等）、画像ファイル名、音声ファイル名、及び、文字列（セリフ等）が記述されている。
【００３３】
具体的に、スクリプト３３２には、図４に示すように、指令ＣＭＤ１，ＣＭＤ２等が記述されている。
これら指令ＣＭＤ１，ＣＭＤ２は、何れも発話指令（voiceタグ）であり、ゲームのキャラクタにセリフを発話させるための指令である。つまり、指令ＣＭＤ１は、キャラクタＡに、「今日は、雨が降るみたいですよ。」というセリフを発話させるために、音声ファイル（キャラＡ_123.wav）を再生させる指令である。また、指令ＣＭＤ２は、キャラクタＢに、「あっ、飴も買わなくちゃ！」というセリフを発話させるために、音声ファイル（キャラＢ_234.wav）を再生させる指令である。
また、指令ＣＭＤ１には、指令ＣＭＤ２に記述されていない「Qtime=1780」という記述が含まれている。この記述における「Qtime」は、音声ファイルの再生を途中で終了させるための打ち切り情報である。また、「1780」という値は、音声ファイルを終わりまで再生した時間よりも短い短縮値である。つまり、「Qtime=1780」の場合では、音声ファイルの再生から１７８０ミリ秒（１．７８秒）が経過した後に、その再生を打ち切ることが規定されている。なお、打ち切り情報による音声再生の打ち切りの詳細は、後述する制御部３４０において説明する。
また、指令ＣＭＤ２の末尾には、指令ＣＭＤ１に記述されていない[w]という記述が含まれている。この[w]は、ユーザの入力操作を待機するための待機指令（waitタグ）であり、セリフが発話された後に停止させる役割を担っている。つまり、ＣＭＤ２の「あっ、飴も買わなくちゃ！」というセリフの発話が終わっても、待機指令が記述されているため、次の指令（セリフ）には進まずに、入力操作を待機することになる。なお、セリフが順次切り替わって行くオートモードの場合では、待機指令が記述されていても、次の指令に進むようになっている。また、指令ＣＭＤ１に待機指令が記述されていても、打ち切り情報が優先され、待機指令は、読み飛ばされるものとする。
これらのような指令ＣＭＤ１，ＣＭＤ２の記述定義（voiceタグ等）は、一例であり、他の記述定義で、発話指令や待機指令を表してもよい。
【００３４】
記憶部３３０は、アドベンチャーゲームのアプリ以外に、他のアプリ等も記憶している。
上述した記憶デバイス４０４等が、このような記憶部３３０として機能しうる。
【００３５】
図３に戻って、制御部３４０は、端末装置３００全体を制御する。
例えば、制御部３４０は、進行制御部３４１、解釈部３４２、音声再生部３４３、表示制御部３４４、及び、計時部３４５を備え、アドベンチャーゲームの進行を制御する。
【００３６】
進行制御部３４１は、ユーザの操作に応じて、ゲームの進行を適宜変化させる。
例えば、進行制御部３４１は、複数項目の選択肢をユーザに提示し、その中からユーザに選択された項目に応じて、解釈部３４２に解釈させるためのスクリプトを変更したり、ゲームにおけるパラメータ値（一例として、キャラクタ間の親密度）を増減させたりする。
【００３７】
解釈部３４２は、進行制御部３４１によるゲームの進行に応じて、スクリプトに記述された指令を順番に解釈する。
例えば、解釈部３４２は、上述した図４に示すスクリプト３３２を解釈する場合に、通常であれば、先に、指令ＣＭＤ１を解釈し、キャラクタＡの音声ファイル（キャラＡ_123.wav）の再生等を終えた後に、指令ＣＭＤ２を解釈する。
なお、解釈部３４２は、解釈を開始した指令に、打ち切り情報が含まれていると、例えば、次の指令を先読みするなどし、打ち切り情報により定まる打ち切りタイミングに合わせて、次の指令の解釈を開始する。
具体的に、指令ＣＭＤ１には、「Qtime=1780」という打ち切り情報が含まれているため、解釈部３４２は、指令ＣＭＤ１を解釈すると、直ちに指令ＣＭＤ２を先読みし、打ち切りタイミング（音声再生から１７８０ミリ秒後）に合わせて、先読みした指令ＣＭＤ２の解釈を開始する。
なお、このようなスクリプトの解釈に伴う音声再生等の様子については、他の構成（音声再生部３４３、表示制御部３４４、及び、計時部３４５）を説明した後に説明する。
【００３８】
音声再生部３４３は、解釈部３４２によって解釈された指令に従って、音声を再生する。
例えば、解釈部３４２によって、指令ＣＭＤ１が解釈されると、音声再生部３４３は、キャラクタＡの音声ファイル（キャラＡ_123.wav）を再生する。また、解釈部３４２によって、指令ＣＭＤ２が解釈されると、音声再生部３４３は、キャラクタＢの音声ファイル（キャラＢ_234.wav）を再生する。なお、上記の解釈部３４２により打ち切りタイミングに合わせて、指令ＣＭＤ２が解釈された場合であれば、音声再生部３４３は、再生中のキャラクタＡの音声ファイルを途中で打ち切り、代わりに、キャラクタＢの音声ファイルを再生することになる。
【００３９】
表示制御部３４４は、解釈部３４２によって解釈された指令に従って、セリフを示す文字列を、音声再生部３４３により再生される音声と同期させ、ゲーム画面に表示する。
例えば、解釈部３４２によって、指令ＣＭＤ１が解釈されると、表示制御部３４４は、キャラクタＡのセリフである文字列（今日は、雨が降るみたいですよ。）を所定の表示速度で徐々に表示させていく。また、解釈部３４２によって、指令ＣＭＤ２が解釈されると、表示制御部３４４は、キャラクタＢのセリフである文字列（あっ、飴も買わなくちゃ！）を所定の表示速度で徐々に表示させていく。なお、上記の音声再生部３４３により、再生中のキャラクタＡの音声ファイルが途中で打ち切られ、キャラクタＢの音声ファイルが再生された場合であれば、表示制御部３４４は、徐々に表示させていたキャラクタＡのセリフ（文字列）を途中で打ち切り、代わりに、キャラクタＢのセリフを徐々に表示させていくことになる。
【００４０】
計時部３４５は、解釈部３４２が解釈した指令に、打ち切り情報が含まれている場合に、その指令の解釈に従って再生される音声について、再生開始からの経過時間を計時する。
例えば、指令ＣＭＤ１のように、「Qtime=1780」という打ち切り情報が含まれている場合に、計時部３４５は、音声再生部３４３により音声ファイル（キャラＡ_123.wav）の再生が開始されてからの経過時間を計時する。
【００４１】
このような構成の制御部３４０におけるスクリプト（図４に示すスクリプト３３２）の解釈に伴う音声再生等の様子について、図５を参照して、より具体的に説明する。
まず、解釈部３４２が指令ＣＭＤ１を解釈すると、時間Ｔ１にて、音声再生部３４３は、キャラクタＡの音声ファイル（キャラＡ_123.wav）の再生を開始する。また、同時間Ｔ１にて、表示制御部３４４は、キャラクタＡのセリフである文字列（今日は、雨が降るみたいですよ。）の表示を開始する。
なお、指令ＣＭＤ１には、「Qtime=1780」という打ち切り情報が含まれているため、計時部３４５は、時間Ｔ１から経過時間の計時を開始する。また、解釈部３４２は、指令ＣＭＤ２を先読みする。
【００４２】
そして、計時部３４５が打ち切りタイミングである１７８０ミリ秒まで計時すると（１７８０ミリ秒の少し前でもよい）、解釈部３４２は、先読みした指令ＣＭＤ２の解釈を開始する。
この指令ＣＭＤ２の解釈に伴って、先の音声ファイル（キャラＡ_123.wav）の再生が途中で打ち切られ、時間Ｔ２にて、音声再生部３４３は、キャラクタＢの音声ファイル（キャラＢ_234.wav）の再生を開始する。つまり、キャラクタＡが「今日は、雨」と発話している途中で、キャラクタＢが「あっ、飴も買わなくちゃ！」と割り込み発話することになる。同様に、キャラクタＡのセリフの表示が途中（今日は、雨）で打ち切られ、同時間Ｔ２にて、表示制御部３４４は、キャラクタＢのセリフである文字列（あっ、飴も買わなくちゃ！）の表示を開始する。
【００４３】
このように、指令ＣＭＤ１に打ち切り情報が含まれている場合に、解釈部３４２が、例えば、指令ＣＭＤ２を先読みするなどし、打ち切りタイミングに合わせて、指令ＣＭＤ２の解釈を開始することで、先の音声ファイル（キャラＡ_123.wav）による音声の再生途中で、後の音声ファイル（キャラＢ_234.wav）による音声を割り込み発話させることが可能となる。
なお、先の音声ファイルの再生を途中で打ち切り、続けて、後の音声ファイルの再生を開始するにあたり、後の音声ファイルにおける先頭の無音区間が再生されることになる。この先頭の無音区間は、約２００ミリ秒と短時間であり、割り込み発話に違和感を与えるほどではない。
【００４４】
それでもなお、後の音声ファイルにおける先頭の無音区間を再生しないようにしてもよい。以下、図６を参照して、具体的に説明する。以下では、音声再生部３４３において、少なくとも２つの音声ファイルをミキシング再生可能であり、また、各音声ファイルを再生する際に、増幅率を設定できる場合を一例として説明する。なお、増幅率は、再生時の増幅率として説明するが、再生により出力される出力音の増幅率であってもよい。
まず、上記の図５と同様に、解釈部３４２が指令ＣＭＤ１を解釈すると、時間Ｔ１にて、音声再生部３４３は、キャラクタＡの音声ファイル（キャラＡ_123.wav）の再生を開始する。そして、計時部３４５は、時間Ｔ１から経過時間の計時を開始する。また、解釈部３４２は、指令ＣＭＤ２を先読みする。
【００４５】
この指令ＣＭＤ２を先読みすると、解釈部３４２は、先の音声ファイル（キャラＡ_123.wav）の打ち切りタイミング前に、後の音声ファイル（キャラＢ_234.wav）における先頭の無音区間Ｍの終わりを音声再生部３４３に検出させる。具体的に解釈部３４２は、後の音声ファイルに対する再生時の増幅率を最低値（一例として、増幅率＝０）に設定した状態で、音声再生部３４３に後の音声ファイルの再生を開始させ、先頭の無音区間Ｍの終わりとなる位置Ｐを検出させる。そして、解釈部３４２は、その状態で、音声再生部３４３に、後の音声ファイルの再生を一時停止させる。なお、音声再生部３４３は、先頭の無音区間Ｍ内まで微小に巻き戻した後に、音声ファイルの再生を一時停止してもよい。
やがて、打ち切りタイミングになると、解釈部３４２は、後の音声ファイルに対する再生時の増幅率を標準値に再設定した状態で、時間Ｔ２にて、音声再生部３４３に後の音声ファイルの再生を再開させる。つまり、音声再生部３４３は、後の音声ファイルを位置Ｐから再生することになる。なお、同時間Ｔ２にて、音声再生部３４３は、先の音声ファイルの再生を打ち切ってもよく、また、先の音声ファイルに対する再生時の増幅率を最低値にして再生を終わりまで続けてもよい。
【００４６】
この場合、無音区間が再生されないため、先の音声ファイルによる音声再生の途中から、一切の間を空けることなく、後の音声ファイルによる音声を割り込み発話させることが可能となる。その際、後の音声ファイルにおける先頭の無音区間の終わりを検出する過程で、不必要な音声の出力を防止することも可能となる。
【００４７】
制御部３４０は、この他にも、アドベンチャーゲームを進行させる制御に必要な各種処理を適宜実行する。
上述したＣＰＵ  ４０１等が、このような制御部３４０として機能しうる。
【００４８】
図３に戻って、表示部３５０は、アドベンチャーゲームにおける各種画面を表示する。
例えば、表示部３５０は、表示制御部３４４によって生成されたゲーム画面等を表示する。具体的に、表示部３５０は、図７（ａ），（ｂ）に示すようなゲーム画面ＧＧを表示する。なお、図７（ａ），（ｂ）のゲーム画面ＧＧは、一例として、セリフ領域ＳＡ１，ＳＡ２だけが異なる画面である。
図７（ａ）のゲーム画面ＧＧにおけるセリフ領域ＳＡ１には、上述した図５における時間Ｔ１から時間Ｔ２の直前までのキャラクタＡのセリフである文字列（今日は、雨が）が表示されている。なお、キャラクタＡのセリフが途中までセリフ領域ＳＡ１に表示されるのと並行して、音声再生部３４３によって再生される音声ファイル（キャラＡ_123.wav）によるキャラクタＡの音声も、同様に途中まで出力されることになる。
図７（ｂ）のゲーム画面ＧＧにおけるセリフ領域ＳＡ２には、図５における時間Ｔ２以降のキャラクタＢのセリフである文字列（あっ、飴も買わなくちゃ！）が表示されている。なお、キャラクタＢのセリフがセリフ領域ＳＡ２に表示されるのと並行して、音声再生部３４３によって再生される音声ファイル（キャラＢ_234.wav）によるキャラクタＢの音声も、出力されることになる。
つまり、図５における時間Ｔ２の直前まで、図７（ａ）のゲーム画面ＧＧが表示され、図５における時間Ｔ２になると、図７（ｂ）のゲーム画面ＧＧに切り替わり、表示部３５０においても、割り込みのセリフが表現されることになる。
上述した表示デバイス４０５等が、このような表示部３５０として機能しうる。
【００４９】
（端末装置の動作）
以下、図３に示すような構成の端末装置３００の動作について図８を参照して説明する。図８は、本実施形態に係る音声再生処理の流れを示すフローチャートである。この音声再生処理は、キャラクタ同士の会話のためのスクリプト３３２が記憶部３３０から読み出されるに伴って開始される。
【００５０】
まず、端末装置３００は、指令を解釈する（ステップＳ１１）。
つまり、制御部３４０（解釈部３４２）は、例えば、図４に示すようなスクリプト３３２に記述された指令を解釈する。
【００５１】
端末装置３００は、音声ファイルが再生中であれば、その再生を打ち切る（ステップＳ１２）。
すなわち、制御部３４０は、新たな指令を解釈する際に、先の指令に基づく音声ファイルが再生途中である場合に、その音声ファイルの再生を打ち切る。
【００５２】
端末装置３００は、解釈した指令において指定された音声ファイルの再生を開始する（ステップＳ１３）。
例えば、スクリプト３３２に記述された指令ＣＭＤ１が解釈された場合、制御部３４０（音声再生部３４３）は、キャラクタＡの音声ファイル（キャラＡ_123.wav）の再生を開始する。
【００５３】
端末装置３００は、解釈した指令に、打ち切り情報があるか否かを判別する（ステップＳ１４）。
例えば、制御部３４０（解釈部３４２）は、スクリプト３３２に記述された指令ＣＭＤ１のように、「Qtime」という打ち切り情報が含まれているかどうかを判別する。
【００５４】
端末装置３００は、打ち切り情報があると判別すると（ステップＳ１４；Ｙｅｓ）、経過時間の計時を開始する（ステップＳ１５）。
つまり、制御部３４０（計時部３４５）は、上記のステップＳ１３にて再生が開始された音声ファイルについて、再生開始からの経過時間を計時する。
【００５５】
端末装置３００は、次の指令を先読みする（ステップＳ１６）。
例えば、スクリプト３３２の指令ＣＭＤ１を解釈している場合に、制御部３４０（解釈部３４２）は、次の指令ＣＭＤ２を先読みする。
この際、制御部３４０は、上述した図６を参照して説明したように、指令ＣＭＤ２に指定されている音声ファイル（キャラＢ_234.wav）における先頭の無音区間Ｍの終わりとなる位置Ｐを検出し、その音声ファイルの再生を一時停止させてもよい。
【００５６】
端末装置３００は、打ち切りタイミングになるまで待機し（ステップＳ１７；Ｎｏ）、打ち切りタイミングになると（ステップＳ１７；Ｙｅｓ）、上述したステップＳ１１に処理を戻す。
例えば、スクリプト３３２の指令ＣＭＤ１を解釈している状態であれば、打ち切りタイミング（音声ファイルの再生から１７８０ミリ秒後）に合わせて、ステップＳ１１に処理を戻すことで、指令ＣＭＤ２を解釈することになる。そして、後続するステップＳ１２にて、先の音声ファイルの再生が途中で打ち切られ、代わりに、上述したステップＳ１３にて、後の音声ファイルの再生が開始されることになる。
【００５７】
また、上述したステップＳ１４にて、打ち切り情報がないと判別された場合（ステップＳ１４；Ｎｏ）に、端末装置３００は、音声ファイルの再生が終了したか否かを判別する（ステップＳ１８）。
つまり、制御部３４０は、ステップＳ１３にて開始した音声ファイルの再生が終了したがどうかを判別する。
【００５８】
端末装置３００は、再生が終了していないと判別すると（ステップＳ１８；Ｎｏ）、そのまま待機する。一方、再生が終了したと判別すると（ステップＳ１８；Ｙｅｓ）、端末装置３００は、オートモードであるか否かを判別する（ステップＳ１９）。
つまり、制御部３４０は、セリフが順次切り替わって行くオートモードであるかどうかを判別する。
【００５９】
端末装置３００は、オートモードであると判別すると（ステップＳ１９；Ｙｅｓ）、後述するステップＳ２１に処理を進める。
【００６０】
一方、オートモードでないと判別した場合（ステップＳ１９；Ｎｏ）に、端末装置３００は、入力操作を待機する（ステップＳ２０）。
つまり、制御部３４０は、音声ファイルの再生を終えた後、ユーザからの入力操作を待機する。
【００６１】
そして、端末装置３００は、次の指令があるか否かを判別する（ステップＳ２１）。
つまり、制御部３４０は、図４のようなスクリプト３３２に、次の指令が記述されているかどうかを判別する。
【００６２】
端末装置３００は、次の指令があると判別すると（ステップＳ２１；Ｙｅｓ）、上述したステップＳ１１に処理を戻す。
一方、次の指令がないと判別した場合（ステップＳ２１；Ｎｏ）に、端末装置３００は、音声再生処理を終える。
【００６３】
このような音声再生処理によって、第１指令に打ち切り情報が含まれている場合に、制御部３４０（解釈部３４２）が、第２指令を先読みし、打ち切りタイミングに合わせて、第２指令の解釈を開始することで、第１指令で指定された音声（第１音声）の途中で第２指令で指定された音声（第２音声）を割り込み発話させることが可能となる。
【００６４】
この結果、スクリプトを用いて音声再生を行う場合でも、割り込み発話を適切に成立させることができる。
【００６５】
（他の実施形態）
上記の実施形態では、スクリプトの指令において、打ち切り情報の値を固定値にて設定しておく場合について説明したが、ゲームの進行に応じて、打ち切り情報の値を加工し、打ち切りタイミングを変動させるようにしてもよい。
例えば、アドベンチャーゲームでは、ゲーム中に提示される選択肢（行動、アイテム等）を、ユーザがどのように選択していくかにより、ストーリーの展開（分岐等）が変化するだけでなく、キャラクタ間の親密度が増減するようになっている。
そして、この親密度が、高い（上位基準値以上）、普通（上位基準値未満で、下位基準値以上）、低い（下位基準値未満）の何れかであるかに応じて、キャラクタ同士の会話における割り込み発話のタイミングを変動させる。
一例として、進行制御部３４１は、スクリプト３３２における各指令（解釈部３４２により解釈される前の指令）から打ち切り情報を検索し、キャラクタ間の親密度（高い、普通、低い）に応じて、打ち切り情報の値を加工する。具体的に、図４に示す指令ＣＭＤ１から「Qtime=1780」という打ち切り情報が検索されると、進行制御部３４１は、指令ＣＭＤ１にて指定されるキャラクタＡと、次の指令ＣＭＤ２にて指定されるキャラクタＢとの親密度に従って、その「1780」という値を加工する。例えば、進行制御部３４１は、キャラクタＡ，Ｂ間の親密度が高い場合に、「Qtime=1780」を維持し、また、親密度が普通の場合に、「Qtime=1958」と加工し（１割増加）、そして、親密度が低い場合に、「Qtime=1602」と加工する（１割減少）。
このように加工された指令ＣＭＤ１と、次の指令ＣＭＤ２とが解釈部３４２によって解釈されることで、キャラクタＡ，Ｂの会話における割り込み発話のタイミングが変動することになる。
すなわち、キャラクタＡ，Ｂ間の親密度が高い場合に、上述したような丁度よいタイミングで割り込み発話がなされる。つまり、キャラクタＡが「今日は、雨」と発話している途中で、キャラクタＢが「あっ、飴も買わなくちゃ！」と割り込み発話することになる。
また、親密度が普通の場合に、少し遅れたタイミングで割り込み発話がなされる。つまり、キャラクタＡが「今日は、雨が降」と発話している途中で、キャラクタＢが「あっ、飴も買わなくちゃ！」と割り込み発話することになる。
そして、親密度が低い場合に、やや早いタイミングで割り込み発話がなされる。つまり、キャラクタＡが「今日は」と発話している途中で、キャラクタＢが「あっ、飴も買わなくちゃ！」と割り込み発話することになる。
この場合、キャラクタ間の親密度を、割り込み発話のタイミングに反映させることができる。
【００６６】
また、このように親密度が普通の場合に値を１割増加させ、また、親密度が低い場合に値を１割減少させるのは、一例であり、他の値に加工してもよい。
例えば、進行制御部３４１は、親密度が低い場合に、値を上限値（音声ファイルの再生時間）まで増加させ、あえて、割り込み発話を成立させないようにしてもよい。つまり、指令ＣＭＤ１から「Qtime=1780」という打ち切り情報が検索され、キャラクタＡ，Ｂ間の親密度が低い場合に、進行制御部３４１は、「Qtime=2910」と加工する（キャラＡ_123.wavの再生時間が２９１０ミリ秒の場合）。
この場合、キャラクタＡが「今日は雨が降るみたいですよ。」と発話が終わり、キャラＡ_123.wavにおける末尾の無音時間も再生された後に、キャラクタＢが「あっ、飴も買わなくちゃ！」と普通に発話することになり、会話のテンポが悪く、キャラクタＡ，Ｂ間が疎遠であると感じられる。
特に、キャラクタＡが「ボケ」のセリフを発話し、キャラクタＢが「ツッコミ」のセリフを発話するような場面では、キャラクタＡ，Ｂ間が疎遠であることが顕著に感じられることになる。
なお、その際に、進行制御部３４１が、新たな指令をスクリプトに挿入し、キャラクタのセリフを追加できるようにしてもよい。
例えば、進行制御部３４１は、キャラクタＢが「ツッコミ」のセリフを発話するための指令の後に、キャラクタＡが固定のセリフ（一例として、「ツッコミが遅いよ！」を発話するための指令を挿入する。
この場合、明らかに間が空いて、キャラクタＢが「ツッコミ」のセリフを発話した後に、キャラクタＡに「ツッコミが遅いよ！」と発話させ、キャラクタＡ，Ｂ間が疎遠であることをユーザへ明確に伝えることができる。
【００６７】
また、上記の実施形態では、図４に示すスクリプト３３２における指令ＣＭＤ１のように、「Qtime=1780」という打ち切り情報を用いる場合について説明したが、他の打ち切り情報であってもよい。
【００６８】
例えば、図９（ａ）に示すスクリプト３３２における指令ＣＭＤ３のように、「Wtime=-1130」という打ち切り情報を用いてもよい。この「Wtime=-1130」の場合では、音声ファイルの再生後のウェイト時間が、マイナス１１３０ミリ秒（マイナス１．１３秒）と規定されている。つまり、音声ファイルの再生終了から、１１３０ミリ秒前に溯った時点で、その再生を打ち切ることが規定されている。
この場合、計時部３４５は、再生されている音声ファイルの残り再生時間を計時する。そして、解釈部３４２は、計時部３４５により計時される残り再生時間の値が、ウェイト時間の絶対値に達する時点を、打ち切りタイミングとして扱う。つまり、解釈部３４２は、図９（ａ）の指令ＣＭＤ３を解釈すると、直ちに指令ＣＭＤ２を先読みし、打ち切りタイミング（再生される音声ファイルの残り再生時間が１１３０ミリ秒となった時点）に合わせて、先読みした指令ＣＭＤ２の解釈を開始する。
この場合も、先の音声ファイル（キャラＡ_123.wav）による音声の再生途中で、後の音声ファイル（キャラＢ_234.wav）による音声を割り込み発話させることが可能となる。
【００６９】
この他にも、例えば、図９（ｂ）に示すスクリプト３３２における指令ＣＭＤ４のように、セリフの末尾に付加した「\q」という特殊文字を打ち切り情報として用いてもよい。この場合、表示制御部３４４が、「今日は、雨が」と表示したタイミングで、音声ファイルの再生を打ち切ることが規定されている。
つまり、解釈部３４２は、図９（ｂ）の指令ＣＭＤ４を解釈すると、直ちに指令ＣＭＤ２を先読みし、打ち切りタイミング（「今日は、雨が」と表示された時点）に合わせて、先読みした指令ＣＭＤ２の解釈を開始する。
この場合も、先の音声ファイル（キャラＡ_123.wav）による音声の再生途中で、後の音声ファイル（キャラＢ_234.wav）による音声を割り込み発話させることが可能となる。
【００７０】
上記の実施形態では、アドベンチャーゲームを進行する端末装置３００を一例として説明したが、アドベンチャーゲーム以外のゲームを進行する場合にも適宜適用可能である。
例えば、ノベルゲームや恋愛シミュレーションゲーム、若しくは、音楽ゲームにおけるストーリーパート等を進行する場合にも、本願発明は適用可能である。
【００７１】
上記の実施形態では、端末装置３００を用いる場合について説明したが、このような端末装置３００の動作を規定する動作プログラムを既存のパーソナルコンピュータや情報端末機器等に適用することで、当該パーソナルコンピュータを端末装置３００として機能させることも可能である。
【００７２】
また、このようなプログラムの配布方法は任意であり、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）、ＤＶＤ（Digital Versatile Disc）、ＭＯ（Magneto Optical Disc）、メモリカード等のコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネットといった通信ネットワークを介して配布してもよい。
【００７３】
（まとめ）
本発明の第１の観点に係る端末装置は、記憶部、解釈部、音声再生部、及び、表示制御部を備えている。
【００７４】
記憶部は、第１キャラクタが発話すべき第１音声、及び、その第１音声の文字内容を示す第１文字列を指定する第１指令と、第２キャラクタが発話すべき第２音声、及び、その第２音声の文字内容を示す第２文字列を指定する第２指令と、が含まれるスクリプトを記憶する。解釈部は、スクリプトに含まれる第１指令及び第２指令を順番に解釈する。音声再生部は、解釈部によって解釈された第１指令若しくは第２指令に従って、第１音声若しくは第２音声を再生する。表示制御部は、解釈部によって解釈された第１指令若しくは第２指令に従って、第１文字列若しくは第２文字列を、再生される第１音声若しくは第２音声と同期させて表示する。そして、解釈部は、解釈を開始した第１指令に、第１音声の再生を途中で終了させるための打ち切り情報が含まれている場合に、その打ち切り情報により定まる打ち切りタイミングに合わせて、第２指令の解釈を開始する。
【００７５】
つまり、第１指令に打ち切り情報が含まれている場合に、解釈部が、例えば、第２指令を先読みするなどし、打ち切りタイミングに合わせて、第２指令の解釈を開始することで、第１音声の途中で第２音声を割り込み発話させることが可能となる。
この結果、スクリプトを用いて音声再生を行う場合でも、割り込み発話を適切に成立させることができる。
【００７６】
また、上記端末装置は、ゲームの進行に応じて、打ち切り情報を加工することにより、打ち切りタイミングを変動させる進行制御部を更に備えてもよい。
例えば、ゲーム中に変化するキャラクタ間の親密度が高い（上位基準値以上）、普通（上位基準値未満で、下位基準値以上）、低い（下位基準値未満）の何れかであるかに応じて、進行制御部が、打ち切り情報における値を加工することにより、打ち切りタイミングを変動させる。
この場合、キャラクタ間の親密度を、割り込み発話のタイミングに反映させることができる。
【００７７】
また、上記端末装置において、第１音声及び第２音声の先頭及び末尾には、無音区間がそれぞれ含まれており、解釈部は、第１指令に打ち切り情報が含まれている場合に、第２指令を先読みし、第２音声における先頭の無音区間以降が打ち切りタイミングに再生されるように、第２指令の解釈を開始してもよい。
この場合、無音区間を再生させないことで、第１音声の途中から間を空けることなく第２音声を割り込み発話させることが可能となる。
【００７８】
また、上記端末装置において、音声再生部は、第２指令を先読みした際に、再生される第１音声と並行して、増幅率を最低値に設定した状態で第２音声の再生を開始させ、先頭の無音区間の終わりを検出したところで、第２音声の再生を一時停止させ、打ち切りタイミングに、増幅率を標準値に設定した状態で第２音声の再生を再開させてもよい。
この場合、第２音声における先頭の無音区間の終わりを検出する過程で、不必要な音声の出力を防止することができる。
【００７９】
また、上記端末装置において、解釈部は、打ち切りタイミングに、第２音声における先頭の無音区間内まで微小に巻き戻してから、増幅率を標準値に設定した状態で第２音声の再生を再開させてもよい。
この場合、第２音声における先頭の無音区間以降の出だし部が削られることなく、明瞭な割り込み発話を実現できる。
【００８０】
また、上記端末装置において、打ち切り情報は、第１文字列の末尾に付加されていてもよい。
この場合、例えば、打ち切り情報に特殊文字を用いることで、セリフとして表示させることなく、打ち切りを指示することができる。
【００８１】
また、上記端末装置は、打ち切り情報には、第１音声の再生時間よりも短い短縮値が規定されており、第１音声の再生が開始されてからの経過時間を逐次計時する計時部を更に備え、解釈部は、計時される経過時間の値が短縮値に達する時点を、打ち切りタイミングとして扱うようにしてもよい。
この場合、ゲームの制作過程において、打ち切りタイミングを容易に調整することできる。
【００８２】
また、上記端末装置は、打ち切り情報には、第１音声の再生を終えてからの待機時間がマイナスの値で規定されており、再生されている第１音声の残り再生時間を逐次計時する計時部を更に備え、解釈部は、計時される残り再生時間の値が、待機時間の絶対値に達する時点を、打ち切りタイミングとして扱うようにしてもよい。
この場合、ゲームの制作過程において、打ち切りタイミングを容易に調整することできる。
【００８３】
また、上記端末装置において、スクリプトには、第１指令と第２指令との間に、入力操作を待機するための待機指令が含まれており、解釈部は、第１指令に打ち切り情報が含まれている場合に、待機指令を読み飛ばすようにしてもよい。
この場合、例えば、オートモードで実行していない場合であっても、第１音声の途中で第２音声を割り込み発話させることが可能となる。
【００８４】
本発明の第２の観点に係る音声再生方法は、端末装置における音声再生方法であって、解釈ステップ、音声再生ステップ、及び、表示制御ステップを備えている。
【００８５】
すなわち、第２の観点に係る音声再生方法は、第１の観点に係る端末装置と同様に、スクリプトを用いて音声再生を行う場合でも、割り込み発話を適切に成立させることができる。
【００８６】
本発明の第３の観点に係るプログラムは、コンピュータを、解釈部、音声再生部、及び、表示制御部として機能させる。
【００８７】
すなわち、第３の観点に係るプログラムは、第１の観点に係る端末装置と同様に、スクリプトを用いて音声再生を行う場合でも、割り込み発話を適切に成立させることができる。
【産業上の利用可能性】
【００８８】
以上説明したように、本発明によれば、スクリプトを用いて音声再生を行う場合でも、割り込み発話を適切に成立させることのできる端末装置、音声再生方法、ならびに、プログラムを提供することができる。
【符号の説明】
【００８９】
１００  ゲームシステム
２００  ゲームサーバ
３００  端末装置
３１０  操作受付部
３２０  送受信部
３３０  記憶部
３３１  ゲーム管理情報
３３２  スクリプト
３４０  制御部
３４１  進行制御部
３４２  解釈部
３４３  音声再生部
３４４  表示制御部
３４５  計時部
３５０  表示部
４００  情報処理装置
４０１  ＣＰＵ
４０２  ＲＯＭ
４０３  ＲＡＭ
４０４  記憶デバイス
４０５  表示デバイス
４０６  通信デバイス
４０７  操作デバイス
９００  インターネット
【要約】
【課題】スクリプトを用いて音声再生を行う場合でも、割り込み発話を適切に成立させることのできる端末装置等を提供する。
【解決手段】記憶部３３０は、第１音声及び第１文字列を指定する第１指令と、第２音声及び第２文字列を指定する第２指令と、が含まれるスクリプトを記憶する。解釈部３４２は、スクリプトに含まれる第１指令及び第２指令を順番に解釈する。音声再生部３４３は、解釈部３４２によって解釈された第１指令等に従って、第１音声等を再生する。表示制御部３４４は、解釈部３４２によって解釈された第１指令等に従って、第１文字列等を、再生される第１音声等と同期させて表示する。そして、解釈部３４２は、解釈を開始した第１指令に、打ち切り情報が含まれている場合に、その打ち切り情報により定まる打ち切りタイミングに合わせて、第２指令の解釈を開始する。
【選択図】図３【図１】
0006587772.tif 000002
【図２】
0006587772.tif 000003
【図３】
0006587772.tif 000004
【図４】
0006587772.tif 000005
【図５】
0006587772.tif 000006
【図６】
0006587772.tif 000007
【図７】
0006587772.tif 000008
【図８】
0006587772.tif 000009
【図９】
0006587772.tif 000010