(57)【要約】【課題】  視覚に頼ることなくリピート対象を選択できるようにする技術の提供。【解決手段】  音声を生成する音声生成部（２０，３０ａ）と、押し込み操作及び押し込み解除操作に応じて、生成中の音声の任意の範囲をリピート対象として指定する情報を受け付けるリピート対象受付部（６０ｃ）と、前記リピート対象として指定された範囲の前記音声を前記音声生成部が繰り返し生成するように制御するリピート制御部（２０）を備える。【選択図】図１Ａ
2018112748.tif 000002
【特許請求の範囲】
【請求項１】
音声を生成する音声生成部と、
押し込み操作及び押し込み解除操作に応じて、生成中の音声の任意の範囲をリピート対象として指定する情報を受け付けるリピート対象受付部と、
前記リピート対象として指定された範囲の前記音声を前記音声生成部が繰り返し生成するように制御するリピート制御部、
を備える音声生成装置。
【請求項２】
前記リピート対象受付部は、押し込み操作に応じて前記リピート対象となる範囲の最初の音声を特定し、押し込み解除操作に応じて前記リピート対象となる範囲の最後の音声を特定する、請求項１の音声生成装置。
【請求項３】
予め規定された文字列中の１または複数文字を指定する情報を取得する情報取得部を更に備え、
前記音声生成部は、前記取得した情報に基づき、前記指定された１または複数文字に対応する音声を生成し、
前記リピート対象受付部は、１又は複数の音声が時系列的に生成されている間に、ユーザによる前記押し込み操作及び押し込み解除操作に応じて、前記リピート対象となる最初の音声を指定する情報と、前記リピート対象となる最後の音声を指定する情報とを受け付けるように構成されており、
前記リピート制御部は、時系列的に生成された前記１又は複数の音声のうち、前記指定された最初の音声から最後の音声までをリピート対象として前記音声生成部が繰り返し生成するように制御するように構成されている、請求項１又は２の音声生成装置。
【請求項４】
前記リピート対象受付部は、さらに、リピート機能がオフのときの押し込み操作に応じてリピート機能をオンに設定し、リピート機能がオンのときの押し込み操作に応じてリピート機能をオフに設定するように構成されており、
前記リピート制御部は、前記リピート機能がオンに設定されているとき、前記リピート対象として受け付けた範囲の前記音声を前記音声生成部が繰り返し生成するように制御する、請求項１乃至３のいずれかの音声生成装置。
【請求項５】
前記リピート制御部による前記音声の繰り返し生成を終了するときに戻るべき音声に対応する１または複数の文字を、前記予め規定された文字列の中から、決定する決定手段をさらに備えた、請求項３の音声生成装置。
【請求項６】
前記決定手段は、前記予め規定された文字列中において、前記リピート対象として受け付けた範囲の次に位置する１または複数の文字に対応する音声を、前記戻るべき音声に対応する１または複数の文字として決定する、請求項５の音声生成装置。
【請求項７】
前記決定手段は、前記リピート制御部による前記音声の繰り返し回数を考慮して前記戻るべき音声に対応する１または複数の文字を、前記予め規定された文字列の中から、決定する、請求項５の音声生成装置。
【請求項８】
生成すべき音声の音高を指定する音高指定手段をさらに備え、
前記情報取得部は、前記音高指定手段により音高が指定される毎に、前記予め規定された文字列中の１または複数文字を順次指定する情報を取得し、
前記音声生成部は、前記指定された１または複数文字に対応する音声を、前記取得した音高指定情報により指定された音高で、生成する、請求項３の音声生成装置。
【請求項９】
音声生成装置によって音声を生成することと、
所定の操作子の押し込み操作及び押し込み解除操作に応じて、生成中の音声の任意の範囲をリピート対象として指定する情報を受け付けることと、
前記リピート対象として指定された範囲の前記音声を前記音声生成装置が繰り返し生成するように制御すること、
からなる方法。
【請求項１０】
音声生成装置によって生成された音声を繰り返し生成させるためのプログラムであって、コンピュータに、
所定の操作子の押し込み操作及び押し込み解除操作に応じて、生成中の音声の任意の範囲をリピート対象として指定する情報を受け付ける手順と、
前記リピート対象として指定された範囲の前記音声を前記音声生成装置が繰り返し生成するように制御する手順、
を実行させることからなるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字に基づく音声を指定された音高で生成する技術に関し、特に、特定範囲の音声をリピートする技術に関する。
【背景技術】
【０００２】
従来、メロディに従って音高を変化させながら歌詞の音声を合成することで歌唱音声を生成する装置が知られている。例えば、特許文献１においては、演奏データ（音高データ）が受信されるのに応じて歌詞データが示す歌詞における歌唱位置の更新制御を行う技術が開示されている。すなわち、鍵盤等の操作部に対するユーザ操作によってメロディ演奏を行い、該メロディ演奏の進行に同期させて歌詞を進行させる技術が開示されている。また、従来より、電子楽器においては種々の形状のコントローラが開発されており、鍵盤楽器の本体から突出させて把持部を設け、該把持部において任意の操作部や適宜の手操作を検出するための検出部を設けることが知られている（例えば、特許文献２，３参照）。
【０００３】
また、例えば、特許文献４には、複数の歌詞を表示手段に表示させ、操作手段の操作により歌詞の任意の区間を選択し、選択した区間を指定されたピッチの歌唱音声として出力する技術が開示されている。また、ユーザがタッチパネルに表示された歌詞の中の１音節を指示し、その後、３回にわたって鍵盤の押鍵を行うと、指示された音節が鍵盤で指定されたピッチで発音される構成が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１７０５９２号公報
【特許文献２】特開平０１−３８７９２号公報
【特許文献３】特開平０６−１１８９５５号公報
【特許文献４】特開２０１４−１０１９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の、歌唱音声を生成する装置など、文字に基づき音声を生成する装置においては、音声生成によってもたらし得るユーザ表現等、様々な演奏表現の幅が狭かった。具体的には、ライブ演奏等においては、曲の盛り上がりに応じて任意の歌詞部分のフレーズを繰り返したり、同じフレーズの繰り返しであっても各繰り返し毎に歌詞表現及び／又は演奏の抑揚等を適宜変化させるなど、柔軟な歌詞の修正及び／又は音声の発生態様（状態）の制御が行えること、つまり、柔軟なアドリブ演奏が行えること、が望まれる。しかし、従来の装置においては、そのような柔軟なアドリブ演奏を容易に行うことができなかった。例えば、演奏中にユーザが所望する楽曲の部分的範囲を繰り返すように設定したり、同じフレーズを繰り返す際に各繰り返し毎に歌詞や抑揚を変化させるなど、柔軟に音声生成態様を制御することが容易にはできなかった。
【０００６】
また、従来、リピート対象を容易に選択できるようにするための多様な技術の開発が望まれていた。すなわち、上述の特許文献４において歌詞を繰り返すためには、表示手段に表示された歌詞を選択する必要がある。しかし、歌唱音声の出力中に表示手段の視認が必要であり、また、表示された歌詞の選択操作が必要である場合、演奏者の演奏態様が表示手段の視認や選択操作が可能な態様に拘束される。例えば、ライブ中において、演奏者は表示手段を備えた演奏装置を視認することが必須となる。従って、演奏者がブラインドタッチで演奏装置を演奏することは困難になり、演奏者の可動範囲や演奏姿勢等が表示手段の視認や選択操作が可能な範囲や姿勢等に拘束される。
【０００７】
本発明は、上述の点に鑑みてなされたもので、視覚に頼ることなくリピート対象を選択できるようにすることを目的とする。
【０００８】
上述の目的を達成するため、本発明によれば、音声を生成する音声生成部と、押し込み操作及び押し込み解除操作に応じて、生成中の音声の任意の範囲をリピート対象として指定する情報を受け付けるリピート対象受付部と、前記リピート対象として指定された範囲の前記音声を前記音声生成部が繰り返し生成するように制御するリピート制御部、を備える音声生成装置が提供される。
【０００９】
本発明によれば、ユーザは、音声生成部によって順次生成される音声を可聴音として聞くことによって、リアルタイムに生成されている音声がリピート対象として指定するのにふさわしいかどうかを聴感的に素早く判断しかつ指定（選択）することができる。従って、視覚に頼ることなくリピート対象の文字を選択することができる。
【図面の簡単な説明】
【００１０】
【図１Ａ】本発明の一実施形態にかかるコントローラを備えたシステムとしての鍵盤楽器の模式図。
【００１１】
【図１Ｂ】前記コントローラのグリップが握られた状態を示す図。
【００１２】
【図１Ｃ】前記鍵盤楽器の制御系統を示すブロック図。
【００１３】
【図２Ａ】文字に基づく音声生成の実例を説明するための図。
【００１４】
【図２Ｂ】文字に基づく音声生成の実例を説明するための図。
【００１５】
【図２Ｃ】文字に基づく音声生成の実例を説明するための図。
【００１６】
【図２Ｄ】文字に基づく音声生成の実例を説明するための図。
【００１７】
【図２Ｅ】文字に基づく音声生成の実例を説明するための図。
【００１８】
【図２Ｆ】文字に基づく音声生成の実例を説明するための図。
【００１９】
【図３Ａ】音声生成の開始処理の一例を示すフローチャート。
【００２０】
【図３Ｂ】音声生成処理の一例（キーオン処理）を示すフローチャート。
【００２１】
【図３Ｃ】音声生成処理の一例（キーオフ処理）を示すフローチャート。
【００２２】
【図３Ｄ】文字選択処理の一例を示すフローチャート。
【００２３】
【図４Ａ】音声制御処理の一例を示すフローチャート。
【００２４】
【図４Ｂ】リピート対象選択処理の一例を示すフローチャート。
【００２５】
【図５】コントローラのグリップ形状の変更例を示す図。
【００２６】
【図６Ａ】日本語の歌詞の文字列の一例を示す図。
【００２７】
【図６Ｂ】英語の歌詞の文字列の一例を示す図。
【００２８】
【図７】コントローラに設けられる文字セレクタの別の例を示す平面図。
【００２９】
【図８】図７の文字セレクタの操作に応じて音節統合処理及び音節分離処理の一例を示す図。
【発明を実施するための形態】
【００３０】
（１）システム構成
図１Ａは、本発明の一実施形態にかかるコントローラ１０ａ及び音声生成装置１０ｂを備えたシステムとしての電子的鍵盤楽器１０を模式的に示す図である。鍵盤楽器１０は、直方体状の本体１０ｂと角柱状のコントローラ１０ａとを備えている。鍵盤楽器１０の本体１０ｂは、任意の楽音及び音声を電子的に生成する音声生成装置の一例として機能するもので、音高セレクタ５０と入出力部６０とを備えている。音高セレクタ５０は演奏すべき楽音又は音声の音高を指定するためにユーザによって操作される操作子であり、例えば白鍵および黒鍵からなる複数の鍵によって構成される。本実施形態における鍵盤楽器１０の本体１０ｂの両端の取付位置Ｐ1，Ｐ2には、図示しないショルダーストラップが接続されるように構成されている。ユーザは、当該ショルダーストラップを肩にかけた状態で鍵盤楽器１０を身体の前方に配置し、片手で音高セレクタ（鍵盤）５０を操作することで演奏を行うことができる。図１Ａにおいては、このような態様でユーザが鍵盤楽器１０を演奏する際にユーザから見た上下左右方向を付記してある。以下、本明細書において言及する方向は、鍵盤楽器１０を演奏するユーザから見た上下左右前後の方向を言う。なお、音高セレクタ５０は、鍵盤タイプの音高指定用演奏操作子に限らず、任意のタイプの演奏操作子を用いてよく、要は、ユーザの操作に応じて何らかの音高を指定することができるような構成からなるものであればよい。
【００３１】
入出力部６０は、ユーザからの指示等を入力する入力部とユーザに各種の情報（画像情報や音声情報）を出力する出力部（ディスプレイ及びスピーカ）とを含んでいる。図１Ａにおいては、一例として、鍵盤楽器１０が備える入力部としての回転スイッチと出力部としてのディスプレイとが破線内に示されている。
【００３２】
コントローラ１０ａは、本体（音声生成装置）１０ｂの一側面（図１Ａの例では左側面）において当該面に略垂直な方向（鍵盤楽器１０を演奏するユーザから見た左方向：図１Ａ参照）に突出している。当該コントローラ１０ａの外形は略柱状である。当該略柱状の部位の外周の大きさはユーザが片手で握れる大きさであり、従って、本体１０ｂから突出するコントローラ１０ａの部位はグリップＧを構成している。当該グリップＧの長手方向（図１Ａの左右方向）に延びる軸に垂直な方向の断面の形状は、切断位置によらず一定である。なお、後述するように、コントローラ１０ａは、本体（音声生成装置）１０ｂと一体不可分に結合されていてもよいし、本体（音声生成装置）１０ｂとに対して着脱自在に構成されていてもよいし、あるいは、本体（音声生成装置）１０ｂから分離していて有線又は無線式に本体（音声生成装置）１０ｂと通信可能となっていてもよい。
【００３３】
図１Ｂは、図１Ａに示す左側から右側の方向を視線方向としてコントローラ１０ａを眺めた状態を示す模式図であり、ユーザがグリップＧを握った状態の例を示している。同図１Ｂに示すように、グリップＧの軸に垂直な方向の断面は長方形の角部分を丸くしたような形状である。すなわち、グリップＧの前後上下を構成する面は平面であるとともに、各平面の間に曲面又は斜面が形成された状態（面取りされた状態）となっている。
【００３４】
コントローラ１０ａのグリップＧには、鍵盤楽器１０の入出力部６０の一部として機能し得る文字セレクタ６０ａと音声制御操作子６０ｂとリピート操作子６０ｃとが設けられている。すなわち、コントローラ１０ａに設けられた文字セレクタ６０ａ、音声制御操作子６０ｂ、リピート操作子６０ｃのいずれかの操作に応じて発生される信号及び／又は情報が、鍵盤楽器１０の本体（音声生成装置）１０ｂに伝送され、ユーザによる入力信号及び／又は情報として取り扱われる。文字セレクタ６０ａは、予め規定された文字列（例えば歌詞）中の１または複数文字を指定するためにユーザによって操作可能なように構成されており、後述するように、押しボタンタイプのスイッチからなる複数の選択ボタンＭｃｆ，Ｍｃｂ，Ｍｐｆ，Ｍｐｂを含む。この文字セレクタ６０ａは、グリップの上部の面および後部の平面の間に形成された曲面又は斜面（面取りされた部位）に配置される（図１Ｂ参照）。このように文字セレクタ６０ａを配置することにより、グリップＧを握った手の親指で該文字セレクタ６０ａを操作し易いものとなる。
【００３５】
リピート操作子６０ｃは、リピート演奏に関連する入力を行うための操作子である。本実施形態においてはリピート操作子６０ｃも押しボタンタイプのスイッチからなり、グリップＧの上部および後部を構成する平面の間に形成された曲面又は斜面（面取りされた部位）にリピート操作子６０ｃが配置される（図１Ｂ参照）。本実施形態においては、当該曲面又は斜面（面取りされた部位）上で、文字セレクタ６０ａの各ボタンＭｃｆ，Ｍｃｂ，Ｍｐｆ，Ｍｐｂとリピート操作子６０ｃのボタンとが該グリップＧが延びる方向（図１Ａに示す左右方向）に沿って一列に並べられている。
【００３６】
音声制御操作子６０ｂは、音声生成装置１０ｂによって生成される前記音声の状態を制御するためにユーザによって操作可能なように構成されている。一例として、音声制御操作子６０ｂの操作に応じて、生成する音声の音高を制御することができるように構成されている。当該音声制御操作子６０ｂは、グリップＧの前方を構成する平面に配置される（図１Ｂ参照）。一例として、音声制御操作子６０ｂは、長手状の薄膜状のタッチセンサからなり、操作面に対する検出対象（本実施形態においては指）の接触操作位置（例えば長手方向の１次元的位置）を検出することができるように構成されている。本実施形態において、音声制御操作子６０ｂは、矩形状タッチセンサの短辺が上下方向に平行、矩形の長辺が左右方向に平行になるように（図１Ａ参照）、グリップＧの前部の面に取り付けられる。
【００３７】
以上の構成において、ユーザは、コントローラ１０ａのグリップＧを図１Ｂのように左手で握りながら文字セレクタ６０ａと音声制御操作子６０ｂとリピート操作子６０ｃとを操作する。具体的には、ユーザは、コントローラ１０ａのグリップＧを左手の手のひらで下から支えながら親指が後方、他の指が前方に配置された状態でグリップＧを握る。この状態において、文字セレクタ６０ａおよびリピート操作子６０ｃがグリップＧの後部面と上部面との間の曲面又は斜面に存在するため、図１Ｂに示すように親指で操作し易い位置に文字セレクタ６０ａおよびリピート操作子６０ｃが配置される。
【００３８】
また、図１Ｂに示すようにユーザがグリップＧを握った状態において、音声制御操作子６０ｂがグリップＧの前部面上に存在するため、図１Ｂに示すように親指以外の指（人差し指等）で操作し易い位置に音声制御操作子６０ｂが配置される。従って、本実施形態においては、ユーザがグリップＧを握りながら親指で文字セレクタ６０ａやリピート操作子６０ｃを操作した場合に、他の指が配置される部位に音声制御操作子６０ｂが形成されていることになる。
【００３９】
この構成によれば、ユーザは、片手でコントローラ１０ａのグリップＧを握りながら、その手の親指で文字セレクタ６０ａやリピート操作子６０ｃを操作することが可能であり、かつ、その手の他の指で音声制御操作子６０ｂを操作することができる。このため、片手で容易に音声制御操作子６０ｂと文字セレクタ６０（またはリピート操作子６０ｃ）とを同時操作することができる。さらに、上述のような片手での音声制御操作子６０ｂに対する操作は、ギターのフレットを押さえるときのような操作に類似しており、ユーザが、ギターのフレットに対する操作と同様の操作で音声制御操作子６０ｂに触れることにより、接触位置に応じて発生態様を制御することができる。さらに、以上の構成において、ユーザがコントローラ１０ａを握った状態において手とコントローラ１０ａとが接触する部位は平面または曲面又は斜面であり、手に対して尖った部位が触れることはない。従って、ユーザは、手を痛めることなく音声制御操作子６０ｂの長手方向（図１Ａに示す左右方向）に沿って繰り返し手をスライド移動させることができる。なお、文字セレクタ６０ａと音声制御操作子６０ｂが同時に操作され易くするための配置は、図示例に限定されるものではなく、要は、グリップＧを握った手の或る指で文字セレクタ６０ａと音声制御操作子６０ｂの一方を操作している最中に、他方を該手の別の指で操作できるような配置であればよい。
【００４０】
図１Ｃは鍵盤楽器１０において音声を生成し出力するための構成を示すブロック図である。図１Ｃに示すように、鍵盤楽器１０は、ＣＰＵ２０と不揮発性メモリ３０とＲＡＭ４０と音高セレクタ５０と入出力部６０と音出力部７０とを備える。音出力部７０は、音声を出力するための回路およびスピーカー（図１Ａには図示せず）を備えていてよい。ＣＰＵ２０は、ＲＡＭ４０を一時記憶領域として利用して不揮発性メモリ３０に記録されたプログラムを実行可能である。
【００４１】
また、不揮発性メモリ３０には、音声生成プログラム３０ａと文字情報３０ｂと音声素片データベース３０ｃとが予め記録される。文字情報３０ｂは、歌詞のような予め規定された文字列の情報であり、例えば、該文字列を構成する複数の文字の情報および該文字列における各文字の順序を示す情報を含む。本実施形態において文字情報３０ｂは、文字を示すコードが当該順序に従って記述されたテキストデータである。むろん、不揮発性メモリ３０に予め記憶する歌詞のデータは１曲分のみであっても良いし、複数曲分であっても良く、あるいは、曲の一部の１フレーズのみであってもよい。所望の歌唱もしくは文字列の音声を生成しようとする場合に、１曲分すなわち１文字列分の文字情報３０ｂが選択される。音声素片データベース３０ｃは、人の歌声を再現するためのデータであり、本実施形態においては、予め、文字が示す音声が基準の音高で発音される際の音声の波形を収集し、短い期間の音声素片に分割し、当該音声素片を示す波形データをデータベース化することによって生成される。すなわち、音声素片データベース３０ｃは、複数の音声素片を示す波形データで構成されている。当該音声素片を示す波形データを組み合わせると、任意の文字が示す音声を再現することができる。
【００４２】
具体的には、音声素片データベース３０ｃは、ＣＶ（子音から母音への遷移部）、ＶＶ（母音から他の母音への遷移部）、ＶＣ（母音から子音への遷移部）などのような音声の遷移部分（Ａｒｔｉｃｕｌａｔｉｏｎ）や母音Ｖの伸ばし音（Ｓｔａｔｉｏｎａｒｙ）などの波形データの集合体である。すなわち、音声素片データベース３０ｃは、歌唱音声の素材となる各種の音声素片を示す音声素片データの集合体である。これらの音声素片データは、実際の人間が発した音声波形から抽出された音声素片に基づいて作成されたデータである。本実施形態においては、任意の文字や任意の文字列が示す音声を再現する際に結合されるべき音声素片データが予め決められており、不揮発性メモリ３０に記録されている（図示せず）。ＣＰＵ２０は、文字情報３０ｂが示す任意の文字や文字列に応じて不揮発性メモリ３０を参照し、結合すべき音声素片データを選択する。そして、ＣＰＵ２０が選択した音声素片データを結合すると、任意の文字や任意の文字列が示す音声を再現するための波形データが生成される。なお、音声素片データベース３０ｃは、各種の言語用に用意されていても良いし、発音者の性別や音声の特性等に応じて用意されていても良い。また、音声素片データベース３０ｃを構成する波形データは、音声素片の波形を所定のサンプリングレートでサンプリングしたサンプル列を一定時間長のフレームに分割したデータであっても良いし、当該データに対してＦＦＴ（高速フーリエ変換）を行うことにより得られたフレーム毎のスペクトルデータ（振幅スペクトルおよび位相スペクトル）であってもよい。ここでは、波形データが後者である例を説明する。
【００４３】
本実施形態において、ＣＰＵ２０は、不揮発性メモリ３０に記録された音声生成プログラム３０ａを実行することができる。音声生成プログラム３０ａが実行されると、ＣＰＵ２０は、音声生成プログラム３０ａの処理により、ユーザが音高セレクタ５０で指示した音高で、文字情報３０ｂとして定義された文字に対応するの音声信号を生成する。そして、ＣＰＵ２０は、当該生成された音声信号に従って音声を出力する指示を音出力部７０に対して出力する。この結果、音出力部７０は、当該音声を出力するためのアナログ波形信号を生成し、増幅してスピーカーから音声を出力する。
【００４４】
（２）文字列の一例
本発明において、予め規定された文字列とは、予め所定の楽曲と関連づけられている既存の歌の歌詞に限らず、詩、韻文、通常の文章等、任意の文字列からなるものであってよい。しかし、以下説明する実施例においては、特定の楽曲に関連した歌詞の文字列に対応する音声を生成するものとする。公知のように、楽曲における音符進行と歌詞進行とは予め所定の関係に対応づけられている。その場合、１つの音符は、１音節に対応することもあれば、複数音節に対応することもあり、また、直前の音符に対応して発生した或る音節の持続部分であることもある。公知のように、言語のタイプに応じて、１つの音符に対応づけられ得る文字の単位（数）も異なる。例えば、日本語では、一般に、１音節が１つの仮名文字で表現され得るので、歌詞は１つの仮名文字単位で個々の音符に対応づけられ得る。これに対して、その他の多くの言語、例えば英語、においては、一般に、１音節は１又は複数の文字で表現されるので、１文字単位ではなく音節単位で個々の音符に対応づけられることになり、そして、１音節を構成する文字数は１又は複数であり得る。ここから導き出される概念は、どのような言語体系下の文字にあっても、１音節に対応して生成すべき音声を特定するための文字数は１又は複数である、ということである。この意味で、本発明において、音声生成のために指定される１又はまたは複数文字とは、音声生成のために必要な１又は複数の音節（子音のみの音節も含む）を特定するに足るものである。
【００４５】
一実施例として、音高セレクタ５０を用いたユーザの音高指定操作に同期して、文字列（歌詞）中の１または複数文字が該文字列（歌詞）における文字進行順序に従って順次進められる構成が採用される。そのために、該文字列（歌詞）中の各文字が、それが割り当てられる個々の音符に対応づけて、１又は複数文字からなるグループに分けられ、各グループが進行順に順位づけられる。図６Ａ及び６Ｂは、そのような文字グループの順位付けの一例を示す。図６Ａは、日本語の歌詞の文字列の一例を示し、それに対応するメロディの音符を五線譜で示している。図６Ｂは、英語の歌詞の文字列の一例を示し、それに対応するメロディの音符を五線譜で示している。図６Ａ及び６Ｂにおいて、歌詞文字列における各文字グループの下段に記された数字は、該各文字グループの順位を示す。前記不揮発性メモリ３０に記録された文字情報３０ｂは、このような、歌詞文字列内の各文字を１又は複数文字からなるグループに区分けした状態で読み出し可能に記憶した文字データと、各グループの順位を示す順位データとを含む。例えば、図６Ａの例では、順位１，２，３，４，５，６，９，１０に対応する各文字グループが１文字からなり、順位７，８に対応する各文字グループが複数文字からなる。また、図６Ｂの例では、順位１，２，４，５，６，８，９，１０，１１に対応する各文字グループが複数文字からなり、順位３，７に対応する各文字グループが１文字からなる。なお、本発明においては、楽曲の音符データ（例えばＭＩＤＩデータ）を持つ必要はないので、図６Ａ及び６Ｂの上段に示された楽譜は単なる参考にすぎない。しかし、後述するように、変更例として、楽曲の音符データ（例えばＭＩＤＩデータ）を利用することも可能である。
【００４６】
（３）基本的な音声生成処理の一例
図３Ａ〜３Ｃは、ＣＰＵ２０によって実行される基本的な音声生成処理の一例を示す。図３Ａは、音声生成の開始処理の一例を示す。ユーザが入出力部６０を操作して音声生成の対象となる曲を選択すると、ＣＰＵ２０は、ステップＳ１００で曲選択がなされたことを判定して、ステップＳ１０１に進み、当該選択された曲の歌詞文字列の文字情報３０ｂを不揮発性メモリ３０から取得し、ＲＡＭ４０にバッファ記憶する。なお、ＲＡＭ４０にバッファ記憶される前記選択された曲の歌詞文字列の文字情報３０ｂは、前述したように、１又は複数文字からなる各グループ毎の文字データと、該グループの順位を示す順位データとを含む。次に、ＣＰＵ２０は、出力対象の文字グループの順位を指示するためのポインタｊ（変数）の値を初期値「１」に設定する（ステップＳ１０２）。該ポインタｊはＲＡＭ４０において維持される。該ポインタｊの値に対応する順位データを持つ前記歌詞文字列中の１文字グループの前記文字データによって示される音声（音節）が、次の発音機会において生成されることになる。次の発音機会とは、ユーザが音高セレクタ５０によって所望の音高を指定することである。例えば、該ポインタｊの値１が最初の順位１の文字グループ、値２が最初から２番目の順位２の文字グループを示す。
【００４７】
図３Ｂは、音高指定情報に応じて音声を生成する音声生成処理の一例（キーオン処理）を示す。ユーザが音高セレクタ５０を押し込み操作して何らかの音高（好ましくは当該楽曲の楽譜に従う音高）を選択（指定）すると、ＣＰＵ２０は、ステップＳ１０３でキーオンと判定して、ステップＳ１０４に進み、音高セレクタ５０が備えるセンサの出力情報に基づいて、操作状況（該指定された音高を示す音高指定情報及び該操作時のベロシティ若しくは強度等を示す情報）を取得する。次に、ＣＰＵ２０は、前記ポインタｊによって指示される出力対象文字グループに対応する音声を、当該指定された音高および音量強度等で、生成する（ステップＳ１０５）。具体的には、ＣＰＵ２０は、音声素片データベース３０ｃから該出力対象文字グループが示す音節の音声を再現するための音声素片データを取得する。さらに、ＣＰＵ２０は、取得された音声素片データの中の母音に対応したデータに対して音高変換処理を実行し、音高セレクタ５０で指定された音高を持つ母音音声素片データに変換する。さらに、ＣＰＵ２０は、前記出力対象の文字グループが示す音節の音声を再現するための音声素片データの中の母音に対応したデータを、前記音高変換処理後の母音音声素片データに置換し、これらの音声素片データを組み合わせたデータに対して逆ＦＦＴを施す。この結果、前記出力対象の文字グループが示す音節の音声を再現する音声信号（時間領域のデジタル音声信号）が合成される。
【００４８】
なお、前記音高変換処理は、特定の音高の音声を他の音高の音声に変換する処理であれば良く、例えば、音高セレクタ５０で指示された音高と音声素片データが示す音声における基準の音高との差分を求め、当該差分に相当する周波数だけ音声素片データの波形が示すスペクトル分布を周波数軸方向に移動させる処理等によって実行可能である。むろん、音高変換処理は、他にも種々の処理によって実現可能であり、当該処理は時間軸上で行われてもよい。なお、ステップＳ１０５における音声生成処理においては、合成される前記音声の状態（例えば音高）を、前記音声制御操作子６０ｂの操作に従って制御するようにも構成されているが、この点については追って説明する。ステップＳ１０５における音声生成処理においては、合成される前記音声の種々の態様（音高、音量、音色等）が調整可能であっても良く、例えばビブラート等を付与する音声制御が実行されても良い。
【００４９】
音声信号が生成されると、ＣＰＵ２０は、当該音声信号を音出力部７０に対して出力する。この結果、音出力部７０は、当該音声信号をアナログ波形信号に変換し、増幅して出力する。従って、音出力部７０から、出力対象の文字グループが示す音節の音声であって、音高セレクタ５０で指定された音高及び音量強度等を持つ該音声が出力される。
【００５０】
ステップＳ１０６では、前記リピート操作子６０ｃの操作に応じてリピート機能がオンされているか否かを判定する。この詳細については後述する。通常はリピート機能はオフであり、ステップＳ１０６のＮＯからステップＳ１２０に進み、ポインタｊが１増加される。これにより、ポインタｊの値によって指示される出力対象文字グループは、次の発音機会において生成すべき音声に対応するものとなる。
【００５１】
図３Ｃは、前記音高指定情報に応じて生成された音声の生成を停止する処理（キーオフ処理）の一例を示す。ＣＰＵ２０は、音高セレクタ５０が備えるセンサの出力情報に基づいて、キーオフ、つまり音高セレクタ５０に対する押し込み操作が解除された、か否かを判定する（ステップＳ１０７）。キーオフがなされたと判定された場合、ＣＰＵ２０は、生成中の音声を停止（又は減衰）し、音出力部７０から出力される音声信号が消音されるようにする（Ｓ１０８）。この結果、音出力部７０からの音声出力が停止する。図３Ｂ及び３Ｃの処理（キーオン処理及びキーオフ処理）により、ＣＰＵ２０は、音高セレクタ５０で指定された音高および強度の音声を、音高セレクタ５０で指定された期間継続して出力させる。
【００５２】
以上のような処理において、ＣＰＵ２０は、音高セレクタ５０が１回操作されるたびに、出力対象文字グループを特定するための変数（ポインタｊ）をインクリメントする（ステップＳ１２０）。本実施形態において、ＣＰＵ２０は、音高セレクタ５０で指定された音高で出力対象文字グループに対応する音声を生成及び出力する処理を開始した後、該音声の生成及び出力が停止したか否かにかかわらず、該変数（ポインタｊ）をインクリメントする。従って、本実施形態において、出力対象文字グループとは、次の発音指示によって生成及び出力されるべき音声に対応する文字グループであり、言い換えると生成及び出力待機中の文字グループである。
【００５３】
（４）音声生成すべき文字の表示
なお、本実施形態において、ＣＰＵ２０は、出力対象文字グループと、少なくともその前方または後方の順序の文字グループを入出力部６０のディスプレイに表示するようにしてよい。例えば、入出力部６０のディスプレイには、既定の数（例えばｍ）の文字を表示するための歌詞表示枠が設けられている。ＣＰＵ２０は、ＲＡＭ４０を参照し、文字列の中からポインタｊが示す順位の１文字グループを含む、その前及び／又は後の合計ｍ個の文字を取得し、これらの文字を前記ディスプレイの歌詞表示枠内に表示する。
【００５４】
さらに、ＣＰＵ２０は、入出力部６０のディスプレイにおいて、出力対象文字グループと他の文字とを区別するための表示を行うようにしてよい。当該表示は、種々の態様によって実現可能であり、出力対象文字グループを強調表示（点滅、色の変更、下線追記等）することや、出力対象文字グループの前または後の文字を明示（点滅、色の変更、下線追記等）すること等を採用可能である。さらにＣＰＵ２０は、出力対象文字グループが入出力部６０のディスプレイに常に表示されるように、表示内容を切り替える。当該切り替えは、種々の態様で実現可能であり、ポインタｊの値の変化に伴って出力対象文字グループが変化することに応じてディスプレイの表示内容をスクロールさせることや、複数個の文字を単位にして表示内容を切り替えること等を採用可能である。
【００５５】
（５）文字に基づく音声生成の基本的な実例
図２Ａは、文字に基づく音声生成の基本的な実例を示す図である。同図２Ａにおいて横軸は時間軸であり、縦軸は音高を示す軸である。図２Ａにおいては、ある音階におけるいくつかの階名（ド、レ、ミ、ファ、ソ）に相当する音高が縦軸に示されている。また、図２Ａにおいては、音声生成されるべき文字列の１番目の順位の文字グループから７番目の順位の文字グループまでを、符号Ｌ1，Ｌ2，Ｌ3，Ｌ4，Ｌ5，Ｌ6，Ｌ7で示している。さらに、同図２Ａに示すグラフにおいては、生成及び出力される音声を矩形の領域で示しており、矩形における横方向（時間軸方向）の長さが音声の出力継続期間に相当し、矩形の縦方向の位置が音高に相当する。なお、ここでは、各矩形の縦方向の中央の位置が当該矩形の音高に該当する。
【００５６】
また、図２Ａにおいては、時刻ｔ1，ｔ2，ｔ3，ｔ4，ｔ5，ｔ6，ｔ7において、ユーザが階名ド，レ，ミ，ファ，ド，レ，ミの順で音高セレクタ５０を操作した場合に生成及び出力される音声が示されている。このような操作が行われると、ユーザがド，レ，ミ，ファ，ド，レ，ミの音高セレクタ５０を操作したことに同期して、出力対象文字グループがＬ1，Ｌ2，Ｌ3，Ｌ4，Ｌ5，Ｌ6，Ｌ7のように順次変化する。従って、図２Ａに示す例においては、ユーザがド，レ，ミ，ファ，ド，レ，ミの音高セレクタ５０を操作したことに同期して、Ｌ1，Ｌ2，Ｌ3，Ｌ4，Ｌ5，Ｌ6，Ｌ7が示す各文字グループに対応する音声がド，レ，ミ，ファ，ド，レ，ミの音高で順次出力されることになる。
【００５７】
以上のような基本的な実例によれば、ユーザは、音高セレクタ５０により音声の音高と文字の進行とを制御することができるため、既定の順序の歌詞に従う歌唱音声をユーザの意図通りの音高で生成する（自動的に歌わせる）ことができる。しかし、このような基本例においては、音高セレクタ５０に対する操作に同期して文字列内の文字が順序通りに進んでしまうため、音高セレクタ５０の操作を誤るなど、実際の曲の進行とは異なる予定外の操作が行われると、曲の進行よりも歌唱音声の進行が早くなったり、または遅くなってしまう。例えば、図６Ｂの例において、順位１，２，３の歌詞「sometimes I」を歌唱させる小節において、シ、ド、＃ド、の３つの音高を順次指定すべきところを、シ、ド、＃ド、＃ド、と誤操作した場合、「sometimes I won-」と音声合成されてしまい、次の小節の先頭の歌詞音節「won-」が前の小節の末尾で出力されてしまい、以後、歌詞進行が早くなってしまう。音高セレクタ５０によって任意の音高を指定することができても、文字の進行を戻したり、進めたりすることはできない。
【００５８】
（６）文字セレクタ６０ａの具体例
そこで、本実施形態にかかる鍵盤楽器１０のコントローラ１０ａには文字セレクタ６０ａが設けられており、音高セレクタ５０で予定外の操作が行われたとしても、ユーザが文字セレクタ６０ａを操作することによって、誤操作があつとしても、音声生成すべき出力対象文字グループを本来の楽曲進行に従う文字グループに戻すことができるように構成されている。また、ユーザが意図的に音高セレクタ５０と文字セレクタ６０ａを組み合わせて操作することによって、本来の楽曲進行を適宜変形したアドリブ演奏を行うことができるようにもなっている。
【００５９】
具体的には、図１Ａに示すように、文字セレクタ６０ａは、出力対象文字グループを、該歌詞文字列の進行順序に従って１文字グループ（１順位）だけ進めるための文字前進選択ボタンＭｃｆと、当該進行順序とは逆向きに１文字グループ（１順位）だけ戻すための文字後退選択ボタンＭｃｂとを備え、更に、出力対象文字グループを、該歌詞文字列の進行順序に従って１フレーズ単位で進めるためのフレーズ前進選択ボタンＭｐｆと、当該進行順序とは逆向きにフレーズ単位で戻すためのフレーズ後退選択ボタンＭｐｂとを備えている。なお、フレーズとは、複数の文字の連なりであり、各フレーズの区切りが当該歌詞文字列の文字情報３０ｂにおいて記述されることによって予めフレーズが定義されている。例えば、文字情報３０ｂにおいて、文字列の各文字コードの配列の途中において、フレーズの区切りであることを示すコード（例えば空白を示すコード等）が挿入されている。従って、ポインタｊの現在値に関して、その直前のフレーズの先頭の文字グループの順位、及びその直後のフレーズの先頭の文字グループの順位は、当該歌詞文字列の文字情報３０ｂが持つフレーズ定義から容易に判明する。なお、文字前進選択ボタンＭｃｆおよびフレーズ前進選択ボタンＭｐｆは、当該文字列の進行順序に従って１または複数文字だけ進めるための前進セレクタに相当し、文字後退選択ボタンＭｃｂとフレーズ後退選択ボタンＭｐｂは、前記進行順序とは逆向きに１または複数文字だけ戻すための後退セレクタに相当する。
【００６０】
（７）文字選択処理
図３Ｄに従い、ＣＰＵ２０が音声生成プログラム３０ａによって実行する文字選択処理の一例を説明する。文字選択処理は、文字セレクタ６０ａのいずれかの選択ボタンが操作されると（押し込み操作後に押し込み操作の解除が行われると）実行される。文字選択処理において、ＣＰＵ２０は、操作された文字セレクタ６０ａを判定する（ステップＳ２００）。具体的には、文字セレクタ６０ａの中の文字前進選択ボタンＭｃｆ、文字後退選択ボタンＭｃｂ、フレーズ前進選択ボタンＭｐｆ、フレーズ後退選択ボタンＭｐｂのいずれかが操作されると、各選択ボタンから操作した選択ボタンの種類および操作内容を示す信号が出力される。そこで、ＣＰＵ２０は、当該信号に基づいて操作された選択ボタンが文字前進選択ボタンＭｃｆ、文字後退選択ボタンＭｃｂ、フレーズ前進選択ボタンＭｐｆ、フレーズ後退選択ボタンＭｐｂのいずれであるのかを判定する。
【００６１】
操作された選択ボタンが文字前進選択ボタンＭｃｆである場合、ＣＰＵ２０は、出力対象文字グループの順位を１順位進める（ステップＳ２０５）。すなわち、ＣＰＵ２０は、ポインタｊの値を１インクリメントする。操作された操作子が文字後退選択ボタンＭｃｂである場合、ＣＰＵ２０は、出力対象文字グループの順位を１順位戻す（ステップＳ２１０）。すなわち、ＣＰＵ２０は、ポインタｊの値を１デクリメントする。
【００６２】
操作された操作子がフレーズ前進選択ボタンＭｐｆである場合、ＣＰＵ２０は、出力対象文字グループの順位を１フレーズ進める（ステップＳ２１５）。すなわち、ＣＰＵ２０は、当該歌詞文字列の文字情報３０ｂを参照し、現在の出力対象文字グループよりも先（順位を示す数値が大きい）の順位の文字グループ間に存在する最も近いフレーズの区切りを検索する。そして、当該区切りが検出された場合、ＣＰＵ２０は、当該区切りの次に位置する文字グループの順位（つまり、直後のフレーズの先頭の文字グループの順位）を示す数値を、ポインタｊにセットする。
【００６３】
操作された操作子がフレーズ後退選択ボタンＭｐｂである場合、ＣＰＵ２０は、出力対象文字グループの順位を１フレーズ戻す（ステップＳ２２０）。すなわち、ＣＰＵ２０は、当該歌詞文字列の文字情報３０ｂを参照し、現在の出力対象文字グループよりも前（順位を示す数値が小さい）の順位の文字グループ間に存在する最も近いフレーズの区切りを検索する。そして、当該区切りが検出された場合、ＣＰＵ２０は、当該区切りの次に位置する文字グループの順位（つまり、直前のフレーズの先頭の文字グループの順位）を示す数値を、ポインタｊにセットする。
【００６４】
このようにしてユーザによる文字セレクタ６０ａの操作に応じてポインタｊの値を適宜進める又は戻すのとほぼ同時に又はその直後の適切なタイミングで、ユーザが音高セレクタ５０を操作することにより適宜の音高を指定すると、ＣＰＵ２０は、前記図３Ｂの処理を実行し、前記ステップＳ１０３においてＹＥＳと判定される。これにより、前述したステップＳ１０４以降の処理が実行され、前記文字セレクタ６０ａの操作に応じて指定された文字グループ（１または複数文字）に対応する音声が生成され出力される。すなわち、文字前進選択ボタンＭｃｆが操作された場合は（Ｓ２０５）１順位進められた文字グループの音声が生成され、文字後退選択ボタンＭｃｂが操作された場合は（Ｓ２１０）１順位戻された文字グループの音声が生成され、フレーズ前進選択ボタンＭｐｆが操作された場合は（Ｓ２１５）次のフレーズの先頭の文字グループの音声が生成され、フレーズ後退選択ボタンＭｐｂが操作された場合は（Ｓ２２０）直前のフレーズの先頭の文字グループの音声が生成される。こうして、文字セレクタ６０ａのユーザ操作に応じて適宜修正された又はアドリブ演奏される歌詞文字の音声が生成される。
【００６５】
（８）誤操作の修正例
このように、音声生成する文字グループの順序を文字セレクタ６０ａの操作によって修正することができると、音高セレクタ５０による音高指定操作を誤った場合であっても、音声生成する文字グループの順序を、楽曲進行に沿う適正な順序に戻すことができる。図２Ｂは、図２Ａと同様の曲を演奏する過程で音高セレクタ５０による操作を誤った場合の例及びこの誤操作を修正する例を示している。具体的には、図２Ｂに示す例においては、時刻ｔ5〜ｔ6の期間においてドの音高音高セレクタ５０のみを操作すべきところ、ユーザがドの音高の音高セレクタ５０に対する押し込み操作を行った直後（時刻ｔ0）において、ドの音高の音高セレクタ５０に対する押し込み操作を解除してレの音高の音高セレクタ５０の押し込み操作を行ってしまった場合の例を示している。
【００６６】
このような場合、本実施形態においては音高セレクタ５０の操作に同期して出力対象文字グループの順位が変化するため、図２Ｂに示すように、時刻ｔ5からＬ5の文字グループに対応する音声の生成が開始された後、時刻ｔ0からはＬ5の文字グループに対応する音声の生成が終了するとともにＬ6の文字グループに対応する音声の生成が開始される。従って、誤った音高の音声が出力されるのみならず、以後の歌詞文字が不適切に進行してしまう。しかし、このような場合であっても、本実施例によれば、ユーザが、例えば、時刻ｔbにおいて文字後退選択ボタンＭｃｂを操作すれば、出力対象文字グループが１順位戻される。従って、ユーザが再度時刻ｔ9においてドの音高セレクタ５０を操作すれば、適正なＬ5の文字グループに対応する音声が適正な音高（ド）で出力される。従って、音高セレクタ５０による音高指定操作の誤りを適正に修正することができる。また、前述のように、図６Ｂの例において、順位１，２，３の歌詞「some- times I」を歌唱させる小節において、シ、ド、＃ド、の３つの音高を順次指定すべきところを、シ、ド、＃ド、＃ド、と誤操作した場合は、すぐに文字後退選択ボタンＭｃｂを１回操作すれば、次の小節の先頭から正しい歌詞音節「won-」が始まるように修正できる。
【００６７】
以上の構成によれば、ユーザは、文字セレクタ６０ａを操作することにより、文字情報が示す順序に従って１文字グループずつ、または、フレーズ単位で出力対象文字グループを変化させることができる。従って、簡易な構成によって出力対象文字グループを修正することができ、ユーザが歌詞文字列の順序を正しく記憶していれば、ブラインドタッチによって出力対象文字グループの修正を行うことも可能になる。
【００６８】
さらに、以上の構成においては、音高セレクタ５０に対する操作に同期して出力対象文字グループに対応する音声が生成され、その後に出力対象文字グループの順位を指示するポインタｊがインクリメントされる。従って、音高セレクタ５０に対する操作に応じて音声が生成されると、その音声に係る文字グループの次の順位の文字グループが出力対象となる。このため、ユーザは、現時点で出力された音声を聞くことで、歌唱音声の進行状況を把握することができるので、現時点で何らかの文字セレクタ６０ａを操作した場合、次にどのような歌詞文字の音声を発生させることができるかが容易に把握できる。例えば、文字後退選択ボタンＭｃｂを操作すれば、出力対象文字グループを１順位戻すことにより、現在出力中の音声（または出力が完了した音声の中で最後に出力された音声）に係る文字グループを再度出力対象文字グループとすることができると認識することができる。従って、ユーザは、聴覚によって取得した情報に基づいて文字セレクタ６０ａを操作することにより出力対象文字グループを変化させることができ、ブラインドタッチによって出力対象文字グループの修正を行うことがより容易になる。
【００６９】
（９）音声制御処理
さらに、本実施形態においては、鍵盤楽器１０の楽器としての性能を高めるため、ユーザが音声制御操作子６０ｂを操作することによって、生成される音声の特徴を制御する（例えば音高を調整する）ことができるように構成されている。具体的には、音高セレクタ５０の操作に応じた音声の生成中に音声制御操作子６０ｂがユーザの指で操作されると、ＣＰＵ２０は、音声制御操作子６０ｂに対する指の接触位置を取得する。そして、ＣＰＵ２０は、当該接触位置に対して予め対応づけられた補正量を取得する。この補正量に応じて生成中の音声の特徴（音高、音量、音色等のいずれか）を制御する。
【００７０】
図４Ａは、ＣＰＵ２０が音声生成プログラム３０ａによって実行する音声制御処理の一例として、音声制御操作子６０ｂの操作に応じて音高を調整する例を示す。この音声制御処理は、音声制御操作子６０ｂが操作されると（指が接触すると）実行される。音声制御処理において、ＣＰＵ２０は、音声が生成中であるか否かを判定する（ステップＳ３００）。例えば、ＣＰＵ２０は、音高セレクタ５０から音高指定のための押し込み操作したことを示す信号が出力されたときから該押し込み操作が解除されたことを示す信号が出力される直前までの間において、音声が生成中であると判定する。ステップＳ３００において音声が生成中であると判定されなかった場合は、制御対象となる音声が存在しないため、ＣＰＵ２０は、音声制御処理を終了する。
【００７１】
ステップＳ３００において、音声が出力中であると判定された場合、ＣＰＵ２０は、接触位置を取得する（ステップＳ３０５）。すなわち、ＣＰＵ２０は、音声制御操作子６０ｂから出力される接触位置を示す信号を取得する。次に、ＣＰＵ２０は、補正量を取得する（ステップＳ３１０）。すなわち、ＣＰＵ２０は、音高セレクタ５０によって指定された音高を基準の音高とし、該基準の音高に対する補正量を音声制御操作子６０ｂに対する指の接触位置に基づいて取得する。
【００７２】
具体的には、音声制御操作子６０ｂは細長い矩形の面を指の接触の検出面として備えるセンサであり、少なくとも１次元的な操作位置（直線位置）を検出するように構成されている。一実施例において、音声制御操作子６０ｂの長辺方向の中央の位置が基準の音高の位置に対応しており、接触位置が音声制御操作子６０ｂの長辺方向の中央の位置から離れるほど音高の補正量が大きくなるように接触位置毎の補正量が予め決められている。また、音声制御操作子６０ｂの中央の位置を挟んで一方側の各接触位置には音高を高くする場合の補正量が対応づけられており、音声制御操作子６０ｂの中央の位置を挟んで他方側の各接触位置には音高を低くする場合の補正量が対応づけられている。
【００７３】
従って、音声制御操作子６０ｂの長辺方向の両端の位置が最も高い音高を示す位置および最も低い音高を示す位置になる。例えば、基準の音高から４半音分の補正を可能にする構成においては、音声制御操作子６０ｂの長辺方向の中央の位置が基準の音高が対応づけられ、長辺方向の一方の端部に基準の音高よりも４半音分高い音高が対応づけられ、当該一方の端部と中央の位置との中間の位置に基準の音高よりも２半音分高い音高が対応づけられる。音声制御操作子６０ｂの長辺方向の他方の端部に基準の音高よりも４半音分低い音高が対応づけられ、当該他方の端部と中央の位置との中間の位置に基準の音高よりも２半音分低い音高が対応づけられる。本実施形態においては、このように接触位置に補正後の音高が対応づけられているため、ＣＰＵ２０が、音声制御操作子６０ｂから接触位置を示す信号を取得すると、ＣＰＵ２０は、当該接触位置に対応する音高と基準の音高との間の周波数の差分を補正量として取得する。
【００７４】
次に、ＣＰＵ２０は、音高変換を行う（ステップＳ３１５）。すなわち、ＣＰＵ２０は、押し込み操作中の音高セレクタ５０により指定される音高、すなわち、ステップＳ３００において音声生成中の音高を基準の音高とし、ステップＳ３１０で取得された補正量に応じて、当該生成中の音声の音高調整（音高変換）を行う。具体的には、ＣＰＵ２０は、基準の音高で音声を出力するための音声素片データの波形が示すスペクトル分布を周波数軸方向に移動させる処理等により、補正後の音高で音声を出力するための音声素片データを生成する音高変換処理を実行する。さらに、ＣＰＵ２０は、音高変換処理後の音声素片データに基づいて音声信号を生成し、音出力部７０に対して出力する。この結果、音出力部７０から、音高が補正された後の音声が出力される。なお、上記例では、音声生成中に音声制御操作子６０ｂの操作を検出して補正量の取得や音高変換処理を行っているが、音声出力を開始する前に音声制御操作子６０ｂが操作され、その後、音高セレクタ５０が操作された場合に、音高セレクタ５０の操作に応じた音声の生成中に、当該音声の生成直前の音声制御操作子６０ｂの操作を反映させて補正量の取得や音高変換を行ってもよい。
【００７５】
（１０）歌唱アドリブ演奏及び音声制御の実例
図２Ｃは、図２Ａと同様の曲を演奏する過程で、文字セレクタ６０ａの操作による歌唱アドリブ演奏と音声制御操作子６０ｂの操作による音声制御とを組み合わせて行う例を示している。具体的には、図２Ｃにおいては、時刻ｔbにおいて文字セレクタ６０ａの文字後退選択ボタンＭｃｂに対する操作（押し込みおよび押し込み操作の解除）が２回行われた例を示している。図２Ｃに示す例においては、時刻ｔ4にてファの音高の音高セレクタ５０が操作されると、Ｌ4の文字グループに対応する音声がファの音高で生成されるようになり、かつ、ポインタｊによって指示される出力対象文字グループはＬ5となる。その後の時刻ｔbにおいて文字後退選択ボタンＭｃｂに対する操作が２回繰り返され、これに応じて、出力対象文字グループの順位が２順位戻されて、Ｌ3が出力対象文字グループとなる。
【００７６】
従って、次の時刻ｔ5にて音高セレクタ５０の操作によりミの音高が指定されると、文字グループＬ3に対応する音声がミの音高で生成される。この場合、文字グループＬ3に対応する音声の生成が開始されると、ポインタｊによって指示される出力対象文字グループはＬ3の次の順位のＬ4に変化する。当該文字グループＬ3に対応する音声の生成期間は、ミの音高を指定する音高セレクタ５０の押し込み操作開始時（時刻ｔ5）から押し込み操作が解除される時（時刻ｔ6）までの期間である。そして、時刻ｔ6にて音高セレクタ５０の操作によりファの音高が指定されると、Ｌ4の出力対象文字グループに対応する音声がファの音高で生成される。
【００７７】
この例において、曲の構成通りに演奏する場合、時刻ｔ5〜時刻ｔ7の期間において文字グループＬ5，Ｌ6が示す音声をド，レの音高で出力すべきであるが、図２Ｃに示す例では時刻ｔ5〜時刻ｔ7の期間において文字グループＬ3，Ｌ4が示す音声をミ，ファの音高で出力している。これらの文字グループおよび音高は、その直前の時刻ｔ3〜時刻ｔ5における文字グループおよび音高であり、時刻ｔ5〜時刻ｔ7の期間においても同様の歌詞および音高を繰り返していることになる。このような演奏例は、文字グループＬ3，Ｌ4が示す音声をミ，ファの音高で出力する部分が曲のサビであり、メインボーカルの歌唱に続けて同じ内容を繰り返すコーラスを入れる場合など、演奏の過程で盛り上がった場合等に利用される。このようにして、歌唱アドリブ演奏を適宜行うことができる。
【００７８】
さらに、このような場合、同じ歌詞文字を繰り返しているとしても、最初の時刻ｔ5〜時刻ｔ7の期間において繰り返される歌唱音声の状態が、次の時刻ｔ3〜時刻ｔ5の期間における歌唱音声の状態とは異なる方が演奏の完成度が高まる場合が多い。本実施形態においては、鍵盤楽器１０は音声制御操作子６０ｂを備えているため、ユーザは、当該音声制御操作子６０ｂを操作することによって繰り返し演奏の１回目と２回目で歌唱音声の状態を変化させることが容易にできる。
【００７９】
図２Ｃにおいては、繰り返し演奏である時刻ｔ5〜時刻ｔ7の期間において音高を上下に変化させるビブラートを行っている。すなわち、ユーザは、時刻ｔc1〜時刻ｔ6の間および、時刻ｔc2〜時刻ｔ7の間において、音声制御操作子６０ｂに指が触れた状態で音声制御操作子６０ｂの長手方向の中央の位置を中心に接触位置を図１Ａに示す左右方向に移動させた。この場合、図２Ｃに示すように、時刻ｔc1〜時刻ｔ6の間において、文字グループＬ3を示す音声がミの音高を中心に上下に揺れ、文字グループＬ4を示す音声がファの音高を中心に上下に揺れる。従って、ユーザは、繰り返し演奏の１回目と２回目で同一の歌詞部分音声を異なる制御態様で演奏することができる。このように、ユーザは、歌詞の修正と音声の制御とを柔軟に行うことができる。また、同一の歌詞部分を、抑揚を変えて複数回演奏することも可能である。従って、文字に基づく音声の表現の幅を広げることが可能である。
【００８０】
なお、図２Ｃに示す例においては、アドリブ演奏として行った歌詞の繰り返し部分が終了した場合に歌詞文字の順序を本来の進行位置まで移動する（時刻ｔ7で発音すべき文字グループをＬ7に設定する）ため、ユーザは、文字前進選択ボタンＭｃｆを操作する必要がある。図２Ｃにおいては、ユーザが時刻ｔfにおいて文字前進選択ボタンＭｃｆに対する操作（押し込み操作と押し込み操作の解除）を２回行った例を示している。すなわち、時刻ｔ6における音高セレクタ５０の操作で出力対象文字グループはＬ5になっているため、時刻ｔfにおいてユーザが文字前進選択ボタンＭｃｆを２回操作すれば出力対象文字グループがＬ7となる。この結果、ユーザが、時刻ｔ7においてミの音高の音高セレクタ５０を操作すれば、文字Ｌ7が示す音声がミの音高で出力され、元の歌詞文字の順序および音高に戻って曲を進行させることができる。
【００８１】
なお、時刻ｔfにおいて、ユーザは、文字前進選択ボタンＭｃｆと音声制御操作子６０ｂとを同時に操作する必要があるが、本実施形態にかかるコントローラ１０ａを利用すれば、文字前進選択ボタンＭｃｆと音声制御操作子６０ｂとを同時に操作することが容易に行える。すなわち、本実施形態にかかるコントローラ１０ａにおいては、ユーザから見たグリップの前方の面を構成する平面に音声制御操作子６０ｂが設けられ、グリップの上方および後方を構成する平面の間に文字前進選択ボタンＭｃｆが設けられている。従って、ユーザは、図１Ｂに示すように、グリップＧを片手で握りながら文字前進選択ボタンＭｃｆを親指、音声制御操作子６０ｂを他の指（人差し指等）で操作することができ、両操作子を同時に操作することができる。
【００８２】
なお、以上のように、音声制御操作子６０ｂが設けられていることにより、より多様なバリエーションで歌唱音声を演奏することが可能になる。例えば、本実施形態のように、１個の音高セレクタ５０が１回操作されるたびに文字グループの順序が進行する構成であっても、１個の文字グループが示す音声を連続する２以上の音高で生成させることが可能になる。例えば、文字グループＬ1をド、文字グループＬ2をレ、文字グループＬ3をミおよびファ、文字グループＬ4をド、文字グループＬ5をレ、文字グループＬ6をミという順に演奏する歌を想定する。この場合、ユーザは、図２Ｄに示す時刻ｔ1，ｔ2，ｔ3のそれぞれで、ド，レ，ミの音高セレクタ５０を操作し、時刻ｔｃにおいて音声制御操作子６０ｂによって基準の音高であるミの音高を半音分、つまりファまで上昇させる操作を行う。この結果、文字グループＬ1が示す音声がドの音高で生成され、文字グループＬ2が示す音声がレの音高で生成され、文字グループＬ3が示す音声がミの音高で生成された後にファの音高で生成される。この後、ユーザが、時刻ｔ5，ｔ6，ｔ7のそれぞれで、ド，レ，ミの音高セレクタ５０を操作すれば、文字グループＬ4が示す音声がドの音高で出力され、文字グループＬ5が示す音声がレの音高で出力され、文字グループＬ6が示す音声がミの音高で出力される。このように、本実施形態によれば、ユーザは、１個の文字グループが示す音声を連続する２以上の音高で出力させることが可能である。なお、以上の構成において、ミからファへの音高の変化は、ユーザが音声制御操作子６０ｂを操作する速度に応じて連続的に行われる。従って、人の声で歌っている場合の音声により近い音声を生成することができる。
【００８３】
以上の構成によれば、ユーザは、コントローラ１０ａを利用して、文字に基づく音声を多様な表現で生成するように指示することが可能である。さらに、ユーザが鍵盤楽器１０を演奏し、音声を出力している過程において、ユーザは曲の盛り上がりに応じてコーラスやサビなどの任意の歌詞を繰り返すとともに抑揚を変化させるなど、歌詞の修正と音声の発生態様の制御とを柔軟に行うことができる。また、歌詞の修正によって同一の歌詞が繰り返される場合において、発生態様を制御することにより、同一の歌詞の抑揚を変化させることも可能である。従って、文字に基づく音声の表現の幅を広げることが可能である。
【００８４】
（１１）リピート機能
本実施形態においては、さらに、より多様な手法で容易に歌詞のアドリブ演奏をできるようにするため、ユーザがリピート操作子６０ｃを操作することによって、リピート対象とする文字グループの範囲（開始および終了）を指示できるように構成されている。具体的には、リピート操作子６０ｃに対する押し込み操作が行われると、ＣＰＵ２０は、リピート対象の文字グループの選択を開始する。また、ＣＰＵ２０は、リピート操作子６０ｃに対する押し込み操作が解除されるとリピート対象の文字グループの選択を終了する。ＣＰＵ２０は、リピート操作子６０ｃが押されている間において選択された文字グループの範囲をリピート対象として設定する。
【００８５】
まず、リピート対象を選択する処理の一例について、図４Ｂを参照して説明する。図４Ｂに示すリピート対象選択処理は、リピート操作子６０ｃに対する押し込み操作が行われると実行される。図２Ｅは、図２Ａと同様の曲を演奏する過程でリピート対象の文字を設定し、リピート対象の文字を繰り返す演奏が行われた場合の例を示している。具体的には、図２Ｅにおいては、時刻ｔsにおいてリピート操作子６０ｃに対する押し込み操作が行われ、時刻ｔeにおいてリピート操作子６０ｃに対する押し込み操作を解除する操作が行われ、時刻ｔtにおいてリピート操作子６０ｃに対する押し込み操作が行われた例を示している。
【００８６】
以下においては、当該図２Ｅを参照しながらリピート対象選択処理を説明する。この例においては、時刻ｔsにおけるリピート操作子６０ｃに対する押し込み操作をトリガにしてリピート対象選択処理の実行が開始される。当該リピート対象選択処理において、ＣＰＵ２０は、リピート機能がオフであるか否かを判定する（ステップＳ４００）。すなわち、ＣＰＵ２０は、ＲＡＭ４０に記録されたリピートフラグを参照し、リピート機能がオフであるか否かを判定する。
【００８７】
ステップＳ４００において、リピート機能がオフであると判定された場合、ＣＰＵ２０は、リピート機能をオンにする（ステップＳ４０５）。すなわち、本実施形態においては、リピート機能がオフの状態でユーザがリピート操作子６０ｃの押し込み操作を行うと、ＣＰＵ２０は、リピート機能がオンの状態に切り替えられたと見なし、ＲＡＭ４０に記録されたリピートフラグをリピート機能がオンであることを示す値に書き換える。そして、ＣＰＵ２０は、リピート機能がオンになった後においては、リピート操作子６０ｃの押し込み操作が解除されるまでの期間においてリピート対象となる文字グループの範囲を設定するための処理を行う。
【００８８】
次に、ＣＰＵ２０は、出力対象文字グループをリピート対象の最初の文字グループとして設定する（ステップＳ４１０）。すなわち、ＣＰＵ２０は、ポインタｊの現在値を取得し、リピート対象の最初の文字グループの順位を示す数値としてＲＡＭ４０に記録する。ポインタｊの現在値によって指示される出力対象文字グループは、次の発音機会（次に音高セレクタ５０が操作されたとき）に生成される音声を示す。例えば、図２Ｅに示す例では、時刻ｔ2における音高セレクタ５０への操作によって文字グループＬ2に対応する音声の生成が開始されるとともに、出力対象文字グループがＬ3に更新される。従って、時刻ｔsにおけるリピート操作子６０ｃの押し込み操作に応じてステップＳ４１０が実行されると、ポインタｊによって指示される文字グループＬ3がリピート対象の最初の文字グループに設定される。
【００８９】
次に、ＣＰＵ２０は、リピート操作子６０ｃの押し込み操作が解除されたと判定されるまで待機する（ステップＳ４１５）。当該待機中であっても、ＣＰＵ２０は、音高セレクタ５０に対する操作に応じて上述の音声生成処理（図３Ｂ及び図３Ｃ）を実行する。従って、音高セレクタ５０が操作されると、当該操作に同期して出力対象の文字は文字情報３０ｂが示す順序に従って進行する。例えば、時刻ｔsより後の時刻ｔ3，ｔ4で音高セレクタが操作されると、出力対象文字グループはＬ4，Ｌ5に変化する。
【００９０】
ステップＳ４１５において、リピート操作子６０ｃの押し込み操作が解除されたと判定されると、ＣＰＵ２０は、出力対象文字グループの１個前の文字グループをリピート対象の最後の文字グループとして設定する（ステップＳ４２０）。すなわち、ＣＰＵ２０は、ポインタｊの現在値を取得し、当該数値から１減じた数値（ｊ−１）を、リピート対象の最後の文字グループの順位を示す数値としてＲＡＭ４０に記録する。ｊ−１によって指示される出力対象文字グループの１個前の文字グループは、現在生成中の音声または生成済みの最後の音声に対応している。
【００９１】
例えば、図２Ｅに示す例では、時刻ｔ4における音高セレクタ５０への操作によって文字グループＬ4に対応する音声の生成が開始されるとともに、出力対象文字グループがＬ5に更新される。従って、時刻ｔeにおけるリピート操作子６０ｃの押し込み操作の解除に応じてステップＳ４２０が実行されると、生成中の音声を示す文字グループＬ4がリピート対象の最後の文字グループとして設定される。従って、図２Ｅに示す例においては、リピート対象の最初の文字グループがＬ3であり、リピート対象の最後の文字グループがＬ4となり、リピート対象が文字グループＬ3，Ｌ4の範囲に設定されることになる。このようにリピート対象の文字グループ範囲が設定されることに応じて、後述するように、リピート対象の文字グループ範囲の音声を，該リピート機能がオフにされるまで、１乃至複数回繰り返すことができる。従って、ユーザ所望の回数だけリピート対象の文字グループ範囲の音声を繰り返すことが可能になる。このため、図２Ｅに示すようにリピート対象の文字が示す音声を１回繰り返す（同一の歌詞を２回繰り返す）演奏のみならず、ライブ演奏の際などに観客の盛り上がりに応じて特定のフレーズを何度も繰り返すといった使い方が可能になる。
【００９２】
上記のようにリピート対象たる文字グループの範囲が設定されると、ＣＰＵ２０は、リピート対象の最初の文字グループを出力対象文字グループとして設定する（ステップＳ４２５）。すなわち、ＣＰＵ２０は、ＲＡＭ４０を参照してリピート対象の最初の文字グループの順位を示す数値を取得し、当該数値を、ポインタｊにセットする。これにより、音高セレクタ５０の操作に応じて次に音高指定情報を取得したとき、リピート対象の最初の文字グループに対応する音声が生成されることになる。
【００９３】
次に、上記のように選択されたリピート対象の文字グループ範囲の音声を繰り返し生成する処理の一例について図３Ｂを参照して説明する。前記ステップＳ４２５の処理が行われた後に、音高セレクタ５０による音高指定操作がなされると、ＣＰＵ２０は、図３ＢのステップＳ１０３のＹＥＳからステップＳ１０４に行き、指定された音高を示す音高指定情報を取得する。そして、ステップＳ１０５において、ポインタｊによって指示される順位の文字グループ（つまり、リピート対象の最初の文字グループ）に対応する音声を、該指定された音高で生成する。次に、ステップＳ１０６において、ＣＰＵ２０は、リピート機能がオンであるか否かを判定する。この場合、リピート機能がオンされているので、ステップＳ１０６はＹＥＳであり、ステップＳ１１０に進む。
【００９４】
ステップＳ１１０において、ＣＰＵ２０は、ポインタｊが示す出力対象文字グループがリピート対象の最後の文字グループであるか否かを判定する。リピート対象の最後の文字グループでなければ、ステップＳ１１０のＮＯから前記ステップＳ１２０に進み、ポインタｊの値を１増加する。
【００９５】
こうして、音高セレクタ５０による音高指定操作がなされる毎に図３Ｂの処理が行われ、リピート対象の最後の文字グループに達するまで、ステップＳ１１０のＮＯから前記ステップＳ１２０に進む経路の処理が繰り返される。リピート対象の最後の文字グループに達すると、ステップＳ１１０はＹＥＳと判定され、ステップＳ１１５に進む。ステップＳ１１５では、ポインタｊの値を、リピート対象の最初の文字グループの順位にセットする。その後、音高セレクタ５０による音高指定操作がなされると、前記ステップＳ１０５の処理により該最初の文字グループに対応する音声が再び生成される。こうして、リピート対象の最初から最後の文字グループまでの音声を、音高指定操作がなされる毎に順次生成し、それから、最初の文字グループに戻って音声生成を繰り返す。リピート機能がオンされている限り、このようなリピート音声生成処理が繰り返される。
【００９６】
オンされているリピート機能をオフするためには、リピート操作子６０ｃをもう一度押し込み操作する。これに応じて、図４Ｂの処理が行われ、リピート機能がオンであるため、ステップＳ４００ではＮＯと判定され、ステップＳ４３０に進む。ステップＳ４３０では、リピート機能をオフにする。すなわち、ＣＰＵ２０は、リピート機能がオンの状態でユーザがリピート操作子６０ｃの押し込み操作を行うと、リピート機能がオフの状態に切り替えられたと見なし、ＲＡＭ４０に記録されたリピートフラグをリピート機能がオフであることを示す値に書き換える。
【００９７】
次に、ＣＰＵ２０は、リピート対象の文字グループ範囲の設定をクリアする（ステップＳ４３５）。すなわち、ＣＰＵ２０は、リピート対象の最初の文字グループ及び最後の文字グループの順位を示す数値をＲＡＭ４０から消去する。なお、一実施例として、リピート機能がオフにされた場合であっても、ポインタｊの値つまり出力対象文字グループは変化させないようにしている。従って、例えば、図２Ｅに示す例において、時刻ｔtにおいてリピート操作子６０ｃに対する押し込み操作が行われたことに応じてリピート機能がオフになった場合、出力対象文字グループはＬ5のままである。
【００９８】
ユーザは、リピート操作子６０ｃに対する押し込み操作を行う際に出力されている音声（図２Ｅに示す例では、Ｌ4の音声）を聴いて、出力対象文字グループ（図２Ｅに示す例では、Ｌ5）を把握することができるため、次の発音タイミングまでの間に文字セレクタ６０ａを操作することで、所望の文字グループを出力対象文字グループとして設定することができる。
【００９９】
例えば、ユーザが、時刻ｔ7より前のタイミングにおいて文字前進選択ボタンＭｃｆを２回操作することで、出力対象を文字グループＬ7に設定することができる。この場合、時刻ｔ7においてユーザが音高セレクタ５０を操作すれば、文字グループＬ7が示す音声が出力される。また、文字情報３０ｂにおいて、文字グループＬ6と文字グループＬ7との間がフレーズの区切りに設定されている場合、ユーザが、時刻ｔ7より前のタイミングにおいてフレーズ前進選択ボタンＭｐｆを１回操作することで、出力対象文字グループをＬ7に設定することができる。この場合も、時刻ｔ7においてユーザが音高セレクタ５０を操作すれば、文字グループＬ7に対応する音声が出力される。
【０１００】
なお、ステップＳ４３５において行う処理の変形例として、ＣＰＵ２０が、ポインタｊの値を自動で本来の進行位置まで移動させるようにしても良い。具体的には、ＣＰＵ２０が、リピート演奏中においてリピートがなされていないと仮定する基準ポインタを音高指定操作に応じて順次進行させるように構成すればよい。例えば、図２Ｅに示す例において、時刻ｔtにおいてリピート操作子６０ｃに対する押し込み操作（リピート機能オフ）が行われたことに応じてステップＳ４３５が実行された場合、ＣＰＵ２０は、前記基準ポインタによって、ポインタｊによって指示されるべき出力対象文字グループがＬ7であると特定する。なお、前記基準ポインタに限らず、リピート機能オフ時にポインタｊの値を本来の進行位置まで自動的に移動させるための手法は、種々のものを採用し得る。例えば、ＣＰＵ２０が、リピート機能がオンである期間中における音高操作子５０の操作回数をカウントし、該カウント値とリピート開始時のポインタｊの値とを使用して、リピート終了時のポインタｊの値を修正するようにしてよい。
【０１０１】
なお、リピート操作子６０ｃによる操作と音声制御操作子６０ｂによる音声制御とを組み合わせると、多様な演奏を行うことが可能である。例えば、文字セレクタ６０ａを利用することなく図２Ｃと同様の演奏を行うことが可能である。図２Ｆは、リピート操作子６０ｃと音声制御操作子６０ｂとを利用して図２Ｃと同様の演奏を行う場合の例を示す図である。具体的には、図２Ｆにおいては、時刻ｔsにおいてリピート操作子６０ｃに対する押し込み操作が行われ、時刻ｔeにおいてリピート操作子６０ｃに対する押し込み操作を解除する操作が行われ、時刻ｔc1〜時刻ｔ6の間および、時刻ｔc2〜時刻ｔ7の間において、音声制御操作子６０ｂでビブラートがかけられ、時刻ｔtにおいてリピート操作子６０ｃに対する押し込み操作が行われた例を示している。このような操作が行われると、図２Ｃと同様に文字グループＬ3，Ｌ4を２回繰り返し、２回目にビブラートがかけられた状態で演奏が行われる。
【０１０２】
以上の構成によれば、ＣＰＵ２０は、リピート操作子６０ｃに対する操作に応じて、任意に設定したリピート対象の文字グループ範囲に対応する音声を繰り返し生成する。また、本実施形態においては、ユーザの指示（音高セレクタ５０の操作）に応じてリピート対象の文字が示す音声の繰り返しタイミングを制御することができる。また、ユーザが歌詞文字列中の任意の文字範囲をリピート対象に指定してその音声を繰り返して出力させることができるため、楽器演奏の習熟や記憶等のために同一箇所の演奏を繰り返す際に、ユーザは、容易にリピート範囲を指定することができ、繰り返し演奏を行わせることができる。また、楽器演奏に限らず、例えば外国語の習得等のために、このリピート機能を利用することも可能であり、例えば、外国語等のリスニング学習のために、所望の文字範囲を繰り返し音声発生させることができる。さらに、文字情報３０ｂを作成する際に、リピートされる２回目以降の文字群の作成は省略することもできる。従って、文字情報３０ｂの作成作業を簡略化し、また、文字情報３０ｂの容量を低減することができる。さらに、音声生成装置によって文字情報３０ｂに基づいて音声を生成している過程において、文字情報３０ｂとして定義された所定の順序の文字列から任意の部分を選択してリピートさせることができるため、文字列の既存の順序を修正して音声生成を行うことが可能である。なお、文字列の既存の順序の修正の態様としては、種々の態様が想定される。例えば、輪唱を行ったり、曲の中の盛り上がる部分（サビ）を繰り返したり、「ラララ」などのスキャットを繰り返したり、演奏難易度の高い部分を練習のために繰り返したりする態様等があり得る。さらに、本実施形態においては、１個の押しボタン式スイッチであるリピート操作子６０ｃによって、リピート対象の文字範囲の指定と、リピート演奏の開始およびと終了の指示を行うことができる。従って、極めて簡易な操作によってリピート対象の文字範囲の指定とリピート演奏タイミングの制御とを行うことが可能になる。また、少ない操作でリピートに関する制御を行うことが可能になる。さらに、利用者は、音出力部７０から順次出力される音声を聞くことによって、リアルタイムにリピート対象の文字を選択することができる。従って、視覚に頼ることなくリピート対象の文字を選択することができる。
【０１０３】
（１２）他の実施形態：
以上の実施形態は本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。例えば、コントローラ１０ａの形状は、図１Ａに示す態様に限定されない。図５（Ａ）〜（Ｅ）は、コントローラ１０ａのグリップＧの種々の形状について、該グリップＧの一端から見た図である。これらの図に示すように、グリップＧの断面は、多角形（図５（Ａ）は平行四辺形、（Ｂ）は三角形、（Ｅ）は長方形の例）であってもよいし、閉曲線（図５（Ｃ）は楕円の例）、直線と曲線で構成される図形（図５（Ｄ）は半円の例）であってもよい。むろん、断面の形状や大きさが切断位置によらず一定である必要もなく、本体１０ｂに近づくにつれ断面積や曲率が変化するように構成してもよい。
【０１０４】
なお、グリップＧにおいては、文字セレクタ６０ａまたはリピート操作子６０ｃを任意の指で操作した場合に、他の指で音声制御操作子６０ｂが操作可能な位置にこれらの操作子が形成されていれば良い。このためには、グリップＧを片手で握った場合に指が配置される部分に文字セレクタ６０ａ（またはリピート操作子６０ｃ）と音声制御操作子６０ｂとを形成する構成を採用可能である。例えば、図５（Ａ），（Ｂ），（Ｄ），（Ｅ）に示すように、同一平面上ではなく、異なる面上に文字セレクタ６０ａ（またはリピート操作子６０ｃ）と音声制御操作子６０ｂとが形成される構成を採用可能である。この構成であれば、文字セレクタ６０ａ（またはリピート操作子６０ｃ）と音声制御操作子６０ｂとに対する誤操作が抑制されるとともに、ユーザは、これらの操作子の同時操作を容易に行うことが可能である。
【０１０５】
さらに、ユーザがグリップを片手で握りながら安定的に保持するためには、文字セレクタ６０ａ（またはリピート操作子６０ｃ）と音声制御操作子６０ｂとが、グリップＧの重心を挟んだ反対側に位置する２面（例えば、図５（Ａ），（Ｅ）において前方および後方を構成する面）に存在しないことが好ましい。この構成によれば、グリップＧを握る動作に伴って、ユーザが文字セレクタ６０ａ（またはリピート操作子６０ｃ）や音声制御操作子６０ｂに対して誤操作することを抑制することができる。
【０１０６】
さらに、コントローラ１０ａと本体１０ｂとの接続態様は、図１Ａに示す態様に限定されない。例えば、コントローラ１０ａと本体１０ｂとの接続箇所は１カ所に限定されず、Ｕ字状の部材などの屈曲した柱状の部材でコントローラ１０ａが構成され、柱状の部材の両端が本体１０ｂに接続されるとともに柱状の部材の一部がグリップとなる構成等を採用可能である。さらに、コントローラ１０ａが鍵盤楽器１０から脱着可能であっても良い。この場合、コントローラ１０ａの操作子の操作出力は有線または無線通信によって本体１０ｂのＣＰＵ２０に伝達される。
【０１０７】
さらに、本発明の適用対象は、鍵盤楽器１０に限定されず、音高セレクタ５０を備えた他のタイプの電子楽器であってもよい。また、作成済みの音高情報（ＭＩＤＩ情報等）に従って、文字情報３０ｂで定義された歌詞を自動的に歌唱させる歌唱音声生成装置であってもよいし、録音情報や録画情報の再生装置であってもよい。その場合、ＣＰＵ２０は、自動演奏シーケンスに従って自動的に再生される音高指定情報（ＭＩＤＩイベント等）を取得し、該取得した音高指定情報（ＭＩＤＩイベント等）によって指定される音高で、ポインタｊによって指示される文字グループの音声を生成し、かつ、該取得した音高指定情報（ＭＩＤＩイベント等）に応じてポインタｊの値を進めるようにしてよい。そのような自動演奏方式の音高指定情報を取得する実施例においては、文字セレクタ６０ａが操作されたとき、自動演奏シーケンスに従う音高指定情報の取得を一時中断し、それに代えて、ユーザ操作に応じて音高セレクタ５０から与えられる音高指定情報を取得し、該取得した音高指定情報に従う音高で、文字セレクタ６０ａの操作によって変更されたポインタｊによって指示される文字グループの音声を生成するようにしてよい。自動演奏シーケンスに従って音高指定情報を取得する実施例における別の例としては、文字セレクタ６０ａが操作されたとき、該文字セレクタ６０ａの操作に応じたポインタｊの値の変更に応じて自動演奏の進行を変更する（進める又は戻す）ように構成し、こうして変更された自動演奏の進行に従って自動的に生成される音高指定情報を取得し、該取得した音高指定情報に従う音高で、文字セレクタ６０ａの操作によって変更されたポインタｊによって指示される文字グループの音声を生成するようにしてよい。そのような場合は、音高セレクタ５０は不要である。また、ユーザ操作によって音声生成（出力）タイミングを指示する場合でも、そのための指示手段は、音高セレクタ５０に限定されず、他の適宜のスイッチ等であっても良い。例えば、生成すべき音声の音高を示す情報は曲の自動シーケンスデータから取得し、その発音タイミングはユーザによる適宜のスイッチの操作に応じて指定されるような構成であってもよい。
【０１０８】
さらに、音声制御操作子６０ｂに基づいて音高を変化させるための構成は、上述の実施形態以外にも種々の構成を採用可能である。例えば、ＣＰＵ２０が、音声制御操作子６０ｂにおける接触位置に基づいて基準の音高からの音高の変化率を取得し、当該変化率に基づいて音高を変化させる構成であっても良い。さらに、基準の音高で音声が出力されている状態において、ＣＰＵ２０が、音声制御操作子６０ｂに対してユーザが最初に触れた位置が基準の音高であるとみなし、当該位置から接触位置が変化した場合に両位置の距離に基づいて音高の補正量や音高の変化率を特定しても良い。
【０１０９】
この場合、単位距離当たりの音高の補正量や音高の変化率は予め特定される。この状態において、ＣＰＵ２０は、ユーザが最初に触れた位置からの接触位置の変化距離を取得する。さらに、ＣＰＵ２０は、当該変化距離を単位距離で除した値に単位距離当たりの音高の補正量や音高の変化率を乗じることで変化量や変化率を特定する。さらに、音声制御操作子６０ｂに対する接触位置ではなく、ＣＰＵ２０が、音声制御操作子６０ｂの接触位置の変化（移動速度等）に基づいて音高の補正量や音高の変化率を特定する構成であっても良い。むろん、音声制御操作子６０ｂによって変化させることが可能な音高の幅は、上述の例以外にも種々の例（例えば、１オクターブ分）を採用可能である。また、ユーザの指示等によって当該幅が可変であってもよい。さらに、ユーザの指示等によって、音高、音量、音声の性質（発音者の性別や音声の特性等）等の中から音声制御操作子６０ｂによる制御対象が選択可能であっても良い。
【０１１０】
なお、音声制御操作子６０ｂは、文字セレクタ６０ａを設けたグリップＧ上に配置することなく、該文字セレクタ６０ａを設けたグリップＧから分離して配置してもよい。例えば、鍵盤楽器１０の本体１０ｂの入出力部６０に設けられている既存の楽音制御操作子を、音声制御操作子６０ｂとして使用するようにしてもよい。
【０１１１】
文字情報３０ｂの取得手法は、上述したものに限らない。例えば、文字情報３０ｂが記録された外部の記録媒体から有線又は無線通信を介して鍵盤楽器１０内に取り込むようにしてもよい。あるいは、リアルタイムに歌われている歌唱音声をマイクロホンでピックアップして鍵盤楽器１０内のＲＡＭ４０にバッファ記憶し、バッファ記憶したオーディオ波形データに基づいて文字情報３０ｂを取得するようにしてもよい。
【０１１２】
また、歌詞等のあらかじめ規定された文字列を定義する文字情報３０ｂは実質的に複数の文字および各文字の順序を定義し得る情報であればよく、そのデータ表現形式は、テキストデータ、画像データ、オーディオデータなど、どのようなデータ表現からなっていてもよい。例えば、文字に相当する音節の時系列の変化を指示するコード情報で表現されても良いし、時系列のオーディオ波形データで表現されても良い。文字情報３０ｂにおける文字列がどのようなデータ表現形式からなるものであっても、要は、該文字列内の各文字グループ（音節に対応する１又は複数の文字）がそれぞれ個別に識別されうるようにコード化されていればよく、そのようなコードに従って音声信号を生成しうるように構成されていればよい。
【０１１３】
また、音声生成装置は、文字の順序に従って文字が示す音声を生成する機能を備えているものであればよく、すなわち、文字情報に基づいて文字が示す言葉の発音を音声として再現することができればよい。さらに、文字グループに対応する音声を生成するための手法としては、種々の手法のいずれかを任意に採用可能であり、種々の音節の発音を示す波形情報に基づいて文字情報が示す文字を発音するための波形を生成する構成等を採用可能である。
【０１１４】
音声制御操作子は、制御対象となる要素を変化させることができればよく、制御対象の要素の基準からの変化、制御対象の要素の数値、制御対象の要素の変化後の状態等を指定することが可能なセンサであっても良い。音声制御操作子は、タッチセンサに限らず、押しボタン式スイッチ等であっても良い。さらに、音声制御操作子においては、少なくとも文字セレクタによって出力対象として選択された文字について、当該文字が示す音声の発生態様を制御することができればよいが、これに限らず、文字セレクタによる選択とは無関係に音声の発生態様を制御することができてもよい。
【０１１５】
また、文字セレクタ６０ａは、前述した４タイプの選択ボタンＭｃｆ，Ｍｃｂ，Ｍｐｆ，Ｍｐｂに限らず、その他のタイプの文字選択（指定）を行う手段を備えていてもよい。図７は、そのような文字セレクタ６０ａの変形例を示す。図７において、文字セレクタ６０ａは、前述した４タイプの選択ボタンＭｃｆ，Ｍｃｂ，Ｍｐｆ，Ｍｐｂのほかに、音節分離セレクタＭｃｓと音節統合セレクタＭｃｕとを含む。音節分離セレクタＭｃｓは、所定の１文字グループを例えば２音節に分離して進行させることを指示するためのものである。音節統合セレクタＭｃｕは、連続する例えば２文字グループを統合して１音の音声として発音させることを指示するためのものである。例えば、前記図６Ｂに示したような歌詞文字列に従う音声を生成する場合を想定し、音節分離セレクタＭｃｓ及び音節統合セレクタＭｃｕによる音節分離及び統合制御の一例を図８に示す。図８においては、順位「４」の文字グループ「won」の音声生成が開始される前に、音節統合セレクタＭｃｕがオンされた例を示している。この音節統合セレクタＭｃｕのオンに応じてＣＰＵ２０は付加情報として“統合”フラグを立て、その直後における音高指定情報の取得に応じて、音節統合処理を行う。この音節統合処理においては、前記ステップＳ１０５（図３Ｂ）の処理を変形して、ポインタｊの現在値「４」によって指示される文字グループ「won」とその次の順位「５」に該当する文字グループ「der」を統合して「wonder」という複音節の音声を生成し、かつ、前記ステップＳ１２０（図３Ｂ）の処理を変形して、ポインタｊの現在値「４」に「２」をプラスし、ポインタｊの値を２順位進める。こうして、音節統合セレクタＭｃｕは、予め規定された文字列内に含まれる連続する複数文字グループを統合して、該統合した複数文字グループの音声を１回の発音タイミングで生成するよう指示するための統合セレクタとして機能する。
【０１１６】
また、図８においては、順位「６」の文字グループ「why」の音声生成が開始される前に、音節分離セレクタＭｃｓがオンされた例を示している。この音節分離セレクタＭｃｓのオンに応じてＣＰＵ２０は付加情報として“分離”フラグを立て、その直後における音高指定情報の取得に応じて、音節分離処理を行う。この音節分離処理においては、前記ステップＳ１０５（図３Ｂ）の処理を変形して、ポインタｊの現在値「６」によって指示される文字グループ「why」を、「wh-」と「y」の２音節に分離し、分離した最初の音節（文字グループ）「wh-」の音声を生成し、かつ、前記ステップＳ１２０（図３Ｂ）の処理を変形して、ポインタｊの現在値「６」に「０．５」をプラスし、ポインタｊの値を半端な値「６．５」とする。そして、その次の音高指定情報の取得に応じて、前記分離した２番目の音節（文字グループ）「y」の音声を生成し、かつ、ポインタｊの現在値「６．５」に「０．５」をプラスし、ポインタｊの値を「７」とする。これにより、音節分離処理は終了し、その次の音高指定情報の取得に応じて、ポインタｊの値「７」に応じた文字グループ「Ｉ」の音声が生成される。なお、音節分離処理において、音節分離する対象の文字グループが１文字（例えば「Ｉ」）からなる場合であっても。２音節（例えば「ａ」と「ｉ」）に分離できる場合は、そのように分離して、音声生成する。また、どうしても音節分離できない場合は、１番目の音節の音声のみを生成し、２番目の音節の発音タイミングでは、無音とするか、若しくは、１番目の音節の音声をサステインさせるようにすればよい。こうして、音節分離セレクタＭｃｓは、予め規定された文字列内に含まれる１または複数文字からなる１文字グループの音声を複数の音節に分離して、分離した各音節の音声を異なる発音タイミングで生成するよう指示するための分離セレクタとして機能する。
【０１１７】
リピート機能に関して、上記実施例をまとめると、ＣＰＵ２０は、文字セレクタ６０ａの操作に応じて人為的に及び／又は自動演奏シーケンスの進行に応じて自動的に、ポインタｊを前進又は後退し、該ポインタｊによって１または複数文字からなる１文字グループを特定する（取得する）ように構成されており（Ｓ１０２，Ｓ１０５，Ｓ２００〜Ｓ２２０等）、このようなＣＰＵ２０の果たす機能が、予め規定された文字列中の１または複数文字を指定する情報を取得する情報取得部としての機能に相当する。
【０１１８】
また、ＣＰＵ２０は、ポインタｊによって指示される順位の文字グループに対応する音声を、このような指定された音高で生成するように構成されており（Ｓ１０５）、こうして生成された音声が音声出力部７０から出力されるようになっている。このようなＣＰＵ２０の果たす機能が、前記取得した情報に基づき、前記指定された１または複数文字に対応する音声を生成する音声生成部としての機能に相当する。
【０１１９】
また、ＣＰＵ２０は、図４Ｂの処理によって、リピート対象となる文字列の範囲を、ユーザ操作に応じて任意に設定するための処理を行っている。このようなＣＰＵ２０の果たす機能が、生成中の音声をリピート対象として指定する情報を受け付けるリピート対象受付部としての機能に相当する。また、ＣＰＵ２０は、リピート機能がオンである限り、ステップＳ４２５（図４Ｂ）の処理によってリピート対象の最初の文字グループの順位をポインタｊにセットし、リピート対象の終わりから初めに戻って音声生成を繰り返すように機能している（Ｓ１０５）。このようなＣＰＵ２０の果たす機能が、前記リピート対象として指定された前記音声を前記音声生成部が繰り返し生成するように制御するリピート制御部としての機能に相当する。
【符号の説明】
【０１２０】
１０  鍵盤楽器
１０ａ  コントローラ
１０ｂ  本体（音声生成装置）
３０  不揮発性メモリ
３０ａ  音声生成プログラム
３０ｂ  文字情報
３０ｃ  音声素片データベース
５０  音高セレクタ
６０  入出力部
６０ａ  文字セレクタ
６０ｂ  音声制御操作子
６０ｃ  リピート操作子
７０  音出力部
【図１Ａ】
2018112748.tif 000003
【図１Ｂ】
2018112748.tif 000004
【図１Ｃ】
2018112748.tif 000005
【図２Ａ】
2018112748.tif 000006
【図２Ｂ】
2018112748.tif 000007
【図２Ｃ】
2018112748.tif 000008
【図２Ｄ】
2018112748.tif 000009
【図２Ｅ】
2018112748.tif 000010
【図２Ｆ】
2018112748.tif 000011
【図３Ａ】
2018112748.tif 000012
【図３Ｂ】
2018112748.tif 000013
【図３Ｃ】
2018112748.tif 000014
【図３Ｄ】
2018112748.tif 000015
【図４Ａ】
2018112748.tif 000016
【図４Ｂ】
2018112748.tif 000017
【図５】
2018112748.tif 000018
【図６Ａ】
2018112748.tif 000019
【図６Ｂ】
2018112748.tif 000020
【図７】
2018112748.tif 000021
【図８】
2018112748.tif 000022