以下、図面を参照し、この発明の実施の形態を説明する。
図1は、この発明の一実施形態である歌唱合成装置の構成を示すブロック図である。この歌唱合成装置は、音声を出力する機能を有するパーソナルコンピュータに対し、歌唱合成プログラムをインストールしたものである。
図1において、CPU1は、この歌唱合成装置の各部を制御する制御中枢である。ROM2は、ローダなど、この歌唱合成装置の基本的な動作を制御するための制御プログラムを記憶した読み出し専用メモリである。表示部3は、装置の動作状態や入力データおよび操作者に対するメッセージなどを表示するための装置である。
操作部4は、ユーザからコマンドや各種の情報を受け取るための手段であり、キーボードやマウスなどの各種の操作子により構成されている。操作部4は、本実施形態に特有の操作子として、早口摘み41、溜め摘み42、語尾摘み43、レート調整摘み44、復帰ボタン45、滑舌摘み46およびろれつ摘み47を有している。
ここで、早口摘み41は、フレーズを通常よりも早口で歌うことを指示するための操作子である。この早口摘み41の回動操作が行われた場合、歌唱合成装置は早口摘み41の回動量に応じた分だけフレーズの歌唱速度を増加させる。
溜め摘み42は、フレーズの歌唱開始タイミングを遅らせる歌唱を指示するための操作子である。この溜め摘み42の回動操作が行われた場合、歌唱合成装置は溜め摘み42の回動量に応じた分だけフレーズの歌唱開始タイミングを遅らせ、その後、遅れを取り戻すために早口となる歌唱合成を行う。
語尾摘み43は、歌詞の語尾部分の歌唱のイントネーションに関する指示を与えるための操作子である。この語尾摘み43が左に回動操作された場合、歌唱合成装置は歌詞の語尾部分の歌唱合成を行う際に、語尾摘み43の回動量に応じた分だけ語尾部分の歌唱合成音のピッチを高くする。また、語尾摘み43が右に回動操作された場合、歌唱合成装置は歌詞の語尾部分の歌唱合成を行う際に、語尾摘み43の回動量に応じた分だけ語尾部分の歌唱合成音のピッチを低くする。
レート調整摘み44は、歌唱位置の変化の時間勾配の増減を指示するための操作子である。復帰ボタン45は、歌唱位置の変化の時間勾配を曲の本来のテンポに対応した標準的な時間勾配に戻すことを指示するための操作子である。滑舌摘み46は、滑舌の悪い歌唱を指示するための操作子である。ろれつ摘み47は、ろれつが廻らず発音が曖昧な歌唱を指示するための操作子である。
インタフェース群5は、ネットワークを介して他の装置との間でデータ通信を行うためのネットワークインタフェースや、磁気ディスクやCD−ROMなどの外部記憶媒体との間でデータの授受を行うためのドライバなどにより構成されている。HDD(ハードディスク装置)6は、各種のプログラムやデータベースなどの情報を記憶するための不揮発性記憶装置である。RAM7は、CPU1によってワークエリアとして使用される揮発性メモリである。CPU1は、操作部4を介して与えられる指令に従い、HDD6内のプログラムをRAM7にロードして実行する。
サウンドシステム8は、この歌唱合成装置において合成された音声を出力する手段であり、歌唱音声波形を示す時系列データをアナログ音声信号に変換するD/A変換器と、このアナログ音声信号を増幅するアンプと、このアンプの出力信号を音として出力するスピーカ等により構成されている。
HDD6に記憶される情報として、曲データ編集プログラム110と、曲データベース120と、音声素片データベース130と、歌唱合成プログラム200とがある。
曲データベース120は、曲データの集合体である。この曲データは、曲を構成する一連の音符を表す音符データと、音符に合わせて発声する歌詞を表す歌詞データとからなるデータである。1個の音符に対応した音符データは、音符の発生時刻、音高、音符の長さ、音量を示す各情報を含んでいる。歌詞データは、音符に合わせて発音すべき歌詞を音符毎に定義したデータである。曲データは、曲の開始からの発生順序に合わせて、個々の音符に対応した音符データと歌詞データとを時系列的に並べたものである。曲データ内において音符データと歌詞データは音符単位で対応付けられている。また、本実施形態において、歌詞データは、フレーズの歌い出しの位置を示すフレーズ開始位置情報を含んでいる。なお、このフレーズ開始位置情報は、音符データの中に含めてもよい。
曲データ編集プログラム110は、曲データを編集するためにCPU1によって実行されるプログラムである。好ましい態様において、この曲データ編集プログラム110は、ピアノの鍵盤の画像からなるGUI(グラフィカルユーザインタフェース)を表示部3に表示させる。ユーザは、表示部3に表示された鍵盤における所望の鍵の画像を操作部4の操作により指定し、また、その音符に合わせて発声する歌詞を操作部4の操作により入力することができる。曲データ編集プログラム110は、このようにして、音符とその音符に合わせて発声する歌詞に関する情報をユーザから操作部4を介して受け取り、音符毎に音符データと歌詞データとを曲データ120としてHDD6内に格納する。
また、曲データ編集プログラム110は、フレーズの歌い出しの位置を指示する操作があった場合に、その位置を示すフレーズ開始位置情報を発生して曲データに付加する。また、曲データ編集プログラム110は、歌詞データおよび音符データの入力が終わった後、所定の操作が行われることにより、歌詞データの解析を行って、歌詞中に現われる語尾を検出し、各語尾の位置を示す語尾位置情報を発生して曲データに付加する。
なお、曲データ120は、このように曲データ編集プログラム110により生成される他、例えばインターネット内のサイトからインタフェース群5の中の適当なものを介してダウンロードされ、HDD6に格納される。
歌唱合成プログラム200は、歌唱音を合成させる処理をCPU1に実行させるプログラムである。好ましい態様において、歌唱合成プログラム200および曲データ編集プログラム110は、例えばインターネット内のサイトからインタフェース群5の中の適当なものを介してダウンロードされ、HDD6にインストールされる。また、他の態様において、歌唱合成プログラム200等は、CD−ROM、MDなどのコンピュータ読み取り可能な記憶媒体に記憶された状態で取引される。この態様では、インタフェース群5の中の適当なものを介して記憶媒体から歌唱合成プログラム200等が読み出され、HDD6にインストールされる。
音声素片データベース130は、歌声の素材となる各種の音声素片を示す音声素片データの集合体である。これらの音声素片データは、実際の人間が発した音声波形から抽出された音声素片に基づいて作成されたデータである。音声素片データベース130では、男性歌手、女性歌手、澄んだ声の歌手、ハスキーな声の歌手など、声質の異なった歌手毎に、各歌手の歌唱音声波形から得られた音声素片データのグループが用意されている。歌唱合成プログラム200による歌唱合成の際、ユーザは、操作部4の操作により、以上のような各種の音声素片データのグループの中から歌唱合成に使用する音声素片データのグループを選択することができる。
本実施形態の特徴は、歌唱合成プログラム200にある。この歌唱合成プログラム200は、各々所定の機能を実現するプログラムであるシーケンスデータ生成部210と、歌唱合成部220とにより構成されている。なお、本実施形態では、CPU1がシーケンスデータ生成部210および歌唱合成部220に相当する各プログラムを実行するが、これらの各プログラムを複数のプロセッサが分担して並列実行するように構成してもよい。また、各プログラムの一部を電子回路により構成してもよい。
本実施形態による歌唱合成プログラム200は、歌唱合成の対象である曲データを例えば操作部4の操作等に応じてHDD6から読み出し、RAM7内に設定された曲データ記憶エリアに格納する。シーケンスデータ生成部210は、この曲データ記憶エリアに記憶された曲データからシーケンスデータを生成し、RAM7に設定されたシーケンスデータ記憶エリアに格納するプログラムである。
ここで、シーケンスデータは、歌詞を構成する各発音記号と、各発音記号を発音する際のピッチを示すピッチデータ、音量を示す音量データ等とを時間軸上にマッピングしたシーケンスデータであり、歌詞データおよび音符データに基づいて生成される。
歌唱合成部220は、シーケンスデータ記憶エリア内のシーケンスデータに従って歌唱音声波形を示す時系列データを生成するプログラムである。図2は、この歌唱合成部220の構成を示すブロック図である。
図2において、再生位置管理部221は、シーケンスデータの再生位置を管理するプログラムであり、標準再生位置管理部222と、実再生位置管理部223とを有する。標準再生位置管理部222は、操作部4の操作により歌唱合成開始の指示が与えられると、シーケンスデータの再生位置を示す情報として、曲のテンポにより定まる一定の時間レートで単調に変化する標準再生位置情報を発生する。実再生位置管理部223は、早口摘み41、溜め摘み42、語尾摘み43、レート調整摘み44、復帰ボタン45、滑舌摘み46およびろれつ摘み47の操作状態を監視し、必要に応じて標準再生位置情報に対して変化を与え、シーケンスデータの再生位置を示す実再生位置情報を生成する。
早口摘み41や溜め摘み42の回動操作が行われた場合、実再生位置管理部223は、標準再生位置情報と曲データ記憶エリア内の曲データに付加されている各フレーズ開始位置情報とを比較する。そして、実再生位置管理部223は、標準再生位置情報が1つのフレーズ開始位置情報に到達する毎に、早口や溜めを実現するための実再生位置情報の制御を繰り返す。
図3は、早口摘み41の回動操作が行われた場合の標準再生位置情報と実再生位置情報の変化の様子を示すタイムチャートである。図4は、溜め摘み42の回動操作が行われた場合の標準再生位置情報と実再生位置情報の変化の様子を示すタイムチャートである。これらのタイムチャートにおいて横軸は時間、縦軸は標準再生位置情報、実再生位置情報が示す再生位置である。
早口摘み41の回動操作が行われた場合、実再生位置情報が示す実再生位置は、図3に示すように、フレーズ開始位置から標準再生位置の時間勾配よりも大きな時間勾配で次のフレーズ開始位置まで立ち上がって待機する、という挙動を繰り返す。
溜め摘み42の回動操作が行われた場合、実再生位置情報が示す実再生位置は、図4に示すように、フレーズ開始位置から溜め摘み42の回動量に応じた分だけ現状の再生位置を維持した後、標準再生位置の時間勾配よりも大きな時間勾配で立ち上がって標準再生位置に追従する、という挙動を繰り返す。
実再生位置管理部223は、語尾摘み43の回動操作が行われた場合も、標準再生位置情報と曲データ記憶エリア内の曲データに付加されている各語尾位置情報とを比較する。そして、実再生位置管理部223は、標準再生位置情報が1つの語尾位置情報に到達する毎に、ピッチ変換部226にピッチ変更指示を送る。さらに詳述すると、実再生位置管理部223は、語尾摘み43が左方向に回動されている場合、その回動量に応じた変化分だけ語尾部分のピッチを上昇させることを指示するピッチ変更指示をピッチ変換部226に送り、語尾摘み43が右方向に回動されている場合、その回動量に応じた変化分だけ語尾部分のピッチを低下させることを指示するピッチ変更指示をピッチ変換部226に送る。
また、実再生位置管理部223は、レート調整摘み44の左方向への回動操作が行われると、レート調整摘み44の回動量に相当する分だけ標準再生位置情報よりも大きな時間勾配で実再生位置情報を変化させる。また、実再生位置管理部223は、レート調整摘み44の右方向への回動操作が行われると、レート調整摘み44の回動量に相当する分だけ標準再生位置情報よりも小さな時間勾配で実再生位置情報を変化させる。そして、復帰ボタン45が押下されると、実再生位置管理部223は、実再生位置情報を標準再生位置情報に一致させる。
さらに実再生位置管理部223は、早口摘み41、溜め摘み42、語尾摘み43、レート調整摘み44、復帰ボタン45、滑舌摘み46およびろれつ摘み47の操作状態を示す操作情報と、実再生位置情報の時間勾配を示す情報と、標準再生位置情報の時間勾配に対する実再生位置情報の時間勾配の比である変速比を示す情報とを読出制御部224、ピッチ変換部226および音量制御部228に供給する。
読出制御部224は、シーケンスデータにおいて実再生位置情報が示す再生位置から発音記号、ピッチデータ、音量データを読み出す手段である。通常、読出制御部224は、発音記号に対応した音声素片データを音声素片データベース130から読み出し、この音声素片データとシーケンスデータから読み出したピッチデータをピッチ変換部226に送り、シーケンスデータから読み出した音量データを音量制御部228に送る。
しかし、特定の操作子の操作が行われる場合、読出制御部224は、記憶手段から再生される時系列データ(シーケンスデータ記憶エリアから再生されるデータ)に対して、操作子の操作に応じて加工処理を施し、最終的な歌唱音声の歌唱内容に変化を与える加工手段として機能する。
例えば早口摘み41が回動操作された場合、実再生位置情報の時間勾配が大きくなる。この時間勾配がある限度を越えて大きくなる場合、読出制御部224は、この時間勾配が大きい期間内にシーケンスデータから読み出すべき発音記号、ピッチデータ、音量データの一部を読み飛ばす。溜め摘み42が回動操作された場合も同様である。
また、滑舌摘み45が回動操作された場合、読出制御部224は、置換辞書225を参照することにより、シーケンスデータから読み出される発音記号のうち特定の発音記号を他の特定の発音記号に置き換え、この置き換え処理を経た発音記号の発音を行うのに必要な音声素片データを音声素片データベース130から読み出してピッチ変換部226に供給する。
さらに詳述すると、本実施形態では、レベル1、レベル2、レベル3という具合に滑舌の悪さの段階が分けられており、例えば滑舌の悪さが最も軽度であるレベル1ではサ行を「シャ」、「シ」、「シュ」、「シェ」、「ショ」に置き換え、滑舌の悪さが中程度であるレベル2ではサ行をタ行に置き換えるとともに、カ行、マ行、ラ行、サ行も他の発音記号に置き換え、滑舌の悪さが最も重度であるレベル3では、「きりり」を「きぎぎ」に、「じ」を「ぎ」に、ハ行をア行に置き換える、という具合にレベル毎に発音記号の置き換えルールが置換辞書225に定義されている。
読出制御部224は、滑舌摘み45の回動量が小である場合はレベル1を、回動量が中である場合はレベル2を、回動量が大である場合はレベル3を選択し、選択したレベルに対応した置き換えルールを参照し、発音記号の置き換えを行うのである。
また、本実施形態では、「きりり」を「きぎぎ」にという具合に、複数の発音記号の列を他の複数の発音記号の列に置き換える場合がある。そこで、このような置き換えを可能にするため、本実施形態における読出制御部224はシフトレジスタを備えている。そして、読出制御部224は、シーケンスデータから発音記号、ピッチデータ、音量データの組を順次読み出してシフトレジスタに格納させてシフトさせ、シフトレジスタの最終段から再生位置の発音記号、ピッチデータ、音量データを出力するようにしている。そして、読出制御部224は、例えば「きりり」を「きぎぎ」に置き換える操作を、発音記号「き」、「り」、「り」がシフトレジスタ内に格納されている期間を利用して行うのである。
ろれつ摘み47が回動操作された場合の読出制御部224の処理内容も同様である。
ピッチ変換部226は、読出制御部224によって読み出された音声素片データにピッチ変換を施す手段である。通常、ピッチ変換部226は、音声素片データとともに読出制御部224によって読み出されたピッチデータに従ってピッチ変換を行い、このピッチデータが示すピッチを持った音声素片データを生成する。
しかし、早口摘み41や溜め摘み42の回動操作が行われた場合、ピッチ変換部226は、実再生位置管理部223から通知される変速比が1.0よりも大きくなる間、その程度に応じてピッチデータが示すピッチよりもやや高めのピッチを持った音声素片データをピッチ変換により生成する。
また、語尾摘み43が回動操作され、再生位置が語尾位置になったときにピッチ変更指示がピッチ変換部226に与えられると、ピッチ変換部226は、そのピッチ変更指示に従って音声素片データのピッチ変換を行う。すなわち、語尾部分のピッチを上げることを指示するピッチ変換指示が与えられた場合、ピッチ変換部226は、読出制御部224から供給されたピッチデータが示すピッチよりも高いピッチへのピッチ変換を音声素片データに対して施し、語尾部分のピッチを下げることを指示するピッチ変換指示が与えられた場合、ピッチ変換部226は、読出制御部224から供給されたピッチデータが示すピッチよりも低いピッチへのピッチ変換を音声素片データに対して施す。
素片連結部227は、ピッチ変換部226の処理を経た音声素片データを滑らかに繋ぐ処理を行い、歌唱音声波形を示す時系列データとして出力する手段である。
音量制御部228は、素片連結部227から出力される時系列データの音量を制御し、最終的な歌唱音声波形を示す時系列データとして出力するプログラムである。通常、音量制御部228は、読出制御部224によって読み出される音量データに従って、素片連結部227から出力される時系列データの音量を制御する。
しかし、早口摘み41や溜め摘み42やろれつ摘み47の回動操作が行われた場合、音量制御部228は、読出制御部224によって読み出される音量データが示す音量とは異なる音量となるように、歌唱音声波形を示す時系列データの音量制御を行う。
さらに詳述すると、早口摘み41の回動操作が行われた場合、音量制御部228は、実再生位置管理部223から通知される変速比を監視し、変速比が1.0よりも大きくなる期間、歌唱音声波形を示す時系列データの音量を音量データが示す音量よりも小さくする。
また、溜め摘み42の回動操作が行われた場合、音量制御部228は、実再生位置管理部223から通知される実再生位置情報の時間勾配を監視し、時間勾配が0から立ち上がるとき(すなわち、溜めが終わってフレーズの歌唱を開始するとき)、所定時間だけ歌唱音声波形を示す時系列データの音量を音量データが示す音量よりも大きくする。
また、ろれつ摘み47の回動操作が行われた場合、音量制御部228は、読出制御部224から供給される音量データを時間軸上において均し、これにより得られる変化(起伏)の少ない音量データにより、歌唱音声波形を示す時系列データの音量制御を行う。
以上が歌唱合成部220の詳細である。
次に本実施形態の動作を説明する。ユーザが操作部4を操作することにより曲データベース120中の所望の曲データをRAM7内の曲データ記憶エリアに格納させ、歌唱合成の開始を指示すると、CPU1は、歌唱合成プログラム200を実行する。そして、歌唱合成プログラム200のシーケンスデータ生成部210は、曲データ記憶エリア内の曲データに基づいてシーケンスデータを生成し、RAM7内のシーケンスデータ記憶エリアに格納する。次いで歌唱合成プログラム200の歌唱合成部220は、シーケンスデータ記憶エリアに記憶されたシーケンスデータに基づいて歌唱音声を示す時系列データを生成し、その際に、操作子の操作に応じて時系列データが示す歌唱音声の歌唱内容に変化を与える。
さらに詳述すると、早口摘み41の回動操作が行われると、実再生位置管理部223は、図3に示すように、標準再生位置情報が示す再生位置が1つのフレーズ開始位置に到達する毎に、標準再生位置情報の時間勾配よりも時間勾配で次のフレーズ開始位置まで実再生位置情報を立ち上げる動作を繰り返す。このように本実施形態における実再生位置管理部223は、操作子の操作に応じて記憶手段(シーケンスデータ記憶エリア)から時系列データであるシーケンスデータを再生する動作を制御する再生制御手段として機能する。
読出制御部224は、シーケンスデータ記憶エリア内のシーケンスデータの実再生位置情報が示す再生位置から発音記号、ピッチデータ、音量データの組を読み出す。その際、実再生位置情報の時間勾配がある限度を越えている場合、読出制御部224は、変速比が1.0より高い期間内に読み出すべき発音記号、ピッチデータ、音量データの組のうちの一部の組を読み飛ばす。
そして、読出制御部224は、シーケンスデータから読み出した発音記号の発音に使用する音声素片データを音声素片データベース130から読み出し、シーケンスデータから読み出したピッチデータとともにピッチ変換部226に供給する。
早口摘み41の回動操作が行われている場合、ピッチ変換部226は、変速比が1.0より高い期間内に読出制御部224から供給されるピッチデータが示すピッチよりも高めのピッチへのピッチ変換を読出制御部224から供給される音声素片データに対して施す。
このピッチ変換部226の処理を経た音声素片データは、素片連結部227により先行する音声素片データと滑らかに接続され、歌唱音声波形を示す時系列データとなって音量制御部228に供給される。
早口摘み41の回動操作が行われている場合、音量制御部228は、変速比が1.0より高い期間内に読出制御部224から供給される音量データが示す音量よりも小さめの音量となるように歌唱音声波形を示す時系列データの音量を制御する。
また、溜め摘み42の回動操作が行われると、実再生位置管理部223は、図4に示すように、標準再生位置情報が示す再生位置が1つのフレーズ開始位置に到達する毎に、溜め摘み42の回動量に応じた時間だけ一定の再生位置を維持した後、標準再生位置情報の時間勾配よりも大きな時間勾配で立ち上がって標準再生位置情報に追いつく実再生位置情報を発生する。
ここで、実再生位置情報の時間勾配がある限度を越える場合、読出制御部224は、変速比が1.0より高い期間内に読み出すべき発音記号、ピッチデータ、音量データの組のうちの一部の組を読み飛ばす。
そして、読出制御部224は、シーケンスデータから読み出した発音記号の発音に使用する音声素片データを音声素片データベース130から読み出し、シーケンスデータから読み出したピッチデータとともにピッチ変換部226に供給する。
溜め摘み42の回動操作が行われている場合も、ピッチ変換部226は、変速比が1.0より高い期間内に読出制御部224から供給されるピッチデータが示すピッチよりも高めのピッチへのピッチ変換を読出制御部224から供給される音声素片データに対して施す。
このピッチ変換部226の処理を経た音声素片データは、素片連結部227により先行する音声素片データと滑らかに接続され、歌唱音声波形を示す時系列データとなって音量制御部228に供給される。
溜め摘み41の回動操作が行われている場合、音量制御部228は、実再生位置情報の時間勾配が0から立ち上がるとき(溜めを終えてフレーズの歌い出しをするとき)、読出制御部224から供給される音量データが示す音量よりも大きめの音量となるように歌唱音声波形を示す時系列データの音量を制御する。
溜め摘み42の回動操作により、フレーズの歌唱開始を遅らせ、やや高めのピッチであり、かつ、大きな音量でフレーズの歌唱を開始させることができる。
語尾摘み43の回動操作が行われている場合、実再生位置管理部223は、実再生位置が歌詞の語尾部分に到達する都度、語尾摘み43の回動方向に応じて、語尾のピッチを上げる旨のピッチ変更指示または語尾のピッチを下げる旨のピッチ変更指示をピッチ変換部226に供給する。ピッチ変換部226は、前者のピッチ変換指示が与えられた場合、読出制御部224から供給されたピッチデータが示すピッチよりも高いピッチへのピッチ変換を音声素片データに対して施し、後者のピッチ変換指示が与えられた場合、読出制御部224から供給されたピッチデータが示すピッチよりも低いピッチへのピッチ変換を音声素片データに対して施す。従って、歌詞の語尾のピッチを上げる歌唱または歌詞の語尾のピッチを下げる歌唱を実現することができる。
滑舌摘み45やろれつ摘み47が回動操作された場合、読出制御部224は、置換辞書225を参照することにより、シーケンスデータから読み出される発音記号のうち特定の発音記号を他の特定の発音記号に置き換え、この置き換え処理を経た発音記号の発音を行うのに必要な音声素片データを音声素片データベース130から読み出してピッチ変換部226に供給する。従って、滑舌の悪い歌唱またはろれつが廻らず発音が曖昧な歌唱が実現される。
また、ろれつ摘み47の回動操作が行われた場合、音量制御部228は、読出制御部224から供給される音量データを時間軸上において均すことにより音量データの変化を少なくして、歌唱音声波形を示す時系列データの音量制御を行う。従って、ろれつ摘み47の回動操作が行われた場合には、発音が曖昧であり、かつ、音量の変化に乏しくのっぺりした感じの歌唱音声が合成される。
歌唱合成中に本来のテンポよりも歌唱合成のテンポを早めたり遅らせる必要が生じる場合がある。そのような場合、本実施形態では、レート変更摘み44の回動操作により実再生位置情報の時間勾配を標準再生位置情報の時間勾配よりも大きくし、または小さくすることにより対処可能である。また、実再生位置情報が標準再生位置情報から遊離した状態となっているときに、実再生位置情報を標準再生位置情報に戻すことが必要になる場合がある。そのような場合、本実施形態では、復帰ボタン45の押圧操作により実再生位置情報を標準再生位置情報に一致させる対処可能である。
以上のように本実施形態によれば、歌唱合成中に歌唱合成音の構成、特に歌詞を操作子の操作によりリアルタイムに変化させることができる。従って、本実施形態によれば、歌唱合成による迫力のあるライブ演奏を実現することができる。
<第2実施形態>
図5はこの発明の第2実施形態である歌唱合成装置が実行する歌唱合成プログラムの構成を示すブロック図である。上記第1実施形態における歌唱合成プログラムは、シーケンスデータに基づいて歌唱音声波形を示す時系列データを生成した。これに対し、本実施形態による歌唱合成プログラムの処理対象は、時間軸を同じくする波形データとインデックスデータとからなる歌唱音声データである。この歌唱音声データは、歌唱合成に先立って、RAM7(図1参照)内に設定された処理対象データアリアに格納される。ここで、歌唱音声データにおける波形データは、歌唱音声波形をサンプリングすることにより得られた時系列サンプルデータである。また、インデックスデータは、この波形データ全体を各々1個の発音記号に対応した各区間に分割し、各発音記号に対応した各区間の先頭の位置にそれらの発音記号の種類とピッチを示す情報をマッピングした時系列データである。
本実施形態による歌唱合成プログラムでは、上記第1実施形態(図2)における読出制御部224が読出制御部224Aに置き換えられている。本実施形態による歌唱合成プログラムの他の部分は、上記第1実施形態の対応する各部と同じ構成になっている。
本実施形態における読出制御部224Aは、実再生位置情報が示す再生位置のデータを波形データから読み出すとともに、同じ再生位置にある発音記号とピッチデータをインデックスデータから読み出す。例えば滑舌摘み46が回動操作されている場合、発音記号の置換が必要になることがあるので、読出制御部224Aは、インデックスデータから読み出される発音記号を監視する。
そして、置換辞書225に定義された発音記号がインデックスデータから読み出された場合、読出制御部224Aは、置換辞書225を参照することにより、当該発音記号との置換に用いる発音記号を求め、その置換用の発音記号に対応した音声素片データを音声素片データベース130から読み出してピッチ変換部226に供給する。また、読出制御部224Aは、置換対象の発音記号とともにインデックスデータから読み出したピッチデータをピッチ変換部226に供給し、置換用の音声素片データをピッチデータに対応したピッチ(すなわち、波形データから読み出した置換対象の発音記号の波形データと同じピッチ)にピッチ変換させる。これにより滑舌の悪い発音での歌唱が実現される。
発音記号の置換以外の処理の内容は上記第1実施形態と同様である。
本実施形態においても上記第1実施形態と同様な効果が得られる。
<他の実施形態>
以上、この発明の第1および第2実施形態について説明したが、この発明には他にも実施形態が考えられる。例えば次の通りである。
(1)上記第1実施形態では、早口摘み41の回動操作が行われた場合、実再生位置の変化の時間勾配がある限度を越えると、この間、シーケンスデータから発音記号、ピッチデータおよび音量データの組を読み出す際にデータの読み飛ばしを行うようにした。このデータの読み飛ばしを行う実再生位置の変化の時間勾配を操作子の操作により設定することができるようにしてもよい。
(2)上記第1実施形態において、溜め摘み42の回動操作がされ、さらに所定の操作子の操作が行われた場合に、溜めの後のフレーズの歌唱開始時に、読出制御部224または224Aが歌唱合成のためにピッチ変換部226に供給する音声素片データを通常の音声素片データから例えば涙声を表す音声素片データに置換する等、操作子の操作に応じてシーケンスデータの再生タイミングの制御を行うとともに歌唱合成に用いる音声素片データの種類に変化を与えるようにしてもよい。
(3)上記第1実施形態において、早口摘み41や溜め摘み42の回動操作が行われている場合、標準再生位置がフレーズ開始位置に到達する度に、図3および図4に示すように、早口や溜めを実現するための実再生位置の制御を行うようにした。しかし、早口摘み41や溜め摘み42の近くにボタンを設け、このボタンが押下された直後のフレーズ開始位置の発生タイミング(標準再生位置がフレーズ開始位置となるタイミング)のみにおいて、早口や溜めを実現するための実再生位置の制御を行うようにしてもよい。
(4)上記第2実施形態では、インデックスデータと波形データとに基づいて歌唱合成を行った。ここで、インデックスデータの内容は、上記第1実施形態の曲データまたはシーケンスデータに含まれているので、インデックスデータの代わりに上記第1実施形態の曲データまたはシーケンスデータを使用し、波形データの代わりに、上記第1実施形態の歌唱合成装置により曲データまたはシーケンスデータから生成された歌唱音声の時系列データを使用してもよい。
(5)上記第2実施形態において、インデックスデータの少なくとも一部(例えばピッチデータ)を波形データを解析することにより生成してもよい。
(6)上記各実施形態における表示部3および操作部4をタッチパネルにより実現し、早口摘み41等の各操作子をこのタッチパネルを利用したGUIにより実現してもよい。
(7)上記各実施形態において、早口摘み41等の各操作子に加えて歌唱音声の時系列データに施す加工処理は例示であり、操作子の操作に応じて上記各実施形態に開示された加工処理以外の加工処理を行ってもよい。例えばピッチ抜き摘みを設け、このピッチ抜き摘みの回動量が大きくなる程、歌唱合成による歌唱音声のピッチ変化の起伏を減らし、ピッチを平坦化してもよい。この場合、ピッチ抜き摘みの回動量の増減により、歌唱合成による歌唱を喋りらしくしたり、歌唱らしくする調整を行うことができる。また、例えばオクターブ摘みを設け、このオクターブ摘みが右に回動されたときは、歌唱合成による歌唱音声のピッチを曲データに従ったピッチから1オクターブ上げ、オクターブ摘みが左に回動されたときは、歌唱合成による歌唱音声のピッチを曲データに従ったピッチから1オクターブ下げるようにしてもよい。
(8)上記各実施形態における歌唱合成装置は、曲データを記憶するための記憶手段を備えていたが、本発明の適用範囲は、このような記憶手段を有する歌唱合成装置に限定されるものではない。例えば外部のデータベースから例えばインターネット等のネットワークを介して曲データを読み出し、読み出した曲データを用いて歌唱合成を行う歌唱合成装置に本発明を適用してもよい。