JP2009216723A - 類似音声選択装置、音声生成装置及びコンピュータプログラム - Google Patents

類似音声選択装置、音声生成装置及びコンピュータプログラム Download PDF

Info

Publication number
JP2009216723A
JP2009216723A JP2008056938A JP2008056938A JP2009216723A JP 2009216723 A JP2009216723 A JP 2009216723A JP 2008056938 A JP2008056938 A JP 2008056938A JP 2008056938 A JP2008056938 A JP 2008056938A JP 2009216723 A JP2009216723 A JP 2009216723A
Authority
JP
Japan
Prior art keywords
voice
speech
user
distance
similar
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008056938A
Other languages
English (en)
Inventor
Yoshihiro Adachi
吉広 足立
Shinichi Kawamoto
真一 川本
Satoru Nakamura
哲 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATR Advanced Telecommunications Research Institute International
Original Assignee
ATR Advanced Telecommunications Research Institute International
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ATR Advanced Telecommunications Research Institute International filed Critical ATR Advanced Telecommunications Research Institute International
Priority to JP2008056938A priority Critical patent/JP2009216723A/ja
Publication of JP2009216723A publication Critical patent/JP2009216723A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】複数のサンプル音声から、目標音声に類似する音声を精度よく選択できるようにする。
【解決手段】類似音声選択装置は、複数のサンプル音声を記憶する声優音声DBと、音声に対する1種類以上の音響特徴量の各々について算出される、2つの音声の間の距離尺度の重み付き線形和により、目標となる音声と、複数のサンプル音声の各々との間の距離を算出するための距離算出処理部(ステップ902〜910)と、複数のサンプル音声の中から、距離算出処理部により算出された距離が最も小さいものを、目標となる音声に類似する音声として選択する音声選択部(ステップ912)とを含む。
【選択図】図31

Description

