(57)【要約】    【構成】  ゲーム装置１０はＣＰＵ４２を含み、ＣＰＵ４２は、原文（ＥＳ）に対するユーザの発音を評価する。まず、原文（ＥＳ）の音声の音量およびユーザの音声の音量についてのエンベロープが取られ、その音量の平均値が揃えられる。音量が揃えられると、各エンベロープを用いて、音量がその平均値以上となるときの局所解の分布の類似度（ｓｃｏｒｅＡ）、音量がその平均値を所定倍にした値以上かどうかを示す高低の値の分布（波形の凹凸のタイミング）の類似度（ｓｃｏｒｅＢ）、およびエンベロープの分散値（波形の凹凸の分散）の類似度（ｓｃｏｒｅＣ）がそれぞれ算出される。これらの類似度（ｓｃｏｒｅＡ，ｓｃｏｒｅＢ，ｓｃｏｒｅＣ）に基づいて、ユーザの発音のリズムが評価される。    【効果】  音量の波形の凹凸の類似度も評価するので、最適なリズムで発音したかどうかを正確に評価することができる。【選択図】  図１
2010271615.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置のコンピュータを、
ユーザによって発音される音声を入力する音声入力手段、
前記音声入力手段によって入力された音声の音量が第１所定値よりも大きくなった第１タイミングと、予め定められた第２タイミングとに基づいて、第１評価値を算出する第１評価値算出手段、
前記音声入力手段によって入力された音声の音量の変化の第１分散値と、予め定められた第２分散値とに基づいて、第２評価値を算出する第２評価値算出手段、および
前記第１評価値算出手段によって算出された第１評価値と前記第２評価値算出手段によって算出された第２評価値とに基づいて、模範音声に対する前記ユーザの発音の類似度を評価する発音評価手段として機能させる、発音評価プログラム。
【請求項２】
前記第２タイミングは、前記模範音声の音量が前記第１所定値に相関する第２所定値よりも大きくなったタイミングである、請求項１記載の発音評価プログラム。
【請求項３】
前記第２分散値は、前記模範音声の音量の変化の分散値である、請求項１または２記載の発音評価プログラム。
【請求項４】
前記発音評価手段は、第１係数を掛けた前記第１評価値と第２係数を掛けた前記第２評価値とに基づいて、前記類似度を評価する、請求項１ないし３のいずれかに記載の発音評価プログラム。
【請求項５】
前記模範音声が一定時間以上の長さであるとき、前記模範音声が一定時間未満の長さであるときと比較して、前記第１係数を大きい値に設定する、請求項４記載の発音評価プログラム。
【請求項６】
前記模範音声が一定時間以上の長さであるとき、前記第１係数を前記第２係数よりも大きい値に設定し、前記模範音声が一定時間未満の長さであるとき、前記第１係数と前記第２係数とを同じ値に設定する、請求項４記載の発音評価プログラム。
【請求項７】
前記音声入力手段によって入力された音声の音量が第３所定値以上か当該第３所定値未満かを示すユーザ音声レベル判定リストと、予め定められた模範音声レベル判定リストとに基づいて、第３評価値を算出する第３評価値算出手段として、前記コンピュータをさらに機能させ、
前記発音評価手段は、前記第１評価値算出手段によって算出された第１評価値、第２評価値算出手段によって算出された第２評価値および前記第３評価手段算出手段によって算出された第３評価値に基づいて、前記模範音声に対する前記ユーザの発音の類似度を評価する、請求項１記載の発音評価プログラム。
【請求項８】
前記模範音声レベルリストは、前記模範音声の音量が前記第３所定値に相関する第４所定値以上か当該第４所定値未満かを示す、請求項７記載の発音評価プログラム。
【請求項９】
前記発音評価手段は、第１係数を掛けた前記第１評価値と第２係数を掛けた前記第２評価値と第３係数を掛けた第３評価値とに基づいて、前記類似度を評価する、請求項７または８記載の発音評価プログラム。
【請求項１０】
前記模範音声が一定時間未満であるとき、前記模範音声が一定時間以上の長さであるときと比較して、前記第３係数を大きい値に設定する、請求項９記載の発音評価プログラム。
【請求項１１】
前記模範音声が一定時間未満であるとき、前記第３係数を前記第１係数および前記第２係数よりも大きい値に設定する、請求項９記載の発音評価プログラム。
【請求項１２】
前記音声入力手段によって入力された音声の音量が所定の条件を満たさないとき、前記発音評価手段による評価を下げる補正を行う評価補正手段として、前記コンピュータをさらに機能させる、請求項１ないし１１のいずれかに記載の発音評価プログラム。
【請求項１３】
前記第１評価値算出手段は、前記音声入力手段によって入力された音声の音量が前記第１所定値よりも大きい期間が一定期間以上である場合に、当該音声の音量が当該第１所定値よりも大きくなった第１タイミングと、前記第２タイミングとに基づいて、第１評価値を算出する、請求項１記載の発音評価プログラム。
【請求項１４】
前記第１評価値算出手段は、時間をずらしていない前記第１タイミングと、前記第２タイミングとに基づいて前記第１評価値を算出するとともに、所定間隔で時間をずらした前記第１タイミングの各々と、前記第２タイミングとに基づいて、それぞれについての前記第１評価値を算出し、すべての前記第１評価値のうち最高の評価結果を示す１つの前記第１評価値を選択する、請求項１記載の発音評価プログラム。
【請求項１５】
前記第１評価値算出手段は、前記第１タイミングの第１個数と、前記第２タイミングの第２個数とが異なるとき、当該第１個数または当該第２個数のうちの少ない方に個数を合わせて、前記第１評価値を算出する、請求項１記載の発音評価プログラム。
【請求項１６】
情報処理装置のコンピュータを、
ユーザによって発音される音声を入力する音声入力手段、
前記音声入力手段によって入力された音声の音量が第１所定値よりも大きくなった第１タイミングと、予め定められた第２タイミングとに基づいて、第１評価値を算出する第１評価値算出手段、
前記音声入力手段によって入力された音声の音量が第３所定値以上か当該第３所定値未満かを示すユーザ音声レベル判定リストと、予め定められた模範音声レベル判定リストとに基づいて、第２評価値を算出する第２評価値算出手段、および
前記第１評価値算出手段によって算出された第１評価値と前記第２評価値算出手段によって算出された第２評価値とに基づいて、前記模範音声に対する前記ユーザの発音の類似度を評価する発音評価手段として機能させる、発音評価プログラム。
【請求項１７】
ユーザによって発音される音声を入力する音声入力手段、
前記音声入力手段によって入力された音声の音量が第１所定値よりも大きくなった第１タイミングと、予め定められた第２タイミングとに基づいて、第１評価値を算出する第１評価値算出手段、
前記音声入力手段によって入力された音声の音量の変化の第１分散値と、予め定められた第２分散値とに基づいて、第２評価値を算出する第２評価値算出手段、および
前記第１評価値算出手段によって算出された第１評価値と前記第２評価値算出手段によって算出された第２評価値とに基づいて、前記模範音声に対する前記ユーザの発音の類似度を評価する発音評価手段を備える、発音評価装置。
【請求項１８】
ユーザによって発音される音声を入力する音声入力手段、
前記音声入力手段によって入力された音声の音量が第１所定値よりも大きくなった第１タイミングと、予め定められた第２タイミングとに基づいて、第１評価値を算出する第１評価値算出手段、
前記音声入力手段によって入力された音声の音量が第３所定値以上か当該第３所定値未満かを示すユーザ音声レベル判定リストと、予め定められた模範音声レベル判定リストとに基づいて、第２評価値を算出する第２評価値算出手段、および
前記第１評価値算出手段によって算出された第１評価値と前記第２評価値算出手段によって算出された第２評価値とに基づいて、前記模範音声に対する前記ユーザの発音の類似度を評価する発音評価手段として機能させる、発音評価装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、発音評価プログラムおよび発音評価装置に関し、特にたとえば、語学学習におけるユーザの発音を評価する、発音評価プログラムおよび発音評価装置に関する。
【背景技術】
【０００２】
この種の背景技術の一例が特許文献１に開示される。この特許文献１の発音採点装置は、フレーズ中の強く発音する箇所（レベルの大きい箇所）、すなわちストレスアクセントのタイミングがレベルを抽出し、少なくともこのストレスアクセントのタイミングやレベルが模範のものに近いか否かでユーザの発音を評価する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３４７５６７０号［G09B 19/06,G09B 5/04］
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の発音採点装置では、ストレスアクセントのタイミングおよびレベルを判断するだけなので、たとえば、「あー」と長音で発音する場合と、「あ」，「あ」，「あ」と短音で区切って発音する場合とでは、各音の音量および全体の発音の長さが同じまたはほぼ同じであれば、異なる発音であるにも関わらず、同様の評価がされてしまう。つまり、特許文献１の発音採点装置では、最適なリズムで発音されているかどうかについては正しく評価することができない。
【０００５】
それゆえに、この発明の主たる目的は、新規な、発音評価プログラムおよび発音評価装置を提供することである。
【０００６】
この発明の他の目的は、最適なリズムで発音したかどうかを正確に評価することができる、発音評価プログラムおよび発音評価装置を提供することである。
【課題を解決するための手段】
【０００７】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００８】
第１の発明は、情報処理装置のコンピュータを、ユーザによって発音される音声を入力する音声入力手段、音声入力手段によって入力された音声の音量が第１所定値よりも大きくなった第１タイミングと、予め定められた第２タイミングとに基づいて、第１評価値を算出する第１評価値算出手段、音声入力手段によって入力された音声の音量の変化の第１分散値と、予め定められた第２分散値とに基づいて、第２評価値を算出する第２評価値算出手段、および第１評価値算出手段によって算出された第１評価値と第２評価値算出手段によって算出された第２評価値とに基づいて、模範音声に対するユーザの発音の類似度を評価する発音評価手段として機能させる、発音評価プログラムである。
【０００９】
第１の発明では、発音評価プログラムは、発音評価装置（１０）のコンピュータを、音声入力手段（３２，４２，Ｓ５３）、第１評価値算出手段（４２，Ｓ１３９）、第２評価値算出手段（４２，Ｓ１４３）および発音評価手段（４２，Ｓ１４５）として機能させる。音声入力手段は、ユーザによって発音される音声を入力する。第１評価値算出手段は、音声入力手段によって入力された音声の音量が第１所定値よりも大きくなった第１タイミングと、予め定められた第２タイミングとに基づいて、第１評価値を算出する。たとえば、第１タイミングの分布と第２タイミングの分布の類似度が評価される。第２評価値算出手段は、音声入力手段によって入力された音声の音量の変化の第１分散値と、予め定められた第２分散値とに基づいて、第２評価値を算出する。たとえば、第１分散値と第２分散値との差分が評価され、差分が小さいほど、高評価となる。発音評価手段は、第１評価値算出手段によって算出された第１評価値と第２評価値算出手段によって算出された第２評価値とに基づいて、模範音声（ＥＳ）に対するユーザの発音の類似度を評価する。たとえば、第１評価値と第２評価値との平均値によって、模範音声に対するユーザの発音の類似度が評価される。
【００１０】
第１の発明によれば、音量が第１所定値以上になるタイミングのみならず、音量の変化の分散値を考慮するので、最適なリズムで発音したかどうかを正確に評価することができる。
【００１１】
第２の発明は、第１の発明に従属し、第２タイミングは、模範音声の音量が第１所定値に相関する第２所定値よりも大きくなったタイミングである。
【００１２】
第２の発明では、第２タイミングは、模範音声の音量が第１所定値に相関する第２所定値よりも大きくなったタイミングである。たとえば、ユーザの音声の音量の平均値と模範音声の音量の平均値とが同じであれば、第１所定値および第２所定値は、その音量の平均値に設定される。また、たとえば、ユーザの音声の音量の平均値（説明の都合上、「平均値Ａ」という）と模範音声の音量の平均値（説明の都合上、「平均値Ｂ」という）とが異なる場合には、第１所定値および第２所定値は、平均値Ｂに決定され、このとき、平均値Ｂに対する平均値Ａの割合の逆数がユーザの音声の音量に掛け算される。したがって、同じ音量のレベルで、第１タイミングと第２タイミングとに基づく第１評価値が算出される。
【００１３】
第２の発明によれば、たとえば、同じ音量のレベルで第１タイミングと第２タイミングとに基づく第１評価値が算出されるので、音量が所定値よりも大きくなるタイミングの類似度を正しく評価することができる。
【００１４】
第３の発明は、第１または第２の発明に従属し、第２分散値は、模範音声の音量の変化の分散値である。
【００１５】
第３の発明では、第２分散値は、模範音声の音量の変化の分散値である。したがって、ユーザの音声の音量の分散と模範音声の音量の分散との類似度が評価される。
【００１６】
第３の発明によれば、ユーザの音声の音量の分散と模範音声の音量の分散との類似度が評価されるので、模範音声のリズムに対するユーザの音声のリズムの類似度が評価される。
【００１７】
第４の発明は、第１ないし第３の発明に従属し、発音評価手段は、第１係数を掛けた第１評価値と第２係数を掛けた第２評価値とに基づいて、類似度を評価する。
【００１８】
第４の発明では、発音評価手段は、第１係数を掛けた第１評価値と第２係数を掛けた第２評価値とに基づいて、類似度を評価する。つまり、第１評価値と第２評価値とに重み付けがなされる。
【００１９】
第４の発明によれば、第１評価値と第２評価値とに重みづけがなされるので、一方の評価値に重きを置いた評価が可能である。
【００２０】
第５の発明は、第４の発明に従属し、模範音声が一定時間以上の長さであるとき、模範音声が一定時間未満の長さであるときと比較して、第１係数を大きい値に設定する。
【００２１】
第５の発明では、模範音声が一定時間以上の長さであるとき（Ｓ３６１で“ＮＯ”）、模範音声が一定時間未満の長さであるとき（Ｓ３６１で“ＹＥＳ”，Ｓ３６３）と比較して、第１係数を大きい値に設定する（Ｓ３６７，Ｓ３６９）。
【００２２】
第５の発明によれば、模範音声の長さに応じて異なる重みづけがなされるので、模範音声毎にユーザの発音のリズムを適切に評価することができる。
【００２３】
第６の発明は、第４の発明に従属し、模範音声が一定時間以上の長さであるとき、第１係数を第２係数よりも大きい値に設定し、模範音声が一定時間未満の長さであるとき、第１係数と第２係数とを同じ値に設定する。
【００２４】
第６の発明では、模範音声が一定時間以上の長さであるとき（Ｓ３６１で“ＮＯ”）、第１係数を第２係数よりも大きい値に設定する（Ｓ３６７，Ｓ３６９）。一方、模範音声が一定時間未満の長さであるとき（Ｓ３６１で“ＮＯ”）、第１係数と第２係数とを同じ値に設定する（Ｓ３６３）。
【００２５】
第６の発明においても、第５の発明と同様に、模範音声の長さに応じて異なる重みづけがなされるので、模範音声毎にユーザの発音のリズムを適切に評価することができる。
【００２６】
第７の発明は、第１の発明に従属し、音声入力手段によって入力された音声の音量が第３所定値以上か当該第３所定値未満かを示すユーザ音声レベル判定リストと、予め定められた模範音声レベル判定リストとに基づいて、第３評価値を算出する第３評価値算出手段として、コンピュータをさらに機能させ、発音評価手段は、第１評価値算出手段によって算出された第１評価値、第２評価値算出手段によって算出された第２評価値および第３評価手段算出手段によって算出された第３評価値に基づいて、模範音声に対するユーザの発音の類似度を評価する。
【００２７】
第７の発明では、発音評価プログラムは、コンピュータを、第３評価値算出手段（４２，Ｓ１４１）としてさらに機能させる。第３評価値算出手段は、音声入力手段によって入力された音声の音量が第３所定値以上か当該第３所定値未満かを示すユーザ音声レベル判定リストと、予め定められた模範音声レベル判定リストとに基づいて、第３評価値を算出する。たとえば、音量のレベルが変化するタイミングの類似度が評価される。発音評価手段は、第１評価値算出手段によって算出された第１評価値、第２評価値算出手段によって算出された第２評価値および第３評価手段算出手段によって算出された第３評価値に基づいて、模範音声に対するユーザの発音の類似度を評価する。
【００２８】
第７の発明によれば、音声の音量の変化のタイミングの類似度をさらに評価するので、より正確に発音のリズムを評価することができる。
【００２９】
第８の発明は、第７の発明に従属し、模範音声レベルリストは、模範音声の音量が第３所定値に相関する第４所定値以上か当該第４所定値未満かを示す。
【００３０】
第８の発明では、模範音声レベルリストは、模範音声の音量が第３所定値に相関する第４所定値以上かどうかを示す。たとえば、ユーザの音声の音量の平均値と模範音声の音量の平均値とが同じであれば、第３所定値および第４所定値は、その音量の平均値を所定倍した値に設定される。また、たとえば、ユーザの音声の音量の平均値（説明の都合上、「平均値Ａ」という）と模範音声の音量の平均値（説明の都合上、「平均値Ｂ」という）とが異なる場合には、第３所定値および第４所定値は、平均値Ｂを所定倍した値に決定され、このとき、平均値Ｂに対する平均値Ａの割合の逆数がユーザの音声の音量に掛け算される。したがって、同じ音量のレベルで、ユーザ音声レベル判定リストと模範音声レベル判定リストとに基づく第３評価値が算出される。
【００３１】
第８の発明によれば、たとえば、同じ音量のレベルでユーザ音声レベル判定リストと模範音声レベル判定リストとに基づく第３評価値が算出されるので、音量のレベルが変化するタイミングの類似度を正しく評価することができる。
【００３２】
第９の発明は、第７または第８の発明に従属し、発音評価手段は、第１係数を掛けた第１評価値と第２係数を掛けた第２評価値と第３係数を掛けた第３評価値とに基づいて、類似度を評価する。
【００３３】
第９の発明では、発音評価手段は、第１係数を掛けた第１評価値と第２係数を掛けた第２評価値と第３係数を掛けた第３評価値とに基づいて、類似度を評価する。つまり、第１評価値、第２評価値および第３評価値に対して重み付けがなされる。
【００３４】
第９の発明においても、第２の発明と同様に、第１評価値、第２評価値および第３評価値について、選択的に重きを置いてユーザの発音を評価することができる。
【００３５】
第１０の発明は、第９の発明に従属し、模範音声が一定時間未満であるとき、模範音声が一定時間以上の長さであるときと比較して、第３係数を大きい値に設定する。
【００３６】
第１０の発明では、模範音声が一定時間未満であるとき（Ｓ３６１で“ＹＥＳ”）、模範音声が一定時間以上の長さであるとき（Ｓ３６１で“ＮＯ”）と比較して、第３係数を大きい値に設定する（Ｓ３６３）。
【００３７】
第１０の発明によれば、模範音声の長さに応じて異なる重みづけがなされるので、模範音声毎にユーザの発音のリズムを適切に評価することができる。
【００３８】
第１１の発明は、第９の発明に従属し、模範音声が一定時間未満であるとき、第３係数を第１係数および第２係数よりも大きい値に設定する。
【００３９】
第１１の発明では、模範音声が一定時間未満であるとき（Ｓ３６１で“ＹＥＳ”）、第３係数を第１係数および第２係数よりも大きい値に設定する（Ｓ３６３）。
【００４０】
第１１の発明においても、第１０の発明と同様に、模範音声の長さに応じて異なる重みづけがなされるので、模範音声毎にユーザの発音のリズムを適切に評価することができる。
【００４１】
第１２の発明は、第１ないし第１１の発明に従属し、音声入力手段によって入力された音声の音量が所定の条件を満たさないとき、発音評価手段による評価を下げる補正を行う評価補正手段として、コンピュータをさらに機能させる。
【００４２】
第１２の発明では、発音評価プログラムは、コンピュータを、評価補正手段（４２，Ｓ３７１−Ｓ３９９）としてさらに機能させる。評価補正手段は、音声入力手段によって入力された音声すなわちユーザの音声の音量が所定の条件を満たさないとき（Ｓ３７１，Ｓ３７５，Ｓ３７９，Ｓ３９３，Ｓ３９７で“ＹＥＳ”）、発音評価手段による評価を下げる補正を行う（Ｓ３７３，Ｓ３７７，Ｓ３８１，Ｓ３９５，Ｓ３９９）。
【００４３】
第１２の発明によれば、ユーザの音声の音量が所定の条件を満たさない場合には、評価を下げる補正を行うので、意図しない音声入力に対しても適切に評価することができる。
【００４４】
第１３の発明は、第１の発明に従属し、第１評価値算出手段は、音声入力手段によって入力された音声の音量が第１所定値よりも大きい期間が一定期間以上である場合に、当該音声の音量が当該第１所定値よりも大きくなった第１タイミングと、第２タイミングとに基づいて、第１評価値を算出する。
【００４５】
第１３の発明は、第１評価値算出手段は、音声入力手段によって入力された音声の音量が第１所定値よりも大きい期間が一定期間以上である場合に、当該音声の音量が当該第１所定値よりも大きくなった第１タイミングと、第２タイミングとに基づいて、第１評価値を算出する。つまり、第１所定値よりも大きい期間が一定時間に満たない場合には、第１タイミングと判定されない。
【００４６】
第１３の発明によれば、音声の音量が第１所定値よりも大きい期間が一定期間以上である場合にのみ、その第１所定値以上になったタイミングを第１タイミングとして判定するので、ノイズの影響により、誤って第１タイミングを判定することがない。
【００４７】
第１４の発明は、第１の発明に従属し、第１評価値算出手段は、時間をずらしていない第１タイミングと、第２タイミングとに基づいて第１評価値を算出するとともに、所定間隔で時間をずらした第１タイミングの各々と、第２タイミングとに基づいて、それぞれについての第１評価値を算出し、すべての第１評価値のうち最高の評価結果を示す１つの第１評価値を選択する。
【００４８】
第１４の発明では、第１評価値算出手段は、時間をずらしていない第１タイミングと、第２タイミングとに基づいて第１評価値を算出する。また、第１評価算出手段は、所定間隔で時間をずらした第１タイミングの各々と、第２タイミングとに基づいて、それぞれについての第１評価値を算出する。そして、第１評価算出手段は、算出したすべての第１評価値のうち、最高の評価結果を示す１つの第１評価値を選択する。
【００４９】
第１４の発明では、第１タイミングの時間をずらした場合についても第１評価値を算出して、最高の評価結果が得られる場合の第１評価値が採用されるため、ユーザの音声のタイミングが全体として、模範音声よりも早い場合や遅い場合であっても、正しいリズムで発音されている場合には、高評価を得ることができる。
【００５０】
第１５の発明は、第１の発明に従属し、第１評価値算出手段は、第１タイミングの第１個数と、第２タイミングの第２個数とが異なるとき、当該第１個数または当該第２個数のうちの少ない方に個数を合わせて、第１評価値を算出する。
【００５１】
第１５の発明では、第１評価値算出手段は、第１タイミングの第１個数と、第２タイミングの第２個数とが異なるとき、当該第１個数または当該第２個数のうちの少ない方に個数を合わせて、第１評価値を算出する。したがって、たとえば、第１タイミングおよび第２タイミングを先頭から順番に比較し、各タイミングの差に基づいて第１評価値が算出される。
【００５２】
第１５の発明によれば、第１タイミングと第２タイミングとの個数を揃えるので、比較および評価を簡単に行うことができる。
【００５３】
第１６の発明は、情報処理装置のコンピュータを、ユーザによって発音される音声を入力する音声入力手段、音声入力手段によって入力された音声の音量が第１所定値よりも大きくなった第１タイミングと、予め定められた第２タイミングとに基づいて、第１評価値を算出する第１評価値算出手段、音声入力手段によって入力された音声の音量が第３所定値以上か当該第３所定値未満かを示すユーザ音声レベル判定リストと、予め定められた模範音声レベル判定リストとに基づいて、第２評価値を算出する第２評価値算出手段、および第１評価値算出手段によって算出された第１評価値と第２評価値算出手段によって算出された第２評価値とに基づいて、模範音声に対するユーザの発音の類似度を評価する発音評価手段として機能させる、発音評価プログラムである。
【００５４】
第１６の発明では、発音評価装置（１０）のコンピュータを、音声入力手段（３２，４２，Ｓ５３）、第１評価値算出手段（４２，Ｓ１３９）、第２評価値算出手段（４２，Ｓ１４３）および発音評価手段（４２，Ｓ１４５）として機能させる。音声入力手段は、ユーザによって発音される音声を入力する。第１評価値算出手段は、声入力手段によって入力された音声の音量が第１所定値よりも大きくなった第１タイミングと、予め定められた第２タイミングとに基づいて、第１評価値を算出する。たとえば、第１タイミングの分布と第２タイミングの分布の類似度が評価される。第２評価値算出手段は、音声入力手段によって入力された音声の音量が第３所定値以上か当該第３所定値未満かを示すユーザ音声レベル判定リストと、予め定められた模範音声レベル判定リストとに基づいて、第２評価値を算出する。たとえば、音量のレベルが変化するタイミングの類似度が評価される。発音評価手段は、第１評価値算出手段によって算出された第１評価値と第２評価値算出手段によって算出された第２評価値とに基づいて、模範音声に対するユーザの発音の類似度を評価する。たとえば、第１評価値と第２評価値との平均値によって、模範音声に対するユーザの発音の類似度が評価される。
【００５５】
第１６の発明においても、第１の発明と同様に、最適なリズムで発音したかどうかを正確に評価することができる。
【００５６】
第１７の発明は、ユーザによって発音される音声を入力する音声入力手段、音声入力手段によって入力された音声の音量が第１所定値よりも大きくなった第１タイミングと、予め定められた第２タイミングとに基づいて、第１評価値を算出する第１評価値算出手段、音声入力手段によって入力された音声の音量の第１分散値と、予め定められた第２分散値とに基づいて、第２評価値を算出する第２評価値算出手段、および第１評価値算出手段によって算出された第１評価値と第２評価値算出手段によって算出された第２評価値とに基づいて、模範音声に対するユーザの発音の類似度を評価する発音評価手段を備える、発音評価装置である。
【００５７】
第１７の発明においても、第１の発明と同様に、最適なリズムで発音したかどうかを正確に評価することができる。
【００５８】
第１８の発明は、ユーザによって発音される音声を入力する音声入力手段、音声入力手段によって入力された音声の音量が第１所定値よりも大きくなった第１タイミングと、予め定められた第２所定値よりも大きくなった第２タイミングとに基づいて、第１評価値を算出する第１評価値算出手段、音声入力手段によって入力された音声の音量が第３所定値以上か当該第３所定値未満かを示すユーザ音声レベル判定リストと、予め定められた模範音声レベル判定リストとに基づいて、第２評価値を算出する第２評価値算出手段、および第１評価値算出手段によって算出された第１評価値と第２評価値算出手段によって算出された第２評価値とに基づいて、模範音声に対するユーザの発音の類似度を評価する発音評価手段として機能させる、発音評価装置である。
【００５９】
第１８の発明においても、第１の発明と同様に、最適なリズムで発音したかどうかを正確に評価することができる。
【発明の効果】
【００６０】
この発明によれば、音量が所定値を超えるタイミングのみならず、音量の変化の分散値を評価するので、最適なリズムで発音したかどうかを正確に評価することができる。
【００６１】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００６２】
【図１】図１は、この発明の一実施例であるゲーム装置の外観図であり、開状態における正面を示す。
【図２】図２は、ゲーム装置の外観図であり、開状態における側面を示す。
【図３】図３は、ゲーム装置の外観図であり、（Ａ）は閉状態における一方側面を、（Ｂ）は閉状態における上面を、（Ｃ）は閉状態における他方側面を、そして（Ｄ）は閉状態における下面をそれぞれ示す。
【図４】図４は、ゲーム装置がユーザによって把持された様子を示す図解図である。
【図５】図５は、ゲーム装置の電気的構成の一例を示すブロック図である。
【図６】図６は、トレーニング画面の一例を示す図解図である。
【図７】図７（Ａ）〜図７（Ｃ）は、トレーニング画面の変化の一部（前半）を示す図解図である。
【図８】図８（Ａ）〜図８（Ｃ）は、トレーニング画面の変化の他の一部（後半）を示す図解図である。
【図９】図９（Ａ）〜図９（Ｅ）は、チックマークに与えられるアニメーション効果の一例を示す図解図である。
【図１０】図１０（Ａ）〜図１０（Ｅ）は、アクセントマークに与えられるアニメーション効果の一例を示す図解図である。
【図１１】図１１は、再生画面の一例を示す図解図である。
【図１２】図１２は、メインメモリのメモリマップの一部を示す図解図である。
【図１３】図１３は、問題データの一例を示す図解図である。
【図１４】図１４は、語学学習処理で利用される定数および変数と、音声波形，チックマークおよびアクセントマークとの関係を時間軸に沿って示す図解図である。
【図１５】図１５は、ＣＰＵの語学学習処理の一部を示すフロー図である。
【図１６】図１６は、ＣＰＵの語学学習処理の第２の一部を示すフロー図である。
【図１７】図１７は、ＣＰＵの語学学習処理の第３の一部を示すフロー図である。
【図１８】図１８は、ＣＰＵの語学学習処理の第４の他の一部を示すフロー図である。
【図１９】図１９は、ＣＰＵの語学学習処理の第５の一部を示すフロー図である。
【図２０】図２０は、ＣＰＵのトレーニング画面描画処理を示すフロー図である。
【図２１】図２１は、原文またはユーザの音声信号についてのエンベロープの一例を示す波形図および局所解についての図解図である。
【図２２】図２２は、局所解によるユーザの発音の評価方法を説明するための図解図である。
【図２３】図２３は、原文またはユーザの音声信号についてのエンベロープの一例を示す波形図およびその平均値に基づいて決定された基準値に対するレベルの高低に基づくユーザの発音の評価方法を説明するための図解図である。
【図２４】図２４は、原文およびユーザについての２値化リストの一例を示す図解図である。
【図２５】図２５は、原文およびユーザの音声信号についてのエンベロープの分散の大小を説明するための波形図である。
【図２６】図２６は、ＣＰＵの評価処理を示すフロー図である。
【図２７】図２７は、ＣＰＵの局所解スコア算出処理の一部を示すフロー図である。
【図２８】図２８は、ＣＰＵの局所解スコア算出処理の他の一部を示すフロー図である
【図２９】図２９は、ＣＰＵの第１スコア算出処理の一部を示すフロー図である。
【図３０】図３０は、ＣＰＵの第１スコア算出処理の他の位置を示すフロー図である。
【図３１】図３１は、ＣＰＵの平均値基準スコア算出処理の一部を示すフロー図である。
【図３２】図３２は、ＣＰＵの平均値基準スコア算出処理の他の一部を示すフロー図である。
【図３３】図３３は、ＣＰＵの第２スコア算出処理を示すフロー図である。
【図３４】図３４は、ＣＰＵの分散値スコア算出処理を示すフロー図である。
【図３５】図３５は、ＣＰＵの最終スコア算出処理の一部を示すフロー図である。
【図３６】図３６は、ＣＰＵの最終スコア算出処理の他の一部を示すフロー図である。
【図３７】図３７は、ＣＰＵの最終スコア算出処理のその他の一部を示すフロー図である。
【発明を実施するための形態】
【００６３】
図１〜図３には、本発明の一実施例である情報処理装置としてのゲーム装置１０の外観が示される。ただし、ゲーム装置１０は、後述するように、学習支援装置ないし発音評価装置としても機能する。ゲーム装置１０は折り畳み型のゲーム装置であり、図１および図２は、開いた状態（開状態）におけるゲーム装置１０を示し、図３は、閉じた状態（閉状態）におけるゲーム装置１０を示している。また、図１は、開状態におけるゲーム装置１０の正面図であり、図２は、開状態におけるゲーム装置の側面図である。ゲーム装置１０は、２つの表示装置（ＬＣＤ１２および１４）および２つのカメラ（カメラ１６および１８）を有し、カメラによって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることができる。
【００６４】
ゲーム装置１０は、開いた状態において両手または片手で把持することができるような小型のサイズとされる。
【００６５】
ゲーム装置１０は、下側ハウジング２０および上側ハウジング２２という２つのハウジングを有する。下側ハウジング２０と上側ハウジング２２とは、開閉可能（折り畳み可能）に接続されている。この実施例では、各ハウジング２０および２２はともに横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。
【００６６】
上側ハウジング２２は、下側ハウジング２０の上側の一部で回動自在に支持されている。これによって、ゲーム装置１０は、閉状態（下側ハウジング２０と上側ハウジング２２とのなす角度が約０°の状態（図３参照））と、開状態（下側ハウジング２０と上側ハウジング２２とのなす角度が約１８０°の状態（図２参照））とをとることができる。ユーザは通常、開状態でゲーム装置１０を使用し、ゲーム装置１０を使用しない場合には閉状態としてゲーム装置１０を保管する。また、ゲーム装置１０は、上記閉状態および開状態のみでなく、下側ハウジング２０と上側ハウジング２２とのなす角度を、ヒンジに発生する摩擦力などによって閉状態と開状態との間の任意の角度に維持することができる。つまり、上側ハウジング２２を下側ハウジング２０に対して任意の角度で静止させることができる。
【００６７】
まず、下側ハウジング２０に設けられる構成について説明する。図１に示すように、ゲーム装置１０は、下側ＬＣＤ（液晶表示装置）１２を有する。下側ＬＣＤ１２は横長形状であり、長辺方向が下側ハウジング２０の長辺方向に一致するように配置される。下側ＬＣＤ１２は下側ハウジング２０に収納される。下側ＬＣＤ１２は、下側ハウジング２０の内側面に設けられる。したがって、ゲーム装置１０を使用しない場合には閉状態としておくことによって、下側ＬＣＤ１２の画面が汚れたり傷ついたりすることを防止することができる。なお、この実施例では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用してもよい。また、ゲーム装置１０は任意の解像度の表示装置を利用することができる。なお、ゲーム装置１０を撮像装置として利用する場合、下側ＬＣＤ１２は主に、カメラ１６または１８で撮像されている画像をリアルタイムに表示（スルー表示）するために用いられる。
【００６８】
下側ハウジング２０の内側面はほぼ平面状に形成される。当該内側面の中央には、下側ＬＣＤ１２を露出させるための開口部２０ｂが形成される。当該開口部２０ｂの左側（図示ｙ軸負側）には開口部２０ｃが形成され、当該開口部２０ｂの右側には開口部２０ｄが形成される。開口部２０ｂおよび２０ｃは、各キートップ（各ボタン２４ａ〜２４ｅの上面）を露出させるためのものである。そして、下側ハウジング２０の内部に収納される下側ＬＣＤ１２の画面が開口部２０ｂから露出し、各キートップが開口部２０ｃおよび２０ｄから露出される。このように、下側ハウジング２０の内側面には、中央に設けられる下側ＬＣＤ１２用の開口部２０ｂの左右両側に非画面領域（図１に示す点線領域Ａ１およびＡ２。具体的には、各ボタン２４ａ〜２４ｅを配置するための領域；ボタン配置領域）がそれぞれ設けられる。
【００６９】
下側ハウジング２０には、入力装置として、各ボタン２４ａ〜２４ｉおよびタッチパネル２８が設けられる。図１に示されるように、各ボタン２４ａ〜２４ｉのうち、方向入力ボタン２４ａ、ボタン２４ｂ、ボタン２４ｃ、ボタン２４ｄ、ボタン２４ｅ、および電源ボタン２４ｆは、下側ハウジング２０の内側面に設けられる。方向入力ボタン２４ａは例えば選択操作等に用いられ、各ボタン２４ｂ〜２４ｅは例えば決定操作やキャンセル操作等に用いられる。電源ボタン２４ｆは、ゲーム装置１０の電源をオン／オフするために用いられる。ここでは、方向入力ボタン２４ａおよび電源ボタン２４ｆは、下側ハウジング２０の中央付近に設けられる下側ＬＣＤ１２に対して一方の側の（図１では左側）に設けられ、ボタン２４ｂ〜２４ｅは下側ＬＣＤ１２に対して他方の側（図１では右側）に設けられる。方向入力ボタン２４ａおよびボタン２４ｂ〜２４ｅは、ゲーム装置１０に対する各種操作を行うために用いられる。
【００７０】
図３（Ａ）は閉状態におけるゲーム装置１０の左側面図であり、図３（Ｂ）は当該ゲーム装置１０の正面図であり、図３（Ｃ）は当該ゲーム装置１０の右側面図であり、そして図３（Ｄ）は当該ゲーム装置１０の背面図である。また、図３（Ａ）に示されるように、音量ボタン２４ｉは、下側ハウジング２０の左側面に設けられる。音量ボタン２４ｉは、ゲーム装置１０が備えるスピーカ３４の音量を調整するために用いられる。また、図３（Ｄ）に示されるように、ボタン２４ｈは、下側ハウジング２０の上面の右端部に設けられる。ボタン２４ｇは、下側ハウジング２０の上面の左端部に設けられる。各ボタン２４ｇおよび２４ｈは、ゲーム装置１０に対して例えば撮影指示操作（シャッタ操作）を行うために用いられる。各ボタン２４ｇおよび２４ｈの両方をシャッターボタンとして機能させてもよく、この場合、右利きのユーザはボタン２４ｈを使用し、左利きのユーザはボタン２４ｇを使用することができ、いずれのユーザにも使い勝手が良い。なお、ゲーム装置１０は、各ボタン２４ｇおよび２４ｈを常にシャッターボタンとして有効としておいてもよいし、右利きか左利きかの設定をして（メニュープログラムなどによりユーザに設定入力をさせ、設定されたデータを記憶しておく）、右利き設定のときにはボタン２４ｈのみ有効とし、左利き設定のときにはボタン２４ｇのみ有効とするようにしてもよい。
【００７１】
図１に示されるように、ゲーム装置１０は、各操作ボタン２４ａ〜２４ｉとは別の入力装置として、タッチパネル２８をさらに備えている。タッチパネル２８は、下側ＬＣＤ１２の画面上に装着されている。なお、この実施例では、タッチパネル２８は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。この実施例では、タッチパネル２８として、下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル２８の解像度と下側ＬＣＤ１２の解像度が一致している必要はない。また、下側ハウジング２０の右側面には挿入口３０（図１および図３（Ｄ）に示す点線）が設けられている。挿入口３０は、タッチパネル２８に対する操作を行うために用いられるタッチペン３６を収納することができる。なお、タッチパネル２８に対する入力は通常タッチペン３６を用いて行われるが、タッチペン３６に限らずユーザの指でタッチパネル２８を操作することも可能である。
【００７２】
図３（Ｃ）および図３（Ｄ）に示されるように、下側ハウジング２０の右側面には開閉可能なカバー部２０ｅが設けられる。このカバー部２０ｅの内側には、ゲーム装置１０とメモリカード３８とを電気的に接続するためのコネクタ（図示せず）が設けられる。メモリカード３８は、コネクタに着脱自在に装着される。メモリカード３８は、例えば、ゲーム装置１０によって撮像された画像のデータを記憶（保存）するために用いられる。
【００７３】
図１に示されるように、下側ハウジング２０の軸部２０ａの左側部分には、３つのＬＥＤ２６ａ〜２６ｃが取り付けられる。ここで、ゲーム装置１０は他の機器との間で無線通信を行うことが可能であり、第１ＬＥＤ２６ａは、無線通信が確立している場合に点灯する。第２ＬＥＤ２６ｂは、ゲーム装置１０の充電中に点灯する。第３ＬＥＤ２６ｃは、ゲーム装置１０の電源がオンである場合に点灯する。したがって、３つのＬＥＤ２６ａ〜２６ｃによって、ゲーム装置１０の通信確立状況、充電状況、および、電源のオン／オフ状況をユーザに通知することができる。
【００７４】
以上に説明したように、下側ハウジング２０には、ゲーム装置１０に対する操作入力を行うための入力装置（タッチパネル２８および各ボタン２４ａ〜２４ｉ）が設けられる。したがって、ユーザは、ゲーム装置１０を使用する際には下側ハウジング２０を把持してゲーム装置１０に対する操作を行うことができる。図４は、ユーザがゲーム装置１０を両手で把持した様子を示す図である。図４に示すように、ユーザは、各ＬＣＤ１２および１４がユーザの方向を向く状態で、両手の掌と中指、薬指および小指とで下側ハウジング２０の側面および外側面（内側面の反対側の面）を把持する。このように把持することで、ユーザは、下側ハウジング２０を把持したまま、各ボタン２４ａ〜２４ｅに対する操作を親指で行い、ボタン２４ｇおよび２４ｈに対する操作を人差し指で行うことができる。
【００７５】
一方、上側ハウジング２２には、画像を撮像するための構成（カメラ）、および、撮像した画像を表示するための構成（表示装置）が設けられる。以下、上側ハウジング２２に設けられる構成について説明する。
【００７６】
図１に示すように、ゲーム装置１０は、上側ＬＣＤ１４を有する。上側ＬＣＤ１４は上側ハウジング２２に収納される。上側ＬＣＤ１４は横長形状であり、長辺方向が上側ハウジング２２の長辺方向に一致するように配置される。上側ＬＣＤ１４は、上側ハウジング２２の内側面（ゲーム装置１０が閉状態となった場合に内側となる面）に設けられる。したがって、ゲーム装置１０を使用しない場合には閉状態としておくことによって、上側ＬＣＤ１４の画面が汚れたり傷ついたりすることを防止することができる。なお、下側ＬＣＤ１２と同様、上側ＬＣＤ１４に代えて、他の任意の方式および任意の解像度の表示装置を利用してもよい。なお、他の実施形態においては、上側ＬＣＤ１４上にもタッチパネルを設けてもよい。
【００７７】
また、ゲーム装置１０は、２つのカメラ１６および１８を有する。各カメラ１６および１８はともに上側ハウジング２２に収納される。図１に示されるように、内側カメラ１６は、上側ハウジング２２の内側面に取り付けられる。一方、図３（Ｂ）に示されるように、外側カメラ１８は、内側カメラ１６が取り付けられる面の反対側の面、すなわち、上側ハウジング２２の外側面（ゲーム装置１０が閉状態となった場合に外側となる面）に取り付けられる。これによって、内側カメラ１６は、上側ハウジング２２の内側面が向く方向を撮像することが可能であり、外側カメラ１８は、内側カメラ１６の撮像方向の逆方向、すなわち、上側ハウジング２２の外側面が向く方向を撮像することが可能である。以上のように、この実施例では、２つのカメラ１６および１８が撮像方向が互いに逆方向となるように設けられる。したがって、ユーザはゲーム装置１０を持ち替えることなく、異なる２方向を撮像することができる。例えば、ユーザは、ゲーム装置１０からユーザの方を見た景色を内側カメラ１６で撮影することができるとともに、ゲーム装置１０からユーザの反対側の方向を見た景色を外側カメラ１８で撮影することができる。
【００７８】
また、内側カメラ１６は、上側ハウジング２２の下側の中央部に形成される軸部２２ａの中央に取り付けられる。つまり、内側カメラ１６は、２つのハウジング２０および２２が接続される部分の中央に取り付けられる。したがって、ゲーム装置１０を開状態にした場合、内側カメラ１６は、２つのＬＣＤ１２および１４の間に配置されることになる（図１参照）。換言すれば、内側カメラ１６は、ゲーム装置１０の中心付近に配置されることになる。なお、「ゲーム装置１０の中心」とは、ゲーム装置１０の操作面（開状態における各ハウジング２０および２２の内側面からなる面）の中心という意味である。なお、内側カメラ１６は、ＬＣＤ１２および１４の横方向の中心付近に配置されているということもできる。
この実施例では、ゲーム装置１０を開状態にした場合に内側カメラ１６はゲーム装置１０の中心付近に配置されるので、ユーザは、内側カメラ１６によってユーザ自身を撮影する場合、ユーザがゲーム装置１０に正対する位置でゲーム装置１０を把持すればよい。つまり、通常の把持位置でゲーム装置を把持すれば、ユーザは撮像範囲の中心付近に位置することになり、ユーザ自身を撮像範囲内に収めることが容易になる。
【００７９】
また、図３（Ｂ）に示されるように、外側カメラ１８は、ゲーム装置１０を開状態とした場合において上側ハウジング２２の上部（下側ハウジング２０から遠い側の部分）に配置される。なお、外側カメラ１８は、ゲーム装置１０を把持するユーザを撮影するものではないので、ゲーム装置１０の中心に設ける必要性は高くない。
【００８０】
また、図１または図３（Ｂ）に示されるように、マイク３２は、上側ハウジング２２に収納されている。具体的には、マイク３２は、上側ハウジング２２の軸部２２ａに取り付けられる。この実施例では、マイク３２は、内側カメラ１６の周囲（図ではｙ軸の側方）に取り付けられ、より具体的には、内側カメラ１６からｙ軸正方向側の側方に取り付けられる。また、軸部２２ａにおいては、マイク３２がゲーム装置１０外部の音を検知することができるように、マイク３２に対応する位置（内側カメラ１６の側方）にマイクロフォン用孔２２ｃが設けられる。なお、マイク３２は下側ハウジング２０に収納されてもよい。たとえば、マイクロフォン用孔２２ｃを下側ハウジング２０の内側面、具体的には下側ハウジング２０の内側面の左下部分（ボタン配置領域Ａ１）に設け、マイク３２を、下側ハウジング２０内における、マイクロフォン用孔２２ｃの近傍に配置することができる。
また、マイク３２は、その集音方向（感度が最大となる方向）が内側カメラ１６の撮像方向（光軸）と略並行（言い換えれば集音方向および撮像方向がそれぞれｙ軸と略並行）となる向きに取り付けられる。これによって、内側カメラ１６の撮像範囲内で発せられた音声は、マイク３２によって好適に捉えられる。すなわち、マイク３２入力の検出とユーザの検出とを同時行うことができるとともに、検出の精度を向上させることができる。
【００８１】
図３（Ｂ）に示されるように、上側ハウジング２２の外側面には、第４ＬＥＤ２６ｄが取り付けられる。第４ＬＥＤ２６ｄは、外側カメラ１８の周囲（この実施例では、外側カメラ１８の右側）に取り付けられる。第４ＬＥＤ２６ｄは、内側カメラ１６または外側カメラ１８によって撮影が行われた（シャッターボタンが押下された）時点で点灯する。また、内側カメラ１６または外側カメラ１８によって動画が撮影される間点灯する。第４ＬＥＤ２６ｄによって、ゲーム装置１０による撮影が行われた（行われている）ことを撮影対象者に通知することができる。
【００８２】
また、上側ハウジング２２の内側面はほぼ平面状に形成される。図１に示すように、当該内側面の中央には、上側ＬＣＤ１４を露出させるための開口部２２ｂが形成される。上側ハウジング２２の内部に収納される上側ＬＣＤ１４の画面は、開口部２２ｂから露出する。また、上記開口部２２ｂの左右両側には音抜き孔２２ｄがそれぞれ１つずつ形成される。音抜き孔２２ｄの奥の上側ハウジング２２内にはスピーカ３４が収納されている。音抜き孔２２ｄは、スピーカ３４からの音を外部に放出するための孔である。
【００８３】
このように、上側ハウジング２２の内側面には、中央に設けられる上側ＬＣＤ１４用の開口部２２ｂの左右両側に非画面領域（図１に示す点線領域Ｂ１およびＢ２。具体的には、スピーカ３４を配置するための領域；スピーカ配置領域）がそれぞれ設けられる。２つの音抜き孔２２ｄは、左右方向については、各スピーカ配置領域の左右方向における中央部付近に配置され、上下方向については、各スピーカ配置領域の下部領域（下側ハウジング２０に近い側の領域）に配置される。
【００８４】
なお、上記のように、下側ハウジング２０および上側ハウジング２２に左右方向に関して同じ位置に非画面領域をそれぞれ設けたことで、ゲーム装置１０は、図４に示すような横持ちで把持される場合だけでなく、縦持ち（図４に示す状態からゲーム装置１０を左または右回りに９０°回転させた状態）で把持される場合にも持ちやすい構成となっている。
【００８５】
以上に説明したように、上側ハウジング２２には、画像を撮像するための構成であるカメラ１６および１８、および、撮像された画像を表示するための表示手段である上側ＬＣＤ１４が設けられる。一方、下側ハウジング２０には、ゲーム装置１０に対する操作入力を行うための入力装置（タッチパネル２８および各ボタン２４ａ〜２４ｉ）が設けられる。したがって、ゲーム装置１０を撮像装置として使用する際には、ユーザは、上側ＬＣＤ１４に表示される撮像画像（カメラによって撮像された画像）を見ながら、下側ハウジング２０を把持して入力装置に対する入力を行うことができる。
【００８６】
また、上側ハウジング２２のカメラ１６近傍には、音声を入力するための構成であるマイク３２が設けられており、したがってゲーム装置１０は、録音装置としても使用可能である。さらに、ユーザがマイク３２を通して音声入力を行い、ゲーム装置１０はこのマイク入力情報に基づいてゲーム処理や語学学習処理（後述）を実行することもできる。
【００８７】
図５は、ゲーム装置１０の内部構成（電気的構成）を示すブロック図である。図５に示すように、ゲーム装置１０は、ＣＰＵ４２、メインメモリ４８、メモリ制御回路５０、保存用データメモリ５２、プリセットデータ用メモリ５４、メモリカードインターフェース（メモリカードＩ／Ｆ）４４、無線通信モジュール５６、ローカル通信モジュール５８、リアルタイムクロック（ＲＴＣ）６０、電源回路４６、およびインターフェース回路（Ｉ／Ｆ回路）４０等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング２０（または上側ハウジング２２でもよい）内に収納される。
【００８８】
ＣＰＵ４２は、各種のプログラムを実行するための情報処理手段である。ゲーム装置１０を撮像装置として利用する場合には、そのためのプログラムがゲーム装置１０内のメモリ（例えば保存用データメモリ５２）に記憶される。ＣＰＵ４２が当該プログラムを実行することで、ゲーム装置１０は撮影装置として機能する。なお、ＣＰＵ４２によって実行されるプログラムは、ゲーム装置１０内のメモリに予め記憶されていてもよいし、メモリカード３８から取得されてもよいし、他の機器との通信によって他の機器から取得されてもよい。
【００８９】
ＣＰＵ４２には、メインメモリ４８、メモリ制御回路５０、およびプリセットデータ用メモリ５４が接続される。また、メモリ制御回路５０には保存用データメモリ５２が接続される。メインメモリ４８は、ＣＰＵ４２のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ４８は、ゲーム処理や語学学習処理に用いられる各種データを記憶したり、外部（メモリカード３８や他の機器等）から取得されるプログラムを記憶したりする。この実施例では、メインメモリ４８として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。保存用データメモリ５２は、ＣＰＵ４２によって実行されるプログラムや各カメラ１６および１８によって撮像された画像のデータ等を記憶するための記憶手段である。保存用データメモリ５２は、例えばＮＡＮＤ型フラッシュメモリで構成される。メモリ制御回路５０は、ＣＰＵ４２の指示に従って、保存用データメモリ５２に対するデータの読み出しおよび書き込みを制御する回路である。プリセットデータ用メモリ５４は、ゲーム装置１０において予め設定される各種パラメータ等のデータ（プリセットデータ）を記憶するための記憶手段である。プリセットデータ用メモリ５４としては、ＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）バスによってＣＰＵ４２と接続されるフラッシュメモリを用いることができる。
【００９０】
メモリカードＩ／Ｆ４４はＣＰＵ４２に接続される。メモリカードＩ／Ｆ４４は、コネクタに装着されたメモリカード３８に対するデータの読み出しおよび書き込みをＣＰＵ４２の指示に従って行う。この実施例では、各カメラ１６および１８によって撮像された画像データがメモリカード３８に書き込まれたり、メモリカード３８に記憶された画像データがメモリカード３８から読み出されて保存用データメモリ５２に記憶されたりする。
【００９１】
無線通信モジュール５６は、例えばＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール５８は、所定の通信方式により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール５６およびローカル通信モジュール５８はＣＰＵ４２に接続される。ＣＰＵ４２は、無線通信モジュール５６を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール５８を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００９２】
また、ＣＰＵ４２には、ＲＴＣ６０および電源回路４６が接続される。ＲＴＣ６０は、時間をカウントしてＣＰＵ４２に出力する。ＣＰＵ４２は、ＲＴＣ６０によって計時された時間に基づいて、現在時刻（日付）を計算したり、画像取り込み等の動作タイミングを検知したりする。電源回路４６は、ゲーム装置１０が有する電源（電池；下ハウジングに収納される）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００９３】
また、ゲーム装置１０は、マイク３２およびスピーカ３４を備えている。マイク３２およびスピーカ３４はそれぞれＩ／Ｆ回路４０に接続される。マイク３２は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４０に出力する。スピーカ３４は、Ｉ／Ｆ回路４０からの音声信号に応じた音声を出力する。Ｉ／Ｆ回路４０はＣＰＵ４２に接続される。また、タッチパネル２８はＩ／Ｆ回路４０に接続される。Ｉ／Ｆ回路４０は、マイク３２およびスピーカ３４の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。変換された音声データ（語学学習を行う場合はユーザの発音データ）は、メインメモリ４８の音声エリア（語学学習を行う場合は録音エリア８６：図１２参照）に書き込まれる。ゲーム装置１０を録音装置として利用する場合には、音声エリアに格納された音声データは、後にメモリ制御回路５０を介して保存用データメモリ５２に書き込まれる（必要に応じてさらに、メモリカードＩ／Ｆ４４を介してメモリカード３８に記録される）。また、音声エリアに格納された音声データ（マイク入力情報）は、各種のゲーム処理にも利用される。タッチパネル制御回路は、タッチパネル２８からの信号に基づいて所定の形式のタッチ位置データを生成してＣＰＵ４２に出力する。タッチ位置データは、タッチパネル２８の入力面のうちで入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル２８からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。ＣＰＵ４２は、タッチ位置データを取得することにより、タッチパネル２８に対して入力が行われた位置を知ることができる。
【００９４】
操作部２４は、上記各ボタン２４ａ〜２４ｉからなり、ＣＰＵ４２に接続される。操作部２４からＣＰＵ４２へは、各ボタン２４ａ〜２４ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。ＣＰＵ４２は、操作部２４から操作データを取得することによって、操作部２４に対する入力に従った処理を実行する。
【００９５】
各カメラ１６および１８はＣＰＵ４２に接続される。各カメラ１６および１８は、ＣＰＵ４２の指示に従って画像を撮像し、撮像した画像データをＣＰＵ４２に出力する。ＣＰＵ４２は、各カメラ１６および１８からの画像データをメインメモリ４８の画像エリア（図示せず）に書き込む。ゲーム装置１０を撮像装置として利用する場合には、画像エリアに格納された画像データは、後にメモリ制御回路５０を介して保存用データメモリ５２に書き込まれる（必要に応じてさらに、メモリカードＩ／Ｆ４４を介してメモリカード３８に記録される）。また、画像エリアに格納された画像データは、各種のゲーム処理にも利用される。
【００９６】
また、各ＬＣＤ１２および１４はＣＰＵ４２に接続される。各ＬＣＤ１２および１４はＣＰＵ４２の指示に従って画像を表示する。ゲーム装置１０を撮像装置として利用する場合、ＣＰＵ４２は、各カメラ１６および１８のいずれかから取得した画像を上側ＬＣＤ１４に表示させ、所定の処理によって生成した操作画面を下側ＬＣＤ１２に表示させる。ゲーム装置１０でゲームをプレイする場合には、ＬＣＤ１２および１４の一方または両方にゲーム画像が表示される。
【００９７】
以上のように構成されたゲーム装置１０で語学学習を行うとき、ＣＰＵ４２は、図６に示すようなトレーニング画面を上側ＬＣＤ１４（以下“ＬＣＤ１４”）に表示する。トレーニング画面は、語学学習の対象である英文（原文）ＥＳたとえば“Did you hear about the poster ?”と、英文ＥＳの発音を示すカナ文ＫＳたとえば“ディッジュー  ヒア  アバウト  ザ  ポウスター？”と、時間軸を示すガイドＧと、英文ＥＳを発音する際に連続的に発音すべき発音範囲の発音時間長をガイドＧに沿って示すガイドバーＧＢ１〜ＧＢ３と、英文ＥＳを発音する際のアクセントの位置をガイドＧに沿って示すアクセントマークＡＰ１〜ＡＰ３とを含む。アクセントマークＡＰ１〜ＡＰ３のうちＡＰ２は、他の２つと比べて相対的に強く発音されるべきアクセントの位置をユーザに認識させるため、強調表示されている。
【００９８】
一般に、英文ＥＳなどの文章を発音する際には、一文内にいくつかのアクセントが現れる。この実施例では、こうしたアクセントで区切られた範囲（あるアクセントから次のアクセントの直前までの範囲）を、連続的に発音すべき発音範囲（以下“発音範囲”）と定義する。したがって、アクセントマークＡＰ１，ＡＰ２，…は、ガイドバーＧＢ１，ＧＢ２，…の先頭の位置に表示されることになる。
【００９９】
ＣＰＵ４２はまた、トレーニング画面をＬＣＤ１４に表示した状態で、英文ＥＳの音声をスピーカ３４を通して再生する。トレーニング画面は、現時点の位置をガイドＧに沿って示す現時点位置ポインタＰをさらに含む。
【０１００】
ＣＰＵ４２はまた、英文ＥＳの音声再生を開始する前に、所定数ここでは２個のチック音を一定のリズム（時間間隔）で再生する。このため、トレーニング画面は、チック音の位置をガイドＧに沿って示すチックマークＴＰ１およびＴＰ２をさらに含む。
【０１０１】
このように構成されたトレーニング画面は、図７（Ａ）〜図７（Ｃ）および図８（Ａ）〜図８（Ｃ）に示すように変化する。図７（Ａ）〜図７（Ｃ）はチック音が再生される期間（つまりユーザが英文ＥＳを発音する前の準備期間）の画面変化を示し、図８（Ａ）〜図８（Ｃ）はアクセント音が再生される期間（つまりユーザが英文ＥＳを発音する発音期間）の画面変化を示している。なお、図７（Ａ）〜図７（Ｃ）および図８（Ａ）〜図８（Ｃ）からは、チックマークＴＰ１およびＴＰ２ならびにアクセントマークＡＰ１〜ＡＰ３に加えられるアニメーション効果（図９，図１０参照：後述）は取り除かれている。
【０１０２】
まず準備期間について、図７（Ａ）に示すように、当初、英文ＥＳ，カナ文ＫＳおよびガイドバーＧＢ１〜ＧＢ３は、いずれもグレーで表示され、現時点位置ポインタＰは、ガイドＧの左端付近たとえばチックマークＴＰ１の位置に置かれる。
【０１０３】
チックマークＴＰ１に対応する最初のチック音が再生されると、図７（Ｂ）および図７（Ｃ）に示すように、現時点位置ポインタＰは、一定速度で右向きに移動する動きを開始する。２番目のチック音は、現時点位置ポインタＰが次のチックマークＴＰ２を通過するとき再生される。そして現時点位置ポインタＰが最初のアクセントマークＡＰ１を通過するタイミングで、英文ＥＳの音声再生が開始される。ユーザは、事前に再生される２個のチック音を通して、発音のリズムおよび発音開始のタイミングを認識することができる。
【０１０４】
図７（Ａ）〜図７（Ｃ）のように現時点位置ポインタＰがチックマークＴＰ１およびアクセントマークＡＰ１の間に位置する期間は、英文ＥＳ，カナ文ＫＳおよびガイドバーＧＢ１〜ＧＢ３には、何の変化も生じない。一方、チックマークＴＰ１およびＴＰ２には、図９（Ａ）〜図９（Ｅ）に示すようなアニメーション効果が加えられる。
【０１０５】
図９（Ａ）は最初のチック音が出力されるタイミングに対応しており、このときチックマークＴＰ１は最大まで強調表示されている。この後、図９（Ｂ）に示すように、現時点位置ポインタＰがチックマークＴＰ２に向かって移動するに連れて、チックマークＴＰ１の強調度合いは減少していく。そして、図９（Ｃ）に示すように、現時点位置ポインタＰがチックマークＴＰ２を通過するとき、つまり２番目のチック音が出力されるタイミングで、チックマークＴＰ２は最大まで強調表示される。チックマークＴＰ１の強調は、現時点位置ポインタＰがチックマークＴＰ２に到達する前に解除される。
【０１０６】
その後、図９（Ｄ）に示すように、現時点位置ポインタＰがアクセントマークＡＰ１に向かって移動するに連れてチックマークＴＰ２の強調度合は減少していき、図９（Ｅ）に示すように、現時点位置ポインタＰがアクセントマークＡＰ１に到達する前にチックマークＴＰ２の強調は解除される。このようなアニメーション効果をチックマークＴＰ１およびＴＰ２に加えることで、発音開始のタイミングが取りやすくなる。
【０１０７】
次に、発音期間に関し、図８（Ａ）に示すように、現時点位置ポインタＰがアクセントマークＡＰ１を経てガイドバーＧＢ１の範囲内に入ると、このガイドバーＧＢ１の色がグレーから赤に変化し、さらには、英文ＥＳおよびカナ文ＫＳのうちガイドバーＧＢ１に対応する部分つまり“Did you”および“ディッジュー”の色も、グレーから赤に変化する。
【０１０８】
その後、図８（Ｂ）に示すように、現時点位置ポインタＰがアクセントマークＡＰ２を経てガイドバーＧＢ２の範囲内に入ると、このガイドバーＧＢ２の色がグレーから赤に変化し、さらには、英文ＥＳおよびカナ文ＫＳのうちガイドバーＧＢ２に対応する部分つまり“hear about the”および“ヒア  アバウト  ザ”の色も、グレーから赤に変化する。一方、ガイドバーＧＢ１，“Did you”および“ディッジュー”の色は、赤から黒に変化する。
【０１０９】
その後、図８（Ｃ）に示すように、現時点位置ポインタＰがアクセントマークＡＰ３を経てガイドバーＧＢ３の範囲内に入ると、このガイドバーＧＢ３の色がグレーから赤に変化し、さらには、英文ＥＳおよびカナ文ＫＳのうちガイドバーＧＢ３に対応する部分つまり“poster ?”および“ポウスター？”の色も、グレーから赤に変化する。一方、ガイドバーＧＢ２，“hear about the”および“ヒア  アバウト  ザ”の色は、赤から黒に変化する。ガイドバーＧＢ１，“Did you”および“ディッジュー”の色は、黒もまま変化しない。
【０１１０】
こうして、現時点位置ポインタＰの進行に連れてガイドバーＧＢ１〜ＧＢ３の色を変化させ、さらに英文ＥＳおよびカナ文ＫＳの対応部分も同様に変化させることで、ユーザは、現時点での発音範囲および発音時間長を一目で認識することができる。一方、アクセントマークＡＰ１〜ＡＰ３には、図１０（Ａ）〜図１０（Ｅ）に示すようなアニメーション効果が加えられる。
【０１１１】
図１０（Ａ）は図９（Ｅ）のタイミングに対応しており、このときアクセントマークＡＰ１は未だ強調表示されていない。この後、図１０（Ｂ）に示すように、現時点位置ポインタＰがアクセントマークＡＰ１に向かって移動していき、そして、図１０（Ｃ）に示すように、現時点位置ポインタＰがアクセントマークＡＰ１およびＡＰ２の間の所定位置に到達した時点で、アクセントマークＡＰ１は最大まで強調表示される。
【０１１２】
その後、アクセントマークＡＰ１の強調は、図１０（Ｄ）に示すように、現時点位置ポインタＰがアクセントマークＡＰ１から遠ざかるに連れて減少していき、そして図１０（Ｅ）に示すように、現時点位置ポインタＰがアクセントマークＡＰ２に到達する前に解除される。以降、アクセントマークＡＰ２，ＡＰ３についても、同様のアニメーション効果が加えられる。このようなアニメーション効果をアクセントマークＡＰ１〜ＡＰ３に加えることで、アクセントの発音タイミングを認識しやすくなる。
【０１１３】
図７（Ａ）〜図７（Ｃ）および図８（Ａ）〜図８（Ｃ）のようなトレーニング画面の変化は、所定回数ここでは５回繰り返される。音声再生時の音量は、繰り返しの度に減少していき、最後の１回つまり５回目ではゼロとなる。ユーザは、５回に渡って英文ＥＳの発音を行うが、最初の４回はトレーニング画面を見ながら再生音声を真似て発音を行い、最後の１回はトレーニング画面だけで（再生音声なしで）発音を行う。この５回目の発音が、マイク３２を通して録音される。
【０１１４】
録音が完了すると、ＣＰＵ４２は、図１１に示すような再生画面をＬＣＤ１４に表示して、録音された発音の音声をｖｓｃａｌｅと同時にスピーカ３４から再生する。この再生画面は、英文ＥＳと、お手本音声の波形ＷＰ１と、ユーザ（あなた）の発音音声の波形ＷＰ２と、現時点位置ポインタＰとを含む。現時点位置ポインタＰは、現時点の時間軸（ガイドＧ）上での位置を示す。現時点位置ポインタＰの移動に連れて、英文ＥＳの色がトレーニング画面（図６参照）におけるそれと同じ要領で変化し、かつ２つの波形ＷＰ１およびＷＰ２の描画が進行する。描画が完了すると、ＣＰＵ４２は、２つの波形ＷＰ１およびＷＰ２のレベルを主としてアクセントＡＰ１，ＡＰ２，…の位置で比較して、お手本およびユーザ発音の間の類似度を評価する。そして、評価結果を示す評価スコア（図示せず）を表示する。
【０１１５】
次に、このような語学学習を実現するための具体的な情報処理について、図１２〜図２０により説明する。図１２には、語学学習を行う場合のメインメモリ４８のメモリマップが示される。図１２を参照して、メインメモリ４８にはプログラムエリア４８ａおよびデータエリア４８ｂが形成され、プログラムエリア４８ａには、図１５〜図２０のフロー図に対応するメインプログラム７０が格納される。メインプログラム７０は、トレーニング画面などの描画を行うための画像処理プログラム７２と、英文ＥＳの音声を再生しかつユーザの発音の録音するための音声処理プログラム７４とをサブルーチンとして含む。プログラムエリア４８ａにはさらに、Ｉ／Ｆ回路４０等を制御して映像や音声の入出力を行うための入出力制御プログラム７６およびユーザの発音を評価するための評価処理プログラム７７なども格納されている。
【０１１６】
一方、データエリア４８ｂは、問題エリア７８，定数エリア８０，変数エリア８２，描画エリア８４および録音エリア８６などを含む。問題エリア７８には、問題１データ７８１，問題２データ７８２，…が格納される。問題１データ７８１の構成を図１３に示す。問題１データ７８１は、英文ＥＳを示すテキストデータ７８１ａと、カナ文ＫＳを示すテキストデータ７８１ｂと、アクセントの時間軸上での位置Ｔ（１），Ｔ（２），…および強弱を示すアクセント情報７８１ｃと、英文の音声を示す波形データ７８１ｄと、英文の音声のデータサイズ（サンプル数および／または時間長Ｗ）を示すサイズ情報７８１ｅを含む。問題２データ７８２，…も、同様に構成される。なお、図１３の例では、単語の先頭にアクセントがきているが、単語の途中にアクセントがくる場合もある。
【０１１７】
定数エリア８０には、メインプログラム７０によって参照される各種の定数（Ｖ，Ｎ，Ｔ（ｎ），ＳＴＥＰ，Ｔｔｉｃｋ，Ｎｔｉｃｋ：後述）が記憶される。変数エリア８２には、メインプログラム７０によって制御される各種の変数（ｓｔｅｐ，ｓｃａｌｅ，ｔｖ，ｖｓｃａｌｅ，ｓｏｒｅ，ｓｃｏｒｅＡ，ｓｃｏｒｅＢ，ｓｃｏｒｅＣ，ｓｃｏｒｅＤ，ｓｃｏｒｅＸ，ｓｃｏｒｅＹ，ａｃｃｅｎｔＮｕｍ，ｒｉｇｈｔＮｕｍ，ｍａｘＮｕｍ，ｖａｌｕｅ，ｉ，ｊ，ｍ，σＡ，σＢ：後述）が記憶される。描画エリア８４には、トレーニング画面（図６参照）や再生画面（図７参照）に対応する画像データが記憶される。録音エリア８６には、マイク３２を通して入力された音声データつまりユーザの発音が記憶される。
【０１１８】
図１４には、上記の定数および変数のうち、トレーニング画面に関して主要なものと、音声波形，チックマークおよびアクセントマークとの関係が、時間軸に沿って図解されている。“Ｖ”はお手本の音声データを、“ｓｃａｌｅ”は“Ｖ”の再生倍率（たとえば０．５倍，１倍，１．５倍）を、そして“ｖｓｃａｌｅ”は“Ｖ”を“ｓｃａｌｅ”倍に伸縮したものをそれぞれ示す。“ｔ”は現在時刻（基準時刻０からの経過時間）を、“ｔｖ”は再生開始時刻をそれぞれ示す。
【０１１９】
“Ｔｔｉｃｋ”はチック音の時間間隔を示しており、このためチックマーク（ＴＰ１およびＴＰ２）間の間隔は、“Ｔｔｉｃｋ”の“ｓｃａｌｅ”倍つまり“Ｔｔｉｃｋ×ｓｃａｌｅ”となる。２番目のチックマークＴＰ２と１番目のアクセントマークＡＰ１との間隔もまた、“Ｔｔｉｃｋ×ｓｃａｌｅ”である。
【０１２０】
“Ｎｔｉｃｋ”はチック音の個数（ここでは２個）を、“Ｎ”はアクセントの個数（ここでは４個）をそれぞれ示す。Ｔ（ｎ）は、ｓｃａｌｅ＝１で再生した際のｎ番目（１≦ｎ≦Ｎ）のアクセントの再生開始時刻（ｔｖ）からの時間を示す。このため、アクセントマークＡＰ１は“ｔｖ”から“Ｔ（１）×ｓｃａｌｅ”だけ右に、アクセントマークＡＰ２は“ｔｖ”から“Ｔ（２）×ｓｃａｌｅ”だけ右に、アクセントマークＡＰ３は“ｔｖ”から“Ｔ（３）×ｓｃａｌｅ”だけ右に、そしてアクセントマークＡＰ４は“ｔｖ”から“Ｔ（４）×ｓｃａｌｅ”だけ右に、それぞれ位置している。
【０１２１】
したがって、音声再生開始に先立ってチック音が一定時間“Ｔｔｉｃｋ×ｓｃａｌｅ”毎に発生し、最後（２番目）のチック音から“Ｔｔｉｃｋ×ｓｃａｌｅ”後に最初のアクセント音が発生する。音声再生は、この１番目のアクセント音よりも“Ｔ（１）×ｓｃａｌｅ”だけ前に開始される（ｔｖ＝Ｔｔｉｃｋ×ｓｃａｌｅ×２−Ｔ（１）×ｓｃａｌｅ）。２番目のアクセント音は、１番目のアクセント音から“Ｔ（２）×ｓｃａｌｅ−Ｔ（１）×ｓｃａｌｅ”後に発生し、３番目のアクセント音は、２番目のアクセント音から“Ｔ（３）×ｓｃａｌｅ−Ｔ（２）×ｓｃａｌｅ”後に発生し、そして４番目のアクセント音は、３番目のアクセント音から“Ｔ（４）×ｓｃａｌｅ−Ｔ（３）×ｓｃａｌｅ”後に発生する。ここでＴ（１），Ｔ（２），…は、お手本の音声データ毎に定められた定数であるため、アクセント音の間隔は、一般に一定ではない。
【０１２２】
ＣＰＵ４２は、このようなメインメモリ４８のプログラムおよびデータに基づいて、図１５〜図２０のフロー図に従う語学学習処理を実行する。この処理は、問題が選択される度に実行される。図１５を参照して、いずれかの問題たとえば問題１が選択されると、最初、ステップＳ１〜Ｓ７を通じて各種変数（図１２〜図１４参照）に初期値をセットする。詳しくは、ステップＳ１では変数ｓｃａｌｅに“１”をセットし、ステップＳ３では変数ｓｔｅｐに“１”をセットする。ここで変数ｓｔｅｐは、現時点での繰り返し回数を示す。ステップＳ５では、定数Ｔｔｉｃｋ，Ｎｔｉｃｋ，Ｔ（１）およびｓｃａｌｅから“（Ｔｔｉｃｋ×Ｎｔｉｃｋ−Ｔ（１））×ｓｃａｌｅ”つまり再生開始時刻（図１４参照：前述）を計算し、結果を変数ｔｖにセットする。ステップＳ７では、定数Ｖおよびｓｃａｌｅから“Ｖ×ｓｃａｌｅ”を計算し、結果を変数ｖｓｃａｌｅにセットする。なお、“Ｖ”はお手本の音声データを、“ｖｓｃａｌｅ”は“Ｖ”お手本の音声データを伸縮して得られた音声データをそれぞれ示すが、説明の便宜のため、定数Ｖ，変数ｖｓｃａｌｅのように記す。そしてステップＳ９で、描画エリア８４に対して描画を行い、これにより図６のようなトレーニング画面がＬＣＤ１４に表示される。このトレーニング画面描画処理は、詳しくは図２０のサブルーチンに従って実行される。
【０１２３】
図２０を参照して、まず、ステップＳ１０１でガイドＧを含む初期画面を描画し、ステップＳ１０３では問題データたとえば問題１データ７８１（図１３参照）を読み込み、ステップＳ１０５では問題１データ７８１に含まれているテキストデータ７８１ａおよび７８１ｂに基づいて英文ＥＳおよびカナ文ＫＳを描画する。次に、ステップＳ１０７で、問題１データ７８１に含まれているサイズ情報７８１ｅに基づいて伸縮率を計算する。たとえば、トレーニング画面（図６参照）の横サイズ（表示幅）が時間長Ｗ０に相当する場合、伸縮率（ｋ）は、英文の音声（ｖｓｃａｌｅ）の時間長Ｗから“ｋ＝Ｗ０／（ｔｖ＋Ｗ）”のように計算される。
【０１２４】
ステップＳ１０９ではチックマークＴＰ１，ＴＰ２を伸縮後の間隔で描画する。伸縮後の間隔は、“Ｔｔｉｃｋ×ｓｃａｌｅ×ｋ”のように計算される（図１４参照）。ステップＳ１１１ではアクセントマークＡＰ１〜ＡＰ３を伸縮後の間隔で描画する。伸縮後の間隔は、たとえばアクセントマークＡＰ１およびＡＰ２の間隔については、“｛Ｔ（２）×ｓｃａｌｅ−Ｔ（１）×ｓｃａｌｅ｝×ｋ”のように計算される（図１４参照）。そしてステップＳ１１３では、ガイドバーＧＢ１〜ＧＢ３を伸縮後の長さで描画する。伸縮後の長さは、たとえばガイドバーＧＢ１については、“｛Ｔ（２）×ｓｃａｌｅ−Ｔ（１）×ｓｃａｌｅ−Ｄ１｝×ｋ”のように計算される（図１４参照）。ここでＤ１は、ガイドバーＧＢ１の末尾とアクセントマークＡＰ２との隙間の長さを示す。ガイドバーＧＢ２については、“｛Ｔ（３）×ｓｃａｌｅ−Ｔ（２）×ｓｃａｌｅ−Ｄ２｝×ｋ”のように計算される。これにより、ＬＣＤ１４には図６のようなトレーニング画面が表示される。その後、上位層のルーチンに復帰する。
【０１２５】
再び図１５を参照して、次に、ステップＳ１１で変数ｔに“０”をセットし、ステップＳ１３では英文ＥＳ，カナ文ＫＳおよびガイドバーＧＢ１〜ＧＢ３の表示色をグレーにする。そしてステップＳ１５で、ガイドＧ上の現時点位置ポインタＰを変数ｔに対応する位置へと移動する。ステップＳ１７ではスピード変更操作の有無を判別し、“ＮＯ”であればステップＳ２３に進む。操作部２４やタッチパネル２８を通してスピード変更操作が行われると、ステップＳ１７からステップＳ１９に移って、変更後のスピードに対応する再生倍率を計算し、結果を変数ｓｃａｌｅにセットする。そして、ステップＳ２１で音声再生または録音を停止した後、ステップＳ３に戻る。なお、現時点で音声再生も録音も行われていなければ、ステップＳ２１は素通りとなる。
【０１２６】
図１６を参照して、ステップＳ２３では変数ｎに“１”をセットする。ここでの変数ｎはチックの番号を示す。ステップＳ２５では変数ｔが“Ｔｔｉｃｋ×ｓｃａｌｅ×（ｎ−１）”を跨いだか否かを判別し、ここで“ＮＯ”であれば直ちにステップＳ３１に進む。ステップＳ２５で“ＹＥＳ”であれば、当該ｎ番目のチックに関してステップＳ２７およびＳ２９の処理を実行した後、ステップＳ３１に進む。ステップＳ２７ではチック音の再生を行い、ステップＳ２９ではチックマーク（ＴＰｎ）のアニメーションを開始する。チックマーク（ＴＰ１およびＴＰ２）のアニメーションは、図１０（Ａ）〜図１０（Ｅ）に示す要領で進行する。
【０１２７】
ステップＳ３１では変数ｎをインクリメントし、次のステップＳ３３では変数ｎが定数Ｎｔｉｃｋ以下であるか否かを判別する。ここで“ＹＥＳ”であればステップＳ２５に戻り、“ＮＯ”であればステップＳ３５に進む。
【０１２８】
図１７を参照して、ステップＳ３５では変数ｎに“１”をセットする。ここでの変数ｎはアクセントの番号を示す。ステップＳ３７では変数ｔが“ｔｖ＋ｓｃａｌｅ×Ｔ（ｎ）”を跨いだか否かを判別し、ここで“ＮＯ”であれば直ちにステップＳ４５に進む。ステップＳ３７で”ＹＥＳ”であれば、当該ｎ番目のアクセントに関してステップＳ３９〜Ｓ４３の処理を実行した後、ステップＳ４５に進む。ステップＳ３９ではアクセント音の再生を行い、ステップＳ４１ではアクセントマーク（ＡＰｎ）のアニメーションを開始し、ステップＳ４３では英文ＥＳ，カナ文ＫＳおよびガイドバーＧＢ１，ＧＢ２，…の表示色を“０〜（ｎ−１）”の部分は黒に、“ｎ”の部分は赤にする。アクセントマーク（ＡＰ１，ＡＰ２，…）のアニメーションは、図１１（Ａ）〜図１１（Ｅ）に示す要領で進行する。英文ＥＳ，カナ文ＫＳおよびガイドバーＧＢ１〜ＧＢ３の表示色は、図９（Ａ）〜図９（Ｃ）に示す要領で変化する。
【０１２９】
ステップＳ４５では変数ｎをインクリメントし、次のステップＳ４７では変数ｎが定数Ｎ以下であるか否かを判別する。ここで“ＹＥＳ”であればステップＳ３７に戻り、“ＮＯ”であればステップＳ４９に進む。
【０１３０】
図１８を参照して、ステップＳ４９では変数ｔが変数ｔｖを跨いだか否かを判別し、“ＮＯ”であれば直ちにステップＳ５７に進む。ステップＳ４９で“ＹＥＳ”であれば、変数ｓｔｅｐが定数ＳＴＥＰに達したか否かをステップＳ５１でさらに判別する。ｓｔｅｐ＝ＳＴＥＰであれば、ステップＳ５３で録音処理を開始した後、ステップＳ５７に進む。ｓｔｅｐ＜ＳＴＥＰであれば、ステップＳ５５で、変数ｓｔｅｐから音量を算出し、変数ｖｓｃａｌｅを当該音量で再生開始する。なお、音量の算出には、ｎ＝１のとき最大値をとり、ｎの増加に連れて値が減少し、そして“ｎ＝Ｎのとき０”または“ｎ＝Ｎ−１のとき最小値”となるような関数（もしくはこのような算出結果を記載したテーブル）が用いられる。そしてステップＳ５７に進む。
【０１３１】
ステップＳ５７では、変数ｔが変数ｔｖに｛変数ｖｓｃａｌｅの再生時間｝を加算した値以上であるか否かを判別し、“ＮＯ”であればステップＳ５９で、一定時間待機した後、変数ｔの値を更新する（ｔ＝ｔ＋待機時間）。そして、ステップＳ１５に戻る。ステップＳ５７で“ＹＥＳ”であれば、変数ｓｔｅｐが定数ＳＴＥＰに達したか否かをステップＳ５９で再び判別する。ステップＳ５９で“ＮＯ”であれば、ステップＳ６３で変数ｓｔｅｐをインクリメントした後、ステップＳ１１に戻る。ステップＳ５９で“ＹＥＳ”であれば、ステップＳ６１で録音を停止した後、ステップＳ７３に進む。
【０１３２】
図１９を参照して、ステップＳ７３では、変数ｖｓｃａｌｅと録音エリア８６の録音データ（ユーザ発音）とを主としてアクセントの位置におけるレベルで比較して、両者の類似度を示す評価スコアを算出する。すなわち、ステップＳ７３では、最適なリズムで発音したかどうかを示すスコアを算出する。算出結果は、変数ｓｃｏｒｅにセットされる。ステップＳ７５では、再生画面（つまり英文ＥＳ，変数ｖｓｃａｌｅの波形ＷＰ１，および録音データの波形ＷＰ２：図１１参照）の描画エリア８４への描画と、変数ｖｓｃａｌｅの再生と、録音データの再生とを開始する。ステップＳ７７では、変数ｔに“０”をセットし、ステップＳ７９では現時点位置ポインタＰを変数ｔに対応する位置へと移動させる。ステップＳ８１では、変数ｔが｛変数ｖｓｃａｌｅの再生時間｝以上であるか否かを判別し、“ＮＯ”であればステップＳ８３で、一定時間待機した後、変数ｔの値を更新する（ｔ＝ｔ＋待機時間）。そして、ステップＳ７９に戻る。
【０１３３】
ステップＳ８１で“ＹＥＳ”であれば、ステップＳ８５で変数ｓｃｏｒｅの値を描画する。ステップＳ８７では聴き直し操作の有無を判別し、”ＹＥＳ”であればステップＳ７５に戻る。ステップＳ８７で“ＮＯ”であれば、終了操作の有無をステップＳ８９でさらに判別し、ここでも“ＮＯ”であればステップＳ８７に戻る。ステップＳ８９で“ＹＥＳ”であれば、この問題（問題１）に関する語学学習処理は終了となり、次の問題（問題２）について同様の処理が実行される。
【０１３４】
以上から明らかなように、この実施例のゲーム装置１０は、ＣＰＵ４２およびメインメモリ４８を備える。メインメモリ４８は、語学学習の対象となる原文ＥＳの内容を示す原文内容情報（原文文字情報７８１ａおよび原文音声情報７８１ｄ）と、原文に関しアクセントの時間軸上での位置を示すアクセント位置情報７８１ｃとを記憶しており（図１３参照）、ＣＰＵ４２は、原文ＥＳの内容を原文内容情報（７８１ａ，７８１ｄ）に基づいて報知（文字を表示または音声を再生）する（Ｓ５５，Ｓ１０５）。また、このような報知を行っているときに、原文ＥＳに関しアクセントの時間軸上での位置をユーザに報知するためのアクセント画像（つまり時間軸を示すガイドＧおよびアクセント位置を示すアクセントマークＡＰ１，ＡＰ２，…）を、アクセント位置情報７８１ｃに基づいてＬＣＤ１４に表示する（Ｓ１１１）。
【０１３５】
こうして、原文ＥＳの内容を報知しながら、原文ＥＳのアクセント（ＡＰ１，ＡＰ２，…）の時間軸（Ｇ）上での位置を視覚的に示すことで、ユーザは、アクセントを発音すべきタイミングと、アクセントで区切られた各区間の時間長とがわかるので、原文の自然な発音を身につけることができる。
【０１３６】
なお、チック音やアクセント音の再生、チックマークやアクセントマークのアニメーション、ガイドバーの表示といった処理は、この実施例では、現在時刻（変数ｔ）がある値を跨いだか否かを判定して開始しているが、他の実施例では、処理を開始するフレーム（の番号）を予め計算しておいて、現フレームがそのフレームになったか否かを判定して開始してもよい。
【０１３７】
なお、この実施例では、原文ＥＳの言語は英語であるが、ドイツ語，フランス語，中国語など他の外国語についても、自然な発音を身につけさせることができる。原文ＥＳを日本語とし、カナ文ＫＳを外国語で表記すれば、日本語の学習も行える。
【０１３８】
次に、上述のステップＳ７３における評価スコア（ｓｃｏｒｅ）の算出方法、すなわちユーザの発音についての評価方法について説明する。この実施例では、３つの評価方法（評価処理）についての各評価値（ｓｃｏｒｅＡ，ｓｃｏｒｅＢ，ｓｃｏｒｅＣ）を用いて算出した仮の評価値に対して減点処理を行って、上述した評価スコア（ｓｃｏｒｅ）を求める。以下、３つの評価処理および減点処理について順に具体的に説明することにする。
【０１３９】
最初に、局所解スコア（ｓｃｏｒｅＡ）の算出方法について説明する。この局所解スコアの算出方法では、まず、原文ＥＳの音声の波形とユーザの音声の波形との絶対値のエンベロープが取られる。ただし、この実施例では、２５６サンプル内での絶対値の最大値が計算されることにより、音声の波形（音声信号）のエンベロープが取られる。つまり、サンプリング周波数は３２ｋHzであり、８ｍｓ毎の絶対値の最大値が求められているのである。
【０１４０】
原文ＥＳの音声の波形とユーザの音声の波形とのエンベロープが取られると、各音声の音量が揃えられる。この実施例では、ユーザの音声の音量が、原文ＥＳの音声の音量に揃えられる。具体的には、各エンベロープについて平均値が算出される。つまり、各音声の音量の平均値が求められる。そして、原文ＥＳの音声の音量についての平均値に対するユーザの音声の音量についての平均値の割合が求められる。そして、ユーザの音声のエンベロープに対して、算出した割合の逆数が掛算される。したがって、各エンベロープについての平均値すなわち各音声の音量が揃えられる。
【０１４１】
次に、図２１（Ａ）に示すように、各音声の音量が基準値（この実施例では、平均値）を超えるときに、音量のエンベロープと基準値とが交差する点を局所的な解（局所解）として抽出する。この実施例では、局所解が時系列に従って並ぶようにリストアップされる。つまり、先頭の（時間的に早い）サンプルから最後尾のサンプルまでの間において、抽出された局所解の点がプロットされる。これによって、原文ＥＳの音声の音量についての局所解のリスト（以下、「原文局所解リスト」という）と、ユーザの音声の音量についての局所解のリスト（以下、「ユーザ局所解リスト」という）とが生成される。
【０１４２】
ただし、音声の音量が基準値を超えている期間が一定期間（この実施例では、６サンプル）に満たない場合には（図２１（Ａ）の例では「×」で示す）、局所解として抽出しないようにしてある。これは、ノイズによる影響を除去するためである。
【０１４３】
図２１（Ｂ）は、原文局所解リストとユーザ局所解リストとの例を示す図解図である。この図２１（Ｂ）から分かるように、原文局所解リストには、４つの局所解（ａ１，ａ２，ａ３，ａ４）が含まれる。一方、ユーザ局所解リストには、３つの局所解（ｂ１，ｂ２，ｂ３）が含まれる。図２１（Ｂ）からも分かるように、原文局所解リストでは、局所解を丸印で示し、ユーザ局所解リストでは、局所解を四角印で示してある。
【０１４４】
この局所解スコアの算出方法では、ユーザが原文ＥＳの音声よりも早いタイミングや遅いタイミングで発音する場合があるため、このような場合であっても、局所解の時間間隔（サンプルの間隔）が一致ないしほぼ一致すれば、原文ＥＳの発音に対するユーザの発音の類似度を高くするために、その評価（局所解スコア）を高くするようにしてある。このため、単に、原文局所解リストとユーザ局所解リストとを比較して、局所解スコアを算出するのではなく、その比較結果と、ユーザ局所解リストを前後に（左右に）１サンプルずつずらして比較したそれぞれの比較結果とに基づいて、局所解スコアを算出するようにしてある。ただし、この実施例では、ユーザ局所解リストをずらす量は、最大で１０サンプル分である。したがって、この実施例では、２１個の比較結果が得られ、そのうち、原文局所解リストに最も近い（一致を含む）ユーザ局所解リストが選択され、選択されたユーザ局所解リストについての比較結果に基づいて局所解スコアが算出される。
【０１４５】
ただし、図２１（Ｂ）からも分かるように、局所解の総数が原文局所解リストとユーザ局所解リストとで異なる場合には、局所解の総数を揃えて、先頭の局所解から順に、対応する局所解同士のサンプル数のずれ（差分）を検出するようにしてある。ただし、差分は絶対値である。以下、同じ。また、局所解の総数は、その数が小さい方のリストに合わせるようにしてある。ただし、削除する局所解は、次のようにして決定（選択）される。まず、削除の候補となる局所解をリストから削除した状態で、原文局所解リストとユーザ局所解リストとの対応する局所解同士のサンプル数の差分の合計値を算出する。この処理を、削除の候補となる局所解を順次選択して行う。そして、差分の合計値が最小となる場合の削除の候補となる局所解を、削除する局所解として決定する。ただし、削除する局所解は、ユーザ局所解リストを１サンプルずらす度に決定される。
【０１４６】
たとえば、図２１（Ｂ）に示す例では、原文局所解リスト｛ａ１，ａ２，ａ３，ａ４｝のうちの｛ａ１，ａ２，ａ３｝とユーザ局所解リスト｛ｂ１，ｂ２，ｂ３｝との対応する局所解同士の差分の合計値よりも、原文局所解リスト｛ａ１，ａ２，ａ３，ａ４｝のうちの｛ａ１，ａ３，ａ４｝を用いた場合の方が、局所解同士の差分の合計値が小さい。ただし、前者では、局所解ａ１と局所解ｂ１とのサンプル数の差分、局所解ａ２と局所解ｂ２とのサンプル数の差分、局所解ａ３と局所解ｂ３とのサンプル数の差分がそれぞれ算出され、その合計値が求められる。また、後者では、局所解ａ１と局所解ｂ１とのサンプル数の差分、局所解ａ３と局所解ｂ２とのサンプル数の差分、局所解ａ４と局所解ｂ３とのサンプル数の差分がそれぞれ算出され、その合計値が求められる。以下、同様である。
【０１４７】
ここで、図２２（Ａ）には、ユーザ局所解リストを右に（時間を遅らせる方向に）或るサンプル数（１〜１０サンプルの間）だけずらした例が示され、図２２（Ｂ）には、ユーザ局解リストを左に（時間を早める方向に）或るサンプル数（１〜１０サンプルの間）だけずらした例が示される。
【０１４８】
図２２（Ａ）に示す場合には、原文局所解リスト｛ａ１，a２，ａ３，ａ４｝から局所解ａ２を削除して、原文ＥＳの音声についての局所解｛ａ１，ａ３，ａ４｝とユーザの音声についての局所解｛ｂ１，ｂ２，ｂ３｝との組み合わせを用いると、対応する局所解同士の差分の合計値が最も小さい。
【０１４９】
また、図２２（Ｂ）に示す場合には、原文局所解リスト｛ａ１，a２，ａ３，ａ４｝から局所解ａ４を削除して、原文ＥＳの音声についての局所解｛ａ１，ａ２，ａ３｝とユーザの音声についての局所解｛ｂ１，ｂ２，ｂ３｝との組み合わせを用いると、対応する局所解同士の差分の合計値が最も小さい。
【０１５０】
局所解スコアは、上述したように、原文局所解リストとユーザ局所解リストとの対応する局所解同士の差分の合計値を求めるとともに、右方向と左方向とに１サンプルずつずらした場合（最大１０サンプル）のそれぞれについての対応する局所解同士の差分の合計値を求めて、全２１個の差分の合計値のうち、最も小さい差分の合計値に基づいて算出される。局所解スコアの具体的な算出方法については、後で詳細に説明するが、差分の合計値が小さいほど、局所解の分布（音量が基準値を超えるタイミングの分布）が類似するため、局所解スコアが大きくなるようにしてある。ただし、局所解スコアは０〜１００の間で決定される。
【０１５１】
次に、平均値基準スコア（ｓｃｏｒｅＢ）の算出方法について説明する。原文ＥＳの音声の音量のエンベロープを取得し、ユーザの音声の音量のエンベロープを取得し、ユーザの音声の音量を原文ＥＳの音声の音量に揃えるまでは、上述した局所解スコアの算出方法と同じである。
【０１５２】
次に、各エンベロープについて、図２３（Ａ）に示すように、平均値を所定倍（この実施例では、０．６倍）した値を基準値として、図２３（Ｂ）に示すように、エンベロープが示す音量が基準値以上である（高レベル）か、基準値未満である（低レベル）かを判定（２値化）し、図２４（Ａ）および図２４（Ｂ）に示すようなリスト（２値化リスト）を作成する。ここで、平均値の０．６倍を基準値として設定するのは、ノイズの影響を受けずに、適切にエンベロープが示す音量のレベルを判定するためであり、経験的に得られた値である。
【０１５３】
具体的には、先頭から最後尾までの各サンプルについて、対応するエンベロープが示す音量が基準値以上であるかどうかが判定される。この実施例では、図２３（Ａ），図２３（Ｂ），図２４（Ａ）および図２４（Ｂ）に示すように、高レベルと判定されたサンプルに「１」が記述され、低レベルと判定されたサンプルに「０」が記述される。
【０１５４】
なお、図２４（Ａ）および図２４（Ｂ）では、説明の都合上、インデックス番号を付してあるが、実際には、高低の値のみが先頭から（時間的に古い方から）順番に並んでいるだけである。
【０１５５】
原文ＥＳの音声の音量についての２値化リスト（原文２値化リスト）と、ユーザの音声の音量についての２値化リスト（ユーザ２値化リスト）とが作成されると、その類似度が判断される。この実施例では、局所解スコアの場合と同様に、原文ＥＳよりも早いタイミングで発音する場合であったり、原文ＥＳよりも遅いタイミングで発音する場合であったりしても、２値化リストの変化が類似している（一致を含む）場合には、平均値基準スコアを高くするようにしてある。このため、２つの２値化リストをそのまま比較する場合と、ユーザ２値化リストを、右方向および左方向に１サンプルずつずらして比較する場合（最大１０サンプル）のそれぞれとについての２１個の比較結果のうち、最も類似する場合についての平均値基準スコアを求めるようにしてある。
【０１５６】
ただし、原文ＥＳの長さに応じて原文２値化リストにおけるサンプルの総数は異なる。また、原文２値化リストのサンプルの総数と、ユーザ２値化リストのサンプルの総数とが異なる場合には、原文２値化リストのサンプルの総数とユーザ２値化リストのサンプルの総数のうち、サンプルの総数が少ない方に揃えられる。したがって、ユーザ２値化リストのサンプルの総数が原文２値化リストのサンプルの総数よりも少ない場合には、原文２値化リストのサンプルの総数から多い分だけサンプルが削除される。一方、ユーザ２値化リストのサンプルの総数が原文２値化リストのサンプルの総数よりも多い場合には、ユーザ２値化リストのサンプルの総数から多い分だけサンプルが削除される。サンプルを削除する方法は、局所解スコアの算出方法と同様であり、比較結果が最も類似するように、サンプルの組が検索される。
【０１５７】
具体的には、各２値化リストの先頭の（時間的に早い）サンプルから順に、対応するサンプル同士の値が一致するか一致しないかを判断する。一致する場合には、正解と判定され、一致しない（不一致の）場合には、不正解と判定される。そして、比較した総数に対する正解数の割合（ここでは、百分率）が算出される。
【０１５８】
たとえば、図２４（Ａ）および図２４（Ｂ）では、ユーザ２値化リストをずらさない場合には、同じインデックス番号の高低の値が比較される。ただし、２値化リストの総数が揃えられた場合には、ｍ＝ｎである。また、ユーザ２値化リストを左に１サンプルずらす場合には、原文２値化リストのインデックス番号１の高低の値と、ユーザ２値化リストのインデックス番号２の高低の値とが比較される。つまり、かかる場合には、原文２値化リストのインデックス番号１〜ｍ−１の高低の値と、ユーザ２値化リストのインデックス番号２〜ｎの高低の値とが、インデックス番号の小さい順に比較されるのである。一方、ユーザ２値化リストを右に１サンプルずらす場合には、原文２値化リストのインデックス番号２の高低の値と、ユーザ２値化リストのインデックス番号１の高低の値とが比較される。つまり、かかる場合には、原文２値化リストのインデックス番号２〜ｍの高低の値と、ユーザ２値化リストのインデックス番号１〜ｎ−１の高低の値とが、インデックス番号の小さい順に比較されるのである。このようにして、ユーザ２値化リストは、左右の方向に１サンプルずつ最大１０サンプルまでずらされる。また、ユーザ２値化リストを１サンプルずらすに従って、比較総数が１つずつ少なくなる。
【０１５９】
そして、平均値基準スコアは、２１個の比較結果のうち、比較総数に対する正解数の割合が最も高い場合の比較結果に基づいて算出される。平均値基準スコアの具体的な算出方法については、後で詳細に説明するが、正解数が多いほど、つまり割合が高いほど、エンベロープの波形の凹凸のタイミングが類似するため、平均値基準スコアが大きくなるようにしてある。ただし、平均値基準スコア（ｓｃｏｒｅＢ）は０〜１００の間で決定される。
【０１６０】
続いて、分散値スコア（ｓｃｏｒｅＣ）の算出方法について説明する。原文ＥＳの音声の音量のエンベロープを取得し、ユーザの音声の音量のエンベロープを取得し、ユーザの音声の音量を原文ＥＳの音声の音量に揃えるまでは、上述の局所解スコアの算出方法や平均値基準スコアの算出方法と同じである。
【０１６１】
分散値スコアを算出する場合には、まず、原文ＥＳの音声のエンベロープについての分散値σＡおよびユーザの音声のエンベロープについての分散値σＢがそれぞれ算出される。この分散値（σＡ，σＢ）の算出方法はすでに周知であるため、説明は省略することにする。後で詳細に説明するが、各エンベロープについての分散値（σＡ，σＢ）を算出すると、その差分の絶対値に基づいて、分散値スコアが算出される。差分の絶対値が小さいほど、エンベロープの凹凸の分散具合が類似するため、分散値スコアが大きくなるようにしてある。ただし、分散値スコア（ｓｃｏｒｅＣ）は、０〜１００の間で決定される。
【０１６２】
このように、分散値（σＡ，σＢ）を算出するのは、図２５（Ａ）に示すように、分散値が大きい場合と、図２５（Ｂ）に示すように、分散値が小さい場合とでは、音声の音量の変化が全く異なるにも拘わらず、音量の平均値や局所解がたまたま一致することにより、ユーザの発音が原文ＥＳの発音に類似すると判定されてしまうことがあるからである。たとえば、「あ」，「あ」，「あ」と短音で区切って発音した場合と、「あー」と長音で発音した場合とでは、全く異なる発音であるが、全体としての音の長さや音量が同じまたは略同じであれば、音量の平均値や音量が高くなる位置（アクセントの位置）が一致してしまう。このような違いを適切に評価するため、分散値を算出するようにしてある。
【０１６３】
以上のように、局所解スコア、平均値基準スコアおよび分散値スコアが算出されると、それらの平均値を算出することにより、仮の評価スコア（ｓｃｏｒｅ）が算出される。ただし、この実施例では、サンプルの総数に応じて、局所解スコア、平均値基準スコアおよび分散値スコアの重要度（重み）を可変的に設定するようにしてある。これは、原文ＥＳの音声の長さに応じて、重要視される要素が異なるためである。たとえば、原文ＥＳの音声が長い場合には、エンベロープが全体的に凹凸の数の多い波形となり、検出される局所解が多いと考えられるため、局所解スコアの重要度が高くされる。逆に、原文ＥＳの音声が短い場合には、エンベロープは全体的に凹凸の少ない波形となり、検出される局所解の数が少ないと考えられる。このため、局所解スコアの重要度が低く、エンベロープの波形の凹凸のタイミングについての平均値基準スコアの重要度を高くしてある。これは、原文ＥＳの音声が長い場合には、平均値基準スコアが低くなりがちだからでもある。ただし、分散値スコアについては、エンベロープの凹凸の分散だけを判定しているため、原文ＥＳの長さに拘わらず重要度は一定である。
【０１６４】
具体的には、サンプルの総数が１５０未満である場合には、つまり比較的短い原文ＥＳである場合には、局所解スコア、平均値基準スコアおよび分散値スコアの重みは、１：４：１に設定される。また、サンプルの総数が２００以上である場合には、つまり比較的長い原文ＥＳである場合には、局所解スコア、平均値基準スコアおよび分散値スコアの重みは、３：２：１に設定される。さらに、サンプルの総数が１５０以上２００未満の場合には、つまり原文ＥＳの長さが中くらいの場合には、局所解スコア、平均値基準スコアおよび分散値スコアの重みは、２：３：１に設定される。
【０１６５】
仮の評価スコアが算出されると、減点処理が施され、最終的な評価スコア（ｓｃｏｒｅ）が決定される。この実施例では、次の順番に従って減点処理が実行される。まず、局所解スコアに基づく減点処理が実行される。これは、上述したように、原文ＥＳが長い場合には、局所解スコアの重みを大きくしており、かかる場合に、局所解スコアの値があまりに低いと、評価スコアを高くするのは不適切だからである。次に、分散値スコアに基づいて減点処理が施される。これは、原文ＥＳが長い場合に、あまりに分散値が異なる場合には、適当に発音していると思われるため、かかる場合に、評価スコアを高くするのは不適切だからである。また、原文ＥＳが長くない場合には、分散値スコアが評価スコアに与える影響が大きいため、分散値スコアが低い場合であっても、減点処理を行わないようにしている。そして、平均値基準スコアに基づいて減点処理が施される。これは、平均値基準スコアが極端に悪い場合には、ユーザが発音を途中で止めていると思われるため、かかる場合に、評価スコアを高くするのは不適切だからである。この時点で、評価スコアが０未満または１００以上（ただし、理論上、１００以上にはならない）になってしまっている場合には、評価スコアが０〜１００の間になるように丸め込まれる。
【０１６６】
次に、音量平均スコア（ｓｃｏｒｅＤ）が算出され、この音量平均スコアに応じて、減点処理が実行される。これは、音量があまりに異なる場合には、適切な発音とは言えず、かかる場合に、評価スコアを高くするのは不適切だからである。ただし、音量平均スコアは、各エンベロープについて平均値を求め、求めた両平均値のうちの大きい値に対する小さい値の割合（この実施例では、百分率）で決定される。
【０１６７】
具体的には、図５に示したＣＰＵ４２が図２６に示す評価処理のフロー図を実行する。図２６に示すように、ＣＰＵ４２は、評価処理を開始すると、ステップＳ１３１で、原文ＥＳの音声についてのエンベロープを取り、ステップＳ１３３で、ユーザの音声についてのエンベロープを取り、ステップＳ１３５で、各エンベロープの平均値を算出する。次のステップＳ１３７では、ユーザの音声の音量を原文ＥＳの音声の音量に揃える。ここでは、ＣＰＵ４２は、ステップＳ１３５で算出した各エンベロープの平均値を用いて、原文ＥＳの音声の音量に対するユーザの音声の音量の倍率を求めて、その倍率の逆数をユーザの音声についてのエンベロープの全体に掛ける。
【０１６８】
なお、図１２では省略したが、ステップＳ１３５で算出した各エンベロープの平均値のデータおよびステップＳ１３７で音量を揃えた各エンベロープの波形のデータ（波形データ）はメインメモリ４８のデータエリア４８ｂに記憶される。
【０１６９】
次のステップＳ１３９では、後述する局所解スコア算出処理（図２７および図２８参照）を実行する。つまり、ＣＰＵ４２は、局所解スコア（ｓｃｏｒｅＡ）を算出する。続くステップＳ１４１では、後述する平均値基準スコア算出処理（図３１および図３２）を実行する。つまり、ＣＰＵ４２は、平均値基準スコア（ｓｃｏｒｅＢ）を算出する。続いて、ステップＳ１４３では、後述する分散値スコア算出処理（図３４参照）を実行する。つまり、ＣＰＵ４２は、分散値スコア（ｓｃｏｒｅＣ）を算出する。
【０１７０】
そして、ステップＳ１４５で、後述する最終スコア算出処理（図３５−図３７）を実行して、図１５−図１９に示した語学学習処理にリターンし、その後、ステップＳ８５で、変数ｓｃｏｒｅの値を描画する。つまり、ＣＰＵ４２は、Ｓ１４５では、ステップＳ１３９，Ｓ１４１，Ｓ１４３で算出した３つの評価値（ｓｃｏｒｅＡ，ｓｃｏｒｅＢ，ｓｃｏｒｅＣ）を用いて仮の評価スコア（ｓｃｏｒｅ）を算出し、減点処理を施すことにより、最終的な評価スコア（ｓｃｏｒｅ）を算出する。
【０１７１】
図２７および図２８は、図２６に示したステップＳ１３９の局所解スコア算出処理のフロー図である。図２７に示すように、局所解スコア算出処理を開始すると、ステップＳ１６１で、音量を揃えたエンベロープの平均値を基準値として設定する。ここでは、ＣＰＵ４２は、上述したように、ステップＳ１３５で算出したエンベロープの平均値を基準値として設定する。次のステップＳ１６３では、原文ＥＳの音声のエンベロープについての局所解を求める。同様に、ステップＳ１６５で、ユーザの音声のエンベロープについての局所解を求める。局所解の求め方は、上述したとおりである。
【０１７２】
続くステップＳ１６７では、変数ｊおよび変数ｓｃｏｒｅＡを初期化する（ｊ＝０，ｓｃｏｒｅＡ＝０）。続くステップＳ１６９では、後述する第１スコア算出処理（図２９および図３０参照）を実行する。詳細な説明は後述するが、第１スコア算出処理は、局所解スコア（ｓｃｏｒｅＡ）の候補となる第１スコア（ｓｃｏｒｅＸ）を算出するための処理である。次のステップＳ１７１では、変数ｓｃｏｒｅＡが変数ｓｃｏｒｅＸ未満であるかどうかを判断する。ステップＳ１７１で“ＮＯ”であれば、つまり変数ｓｃｏｒｅＡが変数ｓｃｏｒｅＸ以上であれば、そのままステップＳ１７５に進む。一方、ステップＳ１７１で“ＹＥＳ”であれば、つまり変数ｓｃｏｒｅＡが変数ｓｃｏｒｅＸ未満であれば、ステップＳ１７３で、変数ｓｃｏｒｅＡに変数ｓｃｏｒｅＸの値を代入して、ステップＳ１７５に進む。
【０１７３】
ステップＳ１７５では、変数ｊを１加算する（ｊ＝ｊ＋１）。次のステップＳ１７７では、変数ｊが１０を超えているかどうかを判断する。ステップＳ１７７で“ＹＥＳ”であれば、つまり変数ｊが１０を超えていれば、ユーザ局所解リストを右方向に１０サンプル分ずらしたと判断して、図２８に示すステップＳ１８１に進む。一方、ステップＳ１７７で“ＮＯ”であれば、つまり変数ｊが１０以下であれば、ステップＳ１７９で、ユーザ局所解リストをｊサンプル右にずらして、ステップＳ１６９に戻る。つまり、ステップＳ１６９−Ｓ１７９の処理が繰り返し実行されることにより、ユーザ局所解リストを右方向に１サンプルずつずらした場合の第１スコア（ｓｃｏｒｅＸ）がそれぞれ算出され、そのうちの最大値が変数ｓｃｏｒｅＡに設定されるのである。ただし、ステップＳ１６９−Ｓ１７９の処理が初回である場合には、ユーザ局所解リストがずらされていない状態の第１スコア（ｓｃｏｒｅＸ）が算出される。
【０１７４】
図２８に示すように、ステップＳ１８１では、変数ｊに１を設定する（ｊ＝１）。次のステップＳ１８３では、ユーザ局所解リストをｊサンプル分左にずらして、ステップＳ１８５で、後述する第１スコア算出処理を実行する。次のステップＳ１８７では、変数ｓｃｏｒｅＡが変数ｓｃｏｒｅＸ未満であるかどうかを判断する。
【０１７５】
ステップＳ１８７で“ＮＯ”であれば、つまり変数ｓｃｏｒｅＡが変数ｓｃｏｒｅＸ以上であれば、そのままステップＳ１９１に進む。一方、ステップＳ１８７で“ＹＥＳ”であれば、つまり変数ｓｃｏｒｅＡが変数ｓｃｏｒｅＸ未満であれば、ステップＳ１８９で、変数ｓｃｏｒｅＡに変数ｓｃｏｒｅＸを設定して、ステップＳ１９１に進む。
【０１７６】
ステップＳ１９１では、変数ｊに１加算する（ｊ＝ｊ＋１）。そして、ステップＳ１９３では、変数ｊが１０を超えているかどうかを判断する。ステップＳ１９３で“ＹＥＳ”であれば、つまり変数ｊが１０を超えている場合には、ユーザ局所解リストを左方向に１０サンプル分ずらしたと判断して、図２６に示した評価処理にリターンする。一方、ステップＳ１９３で“ＮＯ”であれば、つまり変数ｊが１０以下であれば、そのままステップＳ１８３に戻る。つまり、ステップＳ１８３−Ｓ１９３の処理が繰り返し実行されることにより、ユーザ局所解リストを左方向に１サンプルずつずらした場合の第１スコア（ｓｃｏｒｅＸ）がそれぞれ算出され、そのうちの最大値が変数ｓｃｏｒｅＡに設定されるのである。
【０１７７】
ただし、変数ｓｃｏｒｅＡは、それよりも大きい変数ｓｃｏｒｅＸで更新されるため、ユーザ局所解リストをずらしていない場合と、そのユーザ局所解リストを右方向および左方向に１サンプルずつずらした場合（最大１０サンプル）とのそれぞれについて第１スコア算出処理が実行された結果、すなわち２１個についての第１スコア（ｓｃｏｒｅＸ）のうちの最大値が変数ｓｃｏｒｅＡに設定されるのである。
【０１７８】
図２９および図３０は、図２７のステップＳ１６９および図２８のステップＳ１８５に示した第１スコア処理のフロー図である。図２９に示すように、ＣＰＵ４２は、第１スコア処理を開始すると、ステップＳ２１１で、２つの局所解リストの差分の合計値が最小となる場合の組み合わせを検索する。ただし、原文局所解リストにおける局所解の総数と、ユーザ局所解リストにおける局所解の総数とが同じである場合には、このステップＳ２１１では、何ら処理は実行されずに、そのままステップＳ２１３に進む。
【０１７９】
次のステップＳ２１３では、変数ｉおよび変数ｓｃｏｒｅＸを初期化する（ｉ＝１，ｓｃｏｒｅＸ＝０）とともに、変数ａｃｃｅｎｔＮｕｍに局所解の総数を設定する。ただし、ここで設定される局所解の総数は、原文局所解リストにおける局所解の総数またはユーザ局所解リストにおける局所解の総数のうちの少ない方である。続いて、ステップＳ２１５では、変数ｖａｌｕｅにサンプル数の差分ｌｉｓｔ［ｉ］を設定する。つまり、初回では、原文局所解リストの１番目の局所解のサンプル数と、ユーザ局所解リストの１番目の局所解のサンプル数との差分ｌｉｓｔ［１］が算出され、これが変数ｖａｌｕｅに設定される。ただし、２つの局所解リストは、ステップＳ２１１で検索された、差分の合計値が最小となる場合の組み合わせである。
【０１８０】
次のステップＳ２１７では、変数ｖａｌｕｅが３未満であるかどうかを判断する。ステップＳ２１７で“ＹＥＳ”であれば、つまり変数ｖａｌｕｅが３未満であれば、ステップＳ２１９で、変数ｓｃｏｒｅＸに、ｓｃｏｒｅＸ＋１２４−ｖａｌｕｅ×１０を設定して、図３０に示すステップＳ２３５に進む。一方、ステップＳ２１７で“ＮＯ”であれば、つまり変数ｖａｌｕｅが３以上であれば、ステップＳ２２１で、変数ｖａｌｕｅが６未満であるかどうかを判断する。
【０１８１】
ステップＳ２２１で“ＹＥＳ”であれば、つまり変数ｖａｌｕｅが６未満であれば、ステップＳ２２３で、変数ｓｃｏｒｅＸに、ｓｃｏｒｅＸ＋１０４−（ｖａｌｕｅ−３）×１０を設定して、ステップＳ２３５に進む。一方、ステップＳ２２１で“ＮＯ”であれば、つまり変数ｖａｌｕｅが６以上であれば、ステップＳ２２５で、変数ｖａｌｕｅが１０未満であるかどうかを判断する。
【０１８２】
ステップＳ２２５で“ＹＥＳ”であれば、つまり変数ｖａｌｕｅが１０未満であれば、ステップＳ２２７で、変数ｓｃｏｒｅＸに、ｓｃｏｒｅＸ＋７４−（ｖａｌｕｅ−６）×５を設定して、ステップＳ２３５に進む。一方、ステップＳ２２５で“ＮＯ”であれば、つまり変数ｖａｌｕｅが１０以上であれば、ステップＳ２２９で、変数ｖａｌｕｅが１５未満であるかどうかを判断する。
【０１８３】
ステップＳ２２９で“ＹＥＳ”であれば、つまり変数ｖａｌｕｅが１５未満であれば、ステップＳ２３１で、変数ｓｃｏｒｅＸに、ｓｃｏｒｅＸ＋５４−（ｖａｌｕｅ−１０）×２を設定して、ステップＳ２３５に進む。一方、ステップＳ２２９で“ＮＯ”であれば、つまり変数ｖａｌｕｅが１５以上であれば、ステップＳ２３３で、変数ｓｃｏｒｅＸに、ｓｃｏｒｅＸ＋６４−ｖａｌｕｅ−１５を設定して、ステップＳ２３５に進む。
【０１８４】
図３０に示すように、ステップＳ２３５では、変数ｉに１加算する（ｉ＝ｉ＋１）。そして、ステップＳ２３７では、変数ｉが局所解の総数ａｃｃｅｎｔＮｕｍを超えたかどうかを判断する。ここでは、ＣＰＵ４２は、ステップＳ２１１で検索した局所解リストに含まれるすべての局所解について、ステップＳ２１５−Ｓ２３３の処理を実行したかどうかを判断するのである。
【０１８５】
ステップＳ２３７で“ＮＯ”であれば、つまり変数ｉが局所解の総数ａｃｃｅｎｔＮｕｍ以下であれば、そのまま図２９に示したステップＳ２１５に戻る。一方、ステップＳ２３７で“ＹＥＳ”であれば、つまり変数ｉが局所解の総数ａｃｃｅｎｔＮｕｍを超えると、ステップＳ２３９で、変数ｓｃｏｒｅＸに、ｓｃｏｒｅＸ／ａｃｃｅｎｔＮｕｍを設定して、図２７および図２８に示した局所解スコア算出処理にリターンする。つまり、ステップＳ２３９では、局所解リストの各差分について求められた第１スコア（ｓｃｏｒｅＸ）の平均値を算出しているのである。
【０１８６】
図３１および図３２は、図２６に示したステップＳ１４１の平均値基準スコア算出処理のフロー図である。図３１に示すように、ＣＰＵ４２は、平均値基準スコア算出処理を開始すると、ステップＳ２５１で、エンベロープの平均値×０．６を基準値として設定する。ここでは、ＣＰＵ４２は、上述したように、ステップＳ１３５で算出したエンベロープの平均値を０．６倍した値を、基準値として設定する。次のステップＳ２５３では、原文ＥＳの音声のエンベロープを基準値に基づいて２値化する。つまり、図２４（Ａ）に示したような原文２値化リストが作成される。同様に、ステップＳ２５５では、ユーザの音声のエンベロープを基準値に基づいて２値化する。つまり、図２４（Ｂ）に示したようなユーザ２値化リストが作成される。次のステップＳ２５７では、変数ｍおよび変数ｓｃｏｒｅＢを初期化する（ｍ＝０，ｓｃｏｒｅＢ＝０）。
【０１８７】
続くステップＳ２５９では、後述する第２スコア算出処理（図３３参照）を実行する。詳細な説明は後述するが、第２スコア算出処理は、平均値基準スコア（ｓｃｏｒｅＢ）の候補となる第２スコア（ｓｃｏｒｅＹ）を算出するための処理である。次のステップＳ２６１では、変数ｓｃｏｒｅＢが変数ｓｃｏｒｅＹ未満であるかどうかを判断する。ステップＳ２６１で“ＮＯ”であれば、つまり変数ｓｃｏｒｅＢが変数ｓｃｏｒｅＹ以上であれば、そのままステップＳ２６５に進む。一方、ステップＳ２６１で“ＹＥＳ”であればつまり変数ｓｃｏｒｅＢが変数ｓｃｏｒｅＹ未満であれば、ステップＳ２６３で、変数ｓｃｏｒｅＢに変数ｓｃｏｒｅＹを設定して、ステップＳ２６５に進む。
【０１８８】
ステップＳ２６５では、変数ｍに１加算する（ｍ＝ｍ＋１）。そして、ステップＳ２６７では、変数ｍが１０を超えているかどうかを判断する。ステップＳ２６７で“ＹＥＳ”であれば、つまり変数ｍが１０を超えている場合には、ユーザ２値化リストを右方向に１０サンプル分ずらしたと判断して、図３２に示すステップＳ２７１に進む。一方、ステップＳ２６７で“ＮＯ”であれば、つまり変数ｍが１０以下であれば、ステップＳ２６９で、ユーザの２値化リストをｍサンプル右にずらして、ステップＳ２５９に戻る。つまり、ステップＳ２５９−Ｓ２６９の処理が繰り返し実行されることにより、ユーザ２値化リストを右方向に１サンプルずつずらした場合の第２スコア（ｓｃｏｒｅＹ）がそれぞれ算出され、そのうちの最大値が変数ｓｃｏｒｅＢに設定されるのである。ただし、ステップＳ２５９−Ｓ２６９の処理が初回である場合には、ユーザ２値化リストがずらされていない状態の第２スコア（ｓｃｏｒｅＹ）が算出される。
【０１８９】
図３２に示すように、ステップＳ２７１では、変数ｍに１を設定する（ｍ＝１）。次のステップＳ２７３では、ユーザ２値化リストをｍサンプル左にずらし、ステップＳ２７５で、後述する第２スコア算出処理を実行する。そして、ステップＳ２７７で、変数ｓｃｏｒｅＢが変数ｓｃｏｒｅＹ未満であるかどうかを判断する。ステップＳ２７７で“ＮＯ”であれば、つまり変数ｓｃｏｒｅＢが変数ｓｃｏｒｅＹ以上であれば、そのままステップＳ２８１に進む。一方、ステップＳ２７７で“ＹＥＳ”であれば、つまり変数ｓｃｏｒｅＢが変数ｓｃｏｒｅＹ未満であれば、ステップＳ２７９で、変数ｓｃｏｒｅＢに変数ｓｃｏｒｅＹを設定して、ステップＳ２８１に進む。
【０１９０】
ステップＳ２８１では、変数ｍに１加算する（ｍ＝ｍ＋１）。そして、ステップＳ２８３で、変数ｍが１０を超えているかどうかを判断する。ステップＳ２８３で“ＮＯ”であれば、つまり変数ｍが１０以下であれば、そのままステップＳ２７３に戻る。一方、ステップＳ２８３で“ＹＥＳ”であれば、つまり変数ｍが１０を超えている場合には、ユーザ２値化リストを左方向に１０サンプル分ずらしたと判断して、ステップＳ２８５で、変数ｓｃｏｒｅＢが１００を超えているかどうかを判断する。
【０１９１】
ステップＳ２８５で“ＮＯ”であれば、つまり変数ｓｃｏｒｅＢが１００以下であれば、そのまま図２６に示した評価処理にリターンする。一方、ステップＳ２８５で“ＹＥＳ”であれば、つまり変数ｓｃｏｒｅＢが１００を超えている場合には、ステップＳ２８７で、変数ｓｃｏｒｅＢに１００を設定して、評価処理にリターンする。つまり、ステップＳ２８５およびＳ２８７の処理によって、変数ｓｃｏｒｅＢが１００以下の値になるように補正しているのである。
【０１９２】
また、ステップＳ２７３−Ｓ２８３の処理が繰り返し実行されることにより、ユーザ２値化リストを左方向に１サンプルずつずらした場合の第２スコア（ｓｃｏｒｅＹ）がそれぞれ算出され、そのうちの最大値が変数ｓｃｏｒｅＢに設定されるのである。
【０１９３】
ただし、変数ｓｃｏｒｅＢは、それよりも大きい変数ｓｃｏｒｅＹで更新されるため、ユーザ２値化リストをずらしていない場合と、そのユーザ２値化リストを右方向および左方向に１サンプルずつずらした場合（最大１０サンプル）とのそれぞれについて第２スコア算出処理が実行された結果、すなわち２１個についての第２スコア（ｓｃｏｒｅＹ）のうちの最大値が変数ｓｃｏｒｅＢに設定されるのである。
【０１９４】
図３３は、図３１に示したステップＳ２５９および図３２に示したステップＳ２７５の第２スコア算出処理のフロー図である。図３３に示すように、ＣＰＵ４２は、第２スコア算出処理を開始すると、ステップＳ３０１で、変数ｓｃｏｒｅＹに初期値を設定する（ｓｃｏｒｅＹ＝０）。次のステップＳ３０３では、今回比較するサンプルの総数（比較サンプル総数）を、変数ｍａｘＮｕｍに設定する。続くステップＳ３０５では、正解数を変数ｒｉｇｈｔＮｕｍに設定する。そして、ステップＳ３０７で、変数ｓｃｏｒｅＹに、ｒｉｇｈｔＮｕｍ／ｍａｘＮｕｍ×１００を設定する。つまり、変数ｓｃｏｒｅＹが一旦算出される。
【０１９５】
なお、上述したように、比較サンプル総数は、ユーザ２値化リストをずらさない場合には、ユーザ２値化リストのサンプルの総数と原文２値化リストのサンプルの総数のうち少ない方のサンプルの総数であり、ユーザ２値化リストを１ずらす毎に、１つずつ少なくされる。また、正解数は、上述したように、原文２値化リストおよびユーザ２値化リストにおいて、比較するインデックス番号が示す高低の値が一致する数である。
【０１９６】
次のステップＳ３０９では、変数ｓｃｏｒｅＹが８０を超えているかどうかを判断する。ステップＳ３０９で“ＹＥＳ”であれば、つまり変数ｓｃｏｒｅＹが８０を超えている場合には、ステップＳ３１１で、変数ｓｃｏｒｅＹに、８５＋（ｓｃｏｒｅＹ−８０）×６を設定して、図３１および図３２に示した平均値基準スコア算出処理にリターンする。一方、ステップＳ３０９で“ＮＯ”であれば、つまり変数ｓｃｏｒｅＹが８０以下である場合には、ステップＳ３１３で、変数ｓｃｏｒｅＹが６０を超えているかどうかを判断する。
【０１９７】
ステップＳ３１３で“ＹＥＳ”であれば、つまり変数ｓｃｏｒｅＹが６０を超えている場合には、ステップＳ３１５で、変数ｓｃｏｒｅＹに、８５＋（ｓｃｏｒｅＹ−８０）×２を設定して、平均値基準スコア算出処理にリターンする。一方、ステップＳ３１３で“ＮＯ”であれば、つまり変数ｓｃｏｒｅＹが６０以下である場合には、ステップＳ３１７で、変数ｓｃｏｒｅＹに、４５＋（ｓｃｏｒｅＹ−６０）×４を設定して、平均値基準スコア算出処理にリターンする。
【０１９８】
図３４は、図２６に示したステップＳ１４３の分散値スコア算出処理のフロー図である。図３４に示すように、ＣＰＵ４２は、分散値スコア算出処理を開始すると、ステップＳ３３１で、原文ＥＳの音声のエンベロープの分散値σＡを算出し、ステップＳ３３３で、ユーザの音声のエンベロープの分散値σＢを算出する。ただし、ステップＳ３３３では、上述したように、ステップＳ１３７で、音量を揃えたユーザの音声のエンベロープの分散値σＢが算出される。
【０１９９】
次のステップＳ３３５では、変数ｓｃｏｒｅＣに、分散値σＡと分散値σＢとの差の絶対値を設定する（ｓｃｏｒｅＣ＝｜σＡ−σＢ｜）。そして、ステップＳ３３７で、変数ｓｃｏｒｅＣに、（４０００−ｓｃｏｒｅＣ）／５０＋４０を設定する。つまり、分散値スコア（ｓｃｏｒｅＣ）が算出される。そして、これ以降の処理によって、分散値スコア（ｓｃｏｒｅＣ）が０未満または１００を超えている場合に、０または１００に補正される。
【０２００】
具体的には、次のステップＳ３３９で、変数ｓｃｏｒｅＣが１００を超えているかどうかを判断する。ステップＳ３３９で“ＹＥＳ”であれば、つまり変数ｓｃｏｒｅＣが１００を超えている場合には、ステップＳ３４１で、変数ｓｃｏｒｅＣに１００を設定して、図２６に示した評価処理にリターンする。一方、ステップＳ３３９で“ＮＯ”であれば、つまり変数ｓｃｏｒｅＣが１００以下である場合には、ステップＳ３４３で、変数ｓｃｏｒｅＣが０未満であるかどうかを判断する。
【０２０１】
ステップＳ３４３で“ＹＥＳ”であれば、つまり変数ｓｃｏｒｅＣが０未満であれば、ステップＳ３４５で、変数ｓｃｏｒｅＣに０を設定して、評価処理にリターンする。一方、ステップＳ３４３で“ＮＯ”であれば、つまり変数ｓｃｏｒｅＣが０以上であれば、そのまま評価処理にリターンする。
【０２０２】
図３５−図３７は、図２６に示したステップＳ１４５の最終スコア算出処理のフロー図である。図３５に示すように、ＣＰＵ４２は、最終スコア算出処理を開始すると、ステップＳ３６１で、原文ＥＳについての総サンプル数が１５０未満であるかどうかを判断する。ステップＳ３６１で“ＹＥＳ”であれば、つまり原文ＥＳの総サンプル数が１５０未満であれば、ステップＳ３６３で、変数ｓｃｏｒｅに、（ｓｃｏｒｅＡ＋４×ｓｃｏｒｅＢ＋ｓｃｏｒｅＣ）／６を設定して、ステップＳ３７１に進む。つまり、ステップＳ３６３では、｛ｓｃｏｒｅＡ：ｓｃｏｒｅＢ：ｓｃｏｒｅＣ｝＝｛１：４：１｝の重み付けが行われて、それらの平均値が算出されることにより、仮の評価スコア（ｓｃｏｒｅ）が求められる。
【０２０３】
一方、ステップＳ３６１で“ＮＯ”であれば、つまり原文ＥＳの総サンプル数が１５０以上であれば、ステップＳ３６５で、原文ＥＳの総サンプル数が１５０以上２００未満であるかどうかを判断する。ステップＳ３６５で“ＹＥＳ”であれば、つまり原文ＥＳの総サンプル数が１５０以上２００未満であれば、ステップＳ３６７で、変数ｓｃｏｒｅに、（２×ｓｃｏｒｅＡ＋３×ｓｃｏｒｅＢ＋ｓｃｏｒｅＣ）／６を設定して、ステップＳ３７１に進む。つまり、ステップＳ３６７では、｛ｓｃｏｒｅＡ：ｓｃｏｒｅＢ：ｓｃｏｒｅＣ｝＝｛２：３：１｝の重み付けが行われて、それらの平均値が算出されることにより、仮の評価スコア（ｓｃｏｒｅ）が求められる。
【０２０４】
一方、ステップＳ３６５で“ＮＯ”であれば、つまり原文ＥＳの総サンプル数が２００以上であれば、ステップＳ３６９で、変数ｓｃｏｒｅに、（３×ｓｃｏｒｅＡ＋２×ｓｃｏｒｅＢ＋ｓｃｏｒｅＣ）／６を設定して、ステップＳ３７１に進む。つまり、ステップＳ３６９では、｛ｓｃｏｒｅＡ：ｓｃｏｒｅＢ：ｓｃｏｒｅＣ｝＝｛３：２：１｝の重み付けが行われて、それらの平均値が算出されることにより、仮の評価スコア（ｓｃｏｒｅ）が求められる。
【０２０５】
なお、ステップＳ３７１以降では、ステップＳ３６３，Ｓ３６７，Ｓ３６９で算出された仮の評価スコア（ｓｃｏｒｅ）に、上述した減点処理が施される。
【０２０６】
具体的には、ステップＳ３７１では、変数ｓｃｏｒｅＡ（局所解スコア）が５０未満であり、かつ原文ＥＳの総サンプル数が２５０以上であるかどうかを判断する。ステップＳ３７１で“ＮＯ”であれば、つまり変数ｓｃｏｒｅＡが５０以上であったり、原文ＥＳの総サンプル数が２５０未満であったり、またはその両方である場合には、そのまま図３６に示すステップＳ３７５に進む。一方、ステップＳ３７１で“ＹＥＳ”であれば、つまり変数ｓｃｏｒｅＡが５０未満であり、かつ原文の総サンプル数が２５０以上である場合には、ステップＳ３７３で、円数ｓｃｏｒｅに、ｓｃｏｒｅ−（５０−ｓｃｏｒｅＡ）／３を設定して、ステップＳ３７５に進む。
【０２０７】
図３６に示すステップＳ３７５では、変数ｓｃｏｒｅＣ（分散値スコア）が５０未満であり、かつ原文ＥＳの総サンプル数が２５０以上であるかどうかを判断する。ステップＳ３７５で“ＮＯ”であれば、つまり変数ｓｃｏｒｅＣが５０以上であったり、原文ＥＳの総サンプル数が２５０未満であったり、またはその両方であったりする場合には、そのままステップＳ３７９に進む。一方、ステップＳ３７５で“ＹＥＳ”であれば、つまり変数ｓｃｏｒｅＣが５０未満であり、かつ原文ＥＳの総サンプル数が２５０以上である場合には、ステップＳ３７７で、変数ｓｃｏｒｅに、ｓｃｏｒｅ−（５０−ｓｃｏｒｅＣ）を設定して、ステップＳ３７９に進む。
【０２０８】
ステップＳ３７９では、変数ｓｃｏｒｅＢが２５未満であるかどうかを判断する。ステップＳ３７９で“ＮＯ”であれば、つまり変数ｓｃｏｒｅＢが２５以上であれば、そのままステップＳ３８３に進む。一方、ステップＳ３７９で“ＹＥＳ”であれば、つまり変数ｓｃｏｒｅＢが２５未満であれば、ステップＳ３８１で、変数ｓｃｏｒｅを半分に設定して（ｓｃｏｒｅ＝ｓｃｏｒｅ／２）、ステップＳ３８３に進む。
【０２０９】
なお、ステップＳ３８３−ステップＳ３８９の処理では、変数ｓｃｏｒｅが０未満または１００を超えている場合に、０または１００に補正するための処理である。
【０２１０】
具体的には、ステップＳ３８３で、変数ｓｃｏｒｅが１００を超えているかどうかを判断する。ステップＳ３８３で“ＹＥＳ”であれば、つまり変数ｓｃｏｒｅが１００を超えていれば、ステップＳ３８５で、変数ｓｃｏｒｅに１００を設定して、図３７に示すステップＳ３９１に進む。一方、ステップＳ３８３で“ＮＯ”であれば、つまり変数ｓｃｏｒｅが１００以下であれば、ステップＳ３８７で、変数ｓｃｏｒｅが０未満であるかどうかを判断する。
【０２１１】
ステップＳ３８７で“ＹＥＳ”であれば、つまり変数ｓｃｏｒｅが０未満であれば、ステップＳ３８９で、変数ｓｃｏｒｅに０を設定して、ステップＳ３９１に進む。一方、ステップＳ３８７で“ＮＯ”であれば、つまり変数ｓｃｏｒｅが０以上であれば、そのままステップＳ３９１に進む。
【０２１２】
図３７に示すように、ステップＳ３９１では、エンベロープの平均値に基づいて音量平均スコア（変数ｓｃｏｒｅＤ）を算出する。次のステップＳ３９３では、変数ｓｃｏｒｅＤが２０未満であるかどうかを判断する。ステップＳ３９３で“ＹＥＳ”であれば、つまり変数ｓｃｏｒｅＤが２０未満であれば、ステップＳ３９５で、変数ｓｃｏｒｅを６分の１に設定して（ｓｃｏｒｅ＝ｓｃｏｒｅ／６）、図２５に示した評価処理にリターンする。一方、ステップＳ３９３で“ＮＯ”であれば、つまり変数ｓｃｏｒｅＤが２０以上であれば、ステップＳ３９７で、変数ｓｃｏｒｅＤが２０以上５０未満であるかどうかを判断する。
【０２１３】
ステップＳ３９７で“ＹＥＳ”であれば、つまり変数ｓｃｏｒｅＤが２０以上５０未満であれば、ステップＳ３９９で、変数ｓｃｏｒｅを半分に設定して（ｓｃｏｒｅ＝ｓｃｏｒｅ／２）、評価処理にリターンする。一方、ステップＳ３９７で“ＮＯ”であれば、つまり変数ｓｃｏｒｅＤが５０以上であれば、そのまま評価処理にリターンする。
【０２１４】
この実施例によれば、局所解スコア、平均値基準スコアおよび分散値スコアに基づいて、ユーザの発音の評価を行うので、最適なリズムで発音したかどうかを正確に評価することができる。
【０２１５】
なお、上述の実施例では、より正確な評価を行うために、局所解スコア、平均値基準スコアおよび分散値スコアに基づいて、ユーザの発音の評価を行うようにしたが、局所解スコアおよび平均値基準スコアに基づいて、または局所解スコアおよび分散値スコアに基づいて、ユーザの発音の評価を行うようにしてもよい。これは、平均値基準スコアおよび分散値スコアが、音声のエンベロープの波形の凹凸を評価する点で共通するためであり、いずれか一方を省略した場合であっても、発音のリズムを評価することは可能だからである。
【０２１６】
また、上述の実施例では、ユーザの音声の音量を、原文の音声の音量に揃えて、音量（エンベロープ）の平均値を正規化した後に、局所解を算出したり、２値化したりしたが、ユーザの音声の音量を、原文の音声の音量に揃えずに、局所解を算出したり、２値化したりしてもよい。かかる場合には、各エンベロープの平均値を算出し、原文の音声の音量についてのエンベロープの平均値（説明の都合上、「第１平均値」という）に対するユーザの音声の音量についてのエンベロープの平均値（説明の都合上、「第２平均値」という）の倍率を算出し、その倍率の逆数を第２平均値に掛けて基準値を設定することにより、ユーザの音声についての局所解を算出したり、２値化したりすればよい。
【０２１７】
さらに、上述の実施例では、評価スコアを０〜１００の値にするために、局所解スコア、評価値基準スコアおよび分散値スコアを０〜１００の値で決定するようにしたがこれに限定される必要はない。また、各スコアの値の決め方は一例であり、局所解リストの差分の合計値が小さい場合、２値化リストの正解率が高い場合、分散値が類似する場合に、スコア（評価）が高くなるようにすればよい。
【０２１８】
さらにまた、この実施例では、原文およびユーザの各音声についてのエンベロープが示す音量が基準値（基準値）以上となるときのタイミングを比較することにより、局所解スコアを求めるようにしたが、これに限定される必要はない。原文およびユーザの各音声についてのエンベロープが示す音量のピークのタイミングを比較することにより、局所解スコアに相当するスコアを算出し、その算出結果と、平均値基準スコアと、分散値スコアとを用いて、ユーザの発音のリズムを評価してもよい。
【０２１９】
また、この実施例では、メモリ容量を節約するために、ユーザの音声のみならず、原文の音声についてもエンベロープを取得し、そのエンベロープに基づいて、局所解リスト、２値化リストおよび分散値を求めるようにした。ただし、メモリ容量に余裕がある場合には、原文の音声については、局所解リスト、２値化リストおよび分散値は予め用意（算出）してメモリに記憶しておいてもよい。
【０２２０】
さらに、上述の実施例では、ゲーム装置１０について説明したが、この発明は、原文内容情報７８１ａ，７８１ｄおよびアクセント位置情報７８１ｃを記憶する記憶媒体と、原文内容情報７８１ａ，７８１ｄに基づいて原文ＥＳを報知（原文ＥＳの文字を表示および／または原文ＥＳの音声を再生）しながらアクセント位置情報７８１ｃに基づいてアクセント画像を画面に表示するコンピュータとを備える、学習支援装置（ＰＣや携帯端末など）に適用できる。
【０２２１】
さらにまた、上述の実施例では、予め用意された原文の音声に対応するユーザの音声についての発音を評価するようにしたが、これに限定される必要はない。たとえば、原文に相当する音声を教師のような或る人物がマイクを通してゲーム装置に入力するようにしてもよい。または、ゲーム装置が通信することにより、他の電子機器やインターネットのようなネットワークから原文に相当する音声を取得するようにしてもよい。
【０２２２】
また、上述の実施例には、情報処理装置のコンピュータを、ユーザによって発音される音声を入力する音声入力手段、前記音声入力手段によって入力された音声の音量が第１所定値よりも大きくなった第１タイミングと、予め定められた第２タイミングとに基づいて、第１評価候補値を算出する第１評価候補値算出手段、所定間隔で時間をずらした前記第１タイミングの各々と、前記第２タイミングとに基づいて、それぞれについての第２評価候補値を算出する第２評価候補値算出手段、前記第１評価候補値算出手段によって算出された第１評価候補値および前記第２評価候補値算出手段によって算出された第２評価候補値のうち最高の評価結果を示すものを評価値として選択する評価値選択手段、および前記評価値選択手段によって選択された評価値に基づいて、模範音声に対する前記ユーザの発音の類似度を評価する発音評価手段として機能させる、発音評価プログラムが説明される。同様に、上述の実施例には、ユーザによって発音される音声を入力する音声入力手段、前記音声入力手段によって入力された音声の音量が第１所定値よりも大きくなった第１タイミングと、予め定められた第２タイミングとに基づいて、第１評価候補値を算出する第１評価候補値算出手段、所定間隔で時間をずらした前記第１タイミングの各々と、前記第２タイミングとに基づいて、それぞれについての第２評価候補値を算出する第２評価候補値算出手段、前記第１評価候補値算出手段によって算出された第１評価候補値および前記第２評価候補値算出手段によって算出された第２評価候補値のうち最高の評価結果を示すものを評価値として選択する評価値選択手段、および前記評価値選択手段によって選択された評価値に基づいて、模範音声に対する前記ユーザの発音の類似度を評価する発音評価手段を備える発音評価装置が説明されている。
【０２２３】
この発音評価プログラムまたは発音評価装置によれば、第１タイミングの時間をずらした場合について評価の候補値を算出して、その中で最高の評価結果が得られる場合の候補値が評価値として採用されてユーザの発音が評価されるため、ユーザの音声のタイミングが全体として、模範音声よりも早い場合や遅い場合であっても、正しいリズムで発音されているときには、高評価を得ることができる。すなわち、正しいリズムで発音されたかどうかを正確に評価することができる。この点、特許文献１の発音採点装置においては、ユーザの音声のタイミングが全体として、模範音声よりも早い場合や遅い場合には、正しいリズムで発音されているときであっても、高評価を得ることができなかった。すなわち、特許文献１の発音採点装置においては、正しいリズムで発音されたかどうかを正確に評価するという点で改善の余地があった。
【符号の説明】
【０２２４】
１０  …ゲーム装置
１４  …（上側）ＬＣＤ
３２  …マイク
３４  …スピーカ
４２  …ＣＰＵ
４８  …メインメモリ
Ｇ  …ガイド（時間軸）
Ｐ  …現時点位置ポインタ
ＴＰ１，ＴＰ２  …チックマーク
ＡＰ１〜ＡＰ４  …アクセントマーク
ＧＢ１〜ＧＢ４  …ガイドバー（時間区間画像）
【図１】
2010271615.tif 000003
【図２】
2010271615.tif 000004
【図３】
2010271615.tif 000005
【図４】
2010271615.tif 000006
【図５】
2010271615.tif 000007
【図６】
2010271615.tif 000008
【図７】
2010271615.tif 000009
【図８】
2010271615.tif 000010
【図９】
2010271615.tif 000011
【図１０】
2010271615.tif 000012
【図１１】
2010271615.tif 000013
【図１２】
2010271615.tif 000014
【図１３】
2010271615.tif 000015
【図１４】
2010271615.tif 000016
【図１５】
2010271615.tif 000017
【図１６】
2010271615.tif 000018
【図１７】
2010271615.tif 000019
【図１８】
2010271615.tif 000020
【図１９】
2010271615.tif 000021
【図２０】
2010271615.tif 000022
【図２１】
2010271615.tif 000023
【図２２】
2010271615.tif 000024
【図２３】
2010271615.tif 000025
【図２４】
2010271615.tif 000026
【図２５】
2010271615.tif 000027
【図２６】
2010271615.tif 000028
【図２７】
2010271615.tif 000029
【図２８】
2010271615.tif 000030
【図２９】
2010271615.tif 000031
【図３０】
2010271615.tif 000032
【図３１】
2010271615.tif 000033
【図３２】
2010271615.tif 000034
【図３３】
2010271615.tif 000035
【図３４】
2010271615.tif 000036
【図３５】
2010271615.tif 000037
【図３６】
2010271615.tif 000038
【図３７】
2010271615.tif 000039