特許第6060520号(P6060520)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤマハ株式会社の特許一覧

<>
  • 特許6060520-音声合成装置 図000002
  • 特許6060520-音声合成装置 図000003
  • 特許6060520-音声合成装置 図000004
  • 特許6060520-音声合成装置 図000005
  • 特許6060520-音声合成装置 図000006
  • 特許6060520-音声合成装置 図000007
  • 特許6060520-音声合成装置 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6060520
(24)【登録日】2016年12月22日
(45)【発行日】2017年1月18日
(54)【発明の名称】音声合成装置
(51)【国際特許分類】
   G10L 13/047 20130101AFI20170106BHJP
   G10L 13/06 20130101ALI20170106BHJP
【FI】
   G10L13/047 A
   G10L13/06 230C
【請求項の数】4
【全頁数】18
(21)【出願番号】特願2012-109822(P2012-109822)
(22)【出願日】2012年5月11日
(65)【公開番号】特開2013-238662(P2013-238662A)
(43)【公開日】2013年11月28日
【審査請求日】2015年4月21日
(73)【特許権者】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】110000752
【氏名又は名称】特許業務法人朝日特許事務所
(72)【発明者】
【氏名】嘉山 啓
【審査官】 安田 勇太
(56)【参考文献】
【文献】 特開2008−170592(JP,A)
【文献】 特開2002−169564(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00 −13/10
G10H 1/00 − 1/46
G10H 7/00
(57)【特許請求の範囲】
【請求項1】
音素の発音開始指示又は発音終了指示を示す発音指示を取得する発音指示取得部と、
前記発音指示取得部が前記発音指示を取得した場合に、取得された発音指示に対応する音素を特定する音素特定部と、
音素毎及び音素連鎖毎の音声波形を表すデータが予め定められた規則に従ってエンコードされた音声素片データの集合である音声素片データベースから、前記音素特定部により特定された音素に対応する音声素片データを取得する音声素片データ取得部と、
前記音声素片データ取得部により取得された音声素片データをデコードするデコード部と、
前記デコード部によりデコードされた音声素片データを用いて合成音声を表す合成音声データを生成し、生成した合成音声データを出力するとともに、前記発音指示取得部が前記発音終了指示を取得した場合に、前記音声素片データベースに登録された音声素片データであって予め定められた音素から無音への遷移部分の音声波形を表す音声素片データがデコードされたデコード済データを記憶する記憶部から、該取得された発音終了指示に対応する音素として前記音素特定部により特定された音素から無音への遷移部分の音声波形に対応するデコード済データを読み出し、読み出したデコード済データを用いて合成音声データを生成し、生成した合成音声データを出力する音声合成部と
前記発音指示取得部が前記発音終了指示を取得する前のタイミングにおいて、予め定められた条件を満たす音素から無音への遷移部分の音声波形を表す音声素片データをデコードしてデコード済データを生成し、生成したデコード済データを前記記憶部に記憶するデコード済データ記憶制御部と
を具備することを特徴とする音声合成装置。
【請求項2】
記デコード済データ記憶制御部は、前記発音指示取得部が前記発音開始指示を取得した場合に、該発音開始指示に対応する音素として前記音素特定部により特定された音素から無音への遷移部分の音声波形を表す音声素片データをデコードしてデコード済データを生成し、生成したデコード済データを前記記憶部に記憶する
ことを特徴とする請求項に記載の音声合成装置。
【請求項3】
前記デコード済データ記憶制御部は、前記音声合成部における処理の履歴に基づいて1又は複数の音素を選定し、選定した音素から無音への遷移部分の音声波形を表す音声素片データをデコードしてデコード済データを生成し、生成したデコード済データを前記記憶部に記憶する
ことを特徴とする請求項1又は2に記載の音声合成装置。
【請求項4】
記音声合成部は、前記発音指示取得部が前記発音開始指示を取得し、かつ、該取得された発音開始指示に対応する音素に対応するデコード済データが前記記憶部に記憶されている場合に、ユーザに報知を行うための情報を出力する
ことを特徴とする請求項1乃至のいずれか1項に記載の音声合成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声合成装置に関する。
【背景技術】
【0002】
人間の肉声を模した音声を合成するための種々の技術が提案されている。例えば、特許文献1には、人間の肉声(以下「入力音声」という)を音素ごとに切り出して音声素片を採取しておき、これらの音声素片を相互に連結することによって任意の音声を合成する技術が開示されている。また、特許文献2には、ユーザによって自由に行われる演奏に合わせて歌唱音声を合成する技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−255974号公報
【特許文献2】特開2008−170592号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、特許文献2に記載された技術のように、ユーザによって自由に行われる演奏に合わせて歌唱音声を合成する装置においては、音声素片データのデコード処理や音声合成処理等により、ユーザによる演奏操作から発音/消音までの間に遅延が生じる。特に、消音のタイミングが遅れると演奏しているユーザが違和感を覚える場合があった。
本発明は上述の背景に鑑みてなされたものであり、ユーザによって自由に行われる演奏に合わせて合成音声を生成する装置において、消音のための演奏操作がなされてから合成音声が消音されるまでの遅延を軽減することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【0005】
上述した課題を解決するために、本発明は、音素の発音開始指示又は発音終了指示を示す発音指示を取得する発音指示取得部と、前記発音指示取得部が前記発音指示を取得した場合に、取得された発音指示に対応する音素を特定する音素特定部と、音素毎及び音素連鎖毎の音声波形を表すデータが予め定められた規則に従ってエンコードされた音声素片データの集合である音声素片データベースから、前記音素特定部により特定された音素に対応する音声素片データを取得する音声素片データ取得部と、前記音声素片データ取得部により取得された音声素片データをデコードするデコード部と、前記デコード部によりデコードされた音声素片データを用いて合成音声を表す合成音声データを生成し、生成した合成音声データを出力するとともに、前記発音指示取得部が前記発音終了指示を取得した場合に、前記音声素片データベースに登録された音声素片データであって予め定められた音素から無音への遷移部分の音声波形を表す音声素片データがデコードされたデコード済データを記憶する記憶部から、該取得された発音終了指示に対応する音素として前記音素特定部により特定された音素から無音への遷移部分の音声波形に対応するデコード済データを読み出し、読み出したデコード済データを用いて合成音声データを生成し、生成した合成音声データを出力する音声合成部と、前記発音指示取得部が前記発音終了指示を取得する前のタイミングにおいて、予め定められた条件を満たす音素から無音への遷移部分の音声波形を表す音声素片データをデコードしてデコード済データを生成し、生成したデコード済データを前記記憶部に記憶するデコード済データ記憶制御部とを具備することを特徴とする音声合成装置を提供する。
【0007】
また、本発明の更に好ましい態様において、前記デコード済データ記憶制御部は、前記発音指示取得部が前記発音開始指示を取得した場合に、該発音開始指示に対応する音素として前記音素特定部により特定された音素から無音への遷移部分の音声波形を表す音声素片データをデコードしてデコード済データを生成し、生成したデコード済データを前記記憶部に記憶してもよい。
【0008】
また、本発明の更に好ましい態様において、前記デコード済データ記憶制御部は、前記音声合成部における処理の履歴に基づいて1又は複数の音素を選定し、選定した音素から無音への遷移部分の音声波形を表す音声素片データをデコードしてデコード済データを生成し、生成したデコード済データを前記記憶部に記憶してもよい。
【0009】
また、本発明の更に好ましい態様において、前記音声合成部は、前記発音指示取得部が前記発音開始指示を取得し、かつ、該取得された発音開始指示に対応する音素に対応するデコード済データが前記記憶部に記憶されている場合に、ユーザに報知を行うための情報を出力してもよい。
また、本発明の更に好ましい態様において、前記記憶部は、前記デコード済データを、前記音声合成部による音声合成処理が終了するまでの期間に渡って記憶してもよい。
【発明の効果】
【0010】
本発明によれば、ユーザによって自由に行われる演奏に合わせて合成音声を生成する装置において、消音のための演奏操作がなされてから合成音声が消音されるまでの遅延を軽減することができる。
【図面の簡単な説明】
【0011】
図1】音声合成システムの構成の一例を示すブロック図
図2】音声素片の一例を示す図
図3】音声素片データベースの内容の一例を示す図
図4】音声合成装置の機能的構成の一例を示すブロック図
図5】音声合成装置が行う処理のタイミングを示すタイミングチャート
図6】音声合成装置が行う処理のタイミングを示すタイミングチャート
図7】システムの構成の一例を示すブロック図
【発明を実施するための形態】
【0012】
図面を参照しながら本発明の実施の形態を説明する。以下に示す各実施形態は、楽曲の歌唱音声を合成するために本発明を適用した態様である。
【0013】
1.構成
図1は、この発明の一実施形態である歌唱合成システムの構成を示すブロック図である。この歌唱合成システムは、演奏データ発生装置100と、音声合成装置200とをMIDIケーブル等の通信ケーブル300により接続してなるものである。この歌唱合成システムにおいて、演奏データ発生装置100は、ユーザの演奏操作に応じて演奏データたるMIDIメッセージを発生する装置であり、例えばMIDI鍵盤楽器である。音声合成装置200は、合成音声を生成する装置であり、例えばパーソナルコンピューターや携帯通信端末等の装置である。音声合成装置200は、演奏データ発生装置100からMIDIメッセージが順次与えられるのに応じて、予め記憶した歌詞データを歌唱位置を変えつつ順次利用し、MIDIメッセージにより定まるピッチおよび発音期間を持った歌唱音声をリアルタイムに合成する。
【0014】
演奏データ発生装置100は、制御部110、記憶部120、操作部130、表示部140、インターフェース部150、鍵盤部160、音源部170を有し、これら各部がバス190を介して接続されている。制御部110は、CPU(Central Processing Unit)等のプロセッサーや、RAM(Random Access Memory)、及びROM(Read Only Memory)等を有している。制御部110において、CPU等のプロセッサーが、ROMや記憶部120に記憶されているコンピュータープログラムを読み出してRAMにロードして実行することにより、演奏データ発生装置100の各部が制御される。
【0015】
記憶部120は、各種のデータを記憶するための記憶部である。記憶部120としては、磁気ディスクを内蔵したハードディスク装置や、CD−ROMに代表される可搬型の記録媒体を駆動する装置など各種の記憶装置が採用される。操作部130は、各種の操作子を備え、ユーザによる操作内容を表す操作信号を制御部110に出力する。表示部140は、例えば液晶パネルを備え、制御部110による制御の下、各種の画像を表示する。インターフェース部150は、演奏データであるMIDIメッセージを送信するためのMIDIインターフェースや、磁気ディスクやCD−ROMなどの外部記録媒体との間でデータの授受を行うためのドライバなどにより構成されている。
【0016】
鍵盤部160は、ユーザによって押鍵される複数の鍵とこれらの各鍵が押鍵されているか離鍵されているかを示す信号を制御部110に供給するキースイッチ回路とにより構成されている。音源部170は、制御部110からの指令に従い、デジタル楽音信号を形成する装置である。サウンドシステム180は、音源部170において形成されたデジタル楽音信号をアナログ楽音信号に変換するD/A変換器と、このアナログ楽音信号を増幅するアンプと、このアンプの出力信号を音として出力するスピーカ等により構成されている。
【0017】
音声合成装置200は、制御部210、記憶部220、操作部230、表示部240、インターフェース部250、サウンドシステム260を有し、これら各部がバス270を介して接続されている。制御部210は、CPU等のプロセッサーや、RAM、及びROM等を有している。制御部210において、CPU等のプロセッサーが、ROMや記憶部220に記憶されているコンピュータ−プログラムを読み出してRAMにロードして実行することにより、音声合成装置200の各部が制御される。
【0018】
記憶部220は、各種のデータを記憶するための記憶部である。記憶部220としては、磁気ディスクを内蔵したハードディスク装置や、CD−ROMに代表される可搬型の記録媒体を駆動する装置など各種の記憶装置が採用される。操作部230は、各種の操作子を備え、ユーザによる操作内容を表す操作信号を制御部210に出力する。表示部240は、例えば液晶パネルを備え、制御部210による制御の下、各種の画像を表示する。インターフェース部250は、演奏データであるMIDIメッセージを受信するためのMIDIインターフェースや、磁気ディスクやCD−ROMなどの外部記録媒体との間でデータの授受を行うためのドライバなどにより構成されている。サウンドシステム260は、音声合成装置200において合成された音声を出力するものであり、合成音声のサンプルデータである歌唱音声データをアナログ音声信号に変換するD/A変換器と、このアナログ音声信号を増幅するアンプと、このアンプの出力信号を音として出力するスピーカ等により構成されている。
【0019】
記憶部220は、図示のように、音声素片データベースDB1記憶領域221と、歌詞データ記憶領域222とを有している。音声素片データベースDB1記憶領域221には、単数又は複数の音素(phoneme)で構成される音声素片を表すデータ(以下「音声素片データ」という)の集合である音声素片データベースDB1が記憶されている。音声素片データは合成音声を生成する際に用いられるデータである。本実施形態において「音素」とは、言語上の意味の区別の最小単位(例えば母音や子音)に相当するものであり、ある言語の実際の調音と音韻体系全体を考慮して設定される、その言語の音韻論上の最小単位である。音声素片は、特定の発声者によって発声された入力音声のうち所望の音素や音素連鎖に相当する区間が切り出されたものである。本実施形態における音声素片データは、音声素片の周波数スペクトルを示すデータである。以下の説明では、「音声素片」の語は、単一の音素(例えばモノフォン)や、音素連鎖(例えばダイフォンやトライフォン)を含むものとして用いる。
【0020】
具体的には、音声素片データベースDB1には、[a]、[i]といったような単一の音素の音声素片データや、[a−i]、[a−p]といったような音素連鎖の音声素片データが記憶されている。この実施形態では、音素を表す発音記号としてSAMPA(Speech Assessment Methods Phonetic Alphabet)で規定された発音記号を用いる。なお、音素を表す記号はこれに限らず、例えばX−SAMPA(Extended SAM Phonetic Alphabet,拡張SAM音声記号)やIPA(国際音声記号)等の他の規格に沿ったものであってもよい。
【0021】
図2は、音声素片の一例を示す図である。図2の(a1)は、子音の音素[s]とこれに続く母音の音素[a]とを組み合わせた音素連鎖[s−a]の波形を示す。図2の(a1)に示す波形は、時点Ta1が音素[s]の始点として指定されるとともに時点Ta3が音素[a]の終点として指定され、さらに時点Ta2が音素[s]と音素[a]との境界として指定された場合が想定されている。図2の(a1)に示されるように、音素[a]の波形は、その発声のために口を開いていく発声者の動作に対応するように時点Ta2から徐々に振幅が増大していき、発声者が口を開き切った時点Ta0を越えると振幅が略一定に維持される形状となる。音素[a]の終点Ta3としては、音素[a]の波形が定常的な状態に遷移した後の時点(すなわち図2の(a1)に示される時点Ta0以降の時点)が選定される。
【0022】
一方、図2の(b1)は、母音の音素[a]を含む音声素片[a−#]の波形を示す。[#]は無音を表す。この音声素片[a−#]に含まれる音素[a]の波形は、発声者が口を開き切った状態にて発声してから徐々に口を閉じていって最後には完全に口が閉じられるという発声の動作に対応した形状となる。すなわち、音素[a]の波形は、初めに振幅が略一定に維持され、発声者が口を閉じる動作を開始する時点(定常点)Tb0から振幅が徐々に減少していく。このような音声素片の始点Tb1は、音素[a]の波形が定常的な状態に維持されている期間内の時点(すなわち定常点Tb0よりも前の時点)として選定される。
【0023】
以上のようにして時間軸上における範囲が画定された音声素片は所定の時間長(例えば5msないし10ms)のフレームFに区分される。図2の(a1)に示されるように、各フレームFは時間軸上において前のフレームに後のフレームが一部重なるように選定される。これらのフレームFは簡易的には同一の時間長の区間とされるが、例えば音声素片のピッチに応じて各フレームFの時間長を変化させてもよい。こうして区分された各フレームFの波形にFFT(Fast Fourier Transform)処理を含む周波数分析が実施されることによって周波数スペクトルが特定され、これらの周波数スペクトルを示すデータがエンコードされたものが音声素片データとして音声素片データベースDB1に記憶される。したがって、図2の(a2)および(b2)に示されるように、各音声素片の音声素片データは、各々が別個のフレームFの周波数スペクトルを示す複数の単位データD(D1、D2、……)を含む。
【0024】
図3は、音声素片データベースDB1の内容の一例を示す図である。図示のように、音声素片データベースDB1には、音素又は音素連鎖毎に音声素片データ(の全部又は一部)がエンコードされて記憶されている。なお、ひとつの音素又はひとつの音素連鎖について、ピッチ毎、ゲイン毎、波長毎に複数の音声素片データが記憶されていてもよい。例えば、ピッチに関して、ひとつの音素(又はひとつの音素連鎖)について高音用の音声素片データ、中音用の音声素片データ、低音用の音声素片データ、の3つの音声素片データが記憶されていてもよい。このように、音声素片データベースDB1に、ひとつの音素又はひとつの音素連鎖について、その属性毎に異なる音声素片データが記憶されていてもよい。
【0025】
歌詞データ記憶領域222には、操作部230の操作により入力される文字列が歌詞データとして格納される。操作部230の操作により入力される文字列が歌詞データとしてRAM内に格納され、操作部230の操作により格納コマンドが入力された場合、制御部210がRAM内の歌詞データを歌詞データ記憶領域222に格納する。歌詞データ記憶領域222には、このようにして格納された歌詞データおよびインターフェース部250を介して外部から入力される歌詞データの集合が記憶される。
【0026】
次に、図4に示すブロック図を参照しながら、音声合成装置200の機能的構成の一例について説明する。図4において、初期設定部211と、MIDIメッセージ受信処理部212と、歌唱合成部213とは、制御部210のプロセッサーが、ROM又は記憶部220に記憶されたコンピュータープログラムを読み出しRAMにロードして実行することにより実現される。
【0027】
初期設定部211は、歌唱音声を生成するためのアプリケーション(以下「歌唱合成アプリケーション」という)が起動されたタイミングで、各種の初期設定を行う。特に、初期設定部211は、予め定められた音素(この実施形態では、母音と鼻音)から無音への遷移部分の音声波形を表す音声素片データを音声素片データベースDB1から読み出し、読み出した音声素片データをデコードする。初期設定部211は、デコードした音声素片データ(デコード済データ)をRAM内の所定の記憶領域(以下「デコード済データ記憶領域231」という)に格納する。デコード済データ記憶領域231には、音声素片[a−#]、[i−#]、[u−#]、[e−#]、[o−#]、[n−#]のそれぞれの音声波形を表す音声素片データをデコードしたデコード済データが格納される。初期設定部211は本発明に係るデコード済データ記憶制御部の一例である。以下の説明では、説明の便宜上、予め定められた音素から無音への遷移部分の音声波形を表す音声素片データを「無音遷移データ」と称して説明する。
【0028】
なお、ひとつの音素又はひとつの音素連鎖について、その属性毎(ピッチ毎、ゲイン毎、波長毎、等)に異なる音声素片データが音声素片データベースDB1に記憶されている場合には、初期設定部211は、予め定められた音素に対応する全ての属性の音声素片データに対してデコード処理を行ってデコード済データを生成してもよい。例えば、初期設定部211は、ひとつの音素又はひとつの音素連鎖について、高音用の音声素片データ、中音用の音声素片データ、低音用の音声素片データ、の3つの音声素片データが記憶されている場合には、これらの3つの音声素片データに対してデコード処理を行ってもよい。また、初期設定部211は、予め定められた音素に対応する音声素片データのうちの一部の属性(予め定められた属性)の音声素片データに対してデコード処理を行ってデコード済データを生成してもよい。このように属性毎に異なる音声素片データがデータベースに記録されている場合は、後述する変換処理部216は、合成すべき音の属性に対応する音声素片データを選択するようにすると良い。例えばピッチに関して高音用・中音用・低音用の音声素片データがある場合、変換処理部216は、その音符に最も近い音高の音声素片データを選択するようにすると良い。このようにすることで高品質な合成音を得ることができる。
【0029】
デコード済データ記憶領域231は、歌唱合成アプリケーションの終了に伴って開放される。すなわち、デコード済データ記憶領域231には、歌唱音声の合成処理が終了するまでの期間に渡って、デコードされた無音遷移データ(デコード済データ)が記憶される。
【0030】
MIDIメッセージ受信処理部212は、インターフェース部250の中のMIDIインターフェースがMIDIメッセージを受信したときに起動される割り込みルーチンである。MIDIメッセージ受信処理部212は、MIDIインターフェースにより受信されたMIDIメッセージを解釈し、解釈結果に従って、歌唱合成部213内の各部に制御情報を供給する。MIDIメッセージ受信処理部212は、ノートオン(音素の発音開始)又はノートオフ(音素の発音終了)を示す発音指示(MIDIメッセージ)を取得する発音指示取得部の一例である。
【0031】
歌唱合成部213は、歌唱位置更新処理部214と、素片選択部215と、変換処理部216と、素片連結部219とで構成される。歌唱位置更新処理部214は、歌詞データが示す歌詞のうち歌唱合成を行う歌唱対象部分の位置、すなわち、歌唱位置の更新を行うルーチンである。歌唱位置更新処理部214は、MIDIメッセージ受信処理部212がMIDIメッセージを受信(取得)した場合に、取得されたMIDIメッセージに対応する表音文字(音素)を特定する音素特定部の一例である。歌唱位置更新処理部214は、歌詞データが示す歌詞のうち歌唱対象部分となっている表音文字を、素片選択部215及び素片連結部219に通知する。歌唱位置更新処理部214が歌唱位置の更新を行う契機には、次の2種類がある。
【0032】
第1の契機は、MIDIメッセージとしてノートオンメッセージがMIDIインターフェースによって受信され、そのノートオンメッセージがMIDIメッセージ受信処理部212から歌唱位置更新処理部214に引き渡されたときである。この場合、歌唱位置更新処理部214は、例えば日本語の歌唱の場合には、歌詞を構成する表音文字列のうち現在の歌唱対象部分となっている表音文字の次の表音文字を新たな歌唱対象部分とする。また、英語の歌唱の場合には、通常、1つの音符に合わせて発声させる母音文字または子音文字および母音文字の組が発音の単位となる。そこで、英語の歌唱の場合には、歌唱位置更新処理部214は、歌詞を構成する表音文字列のうち現在の歌唱対象部分の直後にあり、発音の単位となる母音文字または子音文字および母音文字の組を新たな歌唱対象部分とする。
【0033】
第2の契機は、MIDIメッセージとして歌唱位置変更指示を含むシステムイクスクルーシブメッセージがMIDIインターフェースによって受信され、その歌唱位置変更指示がMIDIメッセージ受信処理部212から歌唱位置更新処理部214に引き渡されたときである。歌唱位置変更指示には、1つ前の音符に戻る、2つ前の音符に戻る、…、曲の先頭に戻る等の各種の指示がある。歌唱位置更新処理部214は、この歌唱位置変更指示に従い、歌詞データにおける歌唱位置を変更する。
【0034】
素片選択部215は、歌唱位置更新部213によって更新された歌唱位置に対応する音声素片データを読み出すルーチンである。素片選択部215は、現在の歌唱位置にあたる表音文字(英語の場合は母音文字または子音文字と母音文字の組)を参照し、必要であれば、これに加えて、その直前に歌唱対象部分であった表音文字とを参照することにより、音声波形の合成を行う1または複数の音声素片を決定する。素片選択部215は、決定した音声素片に対応した音声素片データを音声素片データベースDB1から読み出して、変換処理部216に引き渡す。素片選択部215は、本発明に係る音声素片データ取得部の一例である。
【0035】
変換処理部216は、デコード部217と、音声合成部218とで構成される。デコード部217は、素片選択部215から引き渡される音声素片データをデコードし、RAMに展開する。デコード部217は、例えば、ADPCM(Adaptive Differential Pulse Code Modulation)やMP3(MPEG Audio Layer-3)などの音声圧縮アルゴリズムで圧縮(エンコード)されている波形圧縮データをデコードするものであってもよく、また、SMS(Spectral Modeling Synthesis)技術によって調和成分(Deterministic Component)と非調和成分(Stochastic Component)とに区分された各成分を示す音声素片データのような手法でエンコードされたものをデコードする構成であってもよい。もちろん、音声合成手法や波形圧縮手法など音声素片データを取り扱うことができる手法を用いてエンコード・デコードしてもよい。音声合成部218は、素片選択部215から引き渡される音声素片データを用いて合成音声を表す合成音声データ(歌唱音声データ)を生成する。すなわち、音声合成部218は、デコード部217によってデコードされた音声素片データのうち母音や有声子音などの有声音に対応した区間のものに対し、ピッチ変換を施すとともに逆FFTを施し、MIDIメッセージ受信処理部212から引き渡されるピッチデータが示すピッチを持った歌唱音声データ(時間領域のデジタル音声信号)として出力する。
【0036】
また、音声合成部218は、子音や母音の歌唱音声データの継続時間を調整する役割をも果たす。さらに音声合成部218は、ビブラート、ピッチベンド、音の強弱等、音楽的表情付けのためのピッチの変更や音量の変更を歌唱音声データに施す機能を備えている。音楽的表情付けのための指令は、演奏データ発生装置100からMIDIメッセージとして音声合成装置200に供給され、MIDIメッセージ受信処理部212を介して音声合成部218に与えられる。
【0037】
音声合成部218は、ノートオフメッセージの受信または後続の音符のノートオンメッセージの受信をトリガとして歌唱対象部分の発音を終了させる。すなわち、音声合成部218は、ノートオフメッセージを受信した場合または後続の音符のノートオンメッセージを受信した場合に、生成した合成音声データの出力を停止する。このとき、音声合成部218は、ノートオフメッセージを受信する前に後続のノートオンメッセージを受信した場合またはノートオフメッセージを受信してから予め定められた時間(例えば、1/4小節、0.5秒、等。以下「予め定められた時間T3」という)内に後続の音符のノートオンメッセージを受信した場合には、後続の音符に対応する音声素片データを用いて合成音声データを生成する。すなわち、音声合成部218は、後続のノートオンメッセージを受信した場合は、後続の音符に対応する音声素片データをデコード部217にデコードさせ、デコード部217によりデコードされた音声素片データを用いて合成音声データを生成し、生成した合成音声データを出力する。具体的には、例えば、音素[a]に対応するノートオンメッセージの後に、ノートオフメッセージを受信することなく、音素[i]に対応するノートオンメッセージを受信する場合や、音素[a]に対応するノートオフメッセージを受信してから予め定められた時間T3内に音素[i]に対応するノートオンメッセージを受信する場合が想定される。このような場合には、音声合成部218は、音声素片[a−i]の音声波形を表す音声素片データを音声素片データベースDB1から読み出し、読み出した音声素片データを用いて合成音声データを生成する。
【0038】
一方、音声合成部218は、ノートオフメッセージを受信してから予め定められた時間T3内に後続の音符のノートオンメッセージを受信しなかった場合には、デコード済データ記憶領域231から、受信されたノートオフメッセージに対応する音素の無音遷移データを読み出し、読み出した無音遷移データを用いて合成音声データを生成し、生成した合成音声データを出力する。具体的には、例えば、音素[a]に対応するノートオフメッセージを受信してから予め定められた時間T3内に次の音素についてのノートオンメッセージを受信しなかった場合には、音声合成部218は、音声素片[a−#]の音声波形を表すデコード済データをデコード済データ記憶領域231から読み出し、読み出した音声素片データを用いて合成音声データを生成する。
【0039】
素片連結部219は、最終的に得られる歌唱音声が一連の音声素片が滑らかに繋がったものとなるように、変換処理部216の処理を経た歌唱音声データの調整を行う。さらに素片連結部219は、MIDIメッセージ受信処理部212による制御の下、RAM内のバッファ領域を利用して、歌唱音声データに遅延処理を施してサウンドシステム260に与え、歌唱音声データが歌唱音声として放音されるタイミング制御を行う機能を備えている。
【0040】
図5は、本実施形態に係るデコード処理と音声合成処理のタイミングを示すタイミングチャートである。また、図6は、従来の音声合成装置(無音遷移データのデコード処理を前もって行わない装置)におけるデコード処理と音声合成処理のタイミングを示すタイミングチャートである。図5図6に示す例では、「あ」という表音文字について合成音声を生成する場合の処理のタイミングを示している。本実施形態では、図5に示すように、システムが起動されたタイミングT2−1において、初期設定部211が無音遷移データのデコード処理を行い(T2−2)、デコード済データ記憶領域231に格納しておく。その後、MIDIメッセージ受信処理部212が、タイミングT2−3において、「あ」という表音文字についてのノートオンメッセージを受信すると、素片選択部215は、音声素片[#−a]の音声素片データと音声素片[a]の音声素片データを音声素片データベースDB1から順次読み出して、デコード処理を行う(T2−4、T2−5)。音声合成部218は、デコード処理が施された音声素片データを用いて順次音声合成処理を行う(T2−7、T2−8)。このとき、ノートオンメッセージが受信されてから音声合成処理が開始されるまでの間には、デコード処理の処理時間に起因して図5に示すような遅延時間T2−6が発生する。
【0041】
また、音声合成部218によって生成された音声合成データは順次素片連結部219に供給され、素片同士の連結処理が施された後サウンドシステム260に供給され、音として出力される(T2−10、T2−11)。このとき、音声合成処理が開始されてから発話処理(発音処理)が開始されるまでの間には、音声合成処理の処理時間に起因して図5に示すような遅延時間T2−9が発生する。
【0042】
その後、MIDIメッセージ受信処理部212が、タイミングT2−12において、ノートオフメッセージを受信し、かつ、ノートオフメッセージを受信してから予め定められた時間T3内に次の音素のノートオンメッセージを受信しなかった場合には、音声合成部218は、[a−#]のデコード済の音声素片データ(無音遷移データ)をデコード済データ記憶領域231から読み出し、音声合成処理を行う(T2−13)。音声合成処理により生成された音声合成データは素片連結部219に供給され、素片同士の連結処理が施された後サウンドシステム260に供給され、音として出力される(T2−15)。図5に示すように、[a−#]の音声素片データについて音声合成処理が開始されてから発話処理(発音処理)が開始されるまでの間には、音声合成処理の処理時間に起因する遅延時間T2−14が発生する。
【0043】
ここで、図5に示すタイミングチャートと図6に示すタイミングチャートとが異なる点は、[a−#]の音声素片データのデコード処理を行うタイミングが異なる点と、[a−#]の音声素片データについてのデコード処理が開始されてから音声合成処理が開始されるまでの間に遅延時間(図6の時間T1−12)の発生の有無が異なる点である。図6に示す例では、MIDIメッセージ受信処理部212がタイミングT1−10においてノートオフメッセージを受信した後に、デコード部217が[a−#]についての音声素片データのデコード処理を行い(時間T1−11)、その後音声合成処理が行われる(時間T1−13)。そのため、図6に示す例では、[a−#]についてのデコード処理が開始されてから(すなわちノートオフメッセージが受信されてから)音声合成処理が開始されるまでの間には遅延時間T1−12が発生する。
【0044】
図5図6を比較すると明らかなように、本実施形態では、母音(又は鼻音)から無音への遷移部分を含む音声素片データのデコードを開始してから合成処理を開始するまでに発生し得る遅延時間(図6の時間(T1−12))を抑えることができる。これにより、ノートオフメッセージを受信してから合成音声が消音されるまでの遅延を軽減することができる。そのため、例えば、歌唱合成時に、発音しているノート(のノートオフ)と次のノートのノートオンに関して、次のノートとつながって発音されてしまうことを避けることができ、ノートオフの追従性を上げることができる。特にリアルタイム音声(歌唱)合成の演奏では歌い終わりのタイミングを正確に制御したい場合があり、ノートオフの追従性を上げる事はそのような場合に大きな効果がある。
【0045】
2.動作
次に、本実施形態の動作を説明する。
【0046】
2−1.歌唱合成の準備作業
ユーザは、音声合成装置200に歌唱合成を行わせるに当たり、必要なアプリケーションの立ち上げを行う。すなわち、操作部230の操作により、歌詞データを入力するためのアプリケーション(以下「歌詞データ入力アプリケーション」という)や歌唱合成アプリケーションの起動を制御部210に指示する。また、ユーザは、操作部130の操作により、MIDIメッセージを発生させるためのアプリケーションの起動を制御部110に指示する。
【0047】
アプリケーションが起動されると、まず、初期設定部211は、各種の初期設定を行うとともに、無音遷移データのデコード処理を行い、デコード処理が施された無音遷移データをデコード済データ記憶領域231に格納する。
【0048】
次にユーザは、歌唱対象となる歌詞データの準備を行う。すなわち、ユーザは、歌詞データ入力アプリケーションが起動されている状態において、操作部230の操作により歌詞を構成する表音文字列や音声記号列を入力する。制御部210は、入力される表音文字列や音声記号列を用いて歌詞データを生成し、RAMに記憶する。なお、歌唱対象である歌詞データが歌詞データ記憶領域222に記憶されている場合には、操作部230の操作により、その歌詞データを歌詞データ記憶領域222からRAMに転送してもよい。
【0049】
次にユーザは、操作部230を操作して、歌唱合成開始の指示を制御部210に指示する。これにより歌唱合成の準備が完了する。
【0050】
2−2.音声合成動作
次いで、音声合成装置200が行う音声合成動作について説明する。上述のようにして歌唱合成の準備が完了すると、ユーザは、演奏データ発生装置100の鍵盤部160を用いて鍵盤演奏を行い、必要に応じて操作部130を操作する。演奏データ発生装置100では、鍵盤部160や操作部130の操作イベントが制御部110に引き渡される。制御部110は、操作イベントに対応したMIDIメッセージを生成し、生成したMIDIメッセージをインターフェース部150内のMIDIインターフェースを介して音声合成装置200に送信する。
【0051】
音声合成装置200では、インターフェース部250の中のMIDIインターフェースがMIDIメッセージを受信する度に、制御部210に対する割り込み要求が発生し、MIDIインターフェースにより受信されたMIDIメッセージがMIDIメッセージ受信処理部212に引き渡される。MIDIメッセージ受信処理部212は、このMIDIメッセージを解釈し、解釈結果に従って、歌唱合成部213の各部の制御を行う。
【0052】
MIDIメッセージ受信処理部212は、ノートオンメッセージまたはノートオフメッセージが引き渡された場合、そのメッセージを歌唱位置更新処理部214と、素片選択部215と、変換処理部216と、素片連結部219に引き渡す。歌唱位置更新処理部214は、RAM内において歌唱対象となっている歌詞データ中の歌唱位置を管理しており、基本的にはノートオンメッセージが引き渡されたときに歌唱位置を更新する。すなわち、歌唱位置更新処理部214は、例えば歌詞データが「さいたさいた…」という歌詞を示す場合には、1個目のノートオンメッセージが引き渡されたときに歌唱位置を歌詞の最初の表音文字「さ」とし、2個目のノートオンメッセージが引き渡されたとき歌唱位置を「さ」から「い」に移動し、3個目のノートオンメッセージが引き渡されたとき歌唱位置を「い」から「た」に移動し、…という具合に、歌唱位置を表音文字1個分ずつ進める。なお、歌唱位置更新処理部214は、英語などの言語においては歌唱位置を1音節ずつ(例えば、Sep-tem-ber、等)進める。
【0053】
素片選択部215は、基本的には歌詞データが示す表音文字列のうち歌唱位置更新処理部214が特定する歌唱位置にある表音文字(日本語の場合は1個、英語の場合は1個または複数)の音声波形の合成に用いる1または複数の音声素片を決定し、その音声素片に対応した音声素片データを音声素片データベースDB1から読み出して、変換処理部216に引き渡す。
【0054】
変換処理部216は、MIDIメッセージ受信処理部212からノートオンメッセージが引き渡されたとき、このノートオンメッセージから発音すべき音のピッチを指定するノートナンバーを取り出す。そして、その時点において素片選択部215から引き渡されている音声素片データのうち母音や有声子音などの有声音に対応した区間のものに対し、ノートナンバーに対応したピッチへのピッチ変換を施す。上述したように音声素片データが音声素片のサンプル列のスペクトルデータを波形データとして含む場合、このピッチ変換は、例えばノートナンバーが示すピッチと音声素片データに含まれる素片ピッチデータが示すピッチとの差分を求め、この差分に相当する周波数だけ波形データが示すスペクトル分布を周波数方向に移動させる処理を行うことにより実行可能である。変換処理部216は、このようなピッチ変換を経た音声素片データに逆FFTを施し、時間領域のデジタル音声信号である歌唱音声データを出力する。
【0055】
その際に、変換処理部216は、歌唱音声データの持続時間を調整する。更に詳述すると、基本的に本実施形態では、ノートオンメッセージの受信をトリガとして歌唱対象部分の発音を開始させ、このノートオンメッセージと対をなすノートオフメッセージの受信または後続の音符のノートオンメッセージの受信をトリガとして歌唱対象部分の発音を終了させる。
【0056】
一方、変換処理部216は、MIDIメッセージ受信処理部212からノートオフメッセージが引き渡され、かつ、このノートオフメッセージが引き渡されてから予め定められた時間T3内に次の音素のノートオンメッセージが引き渡されなかったとき、このノートオフメッセージに対応する音素の無音遷移データをデコード済データ記憶領域231から読み出し、読み出したデコード済の無音遷移データを用いて音声合成処理を行う。なお、MIDIメッセージ受信処理部212が受信したノートオフメッセージに対応する音素の無音遷移データがデコード済データ記憶領域231に記憶されていない場合には、変換処理部216は、その音素の無音遷移データを音声素片データベースDB1から読み出し、読み出した音声素片データに対してデコード処理や音声合成処理を施す。
【0057】
素片連結部219は、変換処理部216の処理を経た歌唱音声データ(時間領域の信号)を受け取り、各歌唱音声データを時間軸上において連結したデジタル音声信号をRAM内のバッファ領域に格納し、適切な遅延処理を施してサウンドシステム260に与える。
【0058】
以上に説明したように、本実施形態においては、素片接続型音声合成において、使用頻度の高い素片波形データ(特に、母音や子音から無音への遷移部分の音声波形を表す音声素片データ)をあらかじめ展開(エンコードされた音声素片データをデコードしメモリへ展開)することで、ユーザによって消音のための演奏操作がなされてから合成音声が消音されるまでの遅延が軽減される。
【0059】
3.変形例
以上の実施形態は次のように変形可能である。尚、以下の変形例は適宜組み合わせて実施しても良い。
【0060】
3−1.変形例(1)
音声素片データの態様は上記実施形態に示したものに限られない。例えば、各音声素片のフレームFごとのスペクトル包絡(スペクトルエンベロープ)を示すデータを音声素片データとしてもよいし、各音声素片の時間軸上における波形を示すデータを音声素片データとしてもよい。また、音声素片の波形をSMS(Spectral Modeling Synthesis)技術によって調和成分(Deterministic Component)と非調和成分(Stochastic Component)とに区分し、この各成分を示すデータを音声素片データとしてもよい。この場合には、調和成分と非調和成分の双方について音声合成部218による処理が実行されるとともに、この処理後の調和成分と非調和成分とが音声合成部218の後段の加算部によって加算されることになる。また、各音声素片をフレームFに区分したうえで各フレームFのスペクトル包絡に関する複数の特徴量(例えばスペクトル包絡のピークの周波数やゲイン、またはスペクトル包絡の全体の傾きなど)を抽出しておき、これらの特徴量を表す複数のパラメータのセットを音声素片データとしてもよい。このように、本発明において音声素片を保持する形態の如何は不問である。
【0061】
3−2.変形例(2)
上記実施形態においては、歌唱音声を合成するための装置に本発明を適用した場合を例示したが、これ以外の装置にも本発明を適用できることはもちろんである。例えば、各種の文書を示す文書データ(例えばテキストファイル)に基づいて当該文書の文字列を読み上げる装置にも本発明は適用される。すなわち、テキストファイルに含まれる文字コードに基づいて素片取得部215が音声素片データを音声素片データベースDB1から読み出し、この音声素片データに基づいて音声が合成される構成としてもよい。この場合は、装置の制御部が、各音素の発音開始タイミングや発音終了タイミングを示す発音指示を、ユーザによる操作に応じた操作信号を出力する操作部や、また、通信ケーブル等を介して接続された他の装置から取得する構成としてもよい。
【0062】
また、音声合成処理の詳細は、実施形態で説明したものに限定されない。音符と発音記号(文字)とが与えられたときに、その音符および発音記号に応じた音声を合成するものであれば、どのような処理が用いられてもよい。また、音符に代えて、ピッチカーブのような音の並びを表すデータが与えられる構成とし、そのピッチカーブに応じた音声を合成する処理であってもよい。
また、上述の実施形態では、演奏データ発生装置100として鍵盤を備えたMIDI鍵盤楽器を例示したが、演奏データ発生装置はMIDI鍵盤楽器に限らず、MIDIメッセージを出力するパーソナルコンピューター等の他の装置であってもよい。また、演奏データ発生装置100が出力するメッセージはMIDIメッセージに限定されるものではなく、音素の発音開始タイミングや発音終了タイミングを示す発音指示を出力する装置であればどのような装置であってもよい。
【0063】
3−3.変形例(3)
音声合成装置200のハードウェア構成は、図1で説明したものに限定されない。図4に示される機能を実装できるものであれば、音声合成装置200はどのようなハードウェア構成であってもよい。例えば、音声合成装置200は、図4に示される機能要素の各々に対応する専用のハードウェア(回路)を有していてもよい。また、例えば、図4に示す変換処理部216が、DSPなどの音声処理に専用されるハードウェアによって実現されてもよい。
【0064】
また、上述の実施形態において、複数の装置が、上記実施形態の音声合成装置200に係る機能を分担するようにしてもよい。例えば、図4の歌唱位置更新処理部214、素片選択部215の機能を実現する第1の装置と、変換処理部216、素片連結部219の機能を実現する第2の装置とが別体となって構成されていてもよい。また、通信ネットワークで接続された2以上の装置が、上記実施形態の音声合成装置200に係る機能を分担するようにし、それら複数の装置を備えるシステムが同実施形態の音声合成装置200を実現するようにしてもよい。
【0065】
また、上述の実施形態では、音声合成装置200が音声素片データベースDB1を記憶する構成について説明したが、これに限らず、例えば、図7に示すように、音声素片データベース400が音声合成装置200と別体として構成されていてもよい。図7に示す例では、演奏データ発生装置100、音声合成装置200、音声素片データベース400が、ネットワーク500により接続されている。
【0066】
また、上述の実施形態では、図1に示す各部がバス270によって接続されている構成について説明したが、バス270に代えて通信ネットワークで各部が接続される構成であってもよい。また、上述の実施形態では、演奏データ発生装置100と音声合成装置200とが通信ケーブル300により接続される構成について説明したが、これに限らず、演奏データ発生装置100と音声合成装置200とが一体となった装置として構成されていてもよい。
【0067】
3−4.変形例(4)
上述の実施形態では、歌唱合成処理を行う前にユーザが歌詞データを予め入力する構成としたが、歌詞データが入力されるタイミングはこれに限らず、歌詞データをリアルタイムに入力される構成であってもよい。すなわち、MIDIメッセージが音声合成装置200に入力されるのと並行して歌詞データが入力される構成であってもよい。また、例えば、MIDIメッセージに歌詞(音素)を表すデータを含める構成としてもよい。
【0068】
3−5.変形例(5)
上述の実施形態では、初期設定部211が、歌唱合成アプリケーションが起動されたときに、予め定められた音素から無音への遷移部分の音声波形を表す音声素片データをデコードし、デコード済データ記憶領域231に記憶する構成とした。無音遷移データをデコードするタイミングは上述の実施形態で示したタイミングに限らない。例えば、予め定められた音素(母音又は鼻音)に対応するノートオンメッセージが受信されたタイミングで、無音遷移データのデコード処理を行う(図5に点線で示す時間T2−16)ようにしてもよい。この場合、例えば、素片選択部215は、歌唱位置更新部213によって現在の歌唱位置であると特定された表音文字が母音である場合には、この母音に対応する音声素片データを音声素片データベースDB1から読み出すに加えて、この母音から無音への遷移部分の音声波形を表す音声素片データを音声素片データベースDB1から読み出して変換処理部216に引き渡す。具体的には、例えば、歌唱位置更新部213によって「あ」の表音文字が特定された場合には、素片選択部215は、[a]の音声素片データを音声素片データベースDB1から読み出すとともに、[a−#]の音声素片データを音声素片データベースDB1から読み出し、変換処理部216のデコード部217に供給する。
【0069】
無音遷移データのデコード処理を行うタイミングは、装置の電源がオンにされたタイミングや音声合成アプリケーションが起動されたタイミングであってもよく、また、予め定められた音素についてのノートオンメッセージを受信したタイミングであってもよい。予め定められた音素について説明すると、予め定められた音素は使用されるデータベースによって決まる。更に説明すると、予め定められた音素は、例えば日本語のデータベースの場合は母音や鼻音であり、英語のデータベースの場合や母音と子音である。また、データベースの収録状況や作成方針によって予め定められた音素の種類は増減がありえる。要は、予め定められた音素についての発音終了指示(ノートオフメッセージ)を受信する前に、無音遷移データのデコード処理が開始されるタイミングであればどのようなタイミングであってもよい。ノートオフメッセージが受信される前に無音遷移データのデコード処理を開始することによって、ノートオフメッセージが受信されてから消音処理が行われるまでの遅延時間を軽減することができる。
【0070】
また、上述の実施形態では、初期設定部211が、歌唱合成アプリケーションが起動されたときにデコード処理を行ってデコード済データをデコード済データ記憶領域231に記憶する構成としたが、これに限らず、例えば、音声合成装置200とネットワーク500で接続された他の装置(例えば、音声素片データベース400)に、デコード済データが記憶される構成であってもよい。この場合、他の装置にデコード済データが予め記憶されている構成であってもよく、また、音声合成装置200の制御部210が予め定められたタイミング(例えば、歌唱合成アプリケーションの起動時)にデコード処理を行ってデコード済データを生成し、生成したデコード済データを他の装置に送信する構成であってもよい。
【0071】
3−6.変形例(6)
上述の実施形態では、デコード済データ記憶領域231には、歌唱音声の合成処理が終了するまでの期間に渡って、デコードされた無音遷移データが記憶される構成としたが、記憶エリアが開放されるタイミングは上述の実施形態で示したものに限らない。例えば、予め定められた音素に対応するノートオンメッセージが受信されたタイミングで無音遷移データのデコード処理を行ってデコード済データ記憶領域231にデコード済の無音遷移データを格納し、この無音遷移データについての発音処理が終了したタイミングでこのデコード済の無音遷移データが格納された記憶エリアを開放する構成としてもよい。
【0072】
3−7.変形例(7)
上述の実施形態において、どの音素についての無音遷移データを予めデコードしておくかを、ユーザが操作部230を用いて選定できるようにしてもよい。この場合、初期設定部211は、ユーザによって操作される操作部230から出力される情報に従って1又は複数の音素を選定し、選定した音素に対応する無音遷移データをデコードしてデコード済データを生成し、生成したデコード済データをデコード済データ記憶領域231に記憶する構成としてもよい。
【0073】
また、予めデコードしておく無音遷移データを選定する手法は上述したものに限らず、例えば、制御部210が、音声合成処理において音素の後が無音となる頻度を音素毎に統計する構成とし、頻度が予め定められた条件を満たす(頻度が高い)音素を特定し、特定した音素の無音遷移データを予めデコードしておく構成としてもよい。また、他の例として、例えば、制御部210が、ユーザが過去に行った音声合成処理の履歴から予めデコードしておく音素を選定してもよい。また、他の例として、例えば、複数の装置と通信ネットワーク等により接続されたサーバ装置に各装置の音声合成処理の履歴を蓄積する構成とし、制御部210が、サーバ装置に蓄積された履歴に基づいて予めデコードする音素を選定してもよい。
【0074】
また、上述の実施形態において、制御部210が、ノートオンメッセージの受信後に、対応するデコード済データが存在し(あるいはデコード済データを作成し)、デコード済の無音遷移データを用いて音声合成処理を行う準備が整ったタイミングで、(次のノートオフに対して)低レイテンシー対応である旨を、通知ランプの点灯・点滅や対象鍵が光る・点滅・振動などによりユーザに通知してもよい。すなわち、制御部210が、ノートオンメッセージを受信(取得)し、かつ、受信されたノートオンメッセージに対応するデコード済データがデコード済データ記憶領域231に記憶されている場合に、ユーザに対して何らかの報知を行うための情報を出力するようにしてもよい。具体的には、例えば、図5に示す例では、制御部210は、タイミングT2−3から予め定められた時間T3が経過した場合に、通知ランプの点灯を開始するための制御情報を演奏データ発生装置100に出力する。また、制御部210は、ユーザがノートオフしたタイミング(ノートオフメッセージが受信されたタイミングT2−12)で、その点灯を終了する旨を示す制御情報を演奏データ発生装置100に出力する。演奏データ発生装置100の制御部110は、音声合成装置200から受信される制御情報に従って報知処理(例えば通知ランプの点灯・点滅の制御、振動のオン/オフ、等)を行う。また、この態様において、このランプ点灯に対してユーザがキャンセル動作を行えるようにしてもよい。この場合は、ユーザが操作部130を用いてキャンセル操作を行うと、制御部110は、操作部130から出力される情報に従って報知処理を停止(例えば、通知ランプの消灯、振動のオフ、等)する。
【0075】
3−8.変形例(8)
上述の実施形態では、変換処理部216は、MIDIメッセージ受信処理部212からノートオフメッセージが引き渡され、かつ、このノートオフメッセージが引き渡されてから予め定められた時間T3内に次の音素のノートオンメッセージが引き渡されなかったときに、無音遷移データをデコード済データ記憶領域231から読み出し、読み出したデコード済の無音遷移データを用いて音声合成処理を行った。これに代えて、変換処理部126が、MIDIメッセージ受信処理部212からノートオフメッセージが引き渡された場合に、(予め定められた時間T3だけ待機することなく)無音遷移データをデコード済データ記憶領域231から読み出し、読み出したデコード済の無音遷移データを用いて音声合成処理を行ってもよい。具体的には、例えば、歌詞データとして「今日は、」や、「…でした。」のように文節区切れがある場合には、次の音素のノートオンメッセージの受信の有無を判断することなく、デコード済の無音遷移データを用いて音声合成処理を行ってもよい。
【0076】
また、上述の実施形態において、予め定められた時間T3をユーザが操作部230等を用いて設定できるようにしてもよい。この場合、制御部210は、操作部230から出力される信号に応じて時間T3を設定する。
【0077】
3−9.変形例(9)
本発明は、音声合成装置以外にも、これらを実現するための方法や、コンピュータに音声合成機能を実現させるためのプログラムとしても把握される。かかるプログラムは、これを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等を介して、コンピュータにダウンロードさせ、これをインストールして利用させるなどの形態でも提供されたりする。
【符号の説明】
【0078】
100…演奏データ発生装置、110…制御部、120…記憶部、130…操作部、140…表示部、150…インターフェース部、160…鍵盤部、170…音源部、180…サウンドシステム、190…バス、200…音声合成装置、210…制御部、211…初期設定部、212…MIDIメッセージ受信処理部、213…歌唱合成部、214…歌唱位置更新処理部、215…素片選択部、216…変換処理部、217…デコード部、218…音声合成部、219…素片連結部、220…記憶部、221…音声素片データベースDB1記憶領域、222…歌詞データ記憶領域、230…操作部、231…デコード済データ記憶領域、240…表示部、250…インターフェース部、260…サウンドシステム、270…バス、300…通信ケーブル、DB1…音声素片データベース
図1
図2
図3
図4
図5
図6
図7