(57)【特許請求の範囲】
【請求項１】
文を音読するときの音声の波形を示す音声波形データに基づいて複数に区分された文要素区間であって前記文を構成する文要素の開始タイミングから終了タイミングまでの文要素区間と、前記文のテキストデータに基づいて複数に区分されたテキストであって前記文要素を表すテキストとを、前記文の先頭から時系列で対応付けた対応付けデータを記憶する第１記憶手段と、
前記対応付けデータに基づいて、前記文要素区間の時間長に応じた長さの表示バーと、前記テキストとを、前記文の先頭から時系列で対応付けて第１表示領域に表示させる第１表示制御手段と、
前記表示バー毎に対応付けられて表示される前記テキストのうち、少なくとも何れか１つの前記テキストを第２表示領域に表示させる第２表示制御手段と、
前記第２表示領域に表示された前記テキストにおける何れかの文字間の位置の指定を受け付ける第１指定受付手段と、
前記第２表示領域に表示された前記テキストから前記指定された位置より時系列で後にあるテキストを分離し、分離されたテキストを、前記第２表示領域に表示された前記テキストに対応付けられている前記文要素区間より時系列で１つ後の前記文要素区間に対応付けるように前記対応付けを更新する対応付け更新手段と、
を備えることを特徴とするテキスト対応付け編集装置。
【請求項２】
前記音声波形データに基づいて前記文要素区間の時間長より短い所定時間間隔毎に特定された音高と音圧との少なくとも何れか一方の音要素を示す音要素データを記憶する第２記憶手段と、
前記音要素データが示す音高と音圧との少なくとも何れか一方の音要素の時系列的な変化を表すグラフを、前記表示バーに対応付けて前記第１表示領域に表示させる第３表示制御手段と、
を更に備えることを特徴とする請求項１に記載のテキスト対応付け編集装置。
【請求項３】
前記対応付け更新手段は、前記第１指定受付手段により前記指定が受け付けられ、且つ第１のユーザ操作があった場合、前記分離されたテキストを前記１つ後の前記文要素区間に対応付け、且つ、前記指定の受け付け前の時点で既に前記１つ後の前記文要素区間以後の前記文要素区間それぞれに対応付けられている前記テキストが新たに対応付けられる前記文要素区間を１つずつ繰り下げるように前記対応付けを更新することを特徴とする請求項１または２に記載のテキスト対応付け編集装置。
【請求項４】
前記対応付け更新手段は、前記第１指定受付手段により前記指定が受け付けられ、且つ第２のユーザ操作があった場合、前記分離されたテキストと、前記指定の受け付け前の時点で既に前記１つ後の前記文要素区間に対応付けられている前記テキストとを結合した結合テキストを前記１つ後の前記文要素区間に対応付けるように前記対応付けを更新することを特徴とする請求項１乃至３の何れか一項に記載のテキスト対応付け編集装置。
【請求項５】
前記第１表示領域に表示された複数の前記表示バーのうち、何れか１つの前記表示バーの選択を受け付ける選択受付手段を更に備え、
前記第２表示制御手段は、前記選択された前記表示バーに対応付けられている前記テキストを前記第２表示領域に表示、または前記選択された前記表示バーに対応付けられている前記テキストを前記第２表示領域において強調表示させることを特徴とする請求項１乃至４の何れか一項に記載のテキスト対応付け編集装置。
【請求項６】
前記対応付け更新手段により前記テキストと前記文要素区間との対応付けが更新された場合、前記第１表示制御手段は、更新後の前記対応付けに基づいて、前記表示バーと前記テキストとを対応付けた表示を更新することを特徴とする請求項１乃至５の何れか一項に記載のテキスト対応付け編集装置。
【請求項７】
前記第２表示領域に表示された前記テキストの末尾の位置の指定を受け付ける第２指定受付手段を更に備え、
前記対応付け更新手段は、前記第２指定受付手段により前記指定が受け付けられ、且つ第３のユーザ操作があった場合、前記第２表示領域に表示された前記テキストと、このテキストに対応付けられている前記文要素区間より時系列で１つ後の前記文要素区間に対応付けられているテキストとを結合した結合テキストを、前記第２表示領域に表示された前記テキストに対応付けられている前記文要素区間に対応付けるように前記対応付けを更新することを特徴とする請求項１乃至６の何れか一項に記載のテキスト対応付け編集装置。
【請求項８】
前記対応付け更新手段は、前記第２表示領域に表示された前記テキストと、このテキストに対応付けられている前記文要素区間より時系列で１つ後の前記文要素区間に対応付けられているテキストとを結合した結合テキストを、前記第２表示領域に表示された前記テキストに対応付けられている前記文要素区間に対応付け、且つ、前記第２表示領域に表示された前記テキストに対応付けられている前記文要素区間より時系列で２つ後の前記文要素区間以後の前記文要素区間それぞれに対応付けられている前記テキストが新たに対応付けられる前記文要素区間を１つずつ繰り上げるように前記対応付けを更新することを特徴とする請求項７に記載のテキスト対応付け編集装置。
【請求項９】
前記第２表示領域に表示された前記テキストの先頭の位置の指定を受け付ける第３指定受付手段を更に備え、
前記対応付け更新手段は、前記第３指定受付手段により前記指定が受け付けられ、且つ第４のユーザ操作があった場合、前記第２表示領域に表示された前記テキストと、このテキストに対応付けられている前記文要素区間より時系列で１つ前の前記文要素区間に対応付けられているテキストとを結合した結合テキストを、前記１つ前の前記文要素区間に対応付けるように前記対応付けを更新することを特徴とする請求項１乃至８の何れか一項に記載のテキスト対応付け編集装置。
【請求項１０】
前記対応付け更新手段は、前記第２表示領域に表示された前記テキストと、このテキストに対応付けられている前記文要素区間より時系列で１つ前の前記文要素区間に対応付けられているテキストとを結合した結合テキストを、前記１つ前の前記文要素区間に対応付け、且つ、前記第２表示領域に表示された前記テキストに対応付けられている前記文要素区間より時系列で１つ後の前記文要素区間以後の前記文要素区間それぞれに対応付けられている前記テキストが新たに対応付けられる前記文要素区間を１つずつ繰り上げるように前記対応付けを更新することを特徴とする請求項９に記載のテキスト対応付け編集装置。
【請求項１１】
前記対応付け更新手段は、複数の前記テキストのうち何れかの前記テキストの先頭文字から所定の区切り文字までのテキスト部分のみを、前記何れかの前記テキストが対応付けられている前記文要素区間より時系列で１つ前の前記文要素区間に対応付けるように前記対応付けを更新することを特徴とする請求項８または１０に記載のテキスト対応付け編集装置。
【請求項１２】
前記第１表示領域に離間して表示された複数の前記表示バーの境界領域から所定距離以内の近傍位置にアイコンを表示させる第４表示制御手段と、
前記表示されたアイコンの指定を受け付ける第４指定受付手段と、
を更に備え、
前記対応付け更新手段は、前記第４指定受付手段により前記アイコンの指定が受け付けられた場合、前記離間して表示された複数の前記表示バーそれぞれに対応する前記文要素区間を含む結合文要素区間と、前記離間して表示された複数の前記表示バーそれぞれに対応付けられている前記テキストを結合した結合テキストとを対応付けるように前記対応付けを更新することを特徴とする請求項１乃至１１の何れか一項に記載のテキスト対応付け編集装置。
【請求項１３】
前記第４表示制御手段は、前記結合文要素区間と前記結合テキストとの対応付けに応じて、前記アイコンの表示態様を変化させ、
前記結合文要素区間と前記結合テキストとの対応付け後に、前記結合テキストにおける何れかの文字間の位置の指定と前記表示態様が変化したアイコンの指定とが受け付けられた場合、前記対応付け更新手段は、前記結合文要素区間を元の複数の前記文要素区間に戻し、元に戻された複数の前記文要素区間のうち、先頭の前記文要素区間に、前記結合テキスト中の前記指定された位置より時系列で前にあるテキストを対応付け、且つ先頭の前記文要素区間より時系列で１つ後の前記文要素区間に、前記指定された位置より時系列で後にあるテキストを対応付けるように前記対応付けを更新することを特徴とする請求項１２に記載のテキスト対応付け編集装置。
【請求項１４】
１つ以上のコンピュータにより実行されるテキスト対応付け編集方法であって、
文を音読するときの音声の波形を示す音声波形データに基づいて複数に区分された文要素区間であって前記文を構成する文要素の開始タイミングから終了タイミングまでの文要素区間と、前記文のテキストデータに基づいて複数に区分されたテキストであって前記文要素を表すテキストとを、前記文の先頭から時系列で対応付けた対応付けデータを記憶手段に記憶する記憶ステップと、
前記対応付けデータに基づいて、前記文要素区間の時間長に応じた長さの表示バーと、前記テキストとを、前記文の先頭から時系列で対応付けて第１表示領域に表示させる第１表示制御ステップと、
前記表示バー毎に対応付けられて表示される前記テキストのうち、少なくとも何れか１つの前記テキストを第２表示領域に表示させる第２表示制御ステップと、
前記第２表示領域に表示された前記テキストにおける何れかの文字間の位置の指定を受け付ける指定受付ステップと、
前記第２表示領域に表示された前記テキストから前記指定された位置より時系列で後にあるテキストを分離し、分離されたテキストを、前記第２表示領域に表示された前記テキストに対応付けられている前記文要素区間より時系列で１つ後の前記文要素区間に対応付けるように前記対応付けを更新する対応付け更新ステップと、
を含むことを特徴とするテキスト対応付け編集方法。
【請求項１５】
文を音読するときの音声の波形を示す音声波形データに基づいて複数に区分された文要素区間であって前記文を構成する文要素の開始タイミングから終了タイミングまでの文要素区間と、前記文のテキストデータに基づいて複数に区分されたテキストであって前記文要素を表すテキストとを、前記文の先頭から時系列で対応付けた対応付けデータを記憶手段に記憶する記憶ステップと、
前記対応付けデータに基づいて、前記文要素区間の時間長に応じた長さの表示バーと、前記テキストとを、前記文の先頭から時系列で対応付けて第１表示領域に表示させる第１表示制御ステップと、
前記表示バー毎に対応付けられて表示される前記テキストのうち、少なくとも何れか１つの前記テキストを第２表示領域に表示させる第２表示制御ステップと、
前記第２表示領域に表示された前記テキストにおける何れかの文字間の位置の指定を受け付ける指定受付ステップと、
前記第２表示領域に表示された前記テキストから前記指定された位置より時系列で後にあるテキストを分離し、分離されたテキストを、前記第２表示領域に表示された前記テキストに対応付けられている前記文要素区間より時系列で１つ後の前記文要素区間に対応付けるように前記対応付けを更新する対応付け更新ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文を音読するときの音声の波形を示す音声波形データに基づいて複数に区分された文要素区間と、文のテキストデータに基づいて複数に区分された文要素を表すテキストとを時系列で対応付けることが可能なシステム等の技術分野に関する。
【背景技術】
【０００２】
近年、語学学習、アナウンス、または朗読等の練習支援を目的として、複数の文要素（例えば、フレーズや単語）を含む文を音読するときの手本（模範）となる音声に関する情報（例えば、音圧、音高、文要素を表すテキスト等）と、練習者が上記文を音読したときに発した音声に関する情報とを、比較可能に画面に表示するシステムが知られている。例えば、特許文献１に開示された技術では、単語毎に模範音声のピッチと、学習者の音声のピッチとを一緒に表示するようになっている。
【０００３】
上述したようなシステムでは、文を音読するときの音声の波形を示す音声波形データに基づいて音声の波形の塊を所定のプログラムが判別し文要素（例えば、フレーズ）単位で分割することで複数の文要素区間（言い換えれば、文要素の波形の区間）を特定する。また、上記システムは、文のテキストデータに基づいて文全体のテキストを文要素（例えば、フレーズ）単位で分割することで複数のテキスト（つまり、文要素を表すテキスト）を特定する。そして、上記システムは、特定した文要素区間とテキストとを時系列で対応付けて記憶するようになっている。例えば、特許文献２には、テキスト情報を構成する各文字に音声波形データを対応付けて格納する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１３９８６８号公報
【特許文献２】特開平４−３０５７３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、例えば、システムがプログラムにより音声の波形の塊を文要素単位で自動的に分割する精度は１００％完全なものではないため、ユーザの意図しない分割が行われる場合がある。また、例えば、システムがプログラムによりテキストの分割を自動的に行う場合も、ユーザの意図しない分割が行われる場合がある。このような場合、例えばシステムのユーザは、テキストの編集と、編集後のテキストと文要素区間との対応付けの編集を行う必要があるが、従来、このような編集を簡易に行うことが可能な技術は知られていなかった。
【０００６】
本発明は、以上の点に鑑みてなされたものであり、テキストの編集と、編集後のテキストと文要素区間との対応付けの編集をより簡易に行うことが可能なテキスト対応付け編集装置、テキスト対応付け編集方法、及びプログラムを提供する。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に記載の発明は、文を音読するときの音声の波形を示す音声波形データに基づいて複数に区分された文要素区間であって前記文を構成する文要素の開始タイミングから終了タイミングまでの文要素区間と、前記文のテキストデータに基づいて複数に区分されたテキストであって前記文要素を表すテキストとを、前記文の先頭から時系列で対応付けた対応付けデータを記憶する第１記憶手段と、前記対応付けデータに基づいて、前記文要素区間の時間長に応じた長さの表示バーと、前記テキストとを、前記文の先頭から時系列で対応付けて第１表示領域に表示させる第１表示制御手段と、前記表示バー毎に対応付けられて表示される前記テキストのうち、少なくとも何れか１つの前記テキストを第２表示領域に表示させる第２表示制御手段と、前記第２表示領域に表示された前記テキストにおける何れかの文字間の位置の指定を受け付ける第１指定受付手段と、前記第２表示領域に表示された前記テキストから前記指定された位置より時系列で後にあるテキストを分離し、分離されたテキストを、前記第２表示領域に表示された前記テキストに対応付けられている前記文要素区間より時系列で１つ後の前記文要素区間に対応付けるように前記対応付けを更新する対応付け更新手段と、を備えることを特徴とする。
【０００８】
請求項２に記載の発明は、請求項１に記載のテキスト対応付け編集装置において、前記音声波形データに基づいて前記文要素区間の時間長より短い所定時間間隔毎に特定された音高と音圧との少なくとも何れか一方の音要素を示す音要素データを記憶する第２記憶手段と、前記音要素データが示す音高と音圧との少なくとも何れか一方の音要素の時系列的な変化を表すグラフを、前記表示バーに対応付けて前記第１表示領域に表示させる第３表示制御手段と、を更に備えることを特徴とする。
【０００９】
請求項３に記載の発明は、請求項１または２に記載のテキスト対応付け編集装置において、前記対応付け更新手段は、前記第１指定受付手段により前記指定が受け付けられ、且つ第１のユーザ操作があった場合、前記分離されたテキストを前記１つ後の前記文要素区間に対応付け、且つ、前記指定の受け付け前の時点で既に前記１つ後の前記文要素区間以後の前記文要素区間それぞれに対応付けられている前記テキストが新たに対応付けられる前記文要素区間を１つずつ繰り下げるように前記対応付けを更新することを特徴とする。
【００１０】
請求項４に記載の発明は、請求項１乃至３の何れか一項に記載のテキスト対応付け編集装置において、前記対応付け更新手段は、前記第１指定受付手段により前記指定が受け付けられ、且つ第２のユーザ操作があった場合、前記分離されたテキストと、前記指定の受け付け前の時点で既に前記１つ後の前記文要素区間に対応付けられている前記テキストとを結合した結合テキストを前記１つ後の前記文要素区間に対応付けるように前記対応付けを更新することを特徴とする。
【００１１】
請求項５に記載の発明は、請求項１乃至４の何れか一項に記載のテキスト対応付け編集装置において、前記第１表示領域に表示された複数の前記表示バーのうち、何れか１つの前記表示バーの選択を受け付ける選択受付手段を更に備え、前記第２表示制御手段は、前記選択された前記表示バーに対応付けられている前記テキストを前記第２表示領域に表示、または前記選択された前記表示バーに対応付けられている前記テキストを前記第２表示領域において強調表示させることを特徴とする。
【００１２】
請求項６に記載の発明は、請求項１乃至５の何れか一項に記載のテキスト対応付け編集装置において、前記対応付け更新手段により前記テキストと前記文要素区間との対応付けが更新された場合、前記第１表示制御手段は、更新後の前記対応付けに基づいて、前記表示バーと前記テキストとを対応付けた表示を更新することを特徴とする。
【００１３】
請求項７に記載の発明は、請求項１乃至６の何れか一項に記載のテキスト対応付け編集装置において、前記第２表示領域に表示された前記テキストの末尾の位置の指定を受け付ける第２指定受付手段を更に備え、前記対応付け更新手段は、前記第２指定受付手段により前記指定が受け付けられ、且つ第３のユーザ操作があった場合、前記第２表示領域に表示された前記テキストと、このテキストに対応付けられている前記文要素区間より時系列で１つ後の前記文要素区間に対応付けられているテキストとを結合した結合テキストを、前記第２表示領域に表示された前記テキストに対応付けられている前記文要素区間に対応付けるように前記対応付けを更新することを特徴とする。
【００１４】
請求項８に記載の発明は、請求項７に記載のテキスト対応付け編集装置において、前記対応付け更新手段は、前記第２表示領域に表示された前記テキストと、このテキストに対応付けられている前記文要素区間より時系列で１つ後の前記文要素区間に対応付けられているテキストとを結合した結合テキストを、前記第２表示領域に表示された前記テキストに対応付けられている前記文要素区間に対応付け、且つ、前記第２表示領域に表示された前記テキストに対応付けられている前記文要素区間より時系列で２つ後の前記文要素区間以後の前記文要素区間それぞれに対応付けられている前記テキストが新たに対応付けられる前記文要素区間を１つずつ繰り上げるように前記対応付けを更新することを特徴とする。
【００１５】
請求項９に記載の発明は、請求項１乃至８の何れか一項に記載のテキスト対応付け編集装置において、前記第２表示領域に表示された前記テキストの先頭の位置の指定を受け付ける第３指定受付手段を更に備え、前記対応付け更新手段は、前記第３指定受付手段により前記指定が受け付けられ、且つ第４のユーザ操作があった場合、前記第２表示領域に表示された前記テキストと、このテキストに対応付けられている前記文要素区間より時系列で１つ前の前記文要素区間に対応付けられているテキストとを結合した結合テキストを、前記１つ前の前記文要素区間に対応付けるように前記対応付けを更新することを特徴とする。
【００１６】
請求項１０に記載の発明は、請求項９に記載のテキスト対応付け編集装置において、前記対応付け更新手段は、前記第２表示領域に表示された前記テキストと、このテキストに対応付けられている前記文要素区間より時系列で１つ前の前記文要素区間に対応付けられているテキストとを結合した結合テキストを、前記１つ前の前記文要素区間に対応付け、且つ、前記第２表示領域に表示された前記テキストに対応付けられている前記文要素区間より時系列で１つ後の前記文要素区間以後の前記文要素区間それぞれに対応付けられている前記テキストが新たに対応付けられる前記文要素区間を１つずつ繰り上げるように前記対応付けを更新することを特徴とする。
【００１７】
請求項１１に記載の発明は、請求項８または１０に記載のテキスト対応付け編集装置において、前記対応付け更新手段は、複数の前記テキストのうち何れかの前記テキストの先頭文字から所定の区切り文字までのテキスト部分のみを、前記何れかの前記テキストが対応付けられている前記文要素区間より時系列で１つ前の前記文要素区間に対応付けるように前記対応付けを更新することを特徴とする。
【００１８】
請求項１２に記載の発明は、請求項１乃至１１の何れか一項に記載のテキスト対応付け編集装置において、前記第１表示領域に離間して表示された複数の前記表示バーの境界領域から所定距離以内の近傍位置にアイコンを表示させる第４表示制御手段と、前記表示されたアイコンの指定を受け付ける第４指定受付手段と、を更に備え、前記対応付け更新手段は、前記第４指定受付手段により前記アイコンの指定が受け付けられた場合、前記離間して表示された複数の前記表示バーそれぞれに対応する前記文要素区間を含む結合文要素区間と、前記離間して表示された複数の前記表示バーそれぞれに対応付けられている前記テキストを結合した結合テキストとを対応付けるように前記対応付けを更新することを特徴とする。
【００１９】
請求項１３に記載の発明は、請求項１２に記載のテキスト対応付け編集装置において、前記第４表示制御手段は、前記結合文要素区間と前記結合テキストとの対応付けに応じて、前記アイコンの表示態様を変化させ、前記結合文要素区間と前記結合テキストとの対応付け後に、前記結合テキストにおける何れかの文字間の位置の指定と前記表示態様が変化したアイコンの指定とが受け付けられた場合、前記対応付け更新手段は、前記結合文要素区間を元の複数の前記文要素区間に戻し、元に戻された複数の前記文要素区間のうち、先頭の前記文要素区間に、前記結合テキスト中の前記指定された位置より時系列で前にあるテキストを対応付け、且つ先頭の前記文要素区間より時系列で１つ後の前記文要素区間に、前記指定された位置より時系列で後にあるテキストを対応付けるように前記対応付けを更新することを特徴とする。
【００２０】
請求項１４に記載の発明は、１つ以上のコンピュータにより実行されるテキスト対応付け編集方法であって、文を音読するときの音声の波形を示す音声波形データに基づいて複数に区分された文要素区間であって前記文を構成する文要素の開始タイミングから終了タイミングまでの文要素区間と、前記文のテキストデータに基づいて複数に区分されたテキストであって前記文要素を表すテキストとを、前記文の先頭から時系列で対応付けた対応付けデータを記憶手段に記憶する記憶ステップと、前記対応付けデータに基づいて、前記文要素区間の時間長に応じた長さの表示バーと、前記テキストとを、前記文の先頭から時系列で対応付けて第１表示領域に表示させる第１表示制御ステップと、前記表示バー毎に対応付けられて表示される前記テキストのうち、少なくとも何れか１つの前記テキストを第２表示領域に表示させる第２表示制御ステップと、前記第２表示領域に表示された前記テキストにおける何れかの文字間の位置の指定を受け付ける指定受付ステップと、前記第２表示領域に表示された前記テキストから前記指定された位置より時系列で後にあるテキストを分離し、分離されたテキストを、前記第２表示領域に表示された前記テキストに対応付けられている前記文要素区間より時系列で１つ後の前記文要素区間に対応付けるように前記対応付けを更新する対応付け更新ステップと、を含むことを特徴とする。
【００２１】
請求項１５に記載の発明は、文を音読するときの音声の波形を示す音声波形データに基づいて複数に区分された文要素区間であって前記文を構成する文要素の開始タイミングから終了タイミングまでの文要素区間と、前記文のテキストデータに基づいて複数に区分されたテキストであって前記文要素を表すテキストとを、前記文の先頭から時系列で対応付けた対応付けデータを記憶手段に記憶する記憶ステップと、前記対応付けデータに基づいて、前記文要素区間の時間長に応じた長さの表示バーと、前記テキストとを、前記文の先頭から時系列で対応付けて第１表示領域に表示させる第１表示制御ステップと、前記表示バー毎に対応付けられて表示される前記テキストのうち、少なくとも何れか１つの前記テキストを第２表示領域に表示させる第２表示制御ステップと、前記第２表示領域に表示された前記テキストにおける何れかの文字間の位置の指定を受け付ける指定受付ステップと、前記第２表示領域に表示された前記テキストから前記指定された位置より時系列で後にあるテキストを分離し、分離されたテキストを、前記第２表示領域に表示された前記テキストに対応付けられている前記文要素区間より時系列で１つ後の前記文要素区間に対応付けるように前記対応付けを更新する対応付け更新ステップと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２２】
請求項１，１４，１５に記載の発明によれば、ユーザによる文字間の位置の指定により、テキストの編集と、編集後のテキストと文要素区間との対応付けの編集をより簡易に行うことができる。
【００２３】
請求項２に記載の発明によれば、音声波形データに基づく音要素と文要素区間との対応関係を、ユーザに一見して把握させることができる。
【００２４】
請求項３に記載の発明によれば、ユーザによるテキストにおける文字間の位置の指定及び第１のユーザ操作により、テキストを分離して、分離されたテキスト以降のテキストを１つずつ後に繰り下げる玉突き移動、及び玉突き移動後のテキストと文要素区間との対応付けの編集をより簡易に行うことができる。
【００２５】
請求項４に記載の発明によれば、ユーザによるテキストにおける文字間の位置の指定及び第２のユーザ操作により、テキストを分離して、分離されたテキストを１つ後に繰り下げる移動、及び移動後のテキストと文要素区間との対応付けの編集をより簡易に行うことができる。
【００２６】
請求項５に記載の発明によれば、編集対象となるテキストを、テキストに対応付けられた表示バーの選択によりユーザに提示することができる。
【００２７】
請求項６に記載の発明によれば、文要素区間と、編集されたテキストとの対応付けを、ユーザに一見して把握させることができる。
【００２８】
請求項７に記載の発明によれば、ユーザによるテキストの末尾の指定及び第３のユーザ操作により、２つのテキストを結合して、結合された結合テキストと文要素区間との対応付けの編集をより簡易に行うことができる。
【００２９】
請求項８に記載の発明によれば、２つのテキストの結合に応じて、後に続くテキストを１つずつ繰り上げる移動、及び移動後のテキストと文要素区間との対応付けの編集をより簡易に行うことができる。
【００３０】
請求項９に記載の発明によれば、ユーザによるテキストの先頭の指定及び第４のユーザ操作により、２つのテキストを結合して、結合された結合テキストと文要素区間との対応付けの編集をより簡易に行うことができる。
【００３１】
請求項１０に記載の発明によれば、２つのテキストの結合に応じて、後に続くテキストを１つずつ繰り上げる移動、及び移動後のテキストと文要素区間との対応付けの編集をより簡易に行うことができる。
【００３２】
請求項１１に記載の発明によれば、ユーザが何れかの文要素区間に対応付けられたテキストから一部のテキスト部分を分離する作業負荷を低減することができる。
【００３３】
請求項１２に記載の発明によれば、ユーザによるアイコンの指定だけで、文要素区間の編集と編集後の文要素区間とテキストとの対応付けの編集をより簡易に行うことができる。
【００３４】
請求項１３に記載の発明によれば、ユーザによるアイコンの指定だけで、文要素区間の結合と結合後の文要素区間とテキストとの対応付けを簡易に元に戻すことができる。
【図面の簡単な説明】
【００３５】
【図１】本実施形態に係る発話練習装置Ｓの概要構成例を示す図である。
【図２】（Ａ）は、音読評価画面の一例を示す図であり、（Ｂ）は、テキスト対応付け編集画面の一例を示す図である。
【図３】区切り文字の直後で文テキストが区切られる例を示す概念図である。
【図４】テキストボックス番号と文要素テキストとの対応関係の一例を示す図である。
【図５】文要素区間数より文要素テキスト数が少ない場合に、文要素区間数と文要素テキスト数とを一致させる例を示す概念図である。
【図６】文要素テキストの結合指示を示すユーザ操作があった場合における対応付けの編集処理の一例を示す概念図である。
【図７】結合アイコンが指定された場合における画面遷移例を示す図である。
【図８】分離アイコンが指定された場合における画面遷移例１を示す図である。
【図９】分離アイコンが指定された場合における画面遷移例２を示す図である。
【図１０】分離アイコンが指定された場合における画面遷移例３を示す図である。
【図１１】文要素テキスト分離時における画面遷移例を示す図である。
【図１２】（Ａ），（Ｂ）は、文要素テキスト分離時における対応付け更新例１を示す図であり、（Ｃ），（Ｄ）は、文要素テキスト分離時における対応付け更新例２を示す図である。
【図１３】文要素テキスト結合時における画面遷移例を示す図である。
【図１４】（Ａ），（Ｂ）は、文要素テキスト結合時における対応付け更新例１を示す図であり、（Ｃ），（Ｄ）は、文要素テキスト結合時における対応付け更新例２を示す図である。
【図１５】ユーザ操作により選択された文字列がドラッグ＆ドロップでテキストボックスＴＢ２に入力される例を示す図である。
【図１６】（Ａ）は、テキスト対応付け処理の一例を示すフローチャートであり、（Ｂ），（Ｃ）は、テキストボックス番号と、テキストボックス識別子と、文要素テキストとの対応関係を示す図である。
【図１７】図１６（Ａ）に示すテキスト対応付け処理の実行の結果、文要素区間数より文要素テキスト数が少ない場合に実行されるテキスト対応付け処理の一例を示すフローチャートである。
【図１８】テキスト対応付け編集処理のメインルーチンの一例を示すフローチャートである。
【図１９】文要素区間結合処理の一例を示すフローチャートである。
【図２０】文要素区間分離処理の一例を示すフローチャートである。
【図２１】（Ａ）は、テキスト分離処理１の一例を示すフローチャートであり、（Ｂ）は、テキスト分離処理２の一例を示すフローチャートである。
【図２２】（Ａ）は、テキスト結合処理１の一例を示すフローチャートであり、（Ｂ）は、テキスト結合処理２の一例を示すフローチャートである。
【図２３】テキスト結合処理１の変形例を示すフローチャートである。
【発明を実施するための形態】
【００３６】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、発話練習装置（音声訓練システムともいう）に対して本発明を適用した場合の実施形態である。
【００３７】
［１.発話練習装置Ｓの構成及び機能］
初めに、図１を参照して、本実施形態に係る発話練習装置Ｓの概要構成及び機能について説明する。図１は、本実施形態に係る発話練習装置Ｓの概要構成例を示す図である。なお、発話練習装置の一例として、パーソナルコンピュータ、タブレット端末、携帯型情報端末（スマートフォン等）などが挙げられる。図１に示すように、発話練習装置Ｓは、通信部１、記憶部２、制御部３、操作部４、及びインターフェース（ＩＦ）部５等を備えて構成され、これらの構成要素はバス６に接続されている。操作部４は、発話練習装置Ｓのユーザ（例えば、練習者や管理者等）の操作（ユーザ操作）に応じた信号を制御部３へ出力する。操作部４の例として、マウスやキーボード、或いは操作表示機能を有するタッチパネルなどが挙げられる。インターフェース部５には、マイクＭ、及びディスプレイＤ等が接続される。なお、マイクＭ、及びディスプレイＤは、発話練習装置Ｓと一体型であってもよいし、別体であってもよい。マイクＭは、アナウンスなどの発話練習を行う練習者である話者が、複数の文要素を含む文（文章）を音読したときに発した音声を集音する。文要素は、文を構成する単位である。文要素の例として、フレーズ、文節、単語の他、複数のフレーズが結合した結合フレーズ等が挙げられる。ここで、フレーズは、一般に文章を読むときに一息で読む単位である。フレーズは、１以上の文節から構成される。つまり、１つのフレーズが１つの文節から構成される場合もあるし、１つのフレーズが複数の文節から構成される場合もある。文節は、例えば、１つ以上の単語のまとまりである。単語には、名詞、動詞、形容詞、副詞、及び接続詞等の自立語（単独で文節を構成できる品詞）や、助動詞及び助詞等の付属語（単独で文節を構成できない品詞）などがある。音読対象となる文の例として、アナウンス、朗読などで用いられる文章などが挙げられる。
【００３８】
ディスプレイＤには、制御部３からの表示指令にしたがって、音読評価画面が表示される。音読評価画面は、話者が文を音読したときの音読評価の結果を示す情報を表示する画面である。音読評価は、音読対象となる文を音読するときの手本となる音声（以下、「手本音声」という）の波形を示す音声波形データと、話者が音読対象となる文を音読したときに発した音声（以下、「話者音声」という）の波形を示す音声波形データとに基づいて制御部３により行われる。音読評価画面には、音読評価の結果を示す情報として、例えば、得点（評価点）を示す情報や、手本音声の各音要素と話者音声の各音要素とを比較可能に示す情報などが表示される。ここで、音要素の例として、音高（ピッチまたは抑揚ともいう)、音圧、音読スピード、間合いなどが挙げられる。
【００３９】
図２（Ａ）は、音読評価画面の一例を示す図である。図２（Ａ）に示す音読評価画面には、各種ボタン、及び表示領域５０〜５３等が設けられている。各種ボタンには、手本音声と話者音声のそれぞれを再生するための再生ボタン、及びマイクＭにより集音された音声を録音するための録音ボタン等がある。表示領域５０には、音読対象となる文を表すテキスト（以下、「文テキスト」という）が表示されている。文テキストには句読点が含まれている。なお、図２（Ａ）に示す文テキストにおいて、丸、三角、四角等の記号が含まれているが、これらの記号は、実際には、漢字、ひらがな、またはカタカナである（他の図面についても同様）。表示領域５１には、手本の音高の時系列的な変化を表すグラフ５１ａと、手本の音圧の時系列的な変化を表すグラフ５１ｂとが、時間軸ｔに沿って表示されている。表示領域５２には、話者の音高の時系列的な変化を表すグラフ５２ｂと、話者の音圧の時系列的な変化を表すグラフ５２ａとが、時間軸ｔに沿って表示されている。なお、時間軸ｔを表す領域内には、スクロールバーＳｃが表示されている。スクロールバーＳｃは、スクロール指示を示すユーザ操作にしたがって左右方向に移動される。そして、スクロールバーＳｃの移動に応じて表示領域５１及び５２が左右方向にスクロールする。
【００４０】
また、図２（Ａ）の例では、表示バー５１ｃと表示バー５２ｃとが、それぞれに対応する文要素区間毎に、表示領域５１と表示領域５２の境界部分において上下方向に並べられて選択可能に表示されている。また、表示バー５１ｃは、文の先頭から時系列で表示領域５１に複数表示されており、これらの複数の表示バー５１ｃは離間して表示されている（表示バー５２ｃも同様）。これにより、話者は、表示バー５１ｃと表示バー５２ｃとを基準として手本音声の音要素と話者音声の音要素とを比較することで、手本音声の音要素と話者音声の音要素との違いを、文要素区間毎に把握することができる。ここで、表示バー５１ｃに対応する文要素区間は、手本音声の波形を示す音声波形データに基づいて特定された区間であって、文を構成する文要素（例えば、フレーズ）の開始タイミングから終了タイミングまでの区間である。一方、表示バー５２ｃに対応する文要素区間は、話者音声の波形を示す音声波形データに基づいて特定された区間であって、文を構成する文要素（例えば、フレーズ）の開始タイミングから終了タイミングまでの区間である。それぞれの文要素区間は、それぞれの音声波形データが示す音声の波形の時間経過方向（時間軸ｔと並行する方向）における時間範囲（波形の時間範囲）が波形の塊毎に区分（分割）されて特定される。特定された文要素区間には、例えば先頭から順番にシリアル番号が付与される。また、表示バー５１ｃの時間経過方向の長さＤ１（言い換えれば、ピクセル数）は、表示バー５１ｃに対応する文要素区間の時間長に応じた長さに設定されている。同様に、表示バー５２ｃの時間経過方向の長さＤ２は、表示バー５２ｃに対応する文要素区間の時間長に応じた長さに設定されている。つまり、文要素区間の時間長が長いほど、表示バーの長さは距離的に長く設定される。
【００４１】
そして、表示領域５１と表示領域５２において、文要素区間毎に表示される表示バー上には、それぞれの文要素を表すテキスト（以下、「文要素テキスト」という）が表示されている。つまり、文要素区間毎に表示される表示バーには、それぞれの文要素テキストが対応付けられて表示される。なお、表示バー上に文要素テキストが収まらない場合、例えば、文要素テキストが表示バーの領域からはみ出す部分の文字は表示されないか、或いは、文要素テキストが複数行で表示バー上に表示される。文要素テキストは、文のテキストデータに基づいて文テキストが複数に区分（分割）されたテキストである。本実施形態では、手本音声の波形を示す音声波形データに基づいて特定された文要素区間と、文のテキストデータに基づいて特定された文要素テキストとを文の先頭から時系列で対応付けた対応付けデータが制御部３により生成される。この対応付けデータにより、文要素区間の時間長に応じた長さの表示バー５１ｃと、文要素テキストとを、文の先頭から時系列で対応付けて表示することが可能となる。なお、話者音声の波形を示す音声波形データに基づいて特定された文要素区間と文要素テキストとの対応付けには、上記手本音声の対応付けデータを用いることができる。
【００４２】
また、表示領域５２に表示された表示バー５２ｃの右端部には、文要素区間毎の得点に応じた絵柄Ｍが表示されている。この得点は、例えば、それぞれの文要素区間における音高の得点、音量の得点、滑舌の得点、及び音読スピード（速度）の得点の平均点または合計点である。ここで、晴れを示す絵柄は、その文要素区間の評価点が例えば７０〜１００点であることを示す。曇りを示す絵柄は、その文要素区間の評価点が例えば５０〜６９点であることを示す。雨を示す絵柄は、その文要素区間の評価点が例えば４９〜０点であることを示す。また、表示領域５３には、全区間における総合得点、音高の得点、音量の得点、滑舌の得点、音読スピード（速度）の得点、及び間合い（間）の得点が表示されている。ここで、全区間における総合得点は、全区間における音高の得点、音量の得点、滑舌の得点、音読スピードの得点、及び間合いの得点の平均点または合計点である。また、例えば、全区間における音高の得点は、それぞれの文要素区間における音高の得点の平均点または合計点である。
【００４３】
また、ディスプレイＤには、制御部３からの表示指令にしたがって、テキスト対応付け編集画面が表示される。テキスト対応付け編集画面は、例えば制御部３により生成された、手本音声の対応付けデータが示す文要素区間と文要素テキストとの対応付けの編集に利用される画面である。このような対応付けの編集処理は、ユーザ操作にしたがって行われる。
【００４４】
図２（Ｂ）は、テキスト対応付け編集画面の一例を示す図である。図２（Ｂ）に示すテキスト対応付け編集画面には、各種ボタン、及び表示領域５０，５１等が設けられている。各種ボタンには、手本音声を再生するための再生ボタン、ユーザ操作により選択された文要素区間の手本音声を再生するための文要素再生ボタン（図２（Ｂ）の例では、便宜上、文要素をフレーズと表記している）、及び対応付けの編集処理を終了するための編集終了ボタン等がある。表示領域５０，５１の表示内容は、基本的に音読評価画面と同様である。ただし、表示領域５１（第１表示領域の一例）には、グラフ５１ａ，５１ｂ及び表示バー５１ｃ（５１ｃ１，５１ｃ２，５１ｃ３）に加えて、複数の表示バー５１ｃの境界領域Ｂから所定距離（例えば数ｍｍ程度）以内の近傍位置に結合アイコン５１ｄ１，５１ｄ２が表示されている。図２（Ｂ）の例では、結合アイコン５１ｄ１は、表示バー５１ｃ２の先頭位置（左端部分）の直ぐ下に表示されているが、境界領域Ｂから所定距離以内の近傍位置であればどの位置であってもよい。このような位置に結合アイコンを表示させることで、ユーザによる操作性を高めることができる。
【００４５】
さらに、テキスト対応付け編集画面には、図２（Ｂ）に示すように、文要素テキストが入力されるテキストボックスＴＢ１，ＴＢ２（第２表示領域の一例）が表示（つまり、テキストボックスを表す枠が表示）される。このようなテキストボックスは、文要素区間と同じ数だけメモリ（例えばＲＡＭ）上に生成（つまり、領域が確保）される。こうして生成されたテキストボックスの内容が図２（Ｂ）に示すように表示されることになる。文要素区間とテキストボックスとは、文の先頭から時系列で１対１で対応付けられる。図２（Ｂ）の例では、表示バー５１ｃ１に対応する文要素区間には、テキストボックスＴＢ１が対応付けられている。言い換えれば、表示バー５１ｃ１には、テキストボックスＴＢ１が対応付けられている。また、表示バー５１ｃ２に対応する文要素区間には、テキストボックスＴＢ２が対応付けられている。また、生成されたテキストボックスには、例えば先頭から順番にテキストボックス番号が付与される。このテキストボックス番号は、文要素区間に付与されたシリアル番号に対応している。例えば、先頭の文要素区間に付与されたシリアル番号は“１”であり、先頭のテキストボックスに付与されたテキストボックス番号は“１”であるというように採番されることで対応付けがなされる。この場合、シリアル番号とテキストボックス番号とは特に区別しなくてもよい。なお、対応付けを図ることができるのであれば、シリアル番号とテキストボックス番号との値が同一でなくてもよい。例えば、シリアル番号は１，２，３・・・というような番号体系がとられる一方、テキストボックス番号は１００，２００，３００・・・というような番号体系がとられてもよい。
【００４６】
そして、テキストボックスには、これに対応する表示バーに対応付けられている文要素テキストが表示される。例えば、テキストボックスＴＢ１には、表示バー５１ｃ１に対応付けられている文要素テキストが表示される。また、テキストボックスＴＢ２には、表示バー５１ｃ２に対応付けられている文要素テキストが表示される。また、図２（Ｂ）の例では、表示領域５１に表示された複数の表示バー５１ｃのうち、ユーザ操作により選択された１つの表示バー５１ｃ１に対応付けられている文要素テキストがテキストボックスＴＢ１において強調表示されている。つまり、テキストボックスＴＢ１における文要素テキストは、テキストボックスＴＢ２における文要素テキストより濃く表示（強調表示の一例）されている。また、選択された表示バーは、その色が変化（例えば、青色から橙色に変化）する。さらに、選択された１つの表示バー５１ｃ１に対応付けられているテキストボックスＴＢ１は、その枠の色が明るい色で且つ太線で強調表示（これを、「選択表示」という）される。なお、選択された表示バーに対応付けられている文要素テキストのみがテキストボックスに表示されるように構成してもよい。つまり、選択されていない表示バーに対応付けられている文要素テキストはテキストボックスに表示されないように構成してもよい。また、後述する処理において、文要素区間の増減に応じてテキストボックスも増減することになる。また、テキスト対応付け編集画面においても、時間軸ｔを表す領域内には、ユーザ操作にしたがって左右方向に移動するスクロールバーＳｃが表示されており、スクロールバーＳｃの移動に応じて表示領域５１及びテキストボックスＴＢｍ（ｍ＝１，２，・・・）が左右方向にスクロールする。
【００４７】
通信部１は、有線または無線によりネットワーク（図示せず）に接続してサーバ等と通信を行う。記憶部２は、例えばハードディスクドライブ等からなり、ＯＳ（オペレーティングシステム）、及びアプリケーションプログラム等を記憶する。アプリケーションプログラムには、テキスト対応付け処理プログラム、テキスト対応付け編集処理プログラム（本発明のプログラムの一例）、及び音読評価処理プログラム等が含まれる。テキスト対応付け処理プログラムは、コンピュータとしての制御部３に、テキスト対応付け処理を実行させるプログラムである。テキスト対応付け編集処理プログラムは、コンピュータとしての制御部３に、テキスト対応付け編集処理を実行させるプログラムである。音読評価処理プログラムは、コンピュータとしての制御部３に、音読評価処理を実行させるプログラムであるが、以下の説明では、音読評価処理の説明を省略する。アプリケーションプログラムは、所定のサーバからダウンロードされてもよいし、ＣＤ、ＤＶＤ等の記録媒体に記憶されて提供されてもよい。また、記憶部２は、文のテキストデータと、この文を音読するときの手本音声の波形を示す音声波形データとを記憶する。手本音声の波形を示す音声波形データは、自動作成プログラムにより生成されてもよいし、お手本者（模範者）が文を音読したときに発した音声をマイクＭにより集音することで生成されてもよい。なお、音声波形データは、所定の音声ファイル形式で記憶される。
【００４８】
制御部３は、コンピュータとしてのＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、及びＲＡＭ（Random Access Memory）等により構成される。制御部３は、アプリケーションプログラムの実行により、音声処理部３１、テキスト処理部３２、テキスト対応付け部３３、表示処理部３４、及びテキスト対応付け編集部３５等として機能する。表示処理部３４は、本発明における第１表示制御手段、選択受付手段、第２表示制御手段、第３表示制御手段、及び第４表示制御手段の一例である。テキスト対応付け編集部３５は、本発明における第１指定受付手段、第２指定受付手段、第３指定受付手段、及び対応付け更新手段の一例である。記憶部２または制御部３におけるＲＡＭは、本発明における記憶手段、第１記憶手段、及び第２記憶手段の一例である。
【００４９】
音声処理部３１は、所定の音声ファイル形式で記憶された音声波形データを処理対象として記憶部２から入力する。入力された音声波形データはＲＡＭに記憶される。なお、音声波形データは、離散化された時系列の音圧波形データであり、例えば、サンプリングレート44.1kHz、量子化16bit、及びモノラルの波形データである。音圧とは、音波による空気の圧力の変化分（Pa）をいう。本実施形態では、音圧として、瞬時音圧（Pa）の二乗平均平方根（RMS）である実効音圧（Pa）の大きさを計算上扱い易い数値で表した音圧レベル(dB)を適用する。音圧レベル(dB)は、広義には音量ともいう。
【００５０】
音声処理部３１は、処理対象として入力された音声波形データに基づいて文を構成する文要素の開始タイミング（つまり、文要素区間の開始タイミング）から終了タイミング（つまり、文要素区間の終了タイミング）までの文要素区間及び文要素区間の時間長を文要素毎に特定する。特定された文要素区間には、先頭から順番にシリアル番号が付与される。文要素区間及びその時間長を示すデータ、並びに文要素区間のシリアル番号は対応付けられてＲＡＭに記憶される。なお、文要素区間は、例えば波形の開始時点からの時間の範囲（例えば、01:00-03:00）で表される。ここで、開始タイミングと終了タイミングは、それぞれ、音声の波形から認識されてもよいし、上述したように算出された音圧レベル(dB)から認識されてもよい。例えば、音声処理部３１は、音声の波形の振幅が所定値以上になった時点を開始タイミングとして認識する。或いは、音声処理部３１は、音圧レベル(dB)が所定値以上になった時点を開始タイミングとして認識する。また、例えば、音声処理部３１は、音声の波形の振幅が所定値未満になった時点を終了タイミングとして認識する。或いは、音声処理部３１は、音圧レベル(dB)が所定値未満になった時点を終了タイミングとして認識する。なお、例えば、音圧レベル(dB)が所定値未満になった時点から、音圧レベル(dB)が所定値以上になった時点までの時間（無音時間）が閾値以上である場合に限り、音圧レベル(dB)が所定値未満になった時点が終了タイミングとして認識され、且つ音圧レベル(dB)が所定値以上になった時点が開始タイミングとして認識されるとよい（音声の波形の振幅についても同様）。これは、無音時間が閾値より短い場合、その区間で文要素を区切らない趣旨である。また、音声処理部３１は、音声波形データに基づいて、複数の文要素のうち何れかの文要素の終了タイミングから次の文要素の開始タイミングまでの手本インターバル区間を特定してもよい。
【００５１】
また、音声処理部３１は、処理対象として入力された音声波形データに基づいて音高と音圧との少なくとも何れか一方の音要素を特定する。例えば、音声処理部３１は、音声波形データから所定時間毎に切り出したデータから基本周波数（Hz）を算出し、算出した基本周波数（Hz）を音高として所定時間間隔毎に特定する。なお、音高の特定方法には、例えば、ゼロクロス法やベクトル自己相関等の公知の手法を適用できる。また、音声処理部３１は、音声波形データから所定時間毎に切り出したデータから音圧レベル(dB)を音圧として所定時間間隔毎に特定する。特定された音高と音圧との少なくとも何れか一方の音要素を示す音要素データは例えばＲＡＭに記憶される。なお、音高特定及び音圧特定するための上記所定時間は、文要素区間の時間長より短い時間であり、例えば１０ｍｓ程度に設定される。
【００５２】
また、音声処理部３１は、上述したように特定した文要素区間数分のテキストボックスをメモリ（例えば、ＲＡＭ）の所定領域に生成する。これにより、文要素区間毎に対応付けられるテキストボックスがメモリの所定領域に確保される。生成されたテキストボックスには、先頭から順番にテキストボックス番号が付与される。生成されたテキストボックスが確保された領域のアドレス、及びテキストボックス番号は対応付けられて例えばＲＡＭに記憶される。例えば、テキストボックスが確保された領域のアドレスは、テキストボックス識別子として管理されてもよい。以下の説明では、テキストボックス識別子を、ＴＢｍ（ｍ＝１，２，３・・・）と称するものとする。このように生成されたテキストボックスには、文要素テキストが入力（格納）されることになる。テキストボックスに入力された文要素テキストは、図２（Ｂ）に示すように表示（つまり、テキストボックスを表す枠内に表示）されることになる。
【００５３】
テキスト処理部３２は、処理対象の音声波形データに対応付けられたテキストデータを処理対象として記憶部２から入力する。入力されたテキストデータはＲＡＭに記憶される。そして、テキスト処理部３２は、上記テキストデータに基づいて文要素テキストを文要素毎に特定する。例えば、テキスト処理部３２は、テキストデータが示す文テキストに含まれる区切り文字（例えば、句点、読点）を特定し、特定した区切り文字の直後で文テキストを区切ることで文要素テキストを特定する。なお、テキスト処理部３２は、他の方法で文テキストを区切って文要素テキストを特定してもよい。
【００５４】
図３は、区切り文字の直後で文テキストが区切られる例を示す概念図である。図３（Ａ）に示す文テキストに含まれる句点及び読点は、図３（Ｂ）に示すように、区切り文字として特定される。その結果、図３（Ｃ）に示すように、文テキストは、複数の文要素テキストに区分される。図３（Ｃ）の例では、２２個の文要素テキストが特定されている。
【００５５】
テキスト対応付け部３３は、テキスト処理部３２により特定された文要素テキストを、先頭から順に、上記生成されたテキストボックスに入力（格納）する。これにより、音声処理部３１により特定された文要素区間と、テキスト処理部３２により特定された文要素テキストとがテキストボックス番号（シリアル番号）を介して文の先頭から時系列で対応付けられ、文要素区間と文要素テキストとを対応付けた対応付けデータが生成される。ただし、文要素区間の数と文要素テキストの数とが必ずしも一致するとは限らない。そのため、上記対応付けにおいて、テキスト対応付け部３３は、音声処理部３１により特定された文要素区間の数（以下、「文要素区間数」という）と、テキスト処理部３２により特定された文要素テキストの数（以下、「文要素テキスト数」という）とを比較する。この比較の結果、文要素区間数と文要素テキスト数とが一致しない場合、テキスト対応付け部３３は、テキスト処理部３２により特定された文要素テキストの分離と結合との少なくとも何れか一方を行うことで文要素区間数と文要素テキスト数とを一致させ、且つ、文要素区間と文要素テキストとを文の先頭から時系列で対応付ける。これにより、文要素区間数と文要素テキスト数とが一致しない場合であっても、文要素区間数と文要素テキスト数とを一致させて対応付けるので、ユーザの編集作業負荷を低減することができる。
【００５６】
図４は、テキストボックス番号と文要素テキストとの対応関係の一例を示す図である。図４（Ａ）の例では、文要素区間数と文要素テキスト数が一致している。一方、図４（Ｂ）に示すように、文要素区間数より文要素テキスト数が少ない場合、空欄のテキストボックスが存在することになる。図５は、文要素区間数より文要素テキスト数が少ない場合に、文要素区間数と文要素テキスト数とを一致させる例を示す概念図である。この場合、先ず、テキスト対応付け部３３は、テキスト処理部３２により特定された複数の文要素テキストから所定の分割条件を満たす文要素テキストを１つ抽出する抽出処理を実行する。この抽出処理において、テキスト対応付け部３３は、例えば図５（Ａ）に示すように、全ての文要素テキストをカタカナ化し（ひらがな化でもよい）、文要素テキスト毎に音数をカウントする。例えば、一文字が１音としてカウントされる。ただし、拗音（ゃ、ゅ、ょ等）は前の文字と合わせて１音、長音は単体で１音としてカウントされる。句読点等の記号は０音とされる（つまり、カウント対象外となる）。なお、図５（Ａ）に示す文テキストにおいて、丸、三角、四角等の記号が含まれているが、これらの記号は、実際には、カタカナ（ひらがなでもよい）である。そして、テキスト対応付け部３３は、カウントした音数または文字数が相対的に多い文要素テキストを上記分割条件を満たす文要素テキストとして抽出する。これにより、文要素区間と文要素テキストとをユーザの意図に沿って一致させることが可能となる。図５（Ａ）の例では、音数が最も多い文要素テキスト（音数が２０）が抽出されている。ここで、音数が最も多い文要素テキストが複数ある場合、これらの文要素テキストのうち、時間長が最短の文要素区間に対応付けられた文要素テキストが抽出される。
【００５７】
なお、テキスト対応付け部３３は、上記抽出処理において、文要素テキスト毎に対応付けられた文要素区間の時間長（言い換えれば、音長）に対する文字数または音数の割合（比率）が相対的に大きい文要素テキストを分割条件を満たすテキストとして抽出してもよい。この構成によっても、文要素区間と文要素テキストとをユーザの意図に沿って一致させることができる。これは、音数が多いほど音長も大きくなる（＝比例関係にある）と考えられ、音長に対応する音数が多すぎる文要素テキストを上記分割条件を満たす文要素テキストとして抽出する趣旨である。この場合、例えば、テキスト対応付け部３３は、全ての文要素テキストをカタカナ化し（ひらがな化でもよい）、文要素テキスト毎に音数をカウントし、且つ、文要素テキスト毎に対応つけられた文要素区間の時間長を取得する。そして、テキスト対応付け部３３は、例えば、文要素テキストの音数を文要素区間の時間長で割った値を文要素テキスト毎に算出し、算出された値が最も大きい文要素テキストを上記分割条件を満たす文要素テキストとして抽出する。
【００５８】
次に、テキスト対応付け部３３は、上記抽出処理により抽出された文要素テキストにおける文字間の特定位置より時系列で後にある文要素テキストを分離する分離処理を実行する。ここで、特定位置は、以下の通り、上記抽出された文要素テキストにおける中間地点（中央位置）を基準とする近傍範囲内にするとよい。これにより、文要素区間と文要素テキストとをユーザの意図に沿って一致させることが可能となる。この分離処理において、テキスト対応付け部３３は、先ず、例えば、図５（Ｂ），（Ｃ）に示すように、上記抽出処理により抽出された文要素テキスト（例えば、カタカナ化された文要素テキスト）における中間地点（この例では、先頭から１０音直後の地点）を仮の分割境界として特定する。また、テキスト対応付け部３３は、上記抽出処理により抽出された文要素テキストをMeCab等の形態素解析器に入力し、文要素テキストを構成する語の分類（名詞、助詞等の品詞)を得る。そして、テキスト対応付け部３３は、特定した仮の分割境界から最も近い距離に存在する「助詞から名詞に繋がる位置」または「助詞から接頭詞（名詞接続）に繋がる位置」を、上記抽出された文要素テキストから検索し、検索された位置を真の分割境界（特定位置の一例）として決定する。図５（Ｄ）の例では、助詞である文字“を”から接頭詞である文字“ご”に繋がる位置（つまり、助詞である文字“を”と接頭詞である文字“ご”との間の位置）が真の分割境界として決定されている。これにより、文要素区間と文要素テキストとを、より一層、ユーザの意図に沿って一致させることが可能となる。そして、テキスト対応付け部３３は、上記抽出された文要素テキストにおける上記真の分割境界より時系列で後にある文要素テキストを分離（つまり、切り取る）する。図５（Ｄ）の例では、真の分割境界より時系列で後にある文要素テキスト“ご利用くださいまして、”が分離されることになる。
【００５９】
次に、テキスト対応付け部３３は、分離処理により分離されたテキストを、上記抽出された文要素テキストに対応付けられている文要素区間（言い換えれば、テキストボックス）より時系列で１つ後の文要素区間に対応付け、且つ、文要素テキストの抽出時点で既に１つ後の文要素区間以後の文要素区間それぞれに対応付けられている文要素テキストが新たに対応付けられる文要素区間を１つずつ繰り下げるように対応付けを更新する更新処理を実行する。例えば、図４（Ｂ）に示すテキストボックス番号“２”のテキストボックスから分離された文要素テキストが、図５（Ｅ）に示すように、テキストボックス番号“３”のテキストボックスに入力されることで、上記抽出された文要素テキストに対応付けられている文要素区間より時系列で１つ後の文要素区間に対応付けられる。さらに、例えば、図４（Ｂ）に示すテキストボックス番号“３”〜“２２”のテキストボックスから格納されている各文要素テキストが、図５（Ｅ）に示すように、テキストボックス番号“４”〜“２３”のテキストボックスに順次１つずつ繰り下がるように入力されることで、上記抽出された文要素テキストに対応付けられている文要素区間より時系列で１つ後の文要素区間以後の文要素区間それぞれに対応付けられている文要素テキストが、１つずつ繰り下がった文要素区間に対応付けられる。
【００６０】
そして、テキスト対応付け部３３は、文要素区間数と文要素テキスト数とが一致するまで（つまり、空欄のテキストボックスが無くなるまで）、上記抽出処理、上記分離処理、及び上記更新処理を繰り返し実行する。これにより、文要素区間と文要素テキストとの対応付け後のユーザの編集作業負荷（例えば操作数、操作頻度）を低減することができる。その結果、ユーザは今までよりも簡易に文要素テキストの編集作業を行うことができる。この場合、後述するように、テキスト対応付け編集部３５により、文要素区間と文要素テキストとの対応付けの編集が行われる。なお、上記繰り返し処理において、上記分割条件を満たす文要素テキストが無くなった場合、空欄のテキストボックスがまだ残っていても、繰り返し処理が終了される。
【００６１】
一方、上記比較の結果、文要素区間数より文要素テキスト数が多い場合（言い換えれば、テキストボックスが足りない場合）、テキスト対応付け部３３は、音声処理部３１により特定された文要素区間と、テキスト処理部３２により特定された文要素テキストとを文の先頭から時系列で対応付け、且つ、テキスト処理部３２により特定された複数の文要素テキストのうち末尾の文要素テキストから、文要素テキスト数と文要素区間数との差だけ遡った文要素テキストまでを、音声処理部３１により特定された複数の文要素区間のうち末尾の文要素区間に対応付ける。これにより、文要素テキストと文要素区間との差分に相当する文要素テキストが末尾の文要素区間に対応付けられた後にユーザが文要素テキストを編集するときの作業の効率化を図ることが可能となり、ユーザの編集作業負荷を低減することができる。例えば、特定された複数の文要素テキストのうち末尾の文要素テキストから文要素テキスト数と文要素区間数との差だけ遡った文要素テキストまでが結合された結合文要素テキスト（結合テキストの一例）が、図４（Ｃ）に示すように、テキストボックス番号“１８”のテキストボックスに入力されることで、上記結合文要素テキストが末尾の文要素区間に対応付けられる。なお、結合文要素テキストもまた一つの文要素テキストであるので、結合文要素テキストを、単に、文要素テキストという場合がある。
【００６２】
このように上記結合文要素テキストが末尾の文要素区間に対応付けられた後に、末尾の結合文要素テキストを除く２つの文要素テキストの結合指示を示すユーザ操作があった場合、対応付けの編集処理が行われる。図６は、文要素テキストの結合指示を示すユーザ操作があった場合における対応付けの編集処理の一例を示す概念図である。この対応付けの編集処理において、テキスト対応付け部３３（またはテキスト対応付け編集部３５）は、結合指示対象である第１の文要素テキストと第２の文要素テキストを結合した結合文要素テキストを、第１の文要素テキストに対応付けられている文要素区間に対応付け、且つ、第２の文要素テキストに対応付けられている文要素区間より時系列で後の文要素区間それぞれに対応付けられている文要素テキストが新たに対応付けられる文要素区間を１つずつ繰り上げるように対応付けを更新する。そして、このような対応付けの更新において、テキスト対応付け部３３（またはテキスト対応付け編集部３５）は、何れか（例えば末尾）の結合文要素テキストの先頭文字から所定の区切り文字（例えば、読点）までのテキスト部分のみを、上記何れかの（例えば末尾）の結合文要素テキストが対応付けられている文要素区間より時系列で１つ前の文要素区間に対応付けるように対応付けを更新する。これにより、ユーザが例えば末尾の文要素区間に対応付けられた文要素テキストから一部のテキスト部分を分離する（切り出す）作業負荷（すなわち、手間）を低減することができる。
【００６３】
例えば、図６（Ａ）に示すように、テキストボックス番号“４”のテキストボックスに格納されている第１の文要素テキストの末尾に、ユーザ操作によりキャレット位置（カーソル位置）が指定され、結合指示を示すユーザ操作があった場合、テキストボックス番号“４”のテキストボックスに格納されている第１の文要素テキストの末尾に、テキストボックス番号“５”のテキストボックスに格納されている第２の文要素テキストが結合されることで結合文要素テキストが生成され、生成された結合文要素テキストが、第１の文要素テキストに対応付けられている文要素区間に第１の文要素テキストに代えて対応付けられる。さらに、例えば、図６（Ａ）に示すテキストボックス番号“６”〜“１７”のテキストボックスから格納されている各文要素テキストが、図６（Ｂ）に示すように、テキストボックス番号“５”〜“１６”のテキストボックスに順次１つずつ繰り上がるように入力されることで、第２の文要素テキストに対応付けられている文要素区間より時系列で後の文要素区間それぞれに対応付けられている文要素テキストが新たに対応付けられる文要素区間として、１つずつ繰り上がった文要素区間に対応付けられる。このとき、図６（Ｂ）に示すように、末尾の結合文要素テキストの先頭文字から所定の区切り文字（例えば、読点）までのテキスト部分（この例では、“次は、”）のみが、テキストボックス番号“１７”に繰り上がるように入力されることで、末尾の結合文要素テキストが対応付けられている文要素区間より時系列で１つ前の文要素区間に対応付けられる。なお、キャレット位置は、例えば図２（Ｂ）に示すテキスト対応付け編集画面に表示されたテキストボックス上で指定されてもよいし、或いはテキストボックス番号“４”がキーボード等から入力されることで指定されてもよい。
【００６４】
表示処理部３４は、例えば対応付け編集開始指示を示すユーザ操作があった場合、テキスト対応付け編集画面をディスプレイＤに表示させる。そして、表示処理部３４は、上述した対応付けデータに基づいて、上記特定された文要素区間の時間長に応じた長さの表示バー５１ｃと、上記特定された文要素テキストとを文の先頭から時系列で対応付けて表示領域５１に表示（例えば、表示バー５１ｃ上に文要素テキストを表示）させ、且つ複数の表示バー５１ｃを離間して表示させる。これにより、複数の文要素区間の位置関係及び時間的な長さを表示バー５１ｃにより、ユーザに一見して把握（視覚的に確認）させることができるため、ユーザの編集作業を効果的にサポートすることができる。また、ユーザの編集ミスを低減することができる。なお、上記特定された文要素区間の時間長に応じた長さの表示バー５１ｃのうち表示領域５１内に収まらない表示バー５１ｃ、及びこれに対応付けられる文要素テキストは、スクロール指示を示すユーザ操作に応じてスクロールして表示されることになる。また、表示処理部３４は、離間して表示された複数の表示バー５１ｃの境界領域Ｂから所定距離以内の近傍位置に結合アイコンを表示させる。なお、結合アイコンには、この結合アイコンの指定により結合される２つの文要素区間のシリアル番号が対応付けられて記憶される。また、表示処理部３４は、上記音要素データが示す音高と音圧との少なくとも何れか一方の音要素の時系列的な変化を表すグラフ５１ａ，５１ｂを表示バー５１ｃに対応付けて表示領域５１に表示させる。これにより、音声波形データに基づく音要素と文要素区間との対応関係を、ユーザに一見して把握させることができる。このため、ユーザの編集作業を効果的にサポートすることができる。
【００６５】
そして、表示処理部３４は、表示バー５１ｃ毎に対応付けられて表示される文要素テキストのうち、少なくとも何れか１つの文要素テキストを、テキスト対応付け編集画面に設けられたテキストボックスに表示させる。例えば、表示処理部３４は、表示領域５１に表示された複数の表示バー５１ｃのうち、ユーザ操作により何れか１つの表示バー５１ｃの選択を受け付け、選択された表示バー５１ｃに対応付けられている文要素テキストをテキストボックス内に表示させる。或いは、表示処理部３４は、表示領域５１に表示された複数の表示バー５１ｃそれぞれに対応付けられるテキストボックスをテキスト対応付け編集画面に表示させておき、上記選択が受け付けられたときに、上記選択された表示バー５１ｃに対応付けられている文要素テキスト、及び上記選択された表示バー５１ｃに対応付けられているテキストボックスの少なくとも何れか一方を上述したように強調表示させる。これにより、編集対象となる文要素テキストを、文要素テキストに対応付けられた表示バー５１ｃの選択によりユーザに提示することができる。こうして、選択された表示バー５１ｃに対応付けられているテキストボックスへの入力等が可能な状態になる。このため、ユーザの編集作業を効果的にサポートすることができる。
【００６６】
テキスト対応付け編集部３５は、ユーザ操作により上記結合アイコンの指定が受け付けられた場合、離間して表示された複数の表示バー５１ｃそれぞれに対応する文要素区間を含む結合文要素区間 （単に、文要素区間という場合がある）と、離間して表示された複数の表示バー５１ｃそれぞれに対応付けられている文要素テキストを結合した結合文要素テキストとを対応付けるように対応付けを更新する。これにより、ユーザ操作による結合アイコンの指定だけで、文要素区間の編集と編集後の文要素区間と文要素テキストとの対応付けの編集をより簡易に行うことができる。なお、結合文要素区間もまた一つの文要素区間であるので、結合文要素区間を、単に、文要素区間という場合がある。
【００６７】
図７は、結合アイコンが指定された場合における画面遷移例を示す図である。例えば、図７（Ａ）に示す結合アイコン５１ｄ１が指定された場合（つまり、結合アイコン５１ｄ１の指定が受け付けられた場合）、テキスト対応付け編集部３５は、表示バー５１ｃ１に対応する文要素区間と、表示バー５１ｃ２に対応する文要素区間とを含む結合文要素区間を新たに特定する。例えば、表示バー５１ｃ１に対応する文要素区間の開始タイミングから、表示バー５１ｃ２に対応する文要素区間の終了タイミングまでが結合文要素区間として特定される。新たに特定された結合文要素区間には、表示バー５１ｃ１に対応する文要素区間のシリアル番号（図７（Ａ）の例では、“１”）が付与され、この結合文要素区間より時系列で１つ後の文要素区間以後のシリアル番号は順次１つずつ繰り上げられる。なお、結合対象の２つの文要素区間（つまり、結合文要素区間の基となった２つの文要素区間）と、結合対象の２つの文要素区間それぞれに対応付けられていた文要素テキストがログデータに記録される。また、テキスト対応付け編集部３５は、表示バー５１ｃ１に対応付けられている文要素テキストの末尾に、表示バー５１ｃ２に対応付けられている文要素テキストを結合することで結合文要素テキストを生成する。つまり、テキストボックスＴＢ１の末尾位置（図７（Ａ）の例では、“今日も、”の直後の位置）に、テキストボックスＴＢ２における文要素テキストが繰り上がるように入力（図７（Ｂ））されることで、２つの文要素テキストが結合されて結合文要素テキストが生成される。これにより、テキストボックスＴＢ１に格納される結合文要素テキストは、テキストボックス番号“１”（＝シリアル番号“１”）を介して、上記結合文要素区間に対応付けられることになる。なお、テキストボックスＴＢ３以後のテキストボックスに格納されている文要素テキストは、時系列で１つ前のテキストボックスに順次１つずつ繰り上がるように入力されることになる。例えば、テキストボックスＴＢ３に格納されていた文要素テキスト（図７（Ａ）の例では、“ありがとうございます。）は、図７（Ｂ）に示すように、テキストボックスＴＢ２に入力されることになる。
【００６８】
表示処理部３４は、テキスト対応付け編集部３５による上記結合文要素区間と上記結合文要素テキストとの対応付けに応じて、例えば図７（Ａ）に示すように離間して表示された複数の表示バー５１ｃ１，５１ｃ２を境界領域Ｂにおいて繋げて表示させる。これにより、図７（Ｂ）に示すように、上記結合文要素区間の時間長に応じた長さの表示バー５１ｃ１’が表示される。文要素区間の結合後の状態を表示バー５１ｃ１’により、ユーザに一見して把握させることができる。このため、ユーザの編集作業を効果的にサポートすることができる。また、表示処理部３４は、テキスト対応付け編集部３５による上記結合文要素区間と上記結合文要素テキストとの対応付けに応じて、表示バー５１ｃと文要素テキストとを対応付けた表示を更新する。つまり、文要素区間と文要素テキストとの対応付けの更新が上記表示にも反映される。例えば、図７（Ｂ）に示すように、結合文要素区間の時間長に応じた長さの表示バー５１ｃ１’と、上記結合文要素テキストが対応付けられて表示（例えば、表示バー５１ｃ１’上に結合文要素テキストが表示）される。これにより、上記結合文要素区間と、上記結合文要素テキストとの対応付けを、ユーザに一見して把握させることができる。このため、ユーザの編集作業を効果的にサポートすることができる。さらに、表示処理部３４は、テキスト対応付け編集部３５による上記結合文要素区間と上記結合文要素テキストとの対応付けに応じて、例えば、図７（Ａ）に示す結合アイコン５１ｄ１の表示態様を変化させることで、図７（Ｂ）に示すように分離アイコン（結合解除アイコン）５１ｄ１’として表示させる。なお、結合アイコン５１ｄ１は、複数の文要素区間を結合して結合文要素区間を生成する指示をＣＰＵに与えるための操作アイコンであり、分離アイコン５１ｄ１’は、結合文要素区間の結合を解除する指示をＣＰＵに与えるための操作アイコンであるため、互いの機能は異なる。図７（Ａ）に示す結合アイコン５１ｄ１と、図７（Ｂ）に示すように分離アイコン５１ｄ１’との表示態様及び表示位置を比較すると、アイコン内の矢印（＜、＞）の向きとアイコン内の色とが異なっているが、表示領域５１におけるアイコンの位置は同一となっている（つまり、同一の座標に配置されている）。このように、結合アイコン５１ｄ１と分離アイコン５１ｄ１’との表示態様を変化させる一方、表示位置を変化させないように構成することで、結合文要素区間がどの位置で分割可能かをユーザに把握させることができる。なお、結合アイコン５１ｄ１と分離アイコン５１ｄ１’の大きさや形状を変化させるように構成してもよい。また、分離アイコンには、この分離アイコンの指定により分離される結合文要素区間のシリアル番号が対応付けられて記憶される。
【００６９】
また、図７（Ｂ）に示す結合アイコン５１ｄ２が指定された場合、結合アイコン５１ｄ１が指定された場合と同様の手順で処理が行われる。すなわち、テキスト対応付け編集部３５は、表示バー５１ｃ１’に対応する結合文要素区間と、表示バー５１ｃ３に対応する文要素区間とを含む結合文要素区間を新たに特定する。例えば、表示バー５１ｃ１’に対応する結合文要素区間の開始タイミングから、表示バー５１ｃ３に対応する文要素区間の終了タイミングまでが結合文要素区間として特定される。また、テキスト対応付け編集部３５は、表示バー５１ｃ１’に対応付けられている文要素テキストの末尾に、表示バー５１ｃ３に対応付けられている文要素テキストを結合することで結合文要素テキストを生成する。つまり、テキストボックスＴＢ１の末尾位置に、テキストボックスＴＢ２における文要素テキストが繰り上がるように入力されることで、２つの文要素テキストが結合されて結合文要素テキストが生成される。これにより、テキストボックスＴＢ１に格納される結合文要素テキストは、テキストボックス番号“１”（＝シリアル番号“１”）を介して、表示バー５１ｃ１”に対応する結合文要素区間に対応付けられることになる。表示処理部３４は、テキスト対応付け編集部３５による上記結合文要素区間と上記結合文要素テキストとの対応付けに応じて、例えば図７（Ｂ）に示すように離間して表示された複数の表示バー５１ｃ１’，５１ｃ３を境界領域において繋げて表示させることで、図７（Ｃ）に示すように、上記結合文要素区間の時間長に応じた長さの表示バー５１ｃ１”が表示される。また、表示処理部３４は、テキスト対応付け編集部３５による上記結合文要素区間と上記結合文要素テキストとの対応付けに応じて、表示バー５１ｃと文要素テキストとを対応付けた表示を更新する。さらに、表示処理部３４は、テキスト対応付け編集部３５による上記結合文要素区間と上記結合文要素テキストとの対応付けに応じて、例えば、図７（Ｂ）に示す結合アイコン５１ｄ２の表示態様を変化させることで、図７（Ｃ）に示すように分離アイコン５１ｄ２’として表示させる。
【００７０】
また、上記結合文要素区間と上記結合文要素テキストとの対応付け後に、上述したように表示態様が変化したアイコン（つまり、分離アイコン）の指定が受け付けられた場合、テキスト対応付け編集部３５は、上記結合文要素区間の結合を解除し、且つ上記結合文要素テキストの結合を解除することで、上記結合文要素区間と上記結合文要素テキストとの対応付けを元の状態に戻す処理を行う。これにより、ユーザによる分離アイコンの指定だけで、文要素区間の結合と結合後の文要素区間と文要素テキストとの対応付けを簡易に元に戻すことができる。
【００７１】
図８は、分離アイコンが指定された場合における画面遷移例１を示す図である。例えば、図８（Ａ）に示す分離アイコン５１ｄ１’が指定された場合（つまり、分離アイコン５１ｄ１’の指定が受け付けられた場合）、テキスト対応付け編集部３５は、上述したログデータを参照して、表示バー５１ｃ１”に対応する結合文要素区間の結合を解除して、元の２つの文要素区間（図８（Ｂ）の例では、表示バー５１ｃ１に対応する文要素区間と、表示バー５１ｃ２’に対応する結合文要素区間）を特定する。特定された文要素区間のうち、先頭の文要素区間には、表示バー５１ｃ１”に対応する文要素区間のシリアル番号（図８（Ａ）の例では、“１”）が付与され、この先頭の文要素区間より時系列で１つ後の文要素区間以後のシリアル番号は順次１つずつ繰り下げられる。また、テキスト対応付け編集部３５は、上述したログデータを参照して、表示バー５１ｃ１”に対応する結合文要素区間に対応付けられている結合文要素テキストの結合を解除して、元の２つの文要素テキストを特定する。特定された文要素テキストのうち、先頭の文要素テキストは、テキストボックスＴＢ１に格納されたままとなり、先頭の文要素テキストより時系列で１つ後の文要素テキストは、１つ後のテキストボックスＴＢ２に入力され、且つテキストボックスＴＢ２以後のテキストボックスに格納されていた文要素テキストは、時系列で１つ後のテキストボックスに順次１つずつ繰り下がるように入力されることになる。これにより、上記先頭の文要素テキストは、テキストボックス番号“１”（＝シリアル番号“１”）を介して、上記先頭の文要素区間に対応付けられ、上記先頭の文要素テキストより時系列で１つ後の文要素テキストは、テキストボックス番号“２”（＝シリアル番号“２”）を介して、上記先頭の文要素区間より時系列で１つ後の文要素区間に対応付けられることになる。
【００７２】
表示処理部３４は、テキスト対応付け編集部３５により対応付けが元の状態に戻されたことに応じて、例えば図８（Ａ）に示す表示バー５１ｃ１”を、図８（Ｂ）に示すように元の表示バー５１ｃ１，５１ｃ２’に戻して表示させる。つまり、元の２つの文要素区間それぞれの時間長に応じた長さの表示バー５１ｃ１，５１ｃ２’が表示される。また、表示処理部３４は、テキスト対応付け編集部３５により対応付けが元の状態に戻されたことに応じて、表示バー５１ｃと文要素テキストとを対応付けた表示を更新する。さらに、表示処理部３４は、テキスト対応付け編集部３５により対応付けが元の状態に戻されたことに応じて、例えば、図８（Ａ）に示す分離アイコン５１ｄ１’の表示態様を変化させることで、図８（Ｂ）に示すように結合アイコン５１ｄ１として表示させる。なお、上記では、結合文要素区間を元の２つの文要素区間に戻し、結合文要素テキストを元の２つの文要素テキストに戻す例を示したが、これに代えて、結合文要素区間を元の３つ以上の文要素区間に戻し、結合文要素テキストを元の３つ以上の文要素テキストに戻すように構成してもよい。
【００７３】
また、図８（Ｂ）に示す分離アイコン５１ｄ２’が指定された場合、分離アイコン５１ｄ１’が指定された場合と同様の手順で処理が行われる。すなわち、テキスト対応付け編集部３５は、上述したログデータを参照して、表示バー５１ｃ２’に対応する結合文要素区間の結合を解除して、元の２つの文要素区間（図８（Ｃ）の例では、表示バー５１ｃ２に対応する文要素区間と、表示バー５１ｃ３に対応する文要素区間）を特定する。特定された文要素区間のうち、先頭の文要素区間には、表示バー５１ｃ２’に対応する文要素区間のシリアル番号（図８（Ａ）の例では、“２”）が付与され、この先頭の文要素区間より時系列で１つ後の文要素区間以後のシリアル番号は順次１つずつ繰り下げられる。また、テキスト対応付け編集部３５は、上述したログデータを参照して、表示バー５１ｃ２’に対応付けられている結合文要素テキストの結合を解除して、元の２つの文要素テキストを特定する。特定された文要素テキストのうち、先頭の文要素テキストは、テキストボックスＴＢ２に格納されたままとなり、先頭の文要素テキストより時系列で１つ後の文要素テキストは、１つ後のテキストボックスＴＢ３に入力され、且つテキストボックスＴＢ３以後のテキストボックスに格納されていた文要素テキストは、時系列で１つ後のテキストボックスに順次１つずつ繰り下がるように入力されることになる。これにより、上記先頭の文要素テキストは、テキストボックス番号“２”（＝シリアル番号“２”）を介して、上記先頭の文要素区間に対応付けられ、上記先頭の文要素テキストより時系列で１つ後の文要素テキストは、テキストボックス番号“３”（＝シリアル番号“３”）を介して、上記先頭の文要素区間より時系列で１つ後の文要素区間に対応付けられることになる。
【００７４】
ところで、上記結合文要素区間と上記結合文要素テキストとの対応付け後に、ユーザ操作により、この結合文要素テキストがテキストボックスにおいて編集された場合において、ユーザは、その編集内容を維持しつつ、上記結合文要素区間の結合を解除したい場合がある。そこで、上記対応付けを元の状態に戻す処理とは別の例として、分離アイコンの指定が受け付けられた場合、テキスト対応付け編集部３５は、上記結合文要素区間を元の複数の文要素区間に戻し、元に戻された複数の文要素区間のうち、先頭の文要素区間に、結合文要素テキストを対応付け、且つ先頭の文要素区間より時系列で１つ後の文要素区間に、更に１つ後の文要素区間に対応付けられている文要素テキストを対応付けるように対応付けを更新する。これにより、文要素テキストの編集内容を維持しつつ、文要素区間の結合を簡易に元に戻すことができる。
【００７５】
図９は、分離アイコンが指定された場合における画面遷移例２を示す図である。例えば、図９（Ａ）に示す分離アイコン５１ｄ１’が指定された場合、テキスト対応付け編集部３５は、上述したログデータを参照して、表示バー５１ｃ１’に対応する結合文要素区間の結合を解除して、元の２つの文要素区間（図９（Ｂ）の例では、表示バー５１ｃ１に対応する文要素区間と、表示バー５１ｃ２に対応する文要素区間）を特定する。特定された文要素区間のうち、先頭の文要素区間には、表示バー５１ｃ１’に対応する文要素区間のシリアル番号（図９（Ａ）の例では、“１”）が付与され、この先頭の文要素区間より時系列で１つ後の文要素区間以後のシリアル番号は順次１つずつ繰り下げられる。なお、表示バー５１ｃ１”に対応する結合文要素区間に対応付けられている結合文要素テキストの結合は解除されない。これにより、編集内容を維持することが可能となる。この場合、全てのテキストボックスに格納されている文要素テキストはそのままである。ただし、結合文要素区間の結合が解除され、シリアル番号が振りなおされているので、文要素区間と文要素テキストとの対応付けが更新されることになる。
【００７６】
また、上記対応付けを元の状態に戻す処理とはさらに別の例として、上記結合文要素テキストにおける何れかの文字間のキャレット位置の指定と、分離アイコンの指定とが受け付けられた場合、テキスト対応付け編集部３５は、上記結合文要素区間を元の複数の文要素区間に戻し、元に戻された複数の文要素区間のうち、先頭の文要素区間に、結合文要素テキスト中の上記指定されたキャレット位置より時系列で前にある文要素テキストを対応付け、且つ先頭の文要素区間より時系列で１つ後の文要素区間に、上記指定されたキャレット位置より時系列で後にある文要素テキストを対応付けるように対応付けを更新する。これにより、文要素テキストの編集内容を維持しつつ、文要素区間の結合を簡易に元に戻すことができる。
【００７７】
図１０は、分離アイコンが指定された場合における画面遷移例３を示す図である。図１０（Ａ）の例では、テキストボックスＴＢ１における結合文要素テキストが編集されており、編集後の結合文要素テキストにおいて読点（、）の直後にキャレット位置Ｃがユーザ操作により指定されている。このような表示状態で、図１０（Ａ）に示す分離アイコン５１ｄ１’が指定された場合、テキスト対応付け編集部３５は、上述したログデータを参照して、表示バー５１ｃ１’に対応する結合文要素区間の結合を解除して、元の２つの文要素区間（図１０（Ｂ）の例では、表示バー５１ｃ１に対応する文要素区間と、表示バー５１ｃ２に対応する文要素区間）を特定する。特定された文要素区間のうち、先頭の文要素区間には、表示バー５１ｃ１’に対応する文要素区間のシリアル番号（図１０（Ａ）の例では、“１”）が付与され、この先頭の文要素区間より時系列で１つ後の文要素区間以後のシリアル番号は順次１つずつ繰り下げられる。また、テキスト対応付け編集部３５は、表示バー５１ｃ１’に対応する結合文要素区間に対応付けられている結合文要素テキスト中の上記キャレット位置Ｃより時系列で前にある文要素テキストと、上記キャレット位置Ｃより時系列で後にある文要素テキストとを特定する。上記キャレット位置Ｃより前にある文要素テキストは、テキストボックスＴＢ１に格納されたままとなり、上記キャレット位置Ｃより後にある文要素テキストは、１つ後のテキストボックスＴＢ２に入力され、且つテキストボックスＴＢ２以後のテキストボックスに格納されていた文要素テキストは、時系列で１つ後のテキストボックスに順次１つずつ繰り下がるように入力されることになる。これにより、上記キャレット位置Ｃより前にある文要素テキストは、テキストボックス番号“１”（＝シリアル番号“１”）を介して、上記先頭の文要素区間に対応付けられ、上記キャレット位置Ｃより後にある文要素テキストは、テキストボックス番号“２”（＝シリアル番号“２”）を介して、上記先頭の文要素区間より時系列で１つ後の文要素区間に対応付けられることになる。
【００７８】
上述したように、結合アイコンまたは分離アイコンにより文要素区間とテキストとの対応付けの編集を簡易に行うことができるが、文要素区間とテキストとの対応付けの編集は、テキストボックスにおける文要素テキストを分離または結合することによっても簡易に行うことができる。文要素テキストを分離する場合、テキスト対応付け編集部３５は、テキスト対応付け編集画面におけるテキストボックスに表示された文要素テキストにおける何れかの文字間のキャレット位置の指定を受け付ける。そして、テキスト対応付け編集部３５は、キャレット位置が指定された文要素テキストから、上記キャレット位置より時系列で後にある文要素テキストを分離し、分離された文要素テキストを、上記キャレット位置が指定された文要素テキストに対応付けられている文要素区間より時系列で１つ後の文要素区間に対応付けるように対応付けを更新する。つまり、ユーザ操作による文字間の位置の指定により、文要素テキストの分割と、分割後の文要素テキストと文要素区間との対応付けの編集をより簡易に行うことができる。また、編集中の文要素テキストと文要素区間との対応関係を表示バー５１ｃにより、ユーザに一見して把握させることができる。このため、ユーザの編集作業を効果的にサポートすることができる。このような文要素テキスト分離時における対応付け更新例として、以下の通り、２つの例（ａ），（ｂ）が挙げられる。
【００７９】
（ａ）文要素テキスト分離時における対応付け更新例１では、テキスト対応付け編集部３５は、上記キャレット位置の指定が受け付けられ、且つキーボードに配置されたＴＡＢキーが押下された場合、上記分離された文要素テキストを１つ後の文要素区間に対応付け、且つ、キャレット位置の指定の受け付け前の時点で既に１つ後の文要素区間以後の文要素区間それぞれに対応付けられている文要素テキストが新たに対応付けられる文要素区間を１つずつ繰り下げるように対応付けを更新する。これにより、上記分離された文要素テキスト以降の文要素テキストを１つずつ後に繰り下げる玉突き移動、及び玉突き移動後の文要素テキストと文要素区間との対応付けの編集をより簡易に行うことができる。ここで、ＴＡＢキーが押下された場合とは、第１のユーザ操作があった場合の一例である。なお、ＴＡＢキー以外のキーまたはアイコンの指定が第１のユーザ操作として設定されてもよい。
【００８０】
（ｂ）文要素テキスト分離時における対応付け更新例２では、テキスト対応付け編集部３５は、上記キャレット位置の指定が受け付けられ、且つキーボードに配置されたＴＡＢキー及びシフトキーが同時押下された場合、上記分離された文要素テキストと、キャレット位置の指定の受け付け前の時点で既に１つ後の文要素区間に対応付けられている文要素テキストとを結合した結合文要素テキストを１つ後の文要素区間に対応付けるように対応付けを更新する（（ａ）のような１つずつの繰り下げは行われない）。これにより、上記分離された文要素テキストを１つ後に繰り下げる移動、及び移動後の文要素テキストと文要素区間との対応付けの編集をより簡易に行うことができる。ここで、ＴＡＢキー及びシフトキーが同時押下された場合とは、第２のユーザ操作があった場合の一例である。なお、ＴＡＢキー及びシフトキー以外のキーまたはアイコンの指定が第２のユーザ操作として設定されてもよい。
【００８１】
図１１は、文要素テキスト分離時における画面遷移例を示す図である。図１２（Ａ），（Ｂ）は、文要素テキスト分離時における対応付け更新例１を示す図であり、図１２（Ｃ），（Ｄ）は、文要素テキスト分離時における対応付け更新例２を示す図である。図１１（Ａ）の例では、選択中の表示バー５１ｃ１に対応付けられているテキストボックスＴＢ１における文要素テキストにおいて読点（、）の直後にキャレット位置Ｃがユーザ操作により指定されている。このような表示状態で、例えばＴＡＢキーが押下された場合、テキスト対応付け編集部３５は、テキストボックスＴＢ１における文要素テキストから、キャレット位置Ｃより時系列で後にある文要素テキストを分離し、分離された文要素テキストを、図１１（Ｂ），図１２（Ｂ）に示すように、１つ後のテキストボックスＴＢ２に入力し、且つテキストボックスＴＢ２以後のテキストボックスに格納されていた文要素テキストを、時系列で１つ後のテキストボックスに順次１つずつ繰り下がるように入力する。これにより、上記キャレット位置Ｃより前にある文要素テキストは、テキストボックス番号“１”（＝シリアル番号“１”）を介して、上記先頭の文要素区間に対応付けられ、上記キャレット位置Ｃより後にある文要素テキスト（つまり、分離された文要素テキスト）は、テキストボックス番号“２”（＝シリアル番号“２”）を介して、上記先頭の文要素区間より時系列で１つ後の文要素区間に対応付けられることになる。このように、玉突き移動を要する編集において、ユーザの操作負荷を大幅に削減し、より簡易な操作での玉突き移動を実現することができる。すなわち、従来、例えば、テキストボックスにおける文要素テキストをドラッグ等で選択し、キーボードにおけるＣｔｒｌ＋Ｘで切り取り、移動先のテキストボックスを選択し、キーボードにおけるＣｔｒｌ＋Ｖで貼り付けるという操作が繰り返し行われていたところ、このような手間を削減することができる。
【００８２】
なお、図１２（Ｂ）の例では、テキストボックス番号“２０”のテキストボックスには、１つ前のテキストボックスからの文要素テキストが入力されることで、結合文要素テキストが格納されることになる。また、図１１（Ｂ）に示す表示バー５１ｃ２が選択された場合、選択された表示バー５１ｃ２に対応付けられているテキストボックスＴＢ２が、図１１（Ｃ）に示すように中央に配置されて強調表示（選択表示）される。これにより、テキストボックスＴＢ２における文要素テキストが編集可能となる。
【００８３】
また、図１１（Ｂ）に示す表示状態で、例えばＴＡＢキー及びシフトキーが同時押下された場合、テキスト対応付け編集部３５は、テキストボックスＴＢ１における文要素テキストから、キャレット位置Ｃより時系列で後にある文要素テキストを分離し、分離された文要素テキストを、図１２（Ｄ）に示すように、１つ後のテキストボックスＴＢ２の先頭位置に入力することで（１つ繰り下げ）、テキストボックスＴＢ２に格納されていた文要素テキストと結合させる。これにより、上記分離された文要素テキストと、テキストボックスＴＢ２における文要素テキストとが結合した結合文要素テキストがテキストボックスＴＢ２に格納されることになる。これにより、上記キャレット位置Ｃより前にある文要素テキストは、テキストボックス番号“１”（＝シリアル番号“１”）を介して、上記先頭の文要素区間に対応付けられ、上記結合文要素テキストは、テキストボックス番号“２”（＝シリアル番号“２”）を介して、上記先頭の文要素区間より時系列で１つ後の文要素区間に対応付けられることになる。
【００８４】
一方、文要素テキスト結合時における対応付け更新例として、以下の通り、４つの例（ｃ）〜（ｆ）が挙げられる。
【００８５】
（ｃ）文要素テキスト結合時における対応付け更新例１では、テキスト対応付け編集部３５は、テキスト対応付け編集画面におけるテキストボックスに表示された文要素テキストの末尾の位置の指定をキャレット位置の指定として受け付ける。そして、テキスト対応付け編集部３５は、上記キャレット位置の指定が受け付けられ、且つキーボードに配置されたＤＥＬキーの押下があった場合、末尾にキャレット位置が指定された文要素テキストと、この文要素テキストに対応付けられている文要素区間より時系列で１つ後の文要素区間に対応付けられている文要素テキストとを結合した結合文要素テキストを、末尾にキャレット位置が指定された文要素テキストに対応付けられている文要素区間に対応付け、且つ、末尾にキャレット位置が指定された文要素テキストに対応付けられている文要素区間より時系列で２つ後の文要素区間以後の文要素区間それぞれに対応付けられている文要素テキストが新たに対応付けられる文要素区間を１つずつ繰り上げるように対応付けを更新する。これにより、２つの文要素テキストの結合に応じて、後に続く文要素テキストを１つずつ繰り上げる移動、及び移動後の文要素テキストと文要素区間との対応付けの編集をより簡易に行うことができる。ここで、ＤＥＬキーの押下があった場合とは、第３のユーザ操作があった場合の一例である。なお、ＤＥＬキー以外のキーまたはアイコンの指定が第３のユーザ操作として設定されてもよい。
【００８６】
（ｄ）文要素テキスト結合時における対応付け更新例２では、テキスト対応付け編集部３５は、テキスト対応付け編集画面におけるテキストボックスに表示された文要素テキストの末尾の位置の指定をキャレット位置の指定として受け付ける。そして、テキスト対応付け編集部３５は、上記キャレット位置の指定が受け付けられ、且つキーボードに配置されたＤＥＬキー及びシフトキーが同時押下された場合、末尾にキャレット位置が指定された文要素テキストと、この文要素テキストに対応付けられている文要素区間より時系列で１つ後の文要素区間に対応付けられている文要素テキストとを結合した結合文要素テキストを、末尾にキャレット位置が指定された文要素テキストに対応付けられている文要素区間に対応付けるように対応付けを更新する（（ｃ）のような１つずつの繰り上げは行われない）。これにより、２つの文要素テキストを結合して、結合された結合文要素テキストと文要素区間との対応付けの編集をより簡易に行うことができる。ここで、ＤＥＬキー及びシフトキーが同時押下された場合とは、第３のユーザ操作があった場合の一例である。
【００８７】
（ｅ）文要素テキスト結合時における対応付け更新例３では、テキスト対応付け編集部３５は、テキスト対応付け編集画面におけるテキストボックスに表示された文要素テキストの先頭の位置の指定をキャレット位置の指定として受け付ける。そして、テキスト対応付け編集部３５は、上記キャレット位置の指定が受け付けられ、且つキーボードに配置されたＢＳキーの押下があった場合、先頭にキャレット位置が指定された文要素テキストと、この文要素テキストに対応付けられている文要素区間より時系列で１つ前の文要素区間に対応付けられている文要素テキストとを結合した結合文要素テキストを、前記１つ前の文要素区間に対応付け、且つ、先頭にキャレット位置が指定された文要素テキストに対応付けられている文要素区間より時系列で１つ後の文要素区間以後の文要素区間それぞれに対応付けられている文要素テキストが新たに対応付けられる文要素区間を１つずつ繰り上げるように対応付けを更新する。これにより、２つの文要素テキストの結合に応じて、後に続く文要素テキストを１つずつ繰り上げる移動、及び移動後の文要素テキストと文要素区間との対応付けの編集をより簡易に行うことができる。ここで、ＢＳキーの押下があった場合とは、第４のユーザ操作があった場合の一例である。なお、ＢＳキー以外のキーまたはアイコンの指定が第４のユーザ操作として設定されてもよい。
【００８８】
（ｆ）文要素テキスト結合時における対応付け更新例４では、テキスト対応付け編集部３５は、テキスト対応付け編集画面におけるテキストボックスに表示された文要素テキストの先頭の位置の指定をキャレット位置の指定として受け付ける。そして、テキスト対応付け編集部３５は、上記キャレット位置の指定が受け付けられ、且つキーボードに配置されたＢＳキー及びシフトキーの同時押下があった場合、先頭にキャレット位置が指定された文要素テキストと、この文要素テキストに対応付けられている文要素区間より時系列で１つ前の文要素区間に対応付けられている文要素テキストとを結合した結合文要素テキストを、前記１つ前の文要素区間に対応付けるように対応付けを更新する（（ｄ）のような１つずつの繰り上げは行われない）。これにより、２つの文要素テキストを結合して、結合された結合文要素テキストと文要素区間との対応付けの編集をより簡易に行うことができる。ここで、ＢＳキー及びシフトキーが同時押下された場合とは、第４のユーザ操作があった場合の一例である。
【００８９】
図１３は、文要素テキスト結合時における画面遷移例を示す図である。図１４（Ａ），（Ｂ）は、文要素テキスト結合時における対応付け更新例１を示す図であり、図１４（Ｃ），（Ｄ）は、文要素テキスト結合時における対応付け更新例２を示す図である。図１３（Ａ）の例では、選択中の表示バー５１ｃ２に対応付けられているテキストボックスＴＢ２における文要素テキストの末尾にキャレット位置Ｃがユーザ操作により指定されている。このような表示状態で、例えばＤＥＬキーが押下された場合、テキスト対応付け編集部３５は、テキストボックスＴＢ３における文要素テキストを、図１３（Ｂ），図１４（Ｂ）に示すように、１つ前のテキストボックスＴＢ２に入力する（繰り上げる）ことでテキストボックスＴＢ２における文要素テキストの末尾に結合させ、且つテキストボックスＴＢ４以後のテキストボックスに格納されていた文要素テキストを、時系列で１つ前のテキストボックスに順次１つずつ繰り上がるように入力する。これにより、テキストボックスＴＢ２において結合された結合文要素テキストは、テキストボックス番号“２”（＝シリアル番号“２”）を介して、上記先頭の文要素区間より時系列で１つ後の文要素区間に対応付けられ、テキストボックスＴＢ３以後に入力された文要素テキストは、上記先頭の文要素区間より時系列で２つ後の文要素区間以後の文要素区間に対応付けられることになる。なお、図１４（Ｂ）の例では、文要素テキストの繰り上げにより、最後のテキストボックス番号“２２”のテキストボックスは空欄になっているが、テキスト対応付け編集部３５は、末尾の文要素テキストに所定の区切り文字（例えば、読点）が含まれる場合、末尾の文要素テキストの先頭文字から上記区切り文字までのテキスト部分のみを、末尾の文要素テキストが対応付けられている文要素区間より時系列で１つ前の文要素区間に対応付けるように対応付けを更新してもよい。
【００９０】
一方、図１３（Ｂ）に示す表示状態で、例えばＤＥＬキー及びシフトキーが同時押下された場合、テキスト対応付け編集部３５は、テキストボックスＴＢ３における文要素テキストを、図１４（Ｄ）に示すように、１つ前のテキストボックスＴＢ２に入力する（繰り上げる）ことでテキストボックスＴＢ２における文要素テキストの末尾に結合させる。これにより、テキストボックスＴＢ２において結合された結合文要素テキストは、テキストボックス番号“２”（＝シリアル番号“２”）を介して、上記先頭の文要素区間より時系列で１つ後の文要素区間に対応付けられる。
【００９１】
上述したように、テキスト対応付け編集部３５は、テキストボックスに表示された文要素テキストの分離と結合との少なくとも何れか一方を含む編集をユーザ操作に応じて行い、編集結果に基づいてテキストボックスに表示された文要素テキストと文要素区間との対応付けを更新する。このように文要素テキストと文要素区間との対応付けが更新された場合、表示処理部３４は、更新後の対応付けに基づいて、テキスト対応付け編集画面の表示領域５１における表示バー５１ｃと文要素テキストとを対応付けた表示を更新する。
【００９２】
なお、テキスト対応付け編集画面におけるテキストボックスへの文要素テキストの入力は、表示領域５０に表示されている文テキストからも行うことができる。図１５は、ユーザ操作により選択された文字列がドラッグ＆ドロップでテキストボックスＴＢ２に入力される例を示す図である。図１５（Ａ）の例では、例えばユーザがマウスの操作により表示領域５０において所望の文字列（ハイライト部分）を選択する。そして、マウスポインタが上記選択された文字列の領域に重なった状態でユーザがマウスのボタンを押しながらマウスを移動（ドラッグ）させ、テキストボックス上でマウスのボタンを離す（ドロップ）と、テキスト対応付け編集部３５は、図１５（Ｂ）に示すように、上記選択された文字列をテキストボックスＴＢ２に文要素テキストとして入力し、文要素テキストと文要素区間との対応付けを更新する。
【００９３】
［２.発話練習装置Ｓにおけるテキスト対応付け動作］
次に、本実施形態に係る発話練習装置Ｓにおけるテキスト対応付け動作について説明する。
【００９４】
（２−１．テキスト対応付け処理）
先ず、図１６及び図１７を参照して、テキスト対応付け動作において実行されるテキスト対応付け処理について説明する。図１６（Ａ）は、テキスト対応付け処理の一例を示すフローチャートである。図１７は、図１６（Ａ）に示すテキスト対応付け処理の実行の結果、文要素区間数より文要素テキスト数が少ない場合に実行されるテキスト対応付け処理の一例を示すフローチャートである。なお、図１６（Ａ）及び図１７に示す処理は、制御部３（音声処理部３１、テキスト処理部３２、テキスト対応付け部３３）により実行される。
【００９５】
図１６（Ａ）に示す処理は、例えばユーザが操作部４を介して音読対象のお手本となる所望の音声ファイルを指定して対応付け開始指示を行うことにより開始される。図１６（Ａ）に示す処理が開始されると、上記指定された音声ファイルに格納された音声波形データと、この音声波形データに対応付けられたテキストデータとが記憶部２から制御部３により読み込まれる。そして、制御部３は、読み込まれた音声波形データから、上述したように文要素毎に文要素区間及びその時間長を特定する（ステップＳ１）。次いで、制御部３は、ステップＳ１で特定された各文要素区間に対して先頭から順番にシリアル番号を付与する（ステップＳ２）。次いで、制御部３は、ステップＳ１で特定された文要素区間及びその時間長を示すデータ、及びステップＳ２で付与されたシリアル番号を文要素区間毎に対応付けて記憶する（ステップＳ３）。
【００９６】
次いで、制御部３は、ステップＳ１で特定された文要素区間の数をカウントし、文要素区間数VCountとして特定する（ステップＳ４）。次いで、制御部３は、ステップＳ４で特定された文要素区間数VCount分のテキストボックスを生成する（ステップＳ５）。次いで、制御部３は、ステップＳ５で生成されたテキストボックスに対して先頭から順番にテキストボックス番号を付与する（ステップＳ６）。次いで、制御部３は、ステップＳ６で付与されたテキストボックス番号をテキストボックスリストに登録する（ステップＳ７）。次いで、制御部３は、上記読み込まれたデキストデータが示す文テキストの文字数をカウントし、テキストサイズText Sizeとして特定する（ステップＳ８）。次いで、制御部３は、ループカウンタｉ（変数）に０を代入する（ステップＳ９）。次いで、制御部３は、文テキストの切り出し開始文字start（変数）に文テキストの先頭文字を代入する（ステップＳ１０）。なお、この例では、先頭文字は０番目の文字である。
【００９７】
次いで、制御部３は、ループカウンタｉとテキストサイズText Sizeとが一致するか否かを判定する（ステップＳ１１）。制御部３は、ループカウンタｉとテキストサイズText Sizeとが一致しないと判定した場合（ステップＳ１１：ＮＯ）、ステップＳ１２へ進む。一方、制御部３は、ループカウンタｉとテキストサイズText Sizeとが一致すると判定した場合（ステップＳ１１：ＹＥＳ）、ステップＳ１９へ進む。ステップＳ１２では、制御部３は、文テキストの先頭文字からｉ番目の文字ｌｉを特定する。次いで、制御部３は、ステップＳ１２で特定した文字ｌｉが区切り文字（例えば、読点、句点）であるか否かを判定する（ステップＳ１３）。制御部３は、文字ｌｉが区切り文字でないと判定した場合（ステップＳ１３：ＮＯ）、ステップＳ１４へ進む。一方、制御部３は、文字ｌｉが区切り文字であると判定した場合（ステップＳ１３：ＹＥＳ）、ステップＳ１５へ進む。
【００９８】
ステップＳ１４では、制御部３は、ループカウンタｉとテキストサイズText Size−１とが一致するか否かを判定する。つまり、ステップＳ１２で特定された文字ｌｉが文テキストの末尾文字であるか否かが判定される。制御部３は、ループカウンタｉとテキストサイズText Size−１とが一致すると判定した場合（ステップＳ１４：ＹＥＳ）、ステップＳ１５へ進む。一方、制御部３は、ループカウンタｉとテキストサイズText Size−１とが一致しないと判定した場合（ステップＳ１４：ＮＯ）、ステップＳ１８へ進む。ステップＳ１５では、制御部３は、上記文テキストの切り出し終了文字end（変数）にステップＳ１２で特定された文字ｌｉを代入する。つまり、切り出し文字または末尾文字が終了文字endとしてセットされる。
【００９９】
次いで、制御部３は、切り出し開始文字startから切り出し終了文字endまでの文字列を文要素テキストとして文テキストから取得し（切り出し）、文要素リストへ登録する（ステップＳ１６）。次いで、制御部３は、文テキストの切り出し開始文字start（変数）に文字ｌｉ＋１を代入する（ステップＳ１７）。次いで、制御部３は、ループカウンタｉ（変数）を１インクリメント（１加算）し（ステップＳ１８）、ステップＳ１１に戻る。ステップＳ１１〜Ｓ１８のループ処理（繰り返し処理）により、文テキストに含まれる区切り文字の直後で文テキストが区切られ、文要素テキストが文要素毎に取得（特定）されることになる。
【０１００】
ステップＳ１９では、制御部３は、ループカウンタｊ（変数）に０を代入する。次いで、制御部３は、文要素リストに登録された文要素テキストの数をカウントし、文要素テキスト数PCountとして特定する（ステップＳ２０）。次いで、制御部３は、ループカウンタｊと文要素テキスト数PCountとが一致するか否かを判定する（ステップＳ２１）。制御部３は、ループカウンタｊと文要素テキスト数PCountとが一致しないと判定した場合（ステップＳ２１：ＮＯ）、ステップＳ２２へ進む。一方、制御部３は、ループカウンタｊと文要素テキスト数PCountとが一致すると判定した場合（ステップＳ２１：ＹＥＳ）、図１６（Ａ）に示す処理を終了する。
【０１０１】
ステップＳ２２では、制御部３は、文要素リストからｊ番目の文要素テキストを取得する。次いで、制御部３は、ループカウンタｊが文要素区間数VCount以上であるか否かを判定する（ステップＳ２３）。制御部３は、ループカウンタｊが文要素区間数VCount以上でないと判定した場合（ステップＳ２３：ＮＯ）、テキストボックスリストからｊ番目のテキストボックス番号を取得し（ステップＳ２４）、ステップＳ２６へ進む。一方、制御部３は、ループカウンタｊが文要素区間数VCount以上であると判定した場合（ステップＳ２３：ＹＥＳ）、テキストボックスリストから末尾のテキストボックス番号を取得し（ステップＳ２５）、ステップＳ２６へ進む。
【０１０２】
ステップＳ２６では、制御部３は、ステップＳ２４またはＳ２５で取得されたテキストボックス番号のテキストボックスにｊ番目の文要素テキストを入力する。なお、文要素テキスト数PCountより文要素区間数VCountが少なく、ステップＳ５で生成されたテキストボックスの数が足りない場合、ループ処理におけるステップＳ２５で末尾のテキストボックス番号が複数回取得される。この場合、ステップＳ２６では、末尾のテキストボックスにおいて文要素テキストが順次、テキストボックスの末尾位置に入力されることで文要素テキストが結合されることになる。次いで、制御部３は、ループカウンタｊ（変数）を１インクリメントし（ステップＳ２７）、ステップＳ２１に戻る。ステップＳ２１〜Ｓ２７のループ処理（繰り返し処理）により、ステップＳ１６で特定された文要素テキストは、先頭から順に、ステップＳ５で生成されたテキストボックスに入力される。これにより、文要素区間と文要素テキストとがテキストボックス番号（シリアル番号）を介して文の先頭から時系列で対応付けられ、文要素区間と文要素テキストとを対応付けた対応付けデータが生成され、生成された対応付けデータは上記指定された音声ファイルに対応付けられて所定のファイル形式で記憶部２に保存されることになる。
【０１０３】
図１６（Ｂ），（Ｃ）は、テキストボックス番号と、テキストボックス識別子と、文要素テキストとの対応関係を示す図である。図１６（Ｂ），（Ｃ）は、図１６（Ａ）に示すテキスト対応付け処理による対応付けの結果に基づくものである。図１６（Ｂ）の例は、図１６（Ａ）に示すテキスト対応付け処理による対応付けの結果、生成された全てのテキストボックスに文要素テキストが格納された例を示しており、これは、文要素区間数VCountと文要素テキスト数PCountとが一致した場合、または文要素区間数VCountより文要素テキスト数PCountが多い場合に該当する。一方、図１６（Ｃ）の例は、図１６（Ａ）に示すテキスト対応付け処理による対応付けの結果、生成された全てのテキストボックスに文要素テキストが格納されずに空欄のテキストボックスが存在する例を示しており、これは、文要素区間数VCountより文要素テキスト数PCountが少ない場合に該当する。なお、図１６（Ｂ），（Ｃ）において、TBaStr（a＝１〜ｍ）は、テキストボックスＴＢａ（ａ＝１〜ｍ）に格納されている文要素テキストを示す。
【０１０４】
図１６（Ａ）に示すテキスト対応付け処理による対応付けの結果、制御部３は、文要素区間数VCountより文要素テキスト数PCountが少ないと判定した（言い換えれば、空欄のテキストボックスがあると判定した）場合、図１７に示すテキスト対応付け処理（言い換えれば、対応付け調整処理）を開始する。図１７に示す処理が開始されると、制御部３は、ループカウンタｉ（変数）に０を代入する（ステップＳ３１）。次いで、制御部３は、ループカウンタｉと文要素テキスト数VCountとが一致するか否かを判定する（ステップＳ３２）。制御部３は、ループカウンタｉと文要素テキスト数VCountとが一致しないと判定した場合（ステップＳ３２：ＮＯ）、ステップＳ３３へ進む。一方、制御部３は、ループカウンタｉと文要素テキスト数VCountとが一致すると判定した場合（ステップＳ３２：ＹＥＳ）、ステップＳ３７へ進む。
【０１０５】
ステップＳ３３では、制御部３は、テキストボックスリストからｉ番目のテキストボックス番号を取得する。次いで、制御部３は、ｉ番目のテキストボックス番号のテキストボックスから文要素テキストｔｉを取得する（ステップＳ３４）。次いで、制御部３は、文要素テキストｔｉから、句読点、記号、及び拗音を除く文字数を、文要素テキストｔｉの音数として特定し、音数リストへ登録する（ステップＳ３５）。例えば、制御部３は、文要素テキストｔｉをカタカナ化することで文要素テキストｔｉの音数を特定する。次いで、制御部３は、ループカウンタｉ（変数）を１インクリメント（１加算）し（ステップＳ３６）、ステップＳ３２に戻る。ステップＳ３２〜Ｓ３６のループ処理（繰り返し処理）により、各文要素テキストの音数がテキストボックス番号順に特定され、音数リストへ登録されることになる。
【０１０６】
ステップＳ３７では、制御部３は、音数リストに登録された音数のうち、最も大きい音数の先頭からの順番をtarget番目として特定する。次いで、制御部３は、ステップＳ３７で特定されたtarget番目のテキストボックスＴＢＸ（テキストボックス番号が“Ｘ”）に格納された文要素テキストTBXStrを抽出する（ステップＳ３８）。このような抽出処理により、音数が最も多い文要素テキストが上記分割条件を満たす文要素テキストTBXStrとして抽出されることになる。次いで、制御部３は、ステップＳ３８で抽出された文要素テキストTBXStrの先頭文字から文要素テキストTBXStrの音数の半分の値に相当する中央位置を仮の分割境界として特定する（ステップＳ３９）。次いで、制御部３は、文要素テキストTBXStrに含まれる各語の品詞を形態素解析器により特定し、特定した品詞を品詞リストへ登録し、特定した品詞の数をカウントして品詞数CCountとして特定する（ステップＳ４０）。
【０１０７】
次いで、制御部３は、ループカウンタｊ（変数）に０を代入する（ステップＳ４１）。次いで、制御部３は、ループカウンタｊと品詞数CCountとが一致するか否かを判定する（ステップＳ４２）。制御部３は、ループカウンタｊと品詞数CCountとが一致しないと判定した場合（ステップＳ４２：ＮＯ）、ステップＳ４３へ進む。一方、制御部３は、ループカウンタｊと品詞数CCountとが一致すると判定した場合（ステップＳ４２：ＹＥＳ）、ステップＳ４９へ進む。ステップＳ４３では、制御部３は、上記品詞リストからｊ番目の品詞ｃｊを取得する。次いで、制御部３は、ステップＳ４３で取得された品詞ｃｊは助詞であるか否かを判定する（ステップＳ４４）。制御部３は、品詞ｃｊは助詞であると判定した場合（ステップＳ４４：ＹＥＳ）、ステップＳ４５へ進む。一方、制御部３は、品詞ｃｊは助詞でないと判定した場合（ステップＳ４４：ＮＯ）、ステップＳ４８へ進む。
【０１０８】
ステップＳ４５では、制御部３は、上記品詞リストからｊ＋１番目の品詞ｃｊ＋１を取得する。次いで、制御部３は、ステップＳ４５で取得された品詞ｃｊ＋１は名詞または接頭詞であるか否かを判定する（ステップＳ４６）。制御部３は、品詞ｃｊ＋１は名詞または接頭詞であると判定した場合（ステップＳ４６：ＹＥＳ）、ステップＳ４７へ進む。一方、制御部３は、品詞ｃｊ＋１は名詞または接頭詞でないと判定した場合（ステップＳ４６：ＮＯ）、ステップＳ４８へ進む。ステップＳ４７では、制御部３は、品詞ｃｊと品詞ｃｊ＋１との間の位置（つまり、文要素テキストTBXStrの先頭文字からｊ番目の品詞ｃｊ内の末尾文字直後の位置）を真の分割境界候補として分割境界リストに登録し、ステップＳ４８へ進む。これにより、「助詞から名詞に繋がる位置」または「助詞から接頭詞に繋がる位置」が真の分割境界候補とされる。ステップＳ４８では、制御部３は、ループカウンタｊ（変数）を１インクリメント（１加算）し、ステップＳ４２に戻る。ステップＳ４２〜Ｓ４８のループ処理（繰り返し処理）により、文要素テキストTBXStrにおける真の分割境界候補が検索されることになるが、真の分割境界候補が発見されないこともありうる。
【０１０９】
ステップＳ４９では、制御部３は、真の分割境界リストに真の分割境界候補が登録されているか否かを判定する。制御部３は、真の分割境界リストに真の分割境界候補が登録されていないと判定した場合（ステップＳ４９：ＮＯ）、ステップＳ５０に戻る。ステップＳ５０では、制御部３は、音数リストに登録された音数のうち、既に特定されたtarget番目以外で最も大きい音数の先頭からの順番をtarget番目として特定してステップＳ３８に移行して上記と同様の処理を行う。一方、制御部３は、真の分割境界リストに真の分割境界候補が登録されていると判定した場合（ステップＳ４９：ＹＥＳ）、ステップＳ５１へ進む。
【０１１０】
ステップＳ５１では、制御部３は、分割境界リストに登録された真の分割境界候補のうち、仮の分割境界と最も位置が近いものを真の分割境界として決定する。次いで、制御部３は、ステップＳ５１で決定された真の分割境界より時系列で後の文字列を文要素テキストTBNStrとして、文要素テキストTBXStrから分離する（ステップＳ５２）。このような分離処理により、文要素テキストTBXStrにおける文字間の特定位置より時系列で後にある文要素テキストが文要素テキストTBNStrとして分離されることになる。次いで、制御部３は、空欄のテキストボックスのうち、テキストボックス番号が最も若いテキストボックスをテキストボックスＴＢｎとして特定する（ステップ５３）。
【０１１１】
次いで、制御部３は、ループカウンタｋ（変数）に“ｎ−１”を代入する（ステップＳ５４）。次いで、制御部３は、ループカウンタｋとＸとが一致するか否かを判定する（ステップＳ５５）。ここで、Ｘは、target番目のテキストボックスＴＢＸのテキストボックス番号である。制御部３は、ループカウンタｋとＸとが一致しないと判定した場合（ステップＳ５５：ＮＯ）、ステップＳ５６へ進む。一方、制御部３は、ループカウンタｋとＸとが一致すると判定した場合（ステップＳ５５：ＹＥＳ）、ステップＳ５９へ進む。ステップＳ５６では、制御部３は、テキストボックスＴＢｋ＋１に文要素テキストTBkStrを入力する。次いで、制御部３は、文要素テキストTBkStrをテキストボックスＴＢｋから削除する（ステップＳ５７）。ステップＳ５６及びＳ５７の処理により、例えば、テキストボックス番号が最も若いテキストボックスをテキストボックスＴＢｎ（図５の例では、テキストボックス番号“２３”のテキストボックスＴＢ２３）に、時系列で１つ前のテキストボックスＴＢｎ−１における文要素テキストTBn-1Strが繰り下がるように入力されることになる。
【０１１２】
次いで、制御部３は、ループカウンタｋ（変数）を１デクリメント（１減算）し、ステップＳ５５に戻る。ステップＳ５９では、制御部３は、テキストボックスＴＢｎ＋１に、ステップＳ５２で分離された文要素テキストTBNStrを入力する。ステップＳ５５〜Ｓ５９の更新処理により、上記分離されたテキストTBNStrが、target番目のテキストボックスＴＢＸに対応付けられている文要素区間より時系列で１つ後の文要素区間に対応付けられ、且つ、この文要素区間以後の文要素区間それぞれに対応付けられている文要素テキストが新たに対応付けられる文要素区間が１つずつ繰り下げられるように対応付けが更新される。次いで、制御部３は、空欄のテキストボックスがまだあるか否かを判定する（ステップＳ６０）。制御部３は、空欄のテキストボックスがまだあると判定した場合（ステップＳ６０：ＹＥＳ）、ステップＳ３１に戻り、上記と同様の処理が空欄のテキストボックスが無くなるまで繰り返し実行される。一方、制御部３は、空欄のテキストボックスがないと判定した場合（ステップＳ６０：ＮＯ）、上記対応付けデータを更新保存し、図１７に示す処理を終了する。
【０１１３】
なお、図１６（Ａ）に示すテキスト対応付け処理による対応付けの結果、文要素区間数VCountより文要素テキスト数PCountが多い場合、テキスト対応付け編集処理により対応付けの更新を行うことができる。
【０１１４】
（２−２．テキスト対応付け編集処理）
次に、図１８等を参照して、テキスト対応付け動作において実行されるテキスト対応付け編集処理について説明する。図１８は、テキスト対応付け編集処理のメインルーチンの一例を示すフローチャートである。なお、図１８等に示す処理は、制御部３（表示処理部３４、及びテキスト対応付け編集部３５）により実行される。
【０１１５】
図１８に示す処理は、例えばユーザが操作部４を介して音読対象のお手本となる所望の音声ファイルを指定して対応付け編集開始指示を行うことにより開始される。図１８に示す処理が開始されると、上記指定された音声ファイルに格納された音声波形データと、この音声波形データに対応付けられた対応付けデータとが記憶部２から制御部３により読み込まれる。なお、音声波形データの代わりに、音声波形データに基づいて予め特定された音高と音圧との少なくとも何れか一方の音要素を示す音要素データが読み込まれてもよい。そして、制御部３は、読み込まれた音声波形データ（音要素データ）及び対応付けデータを用いて上述したテキスト対応付け編集画面の表示処理を実行する（ステップＳ７１）。この表示処理では、制御部３は、テキスト対応付け編集画面をディスプレイＤに表示させ、上記対応付けデータに基づいて、上記特定された文要素区間の時間長に応じた長さの表示バー５１ｃと、上記特定された文要素テキストとを文の先頭から時系列で対応付けて表示領域５１に表示させる。また、表示処理部３４は、離間して表示された複数の表示バー５１ｃの境界領域Ｂから所定距離以内の近傍位置に結合アイコンを表示させる。また、表示処理部３４は、上記音要素データが示す音高と音圧との少なくとも何れか一方の音要素の時系列的な変化を表すグラフ５１ａ，５１ｂを表示バー５１ｃに対応付けて表示領域５１に表示させる。そして、表示処理部３４は、表示バー５１ｃ毎に対応付けられて表示される文要素テキストのうち、少なくとも何れか１つの文要素テキストを、テキスト対応付け編集画面に設けられたテキストボックスに表示させる。テキスト対応付け編集画面が表示されると、制御部３は、ユーザ操作待ちの状態となる。
【０１１６】
ステップＳ７２では、制御部３は、ユーザ操作により結合アイコンが指定されたか否かを判定する。結合アイコンが指定されたと判定された場合（ステップＳ７２：ＹＥＳ）、ステップＳ７３へ進む。ステップＳ７３では、後述する文要素区間結合処理が実行される。一方、結合アイコンが指定されていないと判定された場合（ステップＳ７２：ＮＯ）、ステップＳ７４へ進む。
【０１１７】
ステップＳ７４では、制御部３は、ユーザ操作により分離アイコンが指定されたか否かを判定する。分離アイコンが指定されたと判定された場合（ステップＳ７４：ＹＥＳ）、ステップＳ７５へ進む。ステップＳ７５では、後述する文要素区間分離処理が実行される。一方、分離アイコンが指定されていないと判定された場合（ステップＳ７４：ＮＯ）、ステップＳ７６へ進む。
【０１１８】
ステップＳ７６では、制御部３は、ユーザ操作により表示バーが選択されたか否かを判定する。表示バーが選択されたと判定された場合（ステップＳ７６：ＹＥＳ）、ステップＳ７７へ進む。ステップＳ７７では、制御部３は、選択された表示バーに対応付けられたテキストボックスを強調表示する。一方、表示バーが選択されていないと判定された場合（ステップＳ７６：ＮＯ）、ステップＳ７８へ進む。
【０１１９】
ステップＳ７８では、制御部３は、ユーザ操作によりキャレット位置（強調表示されたテキストボックスにおけるキャレット位置）が指定されたか否かを判定する。キャレット位置が指定されたと判定された場合（ステップＳ７８：ＹＥＳ）、ステップＳ７９へ進む。ステップＳ７９では、制御部３は、指定されたキャレット位置を更新する。一方、キャレット位置が指定されていないと判定された場合（ステップＳ７８：ＮＯ）、ステップＳ８０へ進む。
【０１２０】
ステップＳ８０では、制御部３は、ユーザ操作によりＴＡＢキーが押下されたか否かを判定する。ＴＡＢキーが押下されたと判定された場合（ステップＳ８０：ＹＥＳ）、ステップＳ８１へ進む。ステップＳ８１では、後述するテキスト分離処理１が実行される。一方、ＴＡＢキーが押下されていないと判定された場合（ステップＳ８０：ＮＯ）、ステップＳ８２へ進む。
【０１２１】
ステップＳ８２では、制御部３は、ユーザ操作によりＴＡＢキー及びシフトキーが同時押下されたか否かを判定する。ＴＡＢキー及びシフトキーが同時押下されたと判定された場合（ステップＳ８２：ＹＥＳ）、ステップＳ８３へ進む。ステップＳ８３では、後述するテキスト分離処理２が実行される。一方、ＴＡＢキー及びシフトキーが同時押下されていないと判定された場合（ステップＳ８２：ＮＯ）、ステップＳ８４へ進む。
【０１２２】
ステップＳ８４では、制御部３は、ユーザ操作によりＤＥＬキーが押下されたか否かを判定する。ＤＥＬキーが押下されたと判定された場合（ステップＳ８４：ＹＥＳ）、ステップＳ８５へ進む。ステップＳ８５では、後述するテキスト結合処理１が実行される。一方、ＤＥＬキーが押下されていないと判定された場合（ステップＳ８４：ＮＯ）、ステップＳ８６へ進む。
【０１２３】
ステップＳ８６では、制御部３は、ユーザ操作によりＤＥＬキー及びシフトキーが同時押下されたか否かを判定する。ＤＥＬキー及びシフトキーが同時押下されたと判定された場合（ステップＳ８６：ＹＥＳ）、ステップＳ８７へ進む。ステップＳ８７では、後述するテキスト結合処理２が実行される。一方、ＤＥＬキー及びシフトキーが同時押下されていないと判定された場合（ステップＳ８６：ＮＯ）、ステップＳ８８へ進む。
【０１２４】
ステップＳ８８では、制御部３は、ユーザ操作により編集終了が指定されたか否かを判定する。編集終了が指定されていないと判定された場合（ステップＳ８８：ＮＯ）、ステップＳ８９へ進む。ステップＳ８９に示すその他の処理では、例えばテキスト対応付け編集画面に表示された再生ボタンの指定に応じた処理、キーボードに配置されたＢＳキーの押下に応じた処理、ＢＳキー及びシフトキーの同時押下に応じた処理等が行われるが、詳しい説明を省略する。一方、編集終了が指定されたと判定された場合（ステップＳ８８：ＹＥＳ）、ステップＳ９０へ進む。ステップＳ９０では、制御部３は、文要素区間結合処理、文要素区間分離処理、テキスト分離処理１、テキスト分離処理２、テキスト結合処理１、及びテキスト結合処理２のうち、少なくとも何れか１つの処理の最終的な対応付けの更新にしたがって対応付けデータを更新して記憶部２に保存し、図１８に示す処理を終了する。
【０１２５】
（２−２−１．文要素区間結合処理）
次に、図１９を参照して、上記ステップＳ７３に示す文要素区間結合処理について説明する。図１９は、文要素区間結合処理の一例を示すフローチャートである。図１９に示す処理が開始されると、制御部３は、指定された結合アイコンに対応付けられた２つのシリアル番号それぞれに対応する文要素区間を、結合対象の２つの文要素区間として特定する（ステップＳ７３１）。次いで、制御部３は、ステップＳ７３１で特定された結合対象の２つの文要素区間と、結合対象の２つの文要素区間それぞれに対応付けられている文要素テキストとをログデータに記録する（ステップＳ７３２）。次いで、制御部３は、テキストボックスの数ｍと、ステップＳ７３１で特定された２つの文要素区間のうち先頭の文要素区間に対応するテキストボックスＴＢＸのテキストボックス番号“Ｘ”とを特定する（ステップＳ７３３）。
【０１２６】
次いで、制御部３は、ステップＳ７３１で特定された結合対象の２つの文要素区間を含む結合文要素区間を新たに特定する（ステップＳ７３４）。次いで、制御部３は、ステップＳ７３１で特定された２つの文要素区間のうち先頭の文要素区間のシリアル番号を、ステップＳ７３４で特定された結合文要素区間に対して付与する（ステップＳ７３５）。次いで、制御部３は、ステップＳ７３４で特定された結合文要素区間が最後の文要素区間であるか否かを判定する（ステップＳ７３６）。制御部３は、結合文要素区間が最後の文要素区間であると判定した場合（ステップＳ７３６：ＹＥＳ）、ステップＳ７３８へ進む。一方、制御部３は、結合文要素区間が最後の文要素区間でないと判定した場合（ステップＳ７３６：ＮＯ）、結合文要素区間より時系列で１つ後の文要素区間以後のシリアル番号を１つずつ繰り上げ（ステップＳ７３７）、ステップＳ７３８へ進む。
【０１２７】
ステップＳ７３８では、制御部３は、ステップＳ７３４で特定された結合文要素区間の時間長に応じた長さの表示バーを表示領域５１に表示させる。つまり、制御部３は、ステップＳ７３１で特定された２つの文要素区間それぞれに対応する２つの表示バーを境界領域において繋げて表示させる。次いで、制御部３は、上記指定された結合アイコンの表示態様を変化させることで分離アイコンを表示させる（ステップＳ７３９）。なお、こうして表示された分離アイコンには、ステップＳ７３５で付与されたシリアル番号が対応付けられて記憶される。
【０１２８】
次いで、制御部３は、ループカウンタｉ（変数）にＸ（テキストボックス番号）を代入する（ステップＳ７４０）。次いで、制御部３は、ループカウンタｉとテキストボックスの数ｍとが一致するか否かを判定する（ステップＳ７４１）。制御部３は、ループカウンタｉとテキストボックスの数ｍとが一致しないと判定した場合（ステップＳ７４１：ＮＯ）、ステップＳ７４２へ進む。一方、制御部３は、ループカウンタｉとテキストボックスの数ｍとが一致すると判定した場合（ステップＳ７４１：ＹＥＳ）、ステップＳ７４５へ進む。
【０１２９】
ステップＳ７４２では、制御部３は、テキストボックスＴＢｉの末尾位置にテキストボックスＴＢｉ＋１の文要素テキストTBi+1Strを入力する。最初の処理では、テキストボックスＴＢＸの末尾位置、すなわち、文要素テキストTBXStrの末尾に文要素テキストTBX+1Strが結合（つまり、テキストボックスＴＢＸ＋１における文要素テキストTBX+1Strが１つ前に繰り上がることで結合）されることで、テキストボックスＴＢＸには結合文要素テキストが格納されることになる。次いで、制御部３は、文要素テキストTBi+1StrをテキストボックスＴＢｉ＋１から削除する（ステップＳ７４３）。
【０１３０】
次いで、制御部３は、ループカウンタｉを１インクリメント（１加算）し（ステップＳ７４４）、ステップＳ７４１に戻る。ステップＳ７４１〜Ｓ７４４のループ処理（繰り返し処理）により、テキストボックスＴＢＸより時系列で１つ後のテキストボックス以後には文要素テキストが順次１つずつ繰り上がるように入力されることになる。これにより、文要素区間と文要素テキストとの対応付けが更新される。ステップＳ７４５では、制御部３は、表示バーと文要素テキストとを対応付けた表示を更新し、図１８に示す処理に戻る。これにより、例えば、ステップＳ７３４で特定された結合文要素区間の時間長に応じた長さの表示バー上に結合文要素テキストが表示される。
【０１３１】
（２−２−２．文要素区間分離処理）
次に、図２０を参照して、上記ステップＳ７５に示す文要素区間分離処理について説明する。図２０は、文要素区間分離処理の一例を示すフローチャートである。図２０に示す処理が開始されると、制御部３は、指定された分離アイコンに対応付けられたシリアル番号に対応する結合文要素区間を特定する（ステップＳ７５１）。次いで、制御部３は、テキストボックスの数ｍと、ステップＳ７５１で特定された結合文要素区間に対応するテキストボックスＴＢＸのテキストボックス番号“Ｘ”とを特定する（ステップＳ７５２）。
【０１３２】
次いで、制御部３は、ログデータを参照して、ステップＳ７５１で特定された結合文要素区間の結合を解除することで元の２つの文要素区間を特定する（ステップＳ７５３）。つまり、結合文要素区間が元の文要素区間に戻される。次いで、制御部３は、ステップＳ７５１で特定された結合文要素区間のシリアル番号を、ステップＳ７５３で特定された文要素区間（つまり、分離された２つの文要素区間）のうち先頭の文要素区間に対して付与する（ステップＳ７５４）。次いで、制御部３は、上記先頭の文要素区間より１つ後の文要素区間以後のシリアル番号を１つずつ繰り下げる（ステップＳ７５５）。
【０１３３】
次いで、制御部３は、ステップＳ７５３で特定された文要素区間それぞれの時間長に応じた長さの表示バーを表示領域５１に表示させる（ステップＳ７５６）。次いで、制御部３は、上記指定された分離アイコンの表示態様を変化させることで結合アイコンを表示（つまり、元に戻して表示）させる（ステップＳ７５７）。次いで、制御部３は、テキストボックスＴＢＸにおける結合文要素テキストTBXStrの途中（つまり、文字間）にキャレット位置があるか否かを判定する（ステップＳ７５８）。制御部３は、キャレット位置が結合文要素テキストTBXStrの途中にないと判定した場合（ステップＳ７５８：ＮＯ）、ステップＳ７６７へ進む。この場合、図９を用いて説明したように、ｍ個のテキストボックスに格納されている文要素テキストは分離及び結合されずそのままであるが、文要素区間のシリアル番号が振りなおされているので、文要素区間と文要素テキストとの対応付けが更新されることになる。一方、制御部３は、キャレット位置が結合文要素テキストTBXStrの途中にあると判定した場合（ステップＳ７５８：ＹＥＳ）、ステップＳ７５９へ進む。
【０１３４】
次いで、制御部３は、Ｘとテキストボックスの数ｍとが一致するか否かを判定する（ステップＳ７５９）。ここで、Ｘは、テキストボックスＴＢＸのテキストボックス番号である。制御部３は、Ｘとテキストボックスの数ｍとが一致しないと判定した場合（ステップＳ７５９：ＮＯ）、ステップＳ７６０へ進む。一方、制御部３は、Ｘとテキストボックスの数ｍとが一致すると判定した場合（ステップＳ７５９：ＹＥＳ）、結合文要素区間に対応するテキストボックスＴＢＸが最後のテキストボックスであるため、図１８に示す処理に戻る。
【０１３５】
ステップＳ７６０では、制御部３は、テキストボックスＴＢＸにおける結合文要素テキストTBXStrから、上記キャレット位置より後の文字列を文要素テキストTBNStrとして分離する。次いで、制御部３は、ループカウンタｉ（変数）に“ｍ−１”を代入する（ステップＳ７６１）。次いで、制御部３は、ループカウンタｉとＸとが一致するか否かを判定する（ステップＳ７６２）。制御部３は、ループカウンタｉとＸとが一致しないと判定した場合（ステップＳ７６２：ＮＯ）、ステップＳ７６３へ進む。一方、制御部３は、ループカウンタｉとＸとが一致すると判定した場合（ステップＳ７６２：ＹＥＳ）、ステップＳ７６６へ進む。
【０１３６】
ステップＳ７６３では、制御部３は、テキストボックスＴＢｉ＋１の先頭位置に文要素テキストTBiStrを入力する。最初の処理では、最後のテキストボックスの先頭位置、すなわち、文要素テキストTBmStrの先頭に文要素テキストTBm-1Strが結合（つまり、最後から１つ前のテキストボックスにおける文要素テキストTBm-1Strが１つ後に繰り下がることで結合）されることで、最後のテキストボックスには結合文要素テキストが格納されることになる。次いで、制御部３は、文要素テキストTBiStrをテキストボックスＴＢｉから削除する（ステップＳ７６４）。
【０１３７】
次いで、制御部３は、ループカウンタｉを１デクリメント（１減算）し（ステップＳ７６５）、ステップＳ７６２に戻る。ステップＳ７６２〜Ｓ７６５のループ処理（繰り返し処理）により、テキストボックスＴＢＸより時系列で２つ後のテキストボックス以後には文要素テキストが順次１つずつ繰り下がるように入力されることになる。ステップＳ７６６では、制御部３は、テキストボックスＴＢＸ＋１に、ステップＳ７６０で分離された文要素テキストTBNStrを入力し、ステップＳ７６７へ進む。こうして、図１０を用いて説明したように、文要素区間と文要素テキストとの対応付けが更新される。ステップＳ７６７では、制御部３は、表示バーと文要素テキストとを対応付けた表示を更新し、図１８に示す処理に戻る。これにより、例えば、ステップＳ７５３で特定された文要素区間それぞれの時間長に応じた長さの表示バー上に、対応付けの更新にしたがって文要素テキストが表示される。
【０１３８】
なお、ユーザ操作により分離アイコンが指定された場合、図８を用いて説明したように、上記結合文要素区間の結合が解除され、且つ上記結合文要素テキストの結合が解除されることで、上記結合文要素区間と上記結合文要素テキストとの対応付けが元の状態に戻されてもよい。
【０１３９】
（２−２−３．テキスト分離処理）
次に、図２１（Ａ）を参照して、上記ステップＳ８１に示すテキスト分離処理１について説明する。図２１（Ａ）は、テキスト分離処理１の一例を示すフローチャートである。図２１（Ａ）に示す処理は、選択表示中のテキストボックスＴＢＸにおいてキャレット位置が指定されている場合に開始され、キャレット位置が特定される。なお、選択表示中のテキストボックスＴＢＸにおいてキャレット位置が指定されていない場合、図１８に示す処理に戻る。図２１（Ａ）に示す処理が開始されると、制御部３は、テキストボックスの数ｍと、選択表示中のテキストボックスＴＢＸのテキストボックス番号“Ｘ”とを特定する（ステップＳ８１１）。
【０１４０】
次いで、制御部３は、Ｘとテキストボックスの数ｍとが一致するか否かを判定する（ステップＳ８１２）。制御部３は、Ｘとテキストボックスの数ｍとが一致しないと判定した場合（ステップＳ８１２：ＮＯ）、ステップＳ８１３へ進む。一方、制御部３は、Ｘとテキストボックスの数ｍとが一致すると判定した場合（ステップＳ８１２：ＹＥＳ）、図１８に示す処理に戻る。ステップＳ８１３では、制御部３は、テキストボックスＴＢＸにおける文要素テキストTBXStrの途中（つまり、文字間）にキャレット位置があるか否かを判定する。制御部３は、キャレット位置が文要素テキストTBXStrの途中にあると判定した場合（ステップＳ８１３：ＹＥＳ）、ステップＳ８１４へ進む。一方、制御部３は、キャレット位置が文要素テキストTBXStrの途中にないと判定した場合（ステップＳ８１３：ＮＯ）、図１８に示す処理に戻る。
【０１４１】
ステップＳ８１４では、制御部３は、テキストボックスＴＢＸにおける文要素テキストTBXStrから、上記キャレット位置より後の文字列を文要素テキストTBNStrとして分離する。次いで、制御部３は、ループカウンタｉ（変数）に“ｍ−１”を代入する（ステップＳ８１５）。次いで、制御部３は、ループカウンタｉとＸとが一致するか否かを判定する（ステップＳ８１６）。制御部３は、ループカウンタｉとＸとが一致しないと判定した場合（ステップＳ８１６：ＮＯ）、ステップＳ８１７へ進む。一方、制御部３は、ループカウンタｉとＸとが一致すると判定した場合（ステップＳ８１６：ＹＥＳ）、ステップＳ８２０へ進む。
【０１４２】
ステップＳ８１７では、制御部３は、テキストボックスＴＢｉ＋１の先頭位置に文要素テキストTBiStrを入力する。次いで、制御部３は、文要素テキストTBiStrをテキストボックスＴＢｉから削除する（ステップＳ８１８）。次いで、制御部３は、ループカウンタｉを１デクリメント（１減算）し（ステップＳ８１９）、ステップＳ８１６に戻る。ステップＳ８１６〜Ｓ８１９のループ処理（繰り返し処理）により、テキストボックスＴＢＸより時系列で２つ後のテキストボックス以後には文要素テキストが順次１つずつ繰り下がるように入力されることになる。ステップＳ８２０では、制御部３は、ステップＳ８１４で分離された文要素テキストTBNStrをテキストボックスＴＢＸ＋１に入力する。こうして、図１１及び図１２（Ａ），（Ｂ）を用いて説明したように、文要素区間と文要素テキストとの対応付けが更新される。次いで、制御部３は、表示バーと文要素テキストとを対応付けた表示を更新し（ステップＳ８２１）、図１８に示す処理に戻る。
【０１４３】
次に、図２１（Ｂ）を参照して、上記ステップＳ８３に示すテキスト分離処理２について説明する。図２１（Ｂ）は、テキスト分離処理２の一例を示すフローチャートである。図２１（Ｂ）に示す処理は、図２１（Ａ）に示す処理と同様、選択表示中のテキストボックスＴＢＸにおいてキャレット位置が指定されている場合に開始され、キャレット位置が特定される。なお、図２１（Ｂ）に示すステップＳ８３１〜Ｓ８３４の処理は、図２１（Ａ）に示すステップＳ８１１〜Ｓ８１４の処理と同様である。ステップＳ８３５では、制御部３は、ステップＳ８３４で分離された文要素テキストTBNStrをテキストボックスＴＢＸ＋１に入力することで、文要素テキストTBX+1Strの先頭に文要素テキストTBNStrを結合する。こうして、図１２（Ｃ），（Ｄ）を用いて説明したように、文要素区間と文要素テキストとの対応付けが更新される。ステップＳ８３６では、制御部３は、表示バーと文要素テキストとを対応付けた表示を更新し、図１８に示す処理に戻る。
【０１４４】
（２−２−４．テキスト結合処理）
次に、図２２（Ａ）を参照して、上記ステップＳ８５に示すテキスト結合処理１について説明する。図２２（Ａ）は、テキスト結合処理１の一例を示すフローチャートである。図２２（Ａ）に示す処理は、選択表示中のテキストボックスＴＢＸにおいてキャレット位置が指定されている場合に開始され、キャレット位置が特定される。なお、選択表示中のテキストボックスＴＢＸにおいてキャレット位置が指定されていない場合、図１８に示す処理に戻る。図２２（Ａ）に示す処理が開始されると、制御部３は、テキストボックスの数ｍと、選択表示中のテキストボックスＴＢＸのテキストボックス番号“Ｘ”とを特定する（ステップＳ８５１）。
【０１４５】
次いで、制御部３は、Ｘとテキストボックスの数ｍとが一致するか否かを判定する（ステップＳ８５２）。制御部３は、Ｘとテキストボックスの数ｍとが一致しないと判定した場合（ステップＳ８５２：ＮＯ）、ステップＳ８５３へ進む。一方、制御部３は、Ｘとテキストボックスの数ｍとが一致すると判定した場合（ステップＳ８５２：ＹＥＳ）、図１８に示す処理に戻る。ステップＳ８５３では、制御部３は、テキストボックスＴＢＸにおける文要素テキストTBXStrの末尾にキャレット位置があるか否かを判定する。制御部３は、キャレット位置が文要素テキストTBXStrの末尾にあると判定した場合（ステップＳ８５３：ＹＥＳ）、ステップＳ８５４へ進む。一方、制御部３は、キャレット位置が文要素テキストTBXStrの末尾にないと判定した場合（ステップＳ８５３：ＮＯ）、図１８に示す処理に戻る。
【０１４６】
ステップＳ８５４では、制御部３は、ループカウンタｉ（変数）にＸを代入する。次いで、制御部３は、ループカウンタｉとテキストボックスの数ｍとが一致するか否かを判定する（ステップＳ８５５）。制御部３は、ループカウンタｉとテキストボックスの数ｍとが一致しないと判定した場合（ステップＳ８５５：ＮＯ）、ステップＳ８５６へ進む。一方、制御部３は、ループカウンタｉとテキストボックスの数ｍとが一致すると判定した場合（ステップＳ８５５：ＹＥＳ）、ステップＳ８５９へ進む。
【０１４７】
ステップＳ８５６では、制御部３は、テキストボックスＴＢｉの末尾位置に文要素テキストTBi+1Strを入力する。最初の処理では、文要素テキストTBXStrの末尾に文要素テキストTBX+1Strが結合される。次いで、制御部３は、文要素テキストTBi+1StrをテキストボックスＴＢｉ＋１から削除する（ステップＳ８５７）。次いで、制御部３は、ループカウンタｉを１インクリメント（１加算）し（ステップＳ８５８）、ステップＳ８５５に戻る。ステップＳ８５５〜Ｓ８５８のループ処理（繰り返し処理）により、テキストボックスＴＢＸより時系列で１つ後のテキストボックス以後には文要素テキストが順次１つずつ繰り上がるように入力されることになる。こうして、図１３及び図１４（Ａ），（Ｂ）を用いて説明したように、文要素区間と文要素テキストとの対応付けが更新される。ステップＳ８５９では、制御部３は、表示バーと文要素テキストとを対応付けた表示を更新し、図１８に示す処理に戻る。
【０１４８】
次に、図２２（Ｂ）を参照して、上記ステップＳ８７に示すテキスト結合処理２について説明する。図２２（Ｂ）は、テキスト結合処理２の一例を示すフローチャートである。図２２（Ｂ）に示す処理は、図２２（Ａ）に示す処理と同様、選択表示中のテキストボックスＴＢＸにおいてキャレット位置が指定されている場合に開始され、キャレット位置が特定される。なお、図２２（Ｂ）に示すステップＳ８７１〜Ｓ８７３の処理は、図２２（Ａ）に示すステップＳ８５１〜Ｓ８５３の処理と同様である。ステップＳ８７４では、制御部３は、文要素テキストTBX+1StrをテキストボックスＴＢＸに入力することで、文要素テキストTBXStrの末尾に文要素テキストTBX+1Strを結合する。次いで、制御部３は、文要素テキストTBX+1StrをテキストボックスＴＢＸ＋１から削除する（ステップＳ８７５）。こうして、図１４（Ｃ），（Ｄ）を用いて説明したように、文要素区間と文要素テキストとの対応付けが更新される。ステップＳ８７６では、制御部３は、表示バーと文要素テキストとを対応付けた表示を更新し、図１８に示す処理に戻る。
【０１４９】
次に、図２３を参照して、上記ステップＳ８５に示すテキスト結合処理１の変形例について説明する。図２３は、テキスト結合処理１の変形例を示すフローチャートである。図２３に示す処理は、図２２（Ａ）に示す処理と同様、選択表示中のテキストボックスＴＢＸにおいてキャレット位置が指定されている場合に開始され、キャレット位置が特定される。なお、図２３に示すステップＳ８８１〜Ｓ８８５の処理は、図２２（Ａ）に示すステップＳ８５１〜Ｓ８５５の処理と同様である。ステップＳ８８６では、制御部３は、テキストボックスＴＢｉ＋１における文要素テキストTBｉ+1Strの末尾以外に区切り文字が含まれるか否かを判定する。制御部３は、文要素テキストTBｉ+1Strの末尾以外に区切り文字が含まれないと判定した場合（ステップＳ８８６：ＮＯ）、ステップＳ８８７へ進む。なお、図２３に示すステップＳ８８７〜Ｓ８８９の処理は、図２２（Ａ）に示すステップＳ８５６〜Ｓ８５８の処理と同様である。
【０１５０】
一方、制御部３は、文要素テキストTBｉ+1Strの末尾以外に区切り文字が含まれると判定した場合（ステップＳ８８６：ＹＥＳ）、ステップＳ８９０へ進む。ステップＳ８９０では、制御部３は、テキストボックスＴＢｉ＋１における文要素テキストTBi+1Strの先頭文字から区切り文字までの文字列を文要素テキストTBPStrとして分離する。次いで、制御部３は、ステップＳ８９０で分離された文要素テキストTBPStrをテキストボックスＴＢｉに入力することで、文要素テキストTBiStrの末尾に文要素テキストTBPStrを結合する（ステップＳ８９１）。例えば、図６（Ｂ）に示すように、最後のテキストボックスにおける結合文要素テキストの先頭文字から区切り文字までのテキスト部分のみが文要素テキストTBPStrとして１つ繰り上がるように入力されることで、文要素区間と文要素テキストとの対応付けが更新される。ステップＳ８９２では、制御部３は、表示バーと文要素テキストとを対応付けた表示を更新し、図１８に示す処理に戻る。
【０１５１】
以上説明したように、上記実施形態によれば、発話練習装置Ｓは、テキストボックスに表示された文要素テキストにおける何れかの文字間のキャレット位置の指定を受け付け、キャレット位置が指定された文要素テキストから、上記キャレット位置より時系列で後にある文要素テキストを分離し、分離された文要素テキストを、上記キャレット位置が指定された文要素テキストに対応付けられている文要素区間より時系列で１つ後の文要素区間に対応付けるように対応付けを更新する。したがって、ユーザ操作による文字間の位置の指定により、文要素テキストの分割と、分割後の文要素テキストと文要素区間との対応付けの編集をより簡易に行うことができる。
【０１５２】
なお、上記実施形態においては、本発明のテキスト対応付け装置を発話練習装置Ｓに対して適用したが、その他のシステムや装置に適用してもよい。
【符号の説明】
【０１５３】
１  通信部
２  記憶部
３  制御部
４  操作部
５  インターフェース部
６  バス
３１  音声処理部
３２  テキスト処理部
３３  テキスト対応付け部
３４  表示処理部
３５  テキスト対応付け編集部
Ｓ  発話練習装置
【図１】
0006402688.tif 000002
【図２】
0006402688.tif 000003
【図３】
0006402688.tif 000004
【図４】
0006402688.tif 000005
【図５】
0006402688.tif 000006
【図６】
0006402688.tif 000007
【図７】
0006402688.tif 000008
【図８】
0006402688.tif 000009
【図９】
0006402688.tif 000010
【図１０】
0006402688.tif 000011
【図１１】
0006402688.tif 000012
【図１２】
0006402688.tif 000013
【図１３】
0006402688.tif 000014
【図１４】
0006402688.tif 000015
【図１５】
0006402688.tif 000016
【図１６】
0006402688.tif 000017
【図１７】
0006402688.tif 000018
【図１８】
0006402688.tif 000019
【図１９】
0006402688.tif 000020
【図２０】
0006402688.tif 000021
【図２１】
0006402688.tif 000022
【図２２】
0006402688.tif 000023
【図２３】
0006402688.tif 000024