以下、図面を参照し、この発明の実施形態について説明する。
<第1実施形態>
図1は、この発明の第1実施形態である歌唱合成制御部1を備えた歌唱合成装置1000の構成を示すブロック図である。この歌唱合成装置1000は、図1に示すように、本実施形態による歌唱合成制御部1と、歌唱合成エンジン2と、オーディオインタフェース3とを有する。
歌唱合成制御部1は、操作部を含んでおり、この操作部に対してユーザによって行われる操作に応じて歌唱合成の制御を指令する合成制御メッセージを生成して出力する装置である。歌唱合成エンジン2は、歌唱合成制御部1からの合成制御メッセージに従って歌唱音声波形のサンプルデータである歌唱音声データを合成して出力する。オーディオインタフェース3は、歌唱合成エンジン2から出力される歌唱音声データに従ってスピーカ4を駆動し、スピーカ4から歌唱音声を放音させる。
図2は歌唱合成装置1000の外観、具体的には上面を示す平面図である。また、図3は歌唱合成装置1000の機能構成を示すブロック図である。この歌唱合成装置1000は、子供向けの知育発達のための玩具としての用途を有している。図2に示すように、歌唱合成装置1000は、平坦な板状の筐体を有している。この筐体の上面には、各種の操作子が印刷されており、図3におけるタッチパネル100の操作面となっている。このタッチパネル100は、本実施形態による歌唱合成制御装置1の操作部として設けられたものである。なお、歌唱合成制御装置1の操作部は、必ずしもタッチパネルである必要はなく、例えば押圧操作により退行する機械式の押しボタンを操作子として備えた操作部であってもよい。
歌唱合成装置1000の筐体の内部には、図3に示すタッチパネル100の押圧位置検出部106、操作強度検出部107およびLED駆動制御部108と、CPU110と、ROM140と、RAM150とが設けられている。ここで、押圧位置検出部106は、歌唱合成装置1000の筐体の操作面をユーザの指が押したときに、その操作面における押圧位置を検出し、押圧位置情報を出力する装置である。操作強度検出部107は、ユーザの指が操作面を押したときに、その押圧操作の強度、具体的には押圧操作の押圧力を検出し、操作強度情報を出力する装置である。また、操作強度検出部107は、押圧が開始されたタイミングを示すオンタイミング信号と押圧が終了したタイミングを示すオフタイミング信号を出力する。
図2に示すように、タッチパネル100には、50音ボタン部101と、50音補助ボタン部102と、モード制御ボタン部103と、音階読み出し位置制御ボタン部104と、鍵ボタン部105が設けられている。これらのうち50音ボタン部101、50音補助ボタン部102、モード制御ボタン部103および音階読み出し位置制御ボタン部104は、略正方形状の枠の中に例えば「あ」等の文字や記号が表されたボタンにより構成されている。以下では、説明の便宜のため、これらの各ボタンに関して、例えば50音ボタン部101における「あ」の表されたボタンについては「あ」ボタンのように、ボタンの枠内に表された文字を用いて表記する場合がある。
50音ボタン部101は、「あ」から「ん」までの平仮名を各々指示するための46個の50音ボタンにより構成されている。50音補助ボタン部102は、50音ボタン部101による平仮名の入力を補助するために使用される操作子であり、「小」ボタン、「゜」ボタンおよび「゛」ボタンにより構成されている。ここで、「小」ボタンは、50音ボタン部101の操作により例えば「てぃ」のように小さい平仮名「ぃ」を後半部分に有する文字列を指示する場合に使用される操作子である。この例における「てぃ」を指示する場合には、「小」ボタンを押して、50音ボタン部101の「い」ボタンを押し、さらに「て」ボタンを押せばよい。「°」ボタンは、50音ボタン部101の操作により「ぱ」、「ぴ」、「ぷ」等の半濁点を有する平仮名を指定する場合に使用される操作子である。例えば「ぱ」を指定する必要がある場合、この「°」ボタンを押して、50音ボタン部101の「は」ボタンを押せばよい。「゛」ボタンは、50音ボタン部101の操作により「ば」、「び」、「ぶ」等の濁点を有する平仮名を指定する場合に使用される操作子である。例えば「ば」を指定する必要がある場合、この「゛」ボタンを押して、50音ボタン部101の「は」ボタンを押せばよい。
モード制御ボタン部103は、歌唱合成制御部1に対してモード切り換え制御の指示を与えるための操作子である。このモード制御ボタン部103における各ボタンの裏側には、赤色および緑色の発光色を有する2色LEDが配置されており、この2色LEDの点灯制御により、各ボタンに表された「かし」等の文字の背景を赤色(赤色発光時)、緑色(緑色発光時)、白色(非発光時)とすることが可能である。図3におけるLED駆動制御部108は、このモード制御ボタン部103の裏側の2色LEDの駆動制御を行う装置である。
音階読み出し位置制御ボタン部104は、メロディ再生モードにおいて例えば替え歌の歌唱合成を行わせる場合に使用される操作子であり、「とばす」ボタン、「すすめる」ボタンおよび「くりかえす」ボタンにより構成されている。ここで、メロディ再生モードとは、音符の音階を示す音階データを時系列に並べたメロディデータを予めRAM150のメロディ記憶領域に記憶させておき、50音ボタン部101および50音補助ボタン部102の操作により表音文字が指定されるのに応じて、メロディ記憶領域から音階データを1個ずつ読み出し、指定された表音文字および読み出した音階データに対応した歌唱音声を歌唱合成エンジン2に合成させるモードである。「とばす」ボタンは、メロディデータにおいて、ある音階データが読み出し対象となっているときに、その音階データを読み出し対象でなくし、その次の音階データを読み出し対象にすることを指示するためのボタンである。「すすめる」ボタンは、メロディデータにおいて、ある音階データが読み出し対象となっているときに、その読み出し対象の音階データを読み出して次の音階データを読み出し対象にすることを指示するためのボタンである。「くりかえす」ボタンは、メロディデータにおいて、表音文字の指定に応じて、ある音階データが読み出された後、その音階データを次の表音文字が指定されたときの読み出し対象にすることを指示するためのボタンである。
鍵ボタン部105は、鍵盤を模した操作子であり、黒鍵を各々表す黒鍵ボタンと、白鍵を各々表す白鍵ボタンの配列である。鍵ボタン部105は、メロディを構成する各音符の音階を指定するのに使用される。
図3において、ROM140には各種の制御プログラムが記憶されている。CPU110は、ROM140内の制御プログラムに従って、歌唱合成エンジン2としての機能を営むための処理を行うとともに、操作部であるタッチパネル100の操作に応じて歌唱合成エンジン2を制御する歌唱合成制御部1としての各種の処理を行う。その際にCPU110は、RAM150をワークエリアとして使用する。
図3において、CPU110を示すボックスの中には、歌唱合成エンジン2に加えて、CPU110が実行する制御プログラムの一部であるユーザインタフェース部120と合成エンジン制御部130が示されている。このユーザインタフェース部120と合成エンジン制御部130と操作部であるタッチパネル100とが本実施形態による歌唱合成制御部1を構成している。
ユーザインタフェース部120は、50音指定ユーザインタフェース部121と、音階指定ユーザインタフェース部122と、制御用ユーザインタフェース部123とを含む。50音指定ユーザインタフェース部121は、押圧位置検出部106から50音ボタン部101および50音補助ボタン部102のいずれかのボタンの領域内の位置を示す押圧位置情報が出力された場合、その押圧されたボタンにより指示された表音文字を認識し、この表音文字を示す表音文字データを出力する。
例えば50音補助ボタン部102の領域内の位置を示す押圧位置情報が出力されることなく、50音ボタン部101のいずれかのボタン(例えば「あ」ボタンとする)の領域内の位置を示す押圧位置情報が出力された場合、この単独のボタン操作により入力表音文字が確定する。この場合、50音指定ユーザインタフェース部121は、その単独操作されたボタンに対応した表音文字(この例では「あ」)を示す表音文字データを出力する。
また、例えば50音補助ボタン部102の「゛」ボタンの領域内の位置を示す押圧位置情報が出力された後、50音ボタン部101のいずれかのボタン(例えば「は」ボタンとする)の領域内の位置を示す押圧位置情報が出力された場合、後者のボタン操作(この例では「は」ボタンの操作)があったときに入力表音文字が確定する。この場合、50音指定ユーザインタフェース部121は、後者のボタンに対応した表音文字に濁点を追加した表音文字(この例では「ば」)を入力表音文字とし、この入力表音文字を示す表音文字データを出力する。「゜」ボタンの領域内の位置を示す押圧位置情報が出力された後、50音ボタン部101のいずれかのボタンの領域内の位置を示す押圧位置情報が出力された場合も同様である。
また、例えば50音補助ボタン部102の「小」ボタンの領域内の位置を示す押圧位置情報が出力された後、50音ボタン部101の中の母音を指示する50音ボタン(例えば「い」ボタンとする)の領域内の位置を示す押圧位置情報が出力され、さらに50音ボタン部101の中のいずれかの50音ボタン(例えば「て」ボタンとする)の領域内の位置を示す押圧位置情報が出力された場合、3番目のボタン操作があったときに入力表音文字が確定する。この場合、50音指定ユーザインタフェース部121は、3番目の50音ボタンが示す平仮名の後に2番目の50音ボタンが示す平仮名を小さくしたものを配列した表音文字(この例では「てぃ」)を入力表音文字とし、この入力表音文字を示す表音文字データを出力する。
いずれの場合も、50音指定ユーザインタフェース部121は、50音ボタン部101のいずれかのボタンの領域内の位置を示す押圧位置情報が出力され、入力表音文字が確定したときに、その入力表音文字を示す表音文字データを出力する。
また、50音指定ユーザインタフェース部121は、押圧位置検出部106から50音ボタン部101のボタン操作により発生される押圧位置情報に基づいて入力表音文字を確定させ、入力表音文字を示す表音文字データを出力するとき、入力表音文字を確定させたボタン操作に応じて操作強度検出部107から出力された操作強度情報を出力するとともに、そのボタン操作における押圧期間の始期および終期を示すオンタイミング信号およびオフタイミング信号を操作強度検出部107から受け取って出力する。
また、50音指定ユーザインタフェース部121は、押圧位置検出部106から音階読み出し位置制御ボタン部104のボタン操作が行われて押圧位置情報が出力された場合、押圧された「とばす」ボタン、「すすめる」ボタンまたは「くりかえす」ボタンを示すボタン名情報を出力する。また、「とばす」ボタン、「すすめる」ボタンまたは「くりかえす」ボタンのボタン操作に応じてボタン名情報を出力するとき、そのボタン操作に応じて操作強度検出部107から出力された操作強度情報を出力するとともに、そのボタン操作における押圧期間の始期および終期を示すオンタイミング信号およびオフタイミング信号を操作強度検出部107から受け取って出力する。
音階指定ユーザインタフェース部122は、押圧位置検出部106から鍵ボタン部105のいずれかの鍵ボタンの領域内の位置を示す押圧位置情報が出力された場合、その押圧位置を含む鍵ボタンに対応付けられた音階データを出力する。また、音階指定ユーザインタフェース部122は、鍵ボタンの操作が行われて押圧位置情報が出力され、操作された鍵ボタンに対応した音階データを出力するとき、操作強度検出部107から出力される操作強度情報を出力するとともに、鍵ボタン操作における押圧期間の始期および終期を示すオンタイミング信号およびオフタイミング信号を操作強度検出部107から受け取って出力する。
制御用ユーザインタフェース部123は、押圧位置検出部106からモード制御ボタン部103のいずれかのボタンの領域内の位置を示す押圧位置情報が出力された場合、その押下されたボタンを示すボタン名情報を合成エンジン制御部130のモード制御部133に出力する。また、制御用ユーザインタフェース部123は、モード制御部133からモード制御ボタン部103のいずれかのボタンの下方の2色LEDの点灯制御に関する指令情報が与えられた場合にその指令情報によって指令された点灯制御(赤色発光、緑色発光または消灯)をLED駆動制御部108に行わせる。
合成エンジン制御部130は、歌唱合成エンジン2を制御するための合成制御メッセージを生成するモジュールであり、50音/発音記号変換部131と、演奏制御情報生成部132と、モード制御部133と、合成制御メッセージ組立部134とを含む。
合成エンジン制御部130は、リアルタイム演奏モード、歌詞記録モード、メロディ記録モード、歌詞再生モード、メロディ再生モードの各モードを有する。ここで、リアルタイム演奏モードは、ユーザに50音ボタン部101および50音補助ボタン部102を使用した歌詞入力と鍵ボタン部105を使用したメロディ入力とを並列に行わせ、50音ボタン部101および50音補助ボタン部102の操作により入力された表音文字に対応し、かつ、鍵ボタン部105の操作により入力された音階データに対応した歌唱音声データを歌唱合成エンジン2に合成させるモードである。歌詞記録モードは、ユーザに50音ボタン部101および50音補助ボタン部102を使用した歌詞入力を行わせ、ユーザによって入力された歌詞、具体的には歌詞を示す表音文字データの列である歌詞データをRAM150内に設けられた歌詞記憶領域に書き込むモードである。メロディ記録モードは、ユーザに鍵ボタン部105を使用したメロディ入力を行わせ、鍵ボタン部105においてユーザによって押下された鍵ボタンに対応付けられた音階を示す音階データをRAM150内に設けられたメロディ記憶領域に書き込むモードである。
歌詞再生モードは、ユーザに鍵ボタン部105の鍵ボタンを操作させ、鍵ボタン操作に応じて、歌詞記憶領域に記憶された歌詞データを構成する各表音文字データを1個ずつ順次読み出し、鍵ボタン操作により発生する音階データおよび操作強度情報と、歌詞記憶領域から読み出した表音文字データにより定まる発音記号とを用いて、歌唱合成エンジン2に歌唱合成を行わせるモードである。メロディ再生モードは、ユーザに50音ボタン部101および50音補助ボタン部102のボタン操作により表音文字の入力を行わせ、この表音文字の入力に応じて、メロディ領域に記憶されたメロディデータを構成する各音階データを1個ずつ順次読み出し、ボタン操作により指定される表音文字に対応した発音記号と、メロディ記憶領域から読み出した音階データと、ボタン操作の強度により定まる操作強度情報とを用いて、歌唱合成エンジン2に歌唱合成を行わせるモードである。
合成エンジン制御部130におけるモード制御部133は、制御用ユーザインタフェース部123から出力されるボタン名情報に従って、以上の各モード間の遷移を行わせ、現在のモードを示す情報を50音/発音記号変換部131と演奏制御情報生成部132に供給する。また、モード制御部133は、モード遷移の際に、モード制御ボタン部103のいずれかのボタンの下方の2色LEDの点灯制御に関する指令情報を出力する。
図4は合成エンジン制御部130のモード遷移を示す図である。モード制御部133は、合成エンジン制御部130をリアルタイム演奏モードにしたとき、モード制御ボタン部103の「かし」ボタンおよび「メロディ」ボタンの両方の2色LEDを消灯させる点灯制御指令を制御用ユーザインタフェース部123に送る。
このリアルタイム演奏モードにおいて、「かし」ボタンを示すボタン名情報が制御用ユーザインタフェース部123から出力されたとき、モード制御部133は、合成エンジン制御部130を歌詞記録モードに遷移させ、「かし」ボタンの2色LEDを赤色発光させ、「メロディ」ボタンの2色LEDを消灯させる点灯制御指令を制御用ユーザインタフェース部123に送る。
この歌詞記録モードにおいて、「かし」ボタンを示すボタン名情報が制御用ユーザインタフェース部123から出力されたとき、モード制御部133は、合成エンジン制御部130を歌詞再生モードに遷移させ、「かし」ボタンの2色LEDを緑色発光させ、「メロディ」ボタンの2色LEDを消灯させる点灯制御指令を制御用ユーザインタフェース部123に送る。
この歌詞再生モードにおいて、「かし」ボタンを示すボタン名情報が制御用ユーザインタフェース部123から出力されたとき、モード制御部133は、合成エンジン制御部130をリアルタイム演奏モードに遷移させ、「かし」ボタンおよび「メロディ」ボタンの両方の2色LEDを消灯させる点灯制御指令を制御用ユーザインタフェース部123に送る。その他の場合も同様であり、モード制御部133は、モード制御ボタン部103のボタン操作に応じて図4に示される通りのモード遷移を行わせ、現在のモードに合わせて「かし」ボタンおよび「メロディ」ボタンの表示色を切り換える。
50音/発音記号変換部131は、50音指定ユーザインタフェース部121から出力される表音文字データまたはRAM150の歌詞記憶領域から読み出される表音文字データを発音記号に変換して合成制御メッセージ組立部134に供給するモジュールである。50音/発音記号変換部131がいずれの情報に基づいて発音記号を生成するかは合成エンジン制御部130の動作モードにより異なる。従って、説明の重複を避けるため、50音/発音記号変換部131の具体的処理内容については、本実施形態の動作説明において明らかにする。
演奏制御情報生成部132は、音階指定ユーザインタフェース部122の出力情報、RAM150のメロディ記憶領域からの読み出しデータ、50音指定ユーザインタフェース部121の出力情報を用いて、発音指示メッセージに組み込む音階データ、操作強度情報または消音指示メッセージに組み込む音階データを生成して合成制御メッセージ組立部134に供給するモジュールである。ここで、発音指示メッセージは、歌唱合成エンジン2に歌唱音声の合成開始を指示する合成制御メッセージであり、消音指示メッセージは、歌唱合成エンジン2に合成中の歌唱音声の消音を指示する合成制御メッセージである。演奏制御情報生成部132が発音指示メッセージ、消音指示メッセージに組み込むパラメータを如何にして生成するかは合成エンジン制御部130の動作モードにより異なる。従って、説明の重複を避けるため、演奏制御情報生成部132の具体的処理内容については、本実施形態の動作説明において明らかにする。
また、メロディ再生モードにおいて音階読み出し位置制御ボタン部104の操作が行われた場合、演奏制御情報生成部132は、読み出し対象となる音階データの読み出し位置を現状のものから変更する制御を行う。この制御の内容についても、説明の重複を避けるため、本実施形態の動作説明において明らかにする。
合成制御メッセージ組立部134は、歌唱合成エンジン2を制御する合成制御メッセージを組み立てるモジュールである。さらに詳述すると、合成制御メッセージ組立部134は、発音指示メッセージに組み込む音階データおよび操作強度情報を演奏制御情報生成部132から受け取ったとき、これらの情報を用いて発音指示メッセージを組み立て、歌唱合成エンジン2へ出力する。また、合成制御メッセージ組立部134は、消音指示メッセージに組み込む音階データを演奏制御情報生成部132から受け取ったとき、この情報を用いて消音指示メッセージを組み立て、歌唱合成エンジン2へ出力する。また、合成制御メッセージ組立部134は、発音記号を50音/発音記号変換部131から受け取ったとき、この発音記号を示す発音記号メッセージを組み立て、歌唱合成エンジン2へ出力する。
歌唱合成エンジン2は、このようにして供給される合成制御メッセージに従って歌唱合成を行う機能を備えている。さらに詳述すると、歌唱合成エンジン2は、予め収音した各種の音声から採取した音声素片の波形を示す波形データを発音記号に対応付けた音声素片データベースを備えている。歌唱合成エンジン2は、発音記号メッセージを受け取ったとき、その発音記号メッセージが示す発音記号に対応した音声素片の波形データを音声素片データベースから読み出す。
そして、歌唱合成エンジン2は、発音指示メッセージを受け取ると、その発音指示メッセージに含まれる音階データが示す音階となるように、音声素片データベースから読み出した音声素片の波形データにピッチ変換を施す。また、歌唱合成エンジン2は、発音指示メッセージに含まれる操作強度情報に応じて、ピッチ変換後の波形データのアタック感および振幅を調整し、オーディオインタフェース3に出力し、スピーカ4からの歌唱音の放音を開始させる。そして、歌唱合成エンジン2は、消音指示メッセージを受け取ると、スピーカ4から放音させている音声素片の波形データのうち消音指示メッセージに含まれる音階データと同じ音階データに対応した波形データを減衰させ、その音階データに対応した歌唱音を消音させる。
次に本実施形態の動作について説明する。各種の動作モードに設定するための操作と、それに対応したモード制御部133の処理については既に説明したので、以下では、各動作モードにおける50音/発音記号変換部131および演奏制御情報生成部132の動作を中心に説明する。
a.リアルタイム演奏モード
リアルタイム演奏モードにおいて、50音/発音記号変換部131は、50音指定ユーザインタフェース部121から表音文字データが出力される都度、その表音文字データをRAM150内に設けられたカレント文字領域に書き込む。なお、カレント文字領域に既に表音文字データが記憶されている場合は、50音指定ユーザインタフェース部121から出力された表音文字データをその表音文字データに上書きする。また、50音/発音記号変換部131は、音階指定ユーザインタフェース部122からオンタイミング信号、音階データ、操作強度情報が出力されたとき、RAM150のカレント文字領域から表音文字データを読み出し、発音記号に変換して合成制御メッセージ組立部134に供給する。
一方、演奏制御情報生成部132は、音階指定ユーザインタフェース部122からオンタイミング信号、音階データ、操作強度情報が出力されたとき、音階データ、操作強度情報を合成制御メッセージ組立部134に供給して発音指示メッセージの組み立ておよびその出力を行わせる。そして、演奏制御情報生成部132は、音階指定ユーザインタフェース部122からオフタイミング信号が出力されたとき、直前に合成制御メッセージ組立部134に組み立てさせた発音指示メッセージに対応した消音指示メッセージを合成制御メッセージ組立部134に組み立てさせ、その出力を行わせる。
以上がリアルタイム演奏モードでの本実施形態の動作である。このリアルタイム演奏モードにおいて、ユーザは、50音ボタン部101のボタン操作により例えば「かえるのうたが」と入力し、これと並行して鍵ボタン部105のボタン操作により「ドレミファミレド」と入力することにより、歌唱合成エンジン2に「かえるの歌」の歌唱合成を行わせることができる。
b.歌詞記録モード
この歌詞記録モードにおいて、50音/発音記号変換部131は、50音指定ユーザインタフェース部121から表音文字データが出力される都度、その表音文字データをRAM150内に設けられた歌詞記憶領域に書き込む。ここで、歌詞記憶領域に既に表音文字データの列が記憶されている場合、50音/発音記号変換部131は、50音指定ユーザインタフェース部121から出力された表音文字データを歌詞記憶領域内の既存の表音文字データの列における最後尾の表音文字データの次の表音文字データとして歌詞記憶領域に書き込む。この歌詞記憶領域内の表音文字データの列が歌詞データとなる。
また、50音/発音記号変換部131は、1つの表音文字データを歌詞記憶領域に書き込むとき、その表音文字データを発音記号に変換し、その発音記号を示す発音記号メッセージを合成制御メッセージ組立部134に出力させる。
さらに50音/発音記号変換部131は、演奏制御情報生成部132に歌詞確認用合成制御メッセージの生成指示を送る。この歌詞確認用合成制御メッセージの生成指示を受け取った演奏制御情報生成部132は、所定の音階データと所定の操作強度情報とを含む発音指示メッセージと、同音階データを含む消音指示メッセージを所定時間間隔を空けて合成制御メッセージ組立部134に出力させる。
以上が歌詞記録モードでの本実施形態の動作である。この歌詞記録モードにおいて、ユーザは、50音ボタン部101のボタン操作により例えば「かえるのうたが」と入力することにより、「かえるの歌」の歌詞を示す歌詞データをRAM150内の歌詞記憶領域に書き込むことができる。また、その際に、例えば「か」の表音文字データを歌詞記憶領域に書き込むときには、その「か」に対応した発音記号を示す発音記号メッセージが合成制御メッセージ組立部134から歌唱合成エンジン2に供給され、次いで所定の音階データを含む発音指示メッセージおよび消音指示メッセージの対が合成制御メッセージ組立部134から歌唱合成エンジン2に供給され、「か」の音声が合成されてスピーカ4から放音される。後続の「え」、「る」等の表音文字についても同様である。従って、ユーザは自分が入力した歌詞を音声として確認することができる。
c.メロディ記録モード
このメロディ記録モードにおいて、演奏制御情報生成部132は、音階指定ユーザインタフェース部122から音階データが出力される都度、その音階データをRAM150内に設けられたメロディ記憶領域に書き込む。ここで、メロディ記憶領域に既に音階データの列が記憶されている場合、演奏制御情報生成部132は、音階指定ユーザインタフェース部122から出力された音階データをメロディ記憶領域内の既存の音階データの列における最後尾の音階データの次の音階データとしてメロディ記憶領域に書き込む。このメロディ記憶領域内の音階データの列がメロディデータとなる。
また、演奏制御情報生成部132は、1つの音階データをメロディ記憶領域に書き込むとき、その音階データと所定の操作強度情報を含む発音指示メッセージと同音階データを含む消音指示メッセージを所定時間間隔を空けて合成制御メッセージ組立部134に出力させる。
さらに演奏制御情報生成部132は、上記発音指示メッセージに先立って、発音記号メッセージを合成制御メッセージ組立部134に出力させるための制御を行う。具体的には、演奏制御情報生成部132は、上記発音指示メッセージを合成制御メッセージ組立部134に出力させる制御を行う前に、メロディ記憶領域に書き込んだ音階データと発音記号送信指令を50音/発音記号変換部131に与える。この音階データと発音記号送信指令を受け取った50音/発音記号変換部131は、音階データが示す音階を表わす発音記号を生成し、この発音記号を示す発音記号メッセージを上記発音指示メッセージに先立って合成制御メッセージ組立部134に出力させる。このような処理を可能にするためには、例えば音階データをその音階データが示す音階の称呼を表わす発音記号に対応付けるテーブルを予めROM140に記憶させておき、50音/発音記号変換部131がこのテーブルを参照して音階データの発音記号への変換を行うようにすればよい。
以上がメロディ記録モードでの本実施形態の動作である。このメロディ記録モードにおいて、ユーザは、鍵ボタン部105のボタン操作により例えば「ドレミファミレド」と入力することにより、「かえるの歌」のメロディを示すメロディデータをRAM150内のメロディ記憶領域に書き込むことができる。また、その際に、例えば「ド」の音階データをメロディ記憶領域に書き込むときには、その「ド」に対応した発音記号を示す発音記号メッセージが合成制御メッセージ組立部134から歌唱合成エンジン2に供給され、次いで「ド」の音階データを含む発音指示メッセージおよび消音指示メッセージの対が合成制御メッセージ組立部134から歌唱合成エンジン2に供給され、「ド」の音階を持った「ド」の音声が合成されてスピーカ4から放音される。後続の「レ」、「ミ」等の音階についても同様である。従って、ユーザは自分が入力したメロディを音声として確認することができる。
d.歌詞再生モード
この歌詞再生モードにおいて、50音/発音記号変換部131は、音階指定ユーザインタフェース部122からオンタイミング信号、音階データおよび操作強度情報が出力される都度、RAM150の歌詞記憶領域内の歌詞データを構成する各表音文字データのうち現在の歌詞読み出し位置にある表音文字データを1つ読み出す。50音/発音記号変換部131は、この読み出した表音文字データを発音記号に変換し、その発音記号を示す発音記号メッセージを合成制御メッセージ組立部134に出力させる。ここで、初期状態において、歌詞読み出し位置は、歌詞記憶領域内の歌詞データを構成する各表音文字データにおける最初の表音文字データの位置となっている。従って、例えば「かえるの歌」の歌詞データが歌詞記憶領域に記憶されている場合には、先頭の表音文字「か」を示す表音文字データが最初に読み出されることとなる。
一方、演奏制御情報生成部132は、音階指定ユーザインタフェース部122からオンタイミング信号、音階データおよび操作強度情報が出力されたとき、これに応じて50音/発音記号変換部131が上記発音記号メッセージを合成制御メッセージ組立部134に出力させるのを待って、音階指定ユーザインタフェース部122から出力された音階データおよび操作強度情報を含む発音指示メッセージを合成制御メッセージ組立部134に出力させる。50音/発音記号変換部131は、この発音指示メッセージが合成制御メッセージ組立部134により出力されるのに応じて、歌詞読み出し位置を1だけ進める。
そして、演奏制御情報生成部132は、音階指定ユーザインタフェース部122からオフタイミング信号が出力されたとき、直前に合成制御メッセージ組立部134に組み立てさせた発音指示メッセージに対応した消音指示メッセージを合成制御メッセージ組立部134に組み立てさせ、その出力を行わせる。
以上が歌詞再生モードでの本実施形態の動作である。この歌詞再生モードにおいて、ユーザが例えば「かえるの歌」の歌詞を示す歌詞データをRAM150内の歌詞記憶領域に記憶させた状態において、鍵ボタン部105の鍵ボタン操作により「ドレミファミレド」と入力した場合、「ド」の入力に応じて表音文字「か」の表音文字データが歌詞記憶領域から読み出され、「か」の発音記号を示す発音記号メッセージと、音階「ド」での発音を指示する発音指示メッセージが歌唱合成エンジン2に供給される。また、次の「レ」の入力に応じて表音文字「え」の表音文字データが歌詞記憶領域から読み出され、「え」の発音記号を示す発音記号メッセージと、音階「レ」での発音を指示する発音指示メッセージが歌唱合成エンジン2に供給される。以下、同様である。従って、ユーザは鍵ボタン部105の鍵ボタン操作を行うことにより、歌詞記憶領域内の歌詞データが示す歌詞を鍵ボタン操作により奏でられるメロディに合わせて歌唱した歌唱音を歌唱合成エンジン2に合成させることができる。
e.メロディ再生モード
図5は、このメロディ再生モードにおける歌唱合成制御部1内の情報の流れを示す図である。このメロディ再生モードでの動作は、RAM150内のメロディ記憶領域に、曲を構成する音符の音階を指定する音階データの列であるメロディデータが予め記憶されていることが前提となる。このメロディ再生モードにおいて、50音/発音記号変換部131は、50音指定ユーザインタフェース部121からオンタイミング信号、表音文字データおよび操作強度情報が出力される都度、出力された表音文字データを発音記号に変換し、その発音記号を示す発音記号メッセージを合成制御メッセージ組立部134に出力させる。
一方、演奏制御情報生成部132は、50音指定ユーザインタフェース部121からオンタイミング信号、表音文字データおよび操作強度情報が出力されたとき、これに応じて50音/発音記号変換部131が上記発音記号メッセージを合成制御メッセージ組立部134に出力させるのを待って、RAM150のメロディ記憶領域内のメロディデータを構成する各音階データのうち現在の音階読み出し位置にある音階データを1つ読み出す。ここで、初期状態において、音階読み出し位置は、メロディ記憶領域内のメロディデータを構成する各音階データにおける最初の音階データの位置となっている。そして、演奏制御情報生成部132は、メロディ記憶領域から読み出した音階データと50音指定ユーザインタフェース部121から出力された操作強度情報を合成制御メッセージ組立部134に送って発音指示メッセージの組み立ておよびその出力を行わせる。この発音指示メッセージの出力を行わせると、演奏制御情報生成部132は、音階読み出し位置を1だけ進める。
そして、演奏制御情報生成部132は、50音指定ユーザインタフェース部121からオフタイミング信号が出力されたとき、直前に合成制御メッセージ組立部134に組み立てさせた発音指示メッセージに対応した消音指示メッセージを合成制御メッセージ組立部134に組み立てさせ、その出力を行わせる。
以上がメロディ再生モードでの基本的な動作である。
次にメロディ再生モードの具体的な動作例を説明する。図6(a)および(b)、図7〜図10は、メロディ再生モードにおける歌唱合成制御部1の動作例を各々示すタイムチャートである。図6(a)および(b)、図7〜図10において横軸は時間軸である。そして、これらの図には、50音ボタン部101、50音補助ボタン部102または音階読み出し位置制御ボタン部104の各ボタンの押圧操作の様子が時系列的に示されている。例えば図6(a)において、「か」ボタンの押圧操作を示す波形において、Lレベルとなっている区間は、「か」ボタンが押圧されてONとなっている区間を示している。他のボタン操作を示す波形も同様である。また、例えば図6(a)において、「か」ボタンの操作を示す波形においてLレベルとなっている区間(「か」ボタンがONになっている区間)には、「か(ド)」なる表記がある。この表記は、この区間のボタン操作により、「か」の発音記号に対応し、かつ、「ド」の音階を持った音声が発音されることを示している。他の「え(レ)」、「る(ミ)」等の表記も同様である。また、これらの図には、ボタン操作に応じて発生される発音記号メッセージ、発音指示メッセージおよび消音指示メッセージの発生タイミングが時系列的に示されている。さらにこれらの図には、発音指示メッセージの発生または制御ボタン部104の操作に応じて切り換わる音階読み出し位置が時系列的に示されている。
図6(a)および(b)に示す動作例では、メロディ記憶領域に「ドレミファミレド…」という「かえるの歌」のメロディを示すメロディデータが予め記憶されている。そして、この動作例では、50音ボタン部101および50音補助ボタン部102の操作により「かえるの歌」の歌詞である「かえるのうたが…」という表音文字の列が入力される。
まず、「か」ボタンが押され、50音指定ユーザインタフェース部121からオンタイミング信号、「か」を示す表音文字データおよび操作強度情報が出力されると、50音/発音記号変換部131は、「か」を示す表音文字データを発音記号に変換し、この「か」の発音記号を示す発音記号メッセージの組み立ておよびその出力を合成制御メッセージ組立部134に行わせる。
演奏制御情報生成部132は、この発音記号メッセージの組み立ておよびその出力が行われるのを待って、メロディ記憶領域内のメロディデータを構成する各音階データのうち現在の音階読み出し位置にある音階データを読み出し、この音階データと、「か」を示す表音文字データとともに50音指定ユーザインタフェース部121から出力された操作強度情報とを含む発音指示メッセージの組み立ておよびその出力を合成制御メッセージ組立部134に行わせる。ここで、初期状態において、音階読み出し位置は、「かえるの歌」のメロディデータの最初の音階データの位置となっている。従って、「ド」の音階データがメロディ記憶領域から読み出され、発音指示メッセージの組み立てに用いられる。
このようにして発音指示メッセージの出力が行われると、演奏制御情報生成部132は、音階読み出し位置を1だけ進める。これにより音階読み出し位置は、メロディデータにおける2番目の音階データである「レ」の音階データの位置となる。
次にユーザが「か」ボタンから指を離し、50音指定ユーザインタフェース部121からオフタイミング信号が出力されると、演奏制御情報生成部132は、直前に合成制御メッセージ組立部134に組み立てさせた発音指示メッセージに対応した消音指示メッセージ、すなわち、「ド」の音階データを含む消音指示メッセージを合成制御メッセージ組立部134に組み立てさせ、その出力を行わせる。従って、歌唱合成エンジン2では、「ド」の音階を有し、「か」ボタンの押圧期間に亙って継続する「か」の音声が合成される。
次に「え」ボタンが押され、50音指定ユーザインタフェース部121からオンタイミング信号、「え」を示す表音文字データおよび操作強度情報が出力されると、50音/発音記号変換部131は、「え」の発音記号を示す発音記号メッセージの組み立ておよびその出力を合成制御メッセージ組立部134に行わせる。また、演奏制御情報生成部132は、メロディ記憶領域内のメロディデータを構成する各音階データのうち現在の音階読み出し位置にある「レ」の音階データを読み出し、この「レ」の音階データと、「え」を示す表音文字データとともに50音指定ユーザインタフェース部121から出力された操作強度情報とを含む発音指示メッセージの組み立ておよびその出力を合成制御メッセージ組立部134に行わせる。そして、演奏制御情報生成部132は、音階読み出し位置を1だけ進める。次にユーザが「え」ボタンから指を離し、50音指定ユーザインタフェース部121からオフタイミング信号が出力されると、演奏制御情報生成部132は、直前に合成制御メッセージ組立部134に組み立てさせた発音指示メッセージに対応した消音指示メッセージ、すなわち、「レ」の音階データを含む消音指示メッセージを合成制御メッセージ組立部134に組み立てさせ、その出力を行わせる。以下、「る」ボタン、「の」ボタン、「う」ボタン、「た」ボタンが押されたときも同様の動作が行われる。
そして、ユーザが「゛」ボタンを押した状態で「か」ボタンを押すと、「か」ボタンの押圧操作により入力表音文字「が」が確定する。このため、「か」ボタンの押圧開始タイミングにおいて、50音指定ユーザインタフェース部121からオンタイミング信号、「が」を示す表音文字データおよび「か」ボタンについての操作強度情報が出力される。これに応じて、50音/発音記号変換部131は、「が」の発音記号を示す発音記号メッセージの組み立ておよびその出力を合成制御メッセージ組立部134に行わせる。また、演奏制御情報生成部132は、メロディ記憶領域内のメロディデータを構成する各音階データのうち現在の音階読み出し位置にある「ド」の音階データを読み出し、この「ド」の音階データと、「が」を示す表音文字データとともに50音指定ユーザインタフェース部121から出力された操作強度情報とを含む発音指示メッセージの組み立ておよびその出力を合成制御メッセージ組立部134に行わせる。そして、演奏制御情報生成部132は、音階読み出し位置を1だけ進める。
上記発音指示メッセージが与えられることにより、歌唱合成エンジン2は、「ド」の音階を有する「が」の音声の合成を開始する。この音声「が」の伸ばし音部分である「あ」の持続時間を長くしたい場合、ユーザは「か」ボタンを押し続ければよい。ユーザが「か」ボタンから指を離すと、演奏制御情報生成部132は、「ド」の音階データを含む消音指示メッセージを合成制御メッセージ組立部134に出力させる。これにより歌唱合成エンジン2は、「ド」の音階での合成を行っていた「が」の伸ばし音部分「あ」を消音させる。
図7〜図10に示す各動作例は、メロディ再生モードにおいて替え歌の歌唱音声を合成させる動作例である。これらの動作例においても、メロディ記憶領域には「ドレミファミレド…」という「かえるの歌」のメロディを示すメロディデータが予め記憶されている。
図7に示す動作例では、「かえるの歌」のメロディのうち4個の音符からなる部分「ドレミファ」に対する歌詞として、3文字の歌詞「ぶたの」が入力されている。この歌詞がメロディに対して「字足りず」である状況に対応するため、図7に示す動作例において、ユーザは、音階読み出し位置制御ボタン部104の「とばす」ボタンの操作を行っている。
さらに詳述すると、図7に示す動作例において、ユーザは、「゛」ボタンを押し、「゛」ボタンがONである期間内に「ふ」ボタンを押している。この場合、50音指定ユーザインタフェース部121は、「ふ」ボタンの押圧開始タイミングにおいて、オンタイミング信号、「ぶ」を示す表音文字データおよび「ふ」ボタンの押圧力に応じた操作強度情報を出力する。これにより50音/発音記号変換部131は、「ぶ」の発音記号を示す発音記号メッセージを合成制御メッセージ組立部134に出力させる。また、演奏制御情報生成部132は、メロディ記憶領域内のメロディデータにおける現在の音階読み出し位置にある「ド」の音階データを読み出し、この「ド」の音階データと、「ぶ」を示す表音文字データとともに50音指定ユーザインタフェース部121から出力された操作強度情報とを含む発音指示メッセージを合成制御メッセージ組立部134に出力させる。そして、演奏制御情報生成部132は、音階読み出し位置を1だけ進める。これにより音階読み出し位置は、メロディ記憶領域内のメロディデータの2番目の音階データ、すなわち、「レ」の音階データの位置となる。
次にユーザは、「ふ」ボタンから指を離す。これにより50音指定ユーザインタフェース部121からオフタイミング信号が出力され、演奏制御情報生成部132は、直前に出力させた発音指示メッセージに対応した消音指示メッセージを合成制御メッセージ組立部134に出力させ、歌唱合成エンジン2における「ド」の音階での「ぶ」の音声の合成を終了させる。
そして、ユーザは、このようにして「ふ」ボタンから指を離して「ぶ」の音声の合成を終了させた後、「とばす」ボタンを押す。この結果、50音指定ユーザインタフェース部121から「とばす」ボタンを示すボタン名情報、「とばす」ボタンの押圧開始を示すオンタイミング信号、「とばす」ボタンの押圧力に応じた操作強度情報が出力される。この場合、演奏制御情報生成部132は、50音指定ユーザインタフェース部121から「とばす」ボタンを示すボタン名情報が出力されるのに応じて、音階読み出し位置を1だけ進める。これにより音階読み出し位置は、メロディデータにおいて2番目の「レ」の音階データの位置から3番目の「ミ」の音階データの位置へと変更される。
次にユーザは、「た」ボタンを押す。この結果、50音指定ユーザインタフェース部121からオンタイミング信号、「た」を示す表音文字データおよび操作強度情報が出力される。これにより50音/発音記号変換部131は、「た」の発音記号を示す発音記号メッセージを合成制御メッセージ組立部134に出力させる。また、演奏制御情報生成部132は、メロディ記憶領域内のメロディデータにおける現在の音階読み出し位置にある「ミ」の音階データを読み出し、この「ミ」の音階データと、「た」を示す表音文字データとともに50音指定ユーザインタフェース部121から出力された操作強度情報とを含む発音指示メッセージを合成制御メッセージ組立部134に出力させる。そして、演奏制御情報生成部132は、音階読み出し位置を1だけ進める。これにより音階読み出し位置は、メロディ記憶領域内のメロディデータの4番目の音階データ、すなわち、「ファ」の音階データの位置となる。
このように図7に示す動作例では、歌唱合成エンジン2による「ぶ」の音声の合成が終了した後、「とばす」ボタンが押されることにより、音階読み出し位置が2番目の「レ」の音階データの位置から3番目の「ミ」の音階データの位置に変更され、「ぶ」の次の表音文字「た」が指示されたときには、3番目の「ミ」の音階データが読み出され、「ミ」の音階の「た」の音声が歌唱合成エンジン2により合成される。
図8に示す動作例においても、歌詞がメロディに対して「字足りず」である状況に対応するため、ユーザは音階読み出し位置制御ボタン部104の「とばす」ボタンの操作を行っている。この図8に示す動作例の図7に示す動作例との相違点は、「とばす」ボタンを押圧するタイミングにある。図7に示す動作例では、ユーザは、「ふ」ボタンから指を離し、歌唱合成エンジン2による「ぶ」の音声の合成を終了させた後、「とばす」ボタンを押した。これに対し、図8に示す動作例において、ユーザは、「ふ」ボタンを指で押し、歌唱合成エンジン2に「ぶ」の音声の合成を行わせている期間内に「とばす」ボタンを押している。従って、歌唱合成エンジン2に「ぶ」の音声の合成を行わせている期間内に、音階読み出し位置がメロディデータにおいて2番目の「レ」の音階データの位置から3番目の「ミ」の音階データの位置へと変更される。
図9に示す動作例では、歌詞がメロディに対して「字足りず」である状況に対応するため、ユーザは音階読み出し位置制御ボタン部104の「すすめる」ボタンの操作を行っている。さらに詳述すると、図9に示す動作例において、ユーザは、「ふ」ボタンを指で押し、歌唱合成エンジン2に「ぶ」の音声の合成を行わせている期間内に「すすめる」ボタンを押している。
このように歌唱合成エンジン2による「ぶ」の音声の合成が行われている期間内に「すすめる」ボタンが押圧され、「すすめる」ボタンについてのオンタイミング信号、ボタン名信号および操作強度情報が50音指定ユーザインタフェース部121から出力されると、演奏制御情報生成部132は、メロディ記憶領域内のメロディデータにおける現在の音階読み出し位置にある「レ」の音階データを読み出し、この「レ」の音階データと、「すすめる」ボタンを示すボタン名情報とともに50音指定ユーザインタフェース部121から出力された操作強度情報とを含む発音指示メッセージを合成制御メッセージ組立部134に出力させる。次に演奏制御情報生成部132は、直前に合成制御メッセージ組立部134に出力させた発音指示メッセージに対応した消音指示メッセージ、すなわち、「ド」の音階データを含む消音指示メッセージを合成制御メッセージ組立部134に出力させる。そして、ユーザが「ふ」ボタンから指を離し、「ふ」ボタンについてのオフタイミング信号が50音指定ユーザインタフェース部121から出力されると、演奏制御情報生成部132は、直前に合成制御メッセージ組立部134に出力させた発音指示メッセージに対応した消音指示メッセージ、すなわち、「レ」の音階データを含む消音指示メッセージを合成制御メッセージ組立部134に出力させる。「た」ボタンが押された場合の動作は、図7に示す動作例、図8に示す動作例と同様であり、「ミ」の音階を持った「た」の音声が歌唱合成エンジン2により合成される。
この図9に示す動作例では、歌唱合成エンジン2は、ユーザが「ふ」ボタンの押圧を開始したときに、「ぶ」の発音記号を示す発音記号メッセージと、「ド」の音階データを含む発音指示メッセージを受け取り、「ド」の音階での「ぶ」の音声の合成を開始する。そして、ユーザが「すすめる」ボタンの押圧を開始したときに、「レ」の音階データを含む発音指示メッセージと「ド」の音階データを含む消音指示メッセージを受け取る。このとき、歌唱合成エンジン2は、「ぶ」の音声の伸ばし音部分である「う」の音声を合成中であるが、「レ」の音階データを含む発音指示メッセージを受け取ることにより、合成中の「う」の音声の音階を「ド」から「レ」に切り換える。そして、歌唱合成エンジン2は、ユーザが「ふ」ボタンから指を離したときに、「レ」の音階データを含む消音指示メッセージを受け取り、「レ」の音階の「う」の音声の合成を終了する。従って、図9に示す動作例では、メロディ「ドレミ」に対して表音文字「ぶ」および「た」を入力するとともに、表音文字「ぶ」に対応した音声の合成中に「すすめる」ボタンを押すことにより、ぶ(ド)、う(レ)、た(ミ)(括弧内は音声の音階)なる音声が合成されることとなる。
なお、厳密には、この動作例において歌唱合成エンジン2では、「レ」の発音開始メッセージが与えられてから「ド」の消音指示メッセージが与えられるまでの間、「ド」の音階での音声と「レ」の音階での音声を重複して合成することとなる。そこで、音階「ド」から音階「レ」への遷移をより自然にするために、歌唱合成エンジン2では、先行する発音指示メッセージおよび消音指示メッセージの対が指定する発音継続期間(この例では「ド」の発音継続期間)と、後発の発音指示メッセージおよび消音指示メッセージの対が指定する発音継続期間(この例では「レ」の発音継続期間)とが重複している場合に、後発の対における発音指示メッセージ(この例では「レ」の発音指示メッセージ)が与えられた時点で、先行する対における発音指示メッセージ(この例では「ド」の発音指示メッセージ)により発音を開始した音声の音量をフェードアウトさせるようにしてもよい。
図10に示す動作例では、「かえるの歌」のメロディのうち4個の音符からなる部分「ドレミファ」に対する歌詞として、5文字の歌詞「しまうまの」が入力されている。この歌詞がメロディに対して「字余り」である状況に対応するため、図10に示す動作例において、ユーザは、音階読み出し位置制御ボタン部104の「くりかえす」ボタンの操作を行っている。
さらに詳述すると、図10に示す動作例では、「し」ボタンが押されたとき、「し」の発音記号を示す発音記号メッセージが歌唱合成エンジン2に送られるとともに、メロディデータにおいて最初の「ド」の音階データが読み出され、この「ド」の音階データを含む発音指示メッセージが歌唱合成エンジン2に送られる。そして、音階読み出し位置が「ド」の音階データの位置から「レ」の音階データの位置に進められる。
次に「ま」ボタンが押されたとき、「ま」の発音記号を示す発音記号メッセージが歌唱合成エンジン2に送られるとともに、メロディデータにおいて現在の音階読み出し位置にある「レ」の音階データが読み出され、この「レ」の音階データを含む発音指示メッセージが歌唱合成エンジン2に送られる。そして、音階読み出し位置が「レ」の音階データの位置から「ミ」の音階データの位置に進められる。
そして、図10に示す動作例では、「ま」ボタンがONである期間内に「くりかえす」ボタンが押される。この場合、50音指定ユーザインタフェース部121は、「くりかえす」ボタンの押圧開始タイミングにおいて、「くりかえす」ボタンについてのオンタイミング信号、ボタン名情報および操作強度情報を出力する。
このようにして「くりかえす」ボタンについてのボタン名情報が出力されると、演奏制御情報生成部132により、音階読み出し位置が「ミ」の音階データの位置から「レ」の音階データの位置に1だけ戻される。
そして、「ま」ボタンの後、「う」ボタンが押されると、「う」の発音記号を示す発音記号メッセージが歌唱合成エンジン2に送られるとともに、メロディデータにおいて現在の音階読み出し位置にある「レ」の音階データが読み出され、この「レ」の音階データを含む発音指示メッセージが歌唱合成エンジン2に送られる。そして、音階読み出し位置が「レ」の音階データの位置から「ミ」の音階データの位置に進められる。
次に、「う」ボタンの後、「ま」ボタンが押されると、「ま」の発音記号を示す発音記号メッセージが歌唱合成エンジン2に送られるとともに、メロディデータにおいて現在の音階読み出し位置にある「ミ」の音階データが読み出され、この「ミ」の音階データを含む発音指示メッセージが歌唱合成エンジン2に送られる。そして、音階読み出し位置が「ミ」の音階データの位置から「ファ」の音階データの位置に進められる。
従って、図10に示す動作例では、メロディ「ドレミ」に対して1文字多い表音文字「し」、「ま」、「う」、「ま」を入力するとともに、2番目の表音文字「ま」に対応した音声の合成中に「くりかえす」ボタンを押すことにより、し(ド)、ま(レ)、う(レ)、ま(ミ)(括弧内は音声の音階)なる音声が合成されることとなる。このように「くりかえす」ボタンの押圧操作により1つの音階データを歌詞における連続した2個の表音文字に繰り返し適用することができるので、メロディに対して歌詞が「字余り」である状況に対処することができる。なお、図10に示す動作例では、「レ」の音階データを2番目の表音文字「ま」と3番目の表音文字「う」に繰り返し適用するために、前者の表音文字「ま」の音声の合成中に「くりかえす」ボタンを押下しているが、後者の表音文字「う」の入力が行われる前であれば、前者の表音文字「ま」の音声の合成の終了後に「くりかえす」ボタンを押下してもよい。
以上説明したように、本実施形態におけるメロディ再生モードによれば、RAM150のメロディ記憶領域に音階データの列であるメロディデータを予め記憶させ、50音ボタン部101および50音補助ボタン部102の操作により表音文字を入力することにより、表音文字の入力に合わせて、音階読み出し位置を進めつつ音階データをメロディ記憶領域から順次読み出し、入力した表音文字に対応し、かつ、メロディ記憶領域から読み出した音階データに対応した音階を持った音声を歌唱合成エンジン2に合成させることができる。
ところで、操作部の操作に応じて音声を合成させる装置はこれまでにも提供されていた。例えば子供向けの知育発達のための玩具として、50音の表示されたボタンを備え、例えば「あ」のボタンのオンイベントの発生に応じて「あ」の音を合成してスピーカから出力する玩具が提供されている。この種の玩具によれば、ユーザである子供は、ある文字のボタンを見つけて押すことによりその文字の読みを発音させることができるので、読みが発音されるのを楽しみながら文字を憶えることができる。
しかしながら、この玩具では、ボタン操作により指定された50音が常に一定の音階で発音されるため、50音を連続して入力しても無味乾燥な音声となり、音楽的要素は全くなかった。
これに対し、本実施形態のメロディ再生モードによれば、50音ボタン部101および50音補助ボタン部102の操作により表音文字を入力した場合に、予め記憶されたメロディデータに従った音階で各表音文字の発音が行われるので、ユーザである子供は、自分が入力した表音文字が歌唱として合成されるのを聞きながら、歌詞として入力した文字を憶えることができる。
また、本実施形態によれば、メロディ記憶領域に記憶されたメロディデータに従って、操作部の操作により順次入力される表音文字に適用する音階データを決定するので、同一曲についての歌詞入力を繰り返し行って同一曲の歌唱音声を合成させることができる。従って、歌詞入力の練習を繰り返し行うことができる。
また、本実施形態のメロディ再生モードでは、50音ボタン部101のボタン操作により表音文字を入力するときのボタン操作の押圧力(操作強度)により、その表音文字の音声を発音させるときの操作強度情報が決定される。従って、歌詞入力のために行う50音ボタン部101のボタン操作により歌唱音声の音楽的表情付けを行うことができる。
また、本実施形態のメロディ再生モードによれば、予め記憶されたメロディデータに合わせて発音する歌詞をユーザが自由に入力することができる。従って、歌唱合成エンジン2に替え歌の歌唱合成を行わせることができる。また、歌詞の一部を即興で別の歌詞に変えて歌唱合成を行わせることも可能である。
歌唱合成エンジン2に替え歌の歌唱合成を行わせる場合、メロディ記憶領域に記憶されたメロディデータが示す音符の数に比べて、50音ボタン部101および50音補助ボタン部102の操作により入力する歌詞の表音文字数が不足している「字足りず」状況、過剰である「字余り」状況が発生し得る。本実施形態によれば、「とばす」ボタン、「すすめる」の操作により「字足りず」状況に対処することができ、「くりかえす」ボタンの操作により「字余り」状況に対処することができる。また、「字足りず」状況において、ある音声の発音継続中に「すすめる」ボタンをONにすることにより、メロディ記憶領域から音階データを読み出させ、発音中の音声における伸ばし音部分の音階をその読み出した音階データが示す音階に変化させることができる。従って、「字足りず」状況でも、滑らかで自然な歌唱を実現することができる。なお、「すすめる」ボタンの操作を伴う図9の動作例では、「ぶ」の音声の発音中に「すすめる」ボタンが押されたとき、この「すすめる」ボタンの押圧操作により発生した操作強度情報を「ぶ」の伸ばし音部分「う」の発音指示メッセージに適用したが、入力表音文字「ぶ」を確定させた「ふ」ボタンの押圧操作により発生された操作強度情報、すなわち、「ぶ」の音声の発音指示メッセージに適用した操作強度情報を適用してもよい。
<第2実施形態>
図11は、この発明の第2実施形態である歌唱合成制御部の機能構成を示すブロック図である。本実施形態による歌唱合成制御部も上記第1実施形態におけるものと同様なメロディ再生モードを有している。図11にはこのメロディ再生モードに関連する歌唱合成制御部内の各部が示されるとともに、同メロディ再生モードにおける各部間の情報の流れが示されている。
図11に示すように、本実施形態による歌唱合成制御部は、CPU110(図3参照)により実行されるプログラムとして、上記第1実施形態のものと同様な50音指定ユーザインタフェース部121、音階指定ユーザインタフェース部122、制御用ユーザインタフェース部123、50音/発音記号変換部131、演奏制御情報生成部132および合成制御メッセージ組立部134の他、照合部135を有している。この照合部135は、メロディ再生モードにおいて、50音指定ユーザインタフェース部121から出力される表音文字データを予め与えられた正解歌詞データと照合し、表音文字データが正解歌詞通りの正しい表音文字データであるか否か、表音文字データの出力タイミングが適切なものであるか否かを判定するモジュールである。
本実施形態では、複数種類の曲について各曲のメロディを示すメロディデータとその曲の正解歌詞を構成する表音文字データの列である正解歌詞データの対がROM140(図3参照)に記憶されている。歌唱合成制御部が設けられた歌唱合成装置の筐体には、曲選択用の操作子が設けられており、ユーザはこの操作子の操作により、所望の曲のメロディデータと正解歌詞データの対をROM140から読み出し、メロディデータをRAM150のメロディ記憶領域に格納し、正解歌詞データをRAM150の正解歌詞記憶領域に格納する。
メロディ再生モードにおいて、照合部135は、所定時間間隔で正解歌詞領域から正解歌詞の各表音文字を示す表音文字データを1個ずつ読み出す。なお、この表音文字データを読み出す時間間隔は例えば操作子の操作により指定することができるようにしてもよい。あるいは曲毎に定められた表音文字データの読み出し時間間隔を示す周期データを正解歌詞データに含めておき、照合部135がこの正解歌詞データ内の周期データが示す時間間隔で表音文字データを読み出すようにしてもよい。
照合部135は、1個の表音文字データを読み出してから所定の許容時間内にその表音文字データと一致する表音文字データが50音指定ユーザインタフェース部121から出力された場合、照合部135はユーザが正しく歌詞入力を行ったと判定する。一方、1個の表音文字データを読み出してから所定の許容時間内に50音指定ユーザインタフェース部121から表音文字データが出力されなかった場合あるいは許容時間内に表音文字データが出力されたがその表音文字データが正解歌詞領域から読み出した表音文字データと一致していない場合、照合部135はユーザが誤った歌詞入力を行ったと判定する。
照合部135は、このようにして得られる判定結果を制御用ユーザインタフェース部123に供給する。本実施形態における歌唱合成装置の筐体には、正しい歌詞入力が行われたことを示すための正解ランプと、誤った歌詞入力が行われたことを示すためのエラーランプが設けられている。制御用ユーザインタフェース部123は、正しい歌詞入力が行われた旨の判定結果を受け取った場合、正解ランプを点灯させ、誤った歌詞入力が行われた旨の判定結果を受け取った場合、エラーランプを点灯させる。
また、照合部135は、誤った歌詞入力が行われた旨の判定結果が得られた場合、警告音発生指示を合成制御メッセージ組立部134に送る。この警告音発生指示を受け取った合成制御メッセージ組立部134は、例えばブザー音等の警告音を合成させる合成制御メッセージを組み立て、歌唱合成エンジン2(図3参照)に供給し、警告音を出力させる。
なお、ユーザに対して歌詞を構成する表音文字を入力するタイミングを知らせるため、照合部135が1個の表音文字データを正解歌詞領域から読み出したときに、合成制御メッセージ組立部134が例えばメトロノーム音を合成させる発音指示メッセージを組み立て、歌唱合成エンジン2に供給するようにしてもよい。
本実施形態によれば、ユーザは単に歌詞を入力して予め記憶されたメロディデータに対応したメロディでの歌唱合成を行わせるだけでなく、適切なタイミングで適切な表音文字の入力を行ったか否かについての判定結果を受け取ることができる。従って、歌唱合成の興趣性が高まるという効果がある。なお、本実施形態では、全ての種類の入力表音文字について正解歌詞通りの表音文字が入力されたときに正解と判定するようにした。しかし、濁点を有する表音文字「ぶ」を入力するのには、「゛」ボタンと「ふ」ボタンの操作が必要であり、半濁点を含む表音文字「ぱ」を入力するのには、「゜」ボタンと「は」ボタンの操作が必要であり、小さい平仮名を後半部分に含む表音文字「てぃ」を入力するのには、「小」ボタンと「い」ボタンと「て」ボタンの操作を必要とする。このように入力表音文字の種類によっては適切なタイミングで完全なボタン操作を要求することが酷な場合もある。そこで、例えばこのように入力に当たって複数のボタン操作が必要な入力表音文字については、最後のボタン操作(上記の例では「ふ」、「は」、「て」のボタン操作)が正しく行われたことを以て、正しい歌詞入力が行われたと判定し、正解歌詞に対応した歌唱合成を行わせるようにしてもよい。すなわち、例えば正解歌詞の表音文字が「ば」である場合には、「は」が入力されれば正解として扱い、「ば」の発音記号を用いた歌唱音声を合成させるのである。また、本実施形態では、表音文字の入力タイミングが適切であり、かつ、入力表音文字が適切であるか否かの判定を行うようにしたが、表音文字の入力タイミングは判定対象とせず、入力表音文字が適切か否かのみの判定を行うようにしてもよい。
<他の実施形態>
以上、この発明の第1および第2実施形態について説明したが、これ以外にも、この発明には他の実施形態が考えられる。例えば次の通りである。
(1)上記第1実施形態において、「いぬのおまわりさん」、「チューリップ」等の各種の曲についてのメロディデータをROM140に予め記憶させるとともに、曲を選択する操作子を歌唱合成装置1000の筐体に設け、この操作子の操作により選択された曲のメロディデータをROM140から読み出してRAM150のメロディ記憶領域に格納するようにしてもよい。
(2)上記第1実施形態の図9に示す動作例において、「すすめる」ボタンを押したときに発音継続中の音声「ぶ」の音階は「ド」であり、「すすめる」ボタンの押圧操作により音声「ぶ」の伸ばし音部分「う」に適用される音階は「レ」であり、両者の音高差は小さい。このため、「すすめる」ボタンの押圧操作時、「レ」の音階データを含む発音指示メッセージを歌唱合成エンジン2に送ったとしても滑らかな歌唱となる。
しかしながら、「すすめる」ボタンの押圧操作によりメロディ記憶領域から読み出される音階データと、先行してメロディ記憶領域から読み出された音階データとの音高差が大きくなる場合もあり得る。そこで、そのような場合が起こることに配慮し、次のような構成にしてもよい。
まず、メロディ再生モードでは、メロディ領域から音階データを読み出した場合に、その音階データを読み出し済み音階データバッファに保存する。そして、演奏制御情報生成部132は、「すすめる」ボタンの押圧操作に応じて音階データをメロディ記憶領域から読み出したとき、この読み出した音階データと読み出し済み音階データバッファ内の先行する音階データとの音高差を求める。そして、この音高差に基づき、読み出し済み音階データバッファ内の先行する音階データが示す音階から「すすめる」ボタンの押圧操作に応じて読み出した音階データが示す音階まで所定時間を掛けて連続的に音高を変化させるピッチベンドメッセージを合成制御メッセージ組立部134に出力させるのである。この態様によれば、「字足りず」状況において「すすめる」ボタンの操作を伴う歌詞入力により合成される歌唱をより滑らかなものにすることができる。
(3)音声素片データベースに各種の歌い手の音声から採取した音声素片の波形データを記憶させ、歌唱合成制御部の操作部の操作により所望の歌い手の音声素片を選択して歌唱合成に用いるようにしてもよい。
(4)上記各実施形態では、歌唱合成制御部1と歌唱合成エンジン2とオーディオインタフェース3とを一体化した歌唱合成装置を構成したが、歌唱合成制御部1を有する歌唱合成制御装置と、歌唱合成エンジン2およびオーディオインタフェース3を有する歌唱合成装置と別々の装置としてもよい。この場合において、前者の歌唱合成制御装置が合成制御メッセージとしてMIDIメッセージを出力し、後者の歌唱合成装置がMIDIインタフェースを介して合成制御メッセージであるMIDIメッセージを受信し、歌唱音を合成するようにしてもよい。また、後者の歌唱合成装置は、パーソナルコンピュータに対して、歌唱合成エンジンであるアプリケーションソフトウェアをインストールしたものであってもよい。
(5)上記(4)の態様において、歌唱合成制御装置をインターネット等のネットワークを介して歌唱合成装置に接続するようにしてもよい。ここで、例えば歌唱合成制御装置は孫が所持しており、この孫の祖父母宅には歌唱合成装置が設置されているとする。また、歌唱合成装置の音声素片データベースには予め収音された孫の音声から得られた音声素片データが記憶されているとする。この態様によれば、孫は歌唱合成制御装置をメロディ再生モードとし、歌詞入力を行うことにより歌唱合成のためのMIDIメッセージ(合成制御メッセージ)を生成し、このMIDIメッセージをネットワークを介して祖父母宅の歌唱合成装置に供給することにより、自分の声による歌唱を祖父母に聞かせることができる。
(6)上記各実施形態において、歌唱合成制御部のCPU110が実行するプログラムを、タッチパネルによるGUI(グラフィカルユーザインタフェース)を備えたタブレット型コンピュータ等のためのアプリケーションプログラムとして提供してもよい。
(7)上記第2実施形態において、ユーザが誤った歌詞入力を行った場合に、正解歌詞データにおける表音文字データの読み出し位置を進めないように照合部135を構成してもよい。あるいは操作子の操作により、ユーザが誤った歌詞入力を行った場合に表音文字データの読み出し位置を進めるか進めないかを指定できる構成にしてもよい。
(8)歌唱合成制御装置がSMF(Standard MIDI File)形式等の歌詞付きのデータを外部から取り込み、上記第1実施形態におけるメロディデータや歌詞データあるいは上記第2実施形態における正解歌詞データとしてRAM150に格納するようにしてもよい。
(9)上記リアルタイム演奏モードでは、鍵ボタン部105による音階入力を行わせた後、50音ボタン部101による表音文字の入力を行わせ、50音ボタン部101による表音文字の入力のタイミングにおいて音声を発音させてもよい。あるいはいずれの方法で発音を行わせるかを操作子の操作により選択できるように構成してもよい。
(10)上記各実施形態において、50音指定ユーザインタフェース部121、音階指定ユーザインタフェース部122、制御用ユーザインタフェース部123、50音/発音記号変換部131、演奏制御情報生成部132、モード制御部133、合成制御メッセージ組立部134、照合部135等の各モジュール間の情報の授受に関しては、各モジュール間で情報の授受を直接行わせてもよく、API(Application Programming Interface)経由で各モジュール間の情報の授受を行わせてもよい。