(57)【要約】【課題】ユーザによって自由に行われる演奏に合わせて合成音声を生成する装置において、消音のための演奏操作がなされてから合成音声が消音されるまでの遅延を軽減する技術を提供する。【解決手段】デコード済データ記憶領域２３１には、予め定められた音素から無音への遷移部分の音声波形を表すデータが予めデコードされたデコード済データが記憶される。ＭＩＤＩメッセージ受信処理部２１２がノートオンメッセージを受信すると、デコード部２１７が受信されたノートオンメッセージに対応する音素の音声素片データをデコードし、音声合成部２１８がデコードされた音声素片データを用いて合成音声データを生成する。その後、ノートオフメッセージが受信されると、音声合成部２１８は、受信されたノートオフメッセージに対応するデコード済データをデコード済データ記憶領域２３１から読み出し、読み出したデコード済データを用いて音声合成データを生成する。【選択図】図４
2013238662.tif 000002
【特許請求の範囲】
【請求項１】
音素の発音開始指示又は発音終了指示を示す発音指示を取得する発音指示取得部と、
前記発音指示取得部が前記発音指示を取得した場合に、取得された発音指示に対応する音素を特定する音素特定部と、
音素毎及び音素連鎖毎の音声波形を表すデータが予め定められた規則に従ってエンコードされた音声素片データの集合である音声素片データベースから、前記音素特定部により特定された音素に対応する音声素片データを取得する音声素片データ取得部と、
前記音声素片データ取得部により取得された音声素片データをデコードするデコード部と、
前記デコード部によりデコードされた音声素片データを用いて合成音声を表す合成音声データを生成し、生成した合成音声データを出力するとともに、前記発音指示取得部が前記発音終了指示を取得した場合に、前記音声素片データベースに登録された音声素片データであって予め定められた音素から無音への遷移部分の音声波形を表す音声素片データがデコードされたデコード済データを記憶する記憶部から、該取得された発音終了指示に対応する音素として前記音素特定部により特定された音素から無音への遷移部分の音声波形に対応するデコード済データを読み出し、読み出したデコード済データを用いて合成音声データを生成し、生成した合成音声データを出力する音声合成部と
を具備することを特徴とする音声合成装置。
【請求項２】
前記発音指示取得部が前記発音終了指示を取得する前のタイミングにおいて、予め定められた条件を満たす音素から無音への遷移部分の音声波形を表す音声素片データをデコードしてデコード済データを生成し、生成したデコード済データを前記記憶部に記憶するデコード済データ記憶制御部
を具備することを特徴とする請求項１に記載の音声合成装置。
【請求項３】
前記デコード済データ記憶制御部は、前記発音指示取得部が前記発音開始指示を取得した場合に、該発音開始指示に対応する音素として前記音素特定部により特定された音素から無音への遷移部分の音声波形を表す音声素片データをデコードしてデコード済データを生成し、生成したデコード済データを前記記憶部に記憶する
ことを特徴とする請求項２に記載の音声合成装置。
【請求項４】
前記デコード済データ記憶制御部は、利用者によって操作される操作部から出力される情報に従って１又は複数の音素を選定し、選定した音素から無音への遷移部分の音声波形を表す音声素片データをデコードしてデコード済データを生成し、生成したデコード済データを前記記憶部に記憶する
ことを特徴とする請求項２に記載の音声合成装置。
【請求項５】
前記音声合成部は、前記発音指示取得部が前記発音開始指示を取得し、かつ、該取得された発音開始指示に対応する音素に対応するデコード済データが前記記憶部に記憶されている場合に、ユーザに報知を行うための情報を出力する
ことを特徴とする請求項１乃至４のいずれか１項に記載の音声合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声合成装置に関する。
【背景技術】
【０００２】
人間の肉声を模した音声を合成するための種々の技術が提案されている。例えば、特許文献１には、人間の肉声（以下「入力音声」という）を音素ごとに切り出して音声素片を採取しておき、これらの音声素片を相互に連結することによって任意の音声を合成する技術が開示されている。また、特許文献２には、ユーザによって自由に行われる演奏に合わせて歌唱音声を合成する技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２５５９７４号公報
【特許文献２】特開２００８−１７０５９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献２に記載された技術のように、ユーザによって自由に行われる演奏に合わせて歌唱音声を合成する装置においては、音声素片データのデコード処理や音声合成処理等により、ユーザによる演奏操作から発音／消音までの間に遅延が生じる。特に、消音のタイミングが遅れると演奏しているユーザが違和感を覚える場合があった。
本発明は上述の背景に鑑みてなされたものであり、ユーザによって自由に行われる演奏に合わせて合成音声を生成する装置において、消音のための演奏操作がなされてから合成音声が消音されるまでの遅延を軽減することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決するために、本発明は、音素の発音開始指示又は発音終了指示を示す発音指示を取得する発音指示取得部と、前記発音指示取得部が前記発音指示を取得した場合に、取得された発音指示に対応する音素を特定する音素特定部と、音素毎及び音素連鎖毎の音声波形を表すデータが予め定められた規則に従ってエンコードされた音声素片データの集合である音声素片データベースから、前記音素特定部により特定された音素に対応する音声素片データを取得する音声素片データ取得部と、前記音声素片データ取得部により取得された音声素片データをデコードするデコード部と、前記デコード部によりデコードされた音声素片データを用いて合成音声を表す合成音声データを生成し、生成した合成音声データを出力するとともに、前記発音指示取得部が前記発音終了指示を取得した場合に、前記音声素片データベースに登録された音声素片データであって予め定められた音素から無音への遷移部分の音声波形を表す音声素片データがデコードされたデコード済データを記憶する記憶部から、該取得された発音終了指示に対応する音素として前記音素特定部により特定された音素から無音への遷移部分の音声波形に対応するデコード済データを読み出し、読み出したデコード済データを用いて合成音声データを生成し、生成した合成音声データを出力する音声合成部とを具備することを特徴とする音声合成装置を提供する。
【０００６】
本発明の好ましい態様において、前記発音指示取得部が前記発音終了指示を取得する前のタイミングにおいて、予め定められた条件を満たす音素から無音への遷移部分の音声波形を表す音声素片データをデコードしてデコード済データを生成し、生成したデコード済データを前記記憶部に記憶するデコード済データ記憶制御部を具備してもよい。
【０００７】
また、本発明の更に好ましい態様において、前記デコード済データ記憶制御部は、前記発音指示取得部が前記発音開始指示を取得した場合に、該発音開始指示に対応する音素として前記音素特定部により特定された音素から無音への遷移部分の音声波形を表す音声素片データをデコードしてデコード済データを生成し、生成したデコード済データを前記記憶部に記憶してもよい。
【０００８】
また、本発明の更に好ましい態様において、前記デコード済データ記憶制御部は、利用者によって操作される操作部から出力される情報に従って１又は複数の音素を選定し、選定した音素から無音への遷移部分の音声波形を表す音声素片データをデコードしてデコード済データを生成し、生成したデコード済データを前記記憶部に記憶してもよい。
【０００９】
また、本発明の更に好ましい態様において、前記音声合成部は、前記発音指示取得部が前記発音開始指示を取得し、かつ、該取得された発音開始指示に対応する音素に対応するデコード済データが前記記憶部に記憶されている場合に、ユーザに報知を行うための情報を出力してもよい。
また、本発明の更に好ましい態様において、前記記憶部は、前記デコード済データを、前記音声合成部による音声合成処理が終了するまでの期間に渡って記憶してもよい。
【発明の効果】
【００１０】
本発明によれば、ユーザによって自由に行われる演奏に合わせて合成音声を生成する装置において、消音のための演奏操作がなされてから合成音声が消音されるまでの遅延を軽減することができる。
【図面の簡単な説明】
【００１１】
【図１】音声合成システムの構成の一例を示すブロック図
【図２】音声素片の一例を示す図
【図３】音声素片データベースの内容の一例を示す図
【図４】音声合成装置の機能的構成の一例を示すブロック図
【図５】音声合成装置が行う処理のタイミングを示すタイミングチャート
【図６】音声合成装置が行う処理のタイミングを示すタイミングチャート
【図７】システムの構成の一例を示すブロック図
【発明を実施するための形態】
【００１２】
図面を参照しながら本発明の実施の形態を説明する。以下に示す各実施形態は、楽曲の歌唱音声を合成するために本発明を適用した態様である。
【００１３】
１．構成
図１は、この発明の一実施形態である歌唱合成システムの構成を示すブロック図である。この歌唱合成システムは、演奏データ発生装置１００と、音声合成装置２００とをＭＩＤＩケーブル等の通信ケーブル３００により接続してなるものである。この歌唱合成システムにおいて、演奏データ発生装置１００は、ユーザの演奏操作に応じて演奏データたるＭＩＤＩメッセージを発生する装置であり、例えばＭＩＤＩ鍵盤楽器である。音声合成装置２００は、合成音声を生成する装置であり、例えばパーソナルコンピューターや携帯通信端末等の装置である。音声合成装置２００は、演奏データ発生装置１００からＭＩＤＩメッセージが順次与えられるのに応じて、予め記憶した歌詞データを歌唱位置を変えつつ順次利用し、ＭＩＤＩメッセージにより定まるピッチおよび発音期間を持った歌唱音声をリアルタイムに合成する。
【００１４】
演奏データ発生装置１００は、制御部１１０、記憶部１２０、操作部１３０、表示部１４０、インターフェース部１５０、鍵盤部１６０、音源部１７０を有し、これら各部がバス１９０を介して接続されている。制御部１１０は、ＣＰＵ（Central Processing Unit）等のプロセッサーや、ＲＡＭ（Random Access Memory）、及びＲＯＭ（Read Only Memory）等を有している。制御部１１０において、ＣＰＵ等のプロセッサーが、ＲＯＭや記憶部１２０に記憶されているコンピュータープログラムを読み出してＲＡＭにロードして実行することにより、演奏データ発生装置１００の各部が制御される。
【００１５】
記憶部１２０は、各種のデータを記憶するための記憶部である。記憶部１２０としては、磁気ディスクを内蔵したハードディスク装置や、ＣＤ−ＲＯＭに代表される可搬型の記録媒体を駆動する装置など各種の記憶装置が採用される。操作部１３０は、各種の操作子を備え、ユーザによる操作内容を表す操作信号を制御部１１０に出力する。表示部１４０は、例えば液晶パネルを備え、制御部１１０による制御の下、各種の画像を表示する。インターフェース部１５０は、演奏データであるＭＩＤＩメッセージを送信するためのＭＩＤＩインターフェースや、磁気ディスクやＣＤ−ＲＯＭなどの外部記録媒体との間でデータの授受を行うためのドライバなどにより構成されている。
【００１６】
鍵盤部１６０は、ユーザによって押鍵される複数の鍵とこれらの各鍵が押鍵されているか離鍵されているかを示す信号を制御部１１０に供給するキースイッチ回路とにより構成されている。音源部１７０は、制御部１１０からの指令に従い、デジタル楽音信号を形成する装置である。サウンドシステム１８０は、音源部１７０において形成されたデジタル楽音信号をアナログ楽音信号に変換するＤ／Ａ変換器と、このアナログ楽音信号を増幅するアンプと、このアンプの出力信号を音として出力するスピーカ等により構成されている。
【００１７】
音声合成装置２００は、制御部２１０、記憶部２２０、操作部２３０、表示部２４０、インターフェース部２５０、サウンドシステム２６０を有し、これら各部がバス２７０を介して接続されている。制御部２１０は、ＣＰＵ等のプロセッサーや、ＲＡＭ、及びＲＯＭ等を有している。制御部２１０において、ＣＰＵ等のプロセッサーが、ＲＯＭや記憶部２２０に記憶されているコンピュータ−プログラムを読み出してＲＡＭにロードして実行することにより、音声合成装置２００の各部が制御される。
【００１８】
記憶部２２０は、各種のデータを記憶するための記憶部である。記憶部２２０としては、磁気ディスクを内蔵したハードディスク装置や、ＣＤ−ＲＯＭに代表される可搬型の記録媒体を駆動する装置など各種の記憶装置が採用される。操作部２３０は、各種の操作子を備え、ユーザによる操作内容を表す操作信号を制御部２１０に出力する。表示部２４０は、例えば液晶パネルを備え、制御部２１０による制御の下、各種の画像を表示する。インターフェース部２５０は、演奏データであるＭＩＤＩメッセージを受信するためのＭＩＤＩインターフェースや、磁気ディスクやＣＤ−ＲＯＭなどの外部記録媒体との間でデータの授受を行うためのドライバなどにより構成されている。サウンドシステム２６０は、音声合成装置２００において合成された音声を出力するものであり、合成音声のサンプルデータである歌唱音声データをアナログ音声信号に変換するＤ／Ａ変換器と、このアナログ音声信号を増幅するアンプと、このアンプの出力信号を音として出力するスピーカ等により構成されている。
【００１９】
記憶部２２０は、図示のように、音声素片データベースＤＢ１記憶領域２２１と、歌詞データ記憶領域２２２とを有している。音声素片データベースＤＢ１記憶領域２２１には、単数又は複数の音素（ｐｈｏｎｅｍｅ）で構成される音声素片を表すデータ（以下「音声素片データ」という）の集合である音声素片データベースＤＢ１が記憶されている。音声素片データは合成音声を生成する際に用いられるデータである。本実施形態において「音素」とは、言語上の意味の区別の最小単位（例えば母音や子音）に相当するものであり、ある言語の実際の調音と音韻体系全体を考慮して設定される、その言語の音韻論上の最小単位である。音声素片は、特定の発声者によって発声された入力音声のうち所望の音素や音素連鎖に相当する区間が切り出されたものである。本実施形態における音声素片データは、音声素片の周波数スペクトルを示すデータである。以下の説明では、「音声素片」の語は、単一の音素（例えばモノフォン）や、音素連鎖（例えばダイフォンやトライフォン）を含むものとして用いる。
【００２０】
具体的には、音声素片データベースＤＢ１には、［ａ］、［ｉ］といったような単一の音素の音声素片データや、［ａ−ｉ］、［ａ−ｐ］といったような音素連鎖の音声素片データが記憶されている。この実施形態では、音素を表す発音記号としてＳＡＭＰＡ（Speech Assessment Methods Phonetic Alphabet）で規定された発音記号を用いる。なお、音素を表す記号はこれに限らず、例えばＸ−ＳＡＭＰＡ（Extended SAM Phonetic Alphabet，拡張ＳＡＭ音声記号）やＩＰＡ（国際音声記号）等の他の規格に沿ったものであってもよい。
【００２１】
図２は、音声素片の一例を示す図である。図２の（ａ１）は、子音の音素［ｓ］とこれに続く母音の音素［ａ］とを組み合わせた音素連鎖［ｓ−ａ］の波形を示す。図２の（ａ１）に示す波形は、時点Ｔａ１が音素［ｓ］の始点として指定されるとともに時点Ｔａ３が音素［ａ］の終点として指定され、さらに時点Ｔａ２が音素［ｓ］と音素［ａ］との境界として指定された場合が想定されている。図２の（ａ１）に示されるように、音素［ａ］の波形は、その発声のために口を開いていく発声者の動作に対応するように時点Ｔａ２から徐々に振幅が増大していき、発声者が口を開き切った時点Ｔａ０を越えると振幅が略一定に維持される形状となる。音素［ａ］の終点Ｔａ３としては、音素［ａ］の波形が定常的な状態に遷移した後の時点（すなわち図２の（ａ１）に示される時点Ｔａ０以降の時点）が選定される。
【００２２】
一方、図２の（ｂ１）は、母音の音素［ａ］を含む音声素片［ａ−＃］の波形を示す。［＃］は無音を表す。この音声素片［ａ−＃］に含まれる音素［ａ］の波形は、発声者が口を開き切った状態にて発声してから徐々に口を閉じていって最後には完全に口が閉じられるという発声の動作に対応した形状となる。すなわち、音素［ａ］の波形は、初めに振幅が略一定に維持され、発声者が口を閉じる動作を開始する時点（定常点）Ｔｂ０から振幅が徐々に減少していく。このような音声素片の始点Ｔｂ１は、音素［ａ］の波形が定常的な状態に維持されている期間内の時点（すなわち定常点Ｔｂ０よりも前の時点）として選定される。
【００２３】
以上のようにして時間軸上における範囲が画定された音声素片は所定の時間長（例えば５ｍｓないし１０ｍｓ）のフレームＦに区分される。図２の（ａ１）に示されるように、各フレームＦは時間軸上において前のフレームに後のフレームが一部重なるように選定される。これらのフレームＦは簡易的には同一の時間長の区間とされるが、例えば音声素片のピッチに応じて各フレームＦの時間長を変化させてもよい。こうして区分された各フレームＦの波形にＦＦＴ（Fast Fourier Transform）処理を含む周波数分析が実施されることによって周波数スペクトルが特定され、これらの周波数スペクトルを示すデータがエンコードされたものが音声素片データとして音声素片データベースＤＢ１に記憶される。したがって、図２の（ａ２）および（ｂ２）に示されるように、各音声素片の音声素片データは、各々が別個のフレームＦの周波数スペクトルを示す複数の単位データＤ（Ｄ１、Ｄ２、……）を含む。
【００２４】
図３は、音声素片データベースＤＢ１の内容の一例を示す図である。図示のように、音声素片データベースＤＢ１には、音素又は音素連鎖毎に音声素片データ（の全部又は一部）がエンコードされて記憶されている。なお、ひとつの音素又はひとつの音素連鎖について、ピッチ毎、ゲイン毎、波長毎に複数の音声素片データが記憶されていてもよい。例えば、ピッチに関して、ひとつの音素（又はひとつの音素連鎖）について高音用の音声素片データ、中音用の音声素片データ、低音用の音声素片データ、の３つの音声素片データが記憶されていてもよい。このように、音声素片データベースＤＢ１に、ひとつの音素又はひとつの音素連鎖について、その属性毎に異なる音声素片データが記憶されていてもよい。
【００２５】
歌詞データ記憶領域２２２には、操作部２３０の操作により入力される文字列が歌詞データとして格納される。操作部２３０の操作により入力される文字列が歌詞データとしてＲＡＭ内に格納され、操作部２３０の操作により格納コマンドが入力された場合、制御部２１０がＲＡＭ内の歌詞データを歌詞データ記憶領域２２２に格納する。歌詞データ記憶領域２２２には、このようにして格納された歌詞データおよびインターフェース部２５０を介して外部から入力される歌詞データの集合が記憶される。
【００２６】
次に、図４に示すブロック図を参照しながら、音声合成装置２００の機能的構成の一例について説明する。図４において、初期設定部２１１と、ＭＩＤＩメッセージ受信処理部２１２と、歌唱合成部２１３とは、制御部２１０のプロセッサーが、ＲＯＭ又は記憶部２２０に記憶されたコンピュータープログラムを読み出しＲＡＭにロードして実行することにより実現される。
【００２７】
初期設定部２１１は、歌唱音声を生成するためのアプリケーション（以下「歌唱合成アプリケーション」という）が起動されたタイミングで、各種の初期設定を行う。特に、初期設定部２１１は、予め定められた音素（この実施形態では、母音と鼻音）から無音への遷移部分の音声波形を表す音声素片データを音声素片データベースＤＢ１から読み出し、読み出した音声素片データをデコードする。初期設定部２１１は、デコードした音声素片データ（デコード済データ）をＲＡＭ内の所定の記憶領域（以下「デコード済データ記憶領域２３１」という）に格納する。デコード済データ記憶領域２３１には、音声素片［ａ−＃］、［ｉ−＃］、［ｕ−＃］、［ｅ−＃］、［ｏ−＃］、［ｎ−＃］のそれぞれの音声波形を表す音声素片データをデコードしたデコード済データが格納される。初期設定部２１１は本発明に係るデコード済データ記憶制御部の一例である。以下の説明では、説明の便宜上、予め定められた音素から無音への遷移部分の音声波形を表す音声素片データを「無音遷移データ」と称して説明する。
【００２８】
なお、ひとつの音素又はひとつの音素連鎖について、その属性毎（ピッチ毎、ゲイン毎、波長毎、等）に異なる音声素片データが音声素片データベースＤＢ１に記憶されている場合には、初期設定部２１１は、予め定められた音素に対応する全ての属性の音声素片データに対してデコード処理を行ってデコード済データを生成してもよい。例えば、初期設定部２１１は、ひとつの音素又はひとつの音素連鎖について、高音用の音声素片データ、中音用の音声素片データ、低音用の音声素片データ、の３つの音声素片データが記憶されている場合には、これらの３つの音声素片データに対してデコード処理を行ってもよい。また、初期設定部２１１は、予め定められた音素に対応する音声素片データのうちの一部の属性（予め定められた属性）の音声素片データに対してデコード処理を行ってデコード済データを生成してもよい。このように属性毎に異なる音声素片データがデータベースに記録されている場合は、後述する変換処理部２１６は、合成すべき音の属性に対応する音声素片データを選択するようにすると良い。例えばピッチに関して高音用・中音用・低音用の音声素片データがある場合、変換処理部２１６は、その音符に最も近い音高の音声素片データを選択するようにすると良い。このようにすることで高品質な合成音を得ることができる。
【００２９】
デコード済データ記憶領域２３１は、歌唱合成アプリケーションの終了に伴って開放される。すなわち、デコード済データ記憶領域２３１には、歌唱音声の合成処理が終了するまでの期間に渡って、デコードされた無音遷移データ（デコード済データ）が記憶される。
【００３０】
ＭＩＤＩメッセージ受信処理部２１２は、インターフェース部２５０の中のＭＩＤＩインターフェースがＭＩＤＩメッセージを受信したときに起動される割り込みルーチンである。ＭＩＤＩメッセージ受信処理部２１２は、ＭＩＤＩインターフェースにより受信されたＭＩＤＩメッセージを解釈し、解釈結果に従って、歌唱合成部２１３内の各部に制御情報を供給する。ＭＩＤＩメッセージ受信処理部２１２は、ノートオン（音素の発音開始）又はノートオフ（音素の発音終了）を示す発音指示（ＭＩＤＩメッセージ）を取得する発音指示取得部の一例である。
【００３１】
歌唱合成部２１３は、歌唱位置更新処理部２１４と、素片選択部２１５と、変換処理部２１６と、素片連結部２１９とで構成される。歌唱位置更新処理部２１４は、歌詞データが示す歌詞のうち歌唱合成を行う歌唱対象部分の位置、すなわち、歌唱位置の更新を行うルーチンである。歌唱位置更新処理部２１４は、ＭＩＤＩメッセージ受信処理部２１２がＭＩＤＩメッセージを受信（取得）した場合に、取得されたＭＩＤＩメッセージに対応する表音文字（音素）を特定する音素特定部の一例である。歌唱位置更新処理部２１４は、歌詞データが示す歌詞のうち歌唱対象部分となっている表音文字を、素片選択部２１５及び素片連結部２１９に通知する。歌唱位置更新処理部２１４が歌唱位置の更新を行う契機には、次の２種類がある。
【００３２】
第１の契機は、ＭＩＤＩメッセージとしてノートオンメッセージがＭＩＤＩインターフェースによって受信され、そのノートオンメッセージがＭＩＤＩメッセージ受信処理部２１２から歌唱位置更新処理部２１４に引き渡されたときである。この場合、歌唱位置更新処理部２１４は、例えば日本語の歌唱の場合には、歌詞を構成する表音文字列のうち現在の歌唱対象部分となっている表音文字の次の表音文字を新たな歌唱対象部分とする。また、英語の歌唱の場合には、通常、１つの音符に合わせて発声させる母音文字または子音文字および母音文字の組が発音の単位となる。そこで、英語の歌唱の場合には、歌唱位置更新処理部２１４は、歌詞を構成する表音文字列のうち現在の歌唱対象部分の直後にあり、発音の単位となる母音文字または子音文字および母音文字の組を新たな歌唱対象部分とする。
【００３３】
第２の契機は、ＭＩＤＩメッセージとして歌唱位置変更指示を含むシステムイクスクルーシブメッセージがＭＩＤＩインターフェースによって受信され、その歌唱位置変更指示がＭＩＤＩメッセージ受信処理部２１２から歌唱位置更新処理部２１４に引き渡されたときである。歌唱位置変更指示には、１つ前の音符に戻る、２つ前の音符に戻る、…、曲の先頭に戻る等の各種の指示がある。歌唱位置更新処理部２１４は、この歌唱位置変更指示に従い、歌詞データにおける歌唱位置を変更する。
【００３４】
素片選択部２１５は、歌唱位置更新部２１３によって更新された歌唱位置に対応する音声素片データを読み出すルーチンである。素片選択部２１５は、現在の歌唱位置にあたる表音文字（英語の場合は母音文字または子音文字と母音文字の組）を参照し、必要であれば、これに加えて、その直前に歌唱対象部分であった表音文字とを参照することにより、音声波形の合成を行う１または複数の音声素片を決定する。素片選択部２１５は、決定した音声素片に対応した音声素片データを音声素片データベースＤＢ１から読み出して、変換処理部２１６に引き渡す。素片選択部２１５は、本発明に係る音声素片データ取得部の一例である。
【００３５】
変換処理部２１６は、デコード部２１７と、音声合成部２１８とで構成される。デコード部２１７は、素片選択部２１５から引き渡される音声素片データをデコードし、ＲＡＭに展開する。デコード部２１７は、例えば、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）やＭＰ３（MPEG Audio Layer-3）などの音声圧縮アルゴリズムで圧縮（エンコード）されている波形圧縮データをデコードするものであってもよく、また、ＳＭＳ（Spectral Modeling Synthesis）技術によって調和成分（Deterministic Component）と非調和成分（Stochastic Component）とに区分された各成分を示す音声素片データのような手法でエンコードされたものをデコードする構成であってもよい。もちろん、音声合成手法や波形圧縮手法など音声素片データを取り扱うことができる手法を用いてエンコード・デコードしてもよい。音声合成部２１８は、素片選択部２１５から引き渡される音声素片データを用いて合成音声を表す合成音声データ（歌唱音声データ）を生成する。すなわち、音声合成部２１８は、デコード部２１７によってデコードされた音声素片データのうち母音や有声子音などの有声音に対応した区間のものに対し、ピッチ変換を施すとともに逆ＦＦＴを施し、ＭＩＤＩメッセージ受信処理部２１２から引き渡されるピッチデータが示すピッチを持った歌唱音声データ（時間領域のデジタル音声信号）として出力する。
【００３６】
また、音声合成部２１８は、子音や母音の歌唱音声データの継続時間を調整する役割をも果たす。さらに音声合成部２１８は、ビブラート、ピッチベンド、音の強弱等、音楽的表情付けのためのピッチの変更や音量の変更を歌唱音声データに施す機能を備えている。音楽的表情付けのための指令は、演奏データ発生装置１００からＭＩＤＩメッセージとして音声合成装置２００に供給され、ＭＩＤＩメッセージ受信処理部２１２を介して音声合成部２１８に与えられる。
【００３７】
音声合成部２１８は、ノートオフメッセージの受信または後続の音符のノートオンメッセージの受信をトリガとして歌唱対象部分の発音を終了させる。すなわち、音声合成部２１８は、ノートオフメッセージを受信した場合または後続の音符のノートオンメッセージを受信した場合に、生成した合成音声データの出力を停止する。このとき、音声合成部２１８は、ノートオフメッセージを受信する前に後続のノートオンメッセージを受信した場合またはノートオフメッセージを受信してから予め定められた時間（例えば、１／４小節、０．５秒、等。以下「予め定められた時間Ｔ３」という）内に後続の音符のノートオンメッセージを受信した場合には、後続の音符に対応する音声素片データを用いて合成音声データを生成する。すなわち、音声合成部２１８は、後続のノートオンメッセージを受信した場合は、後続の音符に対応する音声素片データをデコード部２１７にデコードさせ、デコード部２１７によりデコードされた音声素片データを用いて合成音声データを生成し、生成した合成音声データを出力する。具体的には、例えば、音素［ａ］に対応するノートオンメッセージの後に、ノートオフメッセージを受信することなく、音素［ｉ］に対応するノートオンメッセージを受信する場合や、音素［ａ］に対応するノートオフメッセージを受信してから予め定められた時間Ｔ３内に音素［ｉ］に対応するノートオンメッセージを受信する場合が想定される。このような場合には、音声合成部２１８は、音声素片［ａ−ｉ］の音声波形を表す音声素片データを音声素片データベースＤＢ１から読み出し、読み出した音声素片データを用いて合成音声データを生成する。
【００３８】
一方、音声合成部２１８は、ノートオフメッセージを受信してから予め定められた時間Ｔ３内に後続の音符のノートオンメッセージを受信しなかった場合には、デコード済データ記憶領域２３１から、受信されたノートオフメッセージに対応する音素の無音遷移データを読み出し、読み出した無音遷移データを用いて合成音声データを生成し、生成した合成音声データを出力する。具体的には、例えば、音素［ａ］に対応するノートオフメッセージを受信してから予め定められた時間Ｔ３内に次の音素についてのノートオンメッセージを受信しなかった場合には、音声合成部２１８は、音声素片［ａ−＃］の音声波形を表すデコード済データをデコード済データ記憶領域２３１から読み出し、読み出した音声素片データを用いて合成音声データを生成する。
【００３９】
素片連結部２１９は、最終的に得られる歌唱音声が一連の音声素片が滑らかに繋がったものとなるように、変換処理部２１６の処理を経た歌唱音声データの調整を行う。さらに素片連結部２１９は、ＭＩＤＩメッセージ受信処理部２１２による制御の下、ＲＡＭ内のバッファ領域を利用して、歌唱音声データに遅延処理を施してサウンドシステム２６０に与え、歌唱音声データが歌唱音声として放音されるタイミング制御を行う機能を備えている。
【００４０】
図５は、本実施形態に係るデコード処理と音声合成処理のタイミングを示すタイミングチャートである。また、図６は、従来の音声合成装置（無音遷移データのデコード処理を前もって行わない装置）におけるデコード処理と音声合成処理のタイミングを示すタイミングチャートである。図５と図６に示す例では、「あ」という表音文字について合成音声を生成する場合の処理のタイミングを示している。本実施形態では、図５に示すように、システムが起動されたタイミングＴ２−１において、初期設定部２１１が無音遷移データのデコード処理を行い（Ｔ２−２）、デコード済データ記憶領域２３１に格納しておく。その後、ＭＩＤＩメッセージ受信処理部２１２が、タイミングＴ２−３において、「あ」という表音文字についてのノートオンメッセージを受信すると、素片選択部２１５は、音声素片［＃−ａ］の音声素片データと音声素片［ａ］の音声素片データを音声素片データベースＤＢ１から順次読み出して、デコード処理を行う（Ｔ２−４、Ｔ２−５）。音声合成部２１８は、デコード処理が施された音声素片データを用いて順次音声合成処理を行う（Ｔ２−７、Ｔ２−８）。このとき、ノートオンメッセージが受信されてから音声合成処理が開始されるまでの間には、デコード処理の処理時間に起因して図５に示すような遅延時間Ｔ２−６が発生する。
【００４１】
また、音声合成部２１８によって生成された音声合成データは順次素片連結部２１９に供給され、素片同士の連結処理が施された後サウンドシステム２６０に供給され、音として出力される（Ｔ２−１０、Ｔ２−１１）。このとき、音声合成処理が開始されてから発話処理（発音処理）が開始されるまでの間には、音声合成処理の処理時間に起因して図５に示すような遅延時間Ｔ２−９が発生する。
【００４２】
その後、ＭＩＤＩメッセージ受信処理部２１２が、タイミングＴ２−１２において、ノートオフメッセージを受信し、かつ、ノートオフメッセージを受信してから予め定められた時間Ｔ３内に次の音素のノートオンメッセージを受信しなかった場合には、音声合成部２１８は、［ａ−＃］のデコード済の音声素片データ（無音遷移データ）をデコード済データ記憶領域２３１から読み出し、音声合成処理を行う（Ｔ２−１３）。音声合成処理により生成された音声合成データは素片連結部２１９に供給され、素片同士の連結処理が施された後サウンドシステム２６０に供給され、音として出力される（Ｔ２−１５）。図５に示すように、［ａ−＃］の音声素片データについて音声合成処理が開始されてから発話処理（発音処理）が開始されるまでの間には、音声合成処理の処理時間に起因する遅延時間Ｔ２−１４が発生する。
【００４３】
ここで、図５に示すタイミングチャートと図６に示すタイミングチャートとが異なる点は、［ａ−＃］の音声素片データのデコード処理を行うタイミングが異なる点と、［ａ−＃］の音声素片データについてのデコード処理が開始されてから音声合成処理が開始されるまでの間に遅延時間（図６の時間Ｔ１−１２）の発生の有無が異なる点である。図６に示す例では、ＭＩＤＩメッセージ受信処理部２１２がタイミングＴ１−１０においてノートオフメッセージを受信した後に、デコード部２１７が［ａ−＃］についての音声素片データのデコード処理を行い（時間Ｔ１−１１）、その後音声合成処理が行われる（時間Ｔ１−１３）。そのため、図６に示す例では、［ａ−＃］についてのデコード処理が開始されてから（すなわちノートオフメッセージが受信されてから）音声合成処理が開始されるまでの間には遅延時間Ｔ１−１２が発生する。
【００４４】
図５と図６を比較すると明らかなように、本実施形態では、母音（又は鼻音）から無音への遷移部分を含む音声素片データのデコードを開始してから合成処理を開始するまでに発生し得る遅延時間（図６の時間（Ｔ１−１２））を抑えることができる。これにより、ノートオフメッセージを受信してから合成音声が消音されるまでの遅延を軽減することができる。そのため、例えば、歌唱合成時に、発音しているノート（のノートオフ）と次のノートのノートオンに関して、次のノートとつながって発音されてしまうことを避けることができ、ノートオフの追従性を上げることができる。特にリアルタイム音声（歌唱）合成の演奏では歌い終わりのタイミングを正確に制御したい場合があり、ノートオフの追従性を上げる事はそのような場合に大きな効果がある。
【００４５】
２．動作
次に、本実施形態の動作を説明する。
【００４６】
２−１．歌唱合成の準備作業
ユーザは、音声合成装置２００に歌唱合成を行わせるに当たり、必要なアプリケーションの立ち上げを行う。すなわち、操作部２３０の操作により、歌詞データを入力するためのアプリケーション（以下「歌詞データ入力アプリケーション」という）や歌唱合成アプリケーションの起動を制御部２１０に指示する。また、ユーザは、操作部１３０の操作により、ＭＩＤＩメッセージを発生させるためのアプリケーションの起動を制御部１１０に指示する。
【００４７】
アプリケーションが起動されると、まず、初期設定部２１１は、各種の初期設定を行うとともに、無音遷移データのデコード処理を行い、デコード処理が施された無音遷移データをデコード済データ記憶領域２３１に格納する。
【００４８】
次にユーザは、歌唱対象となる歌詞データの準備を行う。すなわち、ユーザは、歌詞データ入力アプリケーションが起動されている状態において、操作部２３０の操作により歌詞を構成する表音文字列や音声記号列を入力する。制御部２１０は、入力される表音文字列や音声記号列を用いて歌詞データを生成し、ＲＡＭに記憶する。なお、歌唱対象である歌詞データが歌詞データ記憶領域２２２に記憶されている場合には、操作部２３０の操作により、その歌詞データを歌詞データ記憶領域２２２からＲＡＭに転送してもよい。
【００４９】
次にユーザは、操作部２３０を操作して、歌唱合成開始の指示を制御部２１０に指示する。これにより歌唱合成の準備が完了する。
【００５０】
２−２．音声合成動作
次いで、音声合成装置２００が行う音声合成動作について説明する。上述のようにして歌唱合成の準備が完了すると、ユーザは、演奏データ発生装置１００の鍵盤部１６０を用いて鍵盤演奏を行い、必要に応じて操作部１３０を操作する。演奏データ発生装置１００では、鍵盤部１６０や操作部１３０の操作イベントが制御部１１０に引き渡される。制御部１１０は、操作イベントに対応したＭＩＤＩメッセージを生成し、生成したＭＩＤＩメッセージをインターフェース部１５０内のＭＩＤＩインターフェースを介して音声合成装置２００に送信する。
【００５１】
音声合成装置２００では、インターフェース部２５０の中のＭＩＤＩインターフェースがＭＩＤＩメッセージを受信する度に、制御部２１０に対する割り込み要求が発生し、ＭＩＤＩインターフェースにより受信されたＭＩＤＩメッセージがＭＩＤＩメッセージ受信処理部２１２に引き渡される。ＭＩＤＩメッセージ受信処理部２１２は、このＭＩＤＩメッセージを解釈し、解釈結果に従って、歌唱合成部２１３の各部の制御を行う。
【００５２】
ＭＩＤＩメッセージ受信処理部２１２は、ノートオンメッセージまたはノートオフメッセージが引き渡された場合、そのメッセージを歌唱位置更新処理部２１４と、素片選択部２１５と、変換処理部２１６と、素片連結部２１９に引き渡す。歌唱位置更新処理部２１４は、ＲＡＭ内において歌唱対象となっている歌詞データ中の歌唱位置を管理しており、基本的にはノートオンメッセージが引き渡されたときに歌唱位置を更新する。すなわち、歌唱位置更新処理部２１４は、例えば歌詞データが「さいたさいた…」という歌詞を示す場合には、１個目のノートオンメッセージが引き渡されたときに歌唱位置を歌詞の最初の表音文字「さ」とし、２個目のノートオンメッセージが引き渡されたとき歌唱位置を「さ」から「い」に移動し、３個目のノートオンメッセージが引き渡されたとき歌唱位置を「い」から「た」に移動し、…という具合に、歌唱位置を表音文字１個分ずつ進める。なお、歌唱位置更新処理部２１４は、英語などの言語においては歌唱位置を１音節ずつ（例えば、Sep-tem-ber、等）進める。
【００５３】
素片選択部２１５は、基本的には歌詞データが示す表音文字列のうち歌唱位置更新処理部２１４が特定する歌唱位置にある表音文字（日本語の場合は１個、英語の場合は１個または複数）の音声波形の合成に用いる１または複数の音声素片を決定し、その音声素片に対応した音声素片データを音声素片データベースＤＢ１から読み出して、変換処理部２１６に引き渡す。
【００５４】
変換処理部２１６は、ＭＩＤＩメッセージ受信処理部２１２からノートオンメッセージが引き渡されたとき、このノートオンメッセージから発音すべき音のピッチを指定するノートナンバーを取り出す。そして、その時点において素片選択部２１５から引き渡されている音声素片データのうち母音や有声子音などの有声音に対応した区間のものに対し、ノートナンバーに対応したピッチへのピッチ変換を施す。上述したように音声素片データが音声素片のサンプル列のスペクトルデータを波形データとして含む場合、このピッチ変換は、例えばノートナンバーが示すピッチと音声素片データに含まれる素片ピッチデータが示すピッチとの差分を求め、この差分に相当する周波数だけ波形データが示すスペクトル分布を周波数方向に移動させる処理を行うことにより実行可能である。変換処理部２１６は、このようなピッチ変換を経た音声素片データに逆ＦＦＴを施し、時間領域のデジタル音声信号である歌唱音声データを出力する。
【００５５】
その際に、変換処理部２１６は、歌唱音声データの持続時間を調整する。更に詳述すると、基本的に本実施形態では、ノートオンメッセージの受信をトリガとして歌唱対象部分の発音を開始させ、このノートオンメッセージと対をなすノートオフメッセージの受信または後続の音符のノートオンメッセージの受信をトリガとして歌唱対象部分の発音を終了させる。
【００５６】
一方、変換処理部２１６は、ＭＩＤＩメッセージ受信処理部２１２からノートオフメッセージが引き渡され、かつ、このノートオフメッセージが引き渡されてから予め定められた時間Ｔ３内に次の音素のノートオンメッセージが引き渡されなかったとき、このノートオフメッセージに対応する音素の無音遷移データをデコード済データ記憶領域２３１から読み出し、読み出したデコード済の無音遷移データを用いて音声合成処理を行う。なお、ＭＩＤＩメッセージ受信処理部２１２が受信したノートオフメッセージに対応する音素の無音遷移データがデコード済データ記憶領域２３１に記憶されていない場合には、変換処理部２１６は、その音素の無音遷移データを音声素片データベースＤＢ１から読み出し、読み出した音声素片データに対してデコード処理や音声合成処理を施す。
【００５７】
素片連結部２１９は、変換処理部２１６の処理を経た歌唱音声データ（時間領域の信号）を受け取り、各歌唱音声データを時間軸上において連結したデジタル音声信号をＲＡＭ内のバッファ領域に格納し、適切な遅延処理を施してサウンドシステム２６０に与える。
【００５８】
以上に説明したように、本実施形態においては、素片接続型音声合成において、使用頻度の高い素片波形データ（特に、母音や子音から無音への遷移部分の音声波形を表す音声素片データ）をあらかじめ展開（エンコードされた音声素片データをデコードしメモリへ展開）することで、ユーザによって消音のための演奏操作がなされてから合成音声が消音されるまでの遅延が軽減される。
【００５９】
３．変形例
以上の実施形態は次のように変形可能である。尚、以下の変形例は適宜組み合わせて実施しても良い。
【００６０】
３−１．変形例（１）
音声素片データの態様は上記実施形態に示したものに限られない。例えば、各音声素片のフレームＦごとのスペクトル包絡（スペクトルエンベロープ）を示すデータを音声素片データとしてもよいし、各音声素片の時間軸上における波形を示すデータを音声素片データとしてもよい。また、音声素片の波形をＳＭＳ（Spectral Modeling Synthesis）技術によって調和成分（Deterministic Component）と非調和成分（Stochastic Component）とに区分し、この各成分を示すデータを音声素片データとしてもよい。この場合には、調和成分と非調和成分の双方について音声合成部２１８による処理が実行されるとともに、この処理後の調和成分と非調和成分とが音声合成部２１８の後段の加算部によって加算されることになる。また、各音声素片をフレームＦに区分したうえで各フレームＦのスペクトル包絡に関する複数の特徴量（例えばスペクトル包絡のピークの周波数やゲイン、またはスペクトル包絡の全体の傾きなど）を抽出しておき、これらの特徴量を表す複数のパラメータのセットを音声素片データとしてもよい。このように、本発明において音声素片を保持する形態の如何は不問である。
【００６１】
３−２．変形例（２）
上記実施形態においては、歌唱音声を合成するための装置に本発明を適用した場合を例示したが、これ以外の装置にも本発明を適用できることはもちろんである。例えば、各種の文書を示す文書データ（例えばテキストファイル）に基づいて当該文書の文字列を読み上げる装置にも本発明は適用される。すなわち、テキストファイルに含まれる文字コードに基づいて素片取得部２１５が音声素片データを音声素片データベースＤＢ１から読み出し、この音声素片データに基づいて音声が合成される構成としてもよい。この場合は、装置の制御部が、各音素の発音開始タイミングや発音終了タイミングを示す発音指示を、ユーザによる操作に応じた操作信号を出力する操作部や、また、通信ケーブル等を介して接続された他の装置から取得する構成としてもよい。
【００６２】
また、音声合成処理の詳細は、実施形態で説明したものに限定されない。音符と発音記号（文字）とが与えられたときに、その音符および発音記号に応じた音声を合成するものであれば、どのような処理が用いられてもよい。また、音符に代えて、ピッチカーブのような音の並びを表すデータが与えられる構成とし、そのピッチカーブに応じた音声を合成する処理であってもよい。
また、上述の実施形態では、演奏データ発生装置１００として鍵盤を備えたＭＩＤＩ鍵盤楽器を例示したが、演奏データ発生装置はＭＩＤＩ鍵盤楽器に限らず、ＭＩＤＩメッセージを出力するパーソナルコンピューター等の他の装置であってもよい。また、演奏データ発生装置１００が出力するメッセージはＭＩＤＩメッセージに限定されるものではなく、音素の発音開始タイミングや発音終了タイミングを示す発音指示を出力する装置であればどのような装置であってもよい。
【００６３】
３−３．変形例（３）
音声合成装置２００のハードウェア構成は、図１で説明したものに限定されない。図４に示される機能を実装できるものであれば、音声合成装置２００はどのようなハードウェア構成であってもよい。例えば、音声合成装置２００は、図４に示される機能要素の各々に対応する専用のハードウェア（回路）を有していてもよい。また、例えば、図４に示す変換処理部２１６が、ＤＳＰなどの音声処理に専用されるハードウェアによって実現されてもよい。
【００６４】
また、上述の実施形態において、複数の装置が、上記実施形態の音声合成装置２００に係る機能を分担するようにしてもよい。例えば、図４の歌唱位置更新処理部２１４、素片選択部２１５の機能を実現する第１の装置と、変換処理部２１６、素片連結部２１９の機能を実現する第２の装置とが別体となって構成されていてもよい。また、通信ネットワークで接続された２以上の装置が、上記実施形態の音声合成装置２００に係る機能を分担するようにし、それら複数の装置を備えるシステムが同実施形態の音声合成装置２００を実現するようにしてもよい。
【００６５】
また、上述の実施形態では、音声合成装置２００が音声素片データベースＤＢ１を記憶する構成について説明したが、これに限らず、例えば、図７に示すように、音声素片データベース４００が音声合成装置２００と別体として構成されていてもよい。図７に示す例では、演奏データ発生装置１００、音声合成装置２００、音声素片データベース４００が、ネットワーク５００により接続されている。
【００６６】
また、上述の実施形態では、図１に示す各部がバス２７０によって接続されている構成について説明したが、バス２７０に代えて通信ネットワークで各部が接続される構成であってもよい。また、上述の実施形態では、演奏データ発生装置１００と音声合成装置２００とが通信ケーブル３００により接続される構成について説明したが、これに限らず、演奏データ発生装置１００と音声合成装置２００とが一体となった装置として構成されていてもよい。
【００６７】
３−４．変形例（４）
上述の実施形態では、歌唱合成処理を行う前にユーザが歌詞データを予め入力する構成としたが、歌詞データが入力されるタイミングはこれに限らず、歌詞データをリアルタイムに入力される構成であってもよい。すなわち、ＭＩＤＩメッセージが音声合成装置２００に入力されるのと並行して歌詞データが入力される構成であってもよい。また、例えば、ＭＩＤＩメッセージに歌詞（音素）を表すデータを含める構成としてもよい。
【００６８】
３−５．変形例（５）
上述の実施形態では、初期設定部２１１が、歌唱合成アプリケーションが起動されたときに、予め定められた音素から無音への遷移部分の音声波形を表す音声素片データをデコードし、デコード済データ記憶領域２３１に記憶する構成とした。無音遷移データをデコードするタイミングは上述の実施形態で示したタイミングに限らない。例えば、予め定められた音素（母音又は鼻音）に対応するノートオンメッセージが受信されたタイミングで、無音遷移データのデコード処理を行う（図５に点線で示す時間Ｔ２−１６）ようにしてもよい。この場合、例えば、素片選択部２１５は、歌唱位置更新部２１３によって現在の歌唱位置であると特定された表音文字が母音である場合には、この母音に対応する音声素片データを音声素片データベースＤＢ１から読み出すに加えて、この母音から無音への遷移部分の音声波形を表す音声素片データを音声素片データベースＤＢ１から読み出して変換処理部２１６に引き渡す。具体的には、例えば、歌唱位置更新部２１３によって「あ」の表音文字が特定された場合には、素片選択部２１５は、［ａ］の音声素片データを音声素片データベースＤＢ１から読み出すとともに、［ａ−＃］の音声素片データを音声素片データベースＤＢ１から読み出し、変換処理部２１６のデコード部２１７に供給する。
【００６９】
無音遷移データのデコード処理を行うタイミングは、装置の電源がオンにされたタイミングや音声合成アプリケーションが起動されたタイミングであってもよく、また、予め定められた音素についてのノートオンメッセージを受信したタイミングであってもよい。予め定められた音素について説明すると、予め定められた音素は使用されるデータベースによって決まる。更に説明すると、予め定められた音素は、例えば日本語のデータベースの場合は母音や鼻音であり、英語のデータベースの場合や母音と子音である。また、データベースの収録状況や作成方針によって予め定められた音素の種類は増減がありえる。要は、予め定められた音素についての発音終了指示（ノートオフメッセージ）を受信する前に、無音遷移データのデコード処理が開始されるタイミングであればどのようなタイミングであってもよい。ノートオフメッセージが受信される前に無音遷移データのデコード処理を開始することによって、ノートオフメッセージが受信されてから消音処理が行われるまでの遅延時間を軽減することができる。
【００７０】
また、上述の実施形態では、初期設定部２１１が、歌唱合成アプリケーションが起動されたときにデコード処理を行ってデコード済データをデコード済データ記憶領域２３１に記憶する構成としたが、これに限らず、例えば、音声合成装置２００とネットワーク５００で接続された他の装置（例えば、音声素片データベース４００）に、デコード済データが記憶される構成であってもよい。この場合、他の装置にデコード済データが予め記憶されている構成であってもよく、また、音声合成装置２００の制御部２１０が予め定められたタイミング（例えば、歌唱合成アプリケーションの起動時）にデコード処理を行ってデコード済データを生成し、生成したデコード済データを他の装置に送信する構成であってもよい。
【００７１】
３−６．変形例（６）
上述の実施形態では、デコード済データ記憶領域２３１には、歌唱音声の合成処理が終了するまでの期間に渡って、デコードされた無音遷移データが記憶される構成としたが、記憶エリアが開放されるタイミングは上述の実施形態で示したものに限らない。例えば、予め定められた音素に対応するノートオンメッセージが受信されたタイミングで無音遷移データのデコード処理を行ってデコード済データ記憶領域２３１にデコード済の無音遷移データを格納し、この無音遷移データについての発音処理が終了したタイミングでこのデコード済の無音遷移データが格納された記憶エリアを開放する構成としてもよい。
【００７２】
３−７．変形例（７）
上述の実施形態において、どの音素についての無音遷移データを予めデコードしておくかを、ユーザが操作部２３０を用いて選定できるようにしてもよい。この場合、初期設定部２１１は、ユーザによって操作される操作部２３０から出力される情報に従って１又は複数の音素を選定し、選定した音素に対応する無音遷移データをデコードしてデコード済データを生成し、生成したデコード済データをデコード済データ記憶領域２３１に記憶する構成としてもよい。
【００７３】
また、予めデコードしておく無音遷移データを選定する手法は上述したものに限らず、例えば、制御部２１０が、音声合成処理において音素の後が無音となる頻度を音素毎に統計する構成とし、頻度が予め定められた条件を満たす（頻度が高い）音素を特定し、特定した音素の無音遷移データを予めデコードしておく構成としてもよい。また、他の例として、例えば、制御部２１０が、ユーザが過去に行った音声合成処理の履歴から予めデコードしておく音素を選定してもよい。また、他の例として、例えば、複数の装置と通信ネットワーク等により接続されたサーバ装置に各装置の音声合成処理の履歴を蓄積する構成とし、制御部２１０が、サーバ装置に蓄積された履歴に基づいて予めデコードする音素を選定してもよい。
【００７４】
また、上述の実施形態において、制御部２１０が、ノートオンメッセージの受信後に、対応するデコード済データが存在し（あるいはデコード済データを作成し）、デコード済の無音遷移データを用いて音声合成処理を行う準備が整ったタイミングで、（次のノートオフに対して）低レイテンシー対応である旨を、通知ランプの点灯・点滅や対象鍵が光る・点滅・振動などによりユーザに通知してもよい。すなわち、制御部２１０が、ノートオンメッセージを受信（取得）し、かつ、受信されたノートオンメッセージに対応するデコード済データがデコード済データ記憶領域２３１に記憶されている場合に、ユーザに対して何らかの報知を行うための情報を出力するようにしてもよい。具体的には、例えば、図５に示す例では、制御部２１０は、タイミングＴ２−３から予め定められた時間Ｔ３が経過した場合に、通知ランプの点灯を開始するための制御情報を演奏データ発生装置１００に出力する。また、制御部２１０は、ユーザがノートオフしたタイミング（ノートオフメッセージが受信されたタイミングＴ２−１２）で、その点灯を終了する旨を示す制御情報を演奏データ発生装置１００に出力する。演奏データ発生装置１００の制御部１１０は、音声合成装置２００から受信される制御情報に従って報知処理（例えば通知ランプの点灯・点滅の制御、振動のオン／オフ、等）を行う。また、この態様において、このランプ点灯に対してユーザがキャンセル動作を行えるようにしてもよい。この場合は、ユーザが操作部１３０を用いてキャンセル操作を行うと、制御部１１０は、操作部１３０から出力される情報に従って報知処理を停止（例えば、通知ランプの消灯、振動のオフ、等）する。
【００７５】
３−８．変形例（８）
上述の実施形態では、変換処理部２１６は、ＭＩＤＩメッセージ受信処理部２１２からノートオフメッセージが引き渡され、かつ、このノートオフメッセージが引き渡されてから予め定められた時間Ｔ３内に次の音素のノートオンメッセージが引き渡されなかったときに、無音遷移データをデコード済データ記憶領域２３１から読み出し、読み出したデコード済の無音遷移データを用いて音声合成処理を行った。これに代えて、変換処理部１２６が、ＭＩＤＩメッセージ受信処理部２１２からノートオフメッセージが引き渡された場合に、（予め定められた時間Ｔ３だけ待機することなく）無音遷移データをデコード済データ記憶領域２３１から読み出し、読み出したデコード済の無音遷移データを用いて音声合成処理を行ってもよい。具体的には、例えば、歌詞データとして「今日は、」や、「…でした。」のように文節区切れがある場合には、次の音素のノートオンメッセージの受信の有無を判断することなく、デコード済の無音遷移データを用いて音声合成処理を行ってもよい。
【００７６】
また、上述の実施形態において、予め定められた時間Ｔ３をユーザが操作部２３０等を用いて設定できるようにしてもよい。この場合、制御部２１０は、操作部２３０から出力される信号に応じて時間Ｔ３を設定する。
【００７７】
３−９．変形例（９）
本発明は、音声合成装置以外にも、これらを実現するための方法や、コンピュータに音声合成機能を実現させるためのプログラムとしても把握される。かかるプログラムは、これを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等を介して、コンピュータにダウンロードさせ、これをインストールして利用させるなどの形態でも提供されたりする。
【符号の説明】
【００７８】
１００…演奏データ発生装置、１１０…制御部、１２０…記憶部、１３０…操作部、１４０…表示部、１５０…インターフェース部、１６０…鍵盤部、１７０…音源部、１８０…サウンドシステム、１９０…バス、２００…音声合成装置、２１０…制御部、２１１…初期設定部、２１２…ＭＩＤＩメッセージ受信処理部、２１３…歌唱合成部、２１４…歌唱位置更新処理部、２１５…素片選択部、２１６…変換処理部、２１７…デコード部、２１８…音声合成部、２１９…素片連結部、２２０…記憶部、２２１…音声素片データベースＤＢ１記憶領域、２２２…歌詞データ記憶領域、２３０…操作部、２３１…デコード済データ記憶領域、２４０…表示部、２５０…インターフェース部、２６０…サウンドシステム、２７０…バス、３００…通信ケーブル、ＤＢ１…音声素片データベース
【図１】
2013238662.tif 000003
【図２】
2013238662.tif 000004
【図３】
2013238662.tif 000005
【図４】
2013238662.tif 000006
【図５】
2013238662.tif 000007
【図６】
2013238662.tif 000008
【図７】
2013238662.tif 000009