(57)【特許請求の範囲】
【請求項１】
予め規定された基準文字列からターゲット文字列を推定するためのターゲット文字列推定装置であって、
前記基準文字列を限られた複数種の特定音素を用いて間接的に表現した基準音素列を取得する基準音素列取得手段と、
前記特定音素を用いてターゲット文字列を間接的に表現したターゲット音素列を取得するターゲット音素列取得手段と、
前記ターゲット音素列と前記基準音素列とを比較することに基づき、前記ターゲット音素列にマッチする前記基準音素列内の前記特定音素の配列に対応する前記基準文字列内の文字配列を特定するターゲット文字列推定手段と、
前記特定音素の中のいずれかの音素をユーザ操作に応じて選択するためのセレクタを備え、
前記ターゲット音素列取得手段は、ユーザ操作に応じて前記セレクタから時系列的に入力される音素列を、前記ターゲット音素列として取得するように構成されている、
を備える、
ターゲット文字推定装置。
【請求項２】
前記特定音素は、母音を含む、
請求項１に記載のターゲット文字列推定装置。
【請求項３】
前記特定音素は、単独で意味のある音節を構成し得る特定の子音を含む、
請求項１または請求項２のいずれかに記載のターゲット文字列推定装置。
【請求項４】
ユーザ操作に応じて前記セレクタから１又は複数の音素が入力される毎に、その時点で特定された少なくとも１文字を表示し、かつ、前記文字配列から推測される前記基準文字列中の次の文字を、候補として表示装置に表示する表示制御手段をさらに備える、
請求項１〜請求項３のいずれかに記載のターゲット文字列推定装置。
【請求項５】
前記ターゲット文字列推定手段は、前記ターゲット音素列にマッチする前記基準音素列内の前記特定音素の配列、に対応する前記基準文字列内の前記文字配列を特定するために、
前記ターゲット音素列における前記特定音素の配列に一致する、前記基準音素列内の１以上の遷移的音素配列を特定し、前記遷移的音素配列は、前記基準音素列における前記特定音素の正しい並びからなる配列及び１以上の乱れた並びからなる配列の少なくとも１つを含み、
特定された前記遷移的音素配列のそれぞれにおける前記特定音素の並びの正しさ度合いに応じて、前記遷移的音素配列のそれぞれに評価値を付与し、
相対的に高い前記評価値が付与された前記遷移的音素配列に対応する、前記基準文字列内の前記文字配列を特定する、
請求項１〜請求項４のいずれかに記載のターゲット文字列推定装置。
【請求項６】
前記ターゲット文字列推定手段は、前記遷移的音素配列のそれぞれにおける前記特定音素の並びの正しさ度合いに応じて、前記遷移的音素配列のそれぞれに前記評価値を付与するために、
前記遷移的音素配列のそれぞれに、該遷移的音素配列における各隣り合う２音素に対してその遷移パターンに応じて遷移評価値をそれぞれ付与し、該遷移評価値を合成することにより該遷移的音素配列の全体評価値を生成する、
請求項５に記載のターゲット文字列推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所望の文字列（ターゲット文字列）の間接的な指定に基づき、指定された文字列の実体（ターゲット文字列）を推定する技術に関し、特に、所望のターゲット文字列を簡易な手法で間接的に指定できるようにすることに関する。
【背景技術】
【０００２】
従来、メロディに従って音高を変化させながら歌詞の音声を合成することで歌唱音声を生成する装置が知られている。例えば、特許文献１においては、演奏データ発生装置からＭＩＤＩメッセージが順次与えられるのに応じて、予め記憶した歌詞データに基づき、現歌唱位置を順次更新する技術が開示されている。また、特許文献２には、表音文字データが出力されるのに応じて、メロディ記憶領域から音階音データを順次読み出し、表音文字データが示す表音文字の音声であって、メロディ記憶領域から読み出した音階音データが示す音階音（音高）を有する音声を合成する技術が開示されている。
【０００３】
さらに、非特許文献１には、母音キー、子音キー、濁点キーを組み合わせながら日本語の仮名文字からなる歌詞文字を一文字ずつ指定する鍵盤楽器が開示されている。さらに、非特許文献２には、アコーディオンの演奏指示ボタン群に複数文字が割り当てられており、所望のボタンを操作することで一文字ずつ歌詞を指定することができるようにした楽器が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１７０５９２号公報
【特許文献２】特開２０１２−０８３５６９号公報
【非特許文献】
【０００５】
【非特許文献１】山本和彦、加々見翔太、濱野桂三、柏瀬一輝、"リアルタイム日本語歌唱鍵盤楽器のための文字入力インタフェースの開発"、情報処理学会論文誌、Vol.54 No.4、p1373-1382 (2013)
【非特許文献２】佐近田展康、「兄弟式リアルタイム音声合成演奏システム」の概要と背景, 名古屋学芸大学メディア造形学部研究紀要、p21-33 (2013)
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の、歌唱音声を生成する装置など、文字に基づき音声を生成する装置においては、簡易な操作で所望の文字を指定することが困難であった。具体的には、上記特許文献１においては楽曲演奏の進行に同期して歌詞が自動で進行するようになっており、また、上記特許文献２においては歌詞の進行に同期してメロディが自動で進行するようになっている。すなわち、いずれの場合も、文字列の音声生成は、歌詞の進行の通りにしか行われない。よって、いずれの従来技術においても、順序通りの歌詞とは異なる進行で文字を選択しながら、任意の旋律でアドリブ演奏を行うことはできなかった。従って、アドリブで歌詞音声を変更したり繰り返したりすること等ができなかった。
【０００７】
一方、上記非特許文献１，２などの従来技術においては、歌詞の文字を自由に指定することができるものの、上記非特許文献１においては文字を指定するための操作が複雑であり、上記非特許文献２においては文字を指定するための選択肢が極めて多数であり、実用的な楽曲演奏の進行速度で所望の歌詞をリアルタイムに生成できるように選択操作を行うことは困難であった。
本発明は、上述の点に鑑みてなされたもので、歌詞のような予め規定された文字列中の所望の部分（ターゲット文字列）を簡易な手法で間接的に指定することを可能にし、かつ、指定されたターゲット文字列の実体を的確に推定する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の目的を達成するため、本発明は、予め規定された基準文字列からターゲット文字列を推定するためのターゲット文字列推定装置であって、前記基準文字列を限られた複数種の特定音素を用いて間接的に表現した基準音素列を取得する基準音素列取得手段と、前記限られた複数種の特定音素を用いてターゲット文字列を間接的に表現したターゲット音素列を取得するターゲット音素列取得手段と、前記ターゲット音素列と前記基準音素列とを比較することに基づき、前記ターゲット音素列にマッチする前記基準音素列内の前記特定音素の配列に対応する前記基準文字列内の文字配列を特定するターゲット文字列推定手段とを備える。
【０００９】
本発明によれば、所望のターゲット文字列は、直接的に指定されるのではなく、限られた複数種の特定音素を用いて、該ターゲット文字列を間接的に表現してなるターゲット音素列により、間接的に指定される。一方、予め規定された基準文字列に関連した基準音素列も、該限られた複数種の特定音素を用いて、前記基準文字列を間接的に表現してなるものである。所望のターゲット文字列を間接的に表現するターゲット音素列は、例えば利用者の選択操作に基づき、取得される。そして、前記ターゲット音素列と前記基準音素列とを比較することに基づき、前記ターゲット音素列にマッチする前記基準音素列内の前記特定音素の配列に対応する前記基準文字列内の文字配列が特定される。基準文字列と基準音素列との関連性は予め判明しているので、前記ターゲット音素列にマッチする前記基準音素列内の前記特定音素の配列に対応する前記基準文字列内の文字配列は容易に判明する。こうして特定された前記基準文字列内の文字配列が、前記ターゲット音素列に対応するターゲット文字列に相当する、と推定することができる。
【００１０】
こうして、本発明によれば、ターゲット文字列を間接的に表現するターゲット音素列に基づき、実体的なターゲット文字列を推定することができる。そして、そのようなターゲット音素列は、限られた複数種の特定音素を用いて表現されるので、ターゲット音素列を指定する際の選択対象となる音素種類数がかなり少数となり、そのため、選択操作を簡易に且つ素早く行うことができる。例えば、前記複数種の特定音素を母音を主体とするものとすれば、５個程度の母音の文字キーの選択操作を行えば足りることになる。これは、例えばアルファベット２６文字キーの選択操作によって通常の文字入力を行う場合に比べて、かなり簡素化された容易な選択操作で済むことを意味する。例えば、ユーザは、片手の位置を動かすことなく、指をわずかに動かすことで、ブラインドタッチで、該複数種の特定音素内の所望の音素を素早く選択できるであろう。従って、一例として本発明を音楽関連装置に適用して、楽曲演奏に伴い生成すべき歌唱音声を指定する文字列をリアルタイムに指定する、というような応用を行う場合、楽曲演奏の進行速度で所望の歌詞音声を生成できるようにリアルタイムに文字列を指定する操作を行うことができる。また、楽曲演奏中にリアルタイムでアドリブで一部の歌詞フレーズを指定してその音声を生成させる、という応用にも適する。
【００１１】
一実施例において、前記特定音素は、母音を含んでいてよく、さらに、特定の１又は複数の子音であってよい。具体的にどのような音素を前記特定音素内に含めるべきかは、本発明を実装した装置の適用対象とする言語体系に依存する。母音は、どのような言語体系のどのような単語においても高い頻度で出現するので、母音を前記特定音素に含めることは、言語体系を問わず有効であろう。一方、前記特定音素に含めるべき前記特定の子音の種類は、適用対象とする言語体系に少なからず依存するかもしれない。典型的には、前記特定の子音とは、当該言語体系において、母音と組み合わされることなく、１かたまりの明確な音節を構成しうるような子音であるかもしれない。それにより、母音だけで元の音節を表現できない場合、この前記特定の子音を用いて表現することができる。例えば、日本語においては、子音"ｎ"が単独で意味のある音節を構成しうるので、子音"ｎ"を前記特定の音素集合に含めることは有利である。
【００１２】
一実施例において、前記特定音素の中のいずれかの音素をユーザ操作に応じて選択するためのセレクタを備えてよい。その場合、ユーザ操作に応じて前記セレクタから時系列的に入力される音素列が、前記ターゲット音素列として取得すされる。一例として、本発明に係る装置を電子楽器に実装する場合、前記セレクタは、該電子楽器が持っている鍵盤のような音高指定操作子群の一部を流用するとよい。この構成によれば、利用者は、楽器の演奏のような操作手法で所望のターゲット音素列を指定するための入力操作を行うことができる。また、前記特定音素が割り当てられた音高指定操作子に対応する音高を楽譜に記すことにより、所定のターゲット文字列に対応するターゲット音素列を指定するための音高指定操作子の操作手順を書面化することができ、これにより、ターゲット音素列を指定するための操作を客観的に第３者に伝えたり、利用者が練習を行うことを可能にしたりすることができる。なお、一台の楽器の一部の音高指定操作子に前記特定音素を割り当てる構成とすれば、該特定音素が割り当てられた音高指定操作子で文字（歌詞）を指定しながら、他の音高指定操作子で該文字に対応して生成すべき音声の音高を指定することが可能になる。
【図面の簡単な説明】
【００１３】
【図１】（１Ａ）は本発明の一実施形態にかかる指定文字推定装置を備える鍵盤楽器の模式図、（１Ｂ）は鍵盤楽器のブロック図、（１Ｃ）は表示部上の表示例を示す図である。
【図２】（２Ａ）は基準文字列の一例を示す図、（２Ｂ）は基準文字列の形態素グループ化の一例を示す図、（２Ｃ）は（２Ｂ）に示す基準文字列に対応する基準音素列を示す図である。
【図３】ターゲット音素列を時間経過に伴い指定（取得）する一例、及びそれに対応して特定される１以上の遷移的音素配列ならびにその評価値（遷移確率）の一例を示す図である。
【図４】（４Ａ）は推定処理の一例を示すフローチャート、（４Ｂ）は音声生成処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
（１）システム構成
図１Ａは、本発明の一実施形態にかかるターゲット文字推定装置を実装した鍵盤楽器１０を模式的に示す図である。鍵盤楽器１０は、略直方体の筐体を備えており、筐体の一面に複数の白鍵および黒鍵からなる音高操作子５０と入出力部６０とが形成されている。なお、音高操作子５０は、本来、音高を指定するための操作子であるが、本実施形態においては一部の鍵が所望のターゲット文字列を間接的に指定する（直接的には後述するターゲット音素列を指定する）ための操作子として利用される。
【００１５】
入出力部６０は、利用者からの指示等を入力する入力部と利用者に各種の情報（画像情報や音声情報）を出力する出力部（ディスプレイ及びスピーカ）とを含んでいる。図１Ａにおいては、一例として、鍵盤楽器１０が備える入力部としての回転スイッチおよびボタンと出力部としての表示部のイメージが破線内に示されている。利用者は、入出力部６０の入力部によって音色の選択や、演奏される歌の歌詞を示す基準文字列情報の選択等を行い、音高操作子５０を操作することにより、文字および音高を指定することができる。文字および音高が指定されると、指定された文字に対応する音声が指定された音高で音出力部から出力される。すなわち、利用者は、既定の歌詞を所望の音高で歌唱させる演奏を行うことができる。
【００１６】
図１Ｂは、鍵盤楽器１０において音声を生成し出力するための構成を示すブロック図である。図１Ｂに示すように、鍵盤楽器１０は、ＣＰＵ２０と不揮発性メモリ３０とＲＡＭ４０と音高操作子５０と入出力部６０と音出力部７０とを備える。音出力部７０は、音声を出力するための回路およびスピーカー（図１Ａには図示せず）を備える。ＣＰＵ２０は、ＲＡＭ４０を一時記憶領域として利用して不揮発性メモリ３０に記録されたプログラムを実行可能である。
【００１７】
また、不揮発性メモリ３０には、音声生成プログラム３０ａと基準文字列情報３０ｂと音声素片データベース３０ｃとが予め記録される。基準文字列情報３０ｂは、歌詞のような予め規定された基準文字列の情報である。なお、本実施形態においては、テキスト形式（個々の文字を示すコードが基準文字列内の文字順序に従って並んだ形式）によって基準文字列情報３０ｂが定義されている。基準文字列情報３０ｂは、演奏の前に不揮発性メモリ３０に記録されていれば良く、利用者が入出力部６０を操作することによって作成された基準文字列情報３０ｂが不揮発性メモリ３０に記録されても良いし、予め作成された基準文字列情報３０ｂが図示しないインタフェースを介して不揮発性メモリ３０に記録されても良い。むろん、基準文字列情報３０ｂは、１曲分用意されても良いし、複数曲分用意されても良い。
【００１８】
音声素片データベース３０ｃは、人の歌声を再現するためのデータであり、本実施形態においては、予め、文字が示す音声が基準の音高で発音される際の音声の波形を収集し、短い期間の音声素片に分割し、当該音声素片を示す波形データをデータベース化することによって生成される。すなわち、音声素片データベース３０ｃは、複数の音声素片を示す波形データで構成されている。当該音声素片を示す波形データを組み合わせると、任意の文字が示す音声を再現することができる。
【００１９】
具体的には、音声素片データベース３０ｃは、ＣＶ（子音から母音への遷移部）、ＶＶ（母音から他の母音への遷移部）、ＶＣ（母音から子音への遷移部）などのような音声の遷移部分（Ａｒｔｉｃｕｌａｔｉｏｎ）や母音Ｖの伸ばし音（Ｓｔａｔｉｏｎａｒｙ）などの波形データの集合体である。すなわち、音声素片データベース３０ｃは、歌唱音声の素材となる各種の音声素片を示す音声素片データの集合体である。これらの音声素片データは、実際の人間が発した音声波形から抽出された音声素片に基づいて作成されたデータである。本実施形態においては、任意の文字や任意の文字列が示す音声を再現する際に結合されるべき音声素片データが予め決められており、結合されるべき音声素片データを特定するための情報が不揮発性メモリ３０に記録されている（図示せず）。ＣＰＵ２０は、基準文字列情報３０ｂが示す任意の文字や文字列に応じて不揮発性メモリ３０を参照し、結合すべき音声素片データを選択する。そして、ＣＰＵ２０が選択した音声素片データを結合すると、任意の文字や任意の文字列が示す音声を再現するための波形データが生成される。なお、音声素片データベース３０ｃは、各種の言語用に用意されていても良いし、発音者の性別や音声の特性等に応じて用意されていても良い。また、音声素片データベース３０ｃを構成する波形データは、音声素片の波形を所定のサンプリングレートでサンプリングしたサンプル列を一定時間長のフレームに分割したデータであっても良いし、当該データに対してＦＦＴ（高速フーリエ変換）を行うことにより得られたフレーム毎のスペクトルデータ（振幅スペクトルおよび位相スペクトル）であってもよい。ここでは、波形データが後者である例を説明する。
【００２０】
本実施形態において、ＣＰＵ２０は、不揮発性メモリ３０に記録された音声生成プログラム３０ａを実行することができる。音声生成プログラム３０ａが実行されると、ＣＰＵ２０は、音声生成プログラム３０ａに従って、利用者によるターゲット音素列の指定を受け付けて、該指定されたターゲット音素列に対応するターゲット文字列を推定する処理を実行し、当該推定されたターゲット文字列が示す音声を利用者が音高操作子５０で指示した音高で生成する。そして、ＣＰＵ２０は、当該音声信号に従って音声を出力する指示を音出力部７０に対して出力する。この結果、音出力部７０は、当該音声を出力するためのアナログ波形信号を生成し、増幅してスピーカーから音声を出力する。
【００２１】
（２）基準文字列
なお、本実施形態における基準文字列情報３０ｂは、利用者によって指定された文字（ターゲット文字）の推定精度を向上させるために、基準文字列が複数の文字からなるグループに分割される。グループは、複数の指標に基づいて定義することができ、本実施形態においては、形態素、フレーズおよび繰り返しの発生に基づいて階層的にグループ化される。一例として、文字のグループ化の最小単位は形態素である。すなわち、１つの基準文字列に関する基準文字列情報３０ｂに含まれる全文字は、有意な最小単位である形態素毎にグループ化される（形態素グループ）。また、複数の形態素によって構成される１フレーズに対応してフレーズグループが形成される。当該フレーズグループは、文法上の単語の集合からなるフレーズによって形成されても良いし、音楽上の区切り（メロディの区切り）からなるフレーズによって形成されても良い。
【００２２】
さらに、フレーズグループが階層を形成していても良い。例えば、２個の形態素からなるフレーズグループが属する階層と、当該フレーズグループが結合されて形成されるさらに上位のフレーズグループの階層とから構成されていても良い。さらに、同一の文字または文字列が連続して繰り返される場合、繰り返される文字または文字列とその繰り返し回数からなる情報によってグループが形成される（繰り返しグループ）。なお、グループ化は、例えば、利用者等によって人為的に行われてもよいし、鍵盤楽器１０のＣＰＵ２０等で自動的に行われても良い。本実施形態において、グループ化されていない基準文字列情報３０ｂをＣＰＵ２０が解析し、グループ化を行うようにしてよい。いずれにしても、グループに基づいて定義された遷移パターンに基づいて基準文字列から利用者の指定した文字が推定されることで、文字の推定精度が向上するように構成されている（詳細は後述）。
【００２３】
さらに、個々の基準文字列に関連して基準音素列が予め用意される。基準音素列とは、限られた複数種の特定音素を用いて、対応する基準文字列を間接的に表現してなるものであり、その詳細例は追って説明する。なお、以下説明する実施例における対象言語は、日本語であるとする。従って、該限られた複数種の特定音素は、当該言語つまり日本語の特徴を考慮して決定されるべきである。日本語を対象とする場合、典型的には、５つの母音"ａ"，"ｉ"，"ｕ"，"ｅ"，"ｏ"と、特定の１つの子音"ｎ"、の合計６種の音素が、該特定音素の集合内に含まれるであろう。これに限らず、対象とする言語体系に依存して、任意の限られた複数種の音素が前記特定音素に含まれてよい。処理対象として選択された１つの基準文字列に関連する基準音素列をＣＰＵ２０による事前処理によって作成し、この基準音素列をＲＡＭ４０に記憶しておくようにしてよく、あるいは、不揮発性メモリ３０において各基準文字列に関連して予め作成された基準音素列がそれぞれ記録されるようになっていてもよい。
【００２４】
図２Ａは、基準文字列の一例を示す図であり、複数の文字列からなる歌詞の一部を抜き出したものを便宜的な参照符号を用いて模式的に示している。図２Ａに示す例は、左から右に向けて並ぶ日本語の文字列を便宜的な参照符号を用いて示しており、小さい矩形の１個が日本語の１仮名文字を示すが、図では、日本語の仮名文字を直接記すことなく、便宜的な参照符号「Ｃ１Ｖａ」、「Ｃ２Ｖｅ」、「Ｃ３Ｖｕ」、「Ｃ４Ｖｏ」等を用いて記載している。１仮名文字に対応する１参照符号「Ｃ１Ｖａ」等の記載の仕方は、一般に日本語の１仮名文字の音節は子音と母音の組み合わせからなるため、該１仮名文字の音節を構成する子音を符号「Ｃ」及びサフィックスによって識別し、該１仮名文字の音節を構成する母音を符号「Ｖ」及びサフィックスによって識別している。例えば、符号「Ｃ１」は或る子音（例えば"ｋ"）を示し、符号「Ｃ２」は別の子音（例えば"ｓ"）を示す、というように、符号「Ｃ」のサフィックスが異なれば異なる子音を示す。また、各符号「Ｖａ」、「Ｖｉ」、「Ｖｕ」、「Ｖｅ」、「Ｖｏ」は、それぞれ、母音"ａ"，"ｉ"，"ｕ"，"ｅ"，"ｏ"を示すものとする。なお、図２Ａに示す例においては、同一の部分的文字列が連続して又は間を置いて繰り返される場合、繰り返される部分的文字列を太い線で囲んで示している。例えば、部分的文字列Ｓ１と部分的文字列Ｓ２は同一の文字列の繰り返しであり、部分的文字列Ｓ３と部分的文字列Ｓ４は同一の文字列の繰り返しである。
【００２５】
図２Ａにおいて、基準文字列における各文字の下段に記された符号Ｐ１，Ｐ２，Ｐ３，...は、基準文字列における該各文字の位置（発生順位）を示す。前記揮発性メモリ３０に記録された文字情報３０ｂは、このような、位置データＰ１，Ｐ２，Ｐ３，...をも含む。この位置データＰ１，Ｐ２，Ｐ３，...により、基準文字列における各文字と、それに対応する基準音素列における各音素との１対１の対応づけを行うことができる。
【００２６】
図２Ｂは、図２Ａに示す文字列が形態素によってグループ化された例を示している。同図２Ｂにおいては異なる形態素グループ毎に分離して示しており、例えば、部分的文字列「Ｃ１Ｖａ、Ｃ２Ｖｅ、Ｃ３Ｖｕ、Ｃ４Ｖｏ」が１つの形態素を構成する１グループである。フレーズによるグループ化は、１フレーズを構成する連続する２個以上の形態素グループをグレープ化するための適宜の識別情報を追加することでなされる。繰り返しの発生によるグループ化は、連続した文字列（または文字）の繰り返しが発生した場合に行われるため、図２Ａに示す例においては、連続していない部分的文字列Ｓ１と部分的文字列Ｓ２はグループ化されず、連続している部分的文字列Ｓ３と部分的文字列Ｓ４はグループ化される。すなわち、図２Ｂに示す例において、部分的文字列Ｓ３と部分的文字列Ｓ４からなる文字列が繰り返しグループとしてグループ化され、この繰り返しグループは、先行する１つの部分的文字列Ｓ３と繰り返し回数（図示例では「２」）を示す繰り返し情報との組み合わせによって表現され得る。なお、間を開けた繰り返しである部分的文字列Ｓ１と部分的文字列Ｓ２についても、利用者によって指定されたターゲット文字列の推定精度を向上させることができるため、これらの部分的文字列が繰り返しであることを示す適宜の情報が基準文字列情報３０ｂに付記されても良い。
【００２７】
図２Ｃは、図２Ａに示す基準文字列に対応する基準音素列を、図２Ｂに示すようにグループ化された状態で示す図である。基準音素列とは、対応する基準文字列を、前記６種の特定音素（母音"ａ"，"ｉ"，"ｕ"，"ｅ"，"ｏ"と特定の１つの子音"ｎ"）を用いて表現したものである。従って、図２Ｃは、図２Ｂに示された基準文字列内の各文字から母音"ａ"，"ｉ"，"ｕ"，"ｅ"，"ｏ"及び特定の１つの子音"ｎ"のみを抽出したデータ構成からなる。基準音素列における各音素のデータは、それに対応する元の文字の位置データＰ１，Ｐ２，Ｐ３，...を付属している。従って、この位置データＰ１，Ｐ２，Ｐ３，...に基づき、基準音素列における各音素に対応する基準文字列における元の文字を容易に再現できる。
【００２８】
（３）ターゲット文字列のリクエスト
上記基準文字列に含まれる任意の部分的文字列であって、利用者が該基準文字列から呼び出したい（若しくは取り出したい）部分的文字列のことを、本実施例では「ターゲット文字列」と言う。本実施例において、利用者は、所望のターゲット文字列を直接的に指定するのではなく、前記６種の特定音素（母音"ａ"，"ｉ"，"ｕ"，"ｅ"，"ｏ"と特定の１つの子音"ｎ"）を用いて、該ターゲット文字列を間接的に表現してなる音素列（これを「ターゲット音素列」という）により、間接的に指定（リクエスト）する。
【００２９】
本実施形態においては、音高操作子５０の一部が、ターゲット音素列を指定若しくは選択するための操作子（特定音素セレクタ５１）として割り当てられている。具体的には、音高操作子５０（鍵盤）のうち、演奏者（すなわち利用者）が左手で操作可能な範囲にある、Ｃ，Ｄ，Ｅ，Ｆ，Ｇのノートに対応する５つの白鍵に母音"ａ"，"ｉ"，"ｕ"，"ｅ"，"ｏ"が割り当てられ、かつ、Ｄ＃のノートに対応する黒鍵に特定の１つの子音"ｎ"が割り当てられており、少なくとも本発明に従いターゲット文字列のリクエストを行うときは、これらのノートＣ，Ｄ，Ｄ＃，Ｅ，Ｆ，Ｇに対応する鍵は、音高指定鍵として機能することなく、上記の特定の音素を指定若しくは選択するための特定音素セレクタ５１として機能する。この構成においては、演奏者は片手を移動させることなく該片手の各指で特定音素セレクタ５１を操作可能であるため、ブラインドタッチに適しており、簡単かつ素早い操作が行える。
【００３０】
日本語においては、"ａ"，"ｉ"，"ｕ"，"ｅ"，"ｏ"の各母音のいずれかがほぼ全ての文字の発話音（又は音節）に含まれるため、上述の構成によれば、ほぼ全ての文字についての発話音（又は音節）に含まれる音素の少なくとも一部を、母音が割り当てられた白鍵によって指定することが可能である。一方、日本語において、子音"ｎ"単独からなる発話音（又は音節）は、母音を使用して表現できない音節の唯一の例外である。従って、上記６種の音素を用いれば、ほぼ全ての文字に関して、該文字が発話される際の発話音（音節）に含まれる音素の少なくとも一部を、指定することが可能である。
【００３１】
各種の言語で利用される文字の数は典型的には数十個であり、１文字ずつ選択する構成を想定するとその選択肢の数が極めて多数になる。これに対して、本実施形態のように、限られた複数種の特定音素の中から選択を行う場合、全ての文字を選択対象とする場合と比較して選択肢の数を極めて少ない数（上記例では「６」）にすることができる。利用者は、特定音素セレクタ５１を利用して自らが意図する文字を間接的にリアルタイムに指定することができる。すなわち、利用者は、自らが意図する文字の母音（または特定の子音）を認識し、特定音素セレクタ５１でこれを選択する。ただし、異なる音節に同じ母音が含まれる文字は複数個存在し得るため、利用者によって指定されたターゲット音素列に該当する文字列の候補は複数有り得る。そこで、ＣＰＵ２０は、音声生成プログラム３０ａの処理により、基準文字列の中から利用者の指定したターゲット文字列に該当するものを推定するように構成されている。
【００３２】
（４）音声生成プログラムの構成
このために、音声生成プログラム３０ａは、ターゲット音素列取得部２０ａ、基準音素列取得部２０ｂ、ターゲット文字列推定部２０ｃ、表示制御部２０ｄの各プログラムモジュールを備えており、各部によってＣＰＵ２０に所定の機能を実行させる。ターゲット音素列取得部２０ａは、前記特定音素セレクタ５１の利用者操作に応じて、ターゲット文字列を間接的に表現してなるターゲット音素列を取得するための機能をＣＰＵ２０に実行させる。すなわち、ＣＰＵ２０は、ターゲット音素列取得部２０ａの処理により、特定音素セレクタ５１の出力信号に基づいて、前記６種の特定音素のうち所望の音素を利用者が指定する選択操作を受け付ける。別の例として、ターゲット音素列取得部２０ａは、通信ネットワークを介した遠隔的なリクエスト等その他適宜のやり方で、ターゲット文字列を間接的に表現してなるターゲット音素列を取得するようにしてもよい。
【００３３】
基準音素列取得部２０ｂは、処理対象として選択された１つの基準文字列に関連する基準音素列を取得する機能をＣＰＵ２０に実行させる。例えば、ＣＰＵ２０による事前処理によって、処理対象として選択された１つの基準文字列に関連する基準音素列を作成する場合は、ＣＰＵ２０は、基準音素列取得部２０ｂの処理により、基準文字列情報３０ｂを参照し、基準文字列内の各文字の音節構成から前記６種の音素（母音"ａ"，"ｉ"，"ｕ"，"ｅ"，"ｏ"と特定の１つの子音"ｎ"）を分析し、この分析に基づき、該基準文字列を該６種の特定音素で表現された基準音素列に変換する。図２Ｃは、そのように、図２Ｂに示すグループ化された基準文字列から生成された基準音素列を示している。なお、別の実施例として、不揮発性メモリ３０において各基準文字列に関連して予め作成された基準音素列がそれぞれ記録されている場合は、基準音素列取得部２０ｂは、処理対象として選択された１つの基準文字列に関連する基準音素列を不揮発性メモリ３０から取得するようにしてよい。
【００３４】
ターゲット文字列推定部２０ｃは、ターゲット音素列と基準音素列とを比較することに基づき、基準文字列からターゲット文字を推定する機能をＣＰＵ２０に実行させる。詳しくは、ターゲット文字列推定部２０ｃは、前記ターゲット音素列にマッチする前記基準音素列内の前記特定音素の配列に対応する前記基準文字列内の文字の配列を特定する機能を、ＣＰＵ２０に実行させる。
【００３５】
（５）音声生成プログラムによる処理
次に、ＣＰＵ２０が音声生成プログラム３０ａによって実行する推定処理の一例を図４Ａによって説明する。この推定処理に先立って、ＣＰＵ２０は、予め、前記基準音素列取得部２０ｂの処理により、処理対象の基準文字列から基準音素列を生成し、該推定処理に必要な基準音素列を取得するものとする。この推定処理は、前記ターゲット音素列取得部２０ａおよびターゲット文字列推定部２０ｃが行う処理である。
【００３６】
例えば、任意の歌唱タイミングに合わせて、ユーザは、処理対象の基準文字列中の所望のターゲット文字列に対応するターゲット音素を特定音素セレクタ５１で順次指定する。図４Ａに示す推定処理は、特定音素セレクタ５１のユーザ操作により１つのターゲット音素が指定される毎に行われる。１つのターゲット音素を指定するために特定音素セレクタ５１が操作されると、ＣＰＵ２０は、図４Ａの推定処理を開始し、該特定音素セレクタ５１の操作によって指定されたターゲット音素のデータを取得し、該取得したターゲット音素のデータをターゲット音素列記憶用のバッファ内に取り込む（Ｓ１００）。順次指定されたターゲット音素のデータが該バッファ内に順番に記憶される。
【００３７】
次に、ＣＰＵ２０は、該バッファ内に記憶されたターゲット音素列と前記基準音素列とを比較することに基づき、前記ターゲット音素列にマッチする前記基準音素列内の前記特定音素の配列に対応する前記基準文字列内の文字配列を特定する（Ｓ１１０）。一例として、このステップＳ１１０におけるマッチングのために、ＣＰＵ２０は、前記ターゲット音素列における前記特定音素の配列に一致する前記基準音素列内の１以上の遷移的音素配列を特定する処理（Ｓ１１１）と、特定された各遷移的音素配列における前記特定音素の並びの正しさ度合いに応じて、各遷移的音素配列に評価値を付与する処理（Ｓ１１２）と、相対的に高い評価値が付与された遷移的音素配列に対応する前記基準文字列内の文字配列を特定する処理（Ｓ１１３）を行う。ここで、前記遷移的音素配列とは、前記基準音素列における前記特定音素の正しい並びからなる配列及び幾分乱れた並びからなる配列などを指す。この遷移的音素配列は、隣接する２音素の遷移に対して、次に述べるようないくつかの遷移パターンをテンプレートとして適用して、比較対象である基準音素列において特定することができる。なお、ステップＳ１１１で候補として特定された１以上の遷移的音素配列を示す情報が、ＲＡＭ４０内にバッファ記憶され、次のターゲット音素が特定音素セレクタ５１で指定されたときに実行される当該ステップＳ１１１における処理において利用される。
【００３８】
具体的には、本実施形態においては、基準文字列上で文字が０文字以上遷移するパターンが複数の遷移パターンとして予め定義されている。遷移とは、基準文字列（換言すれば、基準音素列）上での文字の移動を許容してターゲット音素列のマッチング処理を行うことを可能にする概念であり、遷移文字数や遷移の方向（文字列の順序に沿った方向と順序の逆方向）としては各種の数や方向を設計上規定してよい。これは、基準文字列における文字の正しい並びからなる文字配列のみならず、幾分の乱れた並びからなる文字配列をも、ターゲット文字列として推定できるようにするものである。したがって、基準文字列から少し逸脱したアドリブ的なターゲット文字列の推定や、幾分の入力ミスを許容したターゲット文字列の推定を可能にする。なお、０文字の遷移とは次の文字に進まず同じ文字に留まる状況を指し、１文字の遷移とは前後の文字への移動を指し、２文字の遷移とは前後方向に１文字飛ばしその次の文字へ移動することを指す。３文字以上も同様に適宜に定義可能である。遷移パターンは、各種の要素によって定義可能であり、本実施形態においては、遷移前後の文字の基準文字列上での位置の関係に基づいて決定され、遷移前後で移動した文字数、遷移方向（順序に沿って遷移する順方向、または順序とは逆方向に遷移する逆方向）、遷移前後の文字の属性（グループ中の文字の位置（グループ先頭であるか否か等））等に基づいて遷移パターンが定義される。
【００３９】
例えば、遷移パターンとしては、
Ａ．基準文字列の順序通りの遷移
Ｂ．同一グループの繰り返し
Ｃ．異なる位置に存在する同一文字列の次の文字への遷移
Ｄ．同一グループ内での２文字以上の遷移
Ｅ．異なるグループへの遷移
Ｆ．基準文字列に存在しない文字への遷移
等が挙げられる。
なお、上記Ｃ（異なる位置に存在する同一文字列の次の文字への遷移）は、例えば、図２Ｂに示す例において、文字列Ｓ１の最後の文字「Ｃ４Ｖｏ」から、異なる位置に存在する同一文字列Ｓ２の次の文字「Ｃ８Ｖｉ」への遷移である。また、上記Ｆ（基準文字列に存在しない文字への遷移）は、ある文字の次に利用者が誤操作した場合の遷移である。
【００４０】
むろん、これらの遷移パターンはさらに細分化されていても良い。例えば、上記Ｂ（同一グループの繰り返し）であっても、図２Ｂに示すような、文字列の繰り返しが発生しているグループＧｒと他のグループとが異なる遷移パターンに分類されていても良い。また、上記Ｄ（同一グループ内での２文字以上の遷移）については、遷移前後での移動文字数や移動方向、遷移前後の文字の周囲の文字列の類似度合い、遷移後の文字のグループ内での位置（先頭であるか否か等）等によって遷移パターンが細分化されていても良い。さらに、上記Ｅ（異なるグループへの遷移）については、遷移後の文字のグループ内での位置やグループの位置関係（曲の１番、２番などの既定の集合に含まれるグループの中の先頭に位置するグループであるか否か等）等によって遷移パターンが細分化されていても良い。
【００４１】
本実施形態においては、さらに、各遷移パターン毎に、利用者によって現在指定された１文字がその直前に指定された文字から該遷移パターンで遷移する確率が遷移確率（遷移評価値）として予め定義され、各遷移パターンの遷移確率を示す情報が不揮発性メモリ３０に記録されている（図示せず）。遷移確率は、複数の遷移パターンのそれぞれが発生する確率の大きさを反映していれば良く、各遷移パターンの発生回数を計測して遷移確率を定義しても良いし、各遷移パターンが発生する確率が特定の分布、例えば、正規分布のように分布すると見なして遷移確率を定義しても良く、種々の定義を採用可能である。なお、本明細書においては、上述の遷移パターンの上記Ａが最も遷移確率が大きく、上記Ｂ．Ｃ．Ｄ．Ｅ．Ｆ．の順に遷移確率が小さくなるものとする。該遷移確率が前記評価値として機能する。すなわち、上記Ａの遷移パターンは、基準文字列における文字の正しい並び（換言すれば、基準音素列における特定音素の正しい並び）からなるため、遷移確率（遷移評価値）が高く設定され、それ以外の遷移パターンは、基準文字列における文字の並びの正しさ度合い（換言すれば、基準音素列における特定音素の並びの正しさ度合い）が適宜低下するので、遷移確率（遷移評価値）が相対的に低く設定される。
【００４２】
こうして、ＣＰＵ２０は、ターゲット文字列推定部２０ｃの処理により、前記各遷移パターン毎に、前記バッファに取り込まれた現在のターゲット音素列におけるターゲット音素の遷移が該遷移パターンに該当し、かつ、該遷移パターンが基準文字列（換言すれば、基準音素列）内に存在するかどうかを調べ、該当しかつ存在していれば該遷移パターンに対応する基準文字列（換言すれば、基準音素列）内の遷移的音素配列を特定する（Ｓ１１１）。そして、各特定された遷移的音素配列に対応する前記遷移パターンに対して定義された遷移確率（すなわち遷移評価値）が該遷移的音素配列に付与される（Ｓ１１２）。特定された遷移的音素配列を示す情報（特に位置データ）及びそれに対応する遷移確率（遷移評価値）は、ＣＰＵ２０によってＲＡＭ４０に記録される。なお、ステップＳ１１２の具体例として、詳しくは追って説明するように、遷移的音素配列毎に、該遷移的音素配列における隣り合う２音素に対してその遷移パターンに応じて遷移確率（遷移評価値）をそれぞれ付与し、該遷移確率（遷移評価値）を合成することにより該遷移的音素配列の全体評価値を生成する。次に、ＣＰＵ２０は、相対的に高い評価値（全体評価値）が付与された遷移的音素配列に対応する基準文字列内の文字配列を特定する（Ｓ１１３）。
【００４３】
なお、ステップＳ１１１〜Ｓ１１３の処理は、２個以上のターゲット音素が指定されたときに行うものとする。利用者が最初のターゲット音素を指定したときは、取得したターゲット音素列は、１音素のみであるため、ステップＳ１１１〜Ｓ１１３の処理は行わず、特殊な処理が行われる。すなわち、ＣＰＵ２０は、ターゲット文字列推定部２０ｃの処理により、１個のターゲット音素に基づいて所定の規則に従って基準文字列から利用者の指定した文字を推定する。この所定の規則は、任意に定めてよい。例えば、該最初に指定されたターゲット音素が基準文字列の中で最も早い順序で出現する位置にある文字が指定されたと推定するようにしてよい。あるいは、基準文字列内の複数のグループのうち、該最初に指定されたターゲット音素が最も早い順序で出現するグループにおける該ターゲット音素の位置にある文字が指定されたと推定するようにしてよい。
【００４４】
（６）ターゲット文字列の推定例
さらに図３を参照して、図４Ａの推定処理によって実行されるターゲット文字列の推定の具体例について説明する。図３は、前記図２Ａ〜２Ｃに示すような基準文字列及び基準音素列を対象として、利用者が特定音素セレクタ５１によって時刻Ｔ１，Ｔ２，Ｔ３，Ｔ４において、所望のターゲット文字列を間接的に指定するターゲット音素として、"Ｖｅ"、"Ｖｕ"、"Ｖｏ"、"Ｖａ"を順次指定した場合を示す図である。図３における「ターゲット音素列」の欄には、これら各時刻Ｔ１，Ｔ２，Ｔ３，Ｔ４における、ターゲット音素列記憶用バッファの記憶状態が示されている。すなわち、該バッファには、前記ステップＳ１００の処理によって、指定されたターゲット音素"Ｖｅ"、"Ｖｕ"、"Ｖｏ"、"Ｖａ"を示すデータが順次記憶される。さらに、図３においては、これら４時刻Ｔ１，Ｔ２，Ｔ３，Ｔ４において、前記ステップＳ１１１の処理によって取り出される複数の遷移的音素配列の状態も示されている。図３において、各遷移的音素配列の欄においては、該配列に含まれる各特定音素を、該特定音素に対応する文字の基準文字列内における位置を示す符号（Ｐ及びサフィックスからなる符号）を用いて示している。
【００４５】
図３の例では、時刻Ｔ１において、最初のターゲット音素として「Ｖｅ」（母音"ｅ"）が指定され、ＣＰＵ２０は、これを取得して前記バッファに記憶する（Ｓ１００）。この例では、最初に指定されたターゲット音素に対して適用する上述の所定の規則が、該最初に指定されたターゲット音素が基準文字列の中で最も早い順序で出現する位置にある文字が指定されたと推定する規則であるとしている。この場合、ＣＰＵ２０は、図２Ｃにおける２番目の「Ｖｅ」（位置Ｐ２）が利用者の指定したターゲット音素であると確認し、利用者が最初に指定した文字（ターゲット音素）が基準文字列の２番目の文字「Ｃ２Ｖｅ」（位置Ｐ２）であると仮定する。なお、このように仮定された最初に指定した文字の位置は、次に述べるように、２番目のターゲット音素との組み合わせにおいて、別の位置に変更され得る。
【００４６】
次に、利用者が時刻Ｔ2において特定音素セレクタ５１によって２番目のターゲット音素「Ｖu」を指定すると、ＣＰＵ２０は、これを取得して前記バッファに記憶し（Ｓ１００）、該バッファ内には、ターゲット音素列"Ｖe"、"Ｖu"が保持される。すなわち、この時点では、２つの特定音素"Ｖe"、"Ｖu"からなるターゲット音素列がトータルで取得されたことになる。そして、ＣＰＵ２０は、前記ステップＳ１１１の処理により、現時点でバッファ内に取得したターゲット音素列"Ｖe"、"Ｖu"における前記特定音素の配列"Ｖe"、"Ｖu"に一致する、前記基準音素列内の１以上の遷移的音素配列を特定する。そして、前記ステップＳ１１２の処理により、特定された各遷移的音素配列における前記特定音素の並びの正しさ度合いに応じて、各遷移的音素配列に遷移評価値を付与する（つまり、該当する遷移パターンのタイプに応じて遷移確率を決定する）。この実施例においては、ステップＳ１１２における処理の具体例として、当該遷移的音素配列における各隣り合う２音素に対してその遷移パターンに応じて遷移評価値（遷移確率）をそれぞれ付与し、該遷移評価値を合成することにより該遷移的音素配列の全体評価値を生成する。なお、２番目のターゲット音素を取得した時点では、隣り合う２音素は１対しかないので、遷移評価値（遷移確率）の合成は不要である。
【００４７】
図２Ｃに示された基準音素列において、ターゲット音素列"Ｖｅ"、"Ｖｕ"に一致する遷移的音素配列は、前記遷移パターンＡに該当するものが、位置Ｐ２，Ｐ３からなる配列、位置Ｐ９，Ｐ１０からなる配列、位置Ｐ１５，Ｐ１６からなる配列、の３つであり、前記遷移パターンＥに該当するものが、位置Ｐ２，Ｐ６からなる配列、位置Ｐ２，Ｐ１３からなる配列、の２つである。従って、前記ステップＳ１１１の処理により、これら５つの配列を特定し、それぞれ記憶する。つまり、これら５つの配列が、現時点までに指定されたターゲット音素列によって間接的に指定されたターゲット文字列を特定しうる候補である。
【００４８】
図３においては、時刻Ｔ２におけるその取得に応じてこうして特定され記憶された前記５つの遷移的音素配列を、それぞれ符号Ｑ１２，Ｑ２２，Ｑ３２，Ｑ４２，Ｑ５２，で示している。また、図３においては、各遷移的音素配列Ｑ１２〜Ｑ５２の下に、それに対して付与された評価値の一例を矩形状の図式的な目盛りによって示している。この図式的な目盛りにおいては、白い矩形部分と黒い矩形部分の合計が１００％（確率１）を示し、黒い矩形部分が対応する遷移的音素配列の遷移確率（遷移評価値）を示している。例えば、上述の遷移パターンＡに該当する上位３個の遷移的音素配列Ｑ１２〜Ｑ３２は遷移確率は、約５０％（確率１／２）程度であり、上述の遷移パターンＥに該当する下位２個の遷移的音素配列Ｑ４２，Ｑ５２は約２０％（確率１／５）程度である。従って、上位３個の遷移的音素配列Ｑ１２〜Ｑ３２の方が、下位２個の遷移的音素配列Ｑ４２，Ｑ５２よりも、評価値が大きく、前者における前記特定音素の並びの正しさ度合いが後者におけるそれよりも高いと評価される。なお、各遷移的音素配列における隣り合う２音素に対して決定された遷移確率（遷移評価値）は記憶され、全体評価値を求めるために利用される。
【００４９】
次に、利用者が時刻Ｔ３において特定音素セレクタ５１によって３番目のターゲット音素「Ｖｏ」を指定すると、ＣＰＵ２０は、これを取得して前記バッファに記憶し（Ｓ１００）、該バッファ内には、ターゲット音素列"Ｖｅ"、"Ｖｕ"、"Ｖｏ"が保持される。すなわち、この時点では、３つの特定音素"Ｖｅ"、"Ｖｕ"、"Ｖｏ"からなるターゲット音素列がトータルで取得されたことになる（つまり、取得したターゲット音素列が更新される）。そして、ＣＰＵ２０は、前記ステップＳ１１１の処理により、現時点でバッファ内に取得したターゲット音素列"Ｖｅ"、"Ｖｕ"、"Ｖｏ"における前記特定音素の配列"Ｖｅ"、"Ｖｕ"、"Ｖｏ"に一致する、前記基準音素列内の１以上の遷移的音素配列を特定する。
【００５０】
具体的には、前記ステップＳ１１１では、利用者が前回ターゲット音素を指定した時刻Ｔ２において特定された（候補となった）各遷移的音素配列Ｑ１２〜Ｑ５２の最後の音素「Ｖｕ」から今回指定された音素「Ｖｏ」への遷移に着目して、今回指定された音素「Ｖｏ」が基準音素列のどの位置にあるかを、各遷移的音素配列毎にそれぞれ判定し、該判定した位置の基準音素を前回特定した遷移的音素配列の末尾に配置する（連鎖的に記憶する）ことにより新たな遷移的音素配列を特定する。
【００５１】
このようにして時刻Ｔ３において特定される遷移的音素配列、つまり、ターゲット音素列"Ｖｅ"、"Ｖｕ"、"Ｖｏ"に一致する遷移的音素配列は、位置Ｐ２，Ｐ３，Ｐ４からなる配列、位置Ｐ９，Ｐ１０，Ｐ１１からなる配列、位置Ｐ１５，Ｐ１６，Ｐ４からなる配列、位置Ｐ２，Ｐ６，Ｐ１１からなる配列、位置Ｐ２，Ｐ１３，Ｐ１４からなる配列、の５つである。図３においては、時刻Ｔ３におけるターゲット音素の取得に応じてこうして特定され記憶された前記５つの遷移的音素配列を、それぞれ符号Ｑ１３，Ｑ２３，Ｑ３３，Ｑ４３，Ｑ５３で示している。また、前述と同様に、各遷移的音素配列Ｑ１３〜Ｑ５３の下に、それに対して付与された評価値の一例を矩形状の図式的な目盛りによって示している。
【００５２】
各遷移的音素配列の評価値を求めるための前記ステップＳ１１２の処理においては、現在時点（時刻Ｔ３）では、過去の（１番目と２番目の２音素）の遷移パターンに応じた遷移確率（遷移評価値）は既に求められ記憶されているので、現在取得した（３番目の）音素とその直前の（２番目の）音素の間の遷移パターンに応じて遷移確率（遷移評価値）を求めればよい。
【００５３】
例えば、遷移的音素配列Ｑ１３の下側には、前回の時刻Ｔ２で特定した遷移的音素配列Ｑ１２における隣り合う２音素（位置Ｐ２から位置Ｐ３への遷移）に付与された遷移確率（遷移評価値）Ｏ２３と、現在の時刻Ｔ３で特定した遷移的音素配列Ｑ１３における最新の隣り合う２音素（前回特定された位置Ｐ３から今回特定された位置Ｐ４への遷移）に付与された遷移確率（遷移評価値）Ｏ３４とがグラフィカルに描かれており、さらに、その下側に、両者の積である合成確率Ｗ１３（＝Ｏ２３×Ｏ３４）（つまり、遷移評価値を合成した全体評価値）がグラフィカルに描かれている。この場合、前回の遷移に対して付与された遷移確率Ｏ２３は前述のように約５０％（確率１／２）程度であり、今回の遷移（Ｐ３からＰ４への遷移）は上述の遷移パターンＡに該当するから、これに対して付与される遷移確率Ｏ３４も約５０％（確率１／２）程度である。従って、両者の合成確率Ｗ１３は、約２５％（確率１／４）程度となる。
【００５４】
図３において、時刻Ｔ３において特定される他の遷移的音素配列Ｑ２３〜Ｑ５３の下方にも同様の書式で、各隣り合う２音素の遷移パターンに応じた遷移確率（遷移評価値）および合成確率Ｗ２３〜Ｗ５３（つまり全体評価値））がグラフィカルに描かれている。なお、前回の時刻Ｔ２で特定した遷移的音素配列Ｑ１２から派生される遷移的音素配列は、前記Ｑ１３に限らず、例えば、Ｐ２，Ｐ３，Ｐ１１という配列も存在し得る。しかし、Ｐ３からＰ１１への遷移に対しては低い遷移確率しか付与されないので、その合成確率も低いものとなる。しかし、可能性のあるすべての遷移的音素配列を記憶することには意味がないので、後述するように、そのような合成確率の低い遷移的音素配列は記憶することなく適宜削除してよい。従って、ステップＳ１１１で特定する１以上の遷移的音素配列は、可能性のあるすべての遷移的音素配列である必要はなく、可能性の高いいくつかを候補として特定するようにしてよい。
【００５５】
１つの遷移的音素配列が長くなると、基準文字列から利用者の指定したターゲット文字を推定する際の推定精度が飛躍的に向上する。例えば、図３に示す例において、時刻Ｔ２での遷移音素配列Ｑ１２〜Ｑ３２の合成確率は同一であったが、ターゲット音素列を構成する音素の増加によって遷移的音素配列が遷移的音素配列Ｑ１２〜Ｑ３２から時刻Ｔ３での遷移的音素配列Ｑ１３〜Ｑ３３に更新されると、合成確率に顕著な差異が生じる。すなわち、遷移的音素配列Ｑ１３，Ｑ２３において、特定音素「Ｖｕ」から特定音素「Ｖｏ」への遷移に該当する基準文字列上での文字の遷移は、Ｐ３，Ｐ４という遷移およびＰ１０，Ｐ１１という遷移であり、上述の遷移パターンＡに相当している。
【００５６】
一方、遷移的音素配列Ｑ３３において、特定音素「Ｖｕ」から特定音素「Ｖｏ」への遷移に該当する基準文字列上での文字の遷移は、Ｐ１６，Ｐ４という遷移であり、上述の遷移パターンＥである。従って、遷移特定音素列Ｑ１３，Ｑ２３と遷移特定音素列Ｑ３３とでは、特定音素「Ｖｕ」から特定音素「Ｖｏ」への遷移に対応する遷移パターンの遷移確率に差異があり、合成確率に差異が生じる。そして、このような差異は、遷移的音素配列が延びるほど顕著になる。
【００５７】
ところで、ＣＰＵ２０が各遷移的音素配列の合成確率を取得すると、ＣＰＵ２０はターゲット文字列推定部２０ｃの処理により、各合成確率と所定の閾値を比較するように構成されている。そして、ＣＰＵ２０は、合成確率が該所定の閾値以下である遷移的音素配列を破棄する（ＲＡＭ４０から削除する）。この結果、破棄された遷移的音素配列は、基準文字列から利用者の指定したターゲット文字列を推定するための候補から除外される。図３に示す例において、該所定の閾値を符号Ｔｈで示しており、遷移的音素配列Ｑ３３，Ｑ４３，Ｑ５３の合成確率Ｗ３３，Ｗ４３，Ｗ５３は所定の閾値Ｔｈ以下であるためこれらの遷移的音素配列Ｑ３３，Ｑ４３，Ｑ５３は破棄される。
【００５８】
このため、図３に示す例のように、時刻Ｔ４において利用者が４番目のターゲット音素「Ｖａ」を指定することにより、ターゲット音素が"Ｖｅ"、"Ｖｕ"、"Ｖｏ"，"Ｖａ"に更新されたとき、すでに破棄された遷移的音素配列Ｑ３３，Ｑ４３及びＱ５３は候補から除外される。一方、破棄されていない遷移的音素配列Ｑ１３及びＱ２３は候補に残され、これらをベースにして、ステップＳ１１１による基準音素列内の１以上の遷移的音素配列を特定する処理が行われる。図３においては、遷移的音素配列Ｑ１３に今回指定された特定音素"Ｖａ"が続く遷移的音素配列Ｑ１４（Ｐ２，Ｐ３，Ｐ４，Ｐ５からなる配列）及びＱ２４（Ｐ２，Ｐ３，Ｐ４，Ｐ８からなる配列）と、遷移的音素配列Ｑ２３に今回指定された特定音素"Ｖａ"続く遷移的音素配列Ｑ３４（Ｐ９，Ｐ１０，Ｐ１１，Ｐ１からなる配列）及びＱ４４（Ｐ９，Ｐ１０，Ｐ１１，Ｐ５からなる配列）が特定されることが例示されている。
【００５９】
各遷移的音素配列の評価値を求めるための前記ステップＳ１１２の処理においては、現在時点（時刻Ｔ４）では、過去の（１番目と２番目の２音素及び２番目と３番目の２音素）の遷移パターンに応じた遷移確率（遷移評価値）は既に求められ記憶されているので、現在取得した（４番目の）音素とその直前の（３番目の）音素の間の遷移パターンに応じて遷移確率（遷移評価値）を求める。
【００６０】
例えば、遷移的音素配列Ｑ１４の下側には、前々回及び前回の時刻Ｔ２及びＴ３で特定した各隣り合う２音素の遷移（位置Ｐ２から位置Ｐ３への遷移、及び位置Ｐ３から位置Ｐ４への遷移）に付与された遷移確率（遷移評価値）がそれぞれ描かれ、かつ、現在の時刻Ｔ４で特定した遷移的音素配列Ｑ１４における最新の隣り合う２音素（前回特定された位置Ｐ４から今回特定された位置Ｐ５への遷移）に付与された遷移確率（遷移評価値）がグラフィカルに描かれており、さらに、その下側に、３者の積である合成確率Ｗ１４（つまり、遷移評価値を合成した全体評価値）がグラフィカルに描かれている。この場合、前々回及び前回の遷移に対して付与された遷移確率は前述のようにそれぞれ約５０％（確率１／２）程度であり、今回の遷移（Ｐ４からＰ５への遷移）は上述の遷移パターンＡに該当するから、これに対して付与される遷移確率も約５０％（確率１／２）程度である。従って、３者の合成確率Ｗ１４は、約１２．５％（確率１／８）程度となる。
【００６１】
図３において、時刻Ｔ４において特定される他の遷移的音素配列Ｑ２４〜Ｑ４４の下方にも同様の書式で、各隣り合う２音素の遷移パターンに応じた遷移確率（遷移評価値）および合成確率Ｗ２４〜Ｗ４４（つまり全体評価値））がグラフィカルに描かれている。
【００６２】
さて、各時刻Ｔ２，Ｔ３，Ｔ４毎に、各遷移的音素配列の合成確率が取得されると、ＣＰＵ２０は、前記ステップＳ１１３の処理により、合成確率が最も高い遷移的音素配列に対応する基準文字列内の１つの文字配列を特定する。こうして特定された１つの文字配列が、利用者の意図したターゲット文字列であると推定することができる。なお、図２Ｂ，図２Ｃに示すように、基準音素列を構成する各音素の位置と基準文字列を構成する各文字の位置とは、一対一に対応しているため、基準音素列から生成された遷移的音素配列を構成する特定音素の各位置に対応する基準文字列の文字の各位置は容易に特定することができる。
【００６３】
例えば、図３に示す例で、時刻Ｔ２においては、最も合成確率が高い遷移的音素配列は、Ｑ１２，Ｑ２２，Ｑ３２であるから、適宜の基準に従って、そのうちいずれか１を選択することにより、選択された１つの遷移的音素配列に基づき、前記指定されたターゲット音素列"Ｖｅ，Ｖｕ"に対応する文字配列を特定する。この選択基準は、どのようなものでもよい。例えば、位置データの順位が最も若いものを選択してもよいし、ランダム選択してもよい。位置データの順位が最も若いものを選択すると仮定すると、位置データＰ２，Ｐ３からなる遷移的音素配列Ｑ１２が選択され、指定されたターゲット音素列"Ｖｅ，Ｖｕ"に対応する文字配列として、"Ｃ２Ｖｅ，Ｃ３Ｖｕ"が特定される。なお、後述するように、特定した文字をリアルタイムに表示するようにしてよく、また、特定した文字に基づく音声をリアルタイムに生成してもよい。後述するように、特定した文字列に対応する音声をリアルタイムに生成する場合は、特定した文字列の情報をＲＡＭ４０内に記憶しておき、適宜の音声生成タイミングで必要な１又は複数文字に対応する音声を生成し出力すればよい。
【００６４】
また、時刻Ｔ３においては、最も合成確率が高い遷移的音素配列は、Ｑ１３，Ｑ２３であるから、前記基準に従って、そのうちいずれか１を選択することにより、選択された１つの遷移的音素配列に基づき、前記指定されたターゲット音素列"Ｖｅ，Ｖｕ，Ｖｏ"に対応する文字配列を特定する。例えば、位置データＰ２，Ｐ３，Ｐ４からなる遷移的音素配列Ｑ１３が選択され、指定されたターゲット音素列"Ｖｅ，Ｖｕ，Ｖｏ"に対応する文字配列として、"Ｃ２Ｖｅ，Ｃ３Ｖｕ，Ｃ４Ｖｏ"が特定される。
【００６５】
同様に、時刻Ｔ４においては、最も合成確率が高い遷移的音素配列はＱ１４であるから、該Ｑ１４に基づき、前記指定されたターゲット音素列"Ｖｅ，Ｖｕ，Ｖｏ，Ｖａ"に対応する文字配列を特定する。これにより、位置データＰ２，Ｐ３，Ｐ４，Ｐ５からなる遷移的音素配列Ｑ１４に基づき、文字配列"Ｃ２Ｖｅ，Ｃ３Ｖｕ，Ｃ４Ｖｏ，Ｃ５Ｖａ"が特定される。
【００６６】
なお、前記ステップＳ１１１における処理において特定される遷移的音素配列における隣接する２音素は、必ずしも、基準文字列の順方向に遷移するものである必要はない。例えば、図３における時刻Ｔ３において特定される遷移的音素配列Ｑ３３には、位置Ｐ１６からＰ４へと逆方向に遷移している。また、前記遷移パターンＦ（基準文字列に存在しない文字列への遷移）として例示したように、図２Ｃ等に示す符号Ｐ１〜Ｐ１８に該当しない位置への文字の遷移（を含む配列も遷移的音素配列となり得る。すなわち、利用者が特定音素「Ｖｕ」と異なる特定音素「Ｖａ」を意図しながら、誤って特定音素「Ｖｕ」を操作してしまうこともあるため、このような遷移も遷移的音素配列として特定され得る。なお、上記説明では、合成確率（全体評価値）が所定の閾値以下になった候補を破棄するようにしているが、これに限らず、他の構成、例えば、合成確率の上位の一定個数の遷移的音素配列を記憶保持するようにしてもよい。
【００６７】
（７）音声生成処理
図４Ａに示すターゲット文字列の推定処理と並行して、ＣＰＵ２０は、音声生成力プログラム３０ａの処理により、図４Ｂに示すような音声生成処理を実行する。なお、順次に取得されるターゲット音素（時刻Ｔ１〜Ｔ４）に応じた、図４Ａに示す推定処理の結果得られる、最新の更新された文字配列の情報（つまり、推定したターゲット文字列の情報）がＲＡＭ４０に記憶され、該記憶したターゲット文字列の情報に基づき、該文字列を発話するための音声が、適宜の音声生成タイミングで生成される。一例として、該音声生成タイミングは、利用者が音高操作子５０で所望の音高を選択する操作に同期して設定される。別の例として、該音声生成タイミングは、ＭＩＤＩデータなどに基づく自動演奏シーケンスに従って自動的に設定されてもよい。さらに別の例として、該音声生成タイミングは、通信ネットワークを介して遠隔地から受信した情報に基づいて設定されてもよい。以下の説明では、該音声生成タイミングは、利用者が音高操作子５０で所望の音高を選択する操作に同期して設定されるものとする。なお、原則的には、所望のターゲット音素を指定するタイミングは、該ターゲット音素に対応する音声を発音すべきことを指定するタイミングよりも適宜に先行していることが望ましい。しかし、ターゲット音素の指定タイミングの時間遅れを適宜に吸収するために、音声生成開始を待機する処理を行うことにより、前者の遅れを適切に吸収することができる。
【００６８】
指定したターゲット文字列に対応する音声を生成するタイミング及び該音声の音高を指定する音高操作子５０は、該音高操作子５０（鍵盤）の全部ではなく、該音高操作子５０（鍵盤）から特定音素セレクタ５１として使用される部分を除外した部分である。利用者が所望の音高を指定するために音高操作子５０を押し込み操作（キーオン）すると、ＣＰＵ２０は、図４ＢのステップＳ２００でキーオンと判定して、ステップＳ２０１に進み、音高操作子５０が備えるセンサの出力情報に基づいて、操作状況（該指定された音高を示す音高指定情報及び該操作時のベロシティ若しくは強度等を示す情報など）を取得する。次に、ＣＰＵ２０は、前記特定された文字配列（ターゲット文字列と推定されたＲＡＭ４０に記憶された文字列）の中から、音声生成すべき１又は複数の文字を示す文字情報を取得する（Ｓ２０５）。例えば、ＲＡＭ４０に記憶された文字列において、どの文字まで音声生成を行ったか（又は次にどの文字を音声生成すべきか）を示すポインタを備え、該ポインタから判断して、ＲＡＭ４０に記憶された文字列の中から、音声未生成である１又は複数の文字を示す文字情報を取得する。もし音声未生成である１又は複数の文字が存在しない場合は、ステップＳ２０５では、適宜の基準に従って文字情報を取得すればよい。例えば、直前に音声生成した１又は複数の文字を示す文字情報を再度取得してもよい。若しくは、音声未生成である１又は複数の文字が存在しない場合は、又は、音声未生成である１又は複数の文字が存在するか否かに係わらず、ステップＳ２０５で所定の短時間待機するようにしてもよい。これにより、操作タイミングのバラツキのために、意図せずに、音高操作子５０の操作による音声生成タイミングの指定が特定音素セレクタ５０によるターゲット音素の指定に幾分先行したとしても、問題のない音声生成を行うことができる。
【００６９】
次に、ＣＰＵ２０は、前記取得した文字情報に対応する音声を前記取得した音高指定情報により指定された音高および音量強度等で生成する（Ｓ２１０）。具体的には、ＣＰＵ２０は、音声素片データベース３０ｃから前記取得した文字情報によって示された１又は複数文字に対応する音声を再現するための音声素片データを取得する。さらに、ＣＰＵ２０は、取得された音声素片データの中の母音に対応したデータに対して音高変換処理を実行し、前記音高指定情報により指定された音高を持つ母音音声素片に変換する。さらに、ＣＰＵ２０は、前記取得した文字情報によって示された１又は複数文字に対応する音声を再現するための音声素片データの中の母音に対応したデータを、前記音高変換処理後の母音音声素片データに置換し、これらの音声素片データを組み合わせたデータに対して逆ＦＦＴを施す。この結果、前記取得した文字情報によって示された１又は複数文字に対応する音声を再現するための音声信号（時間領域のデジタル音声信号）が生成される。
【００７０】
なお、前記音高変換処理は、特定の音高の音声を他の音高の音声に変換する処理であれば良く、例えば、音高操作子５０で指示された音高と音声素片データが示す音声における基準の音高との差分を求め、当該差分に相当する周波数だけ音声素片データの波形が示すスペクトル分布を周波数軸方向に移動させる処理等によって実行可能である。むろん、音高変換処理は、他にも種々の処理によって実現可能であり、当該処理は時間軸上で行われてもよい。さらに、ステップＳ２１０の処理において、生成される前記音声の種々の態様（音高、音量、音色等）が調整可能であっても良く、例えばビブラート等を付与する音声制御が実行されても良い。
【００７１】
音声信号が生成されると、ＣＰＵ２０は、当該音声信号を音出力部７０に対して出力する。この結果、音出力部７０は、当該音声信号をアナログ波形信号に変換し、増幅して出力する。従って、音出力部７０から、前記取得した文字情報によって示された１又は複数文字に対応する音声であって、音高操作子５０で指定された音高及び音量等を持つ該音声が出力される。
【００７２】
さらに、ＣＰＵ２０は、音高操作子５０が備えるセンサの出力情報に基づいて、音高操作子５０に対する押し込み操作が解除された（キーオフ）か否か判定する（Ｓ２０２）。そして、音高操作子５０に対する押し込み操作が解除されたと判定された場合、ＣＰＵ２０は、生成中の音声を停止（又は減衰）し、音出力部７０から出力される音声信号が消音されるようにする（Ｓ２１５）。この結果、音出力部７０からの音声出力が停止する。以上の構成により、ＣＰＵ２０は、音高操作子５０で指定された音高および強度の音声を、音高操作子５０で指定された期間継続して出力させる。
【００７３】
以上の処理によれば、利用者が、特定音素セレクタ５１の操作直後（または操作と同時）に所望の音高を指定する音高操作子５０を操作することにより、利用者所望の文字を利用者所望の音高で出力する演奏を行うことが可能になる。また、利用者が、音高を指定する音高操作子５０の操作直後に特定音素セレクタ５１を操作した場合、つまり、特定音素セレクタ５１の操作がわずかに音高を指定する音高操作子５０の操作よりも遅かった場合であっても、特定音素セレクタ５１の操作がわずかに音高を指定する音素セレクタ５０の操作よりも早かった場合と実質的には変わらない音声が出力される。
【００７４】
なお、特定音素セレクタ５１が操作されることなく、音高操作子５０の押鍵が繰り返された場合、ステップＳ２０５において、音声未生成である１又は複数の文字が存在しないことにより、直前に音声生成した１又は複数の文字を示す文字情報を再度取得するように構成することにより、同じ文字情報に基づく音声が繰り返し生成され得る。このような機能は、例えば、或る文字「ら」に対応する音声を同一の音高または異なる音高で「ら、ら、ら」のように、何回か繰り返して出力する場合に利用されるのに適している。
【００７５】
以上述べた実施例によれば、利用者は、特定の限られた複数種の音素の中から必要な音素を指定するという簡易な操作で、ターゲット文字列中の所望の文字を指定することが可能になる。また、利用者がアドリブや誤操作を含む各種の操作を行ったとしても、ＣＰＵ２０は基準文字列から利用者の指定した文字を高精度に推定することができる。従って、利用者は、予め決められた基準文字列内の文字を高い自由度で指定することができる。さらに、利用者は、任意の基準文字列の歌詞を、利用者所望のテンポおよび利用者所望の音高で出力させることができる。従って、任意の基準文字列の歌詞を演奏する際に、利用者は、旋律を自由に変更することができる。
【００７６】
（８）ユーザーインターフェイス
特定音素セレクタ５１の操作によって指定される音素は、基準文字列内の所望のターゲット文字を間接的に示しているため、直感的に意図した文字を指定できるようにするために各種の支援が行われてもよい。この点に鑑みて、本実施形態においては、入出力部６０の表示部に所定のユーザーインターフェイスが表示され、利用者がより直感的に特定音素セレクタ５１を操作できるように構成されている。
【００７７】
図１Ｃは、当該ユーザーインターフェイスの例を示す図である。ＣＰＵ２０は、表示制御部２０ｄの処理によって、当該ユーザーインターフェイスを入出力部６０の表示部Ｄ上に表示する。図１Ｃに示すユーザーインターフェイスにおいては、入出力部６０の表示部Ｄ上に前記特定音素セレクタ５１のイメージ（一例として複数の白鍵及び黒鍵のイメージ）を示す画像５１ｄが表示される。そして、画像５１ｄの各鍵イメージ内に、該鍵に対応する特定音素が次に指定された場合に、それに応じて推定される文字を、最有力候補として表示するように構成されている。本実施形態においては、特定音素セレクタ５１を構成するＣ，Ｄ，Ｅ，Ｆ，Ｇ，Ｄ＃の各鍵のイメージ内に、対応する特定音素が次に指定された場合に最有力候補として表示される。図１Ｃにおいて、各鍵のイメージ内に記載された符号ＣＣ，ＣＤ，ＣＥ，ＣＦ，ＣＧ，ＣＤ＃は、各特定音素に対応して推定される最有力候補の文字を示している。従って、実際には、これらの符号ＣＣ，ＣＤ，ＣＥ，ＣＦ，ＣＧ，ＣＤ＃が描かれた箇所に、実際の文字が表示される。このように、次の最有力候補文字が表示部に表示されると、利用者が当該表示部を視認することにより、利用者は、特定音素セレクタ５１の各鍵と次の最有力候補文字とを関連づけて直感的に確認することができる。従って、特定音素セレクタ５１によって特定の限られた音素を指定する構成でありながら、利用者が実質的に文字を指定しているように感じるように構成することができる。
【００７８】
なお、図１Ｃに示すユーザーインターフェイスにおいては、次の最有力候補文字以外にも各種の情報が表示される。例えば、アイコンＩには、現時点の推定処理によって利用者が指定したと推定された最新の１文字が表示される。また、ウィンドウＷ１には、処理対象として選択された基準文字列（その全体又は一部）が表示され、ウィンドウＷ２には、図２Ｂに示すようなグループ化後の該基準文字列（その全体又は一部）が表示される。なお、図１Ｃにおいては、基準文字列から利用者の指定した文字として推定された１文字を符号「ＣＶ」で示している。この構成によれば、利用者が当該表示部を視認することにより、自身が意図する文字と推定された文字とが一致しているか否かを確認することができる。なお、最新の１文字のみを表示するアイコンＩに代えて、現時点までに特定された複数文字からなる文字配列を表示してもよい。
【００７９】
なお、ウィンドウＷ２においては、前記推定処理の結果を利用して、利用者が基準文字列から指定したと推定された文字が含まれるグループを強調する表示を付加しても良い。当該付加表示を行うためには、ＣＰＵ２０は、基準文字列から利用者の指定した文字を推定した後、当該文字が含まれる形態素グループを判定し、当該形態素グループを強調表示するための制御信号を入出力部６０の表示部に与えればよい。
【００８０】
画像５１ｄの各鍵イメージ内で表示すべき次の最有力候補文字の決定手法の一例について説明する。例えば、図３に示す時刻Ｔ３において、ＣＰＵ２０は、次に特定音素セレクタ５１が操作される前に、表示制御部２０ｄの処理によって、今回指定された音素「Ｖｏ」の次にすべての特定音素のそれぞれが指定される場合を仮定し、それぞれの場合について、対応する最有力候補文字の推定を行う。例えば、音素「Ｖａ」が指定されたと仮定する場合、ＣＰＵ２０は、図３において時刻Ｔ４に例示したように、合成確率が最も高い遷移的音素配列に基づいて位置Ｐ５の文字が指定されたと推定する。ＣＰＵ２０は、他の特定音素についても同様に、各音素が指定されたと仮定した場合において特定される文字の推定を行う。
【００８１】
各音素が指定されたと仮定した場合における文字の推定が行われると、ＣＰＵ２０は、各特定音素について推定された文字を該特定音素に関連する次の最有力候補文字とする。そして、ＣＰＵ２０は、表示制御部２０ｄの処理により、該次の最有力候補文字を表示部Ｄ上の画像５１ｄのエリアに表示する。
【００８２】
（９）複数の遷移パターンの意義
上述した本実施形態によれば、指定されたターゲット音素列に完全一致する音素配列のみを基準音素列から抽出するのではなく、指定されたターゲット音素列のように特定音素が遷移する遷移的音素配列を基準音素列から１以上抽出し、各遷移的音素配列の遷移確率に基づいて基準文字列から利用者の指定したターゲット文字列を推定している。従って、ターゲット音素列の指定の際に、利用者がアドリブで文字の位置のジャンプを行った場合や誤操作した場合も含む１以上の場合に対応する遷移的音素配列を候補として特定し、これらの候補の中から選択された遷移的音素配列に基づき、基準文字列から利用者の指定した文字を推定していることになる。従って、基準文字列における正しい順序を適宜変更して利用者がターゲット音素列を指定することからなる「アドリブ」や、誤操作が行われた場合であっても、基準文字列の中から利用者の指定した文字を推定することができる。
【００８３】
さらに、本実施形態においては、遷移パターンとして典型的なパターンを複数個予め定義しておくことにより、典型的な遷移パターンの全てを考慮してターゲット文字列の推定処理を行うことができる。このため、典型的な複数個の遷移パターンについて解析するのみで、利用者によって指定されたターゲット音素列における文字の遷移として起こりえるパターンを充分に考慮することができ、簡易な解析によって利用者が指示した文字を高精度に推定することができる。
【００８４】
さらに、本実施形態においては、利用者が基準文字列から文字を指定する際に発生する特徴的な文字の遷移を遷移パターンとして表現することによって、基準文字列から利用者の指定した文字の推定精度を向上させることができる。例えば、繰り返しを含む歌詞において、当該繰り返しにおける文字の配列順序と繰り返しが行われない他の部位における文字の配列順序とは顕著に異なる場合が多い。従って、例えば上述の遷移パターンＢが発生した場合、極めて高い確率で利用者が歌詞の或る特定の部分を繰り返し指定したと推定することができ、推定精度を向上させることができる。
【００８５】
なお、基準文字列が歌詞である場合、１番と２番が存在する歌詞など、歌詞内の異なる場所に同一文字列が存在する場合がある。そのような場合、同じ文字配列からなる２つの（１番と２番の）文字列の一方の文字列の後に、歌詞の順序通りではなく、他方の文字列の直後の歌詞を歌いたい場合もあり得る。例えば、図２Ｂに示す例において、文字列Ｓ１の後に、位置Ｐ５の歌詞文字ではなく、位置Ｐ１２の歌詞文字を歌いたい場合もあり得る。このような遷移は、アドリブ演奏や演奏の練習などにおいて発生する極めて特徴的な遷移である。このような場合は、上述の遷移パターンＣ（異なる位置に存在する同一文字列の次の文字への遷移）に該当するので、該遷移パターンＣを適用して評価値を算出することにより、推定精度を向上させることができる。
【００８６】
さらに、本実施形態においては、上述の遷移パターンの一部が上述のグループに基づいてパターン化されているため、遷移パターンに基づく利用者の文字の指定の推定精度を向上させることができる。例えば、上述の例では、２文字以上の遷移については、遷移パターンＤと遷移パターンＥとの異なるパターンで類型化されている。そして、一般的な歌詞の進行においては、歌詞の位置が大きく変化する場合より、変化が小さい場合（誤って一文字飛ばす等）の方が発生しやすい。従って、遷移前後のグループの位置関係に基づいて遷移が発生しやすいか否か区別することができ、遷移パターンＤの遷移確率を遷移パターンＥの遷移確率よりも大きくすることで正確に推定を行うことができる。
【００８７】
グループ化を利用すると、さらに、詳細な遷移パターンを定義することでさらに推定精度を向上させることも可能である。例えば、形態素によって構成された各グループに着目すると、各グループは意味のある集合であるため、任意の位置から各グループの先頭へ遷移することはあり得るが、各グループの途中や末尾に遷移する確率は極めて小さい。従って、グループの先頭への遷移確率をグループの他の位置への遷移確率より高くすれば、推定精度を向上させることができる。
【００８８】
（１０）ターゲット音素列の楽譜表記
本実施形態においては、それぞれに特定音素が割り当てられた複数の鍵を、特定音素セレクタ５１として使用している。これによれば、利用者は、楽器の演奏のような操作で所望の特定音素を指定することができる。また、特定音素セレクタ５１に対応する音高（鍵名）を楽譜に記すことにより、所定のターゲット文字列を指定するための特定音素セレクタ５１の操作手順を書面化することができる。このように書面化された情報は、所定のターゲット文字列を指定するための操作手順を客観的に第３者に伝えたり、該情報を参照して利用者が反復練習を行うことを可能にする。
【００８９】
（１１）他の実施形態：
本発明の適用対象は、鍵盤楽器１０に限定されず、音高操作子５０を備えた他の電子楽器であってもよいし、基準文字列情報３０ｂを含む録音情報や録画情報の再生装置などであってもよい。
【００９０】
さらに、特定音素を指定するための操作子は、鍵盤楽器１０の鍵に限定されない。例えば、キーボードやタッチパネル等によって特定音素を指定する構成であっても良い。さらに、特定音素を指定するための手法としても種々の手法を採用可能であり、例えば、押し込み操作やボタンの指定操作以外にも、フリック操作等を採用可能である。さらに、１個のキーやボタンに１個の特定音素が対応していても良いし、複数個（例えば、３個）のキーやボタンの組み合わせでより多数の特定音素を指定する構成等を採用しても良い。
【００９１】
さらに、一旦指定したターゲット音素列を利用者が修正できるように構成しても良い。例えば、利用者が特定音素の指定の際に誤操作した場合にＣＰＵ２０が誤操作のキャンセル操作を利用者から受け付け、当該誤操作をキャンセルするように構成しても良い。また、推定処理の結果得られたターゲット文字列が誤推定であった場合にもＣＰＵ２０が誤推定のキャンセル操作を利用者からを受け付け、当該推定をキャンセルするように構成しても良い。さらに、基準文字列の一部（例えば、演奏開始の初期のみ）について本実施形態における文字の推定が行われるように構成されていても良い。この場合、利用者の指定した特定音素から演奏開始時の歌詞が推定される一方、演奏開始後には自動的に歌詞を１文字ずつ進行するように構成できるので、アドリブ演奏に対応しつつも演奏中の操作が容易になる。
【００９２】
さらに、遷移的音素配列の遷移確率を取得する際に参照される遷移の回数には上限が設けられても良い。例えば、遷移回数の上限を４回〜８回とするような構成を採用可能であり、遷移回数の上限が４回であれば、最後に指定された特定音素とそれより前に指定された３回分の特定音素とによってターゲット音素列が形成されることになる。
【００９３】
さらに、各遷移パターンに対して割り当てられた遷移確率の値は、推定処理動作の実行中に適宜補正されるようになっていてもよい。例えば、或るターゲット文字列をリクエストするために、特定音素を順次指定してゆく過程において、該特定音素の指定が進行するに伴い、現時点以前に特定された遷移的音素列に基づき、それ以降において、或る遷移パターンの発生する確率が高いまたは低いことが判明する場合がある。そのような場合、当該ターゲット文字列をリクエストするために、以後指定される特定音素に応じた推定処理に際しては、当該遷移パターンの遷移確率を適宜補正した上で評価を行うようにしてよい。このように、各遷移パターンに対して割り当てられた遷移確率を固定することなく、現在以前に指定された複数回分の経過的なターゲット音素列に応じて特定された経過的な遷移的音素列に基づいて、それ以後における適宜の遷移パターンの遷移確率を調整しても良い。
【００９４】
より具体的には、図２Ｃに示す位置Ｐ15，Ｐ16のように同一文字列が２回繰り返される場合において、その直後の基準音素が「Ｖe」である場合を想定する。この場合において、位置Ｐ15以後に指定されるターゲット音素列が「Ｖe，Ｖu，Ｖe，Ｖu，Ｖe」である場合、利用者が、位置Ｐ15，Ｐ16の文字を３回繰り返して指定しようとしている場合と、位置Ｐ15，Ｐ16の文字を２回繰り返して指定した後に基準文字列の正しい順序通りに歌詞を進行させた場合との双方が遷移的音素配列の候補となる。しかし、通常は、基準文字列通りの正しい遷移が発生する確率が一番高いため、利用者が前者よりも後者の指定する確率が高いことが、基準文字列から推定される。従って、前者を示す遷移的音素配列よりも後者を示す遷移的音素配列の方が、相対的に高く評価されるように遷移確率を補正しても良い。
【００９５】
また、図２Ｃに示す位置Ｐ15，Ｐ16のように同一文字列が２回繰り返される場合において、その直後の基準音素列が「Ｖe，Ｖu」である場合を想定する。この場合において、位置Ｐ15以後に指定されるターゲット音素列が「Ｖe，Ｖu，Ｖe，Ｖu，Ｖe，Ｖu」である場合、利用者が、位置Ｐ15，Ｐ16の文字を３回繰り返して指定した場合と、位置Ｐ15，Ｐ16の文字を２回繰り返して指定した後に基準文字列の順列通りに歌詞を進行させた場合との双方が遷移的音素配列の候補となる。この場合、最後に特定音素「Ｖu」が指定された段階において、前者、後者のいずれであるのか区別できないが、さらに特定音素の指定が進行すれば、繰り返しが行われた場合と基準文字列の正しい順序通りに歌詞を進行させた場合とが区別できる。例えば、基準順列において、図２Ｃに示す位置Ｐ15，Ｐ16のように同一文字列が２回繰り返され、その直後の基準音素列が「Ｖe，Ｖu，Ｖa」である場合、利用者が特定音素「Ｖe，Ｖu」の指定を３回繰り返した後に特定音素「Ｖa」を指定すれば後者である確率が高く、特定音素「Ｖe」を指定すれば前者である確率が高いと推定することができる。従って、この段階で、確率が高い方の遷移的音素配列が相対的に高く評価されるように遷移確率を補正しても良い。
【００９６】
さらに、上述の実施形態において、特定音素「ん」は唯一の子音であるとともに、特定音素「ん」を指定する特定音素セレクタ５１のみが黒鍵である。従って、特定音素「ん」が指定された場合、他の特定音素が指定された場合よりも信頼性が高いと見なし、最後の特定音素が「ん」となる遷移的音素配列が相対的に高く評価されるように遷移確率を補正しても良い。
【符号の説明】
【００９７】
１０…鍵盤楽器、２０…ＣＰＵ、２０ａ…ターゲット音素列取得部、２０ｂ…基準音素列取得部、２０ｃ…ターゲット文字列推定部、２０ｄ…表示制御部、３０…不揮発性メモリ、３０ａ…音声生成プログラム、３０ｂ…基準文字列情報、３０ｃ…音声素片データベース、４０…ＲＡＭ、５０…音高操作子、５１…特定音素セレクタ、５１ｄ…画像、６０…入出力部、７０…音出力部
【図１】
0006645063.tif 000002
【図２】
0006645063.tif 000003
【図３】
0006645063.tif 000004
【図４】
0006645063.tif 000005