以下、本発明の台詞音声作成装置の実施の形態に係るマルチメディア製作システムについて説明する。以下の説明及び図面において、同一の部品には同一の名称及び参照番号を付してある。それらの機能も同一である。したがってそれらについての詳細な説明は繰返さない。
[第1の実施の形態]
図1に、本発明の第1の実施の形態に係るマルチメディア製作システム50のブロック図を示す。図1を参照して、マルチメディア製作システム50は、特許文献1に記載されたものと同様の複数の3次元スキャナからなる三次元スキャナ群60と、三次元スキャナ群60により撮影された参加者の顔画像の三次元モデルを作成するための画像処理PC62と、映画のシナリオを登場人物(以下「キャラクタ」と呼ぶ。)の顔画像及びその他の画像とともに記憶するための図示しないシナリオ保存サーバと、画像処理PC62により生成された参加者の顔画像を用い、シナリオ保存サーバに保存されているキャラクタの顔画像を置換して、参加者の顔を持つ人物が登場する映像を生成し映像データ66として出力するための映像生成装置64と、この映像データ66を保存するための映像データ記憶装置とを含む。
マルチメディア製作システム50はさらに、最終的な映像データ66を作成するための映像素材を記憶するための映像素材DB(データベース)70と、この映画のキャラクタの中で、参加者による吹替えの対象となるキャラクタの台詞に関する台詞情報を記憶するための台詞情報記憶部72と、映画の中のキャラクタの台詞を標準的な音声で発話した標準音声を記憶するための標準音声記憶部74と、映画の中の各台詞がどのようなシーンで発話されているか、それにより台詞の音声にどのような音響効果を加えるべきかを示すカット情報を記憶するためのカット情報記憶部76とを含む。
マルチメディア製作システム50はさらに、映像素材DB70に記憶された映像、台詞情報記憶部72に記憶された台詞情報、標準音声記憶部74に記憶された標準音声による台詞の発話データ、及びカット情報記憶部76に記憶されたカット情報を用い、参加者(ユーザ)の音声を収録してその音声に基づき、映画の特定のキャラクタの台詞の音声をユーザの音声に入替える処理(いわゆる「吹替え」と同様の処理)を実行し、ユーザの音声により台詞を発話した音声からなる台詞音声データ86と、台詞音声データ86の中の台詞の発話開始時間、発話時間、対応する音声ファイル名等をテーブルとして記憶するための台詞音声テーブル88とを出力するための台詞音声データ作成部90とを含む。
台詞音声データ作成部90は、三次元スキャナ群60と同様、複数のユーザの音声を処理することが可能なように構成されている。各ユーザは後述するように識別子(ID)によって区別され、三次元スキャナ群60、画像処理PC62、及び映像生成装置64からなる映像処理系と、台詞音声データ作成部90とで同じユーザについては同じIDを割当てて管理する。こうすることにより、映画の複数のキャラクタの顔と音声とを同時に特定のユーザの顔と音声とにより入替えることが可能になる。
マルチメディア製作システム50はさらに、台詞音声データ作成部90がユーザの音声からキャラクタの台詞音声を作成する際に、どのような手法を用いるかを示す情報を台詞ごとに記憶した手法リストテーブル78と、ユーザによる発話の収録ができなかった台詞について、台詞音声データ作成部90がユーザの発話に代えて台詞音声データの作成に使用する、予めこの映画の各台詞を種々の声優の音声により発話した音声データを記憶した声優音声DB80と、台詞音声データ作成部90がユーザの発話に代えて音声合成によりユーザの声に似た性質の台詞音声データを生成する際に使用する音声素片を、それらの特徴量データとともに記憶した素片DB82とを含む。
マルチメディア製作システム50はさらに、映像生成装置64から出力された映像データ66と、台詞音声データ作成部90から出力された台詞音声データ86とを台詞音声テーブル88を使用して互いに同期させて再生することにより、キャラクタの一部の顔画像及び音声がユーザの顔画像及び音声に入替えられたマルチキャラクタ製作物を上演するための映像・音声再生装置92を含む。
前述したとおり、台詞音声データ作成部90は、複数のユーザの音声を収録し、それらに基づき、別々のキャラクタの台詞音声を生成する機能を持つ。そのために台詞音声データ作成部90は、各々が処理対象のユーザに関する識別情報、性別、氏名、年齢、吹替え対象となるキャラクタを特定する情報等を含むユーザ情報の入力を受けるための複数のユーザ情報入力部100,100A,…,100Nと、これらユーザ情報入力部100,100A,…,100Nが受けたユーザ情報に基づいて、各々が対応するユーザの音声を収録し、収録した音声に基づいて種々の手法によりユーザの音声の声質で対応するキャラクタの台詞音声を生成し出力するための複数のキャラクタ音声作成部102,102A,…,102Nと、複数のキャラクタ音声作成部102,102A,…,102Nの出力する、ユーザ音声の声質に置換えられた種々のキャラクタの台詞音声を、台詞情報記憶部72に記載された台詞情報に基づいて1つのマルチメディア製作物の音声を構成するように台詞の番号順にしたがって統合し、台詞音声データ86及び台詞音声テーブル88として出力するための音声統合部104とを含む。
なお、ユーザ情報入力部100,100A,…,100Nにより入力されたユーザ情報は、画像処理PC62にも与えられ、ユーザの顔画像の管理にも用いられる。
複数のキャラクタ音声作成部102,102A,…,102Nの構成はいずれも同じである。したがって以下では、キャラクタ音声作成部102の構成を代表として説明する。
図2は、キャラクタ音声作成部102の機能的ブロック図である。図2を参照して、キャラクタ音声作成部102は、ユーザ情報を受けて、映像素材DB70に格納されている映像素材、台詞情報記憶部72に記憶されている台詞情報、及び標準音声記憶部74に記憶されている標準音声による台詞音声を利用して、ユーザによる吹替え対象となるキャラクタの台詞音声をユーザに発話させ、その発話音声をユーザ音声DB120に収録するための音声収録部114と、音声収録部114における発話の収録を制御するためにアテンダントが音声収録部114を操作するため、及びユーザによる発話の補助を行なうために使用する入出力装置112とを含む。
ところで、一般的に、1つの映画を構成する台詞は多数あり、あるキャラクタの台詞のみに限ってもユーザによるその台詞の発話音声の収録にはかなりの時間を要することが予測される。映画の音声の発話となると、キャラクタの動きにあわせて発話を行なう必要があり、この収録にはさらに時間がかかる可能性が高い。特に、アトラクション等では、時間的制限もあって、全ての発話音声の収録を行なうことが難しい場合が多い。また、収録できたとしても発話時間が短すぎたり長すぎたりすることも多く、そのまま収録音声を用いることができない場合が多い。そこで本実施の形態に係るキャラクタ音声作成部102では、あるキャラクタの台詞のうち、ユーザによる発話を収録できた分、及びできなかった分の双方に対して、それぞれ所定の音声生成手法を用いて、台詞音声をできるだけユーザの声質に近い声質で生成することを目標としている。手法リストテーブル78には、台詞ごとにどのような手法をどのような優先順位で使用するかを示す台詞ごとの手法リストが記憶されており、キャラクタ音声作成部102は音声生成にこの手法リストテーブル78を使用する。
キャラクタ音声作成部102はさらに、音声収録部114によってユーザ音声DB120に記憶されたユーザ音声に対し、手法リストテーブル78を参照して、ユーザの吹替え対象のキャラクタの台詞ごとに条件に合致した手法を決定するための合成手法決定部116と、合成手法決定部116によって決定された手法を用いてキャラクタの台詞音声をユーザの声質にあわせて作成し、台詞ごとに音声ファイル110として出力するための音声作成部118とを含む。音声作成部118はこの合成の際に、手法によって声優音声DB80、ユーザ音声DB120、素片DB82、標準音声記憶部74等に記憶された音声を適宜利用する。また音声作成部118は、生成された台詞の発話音声に対し、カット情報記憶部76に記憶されたカット情報に基づいて決定される音響効果を加えて最終的な音声ファイル110を出力する。
キャラクタ音声作成部102はさらに、ユーザ音声DB120に格納されたユーザの音声を声優音声DB80に新たな声優音声として登録する処理を行なう音声DB更新部122と、ユーザ音声DB120に記憶されたユーザ音声を音素片(素片)に分解し、それらの所定の音響特徴量データ、音素ラベル、及びユーザIDとともに素片DB82に追加するための素片DB更新部124とを含む。素片DB更新部124による音声の素片への分解においては、音声認識技術を利用し、台詞情報記憶部72に記憶された台詞情報にあわせてユーザ音声DB120に記憶されたユーザの音声を細分化するセグメンテーションを行なう。
図3は、台詞情報記憶部72に記憶される台詞情報テーブルの構成を示す。図3を参照して、台詞情報記憶部72は、作成対象となる映画の台詞の全てを通し番号(No)で管理するためのものである。各台詞情報は、その台詞の通し番号(以下「台詞番号」と呼ぶ。)と、その台詞を発話する映画のキャラクタを識別するキャラクタIDと、台詞の内容であるテキストデータと、その台詞を標準音声で発話したものを記録した、標準音声記憶部74内の音声ファイルのファイル名と、映画の進行経過の中でその台詞の発話が開始される時点を示す開始時刻と、その発話の継続時間を示す発話時間とを含む。台詞情報記憶部72の台詞情報テーブルがこのような構成を有しているため、同じキャラクタIDの台詞を抽出することにより、あるキャラクタの台詞を全てリスト化することができる。また、ある台詞について、ユーザによる音声が利用できないときに、対応する標準音声を音声ファイル名により示される音声ファイルから得ることができる。
図4に、本実施の形態に係るマルチメディア製作システム50における、ユーザによる録音状況としてあり得るいくつかの場合を示す。なお、たとえば図4(A)を参照して、あるユーザについて録音すべき発話全体が発話集合140を形成するものとする。この発話集合140は、音声合成、声質変換等のために必要で、必ず収録すべき発話からなる必須発話部分142と、対応するキャラクタの台詞全体からなる台詞部分144とからなる。ユーザの収録にかかる時間、ユーザの発話の巧拙等により、必須発話部分142はともかく、台詞部分144については、全て収録できる場合、一部のみしか収録できないとき、全く収録できないとき、の3通りがあり得る。図4には、それらの場合を分けて、収録できた部分に斜線を付し、収録できなかった部分は白抜きのままで例示してある。
たとえば図4(A)には、発話集合140の全てを収録できた場合を示す。図4(B)には、必須発話部分142と、一部の台詞部分146のみが収録でき、残りの部分148が収録できなかった場合を示す。図4(C)には、必須発話部分142の部分のみが収録でき、他の台詞部分150が全く収録できなかった場合を示す。
図4(A)に示す場合には、基本的にはユーザの音声のみを用いて台詞音声を作成することができる。ただしこの場合にも、ユーザの巧拙によって話速を変換したり、発話レベルを調整したりする加工が必要なときがある。それらは台詞ごとに異なる。
図4(B)に示す場合には、収録できた台詞部分146については、図4(A)に示す場合と同様に処理できるが、収録できなかった台詞部分148については何らかの手法を用いてユーザの音声以外からユーザの音声に似た台詞音声を生成する必要がある。
図4(C)に示す場合には、台詞部分150の全てについて台詞音声を生成する必要がある。その場合、たとえば必須発話部分142からユーザの声質を表す特徴量を抽出し、声優音声DBから類似の声質の声優の台詞音声を抽出したり、標準音声の声質をユーザの声質に近くなるように変換したりする処理(声質変換)を行なったりする必要がある。
図2に示す手法リストテーブル78には、台詞ごとに、どのような優先順位でそうした手法を使用するかが示されている。本実施の形態では、9種類の手法を用いて台詞音声を生成する。それら手法の詳細については後述する。
図5及び図6は、図2に示す音声収録部114で行なわれる音声収録処理を、コンピュータハードウェア上で実現するコンピュータプログラムのフローチャートである。既に述べたように、映画のキャラクタの台詞の吹替えを行なうことは難しい。たとえばある台詞について、決められた時間で明瞭に発話する必要がある。通常、発話時間が長すぎても短すぎても吹替えとして不適当になる場合がある。ましてや、声優ではないユーザに台詞の吹替えを間違いなく行なわせるのは困難である。そこで、本実施の形態では、様々な方策を講じてできるだけ正確に所望の台詞音声を収録することができるようにしている。たとえば、図7に示されるように、台詞音声収録時にユーザに提示される入出力装置112の画面に、台詞の発話時の映像246と、発話すべき台詞のテキスト240とを表示し、発話の進行にあわせて伸びるプログレスバー242を表示したり、台詞のテキスト240のうち、発話が終了しているべき部分244の色を、これから発話すべき部分の色と違う色で表示したりする、という方法を採用する。
図5を参照して、このプログラムは、ユーザ情報をユーザ情報入力部100から受信し所定の記憶領域に保存するステップ170と、ステップ170に続き、受信したユーザ情報にしたがって、処理対象のユーザに対し、指定されたキャラクタを割当てるステップ172と、ステップ172に続き、共通の練習用台詞及び対応する標準音声、ステップ172で割当てられたキャラクタの台詞及び対応する標準音声を図2に示す台詞情報記憶部72及び標準音声記憶部74から抽出するステップ174と、ステップ174に続き、ユーザ音声テーブルと呼ばれる、ユーザの台詞音声を管理するためのテーブルを生成し、全ての台詞について未収録状態に初期化するステップ176とを含む。
ユーザ音声テーブルは、図2に示すユーザ音声DB120の一部を構成する。図8を参照して、ユーザ音声DB120は、ユーザの発話を台詞ごとに収録した音声ファイルを記憶するユーザ音声記憶部262と、ユーザ音声記憶部262に記憶された音声ファイルの管理を行なうためのユーザ音声テーブル260とを含む。
ユーザ音声テーブル260は、ユーザが吹替えを行なうキャラクタの台詞と、対応するユーザ音声とを管理するためのものであって、先頭にはユーザIDが付され、さらに、このキャラクタの台詞の各々について、抽出された台詞の台詞番号と、ユーザによるその台詞の発話の収録が完了したか否かを示す録音フラグと、収録した発話音声データを格納した音声ファイルの名称と、その発話時間とを記憶するためのものである。録音フラグは、1のときに発話音声が収録済であることを示し、0のときには未収録であることを示す。なお、実際には発話開始時間、発話時間等は1秒よりも細かい単位で管理する必要があるが、以下の説明及び図面では、理解を容易にするため、これら時間は秒単位で管理するものとする。
再び図5を参照して、ステップ176では、上記したユーザ音声テーブル260が新たに作成され、台詞番号には抽出された台詞に付されている通し番号が、録音フラグには全て0が、音声ファイル名には全て空白が、発話時間には全て0が、それぞれ代入される。
このプログラムはさらに、ステップ176に続き、収録に要した時間を測定するためのタイマを起動するステップ178と、ユーザ音声テーブル260内の先頭の台詞を選択するステップ180と、直前のステップで選択された台詞のテキストをユーザの前に置かれたモニタに表示するステップ182と、この台詞に対応する標準音声を標準音声記憶部74から取出し、再生するステップ184とを含む。ステップ182及び184においても、図7に示したような表示が行なわれる。
このプログラムはさらに、ステップ184に続いて、ユーザの発話練習の時間として設けられたステップ186と、ステップ182に戻って再度練習を行なうか、次のステップに進んでもよいかをアテンダントが判定して入力する判定結果にしたがい、制御の流れを分岐させるステップ188とを含む。ステップ188での判定結果が再度練習を行なうべきことを示すときには、制御はステップ182に戻る。
このプログラムはさらに、ステップ188で練習を終了しても良いことを示す入力がされたことに応答して実行され、選択中の台詞を再度表示するステップ190と、選択中の台詞の通常の発話速度にしたがって変化するプログレスバーの表示を開始するステップ192とを含む。
続いて図6を参照して、このプログラムは、ステップ192の次に配置され、ユーザの発話する台詞音声を録音するステップ194と、ステップ194で録音された台詞音声を再生するステップ196と、ステップ196で再生された台詞音声の発話時間、発話の明瞭さ及び自然さ等に基づいて、この台詞の収録を完了するか否かについてアテンダントが判定して入力した結果にしたがい、制御の流れを分岐させるステップ198と、ステップ198においてこの台詞の収録を完了することを示す入力が行なわれたことに応答して実行され、ステップ194で録音された音声を音声ファイルとしてユーザ音声記憶部262内に保存し、ユーザ音声テーブル260内の当該台詞の音声ファイル名欄にその音声ファイル名を、発話時間欄に録音音声の持続時間を、それぞれ代入するステップ200と、収録フラグに「1」を代入するステップ201とを含む。
このプログラムはさらに、ステップ200の後、対象のキャラクタの次の台詞の選択を試みるステップ202と、ステップ202で選択を試みた次の台詞が存在しているか否か、すなわち対象のキャラクタの台詞を全て処理したか否かを判定し、その判定結果にしたがって制御の流れを分岐させるステップ204と、ステップ204においてまだ台詞が残っていると判定されたことに応答して、タイマを参照し、録音開始から所定時間が経過したか否かを判定し、判定結果にしたがって制御の流れを分岐させるステップ212とを含む。ステップ212においてまだ所定時間が経過していないと判定された場合には、制御は図5のステップ182に戻る。
このプログラムはさらに、ステップ204で対象のキャラクタの全台詞について収録が完了したと判定された場合、及びステップ212において所定時間が経過したと判定されたことに応答して実行され、録音した全音声を、対応する台詞のテキストに基づいてセグメンテーションし、音声素片に分解するステップ206と、ステップ206で生成された素片の各々について、F0,スペクトル分布等、所定の音響特徴量を算出するステップ208と、ステップ206で作成された素片を、ステップ208で算出された音響特徴量、対応する音素のラベル、及び話者のIDとともに素片DB82に追加して処理を終了するステップ210とを含む。
このプログラムはさらに、ステップ198において、録音をやり直すことを示す入力がアテンダントにより行なわれたことに応答して実行され、ステップ194で録音された音声データを破棄するステップ214と、ステップ214の後に配置され、タイマの時間を参照して所定時間が経過したか否かを判定し、判定結果にしたがって制御の流れを分岐させるステップ216と、ステップ216においてまだ所定時間が経過していないと判定されたときに実行され、どこから処理を再開するかを決めるアテンダントの入力にしたがって、台詞音声の収録から再開するときにはステップ190に、発話の練習から再開するときにはステップ182に、それぞれ制御の流れを分岐させるステップ220と、ステップ216で既に所定時間が経過していると判定されたことに応答して実行され、現在収録中の台詞が必須部分であればステップ220に、それ以外であればステップ206に、それぞれ制御を分岐させるステップ218とを含む。
図9は、図2に示す音声作成部118のより詳細なブロック図を示す。図9を参照して、音声作成部118は、それぞれ第1〜第9の手法によって台詞音声を生成するための第1〜第9の音声生成部300,302,304,306,308,310,312,314,及び316と、合成手法決定部116によって決定された手法にしたがって、第1〜第9の音声生成部300,302,304,306,308,310,312,314,及び316のいずれかを選択的に能動化し、ユーザ音声を与えて指定した手法で音声を生成させる分岐部280と、合成手法決定部116によって決定された手法にしたがい、分岐部280によって選択された音声生成部の出力である台詞音声データを選択して共通の出力に出力する合流部292と、合流部292により出力される台詞音声データに対し、カット情報記憶部76に記憶されたカット情報にしたがって指定される音響効果を付加して出力する音声信号処理部320とを含む。
第1の音声生成部300は、ある台詞についてユーザの台詞音声を収録することができたときの手法である。この場合には、原則として収録した音声をそのまま使用する。
第2の音声生成部302も、ある台詞についてユーザの台詞音声を収録することができたときの手法である。ただし、この手法では、収録した台詞音声の発話速度を調整して台詞音声を生成する。
第3の音声生成部304は、台詞のうち、一部についてユーザの台詞音声を収録することができなかったときにも有効な手法である。この手法では、収録することができた台詞についてはユーザの台詞音声の話速変換をして台詞音声を生成する。収録することができなかった台詞については、ユーザの音声を使用せず、標準音声記憶部74に記憶された標準音声のうち、ユーザ情報に合致した台詞音声(性、年齢等)を用いる。
第4の音声生成部306も、台詞のうち、一部についてユーザの台詞音声を収録することができなかったときにも有効な手法である。この手法では、収録することができた台詞についてはユーザの台詞音声の話速変換をして台詞音声を生成する。収録することができなかった台詞については、声優音声DB80に記憶されている声優による台詞音声のうち、ユーザの音声にもっとも近い声質を持つ声優の台詞音声が採用される。このときの声優音声の決定には、練習用台詞か得られたユーザ音声の所定の特徴量(基本周波数、スペクトル分布等)を用いた声質間の距離比較が用いられる。
第5の音声生成部308も、台詞のうち、一部についてユーザの台詞音声を収録することができなかったときにも有効な手法である。この手法では、収録することができた台詞についてはユーザの台詞音声の話速変換をして台詞音声を生成する。収録することができなかった台詞については、声優音声DB80に記憶されている声優による台詞音声のうち、ユーザ音声と声質がもっとも類似のものを特定し、その台詞音声にさらにユーザの性質を反映させた声質変換を行なって台詞音声とする。
第6の音声生成部310も、台詞のうち、一部についてユーザの台詞音声を収録することができなかったときにも有効な手法である。この手法では、収録することができた台詞についてはユーザの台詞音声の話速変換をして台詞音声を生成する。収録することができなかった台詞については、収録できたユーザ音声から生成した音声素片のうち、母音の音声素片と、素片DB82に記憶されている全子音の音声素片のうち、ユーザの音声に類似した特徴量を持つ音声素片とを用いて音声合成をする。発話の個人的特徴は主として母音に現れるので、このような音声合成をすることによって、かなりユーザの音声に似た声質の合成音声を生成することができる。
第7の音声生成部312は、必須発話部分以外の台詞音声が全く収録できなかったときに採用される手法である。この手法では、声優音声DB80に記憶されている声優音声のうち、ユーザ音声と最も声質が類似した音声が台詞音声として使用される。このときの声質の類似の判定には、必須発話部分の音声から抽出される特徴量が使用される。
第8の音声生成部314も、必須発話部分以外の台詞音声が全く収録できなかったときに有効な手法である。この手法では、声優音声DB80に記憶されている声優音声のうち、ユーザ音声と最も声質が類似した音声を用い、その声優音声にさらにユーザ音声の声質を用いた声質変換を行なって台詞音声を生成する。
第9の音声生成部316も、必須発話部分以外の台詞音声が全く収録できなかったときに有効な手法である。この手法では、必須発話部分について収録したユーザ音声から生成した音声素片のうち、母音の音声素片と、素片DB82に記憶されている子音の音声素片のうち、ユーザの音声に類似した特徴量を持つ音声素片とを用いて音声合成をする。前述のとおり、このような音声合成をすることによって、かなりユーザの音声に似た性質の合成音声を生成することができる。
以上の各手法の説明から明らかなように、台詞情報記憶部72に記憶された台詞情報は第1〜第9の音声生成部300,302,304,306,308,310,312,314,及び316の全てにより参照される。標準音声記憶部74に記憶された標準音声は、第3の音声生成部304に参照される。声優音声DB80に記憶された声優音声は、第4の音声生成部306、第5の音声生成部308、第7の音声生成部312、及び第8の音声生成部314により参照される。素片DB82は、第6の音声生成部310、及び第9の音声生成部316により参照される。
図10は、図2に示す合成手法決定部116で行なわれる音声の生成手法の決定処理を、コンピュータハードウェア上で実現するコンピュータプログラムのフローチャートである。図10を参照して、このプログラムは、以下の繰返しを制御するための変数iに0を代入するステップ340と、変数iに1を加算するステップ342と、変数iの値が台詞の数MAXを超えたか否かを判定し、超えた場合には処理を終了するステップ344と、ステップ344で変数iの値がMAX以下であると判定されたことに応答して実行され、台詞番号がiの台詞(以下これを「台詞(i)」と書く。)に対応する手法リストを手法リストテーブル78から読出し、作業用のリスト変数WLISTに格納するステップ346とを含む。
手法リストテーブル78の詳細を図11に示す。図11を参照して、手法リストテーブル78は、台詞番号ごとに、利用可能な手法の識別子をリストした手法リストを含む。通常は、この手法リストにリストされた手法のいずれかを用いれば必ず台詞を処理できるように手法リストテーブル78は予め作成されている。ただし、手法リストの中に、利用可能なものが含まれない場合も含めて、たとえば標準音声の台詞音声を出力する、というデフォルトの手法が予め準備されている。
再び図10を参照して、このプログラムはさらに、ステップ346の後に配置され、リスト変数WLISTの要素数を変数CMAXに代入するステップ348と、ステップ348に続き、以下の繰返しを制御する変数jに0を代入するステップ350とを含む。なお、一般的にリスト変数の要素のインデックスは0から始まる。
このプログラムはさらに、ステップ350に続き、j+1がCMAXの値を超えたか否かを判定し、判定結果にしたがって制御の流れを分岐させるステップ352と、ステップ352においてj+1がCMAX以下であると判定されたことに応答して実行され、リスト変数WLISTのうち、リスト要素WLIST[j]によって示される手法が、与えられたユーザ音声によって実現可能か否かを判定し、判定結果にしたがって制御を分岐させるステップ354とを含む。これら手法の各々について採用できるか否かは、処理対象の台詞音声の収録状況により異なる。基本的には、第1の手法と第2の手法とについては対応の台詞音声の収録がされていなければ利用できないが、それ以外の手法は対応の台詞音声の収録がされていなくても利用可能である。その理由については各手法の説明から明らかとなるであろう。
このプログラムはさらに、ステップ354においてリスト要素WLIST[j]によって示される手法が利用可能でないと判定されたことに応答して実行され、変数jの値に1を加算してステップ352に制御を戻すステップ356と、ステップ354においてリスト要素WLIST[j]によって示される手法が利用可能であると判定されたことに応答して実行され、台詞(i)をWLIST[j]により示される手法を用いて処理し、制御をステップ342に戻すステップ358と、ステップ352においてj+1の値がCMAXより大きいと判定されたことに応答して実行され、台詞(i)をデフォルトの手法で処理し、制御をステップ342に戻すステップ360とを含む。
図12は、図2に示すカット情報記憶部76の構成を示す。図12を参照して、カット情報記憶部76は、台詞ごとに、台詞番号と、その台詞に対して適用すべき音響効果を列挙した音響効果リストとを記憶している。ある台詞について音響効果を加えようとする場合、音声信号処理部320は、このカット情報記憶部76の、処理対象の台詞番号に対応する音響効果リストを調べ、それを順に先頭から実行する。
図13は、図9に示す第1の音声生成部300を実現するプログラムのフローチャートである。図13を参照して、このプログラムは、ユーザ音声DBから台詞音声(i)を読出すステップ380を含む。ステップ380によってこの処理は終了する。読出された台詞音声(i)は、音声信号処理部320に与えられ、処理される。音声信号処理部320の処理の詳細は図23を参照して後述する。
この第1の手法は、対象となる台詞についてユーザの音声を収録することができたときの手法であり、台詞音声としてユーザの音声をそのまま使用する。
図14は図9に示す第2の音声生成部302を実現するためのプログラムの制御構造を示すフローチャートである。図14を参照して、このプログラムは、ユーザ音声DB120からユーザの台詞音声(i)とその発話時間とを読出すステップ410と、ステップ410に続き、台詞情報テーブルから台詞(i)の発話時間Tiを読出すステップ412と、ステップ410で読出した発話時間tiとステップ412で読出した発話時間Tiとを用い、ユーザの台詞音声(i)の発話時間がtiからTiとなるように話速変換を行なって処理を終了するステップ414とを含む。
図15は、図9に示す第3の音声生成部304を実現するためのプログラムのフローチャートである。図15を参照して、このプログラムは、ユーザ音声DB120のユーザ音声テーブル260から録音フラグ(i)を読出すステップ440と、ステップ440において読出された録音フラグの値が1か否かを判定し、その結果に応じて制御の流れを分岐させるステップ442とを含む。
このプログラムはさらに、ステップ442において録音フラグが1でない(すなわちこの台詞についてユーザ音声の収録ができなかった)と判定されたことに応答して実行され、標準音声記憶部74から台詞(i)の標準音声を読出し、台詞音声(i)として出力し、処理を終了するステップ444と、ステップ442において録音フラグが1であると判定されたことに応答して実行され、ユーザ音声DB120から台詞音声(i)と発話時間tiとを読出すステップ446と、台詞情報記憶部72に記憶された台詞情報テーブルから台詞(i)の発話時間Tiを読出すステップ448と、ステップ446及び448でそれぞれ読出された発話時間ti及びTiを用いて、ユーザの台詞音声(i)の発話時間がTiとなるように、話速変換を行なって出力し、処理を終了するステップ450とを含む。
図16は、図9に示す第4の音声生成部306を実現するためのプログラムの制御構造を示すフローチャートである。図16を参照して、このプログラムは、ユーザ音声DB120のユーザ音声テーブル260からi番目の台詞音声に対する録音フラグ(i)を読出すステップ470と、ステップ470で読出された録音フラグ(i)の値が1か否かによって制御の流れを分岐させるステップ472と、ステップ472において録音フラグ(i)の値が1でない(すなわち0である。)と判定されたことに応答して実行され、声優音声DB80中に記憶されている台詞(i)の声優音声のうち、ユーザ音声と最も声質が類似したものを読出して台詞音声(i)として出力し、処理を終了するステップ474とを含む。
このプログラムはさらに、ステップ472において録音フラグが1であると判定されたことに応答して実行され、ユーザ音声DB120から台詞音声(i)と発話時間tiとを読出すステップ476と、ステップ476に続き、台詞情報記憶部72の台詞情報テーブルから台詞(i)の発話時間Tiを読出すステップ478と、発話時間ti及びTiを用い、ステップ476で読出されたユーザの台詞音声(i)の発話時間がtiからTiとなるように、話速変換を行なって、台詞音声(i)として出力し、処理を終了するステップ480とを含む。
図17は、図9に示す第5の音声生成部308を実現するプログラムの制御構造を示すフローチャートである。図5を参照して、このプログラムは、ユーザ音声DB120から録音フラグ(i)を読出すステップ500と、読出された録音フラグの値が1か否かを判定し、判定結果に応じて制御の流れを分岐させるステップ502と、ステップ502において録音フラグの値が1ではないと判定されたことに応答して実行され、声優音声DB80に格納されている台詞(i)の声優音声のうち、ユーザの声質に最も類似したものを特定するステップ504と、ステップ504で特定された台詞(i)の声優音声を、ユーザ音声の特徴を用いて声質変換し、台詞音声(i)として出力し処理を終了するステップ506とを含む。
このプログラムはまた、ステップ502において録音フラグが1であると判定されたことに応答して実行され、ユーザ音声DB120から台詞音声(i)と発話時間tiとを読出すステップ508と、台詞情報記憶部72の台詞情報テーブルから台詞(i)の発話時間Tiを読出すステップ510と、ユーザの台詞音声(i)の発話時間がtiからTiになるように話速変換を行なって、台詞音声(i)として出力し処理を終了するステップ512とを含む。
図18は、図9に示す第6の音声生成部310を実現するためのプログラムのフローチャートである。図18を参照して、このプログラムは、ユーザ音声DB120から録音フラグ(i)を読出すステップ530と、この録音フラグの値が1か否かを判定し、判定結果にしたがって制御の流れを分岐させるステップ532と、ステップ532において録音フラグの値が1でないと判定されたことに応答して実行され、台詞(i)、ユーザ音声の特徴量、ユーザの母音の音声素片、素片DB82の子音の音声素片を使用して音声合成を行なって台詞音声(i)を生成し出力するステップ534とを含む。
このプログラムはさらに、ステップ532において録音フラグ=1であると判定されたことに応答して実行され、ユーザ音声DB120から台詞音声(i)と発話時間tiとを読出すステップ536と、台詞情報記憶部72の台詞情報テーブルから台詞(i)の発話時間Tiを読出すステップ538と、ユーザの台詞音声(i)の発話時間がtiからTiとなるようにユーザの台詞音声(i)の話速変換を行なって台詞音声(i)として出力するステップ540とを含む。
図19は、図9に示す第7の音声生成部312を実現するプログラムの制御構造を示すフローチャートである。図19を参照して、このプログラムは、声優音声DB80の台詞(i)の音声の中で、ユーザ音声の声質と最も類似した音声を読出し、台詞音声(i)として出力し、処理を終了するステップ560を含む。
図20は、図9に示す第8の音声生成部314を実現するプログラムの制御構造を示すフローチャートである。図20を参照して、このプログラムは、声優音声DB80に記憶されている、台詞(i)の声優音声のうち、ユーザ音声の声質と最もよく類似した音声を特定し読出すステップ580と、ステップ580で読出された音声(i)を、ユーザの発話必須部分の音声の特徴を用いて、ユーザの声質に近い声質に声質変換することにより、ユーザの台詞音声(i)を生成し出力するステップ582とを含む。
図21は、図9に示す第9の音声生成部316を実現するためのプログラムのフローチャートである。図21を参照して、このプログラムは、台詞(i)、ユーザ音声の特徴量、ユーザの母音の音声素片、及び素片DB82に記憶された全子音の素片を用いて、台詞(i)の音声合成を行ない、台詞音声(i)として出力し処理を終了するステップ600を含む。
図22は、図9に示す音声信号処理部320を実現するプログラムのフローチャートである。音声信号処理部320は、合流部292の出力する台詞音声(i)に対し、以下のような処理を行なう。すなわち、このプログラムは、カット情報記憶部76から台詞(i)の音響効果リストELISTを読出すステップ382と、ステップ382の後、音響効果リストELISTの要素数を変数EMAXに代入するステップ384と、ステップ384の後、以後の繰返しを制御するための変数kに0を代入するステップ386と、ステップ386に続いて配置され、ステップ388に続き、k+1の値がEMAXより大きいか否かを判定し、判定結果にしたがって制御を分岐させるステップ390と、ステップ390においてk+1の値がEMAX以下であると判定されたことに応答して実行され、台詞音声(i)にELIST[k]の音響効果を付与するステップ392と、ステップ392の後、変数kの値に1を加算してステップ390に制御を戻すステップ388とを含む。
このプログラムはさらに、ステップ390においてk+1の値がEMAXより大きいと判定されたことに応答して実行され、台詞音声(i)を音声ファイルに書き出すステップ394と、ステップ394の後、台詞音声テーブル88の台詞(i)の音声ファイル名を新たなファイル名で更新して処理を終了するステップ396とを含む。
ステップ396で更新される台詞音声テーブル88の構成を図24に示す。図24を参照して、台詞音声テーブル88は、台詞番号と、台詞の再生開始時刻と、台詞の再生(発話)時間と、その台詞の音声(台詞音声)が格納された台詞音声データ86中のファイル名と、再生フラグとを含む。台詞の再生開始時刻は、作成される映画の先頭を所定の時刻とし、その時刻を基準として台詞の再生を開始するように定められる時刻である。再生時間は台詞の再生の継続時間をさす。再生ファイル名は、すでに述べたように台詞音声データ86中で、台詞音声を格納したファイルのファイル名である。再生フラグは、0であれば映画の再生時に音声を再生することを示し、1であれば再生しないことを示す。この再生フラグは、後述するように音声の重なり(二人以上の登場人物が同時に発話すること)を実現するために用いられる。その手法については後述する。
図23は、本実施の形態に係るマルチメディア製作システム50によって作成された映画を再生する再生システムのブロック図である。図23を参照して、この再生システムは、映像データ66から映像信号と映像・同期信号と効果音の音声信号とを出力するための映像信号再生部620と、映像信号再生部620により再生された映像信号を再生して映像を表示するための表示装置622と、映像信号再生部620が出力する効果音の音声信号を音声に変換して出力するための効果音出力装置624と、映像の再生に先立って、台詞音声データ86及び台詞音声テーブル88を入力として受け、台詞音声テーブル88に記憶された各台詞の発話開始時刻及び発話時間に基づいて互いに同じ時間に重なって発話されるべき台詞の組合せを検出し、それらの音声ファイルの音声を合成して新たな音声ファイルを作成して、重なりが検出された台詞の内の1つの音声ファイルと入替え、さらにそれ以外の台詞音声の発話フラグを「1」に更新することによって、同時に発話する台詞音声が統合されるように台詞音声データ86及び台詞音声テーブル88を更新するための同時音声統合処理部632とを含む。
再生システムはさらに、再生時に映像信号再生部620からの同期信号を受け、台詞音声テーブル88を参照して、同期信号により示される時刻と一致する発話開始時刻の台詞音声であって、かつ対応する再生フラグが「0」であるものを検出して台詞音声データ86から読出し、再生して音声信号を出力するための同期再生部638と、同期再生部638の出力する音声信号を音声に変換して出力するための台詞音声出力装置640とを含む。
すなわち、この再生システムは、効果音と、台詞音声とを完全に分離して生成し、台詞音声をその発話開始時間の順番にしたがって、順に再生する。そのため、効果音を活かしながら、登場人物の音声と顔画像とをユーザのものに置換した映画を再生できる。
図24は、前述したとおり、台詞音声テーブル88の構成を示す。図25は、図24に示す台詞音声テーブル88のうち、発話時間が重なっている台詞(台詞1,2,3)を同時音声統合処理部632によって統合した後の台詞音声テーブル88の構成を示す。
図25を参照して、台詞音声テーブル88の構成自体は更新前と同様である。異なっているのは、台詞1の再生時間が7秒から11秒に増加していること、台詞1の再生ファイル名が「wave0001.wav」から「comb0001.wav」に変更されていること、及び台詞2及び3の再生フラグが「0」から「1」に変更されていることである。これは以下の理由による。
図24に示す台詞音声テーブル88において、台詞1の再生開始時刻は0時0分3秒、再生時間が7秒であるから、再生終了時刻は0時0分10秒である。一方、台詞2の再生開始時刻は0時0分8秒、再生時間は5秒であるから再生終了時刻は0時0分13秒となる。すると、台詞1の発話時間と台詞2の発話時間とは、一部において互いに重なっている。本実施の形態では、このように互いに発話の時間帯が重なっている台詞については、それらの音声を統合して新たな音声ファイルとし、一方の台詞の音声ファイル(通常は再生開示時間の早い方)の音声ファイルと入替え、その発話時間も新たな音声ファイルの発話時間で更新する。そして、他方の台詞の音声ファイルについては再生フラグを1とする。
図24に示す例では、台詞1,2、及び3の再生時刻が重なっていたために、これらが統合され、最終的に図25に示すように台詞1の再生時間が11秒、台詞2及び台詞3の再生フラグが1(すなわち再生せず)となっている。
図26は、この同時音声統合処理部632を実現するためのプログラムのフローチャートである。図26を参照して、このプログラムは、処理中の台詞の台詞番号を表す変数Xに初期値として0を代入するステップ660と、この変数Xに1を加算するステップ662と、ステップ662の処理結果を受け、X番目の台詞(X)の台詞音声が存在するか否か(すなわち全ての台詞音声を処理し終わったか否か)を判定し、判定結果に応じて制御を分岐させるステップ664とを含む。ステップ664では、全ての台詞音声を処理し終わっていれば処理を終了する。
このプログラムはさらに、ステップ664において台詞音声(X)が存在すると判定されたことに応答して実行され、台詞音声テーブル88のその台詞音声(X)の再生フラグの値が0か否かを判定し、判定結果に応じて制御を分岐させるステップ666を含む。ステップ666において再生フラグが0でないと判定された場合、台詞音声(X)を再生する必要はない。したがってこの場合、制御はステップ662に戻り、次の台詞音声の処理に移る。
このプログラムはさらに、ステップ666で台詞音声(X)の発話フラグの値が0であると判定されたことに応答して実行され、台詞音声(X)と音声が重なっているか否かを判定する台詞音声の台詞番号を示す変数YにXの値を代入するステップ668と、ステップ668の後、この変数Yの値に1を加算するステップ670と、ステップ670の処理結果を受け、台詞音声(Y)が存在するか否か、すなわち全ての台詞音声について台詞音声(X)との重なりを調べる処理が完了したか否かを判定し、判定結果にしたがって制御の流れを分岐させるステップ672とを含む。ステップ672においてY番目の台詞が存在していないと判定された場合、制御はステップ662に戻る。
このプログラムはさらに、ステップ672においてY番目の台詞音声が存在すると判定されたことに応答して実行され、台詞音声(Y)の再生フラグの値が0か否かを判定し、判定結果に応じて制御の流れを分岐させるステップ674を含む。ステップ674で台詞音声(Y)の再生フラグの値が0でないと判定されたときには、制御はステップ670に戻り、次の台詞音声に対して台詞音声(X)との重なりを調べる処理に移る。
このプログラムはさらに、ステップ674において台詞音声(Y)の再生フラグの値が0であると判定されたことに応答して実行され、台詞音声テーブル88に記憶された双方の台詞音声の発話開始時間及び発話時間の値に基づき、台詞(X)と台詞(Y)との発話時間の少なくとも一部が重なっているか否かを判定し、判定結果に応じて制御を分岐させるステップ676を含む。ステップ676で発話時間が重なっていないと判定された場合には、制御はステップ670に戻る。
このプログラムはさらに、ステップ676において台詞(X)と台詞(Y)との発話時間の少なくとも一部が重なっていると判定されたことに応答して実行され、台詞音声(X)と台詞音声(Y)とを混合して新たな台詞音声を作成し、台詞音声(X)として台詞音声データ86を更新するステップ678と、この新たな台詞音声(X)の発話時間tを、重複修正前の台詞音声(X)の発話時間txと台詞音声(Y)の発話時間tyとの間で、以下のようにして計算して求め、これを新たな台詞音声(X)の発話時間txとして台詞音声テーブル88を更新するステップ680と、ステップ680に続き、台詞音声テーブル88の、台詞音声(Y)の再生フラグの値を「1」に更新し、制御をステップ670に戻すステップ682とを含む。
図27は、図23に示す同期再生部638を実現するためのプログラムのフローチャートである。図27を参照して、このプログラムは、図23に示す映像信号再生部620から与えられる同期信号を読込むステップ700と、ステップ700で読込んだ同期信号により示される時刻が、台詞音声テーブル88に格納されたいずれかの台詞であって、かつその再生フラグが0であるものの発話開始時刻に達したか否かを判定し、判定結果にしたがって制御の流れを分岐させるステップ702とを含む。ステップ702において、同期信号により示される時刻がいずれの台詞音声の再生開始時間にもなっていないと判定されたときには、制御はステップ700に戻り、再度、同期信号を読込む。
このプログラムはさらに、ステップ702において、同期信号により示される時刻がいずれかの台詞音声の発話開始時刻になったと判定されたことに応答して実行され、その台詞音声の再生を開始し、制御をステップ700に戻すステップ704とを含む。
図28は、音声信号処理部320が実行する音響効果処理のうち、話速変換と音量正規化処理の内容を説明するための図である。
図28(A)を参照して、話速変換処理とは、台詞の発話時間の基準となる参照音声720での発話時間と比較して、収録音声722の収録時間が図28(A)に示されるように短すぎたり、逆に長すぎたりした場合に、この収録音声722の話速を変換して参照音声720の発話時間と等しい発話時間の補正音声724を生成する処理のことである。話速変換には、既存の話速変換技術を使用することができる。
図28(B)は、音量正規化を示す。参照音声740の平均レベルL0と比較して、収録音声742の平均レベルL1が図28(B)に示すように低すぎたり、逆に高すぎたりしたときに、収録音声のレベルを補正して、ほぼ平均レベルL0と等しい平均レベルL3とするのが音量正規化処理である。このような音量正規化処理は、複数のユーザによって収録される音声の大きさにばらつきがあってはいけなかったり、逆に場面によってはユーザにより音声の大きさに差をつけたりする必要があるために行なわれる。この音量正規化についても、既存の技術を使用することができる。
[コンピュータによる実現]
図29は、このマルチメディア製作システム50においてユーザの音声を収録するための台詞音声データ作成部90のハードウェアの外観図を示す。図29を参照して、台詞音声データ作成部90は、実質的にはコンピュータシステム830からなる。図30は、このコンピュータシステム830の内部構成を示す。
図29を参照して、コンピュータシステム830は、リムーバブルメモリ用のメモリポート852及びDVD(Digital Versatile Memory)ドライブ850を有するコンピュータ840と、文字情報及びコマンド操作の入力を行なうためのキーボード846と、ポインティングデバイスであるマウス848と、2台のモニタ842及び844と、2台のマイクロフォン868及び870と、2組のスピーカセット872及び874とを含む。これらのうち、モニタ844、スピーカセット874、及びマイクロフォン868は、コンピュータシステム830の本体部分と分離して図29に示すようにユーザの録音用ブースに設置されており、ユーザの台詞音声の録音時にユーザとの入出力インタフェースとして用いられる。
図30を参照して、コンピュータ840は、メモリポート852と、DVDドライブ850と、マイクロフォン868及び870と、スピーカセット872及び874とに加えて、CPU(中央処理装置)856と、CPU856、メモリポート852及びDVDドライブ850に接続されたバス866と、ブートアッププログラム等を記憶する読出専用メモリ(ROM)358と、バス866に接続され、プログラム命令、システムプログラム、及び作業データ等を記憶するランダムアクセスメモリ(RAM)860と、バス866、マイクロフォン868及び870、並びにスピーカセット872及び874に接続されるサウンドボード884とを含む。
コンピュータ840はさらに、他のコンピュータと通信を行なうためのローカルエリアネットワーク(LAN)876への接続を提供するネットワークインターフェイスカード(NIC)878を含む。
コンピュータシステム830にマルチメディア製作システム50としての動作を行なわせるための、上記した各種のコンピュータプログラムは、DVDドライブ850又はメモリポート852に挿入されるDVD862又はリムーバブルメモリ864に記憶され、さらにハードディスク854に転送される。又は、プログラムは図示しないネットワークを通じてコンピュータ840に送信されハードディスク854に記憶されてもよい。プログラムは実行の際にRAM860にロードされる。DVD862から、リムーバブルメモリ864から、又はネットワーク876を介して、直接にRAM860にプログラムをロードしてもよい。
これらのプログラムは、コンピュータ840にこの実施の形態のマルチメディア製作システム50としての動作を行なわせる複数の命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ840上で動作するオペレーティングシステム(OS)若しくはサードパーティのプログラム、又はコンピュータ840にインストールされる音声処理及び統計モデル処理用の各種ツールキットのモジュールにより提供される。したがって、このプログラムはこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られる様に制御されたやり方で適切な機能又は「ツール」を呼出す事により、上記した台詞音声作成装置としての動作を実行する命令のみを含んでいればよい。コンピュータシステム830の動作は周知であるので、ここでは繰返さない。
なお、図1に示されるシステムのうち、台詞音声データ作成部90はユーザごとの収録をするための、いずれもコンピュータシステム830と同様の構成の複数のコンピュータシステムと、音声統合部104を実現するための1つのコンピュータシステムとを含む。音声統合部104を実現するコンピュータシステムも、ハードウェア構成はコンピュータシステム830と同様であるが、マイクロフォン及びスピーカ等は必要ない。
また、本実施の形態では、図23に示す映像・音声再生装置92のうち、映像信号再生部620は1つのコンピュータシステムにより実現され、同時音声統合処理部632及び同期再生部638はそれとは別の1つのコンピュータシステムにより実現される。
本システムで使用されるコンピュータシステムは、いずれもネットワーク876を介して互いに通信を行ない、最終的に映像データ66、台詞音声データ86、及び台詞音声テーブル88を映像・音声再生装置92のハードディスクに作成し、そこから再生を行なう。
[動作]
以上に構成を説明したマルチメディア製作システム50は以下のように動作する。
図1を参照して、複数のユーザがマルチメディア製作システム50を利用するものとして、予め各ユーザには識別情報が割当てられているものとする。また各ユーザには、映画の登場人物の誰と入替わるかが決定されているものとする。
マルチメディア製作システム50では、予め映像素材DB70には映像素材が、台詞情報記憶部72には台詞情報が、標準音声記憶部74には各台詞に対し、男性、女性、年齢に応じた標準音声が、カット情報記憶部76には音響効果情報が、それぞれ格納されている。また、声優音声DB80には各台詞を複数の声優がそれぞれ発話したものが台詞別、声優別に格納されているものとする。各声優の音声については、予め音響分析が行なわれており、それぞれの声質を表す音響特徴量が算出されている。また素片DB82には、標準音声及び声優音声をセグメンテーションすることによって作成された音声素片が格納されている。各音声素片には、対応する音素の音素ラベルと、音響特徴量と、元の音声の識別子と、発話者の識別子とが付されている。
各ユーザのユーザ情報が、ユーザ情報入力部100,100A,…,100Nで入力され、画像処理PC62及び複数のキャラクタ音声作成部102,102A,…,102Nのうち、対応するものに送られる。
三次元スキャナ群60は、各ユーザの顔をスキャンし、画像処理PC62に3次元スキャンデータを送る。以下、画像処理PC62はユーザの3次元スキャンデータを用いてユーザの三次元顔モデルを作成し、さらに任意の角度からの3次元顔画像を作成して映像生成装置64に与える。映像生成装置64は、登場人物の顔画像を、画像処理PC62で作成されたユーザの顔画像で置換し、映像データ66として出力する。なお、映像データ66には、音声との同期をとるための同期信号再生用のデータが含まれている。
一方、複数のキャラクタ音声作成部102,102A,…,102Nは、いずれも、以下のようにして対応するユーザの台詞音声を収録し、この収録音声に基づいて、第1の音声生成部300〜第9の音声生成部316を用いてユーザの声を活かした映画用の音声データを作成し、出力する。このときの第1の音声生成部300〜第9の音声生成部316の処理はいずれも同様である。以下では、キャラクタ音声作成部102の動作について説明する。
図2を参照して、音声収録部114は、ユーザ情報をユーザ情報入力部100から受信し(図5のステップ170)、以後の処理ではこのユーザ情報を用いる。続いて、ユーザに割当てられたキャラクタに関する情報が入力される(図5のステップ172)。音声収録部114は、入力されたキャラクタの台詞に関する台詞情報を台詞情報記憶部72から読出し、対応する標準音声を標準音声記憶部74から、対応する映像がもしあれば映像素材DB70から、それぞれ読出す(図5のステップ174)。音声収録部114はさらに、ユーザ音声テーブル260を作成し、全ての台詞情報の録音フラグを0に初期化する。
音声収録部114は、続いてタイマをスタートさせ(ステップ178)、台詞の収録を開始する。台詞の収録では、発話対象の台詞を選択し(ステップ180)、映像と、台詞情報の表示とを行ない(ステップ182)、同時に標準音声の再生を開始する。その結果、入出力装置112の画面(モニタ844の画面)に図7に示すような表示が行なわれる。この後、ユーザが標準音声をまねて、練習としてその発話を行なう(ステップ186)。
コンピュータシステム830を操作しながらユーザの発話を聞いているアテンダントが、その発話についての練習を終了してよいか否かを判断し(ステップ188)、もし練習をさらにする必要があれば(ステップ188においてNO)、その発話について再度同じ処理を繰返す操作を行なう。練習を終了してよいと判定されると(ステップ188においてYES)、再度選択した台詞と、対応する映像とを表示し(ステップ190)、プログレスバーの表示を開始し(ステップ192)、ユーザの音声を収録する(ステップ194)。
もしも収録した音声が正しい内容で、発声内容も明瞭で、発話時間も許容範囲内であれば、アテンダントは収録した音声を音声ファイルとしてユーザ音声記憶部262に保存し、図8に構成を示すユーザ音声テーブル260の処理中の台詞の行の音声ファイル名の欄にユーザ音声記憶部262に保存した音声ファイルの名称を代入し、発話時間の欄にユーザの台詞音声の実際の発話時間(ti)を代入する(ステップ200)。さらに音声収録部114は、その行の録音フラグを1に更新し(ステップ201)、次の台詞を選択する(ステップ202)。もしも全ての台詞についてのユーザの台詞音声の収録が完了していれば(ステップ204でYES)、収録されたユーザの全発話を音素にセグメンテーションして素片化し(ステップ206)、各音声素片の音響特徴量を算出して(ステップ208)、素片DB82に追加する。
もしもステップ204でまだ全ての台詞についての台詞音声の収録が終わっていないと判定されると、ステップ212でタイマを参照し、予め収録時間として定められていた時間を超過しているか否かを判定する。もしも超過していれば、ステップ206に進み、以後は全ての台詞について収録を完了した場合と同様の処理が行なわれる。もしもまだ所定時間に達していいなければ、図5のステップ182に戻り、このユーザに対応するキャラクタの次の台詞について、上述した処理を繰返す。
仮にステップ198で、収録された音声が好ましくないもの(たとえば内容が本来の発話テキストと著しく異なっているもの、発話が不明瞭なもの、発話時間が許容範囲外のもの)であるとアテンダントが判定したときには、ステップ214でその収録音声が破棄される。続いてタイマをチェックすることで、収録のための時間を超過しているか否かを判定する(ステップ216)。時間が超過していなければ、処理中の台詞の標準音声による発声(ステップ182)からやり直すか、単にユーザによる発話の収録(ステップ190)からやり直すかをアテンダントが判定し、判定結果にしたがって指示を入力する。音声収録部114は、その指示にしたがって制御を分岐させ(ステップ220)、その結果、ステップ182又はステップ190から処理が再開される。
一方、ステップ216ですでに収録に要した時間が、所定の時間を超過していると判定された場合には、ステップ218で現在収録中の台詞が必須部分の台詞か否かを判定する。必須部分であれば、この収録は必ずする必要があるため、制御はステップ220に進み、アテンダントの判定にしたがって、収録を再開する。もしも必須部分でなければ、収録作業を終了すべきであるから、制御はステップ206に進む。以後、全ての台詞の収録が完了したときと同様の動作がステップ206,208及び210で実行される。
こうして、音声収録部114によって、図8に示すユーザ音声記憶部262には、あるキャラクタの台詞についてのユーザの台詞音声の音声ファイルが格納され、ユーザ音声テーブル260には各台詞について、録音できたか否かを示す録音フラグと、ユーザ音声記憶部262中の対応する音声ファイルの名称と、ユーザによる発話時間とが記録される。
複数のキャラクタ音声作成部102,102A,…,102Nの各々が上記した処理を実行する結果、これらからはそれぞれのキャラクタの台詞音声がユーザ音声DB120(ユーザ音声テーブル260とユーザ音声記憶部262)の形で出力される。音声統合部104は、これら種々のキャラクタのユーザの台詞音声を台詞情報記憶部72に記憶された台詞情報に基づいて所定の順番で読出せるよう統合し、台詞音声データ86及び台詞音声テーブル88を出力する。音声収録部114は、このようにして、対象のユーザについての音声の収録が完了すると合成手法決定部116に対し、台詞音声の生成を開始するよう指示を出す。
この指示に応答して、対応の合成手法決定部116は以下のような処理を実行する。図10を参照して、ステップ340〜ステップ344によって、処理すべき台詞のうち、先頭の台詞を選択する。そして、その台詞の台詞番号をキーに、手法リストテーブル78を検索し、その台詞に対する手法リストWLISTを入手する。
続いてステップ348〜354の処理により、手法リストWLISTに記載された手法について、先頭から順番に調べ、利用可能な手法で最初に発見された手法を用い、処理対象の台詞をその手法で処理することを決定し、その手法を特定する情報を音声作成部118に与え、処理させる。手法リストは必ずその中に利用可能なものがあるように作成するが、仮にない場合でもデフォルトの手法を用いて台詞音声の生成ができるようにしておく。
このようにして処理対象の中の最初の台詞について、ユーザの収録音声に基づいて、音声作成部118の第1〜第9の中で、選択された手法に対応するものに対し、台詞音声の生成を指示する。このとき合成手法決定部116は、分岐部280を制御して、選択された音声生成部にユーザ音声を与え、その出力する台詞音声を選択して出力するように合流部292を制御する。こうして、先頭の台詞について台詞音声の生成を開始させると、合成手法決定部116は再度ステップ342から処理を再開し、次の台詞について台詞音声生成の手法を決定し、対応する音声生成部に台詞音声を生成させる。こうして対象となるキャラクタの台詞について全て台詞音声の生成が完了すると、合成手法決定部116の処理は終了である。
図9を参照して、音声作成部118は以下のように動作する。分岐部280は、合成手法決定部116からの指示にしたがい、指定された音声生成部を能動化し、ユーザ音声を与える。第1の音声生成部300〜第9の音声生成部316のうち、能動化されたものは、与えられたユーザ音声に基づき、それぞれの手法を用いて台詞音声を生成する。出力される台詞音声は合流部292によって選択され、音声信号処理部320に与えられる。
ここで、第1の手法が選択された場合、図9に示す第1の音声生成部300は、ユーザ音声DB120から台詞音声(i)を読出す(ステップ380)。ステップ380によってこの処理は終了する。
第2の手法が選択された場合、図9に示す第2の音声生成部302は以下のように動作する。図14を参照して、まず、第2の音声生成部302は、ユーザ音声DB120からユーザの台詞音声(i)とその発話時間tiとを読出す(ステップ410)。第2の音声生成部302は続いて、台詞情報テーブル台詞(i)の発話時間Tiを読出す(ステップ412)。さらに、第2の音声生成部302は、ステップ410で読出した発話時間tiとステップ412で読出した発話時間Tiとを用い、ユーザの台詞音声(i)の発話時間がtiからTiとなるように話速変換を行なう(ステップ414)。
第3の手法が選択された場合、図9に示す第3の音声生成部304は以下のように動作する。図15を参照して、第3の音声生成部304は、まずユーザ音声DB120のユーザ音声テーブル260から録音フラグ(i)を読出す(ステップ440)。次に第3の音声生成部304は、読出された録音フラグの値が1か否かを判定し、録音フラグが1でないときには標準音声記憶部74から台詞(i)の標準音声を読出し、台詞音声(i)として出力し、処理を終了する(ステップ444)。ステップ442において録音フラグが1であると判定された場合には、ユーザ音声DB120から台詞音声(i)と発話時間tiとを読出し(ステップ446)、台詞情報記憶部72に記憶された台詞情報テーブルから台詞(i)の発話時間Tiを読出す(ステップ448)。そして、ステップ446及び448でそれぞれ読出された発話時間ti及びTiを用いて、ユーザの台詞音声(i)の発話時間がTiとなるように、話速変換を行なって出力する(ステップ450)。
第4の手法が選択された場合、図9に示す第4の音声生成部306は以下のように動作する。図16を参照して、第4の音声生成部306は、ユーザ音声DB120のユーザ音声テーブル260からi番目の台詞音声に対する録音フラグ(i)を読出す(ステップ470)。次に、ステップ470で読出された録音フラグ(i)の値が1でない場合、声優音声DB80中に記憶されている台詞(i)の声優音声のうち、ユーザ音声と最も声質が類似したものを読出して台詞音声(i)として出力する(ステップ474)。ステップ472において録音フラグが1であると判定されれば、第3の音声生成部304は、ユーザ音声DB120から台詞音声(i)と発話時間tiとを読出す(ステップ476)。次に、台詞情報記憶部72の台詞情報テーブルから台詞(i)の発話時間Tiを読出し(ステップ478)、発話時間ti及びTiを用い、読出されたユーザの台詞音声(i)の発話時間がtiからTiとなるように、話速変換を行なって、台詞音声(i)として出力する(ステップ480)。
第5の手法が選択された場合、図9に示す第5の音声生成部308は以下のように動作する。図17を参照して、第5の音声生成部308は、ユーザ音声DB120から録音フラグ(i)を読出す(ステップ500)。読出された録音フラグの値が1ではない場合、声優音声DB80に格納されている台詞(i)の声優音声のうち、ユーザの声質に最も類似したものを特定し(ステップ504)、ステップ504で特定された台詞(i)の声優音声を、ユーザ音声の特徴を用いて声質変換し、台詞音声(i)として出力し処理を終了する(ステップ506)。ステップ502において録音フラグが1である場合、第5の音声生成部308は、ユーザ音声DB120から台詞音声(i)と発話時間tiとを読出す(ステップ508)。次に、台詞情報記憶部72の台詞情報テーブルから台詞(i)の発話時間Tiを読出す(ステップ510)。最後に、ユーザの台詞音声(i)の発話時間がtiからTiになるように話速変換を行なって、台詞音声(i)として出力し処理を終了する(ステップ512)。
第6の手法が選択された場合、図9に示す第6の音声生成部310は以下のように動作する。図18を参照して、第6の音声生成部310は、ユーザ音声DB120から録音フラグ(i)を読出す(ステップ530)。この録音フラグの値が1でなければ、台詞(i)、ユーザ音声の特徴量、ユーザの母音の音声素片、素片DB82の子音の音声素片を使用して音声合成を行なって台詞音声(i)を生成し出力する(ステップ534)。録音フラグ=1であれば、第6の音声生成部310は、ユーザ音声DB120から台詞音声(i)と発話時間tiとを読出す(ステップ536)。次に、台詞情報記憶部72の台詞情報テーブルから台詞(i)の発話時間Tiを読出す(ステップ538)。最後に、ユーザの台詞音声(i)の発話時間がtiからTiとなるようにユーザの台詞音声(i)の話速変換を行なって台詞音声(i)として出力する(ステップ540)。
第7の手法が選択された場合、図9に示す第7の音声生成部312は以下のように動作する。図19を参照して、第7の音声生成部312は、声優音声DB80の台詞(i)の音声の中で、ユーザ音声の声質と最も類似した音声を読出し、台詞音声(i)として出力し、処理を終了する(ステップ560)。
第8の手法が選択された場合、第8の音声生成部314は以下のように動作する。図20を参照して、第8の音声生成部314は、声優音声DB80に記憶されている、台詞(i)の声優音声のうち、ユーザ音声の声質と最もよく類似した音声を特定し読出す(ステップ580)。次に、ステップ580で読出された音声(i)を、ユーザの発話必須部分の音声の特徴を用いて、ユーザの声質に近い声質に声質変換することにより、ユーザの台詞音声(i)を生成し出力する(ステップ582)。
第9の手法が選択された場合、図9に示す第9の音声生成部316は以下のように動作する。図21を参照して、第9の音声生成部316は、台詞(i)、ユーザ音声の特徴量、ユーザの母音の音声素片、及び素片DB82に記憶された子音の素片を用いて、台詞(i)の音声合成を行ない、台詞音声(i)として出力し処理を終了する(ステップ600)。
合流部292から出力される台詞音声には、いずれも図9に示す音声信号処理部320により以下のようにしてカット情報記憶部76により指定される音響効果が追加される。すなわち、図22を参照して、音声信号処理部320は、合流部292の出力する台詞音声(i)に対し、カット情報記憶部76から台詞(i)の音響効果リストELISTを読出す(ステップ382)。音声信号処理部320はさらに、音響効果リストELISTの要素を順番に調べ、それらの要素により特定される音響効果を台詞音声(i)に全て加え、その後、音響効果が加えられた台詞音声(i)を音声ファイルに書き出す(ステップ394)。このとき、音量正規化処理(図28(B))等の処理も同時に実行する。音声信号処理部320は、この後、台詞音声テーブル88の台詞(i)の音声ファイル名を新たなファイル名で更新して処理を終了する(ステップ396)。
この音声信号処理部320の機能により、図24に示すような台詞音声テーブル88と、音響効果が加えられた台詞音声データ86とが生成される。
このようにして、全てのキャラクタの全ての台詞について台詞音声が作成され、それらに対応する台詞音声データ86と台詞音声テーブル88とが作成されると、映像データ66とあわせて映像・音声再生装置92により映画を再生することができる。このときには、図23に示す映像信号再生部620、同時音声統合処理部632、及び同期再生部638は以下のように動作する。
最初に、同時音声統合処理部632は、図26に示すような制御構造を持つプログラムにより、互いに重なっている台詞の音声を1つのファイルに統合し、それにあわせて台詞音声テーブル88の音声ファイル名称を更新し、さらに統合により再生不要となった音声ファイルに対応する再生フラグを1とする処理を実行する。この処理により最終的に再生可能な台詞音声データ86及び台詞音声テーブル88が生成される。このときの台詞音声テーブル88の各台詞の再生開始時刻には、各台詞の再生を開始する時刻が記録されている。
映画の再生が開始されると、映像信号再生部620は映像信号と背景音等の効果音を示す音声信号を再生し、表示装置622及び効果音出力装置624にそれぞれ与える。表示装置622はこの映像信号を再生し、映像を表示する。効果音出力装置624は効果音の音声信号を音声に変換する。この映画の登場人物の顔画像は、ユーザの顔画像と入替えられている。
一方、映像信号再生部620は、映像信号の再生と同期して映像データ中に記録されている同期データに基づいて、同期信号を生成し同期再生部638に与える。
同期再生部638は、この同期信号を常に監視し、同期信号により表される時刻が台詞音声テーブル88に記憶されている台詞音声の再生開始時刻と一致すると、その台詞音声を再生し台詞音声出力装置640に与える。台詞音声出力装置640はこの音声を再生する。台詞音声は、上記したいずれかの手法にしたがって再生又は合成された音声である。この音声は、基本的には各ユーザの音声そのままか、それが話速変換されたものか、又はできるだけユーザの音声の声質に似るように選択され、又は合成された音声である。もちろん、中には標準音声をそのまま再生する場合もあり得るが、台詞の全体を見ると、それぞれのキャラクタの声は、対応するユーザの声質に似たものに感じられる。
[第2の実施の形態]
以下、本発明の第2の実施の形態に係るマルチメディア製作システムの構成及び動作について説明する。この第2の実施の形態に係るシステムは、第1の実施の形態に係るマルチメディア製作システム50の構成のうち、音声収録部114を以下に説明する音声収録部で置き換えた構成を有する。それ以外の部分の構成は、マルチメディア製作システム50のものと同じである。したがって、以下では第2の実施の形態に係るシステムの音声収録部のみについてその構成及び動作を説明する。
第1の実施の形態では、ユーザ音声収録時には、アシスタントによる補助作業が必要であった。できればそのようなアシスタントの介在なしにユーザの音声を効率よく収録できると好ましい。第2の実施の形態の音声収録部は、アシスタントなしで、ユーザが効率よく映画の登場人物の台詞を効率よく収録できるようにするための種々の機能を備えたものである。そのために本実施の形態では、音声収録部にタッチパネルを使用する。そして、同じ映像を繰返し表示しながらユーザが台詞を繰返して発声し、うまく発声できたと思われる音声のみを収録音声として保存する。
図31は、第2の実施の形態におけるシステムの音声収録部で使用されるタッチパネル900の画面とその表示例とを示す模式図である。図31を参照して、このタッチパネル900の画面には、音声の収録対象となる映画のシーンが繰返して表示される映像表示領域902と、映像表示領域902に表示されているシーンでユーザが発話すべき台詞914を映像と収録時刻の進行とにあわせて同期して表示するための台詞表示領域904と、ユーザにより入力された音声のレベルを示すレベルメータ906と、映像の表示とともに、予め準備されている標準音声による台詞の再生を行なうか否かを指定するボイスオーバボタン910と、繰返して台詞を発声するユーザが、うまく発声できたと思ったときに押すことにより、直前に収録された音声を保存するようにシステムに指示するために操作するストップボタン908とが表示される。映像表示領域902の右上には、シーンの進行にあわせた時間情報画像912がリアルタイムで表示される。
レベルメータ906はユーザにより入力された音声のレベルをバー形式で表示するものである。レベルメータ906の各ブロックのうち、下側の複数個のブロックは、適正範囲の音声レベルを緑色で表示するためのものである。上の2つのブロックは、音声レベルが適正範囲を超えたことを赤色で表示するためのものである。レベルメータ906の表示を見ることで、ユーザは、自分の発声が適正なレベルか否かをリアルタイムで判定することができる。
ボイスオーバボタン910は、映像ファイル946の各シーンごとに予め準備された音声ファイルを映像の再生と同時に再生するか否かをシステムに指示するためのものである。このように映像の再生と同時に台詞の再生を行なうことを「ボイスオーバ(VO)」と呼ぶ。ボイスオーバボタン910のうち「ON」ボタンを押せばボイスオーバフラグがセットされ、「OFF」ボタンを押せばボイスオーバフラグがリセットされる。
図32は、この実施の形態に係るマルチメディア製作システムで使用される音声収録部930のブロック図である。図32を参照して、音声収録部930は、タッチパネル900に加え、映画の映像を複数個のシーンに分割したものをそれぞれ保持した複数個の映像ファイル946と、映画の台詞を、映像ファイル946の各映像ファイルのシーンに対応して予め分割してテキストファイルとして格納した複数個の台詞ファイル948と、映像表示領域902に表示される映像の、表示開始からの経過時間を計時するためのタイマ950と、ヘッドセット944と、ヘッドセット944が接続されたサウンドボード884と、サウンドボード884にヘッドセット944から入力された音声信号のレベルを測定し、レベル信号を出力するレベル測定部952と、映像ファイル946、台詞ファイル948、タイマ950、及びレベル測定部952の出力に接続され、図1に示すような表示画面をリアルタイムで作成しタッチパネル900に表示させるための表示作成部932とを含む。
音声収録部930はさらに、タッチパネル900に対する利用者のタッチ操作を検出して、利用者による命令を判定し対応する命令信号を出力したり、入力された情報を出力したりするGUI(Graphical User Interface)部936と、サウンドボード884がヘッドセット944から受信する音声信号に対する録音のための処理をするための録音処理部942と、録音処理部942により処理される音声信号の直近の所定時間分を記憶するためのリングバッファ962と、映画の台詞の音声を、映像ファイル946の各映像ファイルのシーンに対応して予め分割して保持する複数の音声ファイル960と、音声ファイル960のうち、表示作成部932によって表示されているシーンに対応するものを読出し、再生してサウンドボード884を介してヘッドセット944に与え、音声として出力させるための音声再生部940とを含む。
音声収録部930はさらに、GUI部936から与えられる信号、タイマ950の出力にしたがって、表示作成部932、音声再生部940及び録音処理部942を繰返し制御して音声収録処理を実行し、ストップボタン908(図31参照)が操作されたときに、リングバッファ962に記憶されている音声のうち、収録中のシーンの長さに相当する時間分を取出して保存する処理を各台詞に対して実行するための制御部938と、制御部938により使用される、ボイスオーバがオンかオフかを示すVOフラグを記憶するためのVOフラグ記憶部954と、音声収録の対象となっている利用者が選択する対象となる、映画のキャラクタ情報を記憶するためのキャラクタ情報記憶部956と、制御部938により保存される音声をシーンごとに記憶する複数の録音ファイル964と、ネットワークに対するアクセスを提供するNIC878とを含む。
映像ファイル946、台詞ファイル948、音声ファイル960及び録音ファイル964は、本実施の形態ではハードディスクに記憶される。VOフラグ記憶部954、キャラクタ情報記憶部956、リングバッファ962等の領域はRAM中に設けられる。
制御部938、表示作成部932、音声再生部940及び録音処理部942は実質的には一つのマイクロプロセッサにより実行される複数のプロセスによって実現される。これらプロセスは、図32中には図示しないメモリに記憶された、後述する制御構造を有するプログラムをマイクロプロセッサが実行することにより実現される。これら機能のうち、音声再生部940及び録音処理部942についてはその構成は周知であるので、ここではそれらについての詳細な説明は行なわない。
図33は、音声収録部930のうち、制御部938の機能を実現するためにマイクロプロセッサが実行するプログラムの主要部の制御構造を示すフローチャートである。図33を参照して、このプログラムは、音声収録部930の電源が投入されることにより実行を開始し、所定の初期画面をタッチパネル900上に表示するステップ170を含む。初期画面は図示しないが、映画の中のどのキャラクタを選択するかに関する入力欄、利用者に関する情報の入力欄、音声収録のスタートボタン、及び図31に示すボイスオーバボタン910と同様のボイスオーバボタンを含んでいる。この画面はタッチパネル900の画面に表示され、GUI部936を通じて利用者の入力及び指示が制御部938に与えられる。
このプログラムはさらに、ステップ170に続き、利用者の入力に基づいて利用者に映画のキャラクタを割当て、その情報をキャラクタ情報記憶部956に記憶するステップ172と、ステップ172で利用者に割当てられたキャラクタに応じた台詞(キャラクタ台詞)及び音声と、他のキャラクタと共通に割当てられた台詞及び音声とをNIC878を介してサーバに記憶された、処理対象の映画に関する情報から抽出しキャラクタ情報記憶部956、映像ファイル946、台詞ファイル948、及び音声ファイル960に書込むステップ174と、ステップ174の後、図32に示す録音ファイル964及びリングバッファ962を未収録状態に初期化するステップ176とを含む。
このプログラムはさらに、GUI部936の出力に基づいて、収録処理の開始を指示するスタートキー(図示せず)が押されたか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ970と、ステップ970においてスタートキーが押されていないと判定されたときに実行され、ボイスオーバボタンのいずれかが押されたか否かを判定し、判定結果に応じて制御を分岐させるステップ972と、ステップ972でボイスオーバボタンが押されたと判定されたときに、VOフラグ記憶部954に記憶されたVOフラグの値を利用者の指示に応じて更新し、制御をステップ970に戻すステップ974とを含む。ステップ972でボイスオーバボタンが押されていないと判定されたときには制御はステップ970にもどる。
このプログラムはさらに、ステップ970でスタートボタンが押されたと判定されたことに応答して実行され、最初の映像シーン、台詞、音声を選択し、それぞれ映像ファイル946、台詞ファイル948、及び音声ファイル960から対応するファイルを読出すステップ975と、ステップ975の後、読出された映像ファイル、台詞ファイル、及び音声ファイルを使用して図31に示すような表示を行なうことにより、収録対象のシーンを所定時間ごとに繰返し再生する処理を開始させるステップ976とを含む。本実施の形態では、所定時間ごとにタッチパネル900の画面を更新する処理を、図33に示すものとは別のプログラムスレッドで実行する。
なお、図31に示す例では、映像表示領域902には選択されたシーンの映像がムービーとしてストップボタン908が押されるまで繰返し表示される。台詞914は、映像の表示が開始されると表示されるが、台詞の進行にあわせて台詞914の文字の色を左から順番に変えながら表示される。このためには、いわゆるカラオケで使用されている歌詞表示の技術を使用すればよい。
このプログラムはさらに、ステップ976に続いて実行され、録音処理部942に指示して利用者の音声をリングバッファ962に録音する処理を開始させるステップ978と、ステップ978に続き、図1に示すボイスオーバボタン910のいずれかが押されたか否かを判定するステップ980と、ボイスオーバボタン910のいずれかが押されたときに実行され、押されたボタンにしたがってVOフラグの値を更新するステップ982と、ステップ980でボイスオーバボタン910が押されていないと判定されたときに、ストップボタン908が押されたか否かを判定するステップ984とを含む。
ステップ984でストップボタン908が押されていないと判定された場合には制御はステップ980に戻る。
このプログラムはさらに、ステップ984でストップボタン908が押されたと判定されたときに実行され、録音処理部942に指示してリングバッファ962への追加の録音を終了させるステップ988と、ステップ988の後、リングバッファ962に格納された音声のうち、直前に再生されていたシーンの持続時間に相当する時間分だけさかのぼった部分までを取り出し、録音ファイル964としてハードディスクに追加して格納するステップ990と、ステップ990に続いて再生処理を停止させるステップ991と、ステップ991に続き、次のシーンを選択するステップ992と、ステップ992に続き、ステップ992で全てのシーンに関する音声の収録が終了したか否かを判定し、終了していない場合にはステップ976に制御を分岐させるステップ994と、ステップ994で全シーンの音声の収録が終了していると判定されたことに応答して、収録された録音ファイル964を利用者に関する情報とともにサーバに送信するステップ994とを含む。サーバでは、これら音声を素片に分解し、素片DBに組込む。
図34は、図32の表示作成部932に相当する処理をプロセッサにより実現するための、プロセッサによって実行されるプログラムの制御構造を示すフローチャートである。このプログラムがプロセッサによって実行されるときには、音声収録処理のプロセスとは別プロセスとして実行され、音声収録処理から表示作成処理を終了する指示をプロセッサ間通信によって受けるまで、同じ映像ファイル、台詞ファイル、及び音声ファイルの再生を繰返して実行する。
図34を参照して、このプログラムは、音声収録処理によって起動され、音声収録処理によって指定された映像ファイル、台詞ファイル、及び音声ファイルをオープンするステップ1100と、ステップ1100に続き、映像ファイル及び台詞ファイルの続き(最初の場合には先頭)のレコードを読出すステップ1101と、ステップ1101に続き、指定された映像ファイルの終わりに達したか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ1102と、ステップ1102で映像ファイルの終わりに達したと判定されたときに実行され、現在開いている映像ファイル及び台詞ファイルの読出位置を先頭レコードに戻して読出すステップ1104と、ステップ1102でファイルの終りに達していないと判定された場合、及びステップ1104の処理実行後に実行され、ステップ1101又はステップ1104で読出されたファイル内容に対してデコード等の処理をした上で、映像メモリに映像として書込むステップ1106とを含む。
このプログラムはさらに、ステップ1106に続き、図32に示すレベル測定部952から出力される、利用者からの音声の音声レベル信号を入力ポートから読むステップ1114と、読出した音声レベルにしたがって音声レベルメールの画像を作成し、映像メモリに書込むステップ1116と、ステップ1116の後、タイマ950から時刻情報を読出すステップ1118と、ステップ1118に続き、読出した時刻情報にしたがって時間情報画像912を生成し、映像メモリに書込むステップ1120と、映像メモリの内容をタッチパネル900の表示用フレームメモリに転送するステップ1122とを含む。
このプログラムはさらに、ステップ1122に続き、VOフラグがセットされているか否かを判定して、判定結果に応じて制御の流れを分岐させるステップ1130と、ステップ1130でVOフラグがセットされていると判定されたときに実行され、音声収録プログラムによって指定された音声ファイルのレコードの続きを読出すステップ1132と、ステップ1132の結果、読出位置が音声ファイルの終りに到達したか否かを判定し、判定結果に応じて制御を分岐させるステップ1134と、ステップ1134で読出位置が音声ファイルの終りに到達したと判定されたときに実行され、音声ファイルの読出位置をその先頭位置に戻してその内容を読出すステップ1136と、ステップ1130、又はステップ1136で読出された音声ファイルのレコードをデコードして音声の出力ポートに順次出力する処理を実行し、レコードの終りまでデータを処理すると制御をステップ1101に戻すステップ1138とを含む。
[動作]
この第2の実施の形態に係る音声収録部930は以下のように動作する。音声収録部930の電源が投入されると、音声収録部930の内部は初期化され、タッチパネル900の画面には初期画面が表示される(図33、ステップ170)。この初期画面では、利用者へのキャラクタの割当て、ユーザ情報の入力等が行なわれる(ステップ172)。利用者にキャラクタが割当てられると、NIC878を介してサーバをアクセスし、割当てられたキャラクタに関する台詞及び音声、並びに共通の台詞及び音声のファイルをサーバから抽出し、映像ファイル946、台詞ファイル948、及び音声ファイル960として音声収録部930内に保存する。
音声収録部930はさらに、音声収録部930内の録音ファイル964及びリングバッファ962の内容をクリアし、音声収録部930を未収録状態に初期化する(ステップ176)。この処理により、収録対象となる音声以外の音声がリングバッファ962に残っていたりして、収録対象となる音声を正しく収録できないという事態を避けることができる。
続いて利用者によりスタートボタン又はボイスオーバボタンが押されるまで待機し、ボイスオーバボタンが押されたら押されたボタンにしたがってVOフラグ記憶部954の値を更新する。スタートボタンが押されると、音声の収録が開始される。
表示作成部932は、音声収録の対象となっている映画のうち、最初のシーンを選択し(ステップ975)、そのシーンを指定して表示作成処理を開始させる(ステップ976)。この処理により、図34に示す表示作成プログラムの実行が開始される。この表示作成プログラムは音声収録プログラムと並行して実行される。まず、表示作成プログラムにより表示作成処理がどのように行なわれるかを説明する。
図34を参照して、ステップ1100で、音声収録処理により指定されたシーンの映像ファイル及び台詞ファイルの先頭のレコードを読出す。ファイルの終りではないので、それらのレコードの内容を画像メモリに書込む(ステップ1106)。さらにレベル測定部952から利用者の入力音声レベルを示す信号を読み(ステップ1114)、その値にしたがってレベルメータ画像を生成し、画像メモリ中の所定位置に書き込む(ステップ1116)。続いてタイマの出力を読み(ステップ1118)、タイマ画像を生成して画像メモリに書込み、さらに、タイマ出力に応じ、時間が経過した部分までの台詞の文字を、ステップ1106と異なる色で画像メモリに書き込む(ステップ1120)。ステップ1122で画像メモリの内容をタッチパネル900に転送して画像を表示させる。
続いてVOフラグがセットされているか否かを判定し(ステップ1130)、セットされていなければ、この繰返し処理が開始してから所定時間が経過するのを待って制御をステップ1101に戻す。VOフラグがセットされていれば、処理中のシーンに対応する音声ファイルを読出し(ステップ1132〜1136)、音声の再生を行なって(ステップ1138)からステップ1101に制御を戻す。
このように、表示作成処理プログラムは、所定時間ごとに各ファイルの内容を読出し、再生する処理を繰返す。表示作成処理プログラムは、図33のステップ991で再生終了処理が実行されるまで、上記した処理を繰返して実行する。
再び図33を参照して、ステップ978で録音処理部942を制御して録音処理を開始する。録音処理部942は独立した処理であり、この音声収録処理とは別プロセスで並列に実行を続ける。
このようにして、音声収録処理では、処理対象のシーンの映像が繰返して再生される。その映像においては、台詞がシーンの進行時刻に応じて変化する色で表示され、同時にシーンの進行時刻に関する時刻情報が映像の左上に重ねてリアルタイムで表示される。VOフラグがセットされていれば、そのシーンに対応する台詞が標準的な音声で再生される。VOフラグは、音声収録処理の実行中であれば、いつでもボイスオーバボタン910を操作することによりオンにもオフにも設定することができる。また、利用者の音声レベルを示すレベルメータ906(図31参照)が表示されるので、利用者は自分の音声が大きすぎるのか、小さすぎるのかをリアルタイムで把握することができる。
利用者は、このようにして、同じシーンの映像を繰返して再生させながら、そのシーンの台詞を台詞914を見ながら行なう。このような繰返しを行なうことにより、利用者には、どのタイミングで、どのような大きさで発声をすればよいかについての感覚をつかむことが容易になり、好ましい発声を行なうことが可能になる。この音声収録処理では、一旦スタートボタンを押すと常に最新の所定時間の利用者の発話が繰返し録音され、リングバッファ962に格納される。
利用者が、上記した繰返しの中で、うまく台詞を発音できたと思ったときには、利用者は図31に示すストップボタン908を押す。これに応答して、録音が終了され(ステップ988)、リングバッファ962に録音されている音声のうち、処理中のシーンに対応する、直前の所定時間の音声がリングバッファ962から取り出され、新たな録音ファイル964としてハードディスクに追加格納される(ステップ990)。
音声収録部930は、次のシーンを選択する(ステップ992)。全てのシーンに対して音声収録が完了したら(ステップ994でYES)、録音ファイル964の全てを利用者情報とともにサーバに転送して(ステップ998)、初期画面を再表示し(ステップ180)、次のユーザの処理開始を待つ。次のシーンが残っていれば(ステップ994でNO)、そのシーンに対して表示作成処理及び録音処理を開始し(ステップ976,978)、利用者がストップボタンを押すまで、そのシーンを繰返し表示しながら利用者の発声を繰返し録音する。
このようにして、ある利用者について、全てのシーンに対する台詞の発話を収録することができる。
この実施の形態の音声収録部930では、収録のためのアシスタントが不要である。利用者のみで、タッチパネル900を用いた簡単な操作で全ての台詞を録音することができる。しかもこの場合、上に述べたように同じシーンを繰返して表示しながら、同じ台詞を繰返し発声させるようにすると、そのリズムによって、利用者が容易に適切な発話をすることが可能となる。音声レベルも表示されるため、利用者は適切な音量で発声することができ、録音の失敗を少なくすることができる。シーンの進行に伴い台詞の色を代えて表示したり、画面に時刻情報を表示したりすることによっても発話のタイミングを知ることができ、利用者は、適切な台詞音声の発声を容易に行なうことができる。また、ボイスオーバを行なうこともできるので、利用者は、標準的な発話音声を聞きながら、それにあわせて台詞の発話を行なうことができる。
以上のように、この第2の実施の形態に係る音声収録部930では、利用者が適切なタイミングでアシスタントなしに適切な台詞音声の収録を行なうことができるように、様々な補助情報を利用している。それらのうち、あるものについてはオンしたりオフしたりすることができ、利用者にとってもやりやすい形で台詞の音声収録ができる。特に、複数個の補助情報が表示されるので、利用者は自分が最も利用しやすいと思った補助情報を使用して台詞の発声を行なうことができ、失敗が少ないという特徴がある。また、同じシーンの台詞の収録を繰返し行ない、その中で利用者がうまくいったと思う発話を選択して収録できるため、収録の失敗が極めて少ないという特徴がある。また、同じシーンを繰返しながら発話するので、利用者はリズムをつかんで適切な速さ及びタイミングで発話することが容易になるという効果がある。
なお、第2の実施の形態では、利用者が台詞を発話しやすいように複数の補助情報を利用している。この補助情報の組合せは、第2の実施の形態において説明したものに限定されず、第2の実施の形態の説明で利用したもの以外のものを利用してもよいし、一部を利用しないようにしてもよいことはいうまでもない。
なお、上の実施の形態の説明では、ユーザの音声を素片化し、素片DB82に追加している。しかし本発明はそのような実施の形態には限定されない。例えば、ユーザの音声のうち、高品質に録音できた台詞音声は、声優音声DB80に登録するようにしてもよい。こうすることで、多数のユーザの音声を声優音声DB80に追加することが可能になり、さまざまな音声を効率よく収集することが可能になる。
したがって、マルチメディア製作システム50によって、予め準備された映画の登場人物の顔画像だけでなく、その台詞まで、ユーザの音声に置換えたかのような映画を作成し、上映することができる。その結果、登場人物の台詞が分かっているマルチメディア製作物において、登場人物の音声をユーザの声で容易に短時間で置換することが可能になる。また、登場人物の音声をユーザの声に近い声質で容易に短時間で置換することが可能になる。さらに、登場人物の音声をユーザの声に近い声質で容易に短時間で置換することが可能なように、多数のユーザの声を収集し、それらを音声の置換において利用することが可能になる。
上記した実施の形態は、映画を製作するためのマルチメディア製作システムに本発明を適用したものであった。本発明が適用可能なシステムはこれには限らず、たとえばテレビジョン番組、ラジオドラマ等、一般に台詞を発話するタイミング、その長さ、等が発話者ごとに決まったシナリオにしたがって進行するものであればどのようなものにも適用することができる。
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。