この発明は映画、アニメーション等、出演者がシナリオにしたがって発話するマルチメディア製作物などにおける台詞音声作成装置に関し、特に、所定のシナリオにあわせて台詞を効率的に収録し、再生することが可能な台詞音声作成装置に関する。
コンピュータ技術、特に映像及び音響処理技術が発達することにより、利用者を参加させたマルチメディア製作物をごく短時間に製作することが可能なシステムが実用化されつつある。たとえば、博覧会のアトラクションとして、そのようなシステムを導入し、博覧会を訪れた参加者を登場人物とする映画をその場で製作し上映するようなアトラクションが実現できると、より多くの訪問者をひきつけるような効果が期待できる。
そうしたアトラクションシステムが、特許文献1に開示されている。特許文献1に開示されたシステムは、参加者の立体的顔画像を撮影する複数の3次元スキャナ及び画像処理パーソナルコンピュータ(以下単に「PC」と呼ぶ。)と、予め準備された映画のシナリオを登場人物の画像、背景画像等とともに記憶するためのシナリオ保存サーバと、これら3次元スキャナによって撮影された参加者の立体的顔画像に基づき、シナリオ保存サーバに保存されている映画の登場人物の顔を参加者の顔画像に入替えることにより、参加者が登場人物として登場する映画を生成するためのアトラクション映像生成装置と、生成された映画を映写するための映像送出装置とを含む。
複数の参加者はそれぞれ、映画の中の所望の登場人物を指定することでその登場人物として映画の中に登場することができる。
特開2005−115740号公報
しかし、上記したシステムでは、登場人物の顔画像を参加者の顔画像に入替えることはできても、声までを入替えることはできない。これは、顔画像の場合には3次元スキャナで参加者の顔画像を撮影することにより、どのようなシーンでもその顔画像を利用することができるのに比べ、音声の場合にはそのようなことができないためである。
音声の場合には、シナリオにあわせ、かつ映像にあわせて台詞を読上げる作業をする必要がある。こうした作業は単に難しいだけではなく、長時間を有する作業であるという問題点がある。限られた時間しかないアトラクションの参加者にそのような作業を強いることはできず、結果として上記したアトラクションシステムにおいて参加者の声を使用することができなかった。
こうしたことは、映画に限らず他の場面でも起こりうる。たとえば音声のみを使用したラジオドラマのようなものを作成する場合にも、参加者がさくことのできる時間が短ければ、参加者の声を利用して長時間のドラマを作成することは困難である。また、アニメーションを吹替える場合、又は実写の動物に人間の声をあてはめるための吹替えをする場合にも同様の問題が生じる。
また、こうした問題はアトラクションの参加者のように一時的に来訪している人の声を使用する場合だけではなく、いわゆる声優のように吹替えを職業としている人の場合にも生じえる。ある長さのシナリオの全てを声優の声で吹替える場合には、最低限必要な時間が決まってしまい、利用可能な時間が非常に限定されているときには吹替えを完全に行なうことが不可能な場合さえ生じ得る。
仮に、既に他人の声で台詞が多数録音されている場合には、もしかしたら参加者の声とよく似た人物の声を使用して吹替えを行なうことができるかもしれない。しかしそのためには、男女、年齢、声の質などを考慮して、できるだけ多数の人物の声を収録しておかなければならず、それは非常に困難である。こうした問題を解決するために、登場人物の台詞が分かっているマルチメディア製作物を製作するために、登場人物の音声をユーザの声で容易に短時間で置換することが可能であることが望ましい。そのためには、例えば予め準備してあるサンプル音声から、目標となる音声に近い音声を精度よく生成できることが望ましい。そのためにはさらに、予め準備してあるサンプル音声から、目標となる音声に近い音声を選択できることが望ましい。
それ故に本発明の目的は、複数のサンプル音声の中から、目標となる音声に類似する音声を精度よく選択することが可能な音声選択装置を提供することである。
本発明の他の目的は、複数のサンプル音声の中から、目標となる音声に類似する音声を精度よく選択し、この音声から目標となる音声によく似た音声を生成することが可能な音声生成装置を提供することである
本発明の第1の局面に係る類似音声選択装置は、複数のサンプル音声の中から、目標となる音声に類似する音声を選択するための類似音声選択装置であって、複数のサンプル音声を記憶するための手段と、音声に対する1種類以上の音響特徴量の各々について算出される、2つの音声の間の距離尺度の重み付き線形和により、目標となる音声と、複数のサンプル音声の各々との間の距離を算出するための距離算出手段と、複数のサンプル音声の中から、距離算出手段により算出された距離が最も小さいものを、目標となる音声に類似する音声として選択するための音声選択手段とを含む。
ある発話者の音声で、その発話者による録音がなされていない内容の発話をさせたいことがある。この類似音声選択装置は、そうした場合に有効である。具体的には、距離算出手段は、音声に対する1種類以上の音響特徴量の各々について算出される、2つの音声の間の距離尺度を算出し、それらの重み付き線形和により、目標となる音声と、サンプル音声の各々との間の距離を算出する。音声選択手段は、この距離が最も小さいものを選択する。
2つの音声の間の1種類以上の音響特徴量について算出される距離尺度の線形和を用いることにより、単独の音響特徴量のみを用いた場合と比較して、より精度よく、目標音声に近い音声を定めることができる。
好ましくは、距離尺度は、2つの音声の同一の音響特徴量の間での動的時間軸伸縮(Dynamic Time Warping:DTW)によって算出される距離尺度である。
より好ましくは、距離尺度は、2つの音声の同一の音響特徴量の間でガウス混合分布モデル(Gaussian Mixture Model)によって算出される距離尺度である。
このように、DTW又はGMMを用いて算出された距離尺度の線形和を用いることにより、単独の音響特徴量のみを用いた場合と比較して精度がより高くなることが実験により確認できる。
さらに好ましくは、距離尺度の重み付き線形和の結合係数は、複数の音声について、複数の目標音声の各々との類似度の順位付けを人間によって行なった結果と、距離算出手段によって行なった結果との相関が最大となるように、予め決定されている。
重み付き線形和の結合係数が、人間の判断によって付された順位付けとの相関が高い結果が得られるように、予め決定されている。1種類以上の音響特徴量についての距離尺度の線形和を使用するため、この相関を高くすることができる。その結果、人間による類似音声の選択結果に近い結果が得られる音声選択装置が得られる。
本発明の第2の局面に係るコンピュータプログラムは、コンピュータにより実行されると、当該コンピュータを、複数のサンプル音声を記憶するための手段と、音声に対する1種類以上の音響特徴量の各々について算出される距離尺度の重み付き線形和により、目標となる音声と、複数のサンプル音声の各々との間の距離を算出するための距離算出手段と、複数のサンプル音声の中から、距離算出手段により算出された距離が最も小さなものを、目標となる音声に類似する音声として選択するための音声選択手段として機能させる。
本発明の第3の局面に係る音声生成装置は、予め定められた内容の音声を、目標となる音声に類似する音声で生成するための音声生成装置であって、予め定められた内容の、複数のサンプル音声を記憶するための手段と、音声に対する1種類以上の音響特徴量の各々について算出される、2つの音声の間の距離尺度の重み付き線形和により、目標となる音声と、複数のサンプル音声の各々との間の距離を算出するための距離算出手段と、複数のサンプル音声の中から、距離算出手段により算出された距離が最も小さなものを、目標となる音声に類似する音声として選択するための音声選択手段と、音声選択手段によって選択された音声を用いて、予め定められた内容の音声を生成するための音声生成手段とを含む。
この音声生成装置では、第1の局面に係る音声選択装置と同様の構成で、目標となる音声が複数のサンプル音声から選択され、選択された音声により予め定められた内容の発話の音声が生成される。したがって、第1の局面に係る音声選択装置と同様、精度よく、目標音声に近い音声を定め、その音声によって予め定められた内容の発話の音声を生成することができる。
好ましくは、音声選択手段は、複数のサンプル音声の中から、距離算出手段により算出された距離が最も小さな複数のものを、目標となる音声に類似する音声として選択するための手段を含み、音声生成手段は、音声選択手段によって選択された複数の音声に対するモーフィングを行なって新たな音声を生成するための音声モーフィング手段を含む。
複数のサンプル音声の中から、目標となる音声に最も類似する音声が選択され、さらにそれらのモーフィングによって音声が合成される。モーフィングによって、選択されたサンプル音声よりもさらに目標となる音声に近い音声を生成することができる。
より好ましくは、音声生成装置はさらに、選択するための手段によって選択された複数の話者の音声を、音声モーフィング手段によってモーフィングして得られたモーフィング後音声の所定の特徴量ベクトルと、目標となる音声の、所定の特徴量に対応する特徴量ベクトルとの間の距離が最小となるように、音声モーフィング手段によるモーフィング時の複数の話者のモーフィング比率を最適化するための最適化手段を含む。
モーフィング比率が最適化されているため、モーフィングにより得られる音声は、目標となる音声により近くなる。
本発明の第4の局面に係るコンピュータプログラムは、コンピュータにより実行されると、当該コンピュータを、予め定められた内容の、複数のサンプル音声を記憶するための手段と、音声に対する1種類以上の音響特徴量の各々について算出される、2つの音声の間の距離尺度の重み付き線形和により、目標となる音声と、複数のサンプル音声の各々との間の距離を算出するための距離算出手段と、複数のサンプル音声の中から、距離算出手段により算出された距離が最も小さなものを、目標となる音声に類似する音声として選択するための音声選択手段と、音声選択手段によって選択された音声を用いて、予め定められた内容の音声を生成するための音声生成手段として機能させる。
以下、本発明の台詞音声作成装置の一実施の形態に係る、類似音声選択及び音声生成を行なうマルチメディア製作システムについて説明する。以下の説明及び図面において、同一の部品には同一の名称及び参照番号を付してある。それらの機能も同一である。したがってそれらについての詳細な説明は繰返さない。
図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と、後述するように、声優音声DB80に記憶された声優音声のうちから、ユーザの音声に似た声質のものを選択する際に使用される、複数の音響特徴量を線形結合して得られる複合的音響特徴量を算出するための、線形結合係数を記憶するための線形結合係数記憶部94とを含む。本実施の形態では、後述するように8種類の音響特徴量の線形結合で複合的音響特徴量を算出する。したがって線形結合係数記憶部94には、8つの係数が記憶される。
マルチメディア製作システム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を参照して、ユーザの吹替え対象のキャラクタの台詞ごとに条件に合致した手法を決定し、さらに、図1に示す線形結合係数記憶部94からの線形結合係数を参照して、声優音声DB80に記憶された声優音声のうちでユーザ音声に類似した3名の声優の音声を決定し、それら3名の声優音声をモーフィングすることによりユーザ音声に類似した音声を生成する際のモーフィング率ベクトルを計算するための合成手法決定部116と、合成手法決定部116によって決定された3名の声優音声の識別子を記憶するための類似声優記憶部130と、合成手法決定部116によって決定されたモーフィング率ベクトルを記憶するためのモーフィング率記憶部132と、合成手法決定部116によって決定された手法を用いてキャラクタの台詞音声をユーザの声質にあわせて作成し、台詞ごとに音声ファイル110として出力するための音声作成部118とを含む。
音声作成部118はこの合成の際に、手法によって声優音声DB80、ユーザ音声DB120、素片DB82、標準音声記憶部74等に記憶された音声、類似声優記憶部130に記憶された識別子に対応する声優音声、又はモーフィング率記憶部132に記憶されたモーフィング率ベクトルを適宜利用する。また音声作成部118は、生成された台詞の発話音声に対し、カット情報記憶部76に記憶されたカット情報に基づいて決定される音響効果を加えて最終的な音声ファイル110を出力する。
合成手法決定部116において行なわれる、ユーザ音声に類似した声優音声の選択処理の詳細と、それらを使用したモーフィングの詳細と、モーフィングのためのモーフィング率ベクトルの算出方法の詳細については後述する。
キャラクタ音声作成部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に記憶されている声優による台詞音声のうち、ユーザの音声に最も近い声質を持つ声優の台詞音声が採用される。このときの声優音声の決定には、練習用台詞から得られたユーザ音声の8種の特徴量(基本周波数、スペクトル分布など)について、比較対象となる音声との間で算出される距離の線形和を用いた声質間の距離比較が用いられる。この際の、これら特徴量の線形和の係数には、図1に示す線形結合係数記憶部94に記憶された線形結合係数が使用される。ただし、本実施の形態では、この比較は図2に示す合成手法決定部116によって行なわれ、その結果である声優音声の識別子が類似声優記憶部130に記憶されている。第4の音声生成部306はこの情報を利用する。後述する第5の音声生成部308、第7の音声生成部312、及び第8の音声生成部314でも同様である。この類似した声優音声の決定の際には、ユーザの発話のうち、必須発話部分の音声と、声優音声の対応する台詞音声とが使用される。
第5の音声生成部308も、台詞のうち、一部についてユーザの台詞音声を収録することができなかったときに有効な手法である。この手法では、収録することができた台詞についてはユーザの台詞音声の話速変換をして台詞音声を生成する。収録することができなかった台詞については、声優音声DB80に記憶されている声優による台詞音声のうち、ユーザ音声と声質が最も類似のもの3個を特定し、その台詞音声にさらにユーザの声質を反映させた声質変換を行なって台詞音声とする。類似した声優音声の特定には、前述したとおり類似声優記憶部130に記憶された声優音声の識別子を用いる。声質変換は、類似声優記憶部130に格納された識別子に対応する3名の声優音声に対し、モーフィング率記憶部132に記憶された、合成手法決定部116によって決定されたモーフィング率ベクトルを用いた、音声分析変換合成システムSTRAIGHT(http://www.wakayama-u.ac.jp/~kawahara/STRAIGHTadv/)によるモーフィングによって行なわれる。
第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により参照される。類似声優記憶部130は、第4の音声生成部306、第5の音声生成部308、第7の音声生成部312、及び第8の音声生成部314により参照される。モーフィング率記憶部132は、第5の音声生成部308及び第8の音声生成部314により参照される。
図10は、図2に示す合成手法決定部116で行なわれる音声の生成手法の決定処理を、コンピュータハードウェア上で実現するコンピュータプログラムのフローチャートである。図10を参照して、このプログラムは、ユーザ音声から得られる8種類の音響特徴量の線形和からなる複合音響特徴量と、声優音声DB80に記憶された各声優音声から得られる同じ複合音響特徴量とを用いた距離比較により、ユーザ音声に最もよく似た3つの声優音声を特定し、これら声優音声の識別子を図9に示す類似声優記憶部130に記憶するステップ330と、ステップ330で特定された3つの声優音声を用いたモーフィングにより、ユーザ音声の声質に似た音声を合成する際の、モーフィング率ベクトルを算出し、図9に示すモーフィング率記憶部132に記憶させるステップ332とを含む。ステップ330及びステップ332の詳細については後述する。
このプログラムはさらに、以下の繰返しを制御するための変数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とを含む。声質が類似した声優音声の読出には、前述したとおり類似声優記憶部130(図9)に記憶された声優音声の識別子が用いられる。これは、以下に説明する図17のステップ504、図19のステップ560、図20のステップ580でも同様である。したがってそれら個所については上記説明は繰返さない。
このプログラムはさらに、ステップ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 Disc)ドライブ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は以下のように動作する。なお、ユーザ音声に最も類似した声優音声を選択する際、及びモーフィング率の決定の際のマルチメディア製作システム50の動作については後に詳述する。また、8種類の音響特徴量を線形結合して複合的音響特徴量を算出する際の、線形結合係数の算出についても後述する。以下の説明では、この線形結合係数の算出は既に行なわれて線形結合係数記憶部94に記憶されているものとする。
図1を参照して、複数のユーザがマルチメディア製作システム50を利用するものとして、予め各ユーザには識別情報が割当てられているものとする。また各ユーザには、映画の登場人物の誰と入替わるかが決定されているものとする。
マルチメディア製作システム50では、予め映像素材DB70には映像素材が、台詞情報記憶部72には台詞情報が、標準音声記憶部74には各台詞に対し、男性、女性、年齢に応じた標準音声が、カット情報記憶部76には音響効果情報が、それぞれ格納されている。また、声優音声DB80には各台詞を複数の声優がそれぞれ発話したものが台詞別、声優別に格納されているものとする。各声優の音声については、予め音響分析が行なわれており、それぞれの声質を表す8種類の音響特徴量が算出され、声優音声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を参照して、ステップ330において、ユーザ音声に最も類似した3個の声優音声を声優音声DB80に記憶された声優音声の中から選択し、それらの識別子を類似声優記憶部130(図2)に記憶する。ステップ332において、これら3個の声優音声からユーザ音声の声質に類似した音声をモーフィングにより生成するためのモーフィング率ベクトルrを推定し、モーフィング率記憶部132図2)に記憶する。ステップ330及びステップ332の処理の詳細については、他の処理部のもので行なわれるのとあわせ、後に詳述する。さらに、ステップ340〜ステップ344によって、処理すべき台詞のうち、先頭の台詞を選択する。そして、その台詞の台詞番号をキーに、手法リストテーブル78を検索し、その台詞に対する手法リストWLISTを入手する。
続いてステップ348〜354の処理により、手法リストWLISTに記載された手法について、先頭から順番に調べ、利用可能な手法で最初に発見された手法を用い、処理対象の台詞をその手法で処理することを決定し、その手法を特定する情報を音声作成部118に与え、処理させる。手法リストは必ずその中に利用可能なものがあるように作成するが、仮にない場合でもデフォルトの手法を用いて台詞音声の生成ができるようにしておく。
このようにして処理対象の中の最初の台詞について、ユーザの収録音声に基づいて、音声作成部118の第1〜第9の音声生成部300〜316中で、選択された手法に対応するものに対し、台詞音声の生成を指示する。このとき合成手法決定部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)。この際の声優音声の選択には、類似声優記憶部130に記憶された声優音声の識別子が使用される。これは後の処理でも同様であるから、後の説明では詳細を繰返すことはしない。ステップ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)、その声優音声を、ユーザ音声の特徴を用いて声質変換し、台詞音声(i)として出力し処理を終了する(ステップ506)。ステップ504での声優音声の選択時、及びステップ506での声質変換時の音声生成部308の動作については後述する。ステップ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)。声質変換時の音声生成部314の動作は、第5の手法のステップ506の場合と同様である。
第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はこの音声を再生する。台詞音声は、上記したいずれかの手法にしたがって再生又は合成された音声である。この音声は、基本的には各ユーザの音声そのままか、それが話速変換されたものか、又はできるだけユーザの音声の声質に似るように選択され、又は合成された音声である。もちろん、中には標準音声をそのまま再生する場合もあり得るが、台詞の全体を見ると、それぞれのキャラクタの声は、対応するユーザの声質に似たものに感じられる。
なお、上の実施の形態の説明では、ユーザの音声を素片化し、素片DB82に追加している。しかし本発明はそのような実施の形態には限定されない。例えば、ユーザの音声のうち、高品質に録音できた台詞音声は、声優音声DB80に登録するようにしてもよい。こうすることで、多数のユーザの音声を声優音声DB80に追加することが可能になり、さまざまな音声を効率よく収集することが可能になる。
したがって、マルチメディア製作システム50によって、予め準備された映画の登場人物の顔画像だけでなく、その台詞まで、ユーザの音声に置換えたかのような映画を作成し、上映することができる。その結果、登場人物の台詞が分かっているマルチメディア製作物において、登場人物の音声をユーザの声で容易に短時間で置換することが可能になる。また、登場人物の音声をユーザの声に近い声質で容易に短時間で置換することが可能になる。さらに、登場人物の音声をユーザの声に近い声質で容易に短時間で置換することが可能なように、多数のユーザの声を収集し、それらを音声の置換において利用することが可能になる。
[類似音声の選択及び声質変換のための構成]
以下、図10のステップ330で実行される、ユーザ音声に類似した声優音声を決定する処理と、図17のステップ506及び図20のステップ582で実行される、声質を変換する処理(声質変換処理)とについて説明する。以下の説明において用いられる変数及び定数(I、i、J、j、M、N、S、s等)はいずれも、プログラム上、局所変数として用いられるものであり、他の図に出現する変数とは別個のものである。
最初に、類似音声を決定する際の原理の概略について説明する。詳細については後述する。本実施の形態では、ユーザの音声に類似した声優音声を決定する際に、特定の音響特徴量の差を単純に基準とするのではなく、できるだけ人間の知覚に近いような基準を採用する。そのために、音声について予め複数種類の音響特徴量を算出し、二つの音声の間でこれらによって算出される距離尺度の線形結合で、音声の類似度(本明細書ではこれを「知覚的距離」と呼ぶ。)を表現することにする。この知覚的距離によって、人間の知覚に近い形で類似音声の選択ができるように、予めこの線形結合の係数αを最適化しておく。この最適化を実現するための処理については後述する。
声優音声については、予め上記した複数の音響特徴量の各々を算出しておき、これらを声優音声の識別子と関連付けて記憶しておく。ユーザの音声が得られると、その音声から同様にして複数の音響特徴量を算出する。これら複数の音響特徴量と、各声優に対して算出されていた複数の音響特徴量との間で知覚的距離を算出し、知覚的距離が小さいものから順番に、ユーザの音声に類似した音声とする。
なお、以下に述べる実施の形態では、発話ごとにユーザ音声に声質が類似した声優音声を決定するものとしているが、実際には練習用発話の録音が終了した時点で、録音された発話を用いてそのユーザ音声に似た声優音声を決定しておく。こうすることで、声質変換の際に使用するモーフィング率(後述)もあらかじめ算出しておくことができる。本実施の形態では、後述する声質変換処理との関連で、類似音声を決定する処理では、3人の声優音声を、ユーザ音声に類似した音声として使用する。また、音響特徴量としては8種類を用いる。すなわち、本実施の形態では、線形結合係数αiとして、α〜αが用いられる。
本実施の形態で使用される音響特徴量は以下の通りである。なお、前述の通り、本実施の形態では、音声分析変換合成システムSTRAIGHTをモーフィングに用いるため、STRAIGHT特有の音響特徴量が含まれている。
(1)MFCC(Mel Frequency Cepstrum Coefficient)12次元+ΔMFCC12次元+Δパワー1次元の計25次元特徴ベクトル、
(2)声帯音源の周波数特性を表わす35次以上の高次STRAIGHTケプストラム(CepH)、
(3)声帯音源の周波数特性の傾斜を表わすSTRAIGHTケプストラムの1次(Cep1)、
(4)2.6kHz以上の対数スペクトラム(Spectrum)、
(5)STRAIGHTの分析パラメータである非周期性指標の2.6kHz以下(Ap)、
(6)基本周波数(F0)、
(7)声質表現に重要な第1〜第4ホルマント周波数(Formant)、及び
(8)対数スペクトルの0〜3kHzのスペクトル傾斜(SpecSlope)。
2つの音声の間で、これら音響特徴量の各々に関して算出される距離尺度としては、DTW(Dynamic Time Warping)距離又はGMM(Gaussian Mixture Model)尤度(混合数=16)が用いられる。これらのいずれを使用して音響特徴量の距離を組合わせた場合も、音響特徴量を単独で用いた場合よりも好ましい結果が得られた。中でもDTWはGMMを用いた場合よりもよい結果をもたらした。したがって、本実施の形態ではDTWを用いる。
次に、声質変換処理の原理について説明する。本実施の形態で行なう声質変換は、声優音声の中から、上記した知覚的距離が近い音声であるとして選択された複数の声優音声を混合(モーフィング)することにより、さらにユーザの声質に近い音声を合成する処理である。概念的には次のように表すことができる。
図37に示すように、選択された声優音声が本実施の形態のように3個(第1〜第3の声優音声)の場合を考える。説明を簡単にするために、知覚的距離を算出するために使用される音響特徴量が8個ではなく3個の場合について説明する。この場合、選択された3個の声優音声は、3次元の音響特徴量空間(話者空間)の中の3つの点990,992及び994に対応するということができる。これら音声を混合(モーフィング)した音声は、3点990、992及び994を頂点とする三角形の平面内の点となる。本実施の形態では、これらモーフィング後の音声のうち、ユーザ(ターゲット話者)の音声に対応する点998との距離997が最も小さくなる点996に対応するものを採用する。
このような処理により、予め声優によって録音されていた台詞音声から、ユーザの声質に近い台詞音声を合成することができる。
なお、ここで選択される声優音声の数は3個に限定されるわけではなく、2個でもよいし、4個以上でもよい。選択された声優音声が2個の場合には、両者を結ぶ線分上の点でターゲット話者に最も近い点に対応する音声がモーフィングにより合成される。選択された声優音声が4個以上の場合には、平面ではなくそれら4個の声優音声に対応する点により既定される4面体の内部の点のうち、ターゲット話者の音声に最も近い位置にある音声がモーフィングにより合成される。5個以上の場合も同様である。
また、音響特徴量については、特に複数である必要はなく、1個以上であってもよい。この場合には、線形結合係数はベクトル形式ではなく単独の数となる。この場合でも、線形結合係数が人間の知覚に基づく音声の類似順位との相関が高く選ばれているため、人間が選ぶ場合と同様の声質の音声を選択できる。
以下、システムの稼動に先立って、上記した類似音声の判定に使用される音響特徴量の距離尺度の線形結合係数を算出する手順について説明する。
図32に、これら線形結合係数を算出するための基礎データとして、人間により知覚された音声の類似の順序を示すデータを作成する手順をフローチャート形式で示す。図32を参照して、この手順は、予め録音されたM人の話者音声を準備し、それらの音響特徴量を算出するステップ920と、これらM人の話者音声の各々に対し、以下のプロセス924を実行するステップ922とを含む。
プロセス924は、処理対象の音声をターゲット音声として、M人の話者音声がターゲット音声に類似していると思われる順位を人間の知覚により設定するステップ926と、このときの類似順位を、そのターゲット音声と関係付けて記憶するステップ928とを含む。
この順位データ作成処理を実行することにより、1つのターゲット音声に対し、1〜M番までの順位を示すデータが1セットずつ作成される。ターゲット話者として選ばれる話者は全体でM人なので、全体では順位データはMセット作成される。
本実施の形態では、線形結合係数の信頼性を高めるために、上記した順位データ作成処理を少なくとも2回行なう。すなわち、最終的には1つのターゲット音声に対し、各々が1〜M番までの順位を示す順位データが2セット、全体では2Mセット作成される。
このように順位データが作成されると、線形結合係数を算出することができる。図33に、線形結合係数算出処理を実現するプログラムのフローチャートを示す。
図33を参照して、このプログラムは、順位データ作成処理で準備されたM人の話者の音響特徴量データをコンピュータ読取可能な形式で記憶装置内に準備するステップ930と、これらM人の話者の各々に対し、その話者をターゲット話者として選択し、以下に説明するプロセス934を実行するステップ932とを含む。
プロセス934は、M個の話者音声からN名(N≦M)の話者を選出するステップ935と、順位データ作成処理で作成された順位データのうち、処理中のターゲット話者に対して作成された2つの順位データセットを読出し、それぞれの順位データに基づいて、ステップ935で選択されたN名の話者がターゲット話者に類似していると知覚された相対的な順位を計算するステップ936とを含む。順位データセットが2組あるので、このときの相対的な順位のデータセットも2組作成される。
プロセス934はさらに、ステップ936で計算された2組の相対的な順位が一致するか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ938を含む。ステップ938の判定結果がNOの場合には、これらN名の話者についての順位データの信頼性が低いということであるから、これらN名の話者の組に対する処理をこれ以上行なわず、プロセス934の終わりにジャンプする。一方、ステップ938の判定結果がYESの場合には次の処理が実行される。人間の知覚による類似の順位付けには、類似順位の設定者の主観が影響するため、このようにできるだけ客観性を高めることで、最終的に得られる線形結合係数の信頼性を高めることができる。
プロセス934はさらに、ステップ938における判定結果がYESのときに実行され、このターゲット話者と、ステップ935で選出されたN名の話者の組合せと、N名の話者の順位とをRAMに記憶してこのプロセス934を終了するステップ940を含む。
このプログラムはさらに、線形結合係数として適当な値で準備されていた初期値α=(a1,a2,…,a8)を決定するステップ942と、この線形結合係数αをニュートン法を用いて最適化し、知覚的距離による順位と人間により判断された音声の類似の相対順序との間の相関値が最も高くなるようにするステップ944と、ステップ944によって最適化された線形結合係数αを線形結合係数記憶部94に保存して処理を終了するステップ946とを含む。知覚的距離は音響的特徴量に基づくものであるので、本明細書ではこれを音響的類似度と呼ぶ。一方、人間による類似の相対順序は、あくまで人間の知覚によるものなので、これを本明細書では知覚的類似度と呼ぶ。
図34は、図33のステップ944で実行される、ニュートン法により線形結合係数α=(a1,a2,…,a8)を最適化するためのプログラムのフローチャートである。図34を参照して、このプログラムは、ニュートン法にしたがい、αの周辺値を準備するステップ1000を含む。本実施の形態では、αの周辺値として16個を用いる。具体的には、α=(a1,a2,…,a8)の要素a1について、他の要素の値は維持したまま、要素a1の値だけを+1した1番目の周辺値α1と、同じく要素a1について、他の要素の値は維持したまま、要素a1の値だけを−1した2番目の周辺値α2とを含む。以後、他の要素a2〜a8の各々に対して同様の処理をし、周辺値α3〜α16を設定する。すなわち、ステップ1000の処理により、線形結合係数αの周辺値としてα1〜α16の16通りの値が得られる。
このプログラムはさらに、ステップ1000に続いて実行され、図33のステップ940で記憶した、N名の話者の組合せを全て読出すステップ1002と、読出されたN名の話者の組合せの全てに対し、後述するプロセス1006を行なうステップ1004とを含む。
プロセス1006は、処理対象となっているN名の話者の組合せに含まれる各話者に対し、線形結合係数α及びその周辺値α1〜α16の各々について、ステップ1010を実行するステップ1008を含む。ステップ1010では、それらを知覚的距離算出の際の線形結合係数として、ターゲット話者と処理対象の話者との間の知覚的距離を以下の式によって算出する。
Figure 2009216723
ただし、L(K)は、線形結合係数αによりK番目の話者に対して算出された知覚的距離、L(K)は、j番目の周辺値αjによりK番目の話者に対して算出された知覚的距離、Lはi番目の音響特徴量に対してターゲット話者と距離計算対象の話者との間で算出された距離、aは線形結合係数αのi番目の要素、aijはj番目の周辺値αjのi番目の要素である。
ステップ1010を実行することにより、N名の話者の各々について17種類の知覚的距離が算出される。
このプログラムはさらに、ステップ1008で算出された、17種類の知覚的距離(音響的類似度)を基準として、処理対象となっているN名の話者について17種類の順位の組合せを算出するステップ1012と、ステップ1012で算出された17種類の順位の組合せの各々と、人間により判断された類似の相対順序(知覚的類似度)との間で、Spearmanの順位相関係数ρを以下の式により算出し、記憶するステップ1014とを含む。
Figure 2009216723
ここで、a、bはそれぞれ知覚的類似度による順位、及び音響的類似度による順位である。
以上のプロセス1006をN名の話者の組合せの各々に対して行なうことにより、最大で17×個のSpearmanの順位相関係数ρが算出される。
このプログラムはさらに、プロセス1006が完了した後に実行され、ステップ1014で記憶された、最大で17×個のSpearmanの順位相関係数ρのうち、共通の線形結合係数α又はその周辺値αj(1≦j≦16)を用いて算出されたものをそれぞれ読出し、線形結合係数α又はその周辺値αjごとに、その平均値を算出するステップ1016と、ステップ1016で算出された順位相関係数の平均値のうち、線形結合係数αについて算出された平均値がそれ以外の周辺値αjの各々について算出された平均値の全てより大きいか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ1018と、ステップ1018における判定結果がNOである場合に実行され、線形結合係数αを、周辺値αx(x=1〜16)のうち、順位相関係数の平均値が最も高かったもので更新し、制御をステップ1000に戻すステップ1020とを含む。ステップ1018の判定結果がYESの場合には、このプログラムの処理は終了し、図33のステップ946に復帰する。したがって、このときの線形結合係数αが線形結合係数記憶部94に記憶される。
このようにして得られた線形結合係数は、1人又は2人による類似順位付けのデータを用いたものではあるが、対象となる話者の数がM人と複数であり、かつM人の中からN人を選択する仕方は一般的に多数あるため、信頼性の高いものとなる。
以下、このようにして決定され保存された線形結合係数を用い、どのようにしてユーザに類似した声優音声が選択されるかについて説明する。この選択は、以下に説明する類似音声決定プログラムにより行なわれる。
図31を参照して、類似音声決定プログラムは、予め算出され保存されている線形結合係数αi(i=1〜8)を、記憶装置から読出すステップ900と、以下の繰返しを制御するための変数Jに0を代入することにより変数Jを初期化するステップ902と、この変数Jに1を加算するステップ904と、ステップ904に続いて実行され、変数Jの値が声優音声DB80中の声優の数JMAXよりも大きいか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ906とを含む。
このプログラムはさらに、ステップ906の判定結果がNOであると判定されたことに応答して実行され、声優音声DB80からJ番目の声優音声データを読出すステップ908と、J番目の声優音声データとこのユーザの音声データとの知覚的距離L(J)を以下の式により算出するステップ910とを含む。
Figure 2009216723
なおLはi番めの音響特徴量について算出された距離である。この後、処理はステップ904へ戻される。
このプログラムはさらに、ステップ906でYESと判定されたことに応答して実行され、声優音声DB80に記憶された数の分だけ算出された知覚的距離を昇順にソートし、知覚的距離が最も小さいものから順番に所定個数(この数を一般的にSとする。本実施の形態ではS=3である。)の声優音声を、このユーザの音声に最も類似する音声として選択して処理を終了するステップ912を含む。
図35を参照して、声質変換プログラムは、ユーザの声質に似た声質を持つとして選択されたS人(本実施の形態ではS=3)の声優の音声について、予め算出され記憶されていた上述した8種類の音響特徴量及び予め記憶されていた線形結合係数を記憶装置から読出すステップ950と、モーフィング時の音韻の時間情報及びホルマント位置が一致するように、これら音響特徴量の時系列に特徴点(開始時刻、終了時刻、及び中間時刻等並びに第1〜第4ホルマント位置)を付与するステップ952と、選択された声優音声の音響特徴量と、ユーザ音声の音響特徴量とを用いて、声優音声を混合してユーザ音声の声質に似た音声を合成するための各声優音声のモーフィング率(混合率)を推定するステップ953と、推定されたモーフィング率(混合率)に基づいて、前述した特徴点のモーフィング後の位置を決定するステップ954と、特徴点以外の点の音響特徴量を特徴点間において区分線形補間することにより、時間軸及び周波数軸を伸縮させるステップ956と、各時点における各音響特徴量を各声優音声に与えられたモーフィング率に基づいて線形結合してモーフィング音声Xを算出するステップ958とを含む。モーフィング率の決定方法については後述する。ステップ952での特徴点の付与は、本実施の形態ではアテンダントにより行なわれる。
ステップ958では、モーフィング音声Xは以下の式により算出される。
Figure 2009216723
r=[r … rをモーフィング率ベクトルと呼ぶ。
図36を参照して、図35のステップ954及びステップ958で用いられるモーフィング率を算出するための、図35のステップ953の処理を実現するプログラムについて説明する。このモーフィング率を推定するための式は、後述するとおり解析的に解くことが困難であるために、ニュートン法を用いた逐次的処理により最適解を求める。以下、この逐次的処理について説明する。
複数の話者の音声(本実施の形態においてはユーザ音声に類似した声優音声)のモーフィングでは、様々な声質をモーフィング率によって実現できる。このため、目標話者(本実施の形態においてはユーザ)の声質になるようなモーフィング率を推定する。本実施の形態においては以下の式(1)を満たすようにモーフィング率を決定する。
Figure 2009216723
この手法では、この式(2)を満足するモーフィング率ベクトル^rは、以下の式(3)を最小とするように推定される。
Figure 2009216723
本実施の形態の音声モーフィングには、前述のように音声分析変換合成システムSTRAIGHTをモーフィングに用いる。この音声モーフィングでは、特徴量およびモーフィング後の時間周波数平面を同一のモーフィング率で制御するため、式(3)における勾配は非線形であり、解析的に解くことが困難である。そこで、次の式(5)(6)により、ニュートン法でモーフィング率を逐次的に求める。
Figure 2009216723
ここで、ε’(^r)は、式(3)に対して、時間成分及び周波数成分にかかるモーフィング率を定数として近似したものを表す。βは適切な定数であり、例えば0.1〜1の範囲の任意の数が選ばれる。また、
Figure 2009216723
はn回目の更新で得られたモーフィング率^rにより時間周波数伸縮を行なった特徴量であり、
Figure 2009216723
である。
図36を参照して、モーフィング率推定処理のプログラムは、最初に前述したε(r)を記憶する変数に、その変数が記憶し得る最大値を記憶するステップ970と、ステップ970に続き、モーフィング率ベクトルrとして適当な初期値を設定するステップ972と、設定されているモーフィング率ベクトルrを使用してε(r)を式(3)を使用して算出するステップ974と、ステップ974で算出されたε(r)の値が収束したか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ976とを含む。ステップ976の判定では、この前に算出されたε(r)の値と、ステップ974で算出されたε(r)の値との差の絶対値が所定のしきい値より小さいか否かを基準とする。
このプログラムはさらに、ステップ976の判定結果がNOのときに実行され、式(6)によってEnを算出するステップ978と、このEnと現在設定されているモーフィング率ベクトルrとを使用して、新たなモーフィング率ベクトルrを式(5)を使用して算出して制御をステップ974に戻すステップ980とを含む。
このプログラムはさらに、ステップ976での判定結果がNOのときに実行され、そのときのモーフィング率ベクトルrが求める値であるとして出力し処理を終了するステップ982を含む。
なお、図36に示すアルゴリズムはニュートン法を実現するための一例であって、これ以外の最適化アルゴリズムを使用してもよい。多くの場合、数値計算用のプログラムキットにはニュートン法等の最適化アルゴリズムを実現するものがあり、それらを使用すると簡単にこの計算を実現できる。
[類似音声の選択及び声質変換の際のマルチメディア製作システム50の動作]
類似音声の選択及び声質変換の際には、マルチメディア製作システム50は以下のように動作する。最初に類似音声の選択の処理について説明し、次に声質変換の処理について説明する。なお、これに先立ち、既に説明したように類似音声を評価するための8種類の音響特徴量のための線形結合係数が求められ、記憶装置に記憶されているものとする。
最初に、声優音声DB80中に記憶されている台詞(i)の声優音声のうち、ユーザ音声と最も声質が類似したものを以下に述べるように決定し読出して台詞音声(i)として出力する(ステップ474、ステップ504、ステップ560及びステップ580)。ここで、この処理は、第4の音声生成部306、第5の音声生成部308、第7の音声生成部312及び第8の音声生成部314により実行されるが、以下においては、これらの音声生成部を区別しないで、単に音声生成部と記載する。
音声生成部は、類似音声決定処理には以下のように動作する。図31を参照して、音声生成部は、予め求められ記憶されていた線形結合係数αi(i=1〜8)を記憶装置から読出す(ステップ900)。ステップ902〜910の処理により、声優音声DB80に記憶された全ての声優音声について、ユーザの音声との知覚的距離が算出される(ステップ910)。声優音声DB80に記憶されている全ての声優音声について、知覚的距離の算出が終了すると、算出された知覚的距離が最も小さい声優音声から所定個数が、ユーザ音声と最も声質が類似したものとして選択される(ステップ912)。
最も類似した声質を持つ声優音声として1つのみ決定する場合には、ステップ912では知覚的距離が最も小さな声優音声が選択される。最も類似した声質を持つ声優音声を複数個決定する場合には、ステップ912では知覚的距離が小さなものから順にその個数の声優音声が選択される。
図33を参照して、声質変換をする際には、マルチメディア製作システム50は以下のように動作する。なお、ここではユーザに類似する声優音声として3種類が選択されるものとする。これら声優音声が選択されると、処理対象の台詞の声優音声を、ユーザ音声の特徴を用いて声質変換する(ステップ506及びステップ582)。この処理は、第5の音声生成部308及び第8の音声生成部314により実行されるが、以下においては、これらの音声生成部を区別しないで、単に音声生成部と記載する。
音声生成部は、声質変換処理では以下のように動作する。なお、図31に示す類似音声決定処理と、図36に示すモーフィング率推定処理とは、練習用音声の収録が終わった時点で行なわれる。また、声優音声の全てに対して、モーフィングのための特徴点が予め付与されているものとする。
図35を参照して、音声生成部は、選択された3名の声優音声の音響特徴量(8種類)を記憶装置から読出す(ステップ950)。ユーザ音声に対して、アテンダントにより特徴点が付与される(ステップ952)。続いて、3人の声優音声の音響特徴量と、ユーザ音声の音響特徴量とに基づいて算出されたモーフィング率に基づいて、モーフィング後の特徴点の位置が決定されて(ステップ954)、特徴点以外の点を特徴点間において音響特徴量を区分線形補間して時間軸及び周波数軸を伸縮させ(ステップ956)、その後、推定されたモーフィング率を用いて声優音声の音響特徴量を線形結合する(ステップ958)。
したがって、マルチメディア製作システム50によって、人が知覚するのと同様に、ユーザの音声に最も類似する声優の音声を選ぶことができ、それら複数話者の音声をモーフィングしてユーザ音声の声質に類似した音声を生成することができる。その結果、登場人物の台詞が分かっているマルチメディア製作物において、ユーザの音声が少なくても、登場人物の音声を、ユーザの声に最も近いと人間が感ずるような声に的確に置換することが可能になる。
上記した実施の形態は、映画を製作するためのマルチメディア製作システムに本発明を適用したものであった。本発明が適用可能なシステムはこれには限らず、たとえばテレビジョン番組、ラジオドラマなど、一般に台詞を発話するタイミング、その長さ、などが発話者ごとに決まったシナリオにしたがって進行するものであればどのようなものにも適用することができる。
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
本発明の一実施の形態に係るマルチメディア製作システム50の機能ブロック図である。 キャラクタ音声作成部102の機能ブロック図である。 台詞情報記憶部72に記憶される台詞情報テーブルの構成を示す図である。 録音終了時の台詞音声の録音状態の例を示す図である。 図2に示す音声収録部114で行なわれる音声収録処理を、コンピュータハードウェア上で実現するコンピュータプログラムの前半部分のフローチャートである。 図2に示す音声収録部114で行なわれる音声収録処理を、コンピュータハードウェア上で実現するコンピュータプログラムの後半部分のフローチャートである。 ユーザ情報入力部100がユーザの音声収録時に入出力装置112の画面上に表示する表示の一例を示す図である。 ユーザ音声DB120の構成を示すブロック図である。 音声作成部118の構成を示す機能ブロック図である 図2に示す合成手法決定部116で行なわれる音声の生成手法の決定処理を、コンピュータハードウェア上で実現するコンピュータプログラムのフローチャートである。 手法リストテーブル78の構成を示す図である。 カット情報記憶部76に記憶された音響効果リストテーブルの構成を示す模式図である。 図9に示す第1の音声生成部300を実現するプログラムのフローチャートである。 図9に示す第2の音声生成部302を実現するためのプログラムの制御構造を示すフローチャートである。 図9に示す第3の音声生成部304を実現するためのプログラムのフローチャートである。 図9に示す第4の音声生成部306を実現するためのプログラムの制御構造を示すフローチャートである。 図9に示す第5の音声生成部308を実現するプログラムの制御構造を示すフローチャートである。 図9に示す第6の音声生成部310を実現するためのプログラムのフローチャートである。 図9に示す第7の音声生成部312を実現するプログラムの制御構造を示すフローチャートである。 図9に示す第8の音声生成部314を実現するプログラムの制御構造を示すフローチャートである。 図9に示す第9の音声生成部316を実現するためのプログラムのフローチャートである。 図9に示す音声信号処理部320を実現するプログラムのフローチャートである。 マルチメディア製作システム50によって作成された映画を再生する再生システムのブロック図である。 台詞音声テーブル88の例示的構成を模式的に示す図である。 図23に示す同時音声統合処理部632による同時音声統合処理後の台詞音声テーブル88の例示的構成を示す図である。 同時音声統合処理部632を実現するためのプログラムのフローチャートである。 図23に示す同期再生部638を実現するためのプログラムのフローチャートである。 音声信号処理部320が実行する音響効果処理のうち、話速変換と音量正規化処理の内容を説明するための図である。 マルチメディア製作システム50においてユーザの音声を収録するための台詞音声データ作成部90を実現するコンピュータ840のハードウェア構成の外観図である。 コンピュータ840の内部構成を示すブロック図である。 音声生成部で実行される類似音声決定プログラムの制御構造を示すフローチャートである。 類似音声決定処理に先立って行なわれる線形結合係数算出処理で使用される、類似音声の順位データ作成処理を実現するプログラムの制御構造を示すフローチャートである。 人の知覚とよく類似した結果を得るために使用される音響特徴量の線形結合係数を算出する線形結合係数算出プログラムの制御構造を示すフローチャートである。 図33のステップ944で実行されるニュートン法を用いた線形結合係数の最適化のためのプログラムのフローチャートである。 音声生成部で実行される声質変換プログラムの制御構造を示すフローチャートである。 音声生成部で実行されるモーフィング率推定プログラムの制御構造を示すフローチャートである。 モーフィング率の推定を説明するための話者空間を概念的に示す図である。
符号の説明
50 マルチメディア製作システム
60 三次元スキャナ群
62 画像処理PC
64 映像生成装置
66 映像データ
70 映像素材DB
72 台詞情報記憶部
74 標準音声記憶部
76 カット情報記憶部
78 手法リストテーブル
80 声優音声DB
82 素片DB
86 台詞音声データ
88 台詞音声テーブル
90 台詞音声データ作成部
92 映像・音声再生装置
94 線形結合係数記憶部
100〜100N ユーザ情報入力部
102〜102N キャラクタ音声作成部
104 音声統合部
112 入出力装置
114 音声収録部
116 合成手法決定部
118 音声作成部
120 ユーザ音声DB
122 音声DB更新部
124 素片DB更新部
130 類似声優記憶部
132 モーフィング率記憶部
280 分岐部
292 合流部
300〜316 第1の音声生成部〜第9の音声生成部
320 音声信号処理部
620 映像信号再生部
622 表示装置
624 効果音出力装置
632 同時音声統合処理部
638 同期再生部
640 台詞音声出力装置

Claims (9)

  1. 複数のサンプル音声の中から、目標となる音声に類似する音声を選択するための類似音声選択装置であって、
    前記複数のサンプル音声を記憶するための手段と、
    音声に対する1種類以上の音響特徴量の各々について算出される、2つの音声の間の距離尺度の重み付き線形和により、前記目標となる音声と、前記複数のサンプル音声の各々との間の距離を算出するための距離算出手段と、
    前記複数のサンプル音声の中から、前記距離算出手段により算出された距離が最も小さなものを、前記目標となる音声に類似する音声として選択するための音声選択手段とを含む、類似音声選択装置。
  2. 前記距離尺度は、2つの音声の同一の音響特徴量の間での動的時間軸伸縮によって算出される距離尺度である、請求項1に記載の類似音声選択装置。
  3. 前記距離尺度は、2つの音声の同一の音響特徴量の間でガウス混合分布モデルによって算出される距離尺度である、請求項1に記載の類似音声選択装置。
  4. 前記距離尺度の重み付き線形和の結合係数は、複数の音声について、複数の目標音声の各々との類似度の順位付けを人間によって行なった結果と、前記距離算出手段によって行なった結果との相関が最大となるように、予め決定されている、請求項1〜請求項3のいずれかに記載の類似音声選択装置。
  5. コンピュータにより実行されると、当該コンピュータを、
    複数のサンプル音声を記憶するための手段と、
    音声に対する1種類以上の音響特徴量の各々について算出される距離尺度の重み付き線形和により、目標となる音声と、前記複数のサンプル音声の各々との間の距離を算出するための距離算出手段と、
    前記複数のサンプル音声の中から、前記距離算出手段により算出された距離が最も小さなものを、前記目標となる音声に類似する音声として選択するための音声選択手段として機能させる、コンピュータプログラム。
  6. 予め定められた内容の音声を、目標となる音声に類似する音声で生成するための音声生成装置であって、
    前記予め定められた内容の、複数のサンプル音声を記憶するための手段と、
    音声に対する1種類以上の音響特徴量の各々について算出される、2つの音声の間の距離尺度の重み付き線形和により、前記目標となる音声と、前記複数のサンプル音声の各々との間の距離を算出するための距離算出手段と、
    前記複数のサンプル音声の中から、前記距離算出手段により算出された距離が最も小さなものを、前記目標となる音声に類似する音声として選択するための音声選択手段と、
    前記音声選択手段によって選択された音声を用いて、前記予め定められた内容の音声を生成するための音声生成手段とを含む、音声生成装置。
  7. 前記音声選択手段は、前記複数のサンプル音声の中から、前記距離算出手段により算出された距離が最も小さな複数のものを、前記目標となる音声に類似する音声として選択するための手段を含み、
    前記音声生成手段は、前記音声選択手段によって選択された前記複数の音声に対するモーフィングを行なって新たな音声を生成するための音声モーフィング手段を含む、請求項6に記載の音声生成装置。
  8. さらに、前記選択するための手段によって選択された前記複数の話者の音声を、前記音声モーフィング手段によってモーフィングして得られたモーフィング後音声の所定の特徴量ベクトルと、前記目標となる音声の、前記所定の特徴量に対応する特徴量ベクトルとの間の距離が最小となるように、前記音声モーフィング手段によるモーフィング時の前記複数の話者のモーフィング比率を最適化するための最適化手段を含む、請求項7に記載の音声生成装置。
  9. コンピュータにより実行されると、当該コンピュータを、
    予め定められた内容の、複数のサンプル音声を記憶するための手段と、
    音声に対する1種類以上の音響特徴量の各々について算出される、2つの音声の間の距離尺度の重み付き線形和により、目標となる音声と、前記複数のサンプル音声の各々との間の距離を算出するための距離算出手段と、
    前記複数のサンプル音声の中から、前記距離算出手段により算出された距離が最も小さなものを、前記目標となる音声に類似する音声として選択するための音声選択手段と、
    前記音声選択手段によって選択された音声を用いて、前記予め定められた内容の音声を生成するための音声生成手段として機能させる、コンピュータプログラム。
JP2008056938A 2008-03-06 2008-03-06 類似音声選択装置、音声生成装置及びコンピュータプログラム Pending JP2009216723A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008056938A JP2009216723A (ja) 2008-03-06 2008-03-06 類似音声選択装置、音声生成装置及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008056938A JP2009216723A (ja) 2008-03-06 2008-03-06 類似音声選択装置、音声生成装置及びコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2009216723A true JP2009216723A (ja) 2009-09-24

Family

ID=41188704

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008056938A Pending JP2009216723A (ja) 2008-03-06 2008-03-06 類似音声選択装置、音声生成装置及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP2009216723A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010110095A1 (ja) * 2009-03-25 2010-09-30 株式会社 東芝 音声合成装置及び音声合成方法
JP2016050994A (ja) * 2014-08-29 2016-04-11 ヤマハ株式会社 音響処理装置
JPWO2020145353A1 (ja) * 2019-01-10 2021-12-23 グリー株式会社 コンピュータプログラム、サーバ装置、端末装置及び音声信号処理方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010110095A1 (ja) * 2009-03-25 2010-09-30 株式会社 東芝 音声合成装置及び音声合成方法
JP2010224498A (ja) * 2009-03-25 2010-10-07 Toshiba Corp 音声合成装置及び音声合成方法
US9002711B2 (en) 2009-03-25 2015-04-07 Kabushiki Kaisha Toshiba Speech synthesis apparatus and method
JP2016050994A (ja) * 2014-08-29 2016-04-11 ヤマハ株式会社 音響処理装置
JPWO2020145353A1 (ja) * 2019-01-10 2021-12-23 グリー株式会社 コンピュータプログラム、サーバ装置、端末装置及び音声信号処理方法
JP7309155B2 (ja) 2019-01-10 2023-07-18 グリー株式会社 コンピュータプログラム、サーバ装置、端末装置及び音声信号処理方法

Similar Documents

Publication Publication Date Title
US20190196666A1 (en) Systems and Methods Document Narration
US9478219B2 (en) Audio synchronization for document narration with user-selected playback
JP4296231B2 (ja) 声質編集装置および声質編集方法
US7739113B2 (en) Voice synthesizer, voice synthesizing method, and computer program
US8954328B2 (en) Systems and methods for document narration with multiple characters having multiple moods
US8346557B2 (en) Systems and methods document narration
JP5143569B2 (ja) 音響的特徴の同期化された修正のための方法及び装置
JP6665446B2 (ja) 情報処理装置、プログラム及び音声合成方法
JPH10153998A (ja) 補助情報利用型音声合成方法、この方法を実施する手順を記録した記録媒体、およびこの方法を実施する装置
JP5137031B2 (ja) 台詞音声作成装置、発話音声収録装置、及びコンピュータプログラム
JP4543263B2 (ja) アニメーションデータ作成装置及びアニメーションデータ作成プログラム
Edwards et al. Jali-driven expressive facial animation and multilingual speech in cyberpunk 2077
JP2009216724A (ja) 音声生成装置及びコンピュータプログラム
JP2009216723A (ja) 類似音声選択装置、音声生成装置及びコンピュータプログラム
JP2002108382A (ja) リップシンクを行うアニメーション方法および装置
JP4631077B2 (ja) アニメーション作成装置
Brooke et al. Two-and three-dimensional audio-visual speech synthesis
JP3706112B2 (ja) 音声合成装置及びコンピュータプログラム
JP2023007405A (ja) 音声変換装置、音声変換方法、プログラム、および記録媒体
JP2009157220A (ja) 音声編集合成システム、音声編集合成プログラム及び音声編集合成方法
Martin et al. 3D audiovisual rendering and real-time interactive control of expressivity in a talking head
JP6163454B2 (ja) 音声合成装置、その方法及びプログラム
US20230377607A1 (en) Methods for dubbing audio-video media files
Martens et al. Word Segmentation in the Spoken Dutch Corpus.
CN117475991A (zh) 文本转换音频的方法、装置及计算机设备