(57)【特許請求の範囲】
【請求項１】
演奏操作子の操作開始および操作強度を検出する検出手段と、
該検出手段が検出した前記演奏操作子の操作開始に応じて、文字情報を記憶装置から取得する取得手段と、
発音制御手段とを備え、
前記取得手段が取得する文字の位置が、前記検出手段が検出した前記演奏操作子の操作強度に応じて制御され、前記発音制御手段が、前記取得手段で取得された文字を音声として発音することを特徴とする歌唱音合成装置。
【請求項２】
前記検出手段が検出した前記演奏操作子の操作開始時の操作強度に応じて、前記取得手段が取得する文字の位置を制御することを特徴とする請求項１に記載の歌唱音合成装置。
【請求項３】
前記検出手段が検出した前記演奏操作子の操作中の操作強度の変化に応じて、前記取得手段が次に位置する文字を取得して、該取得手段で取得された文字を、前記発音制御手段が音声として発音することを特徴とする請求項１に記載の歌唱音合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、リアルタイム演奏で歌唱音を発音させる際に、簡易な操作で歌詞を所望の位置に進めることのできる歌唱音合成装置に関する。
【背景技術】
【０００２】
従来、タッチパネルに表示された歌詞から任意の区間をユーザーが指定し、指定された歌詞を押鍵された鍵に応じたピッチで歌唱音声として出力させる歌唱音合成装置が知られている（特許文献１参照）。この歌唱音合成装置では、押鍵のたびに次の音節へと進める第１モードと、選択された音節のみを押鍵のたびに繰り返し読み出す第２モードとを有している。
このような従来の歌唱音合成装置では、ユーザーはタッチパネルの操作により所望の歌詞を選択することができ、鍵盤の押鍵操作により、選択された歌詞の各音節を所望のタイミングにおいて所望のピッチの歌唱音声として出力することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１０１９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の歌唱音合成装置では、押鍵に応じて自動的に１文字ずつあるいは１音節ずつ進める場合、演奏ミス等があると、歌詞の位置が演奏内容とずれてしまうことがある。その際、タッチパネル等のユーザーインタフェースを操作して歌詞の位置をコントロールするのは、リアルタイム演奏を行っていることから困難になるという問題点があった。
【０００５】
そこで、本発明は、リアルタイム演奏で歌唱音を発音させる際に、簡易な操作で歌詞を所望の位置に進められるようにする歌唱音合成装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の歌唱音合成装置は、演奏操作子の操作開始および操作強度を検出する検出手段と、該検出手段が検出した前記演奏操作子の操作開始に応じて、文字情報を記憶装置から取得する取得手段と、発音制御手段とを備え、前記取得手段が取得する文字の位置が、前記検出手段が検出した前記演奏操作子の操作強度に応じて制御され、前記発音制御手段が、前記取得手段で取得された文字を音声として発音することを最も主要な特徴としている。
【発明の効果】
【０００７】
本発明の歌唱音合成装置では、演奏操作子の操作に応じて取得した文字を音声として発音する場合に、演奏操作子の操作強度に応じて取得する文字を制御することができることから、リアルタイム演奏の際に、演奏操作子の操作強度を操作することで歌詞を所望の位置に進めることができるようになる。
【図面の簡単な説明】
【０００８】
【図１】本発明の歌唱音合成装置のハードウェア構成を示す機能ブロック図である。
【図２】本発明にかかる歌唱音合成装置における歌詞データの構成、ベロシティ設定の態様を説明する図である。
【図３】本発明にかかる歌唱音合成装置の動作例を示す図である。
【図４】本発明にかかる歌唱音合成装置が実行する歌唱音合成処理のフローチャートである。
【発明を実施するための形態】
【０００９】
本発明の歌唱音合成装置のハードウェア構成を示す機能ブロック図を図１に示す。
図１に示す本発明の歌唱音合成装置１において、ＣＰＵ（Central Processing Unit）１０は、本発明の歌唱音合成装置１の全体の制御を行う中央処理装置であり、ＲＯＭ（Read Only Memory）１１は制御プログラムおよび各種のデータなどが格納されている不揮発性のメモリであり、ＲＡＭ（Random Access Memory）３はＣＰＵ１０のワーク領域および各種のバッファなどとして使用される揮発性のメモリである。フラッシュメモリ等の書換可能なメモリとされるとされるデータメモリ１８には、歌詞のテキストデータを含む文字情報および歌唱音の音声素片データが格納されている音韻データベースなどが格納されている。表示部１５は、動作状態および各種設定画面やユーザーに対するメッセージなどが表示される液晶表示器等からなる表示部である。演奏操作子１６は鍵盤などからなる演奏操作子であり、キーオン、キーオフ、音高、ベロシティなどの演奏情報を発生する。また、設定操作子１７は、歌唱音合成装置１を設定する操作つまみや操作ボタンなどの各種設定操作子である。
【００１０】
音源１３は、複数の発音チャンネルを有し、ＣＰＵ１０の制御の基で、ユーザーの演奏操作子１６を使用するリアルタイム演奏に応じて１つの発音チャンネルを割り当て、割り当てられた発音チャンネルにおいて、データメモリ１８から演奏に対応する音声素片データを読み出して歌唱音データを生成する。サウンドシステム１４は、音源１３で生成された歌唱音データをデジタル／アナログ変換器によりアナログ信号に変換して、アナログ信号とされた歌唱音を増幅してスピーカ等へ出力している。さらに、バス１９は歌唱音合成装置１における各部の間のデータ転送を行うためのバスである。
【００１１】
本発明にかかる歌唱音合成装置１における歌詞データの構成が図２（ａ）に、ベロシティ設定の態様が図２（ｂ）に示されている。歌詞データは、歌詞の内容を表すテキストデータ３０からなり、テキストデータ３０を構成する文字の各々が文字情報３１である。なお、文字情報３１は一度の押鍵で読み出される１音節を単位としてテキストデータ３０を定義したものである。図２（ａ）に示す場合は、「さくらさくらのやまも」がテキストデータ３０とされ、そのｃ１１〜ｃ３４が文字情報３１とされている。最初の「さくら」の３文字のテキストデータ３０が第１フレーズ３２ａであることを、ｃ１１，ｃ１２，ｃ１３の文字情報３１が示し、続く「さくら」の３文字のテキストデータ３０が第２フレーズ３２ｂであることを、ｃ２１，ｃ２２，ｃ２３の文字情報が示し、続く「のやまも」の４文字のテキストデータ３０が第３フレーズ３２ｃであることを、ｃ３１，ｃ３２，ｃ３３，ｃ３４の文字情報が示している。すなわち、ｃ１１は１文字目の「さ」が第１フレーズ３２ａに属することの情報とされ、ｃ１２は２文字目の「く」が第１フレーズ３２ａに属することの情報とされ、ｃ１３は３文字目の「ら」が第１フレーズ３２ａに属することの情報とされている。ｃ２１〜ｃ３４も同様とされており、例えば、ｃ２１は４文字目の「さ」が第２フレーズ３２ｂに属することの情報とされ、ｃ３１は７文字目の「の」が第３フレーズ３２ｃに属することの情報とされている。
【００１２】
次に、本発明にかかる歌唱音合成装置１におけるベロシティ設定の一態様を図２（ｂ）に示す。本発明にかかる歌唱音合成装置１では、押鍵した際のベロシティＶに応じて発音する際に読み出す文字の位置を制御している。図２（ｂ）は縦軸がベロシティＶの強度とされ、この図に示すベロシティ設定では、ベロシティＶがＶａ以下の強度の場合をベロシティＶ０と定義し、発音指示があった際に、ベロシティＶがＶ０であった場合は通常の位置の文字を読み出して発音する。また、Ｖａ＜Ｖｂとした時に、ベロシティＶがＶａを超えてＶｂ以下の場合をベロシティＶ１と定義し、押鍵した際に、ベロシティＶがＶ１であった場合は通常の位置の次の文字を読み出して発音する。さらに、ベロシティＶがＶｂを超えている場合をベロシティＶ２と定義し、押鍵した際に、ベロシティＶがＶ２であった場合は次のフレーズの先頭文字を読み出して発音する。例えば、Ｖａはメゾフォルテ（ｍｆ）に相当する強度とされ、Ｖｂはフォルテ（ｆ）あるいはフォルティッシモ（ｆｆ）に相当する強度とされる。これにより、次に説明するように押鍵すべき鍵を押し損ねた際にも、読み出される歌詞の位置を次に押鍵した際のベロシティでコントロールすることができ、リアルタイム演奏の演奏内容と歌詞の位置を一致させることができるようになる。
【００１３】
本発明にかかる歌唱音合成装置１の動作例を図３（ａ）（ｂ）（ｃ）に示し、その際に実行される歌唱音合成処理のフローチャートを図４に示す。
図３（ａ）に示す動作例１を図４に示すフローチャートで説明する。図３（ａ）の縦軸は音高を示し、横軸は時間を示している。この場合、音名で音高を表し、時間軸の時刻ｔ０〜ｔ１２で拍打ちのタイミングを示している。ユーザーがリアルタイム演奏するに先立ち、データメモリ１８に格納されている歌詞データの内の図２（ａ）に示す歌詞データが選択されており、読み出す文字を示すカーソルが先頭のｃ１１の文字「さ」の位置に置かれているとする。
【００１４】
ユーザーが演奏を開始して演奏操作子１６の内のＡの鍵を、時刻ｔ０で押鍵ｋ０すると、この押鍵ｋ０をＣＰＵ１０が検出し、最初の歌唱音合成処理がスタートする。ここで、歌唱音合成処理におけるステップＳ１４の音声素片データ選択処理およびステップＳ１５の発音処理はＣＰＵ１０の制御の基で音源１３において実行され、これ以外の処理はＣＰＵ１０が実行する。スタートされた歌唱音合成処理のステップＳ１０では、時刻ｔ０で操作された演奏操作子１６の押鍵ｋ０に基づく発音指示をＣＰＵ１０が受け付ける。この際に、ＣＰＵ１０は押鍵ｋ０のタイミングｔ０、操作された演奏操作子１６の音高情報Ａおよびベロシティなどの演奏情報を取得する。この場合、演奏操作子１６とされる鍵盤は、例えば、鍵盤の押し込み操作を３段階で検出する第１センサ、第２センサ、第３センサが設けられた３メイクの鍵盤とされている。そして、ＣＰＵ１０は、第１センサがオンしてから第２センサがオンするまでの時間に基づいて算出したベロシティＶの強度を取得する。ステップＳ１１では、押鍵ｋ０された鍵のベロシティＶがベロシティＶ０の強度とされているか否かが判定され、ＣＰＵ１０が算出したベロシティＶの強度がＶａ以下の場合は、ベロシティＶがベロシティＶ０の強度とされている（Ｙｅｓ）と判定してステップＳ１３に進む。押鍵ｋ０では、ユーザーは意図的にベロシティＶ０となる押鍵速度で押鍵したとする。これにより、ＣＰＵ１０はステップＳ１１ではＹｅｓと判定してステップＳ１３に進み、データメモリ１８からカーソル位置の文字をＣＰＵ１０が取得する。この場合は、図２（ａ）に示す歌詞データが選択されており、選択された歌詞データを表すテキストデータ３０の先頭の文字ｃ１１にカーソルが置かれている。これにより、時刻ｔ０で押鍵ｋ０に基づく発音指示を受け付けた際には、ＣＰＵ１０は、カーソルが置かれたｃ１１の文字「さ」をデータメモリ１８から読み出す。
【００１５】
次いで、ステップＳ１４で音声素片データ選択処理が行われる。この音声素片データ選択処理は、ＣＰＵ１０の制御の基で音源１３で行われる処理であり、取得された文字を発音させる音声素片データをデータメモリ１８に格納されている音韻データベースから選択する。音韻データベースには、「音素連鎖データ」と「定常部分データ」が記憶されている。音素連鎖データは、無音（＃）から子音、子音から母音、母音から（次の文字の）子音または母音など、発音が変化する際の音素片のデータである。また、定常部分データは、母音の発音が継続する際の音素片のデータである。押鍵ｋ０に基づく発音指示を受け付けて、取得された文字が、ｃ１１の「さ」の場合は、音源１３において、音素連鎖データから「無音→子音ｓ」に対応する音声素片データ「＃−ｓ」と「子音ｓ→母音ａ」に対応する音声素片データ「ｓ−ａ」が選択されると共に、定常部分データから「母音ａ」に対応する音声素片データ「ａ」が選択される。次いで、ステップＳ１５にて、ステップＳ１４で選択した音声素片データに基づく発音開始処理をＣＰＵ１０の制御の基で音源１３が行う。上記したように、音声素片データが選択された場合は、ステップＳ１５の発音開始処理において、「＃−ｓ」→「ｓ−ａ」→「ａ」の音声素片データの発音が順次音源１３において行われて、ｃ１１の文字「さ」の発音が行われる。発音の際には、押鍵ｋ０に基づく発音指示の受付の際に取得した音高Ａで、予め定めた所定の音量で「さ」の歌唱音が発音される。ステップＳ１５の発音開始処理で発音が開始されると、ステップＳ１６に進み、ＣＰＵ１０は次のｃ１２の文字「く」にカーソルを進める。次いで、ステップＳ１７にて、ＣＰＵ１０は押鍵中の鍵のベロシティがＶｔｈ以上変化したか否かを判定する。ここでは、ユーザーは押鍵ｋ０のベロシティを変化させないよう演奏していることから、ステップＳ１７でＣＰＵ１０はＮｏと判定して、ステップＳ１８に進み押鍵ｋ０が離鍵されて発音停止指示がされたか否かをＣＰＵ１０が判定する。ここで、押鍵ｋ０は未だ離鍵されていない（Ｎｏ）とＣＰＵ１０が判定すると、ステップＳ１７に戻り、ステップＳ１７とステップＳ１８の処理か繰り返し行われる。そして、図３（ａ）に示すように時刻ｔ１の直前で押鍵ｋ０が離鍵されると、ステップＳ１８でＣＰＵ１０は発音停止指示を受けたと判定してｃ１１の「さ」の文字の発音に対する消音処理を行い、「さ」の歌唱音は停止する。これにより、歌唱音合成処理は終了する。
【００１６】
次いで、演奏が進行してユーザーが時刻ｔ１においてＡの鍵を押鍵ｋ１すると、この押鍵ｋ１をＣＰＵ１０が検出し、２度目の歌唱音合成処理がスタートされる。この押鍵ｋ１では、ユーザーは意図的にベロシティＶ０となる押鍵速度で押鍵したとする。歌唱音合成処理は上記したと同様に行われ、ＣＰＵ１０はステップＳ１１で、押鍵ｋ１のベロシティＶがベロシティＶ０であると検出し、ステップＳ１３でカーソル位置のｃ１２の文字である「く」をデータメモリ１８から読み出す。次いで、音源１３では「く」を発音するための音素片データをステップＳ１４でデータメモリ１８の音韻データベースから選択する。この場合、「＃−ｋ」、「ｋ−ｕ」、「ｕ」の音声素片データが選択される。そして、ステップＳ１５にて、音源１３は選択された音声素片データに基づいてｃ１２の「く」の文字を発音開始する。この発音開始では、「＃−ｋ」→「ｋ−ｕ」→「ｕ」の音声素片データの発音が順次音源１３において、押鍵ｋ１の音高Ａで、予め定めた所定の音量で発音される。これにより、「く」の歌唱音が発音される。次いで、ステップＳ１６で、カーソルは次のｃ１３の文字「ら」の位置に進められる。押鍵ｋ１は時刻ｔ２に達する前に離鍵されて、押鍵ｋ１の発音停止指示をＣＰＵ１０がステップＳ１８で検出し、ｃ１２の「く」の歌唱音は消音される。ステップＳ１８の処理が終了すると歌唱音合成処理は終了する。
【００１７】
次いで、演奏が進行して時刻ｔ２においてＢの鍵を押鍵ｋ２すべきであるが、ユーザーが押鍵ｋ２を押し損ねたとする。この場合は、押鍵ｋ２がされなかったことから、ＣＰＵ１０は発音指示を受け付けず歌唱音合成処理は開始されない。従って、カーソル位置のｃ１３の文字「ら」が読み出されないと共に、その発音開始処理も行われず、カーソルの位置は「ら」の文字位置に留まっている。
【００１８】
さらに演奏が進行して、時刻ｔ４でユーザーがＡの鍵を押鍵ｋ３すると、この押鍵ｋ３をＣＰＵ１０が検出し、３度目の歌唱音合成処理がスタートされる。この押鍵ｋ３では、ユーザーは意図的にベロシティＶ１となる押鍵速度で押鍵したとする。これにより、歌唱音合成処理のステップＳ１１では、ＣＰＵ１０は、押鍵ｋ３のベロシティＶがベロシティＶ０以上であると検出し、ステップＳ１２に分岐する。ステップＳ１２では、ＣＰＵ１０が算出したベロシティＶに応じた位置の文字を取得する。この場合、ベロシティＶがベロシティＶ１であるとＣＰＵ１０が検出すると、図２（ｂ）に示すようにカーソルのある文字の次の文字を読み出す、すなわち、カーソル位置のｃ１３の文字「ら」の次の文字であるｃ２１の「さ」を読み出す。次いで、音源１３では「さ」を発音するための音素片データをステップＳ１４でデータメモリ１８の音韻データベースから選択する。この場合、「＃−ｓ」、「ｓ−ａ」、「ａ」の音声素片データが選択される。そして、ステップＳ１５にて、音源１３は選択された音声素片データに基づいてｃ２１の「さ」の文字を発音開始する。この発音開始では、「＃−ｓ」→「ｓ−ａ」→「ａ」の音声素片データの発音が順次音源１３において、押鍵ｋ３の音高Ａで、予め定めた所定の音量で発音される。これにより、「さ」の歌唱音が発音される。次いで、ステップＳ１６で、カーソルは次のｃ２２の文字「く」の位置に進められる。押鍵ｋ３は時刻ｔ５に達する前に離鍵されて、押鍵ｋ３の発音停止指示をＣＰＵ１０がステップＳ１８で検出し、ｃ２１の「さ」の歌唱音は消音される。ステップＳ１８の処理が終了すると歌唱音合成処理は終了する。
このように、押鍵ｋ２を押し損ねると、次の押鍵ｋ３で発音開始される歌詞の位置が１文字ずれることになるが、押鍵ｋ３をベロシティＶ０を超えるベロシティＶ１で押鍵することにより、是正することができる。すなわち、ベロシティＶ１で押鍵することにより、カーソル位置の次の文字を読み出して発音開始することができるようになる。これにより、演奏を間違えた（押鍵すべきノートを押鍵しなかった）場合に、次の押鍵をベロシティＶ０を超えるベロシティＶ１で演奏すれば、本来その押鍵で発音すべき文字をすぐに発音させられるようになる。
【００１９】
さらに演奏が進行してユーザーが、時刻ｔ５においてＡの鍵を押鍵ｋ４すると、この押鍵ｋ４をＣＰＵ１０が検出し、４度目の歌唱音合成処理がスタートされる。この押鍵ｋ４では、ユーザーは意図的にベロシティＶ０となる押鍵速度で押鍵したとする。歌唱音合成処理は上記したと同様に行われ、ＣＰＵ１０はステップＳ１１で、押鍵ｋ４のベロシティＶがベロシティＶ０であると検出し、ステップＳ１３でカーソル位置のｃ２２の文字である「く」をデータメモリ１８から読み出す。次いで、音源１３では「く」を発音するための音素片データをステップＳ１４でデータメモリ１８の音韻データベースから選択する。この場合、「＃−ｋ」、「ｋ−ｕ」、「ｕ」の音声素片データが選択される。そして、ステップＳ１５にて、音源１３は選択された音声素片データに基づいてｃ２２の「く」の文字を発音開始する。この発音開始では、「＃−ｋ」→「ｋ−ｕ」→「ｕ」の音声素片データの発音が順次音源１３において、押鍵ｋ４の音高Ａで、予め定めた所定の音量で発音される。これにより、「く」の歌唱音が発音される。次いで、ステップＳ１６で、カーソルは次のｃ２３の文字「ら」の位置に進められる。押鍵ｋ４は時刻ｔ６に達する前に離鍵されて、押鍵ｋ４の発音停止指示をＣＰＵ１０がステップＳ１８で検出し、ｃ２２の「く」の歌唱音は消音される。ステップＳ１８の処理が終了すると歌唱音合成処理は終了する。
【００２０】
さらに演奏が進行してユーザーが、時刻ｔ６においてＢの鍵を押鍵ｋ５すると、この押鍵ｋ５をＣＰＵ１０が検出し、５度目の歌唱音合成処理がスタートされる。この押鍵ｋ５では、ユーザーは意図的にベロシティＶ０となる押鍵速度で押鍵したとする。歌唱音合成処理は上記したと同様に行われ、ＣＰＵ１０はステップＳ１１で、押鍵ｋ５のベロシティＶがベロシティＶ０であると検出し、ステップＳ１３でカーソル位置のｃ２３の文字である「ら」をデータメモリ１８から読み出す。次いで、音源１３では「ら」を発音するための音素片データをステップＳ１４でデータメモリ１８の音韻データベースから選択する。この場合、「＃−ｒ」、「ｒ−ａ」、「ａ」の音声素片データが選択される。そして、ステップＳ１５にて、音源１３は選択された音声素片データに基づいてｃ２３の「ら」の文字を発音開始する。この発音開始では、「＃−ｒ」→「ｒ−ａ」→「ａ」の音声素片データの発音が順次音源１３において、押鍵ｋ５の音高Ｂで、予め定めた所定の音量で発音される。これにより、「ら」の歌唱音が発音される。次いで、ステップＳ１６で、カーソルは次のｃ３１の文字「の」の位置に進められる。押鍵ｋ５は時刻ｔ７を越えて時刻ｔ８に達する前に離鍵されて、押鍵ｋ５の発音停止指示をＣＰＵ１０がステップＳ１８で検出し、ｃ２３の「ら」の歌唱音は消音される。ステップＳ１８の処理が終了すると歌唱音合成処理は終了する。
【００２１】
本発明にかかる歌唱音合成装置１では、ベロシティＶ１で押鍵された時に上記した動作とは異なる動作で動作させることができる。このバリエーションの動作を、図３（ａ）の時刻ｔ８以降で説明する。演奏が進行してユーザーが時刻ｔ８でＡの鍵を押鍵ｋ６すると、この押鍵ｋ６をＣＰＵ１０が検出し、６度目の歌唱音合成処理がスタートされる。この押鍵ｋ６では、ユーザーは意図的にベロシティＶ０となる押鍵速度で押鍵したとする。歌唱音合成処理は上記したと同様に行われ、ＣＰＵ１０はステップＳ１１で、押鍵ｋ６のベロシティＶがベロシティＶ０であると検出し、ステップＳ１３でカーソル位置のｃ３１の文字である「の」をデータメモリ１８から読み出す。次いで、音源１３では「の」を発音するための音素片データをステップＳ１４でデータメモリ１８の音韻データベースから選択する。この場合、「＃−ｎ」、「ｎ−ｏ」、「ｏ」の音声素片データが選択される。そして、ステップＳ１５にて、音源１３は選択された音声素片データに基づいてｃ３１の「の」の文字を発音開始する。この発音開始では、「＃−ｎ」→「ｎ−ｏ」→「ｏ」の音声素片データの発音が順次音源１３において、押鍵ｋ６の音高Ａで、予め定めた所定の音量で発音される。これにより、「の」の歌唱音が発音される。次いで、ステップＳ１６で、カーソルは次のｃ３２の文字「や」の位置に進められる。押鍵ｋ６はほぼ時刻ｔ９で離鍵されて、押鍵ｋ６の発音停止指示をＣＰＵ１０がステップＳ１８で検出し、ｃ３１の「の」の歌唱音は消音される。ステップＳ１８の処理が終了すると歌唱音合成処理は終了する。
【００２２】
次いで、時刻ｔ９においてＢの鍵を押鍵ｋ７すべきであるが、押鍵ｋ７を押し損ねたとする。この場合は、押鍵ｋ７がされなかったことから、ＣＰＵ１０は発音指示を受け付けず歌唱音合成処理は開始されない。従って、カーソル位置のｃ３２の文字「や」が読み出されないと共に、その発音開始処理も行われず、カーソルの位置は「や」の文字位置に留まっている。
【００２３】
さらに演奏が進行して、時刻ｔ１０でユーザーがＣの鍵を押鍵ｋ８すると、この押鍵ｋ８をＣＰＵ１０が検出し、７度目の歌唱音合成処理がスタートされる。この押鍵ｋ８では、ユーザーは意図的にベロシティＶ１となる押鍵速度で押鍵したとする。これにより、歌唱音合成処理のステップＳ１１では、ＣＰＵ１０は、押鍵ｋ８のベロシティＶがベロシティＶ０以上であると検出し、ステップＳ１２に分岐する。ステップＳ１２では、ＣＰＵ１０が算出したベロシティＶに応じた位置の文字を取得する。このバリエーションの動作では、押鍵ｋ８のベロシティＶがベロシティＶ１であると検出されると、カーソル位置の文字を短時間で発音させた後でその次の文字を発音させる。すなわち、ＣＰＵ１０がベロシティＶがベロシティＶ１であると検出すると、カーソル位置のｃ３２の文字「や」と次のｃ３３の文字「ま」とをＣＰＵ１０が読み出す。次いで、音源１３では「や」を発音するための音素片データと「ま」を発音するための音素片データとをステップＳ１４でデータメモリ１８の音韻データベースから選択する。この場合、「や」に続いて「ま」を発音することから「＃−ｙ」、「ｙ−ａ」、「ａ」の音声素片データと、「ａ−ｍ」、「ｍ−ａ」、「ａ」の音声素片データとが選択される。そして、ステップＳ１５にて、音源１３は選択された音声素片データに基づいてｃ３２の「や」の文字を発音開始する。この発音開始では、「＃−ｙ」→「ｙ−ａ」→「ａ」の音声素片データの発音が順次音源１３において、押鍵ｋ８の音高Ｃで、予め定めた所定の音量で発音される。これにより、「や」の歌唱音が発音されるが、この発音期間は短時間とされ、発音停止された「や」の歌唱音に続いて、音源１３は選択された音声素片データに基づいてｃ３３の「ま」の文字を発音開始する。この発音開始では、「ａ−ｍ」→「ｍ−ａ」→「ａ」の音声素片データの発音が順次音源１３において、押鍵ｋ８の音高Ｃで、予め定めた所定の音量で発音される。これにより、「や」の歌唱音に続いて「ま」の歌唱音が発音される。次いで、ステップＳ１６で、カーソルは次のｃ３４の文字「も」の位置に進められる。押鍵ｋ８はほぼ時刻ｔ１１で離鍵されて、押鍵ｋ８の発音停止指示をＣＰＵ１０がステップＳ１８で検出し、ｃ３３の「ま」の歌唱音は消音される。ステップＳ１８の処理が終了すると歌唱音合成処理は終了する。
このように、押鍵ｋ７を押し損ねると、次の押鍵ｋ８で発音開始される歌詞の位置が１文字ずれることになるが、押鍵ｋ８をベロシティＶ０を超えるベロシティＶ１で押鍵することにより、バリエーションの動作では是正することができる。すなわち、バリエーションの動作では、ベロシティＶ１で押鍵することにより、カーソルの位置の文字を読み出し、次いで次の文字を読み出して、カーソルの位置の文字を短時間だけ発音するようにしている。これにより、バリエーションの動作では、演奏を間違えた（押鍵すべきノートを押鍵しなかった）場合にも、文字が抜けることがなく聴衆にとって歌詞の意味が理解しやすい演奏とすることができる。
【００２４】
さらに演奏が進行してユーザーが、時刻ｔ１１においてＢの鍵を押鍵ｋ９すると、この押鍵ｋ９をＣＰＵ１０が検出し、８度目の歌唱音合成処理がスタートされる。この押鍵ｋ９では、ユーザーは意図的にベロシティＶ０となる押鍵速度で押鍵したとする。歌唱音合成処理は上記したと同様に行われ、ＣＰＵ１０はステップＳ１１で、押鍵ｋ９のベロシティＶがベロシティＶ０であると検出し、ステップＳ１３でカーソル位置のｃ３４の文字である「も」をデータメモリ１８から読み出す。次いで、音源１３では「も」を発音するための音素片データをステップＳ１４でデータメモリ１８の音韻データベースから選択する。この場合、「＃−ｍ」、「ｍ−ｏ」、「ｏ」の音声素片データが選択される。そして、ステップＳ１５にて、音源１３は選択された音声素片データに基づいてｃ３４の「も」の文字を発音開始する。この発音開始では、「＃−ｍ」→「ｍ−ｏ」→「ｏ」の音声素片データの発音が順次音源１３において、押鍵ｋ９の音高Ｂで、予め定めた所定の音量で発音される。これにより、「も」の歌唱音が発音される。次いで、ステップＳ１６で、カーソルは次の文字の位置に進められる。この場合、次の文字がない場合はこのステップはスキップされる。押鍵ｋ９はほぼ時刻ｔ１２で離鍵されて、押鍵ｋ９の発音停止指示をＣＰＵ１０がステップＳ１８で検出し、ｃ３４の「も」の歌唱音は消音される。ステップＳ１８の処理が終了すると歌唱音合成処理は終了する。
【００２５】
次に、図３（ｂ）に本発明にかかる歌唱音合成装置１の動作例２を示す。ここでは、上記した図３（ａ）に示す動作例１と異なる動作について、図３（ｂ）に示す動作例２を説明する。図３（ｂ）においても縦軸は音名で表した音高とされ、横軸の時間軸は時刻ｔ０〜ｔ１２で拍打ちのタイミングを示している。また、ユーザーがリアルタイム演奏するに先立ち、図２（ａ）に示す歌詞データを選択しており、読み出す文字を示すカーソルが先頭のｃ１１の文字「さ」にあるものとする。
ユーザーが演奏を開始して演奏操作子１６の内のＡの鍵を、時刻ｔ０で押鍵ｋ０すると、この押鍵ｋ０をＣＰＵ１０が検出し、最初の歌唱音合成処理がスタートされる。この時に実行される処理は、上記した動作例１と同様の処理とされるので、その説明は省略する。また、演奏が進行してユーザーが時刻ｔ１においてＡの鍵を押鍵ｋ１すると、この押鍵ｋ１をＣＰＵ１０が検出し、２度目の歌唱音合成処理がスタートされる。この時に実行される処理も、上記した動作例１と同様の処理とされるのて、その説明は省略する。
【００２６】
演奏がさらに進行してユーザーが時刻ｔ２においてＢの鍵を押鍵ｋ２すると、この押鍵ｋ２をＣＰＵ１０が検出し、３度目の歌唱音合成処理がスタートされる。この押鍵ｋ２では、ユーザーは意図的にベロシティＶ０となる押鍵速度で押鍵したとする。歌唱音合成処理において、ＣＰＵ１０はステップＳ１１で、押鍵ｋ２のベロシティＶがベロシティＶ０であると検出し、ステップＳ１３でカーソル位置のｃ１３の文字である「ら」をデータメモリ１８から読み出す。次いで、音源１３では「ら」を発音するための音素片データをステップＳ１４でデータメモリ１８の音韻データベースから選択する。この場合、「＃−ｒ」、「ｒ−ａ」、「ａ」の音声素片データが選択される。そして、ステップＳ１５にて、音源１３は選択された音声素片データに基づいてｃ１３の「ら」の文字を発音開始する。この発音開始では、「＃−ｒ」→「ｒ−ａ」→「ａ」の音声素片データの発音が順次音源１３において、押鍵ｋ２の音高Ｂで、予め定めた所定の音量で発音される。これにより、「ら」の歌唱音が発音される。次いで、ステップＳ１６で、カーソルは次のｃ２１の文字「さ」の位置に進められる。押鍵ｋ２は時刻ｔ３を越えて時刻ｔ４に達する前に離鍵されて、押鍵ｋ２の発音停止指示をＣＰＵ１０がステップＳ１８で検出し、ｃ１３の「ら」の歌唱音は消音される。ステップＳ１８の処理が終了すると歌唱音合成処理は終了する。
【００２７】
演奏がさらに進行してユーザーが時刻ｔ４においてＡの鍵を押鍵ｋ３すると、この押鍵ｋ３をＣＰＵ１０が検出し、４度目の歌唱音合成処理がスタートされる。この押鍵ｋ３では、ユーザーは意図的にベロシティＶ０となる押鍵速度で押鍵したとする。歌唱音合成処理において、ＣＰＵ１０はステップＳ１１で、押鍵ｋ３のベロシティＶがベロシティＶ０であると検出し、ステップＳ１３でカーソル位置のｃ２１の文字である「さ」をデータメモリ１８から読み出す。次いで、音源１３では「さ」を発音するための音素片データをステップＳ１４でデータメモリ１８の音韻データベースから選択する。この場合、「＃−ｓ」、「ｓ−ａ」、「ａ」の音声素片データが選択される。そして、ステップＳ１５にて、音源１３は選択された音声素片データに基づいてｃ２１の「さ」の文字を発音開始する。この発音開始では、「＃−ｓ」→「ｓ−ａ」→「ａ」の音声素片データの発音が順次音源１３において、押鍵ｋ３の音高Ａで、予め定めた所定の音量で発音される。これにより、「さ」の歌唱音が発音される。次いで、ステップＳ１６で、カーソルは次のｃ２２の文字「く」の位置に進められる。押鍵ｋ３は時刻ｔ５に達する前に離鍵されて、押鍵ｋ３の発音停止指示をＣＰＵ１０がステップＳ１８で検出し、ｃ２１の「さ」の歌唱音は消音される。ステップＳ１８の処理が終了すると歌唱音合成処理は終了する。
【００２８】
次いで、時刻ｔ５においてＡの鍵を押鍵ｋ４すべきであるが、押鍵ｋ４を押し損ねたとする。この場合は、押鍵ｋ４がされなかったことから、ＣＰＵ１０は発音指示を受け付けず歌唱音合成処理は開始されない。従って、カーソル位置のｃ２２の文字「く」が読み出されないと共に、その発音開始処理も行われず、カーソルの位置は「く」の文字位置に留まっている。
さらに、時刻ｔ６においてＢの鍵を押鍵ｋ５すべきであるが、押鍵ｋ５も押し損ねたとする。この場合は、押鍵ｋ５がされなかったことから、ＣＰＵ１０は発音指示を受け付けず歌唱音合成処理は開始されない。従って、カーソル位置のｃ２２の文字「く」が読み出されないと共に、その発音開始処理も行われず、カーソルの位置は「く」の文字位置に留まっている。
【００２９】
さらに演奏が進行して、時刻ｔ８でユーザーがＡの鍵を押鍵ｋ６すると、この押鍵ｋ６をＣＰＵ１０が検出し、５度目の歌唱音合成処理がスタートされる。この押鍵ｋ６では、ユーザーは意図的にベロシティＶ２となる押鍵速度で押鍵したとする。これにより、歌唱音合成処理のステップＳ１１では、ＣＰＵ１０は、押鍵ｋ６のベロシティＶがベロシティＶ０以上であると検出し、ステップＳ１２に分岐する。ステップＳ１２では、ＣＰＵ１０が算出したベロシティＶに応じた位置の文字を取得する。この場合、押鍵ｋ６のベロシティＶがベロシティＶ２であると検出されると、図２（ｂ）に示すように次のフレーズの文字が読み出される。この場合、カーソルはｃ２２にあり、ｃ２２が第２フレーズ３２ｂに属することから、次の第３フレーズ３２ｃの先頭のｃ３１の文字「の」をＣＰＵ１０が読み出す。次いで、音源１３では「の」を発音するための音素片データをステップＳ１４でデータメモリ１８の音韻データベースから選択する。この場合、「＃−ｎ」、「ｎ−ｏ」、「ｏ」の音声素片データが選択される。そして、ステップＳ１５にて、音源１３は選択された音声素片データに基づいてｃ３１の「の」の文字を発音開始する。この発音開始では、「＃−ｎ」→「ｎ−ｏ」→「ｏ」の音声素片データの発音が順次音源１３において、押鍵ｋ６の音高Ａで、予め定めた所定の音量で発音される。これにより、「の」の歌唱音が発音される。次いで、ステップＳ１６で、カーソルは次のｃ３２の文字「や」の位置に進められる。押鍵ｋ６はほぼ時刻ｔ９で離鍵されて、押鍵ｋ６の発音停止指示をＣＰＵ１０がステップＳ１８で検出し、ｃ３１の「の」の歌唱音は消音される。ステップＳ１８の処理が終了すると歌唱音合成処理は終了する。
【００３０】
このように、時刻ｔ５における押鍵ｋ４と時刻ｔ６における押鍵ｋ５を続けて押し損ねたことにより、歌詞の位置が演奏内容と２文字分ずれることになるが、この歌詞のずれを次の押鍵ｋ６をベロシティＶ２で押鍵することにより、カーソルのあるフレーズの次のフレーズを読み出すことによりずれを是正することができるようになる。すなわち、演奏を間違えた（押鍵すべきノートを押鍵しなかった）場合に、次の押鍵をベロシティＶ２で演奏することで、本来その押鍵で発音すべき文字をすぐに発音させられるようになる。図３（ｂ）における時刻ｔ９以降の動作の説明については、上記の説明から容易に理解できることから省略する。
【００３１】
次に、図３（ｃ）に本発明にかかる歌唱音合成装置１の動作例３を示す。図３（ｃ）は図３（ａ）と同様に縦軸が音名で表した音高とされ、横軸の時間軸において時刻ｔ２０〜ｔ２３で拍打ちのタイミングを示しているが、図示する区間は演奏の一部区間とされている。ユーザーがリアルタイム演奏するに先立ち、図２（ａ）に示す歌詞データを選択しており、読み出す文字を示すカーソルが先頭のｃ１１の文字「さ」にあるものとする。
演奏中においてユーザーが演奏操作子１６の内のＡの鍵を、時刻ｔ２０で押鍵ｋ１０すると、この押鍵ｋ１０をＣＰＵ１０が検出し、歌唱音合成処理がスタートされる。この押鍵ｋ１０では、ユーザーは意図的にベロシティＶ０となる押鍵速度で押鍵したとする。歌唱音合成処理において、ＣＰＵ１０はステップＳ１１で、押鍵ｋ１０のベロシティＶがベロシティＶ０であると検出し、ステップＳ１３でカーソル位置のｃ１１の文字である「さ」をデータメモリ１８から読み出す。次いで、音源１３では「さ」を発音するための音素片データをステップＳ１４でデータメモリ１８の音韻データベースから選択する。この場合、「＃−ｓ」、「ｓ−ａ」、「ａ」の音声素片データが選択される。そして、ステップＳ１５にて、音源１３は選択された音声素片データに基づいてｃ１１の「さ」の文字を発音開始する。この発音開始では、「＃−ｓ」→「ｓ−ａ」→「ａ」の音声素片データの発音が順次音源１３において、押鍵ｋ１０の音高Ａで、予め定めた所定の音量で発音される。これにより、「さ」の歌唱音が発音される。次いで、ステップＳ１６で、カーソルは次のｃ１２の文字「く」の位置に進められる。
【００３２】
押鍵ｋ１０の押鍵中であって時刻ｔ２１の近辺において押鍵中のＡの鍵を押し込んだとする。ステップＳ１７では、押鍵中の鍵のベロシティがＶｔｈ以上変化したか否かをＣＰＵ１０が判定するが、ここでは、ユーザーは押鍵ｋ１０のベロシティを意図的にＶｔｈ以上変化させるようにＡの鍵を押し込んだとする。これにより、ステップＳ１７でＣＰＵ１０はＹｅｓと判定して、ステップＳ１３に戻り、カーソル位置のｃ１２の文字である「く」をＣＰＵ１０がデータメモリ１８から読み出す。次いで、音源１３では「く」を発音するための音素片データをステップＳ１４でデータメモリ１８の音韻データベースから選択する。この場合、「さ」に続いて「く」を発音することから「ａ−ｋ」、「ｋ−ｕ」、「ｕ」の音声素片データが選択される。そして、ステップＳ１５にて、音源１３は選択された音声素片データに基づいてｃ１２の「く」の文字を発音開始する。この発音開始では、「ａ−ｋ」→「ｋ−ｕ」→「ｕ」の音声素片データの発音が順次音源１３において、押鍵ｋ１０の音高Ａで、予め定めた所定の音量で発音される。発音開始する際には、「さ」の歌唱音は停止され、「さ」の歌唱音に続いて「く」の歌唱音が発音される。次いで、ステップＳ１６で、カーソルは次のｃ１３の文字「ら」の位置に進められる。押鍵ｋ１０はほぼ時刻ｔ２２で離鍵されて、押鍵ｋ１０の発音停止指示をＣＰＵ１０がステップＳ１８で検出し、ｃ１２の「く」の歌唱音は消音される。ステップＳ１８の処理が終了すると歌唱音合成処理は終了する。
【００３３】
さらに演奏が進行してユーザーが、時刻ｔ２２においてＢの鍵を押鍵ｋ１２すると、この押鍵ｋ５をＣＰＵ１０が検出し、２度目の歌唱音合成処理がスタートされる。この押鍵ｋ１２では、ユーザーは意図的にベロシティＶ０となる押鍵速度で押鍵したとする。歌唱音合成処理は上記したように行われ、ＣＰＵ１０はステップＳ１１で、押鍵ｋ１２のベロシティＶがベロシティＶ０であると検出し、ステップＳ１３でカーソル位置のｃ１３の文字である「ら」をデータメモリ１８から読み出す。次いで、音源１３では「ら」を発音するための音素片データをステップＳ１４でデータメモリ１８の音韻データベースから選択する。この場合、「＃−ｒ」、「ｒ−ａ」、「ａ」の音声素片データが選択される。そして、ステップＳ１５にて、音源１３は選択された音声素片データに基づいてｃ１３の「ら」の文字を発音開始する。この発音開始では、「＃−ｒ」→「ｒ−ａ」→「ａ」の音声素片データの発音が順次音源１３において、押鍵ｋ１２の音高Ｂで、予め定めた所定の音量で発音される。これにより、「ら」の歌唱音が発音される。次いで、ステップＳ１６で、カーソルは次のｃ２１の文字「の」の位置に進められる。押鍵ｋ１２は時刻ｔ２３を越えて離鍵されて、押鍵ｋ１２の発音停止指示をＣＰＵ１０がステップＳ１８で検出し、ｃ１３の「ら」の歌唱音は消音される。ステップＳ１８の処理が終了すると歌唱音合成処理は終了する。
このように、本発明にかかる歌唱音合成装置１では、押鍵中に、ベロシティを所定量（Ｖｔｈ）以上増加する演奏を行うとき、すなわち、アフタータッチによって、発音中の文字の次の文字を押鍵中の鍵の音高で発音させることができる。
【産業上の利用可能性】
【００３４】
以上説明した本発明の歌唱音合成装置においては、ベロシティと発音させる文字の進め方の対応については、いろいろなバリエーションが考えられる。例えば、Ｎ段階にベロシティ範囲を設定して、そのベロシティ範囲に応じて発音させる文字を、１文字進める、２文字進める、・・・Ｎ文字進める、と設定することにより、所望の文字数を押鍵ベロシティで制御できるようになる。また、以上の説明では、ベロシティが大きいときに発音させる文字を複数文字進めるようにしたが、これに替えて、ベロシティが小さいときに発音させる文字を複数文字進めるようにしてもよい。さらに、ベロシティ値に応じて、発音させる文字を戻すようにしてもよい。この場合、フレーズの先頭位置に戻したり、１文字戻すように制御してもよい。
ところで、ベロシティ範囲の設定を多段階に設定するほど、正確なベロシティでの演奏が求められることとなり、演奏操作が難しくなる。そこで、鍵盤の操作にペダル等の他の演奏操作子の操作を組み合わせることで、発音させる文字を進めたり戻したりしてもよい。たとえば、上記したように動作する本発明の歌唱音合成装置において、ペダルを踏みながらベロシティＶ１で演奏した場合には発音させる文字を１文字戻るようにし、ペダルを踏みながらベロシティＶ２で演奏した場合には発音させる文字をフレーズ先頭に戻るようにすることができる。これによれば、ベロシティ設定を３段階としても、５種類の発音させる文字の文字制御を行うことができるようになる。
【００３５】
さらにまた、本発明の歌唱音合成装置において、演奏操作子は鍵盤ではない演奏操作子であってもよい。例えば、打楽器(パッド)型の場合には打撃力に応じて、発音させる文字の制御を行い、弦楽器型の場合には弦をはじく強さに応じて、発音させる文字の制御を行い、管楽器型の場合には息の量に応じて、発音させる文字の制御を行うようにしてもよい。
さらにまた、本発明の歌唱音合成装置において、文字情報を記憶したデータメモリに替えて、ハードディスク、内蔵メモリ、外付けメモリ、ネットワーク経由のサーバなどに文字情報等を記憶するようにしてもよい。
なお、本発明の歌唱音発音装置では、押鍵ベロシティは文字制御のための情報としてのみ扱い、音量制御には使用されないものとしたが、特定のスイッチやツマミ、あるいは、特定の演奏操作子を操作しながら押鍵した時には、押鍵ベロシティにより音量制御するようにしてもよい。
【符号の説明】
【００３６】
１  歌唱音合成装置、１０  ＣＰＵ、１１  ＲＯＭ、１２  ＲＡＭ、１３  音源、１４  サウンドシステム、１５  表示部、１６  演奏操作子、１７  設定操作子、１８  データメモリ、１９  バス、３０  テキストデータ、３１  文字情報、３２ａ  第１フレーズ、３２ｂ  第２フレーズ、３２ｃ  第３フレーズ
【図１】
0006485185.tif 000002
【図２】
0006485185.tif 000003
【図３】
0006485185.tif 000004
【図４】
0006485185.tif 000005