(57)【要約】【課題】吹きかけられた息を適切に判別することができる息判別プログラムまたは息判別装置を提供する。【解決手段】音声データ取得手段は、音声入力デバイスから音声信号を示す音声データを取得する。第１評価手段は、音声入力デバイスに入力された音声が息であるか否かを判定する第１の判定条件を用いて、音声データが示す音声信号を評価する。第２評価手段は、第１の判定条件とは異なる第２の判定条件を用いて、音声データが示す音声信号を評価する。息判別手段は、音声入力デバイスに息の吹きかけが開始されたか否かを判定する第１の期間では少なくとも第１評価手段の評価が肯定である場合に音声入力デバイスに息が入力されていると判断し、音声入力デバイスに息の吹きかけが継続しているか否かを判定する第２の期間では第１評価手段および第２評価手段の評価の少なくとも一方が肯定である場合に音声入力デバイスに息が入力されていると判断する。【選択図】図９
2011095595.tif 000002
【特許請求の範囲】
【請求項１】
音声入力デバイスに入力される音声を判別する装置のコンピュータで実行される息判別プログラムであって、
前記コンピュータを、
前記音声入力デバイスから音声信号を示す音声データを取得する音声データ取得手段と、
前記音声入力デバイスに入力された音声が息であるか否かを判定する第１の判定条件を用いて、前記音声データが示す音声信号を評価する第１評価手段と、
前記第１の判定条件とは異なる第２の判定条件を用いて、前記音声データが示す音声信号を評価する第２評価手段と、
前記音声入力デバイスに息の吹きかけが開始されたか否かを判定する第１の期間では少なくとも前記第１評価手段の評価が肯定である場合に前記音声入力デバイスに息が入力されていると判断し、前記音声入力デバイスに息の吹きかけが継続しているか否かを判定する第２の期間では前記第１評価手段および前記第２評価手段の評価の少なくとも一方が肯定である場合に前記音声入力デバイスに息が入力されていると判断する息判別手段として機能させる、息判別プログラム。
【請求項２】
前記第１評価手段は、前記音声信号が示す音声の大きさに基づいて当該音声信号を評価し、
前記第２評価手段は、前記音声信号が示す音声の周波数分布に基づいて当該音声信号を評価する、請求項１に記載の息判別プログラム。
【請求項３】
前記第１の判定条件および前記第２の判定条件とは異なる第３の判定条件を用いて、前記音声信号が示す音声の周波数分布に基づいて当該音声信号を評価する第３評価手段として、さらに前記コンピュータを機能させ、
前記息判別手段は、前記第１の期間では前記音声信号が示す音声の大きさに基づいた前記第１評価手段による評価と前記音声信号が示す音声の周波数分布に基づいた前記第３評価手段による評価とが何れも肯定評価である場合に前記音声入力デバイスに息が入力されていると判断し、
前記息判別手段は、前記第２の期間では少なくとも前記音声信号が示す音声の周波数分布に基づいた前記第２評価手段による評価が肯定評価である場合に前記音声入力デバイスに息が入力されていると判断する、請求項２に記載の息判別プログラム。
【請求項４】
前記第２評価手段は、
前記音声信号に基づいて、前記音声入力デバイスに入力された音声を示す音声波形のゼロクロスを検出し、連続するゼロクロスの間の時間間隔をそれぞれ算出する時間間隔算出手段と、
前記時間間隔算出手段が算出した時間間隔の分布を作成する時間間隔分布作成手段と、
前記時間間隔の分布が所定のばらつき以内であるか否かを評価するばらつき評価手段とを含み、
前記第２評価手段は、前記時間間隔の分布が所定のばらつき以内である場合に前記第２の判定条件を用いた評価を肯定評価とする、請求項２に記載の息判別プログラム。
【請求項５】
前記第１評価手段は、前記音声信号が示す音声の大きさが所定の大きさ以上となる期間が所定の時間以上である場合に前記第１の判定条件を用いた評価を肯定評価とする、請求項２乃至４の何れか１つに記載の息判別プログラム。
【請求項６】
前記第１評価手段は、前記音声信号が示す音声の大きさが所定の大きさ以上となる期間に基づいて当該音声信号を評価し、
前記第２評価手段は、前記第１評価手段が評価した前記期間に応じて、前記音声信号が示す音声の周波数分布のばらつきを評価する閾値を変化させる、請求項２に記載の息判別プログラム。
【請求項７】
前記第２評価手段は、前記音声信号が示す音声の大きさが所定の大きさ以上となる期間が第１の閾値以上であると前記第１評価手段が肯定評価した場合、前記音声信号が示す音声の周波数分布のばらつきが第２の閾値以内である場合に前記第２の判定条件を用いた評価を肯定評価とし、
前記第２評価手段は、前記音声信号が示す音声の大きさが所定の大きさ以上となる期間が前記第１の閾値より長い第３の閾値以上であると前記第１評価手段が肯定評価した場合、前記音声信号が示す音声の周波数分布のばらつきが前記第２の閾値よりも大きい第４の閾値以内である場合に前記第２の判定条件を用いた評価を肯定評価する、請求項６に記載の息判別プログラム。
【請求項８】
前記音声信号に基づいて、前記音声入力デバイスに入力された音声を示す音声波形のゼロクロスを検出し、所定の期間における当該ゼロクロスの数をカウントするゼロクロス計数手段として、さらに前記コンピュータを機能させ、
前記第２評価手段は、前記音声信号が示す音声の大きさが所定の大きさ以上となる期間が前記第３の閾値より長い第５の閾値以上であると前記第１評価手段が肯定評価し、かつ、前記ゼロクロス計数手段がカウントしたゼロクロスの数が所定の数以上である場合、前記音声信号が示す音声の周波数分布のばらつきが前記第４の閾値よりも大きい第６の閾値以内である場合に前記第２の判定条件を用いた評価を肯定評価する、請求項７に記載の息判別プログラム。
【請求項９】
前記音声信号に基づいて、前記音声入力デバイスに入力された音声を示す音声波形のゼロクロスを検出し、所定の期間における当該ゼロクロスの数をカウントするゼロクロス計数手段として、さらに前記コンピュータを機能させ、
前記第１評価手段は、前記音声信号が示す音声の大きさが所定の大きさ以上となる期間に基づいて当該音声信号を評価し、
前記息判別手段は、前記音声信号が示す音声の大きさが所定の大きさ以上となる期間が所定の閾値以上であると前記第１評価手段が肯定評価し、かつ、前記ゼロクロス計数手段がカウントしたゼロクロスの数が所定の数以上である場合、前記音声入力デバイスに息が入力されていると判断する、請求項２に記載の息判別プログラム。
【請求項１０】
前記音声信号に基づいて、前記音声入力デバイスに入力された音声を示す音声波形のゼロクロスを検出し、所定の期間における当該ゼロクロスの数をカウントするゼロクロス計数手段として、さらに前記コンピュータを機能させ、
前記第２評価手段は、前記ゼロクロス計数手段がカウントしたゼロクロスの数に応じて、前記音声信号が示す音声の周波数分布のばらつきを評価する閾値を変化させる、請求項２に記載の息判別プログラム。
【請求項１１】
前記ばらつき評価手段は、前記時間間隔の分布の均等度合いと各分布数との差を累積した評価値を算出し、当該評価値が所定の閾値以下か否かを評価し、
前記第２評価手段は、前記評価値が前記閾値以下である場合に前記第２の判定条件を用いた評価を肯定評価とする、請求項４に記載の息判別プログラム。
【請求項１２】
音声入力デバイスに入力される音声を判別する息判別装置であって、
前記音声入力デバイスから音声信号を示す音声データを取得する音声データ取得手段と、
前記音声入力デバイスに入力された音声が息であるか否かを判定する第１の判定条件を用いて、前記音声データが示す音声信号を評価する第１評価手段と、
前記第１の判定条件とは異なる第２の判定条件を用いて、前記音声データが示す音声信号を評価する第２評価手段と、
前記音声入力デバイスに息の吹きかけが開始されたか否かを判定する第１の期間では少なくとも前記第１評価手段の評価が肯定である場合に前記音声入力デバイスに息が入力されていると判断し、前記音声入力デバイスに息の吹きかけが継続しているか否かを判定する第２の期間では前記第１評価手段および前記第２評価手段の評価の少なくとも一方が肯定である場合に前記音声入力デバイスに息が入力されていると判断する息判別手段とを備える、息判別装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、息判別プログラムおよび息判別装置に関し、例えば、音声入力デバイスに入力される音声を判別する際に用いられる息判別プログラムおよび息判別装置に関する。
【背景技術】
【０００２】
従来、入力された音声の波形データにおける周波数分布に基づいて当該音声を判別するゲーム装置が知られている（例えば、特許文献１参照）。例えば、上記特許文献１で開示されたゲーム装置では、入力された音声の波形データにおける各ゼロクロスの時間間隔を算出し、算出した各ゼロクロス時間に基づいて波形データの周波数分布を取得する。そして、取得した周波数分布が満たす予め設定された判別条件に基づいて、入力された音声がユーザの息によるものか否かを判断している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１４５８５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、一般的に、ユーザがマイク等の音声入力デバイスに息を持続して吹きかける場合、同じレベルの息を吹きかけていても漸減的に息の強さが弱くなる傾向がある。したがって、上記特許文献１で開示されたゲーム装置において、持続して息が吹きかけられている全期間に対して、入力されている音声が息によるものであると判断可能とする判別条件を設定することが難しい。例えば、息の吹き始めに合わせて息の判別条件を相対的に厳しく設定した場合、持続して息が吹きかけられていたとしても息の吹き始めからある程度の時間が経過したときに息と判定されない可能性がある。また、上記特許文献１で開示されたゲーム装置において、息の判別条件を相対的に緩く設定した場合、ユーザが息を吹きかけていない状態でも、音声入力デバイスに入力されるノイズや物音等の息以外の入力を息と判定してしまう可能性がある。
【０００５】
それ故に、本発明の目的は、吹きかけられた息を適切に判別することができる息判別プログラムおよび息判別装置を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は、以下に述べるような特徴を有している。
本発明は、音声入力デバイスに入力される音声を判別する装置のコンピュータで実行される息判別プログラムである。息判別プログラムは、音声データ取得手段、第１評価手段、第２評価手段、および息判別手段として、コンピュータを機能させる。音声データ取得手段は、音声入力デバイスから音声信号を示す音声データを取得する。第１評価手段は、音声入力デバイスに入力された音声が息であるか否かを判定する第１の判定条件を用いて、音声データが示す音声信号を評価する。第２評価手段は、第１の判定条件とは異なる第２の判定条件を用いて、音声データが示す音声信号を評価する。息判別手段は、音声入力デバイスに息の吹きかけが開始されたか否かを判定する第１の期間では少なくとも第１評価手段の評価が肯定である場合に音声入力デバイスに息が入力されていると判断し、音声入力デバイスに息の吹きかけが継続しているか否かを判定する第２の期間では第１評価手段および第２評価手段の評価の少なくとも一方が肯定である場合に音声入力デバイスに息が入力されていると判断する。
【０００７】
上記によれば、音声入力デバイスに息の吹きかけが開始されたか否かを判定する期間と音声入力デバイスに息の吹きかけが継続しているか否かを判定する期間とによって、異なる判定条件に基づいた判定が行われるため、吹きかけられた息を適切に判別することができる。
【０００８】
また、第１評価手段は、音声信号が示す音声の大きさに基づいて当該音声信号を評価してもよい。また、第２評価手段は、音声信号が示す音声の周波数分布に基づいて当該音声信号を評価してもよい。
【０００９】
上記によれば、音声信号が音声の大きさおよび周波数分布に基づいて異なる評価が行われるため、当該評価に基づいて吹きかけられた息を適切に判別することができる。
【００１０】
また、第３評価手段として、さらにコンピュータを機能させてもよい。第３評価手段は、第１の判定条件および第２の判定条件とは異なる第３の判定条件を用いて、音声信号が示す音声の周波数分布に基づいて当該音声信号を評価する。この場合、息判別手段は、第１の期間では音声信号が示す音声の大きさに基づいた第１評価手段による評価と音声信号が示す音声の周波数分布に基づいた第３評価手段による評価とが何れも肯定評価である場合に音声入力デバイスに息が入力されていると判断してもよい。また、息判別手段は、第２の期間では少なくとも音声信号が示す音声の周波数分布に基づいた第２評価手段による評価が肯定評価である場合に音声入力デバイスに息が入力されていると判断してもよい。
【００１１】
上記によれば、音声入力デバイスに息の吹きかけが開始されたか否かを判定する期間では、音声の大きさに基づく評価および音声の周波数分布に基づく評価に対して共に肯定評価が必要であることに対して、音声入力デバイスに息の吹きかけが継続しているか否かを判定する期間では、音声の周波数分布に基づく評価のみ肯定評価であれば息が入力されていると判断するため、吹きかけられた息を適切に判別することができる。
【００１２】
また、第２評価手段は、時間間隔算出手段、時間間隔分布作成手段、およびばらつき評価手段を含んでもよい。時間間隔算出手段は、音声信号に基づいて、音声入力デバイスに入力された音声を示す音声波形のゼロクロスを検出し、連続するゼロクロスの間の時間間隔をそれぞれ算出する。時間間隔分布作成手段は、時間間隔算出手段が算出した時間間隔の分布を作成する。ばらつき評価手段は、時間間隔の分布が所定のばらつき以内であるか否かを評価する。この場合、第２評価手段は、時間間隔の分布が所定のばらつき以内である場合に第２の判定条件を用いた評価を肯定評価としてもよい。
【００１３】
上記によれば、音声信号が示す音声の周波数分布を容易に評価して当該音声信号を評価することが可能となる。
【００１４】
また、第１評価手段は、音声信号が示す音声の大きさが所定の大きさ以上となる期間が所定の時間以上である場合に第１の判定条件を用いた評価を肯定評価としてもよい。
【００１５】
上記によれば、相対的に大きな音声が入力された大所的な傾向に基づいて音声波形を評価することができる。
【００１６】
また、第１評価手段は、音声信号が示す音声の大きさが所定の大きさ以上となる期間に基づいて当該音声信号を評価してもよい。この場合、第２評価手段は、第１評価手段が評価した期間に応じて、音声信号が示す音声の周波数分布のばらつきを評価する閾値を変化させてもよい。
【００１７】
上記によれば、音声信号が示す音声の大きさに応じて、音声の周波数分布のばらつきを評価するための閾値を適切に設定することができる。
【００１８】
また、第２評価手段は、音声信号が示す音声の大きさが所定の大きさ以上となる期間が第１の閾値以上であると第１評価手段が肯定評価した場合、音声信号が示す音声の周波数分布のばらつきが第２の閾値以内である場合に第２の判定条件を用いた評価を肯定評価としてもよい。この場合、第２評価手段は、音声信号が示す音声の大きさが所定の大きさ以上となる期間が第１の閾値より長い第３の閾値以上であると第１評価手段が肯定評価した場合、音声信号が示す音声の周波数分布のばらつきが第２の閾値よりも大きい第４の閾値以内である場合に第２の判定条件を用いた評価を肯定評価する。
【００１９】
上記によれば、音声信号が示す音声の大きさに応じて、音声の周波数分布のばらつきを評価するための閾値を適切に設定することができる。
【００２０】
また、ゼロクロス計数手段として、さらにコンピュータを機能させてもよい。ゼロクロス計数手段は、音声信号に基づいて、音声入力デバイスに入力された音声を示す音声波形のゼロクロスを検出し、所定の期間における当該ゼロクロスの数をカウントする。この場合、第２評価手段は、音声信号が示す音声の大きさが所定の大きさ以上となる期間が第３の閾値より長い第５の閾値以上であると第１評価手段が肯定評価し、かつ、ゼロクロス計数手段がカウントしたゼロクロスの数が所定の数以上である場合、音声信号が示す音声の周波数分布のばらつきが第４の閾値よりも大きい第６の閾値以内である場合に第２の判定条件を用いた評価を肯定評価してもよい。
【００２１】
上記によれば、非常に強い息が音声入力デバイスに入力された場合でも、適切に息を判別することができる。
【００２２】
また、ゼロクロス計数手段として、さらにコンピュータを機能させてもよい。ゼロクロス計数手段は、音声信号に基づいて、音声入力デバイスに入力された音声を示す音声波形のゼロクロスを検出し、所定の期間における当該ゼロクロスの数をカウントする。この場合、第１評価手段は、音声信号が示す音声の大きさが所定の大きさ以上となる期間に基づいて当該音声信号を評価してもよい。息判別手段は、音声信号が示す音声の大きさが所定の大きさ以上となる期間が所定の閾値以上であると第１評価手段が肯定評価し、かつ、ゼロクロス計数手段がカウントしたゼロクロスの数が所定の数以上である場合、音声入力デバイスに息が入力されていると判断してもよい。
【００２３】
上記によれば、非常に強い息が音声入力デバイスに入力された場合でも、適切に息を判別することができる。
【００２４】
また、ゼロクロス計数手段として、さらにコンピュータを機能させてもよい。ゼロクロス計数手段は、音声信号に基づいて、音声入力デバイスに入力された音声を示す音声波形のゼロクロスを検出し、所定の期間における当該ゼロクロスの数をカウントする。この場合、第２評価手段は、ゼロクロス計数手段がカウントしたゼロクロスの数に応じて、音声信号が示す音声の周波数分布のばらつきを評価する閾値を変化させてもよい。
【００２５】
上記によれば、ゼロクロス数が増加する強い息が音声入力デバイスに入力された場合でも、適切に息を判別することができる。
【００２６】
また、ばらつき評価手段は、時間間隔の分布の均等度合いと各分布数との差を累積した評価値を算出し、当該評価値が所定の閾値以下か否かを評価してもよい。この場合、第２評価手段は、評価値が閾値以下である場合に第２の判定条件を用いた評価を肯定評価としてもよい。
【００２７】
上記によれば、音声波形の周波数分布を適切に評価することができる。
【００２８】
また、本発明は、上記各手段を備える息判別装置の形態で実施されてもよい。
【発明の効果】
【００２９】
本発明によれば、音声入力デバイスに息の吹きかけが開始されたか否かを判定する期間と音声入力デバイスに息の吹きかけが継続しているか否かを判定する期間とによって、異なる判定条件に基づいた判定が行われるため、吹きかけられた息を適切に判別することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施形態に係る息判別プログラムを実行するゲーム装置１の外観図
【図２】図１のゲーム装置１の内部構成の一例を示すブロック図
【図３】プレイヤがゲーム装置１に向かって息を吹き込んでいる様子の一例を概説する図解図
【図４】図２のマイク４３から入力される音声波形の一例を示すグラフ
【図５】図４の音声波形の一部を拡大したグラフ
【図６】ゲームプログラムを実行することに応じて、メインメモリ３２に記憶される各種データの一例を示す図
【図７】ゲームプログラムを実行することによってゲーム装置１がゲーム処理する動作の一例を示すフローチャート
【図８】図７のステップ５４で行われる評価値算出処理の詳細な動作の一例を示すサブルーチン
【図９】図７のステップ５５で行われる閾値算出処理の詳細な動作の一例を示すサブルーチン
【発明を実施するための形態】
【００３１】
図面を参照して、本発明の一実施形態に係る息判別プログラムを実行する息判別装置について説明する。本発明の息判別プログラムは、任意のコンピュータシステムで実行されることによって適用することができるが、息判別装置の一例としてゲーム装置１を用い、ゲーム装置１で実行される息判別プログラムを用いて説明する。なお、図１は、本発明の息判別プログラムの一例であるゲームプログラムを実行するゲーム装置１の外観図である。ここでは、ゲーム装置１の一例として、携帯ゲーム装置を示す。なお、ゲーム装置１は、カメラを内蔵しており、当該カメラによって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりする撮像装置としても機能する。
【００３２】
図１において、ゲーム装置１は、折り畳み型の携帯ゲーム装置であり、開いた状態（開状態）のゲーム装置１を示している。ゲーム装置１は、開いた状態においてもプレイヤが両手または片手で把持することができるようなサイズで構成される。
【００３３】
ゲーム装置１は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に連結されている。図１の例では、下側ハウジング１１および上側ハウジング２１は、それぞれ横長の長方形の板状で形成され、互いの長辺部分で回動可能に連結されている。通常、プレイヤは、開状態でゲーム装置１を使用する。そして、プレイヤは、ゲーム装置１を使用しない場合には閉状態としてゲーム装置１を保管する。また、図１に示した例では、ゲーム装置１は、上記閉状態および開状態のみでなく、下側ハウジング１１と上側ハウジング２１とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング２１を下側ハウジング１１に対して任意の角度で静止させることができる。
【００３４】
下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２が設けられる。下側ＬＣＤ１２は横長形状であり、長辺方向が下側ハウジング１１の長辺方向に一致するように配置される。なお、本実施形態では、ゲーム装置１に内蔵されている表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置等、他の任意の表示装置を利用してもよい。また、ゲーム装置１は、任意の解像度の表示装置を利用することができる。
【００３５】
下側ハウジング１１には、入力装置として、各操作ボタン１４Ａ〜１４Ｋおよびタッチパネル１３が設けられる。図１に示されるように、各操作ボタン１４Ａ〜１４Ｋのうち、方向入力ボタン１４Ａ、操作ボタン１４Ｂ、操作ボタン１４Ｃ、操作ボタン１４Ｄ、操作ボタン１４Ｅ、電源ボタン１４Ｆ、スタートボタン１４Ｇ、およびセレクトボタン１４Ｈは、上側ハウジング２１と下側ハウジング１１とを折りたたんだときに内側となる、下側ハウジング１１の内側主面上に設けられる。方向入力ボタン１４Ａは、例えば選択操作等に用いられる。各操作ボタン１４Ｂ〜１４Ｅは、例えば決定操作やキャンセル操作等に用いられる。電源ボタン１４Ｆは、ゲーム装置１の電源をオン／オフするために用いられる。図１に示す例では、方向入力ボタン１４Ａおよび電源ボタン１４Ｆは、下側ハウジング１１の内側主面中央付近に設けられる下側ＬＣＤ１２に対して、左右一方側（図１では左側）の当該主面上に設けられる。また、操作ボタン１４Ｂ〜１４Ｅ、スタートボタン１４Ｇ、およびセレクトボタン１４Ｈは、下側ＬＣＤ１２に対して左右他方側（図１では右側）となる下側ハウジング１１の内側主面上に設けられる。方向入力ボタン１４Ａ、操作ボタン１４Ｂ〜１４Ｅ、スタートボタン１４Ｇ、およびセレクトボタン１４Ｈは、ゲーム装置１に対する各種操作を行うために用いられる。
【００３６】
なお、図１においては、操作ボタン１４Ｉ〜１４Ｋの図示を省略している。例えば、Ｌボタン１４Ｉは、下側ハウジング１１の上側面の左端部に設けられ、Ｒボタン１４Ｊは、下側ハウジング１１の上側面の右端部に設けられる。Ｌボタン１４ＩおよびＲボタン１４Ｊは、ゲーム装置１に対して、例えば撮影指示操作（シャッター操作）を行うために用いられる。さらに、音量ボタン１４Ｋは、下側ハウジング１１の左側面に設けられる。音量ボタン１４Ｋは、ゲーム装置１が備えるスピーカの音量を調整するために用いられる。
【００３７】
また、ゲーム装置１は、各操作ボタン１４Ａ〜１４Ｋとは別の入力装置として、さらにタッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上を覆うように装着されている。なお、本実施形態では、タッチパネル１３は、例えば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル１３は、抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。また、本実施形態では、タッチパネル１３として、例えば下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度とが一致している必要はない。また、下側ハウジング１１の右側面には、タッチペン２７の挿入口（図１に示す破線）が設けられている。上記挿入口は、タッチパネル１３に対する操作を行うために用いられるタッチペン２７を収納することができる。なお、タッチパネル１３に対する入力は、通常タッチペン２７を用いて行われるが、タッチペン２７に限らずプレイヤの指等でタッチパネル１３を操作することも可能である。
【００３８】
また、下側ハウジング１１の右側面には、メモリカード２８を収納するための挿入口（図１では、二点鎖線で示している）が設けられている。この挿入口の内側には、ゲーム装置１とメモリカード２８とを電気的に接続するためのコネクタ（図示せず）が設けられる。メモリカード２８は、例えばＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカードであり、上記コネクタに着脱自在に装着される。メモリカード２８は、例えば、ゲーム装置１によって撮像された画像を記憶（保存）したり、他の装置で生成された画像をゲーム装置１に読み込んだりするため等に用いられる。
【００３９】
さらに、下側ハウジング１１の上側面には、メモリカード２９を収納するための挿入口（図１では、一点鎖線で示している）が設けられている。この挿入口の内側にも、ゲーム装置１とメモリカード２９とを電気的に接続するためのコネクタ（図示せず）が設けられる。メモリカード２９は、ゲームプログラム（息判別プログラム）等を記憶した記憶媒体であり、下側ハウジング１１に設けられた挿入口に着脱自在に装着される。
【００４０】
下側ハウジング１１と上側ハウジング２１との連結部の左側部分には、３つのＬＥＤ１５Ａ〜１５Ｃが取り付けられる。ここで、ゲーム装置１は、他の機器との間で無線通信を行うことが可能であり、第１ＬＥＤ１５Ａは、無線通信が確立している場合に点灯する。第２ＬＥＤ１５Ｂは、ゲーム装置１の充電中に点灯する。第３ＬＥＤ１５Ｃは、ゲーム装置１の電源がオンである場合に点灯する。したがって、３つのＬＥＤ１５Ａ〜１５Ｃによって、ゲーム装置１の通信確立状況、充電状況、および、電源のオン／オフ状況をプレイヤに通知することができる。
【００４１】
一方、上側ハウジング２１には、上側ＬＣＤ２２が設けられる。上側ＬＣＤ２２は横長形状であり、長辺方向が上側ハウジング２１の長辺方向に一致するように配置される。なお、下側ＬＣＤ１２と同様、上側ＬＣＤ２２に代えて、他の任意の方式および任意の解像度の表示装置を利用してもよい。また、上側ＬＣＤ２２上を覆うように、タッチパネルを設けてもかまわない。
【００４２】
また、上側ハウジング２１には、２つのカメラ（内側カメラ２３および外側カメラ２５）が設けられる。図１に示されるように、内側カメラ２３は、上側ハウジング２１の連結部付近の内側主面に取り付けられる。一方、外側カメラ２５は、内側カメラ２３が取り付けられる内側主面の反対側の面、すなわち、上側ハウジング２１の外側主面（ゲーム装置１が閉状態となった場合に外側となる面であり、図１に示す上側ハウジング２１の背面）に取り付けられる。なお、図１においては、外側カメラ２５を破線で示している。これによって、内側カメラ２３は、上側ハウジング２１の内側主面が向く方向を撮像することが可能であり、外側カメラ２５は、内側カメラ２３の撮像方向の逆方向、すなわち、上側ハウジング２１の外側主面が向く方向を撮像することが可能である。このように、本実施形態では、２つの内側カメラ２３および外側カメラ２５の撮像方向が互いに逆方向となるように設けられる。例えば、プレイヤは、ゲーム装置１からプレイヤの方を見た景色を内側カメラ２３で撮像することができるとともに、ゲーム装置１からプレイヤの反対側の方向を見た景色を外側カメラ２５で撮像することができる。なお、下側ＬＣＤ１２および／または上側ＬＣＤ２２は、内側カメラ２３または外側カメラ２５で撮像されている画像をリアルタイムに表示するために用いられることもある。
【００４３】
なお、上記連結部付近の内側主面には、音声入力デバイスとしてマイク（図２に示すマイク４３）が収納されている。そして、上記連結部付近の内側主面には、マイク４３がゲーム装置１外部の音を検知できるように、マイクロフォン用孔１６が形成される。マイク４３を収納する位置およびマイクロフォン用孔１６の位置は必ずしも上記連結部である必要はなく、例えば下側ハウジング１１にマイク４３を収納し、マイク４３の収納位置に対応させて下側ハウジング１１にマイクロフォン用孔１６を設けるようにしても良い。
【００４４】
また、上側ハウジング２１の外側主面には、第４ＬＥＤ２６（図１では、破線で示す）が取り付けられる。第４ＬＥＤ２６は、内側カメラ２３または外側カメラ２５によって撮像が行われている間点灯する。また、内側カメラ２３または外側カメラ２５によって動画が撮像（撮像画像を動画として記憶）される間は点滅させても良い。なお、ＬＥＤが画面に映り込むことを防ぐために、シャッターが押された瞬間から、当該シャッターが押された瞬間の撮像画像の記憶が完了するまでの間は第４ＬＥＤ２６を消灯させても良い。第４ＬＥＤ２６によって、ゲーム装置１による撮像が行われていることを撮像対象者や周囲に通知することができる。
【００４５】
また、上側ハウジング２１の内側主面中央付近に設けられる上側ＬＣＤ２２に対して、左右両側の当該主面に音抜き孔２４がそれぞれ形成される。音抜き孔２４の奥の上側ハウジング２１内には、それぞれスピーカが収納されている。音抜き孔２４は、スピーカからの音をゲーム装置１の外部に放出するための孔である。
【００４６】
以上に説明したように、上側ハウジング２１には、画像を撮像するための構成である内側カメラ２３および外側カメラ２５と、各種画像を表示するための表示手段である上側ＬＣＤ２２とが設けられる。一方、下側ハウジング１１には、ゲーム装置１に対する操作入力を行うための入力装置（タッチパネル１３および各ボタン１４Ａ〜１４Ｋ）と、各種画像を表示するための表示手段である下側ＬＣＤ１２とが設けられる。当該入力装置は、例えば、ゲーム装置１を使用する際には、下側ＬＣＤ１２や上側ＬＣＤ２２に撮像画像（カメラによって撮像された画像）を表示しながら、下側ハウジング１１をプレイヤが把持して入力装置に対する入力を行うような用途に用いることができる。
【００４７】
次に、図２を参照して、ゲーム装置１の内部構成を説明する。なお、図２は、ゲーム装置１の内部構成の一例を示すブロック図である。
【００４８】
図２において、ゲーム装置１は、ＣＰＵ３１と、メインメモリ３２と、メモリ制御回路３３と、保存用データメモリ３４と、プリセットデータ用メモリ３５と、メモリカードインターフェース（メモリカードＩ／Ｆ）３６および３７と、無線通信モジュール３８と、ローカル通信モジュール３９と、リアルタイムクロック（ＲＴＣ）４０と、電源回路４１と、インターフェース回路（Ｉ／Ｆ回路）４２等との電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて、下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００４９】
ＣＰＵ３１は、所定のプログラムを実行するための情報処理手段である。本実施形態では、所定のプログラムがゲーム装置１内のメモリ（例えば保存用データメモリ３４）やメモリカード２８および／または２９に記憶されており、ＣＰＵ３１は、当該所定のプログラムを実行することによって、後述する息判別処理を実行する。なお、ＣＰＵ３１によって実行されるプログラムは、ゲーム装置１内のメモリに予め記憶されていてもよいし、メモリカード２８および／または２９から取得されてもよいし、他の機器との通信によって他の機器から取得されてもよい。
【００５０】
ＣＰＵ３１には、メインメモリ３２、メモリ制御回路３３、およびプリセットデータ用メモリ３５が接続される。また、メモリ制御回路３３には、保存用データメモリ３４が接続される。メインメモリ３２は、ＣＰＵ３１のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ３２は、息判別処理に用いられる各種データを記憶したり、外部（メモリカード２８および２９や他の機器等）から取得されるプログラムを記憶したりする。本実施形態では、メインメモリ３２として、例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。保存用データメモリ３４は、ＣＰＵ３１によって実行されるプログラムや内側カメラ２３および外側カメラ２５によって撮像された画像のデータ等を記憶するための記憶手段である。保存用データメモリ３４は、不揮発性の記憶媒体によって構成されており、例えば本実施例ではＮＡＮＤ型フラッシュメモリで構成される。メモリ制御回路３３は、ＣＰＵ３１の指示に従って、保存用データメモリ３４に対するデータの読み出しおよび書き込みを制御する回路である。プリセットデータ用メモリ３５は、ゲーム装置１において予め設定される各種パラメータ等のデータ（プリセットデータ）を記憶するための記憶手段である。プリセットデータ用メモリ３５としては、ＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）バスによってＣＰＵ３１と接続されるフラッシュメモリを用いることができる。
【００５１】
メモリカードＩ／Ｆ３６および３７は、それぞれＣＰＵ３１に接続される。メモリカードＩ／Ｆ３６は、コネクタに装着されたメモリカード２８に対するデータの読み出しおよび書き込みを、ＣＰＵ３１の指示に応じて行う。また、メモリカードＩ／Ｆ３７は、コネクタに装着されたメモリカード２９に対するデータの読み出しおよび書き込みを、ＣＰＵ３１の指示に応じて行う。本実施形態では、メモリカード２９に記憶された各種プログラムが、ＣＰＵ３１によって読み出されて実行される例を用いる。
【００５２】
なお、本発明の息判別プログラム（ゲームプログラム）は、メモリカード２９を通じてコンピュータシステムに供給されるだけでなく、メモリカード２８等の外部記憶媒体を通じてコンピュータシステムに供給されてもよい。また、本発明の息判別プログラムは、有線または無線の通信回線を通じてコンピュータシステムに供給されてもよい。さらに、本発明の息判別プログラムは、コンピュータシステム内部の不揮発性記憶装置に予め記憶されていてもよい。なお、本発明の息判別プログラムを記憶する情報記憶媒体としては、上記不揮発性記憶装置に限らず、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
【００５３】
無線通信モジュール３８は、例えばＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール３９は、所定の通信方式により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール３８およびローカル通信モジュール３９は、ＣＰＵ３１に接続される。ＣＰＵ３１は、無線通信モジュール３８を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール３９を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００５４】
また、ＣＰＵ３１には、ＲＴＣ４０および電源回路４１が接続される。ＲＴＣ４０は、時間をカウントしてＣＰＵ３１に出力する。例えば、ＣＰＵ３１は、ＲＴＣ４０によって計時された時間に基づいて、現在時刻（日付）等を計算することもできる。電源回路４１は、ゲーム装置１が有する電源（典型的には電池であり、下側ハウジング１１に収納される）から供給される電力を制御し、ゲーム装置１の各部品に電力を供給する。
【００５５】
また、ゲーム装置１は、マイク４３およびアンプ４４を備えている。マイク４３およびアンプ４４は、それぞれＩ／Ｆ回路４２に接続される。マイク４３は、ゲーム装置１に向かって発声されたプレイヤの音声を検知して、当該音声を示す音声信号をＩ／Ｆ回路４２に出力する。アンプ４４は、Ｉ／Ｆ回路４２から音声信号を増幅してスピーカ（図示せず）から出力させる。Ｉ／Ｆ回路４２は、ＣＰＵ３１に接続される。
【００５６】
また、タッチパネル１３は、Ｉ／Ｆ回路４２に接続される。Ｉ／Ｆ回路４２は、マイク４３およびアンプ４４（スピーカ）の制御を行う音声制御回路と、タッチパネル１３の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。なお、音声制御回路は、マイク４３からの音声信号の読み込み、および、音声データの生成を所定時間に１回の割合で行う。ＣＰＵ３１は、Ｉ／Ｆ回路４２を介して、音声データを取得することにより、マイク４３に対して発声された音声を知ることができる。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成してＣＰＵ３１に出力する。例えば、タッチ位置データは、タッチパネル１３の入力面に対して入力が行われた位置の座標を示すデータである。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。ＣＰＵ３１は、Ｉ／Ｆ回路４２を介して、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われた位置を知ることができる。
【００５７】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｋから構成され、ＣＰＵ３１に接続される。操作ボタン１４からＣＰＵ３１へは、各操作ボタン１４Ａ〜１４Ｋに対する入力状況（押下されたか否か）を示す操作データが出力される。ＣＰＵ３１は、操作ボタン１４から操作データを取得することによって、操作ボタン１４に対する入力に応じた処理を実行する。
【００５８】
内側カメラ２３および外側カメラ２５は、それぞれＣＰＵ３１に接続される。内側カメラ２３および外側カメラ２５は、ＣＰＵ３１の指示に応じて画像を撮像し、撮像した画像データをＣＰＵ３１に出力する。例えば、ＣＰＵ３１は、内側カメラ２３および外側カメラ２５のいずれか一方に対して撮像指示を行い、撮像指示を受けたカメラが画像を撮像して画像データをＣＰＵ３１に送る。
【００５９】
また、下側ＬＣＤ１２および上側ＬＣＤ２２は、それぞれＣＰＵ３１に接続される。下側ＬＣＤ１２および上側ＬＣＤ２２は、それぞれＣＰＵ３１の指示に従って画像を表示する。一例として、ＣＰＵ３１は、上記ゲームプログラムを実行することによって生成された画像（例えば、ゲーム画像）を下側ＬＣＤ１２および／または上側ＬＣＤ２２に表示させる。他の例として、ＣＰＵ３１は、内側カメラ２３および外側カメラ２５のいずれかから取得した画像を、下側ＬＣＤ１２および上側ＬＣＤ２２の一方に表示させ、所定の処理によって生成した操作説明画面を下側ＬＣＤ１２および上側ＬＣＤ２２の他方に表示させる。
【００６０】
次に、ゲーム装置１で実行されるゲームプログラムによる具体的な処理動作を説明する前に、図３〜図５を参照してプレイヤの息を判別する動作例について説明する。なお、図３は、プレイヤがゲーム装置１に向かって息を吹き込んでいる様子の一例を概説する図解図である。図４は、マイク４３から入力される音声波形の一例を示すグラフである。図５は、図４の音声波形の一部を拡大したグラフである。
【００６１】
図３に示すように、ゲーム装置１を用いてプレイヤの息を判別させるためには、プレイヤは、マイク４３（マイクロフォン用孔１６）に向かって自身の息を吹き込む。一方、ゲーム装置１は、Ｉ／Ｆ回路４２を介して、マイク４３から入力された音声信号を示す音声データを取得し、当該音声データを解析することによってマイク４３から入力された音声が息であるか否かを判別する。そして、ゲーム装置１は、マイク４３から入力された音声が息であると判別された場合、息が入力されたことに応じた処理を行う。一例として、ゲーム装置１は、マイク４３から入力された音声が息であると判別された場合、判別された息に応じて仮想世界に配置された楽器（例えば、管楽器、笛、ハーモニカ等、息を吹き込むことによって演奏する楽器）を演奏し、当該楽器の演奏音色に応じた音をスピーカから発生させる。他の例として、ゲーム装置１は、マイク４３から入力された音声が息であると判別された場合、判別された息に応じた現象（例えば、風を起こす、オブジェクトを動かす、オブジェクトを回転させる、火を消す、風船を膨らませる、温度を下げる、キャラクタに所定の動作をさせる等）を仮想世界に生じさせ、当該仮想世界を表す画像を下側ＬＣＤ１２および／または上側ＬＣＤ２２に表示する。
【００６２】
本実施形態においては、入力される音声に対応する音声波形のゼロクロスに基づいて、息の吹きかけ音であるか否かを判別する。図４および図５に示すように、息がマイク４３に入力する場合に生じる息の音声波形では、音声波形の振幅（ゲイン）がプラスからマイナスおよびマイナスからプラスへ変化するときに０レベルと交差する点（ゼロクロス）が生じる。なお、本実施形態においては、音声波形の振幅（ゲイン）がマイナスからプラスに変化するゼロクロスに着目し、当該ゼロクロスの時間間隔ｔやゼロクロスの数を用いて息であるか否かを判別する。つまり、後述する時間間隔ｔは、音声波形の振幅（ゲイン）がマイナスからプラスへ変化するゼロクロスのうち、連続する２つのゼロクロスで規定される時間長であり、音声波形に含まれる各波の周期（周波数）を算出するものである。また、ゼロクロス数は、音声波形の振幅（ゲイン）がマイナスからプラスへ変化するゼロクロスの数を示すものとなる。なお、波形の振幅（ゲイン）がプラスからマイナスへ変化するときのゼロクロスに着目して、当該ゼロクロスの時間間隔やゼロクロス数を用いてもよい。
【００６３】
ここで、ＣＰＵ３１は、入力される音声に対応する音声データを、所定のサンプリングレート毎に取得する。以下、ＣＰＵ３１が上記サンプリングレート毎に取得する音声データ（音声波形）を「サンプル」と記載する。したがって、時間間隔ｔの単位も、厳密にはゲーム装置１のサンプリングレートとなる。例えば、ＣＰＵ３１のサンプリングレートは、１／８０００秒（８キロヘルツ）であり、時間間隔ｔの単位も１／８０００秒となる。したがって、時間間隔ｔは、連続するゼロクロス間のサンプル数で表すことができる。
【００６４】
本実施形態では、ある期間において得られた時間間隔ｔの分布が所定の判定条件を満たす場合、当該期間で得られた音声が息であると判定する。具体的には、ある期間において得られた時間間隔ｔを、時間長さ毎に所定数（例えば、３つ）のカテゴリに分類し、各カテゴリに分類された時間間隔ｔの数のバラツキが所定の閾値以内である場合、当該期間で得られた音声が息であると判定される。つまり、ある期間において得られた音声の周波数分布に基づいて、当該音声が息であるか否かを判定していることになる。なお、後述により明らかとなるが、時間間隔ｔのバラツキを判定するための閾値は、実験等により、経験的に得られたデータに基づいて予め設定されるものであり、得られた音声データに応じて（例えば、音声信号の振幅の大きさやゼロクロス数に応じて）閾値を変化させてもかまわない。
【００６５】
また、本実施形態においては、入力される音声に対応する音声波形の振幅（ゲイン）の大きさも用いて、息の吹きかけ音であるか否かを判別する。図４および図５に示すように、息がマイク４３に入力する場合に生じる息の音声波形では、入力された息の強さ等に応じて、音声波形の振幅が変化する。一般的には、マイク４３に入力された息が強いほど、音声波形の振幅も大きくなる。そして、本実施形態においては、マイク４３に対する息の吹き込みが開始されたことを判定する条件として、音声波形の振幅が閾値以上となる期間が所定の閾値以上となることが求められる。
【００６６】
例えば、マイク４３には、入力レンジが設けられており、当該入力レンジを越える音声については当該入力レンジの最大値にクリップされる。具体的には、マイク４３の入力レンジが−１２８〜＋１２７である場合、＋１２７を越える音声入力については＋１２７にクリップされ、−１２８を越える音声入力（すなわち、絶対値が１２８より大きいマイナスの音声入力）については−１２８にクリップされる。そして、一例として、音声入力がクリップされている期間（クリップ期間）が所定時間以上であることを、上記息の吹き込みが開始されたことを判定する条件として設定される。なお、上述したように、入力される音声に対応する音声データが所定のサンプリングレート毎に取得されるため、クリップ期間の単位もサンプリングレートとなる。したがって、クリップ期間については、上記クリップされているサンプル数として表すことができる。また、上記息の吹き込みが開始されたことを判定する条件は、クリップ期間のサンプル数で定義されなくてもよく、クリップとは無関係に音声波形の振幅が所定の大きさ以上となるサンプル数によって判定してもかまわない。
【００６７】
ここで、プレイヤがマイク４３に息を持続して吹きかける場合、同じレベルの息を吹きかけていても漸減的に息の強さが弱くなる傾向がある。したがって、息の吹き始めに合わせて息の判別条件を相対的に厳しく設定した場合、持続して息が吹きかけられていたとしても息の吹き始めからある程度の時間が経過したときに息と判定されない誤判定の可能性がある。また、息の判別条件を相対的に緩く設定した場合、プレイヤが息を吹きかけていない状態でも、マイク４３に入力されるノイズや物音等の息以外の入力を息と誤判定してしまう可能性がある。このような課題に対応して、本実施形態においては、息の吹きかけ始めの期間（以下、息開始期間と記載する）と、その後に持続して息を吹きかける期間（以下、息継続期間と記載する）とにおいて、異なる判定条件を設定している。
【００６８】
本実施形態では、息開始期間においてマイク４３に息が入力されたと決定されるためには、第１の判定条件を用いた第１評価が息入力であると肯定評価されることが必要である。その一方で、息継続期間においてマイク４３に息が入力されたと決定されるためには、上記第１の判定条件を用いた第１評価および第２の判定条件を用いた第２評価の少なくとも一方が息入力であると肯定評価されるだけでよい。一例として、息開始期間においては、音声波形の振幅に関する評価（第１評価）において肯定評価されることが息入力の決定のために必要であり、典型的にはさらに音声波形の周波数分布に関する評価（第２評価）において肯定評価されることによって、マイク４３に息が入力されたと決定される。一方、息継続期間においては、音声波形の周波数分布に関する評価（第２評価）において肯定評価されるだけでマイク４３に息が入力されたと決定され、特殊な例として音声波形の振幅に関する評価（第１評価）が非常に強い息であると判定された場合、第２評価を行うことなく息入力が決定されることもあり得る。例えば、第１評価は、音声波形の振幅が閾値以上となる期間が所定の閾値以上であるか否か（第１の判定条件）を評価することによって、息入力の判定を行う。第２評価は、音声波形の周波数分布のばらつきが所定の閾値以内か否か（第２の判定条件）を評価することによって、息入力の判定を行う。このように、息開始期間において息と判定されるためには、少なくとも第１評価が肯定評価されることが必要（典型的には、第１評価および第２評価が肯定評価されることが必要）となることに対して、息継続期間では第２評価が肯定評価されるだけでも息と判定されることになる。このように、息が吹きかけられている期間に応じて異なる息判定条件を設定することによって、漸減的に息の強さが弱くなる傾向に対応できるとともに、上述した誤判定を防止することができる。
【００６９】
他の例として、息開始期間においては、音声波形が息入力によるものであると判定される閾値が相対的に厳しい値に設定された評価（第１評価）において肯定評価されることによって、マイク４３に息が入力されたと決定される。一方、息継続期間においては、音声波形が息入力によるものであると判定される閾値が相対的に緩い値に設定された評価（第２評価）において肯定評価されることによって、マイク４３に息が入力されたと決定される。例えば、第１評価は、音声波形の周波数分布のばらつきが第１の閾値以内か否か（第１の判定条件）を評価することによって、息入力の判定を行う。第２評価は、音声波形の周波数分布のばらつきが上記第１の閾値より大きい第２の閾値以内か否か（第２の判定条件）を評価することによって、息入力の判定を行う。このように、息開始期間において息と判定されるためには、相対的に厳しい閾値を用いた第１評価が肯定評価されることが必要となることに対して、息継続期間では上記第１評価で肯定評価されるまたは相対的に緩い閾値を用いた第２評価が肯定評価されることによって息と判定されることになる。このように、息が吹きかけられている期間に応じて異なる息判定条件を設定することによって、上述した誤判定を防止することができる。
【００７０】
また、マイク４３を介して息が入力された場合の音声波形は、他の音声入力に対して特徴が認められる。具体的には、息が入力された場合の音声波形は、周波数分布が特定の周波数帯に集中することなく全体的にばらつく傾向にあり、振幅（ゲイン）も大きくなる傾向にある。また、息が入力された場合の音声波形は、入力された息が相対的に強い場合、振幅（ゲイン）が相対的に大きくなるとともに、単位時間当たりのゼロクロス数も相対的に増加する。これに対して、プレイヤの声がマイク４３に入力された場合の音声波形は、当該声に応じた特定の周波数帯に周波数分布が集中するとともに、息の入力と比較すると振幅（ゲイン）が小さい傾向にある。また、ノイズが生じた場合の音声波形は、当該ノイズに応じた特定の高い周波数帯に周波数分布が集中するとともに、単位時間当たりのゼロクロス数が極端に多くなり、息の入力と比較すると振幅（ゲイン）が小さい傾向にある。また、物が衝突したり叩かれたりするような衝撃音の場合の音声波形は、一時的または断続的な音入力となるため、当該衝撃音に応じた特定の周波数帯に周波数分布が一時的に集中するとともに、息の入力と比較すると一時的に振幅（ゲイン）が大きな入力が生じるが、振幅が大きくなる音入力が一時的であるためにクリップ期間は短くなる。このような音声波形を区別するために、本実施形態では、音声入力の大きさ（振幅）で周波数分布を判定するための閾値を変動させて息の判別を行っている。ただし、所定の範囲より大きな音声入力の振幅は、クリップされてしまうため、クリップされる音声波形に関しては、クリップ期間（クリップ回数）を音声入力の大きさとみなしている。なお、各閾値の設定例および当該閾値によって区別する音声波形については後述する。
【００７１】
次に、図６〜図９を参照して、ゲーム装置１で実行されるゲームプログラムによる具体的な処理動作について説明する。なお、図６は、ゲームプログラムを実行することに応じて、メインメモリ３２に記憶される各種データの一例を示す図である。図７は、当該ゲームプログラムを実行することによってゲーム装置１がゲーム処理する動作の一例を示すフローチャートである。図８は、図７のステップ５４で行われる評価値算出処理の詳細な動作の一例を示すサブルーチンである。図９は、図７のステップ５５で行われる閾値算出処理の詳細な動作の一例を示すサブルーチンである。なお、これらの処理を実行するためのプログラムは、ゲーム装置１に内蔵されるメモリ（例えば、保存用データメモリ３４）やメモリカード２８またはメモリカード２９に含まれており、ゲーム装置１の電源がオンになったときに、メモリカードＩ／Ｆ３６やメモリカードＩ／Ｆ３７を介してメモリカード２８やメモリカード２９から、または内蔵メモリからメインメモリ３２に読み出されて、ＣＰＵ３１によって実行される。
【００７２】
図６において、メインメモリ３２には、内蔵メモリ、メモリカード２８、またはメモリカード２９から読み出されたプログラムや息判別処理において生成される一時的なデータが記憶される。メインメモリ３２のデータ記憶領域には、操作データＤａ、ゼロクロス数データＤｂ、クリップ回数データＤｃ、時間間隔データＤｄ、分別カウントデータＤｅ、評価値データＤｆ、閾値データＤｇ、連続息認識カウントデータＤｈ、救済フラグデータＤｉ、息判定フラグデータＤｊ、音データＤｋ、および画像データＤｍ等が格納される。また、メインメモリ３２のプログラム記憶領域には、ゲームプログラム（息判別プログラム）を構成する各種プログラム群Ｐａが記憶される。
【００７３】
操作データＤａは、プレイヤがゲーム装置１を操作しているデータである。例えば、操作データＤａは、マイク入力データＤａ１を含んでいる。マイク入力データＤａ１は、マイク４３に入力された音声波形に対応する音声データである。例えば、マイク入力データＤａ１は、マイク４３に対するサンプリングレート毎（例えば、１／８０００秒）に取得された音声データ（サンプル）であり、ゲーム装置１がゲーム処理する時間単位（１フレーム；例えば、１／６０秒）毎に利用される。なお、本実施形態においては、マイク入力データＤａ１の音声データが少なくとも１フレーム分格納されていればよいため、利用直後にマイク入力データＤａ１を削除し、その後のサンプリングレート毎に所得した音声データを次の利用タイミングまで時系列順に蓄積してもいい。また、最新の１フレーム分の音声データがマイク入力データＤａ１として格納されるように、ＦＩＦＯ方式でマイク入力データＤａ１の音声データを更新するようにしてもいい。このように、音声データを所得してマイク入力データＤａ１として格納する周期とゲーム処理周期とが異なるために、マイク入力データＤａ１には複数の時点に所得した音声データを含むことになる。後述する処理の説明においては、複数の時点に受信した音声データのうち最新の所定期間分（例えば、１フレーム分）を用いてゲーム処理する態様を用いる。
【００７４】
ゼロクロス数データＤｂは、マイク入力データＤａ１が示す最新の１フレーム分の音声波形におけるゼロクロスの数を示すデータである。クリップ回数データＤｃは、マイク入力データＤａ１が示す最新の１フレーム分の音声波形におけるクリップ期間（クリップしたサンプル数）を示すデータである。時間間隔データＤｄは、マイク入力データＤａ１が示す最新の１フレーム分の音声波形における各時間間隔ｔを示すデータである。
【００７５】
分別カウントデータＤｅは、時間間隔データＤｄが示す各時間間隔ｔを、時間長さ毎に所定数（例えば、３つ）のカテゴリに分類し、各カテゴリに分類された時間間隔ｔの数を示すデータである。例えば、各時間間隔ｔが、短時間、中間時間、長時間の３つのカテゴリに分類される場合、短時間カテゴリに属する時間間隔ｔの数（短時間間隔数Ｎｔｓ）、中間時間カテゴリに属する時間間隔ｔの数（中間時間間隔数Ｎｔｍ）、長時間カテゴリに属する時間間隔ｔの数（長時間間隔数Ｎｔｌ）を示すデータが、それぞれ分別カウントデータＤｅとなる。評価値データＤｆは、分別カウントデータＤｅが示す各カテゴリに属する数に基づいて、最新の１フレーム分の音声波形における周波数分布を評価するための評価値Ｅを示すデータである。閾値データＤｇは、評価値Ｅが息を示す値か否かを判定するために設定される閾値Ｔを示すデータである。
【００７６】
連続息認識カウントデータＤｈは、入力している音声を示す音声波形が息であると連続して判定されている回数（息認識回数Ｃ）を示すデータである。救済フラグデータＤｉは、入力している音声を示す音声波形が息である判定されている状態から息ではないと判定された場合にオンに設定される救済フラグを示すデータである。息判定フラグデータＤｊは、入力している音声を示す音声波形が息である判定された場合にオンに設定される息判定フラグを示すデータである。
【００７７】
音データＤｋは、息が入力されたことに応じて、ゲーム装置１から音を発生させるための音を示すデータである。画像データＤｍは、ゲーム画像をゲーム装置１に表示するための画像を示すデータである。
【００７８】
次に、図７を参照して、ゲーム装置１の動作について説明する。まず、ゲーム装置１の電源（電源ボタン１４Ｆ）がＯＮされると、ＣＰＵ３１によってブートプログラム（図示せず）が実行され、これにより内蔵メモリまたはメモリカード２８やメモリカード２９に格納されているゲームプログラムがメインメモリ３２にロードされる。そして、当該ロードされたゲームプログラムがＣＰＵ３１で実行されることによって、図７に示す各ステップ（図７〜図９では「Ｓ」と略称する）が実行される。
【００７９】
図７において、ＣＰＵ３１は、ゲーム処理の初期設定を行って（ステップ５１）、処理を次のステップに進める。例えば、ＣＰＵ３１が上記ステップ５１で行う初期設定として、メインメモリ３２に格納されている各パラメータを所定の数値や状態に初期化する。例えば、ＣＰＵ３１は、救済フラグデータＤｉおよび息判定フラグデータＤｊがそれぞれ示すフラグを全てオフに設定する。また、上記ステップ５１で行う初期設定として、ＣＰＵ３１は、仮想世界の初期設定（仮想世界の設定、背景の設定、表示領域の設定、各オブジェクトの配置等）を行い、設定された表示領域に対応する仮想世界を上側ＬＣＤ２２および／または下側ＬＣＤ１２に表示する。
【００８０】
次に、ＣＰＵ３１は、マイク入力データＤａ１として格納されている最新の１フレーム分の音声データ（サンプル）を取得し（ステップ５２）、次のステップに処理を進める。
【００８１】
次に、ＣＰＵ３１は、上記ステップ５２で取得した音声データが示す音声波形において、ゼロクロス数ＺＣおよびクリップ回数ＣＬをカウントし（ステップ５３）、次のステップに処理を進める。例えば、ＣＰＵ３１は、上記ステップ５２で取得した音声データが示す１フレーム分の音声波形の振幅（ゲイン）が、マイナスからプラスへ変化するときに０レベルと交差する点の数をゼロクロス数ＺＣとしてカウントし、当該ゼロクロス数ＺＣを用いてゼロクロス数データＤｂを更新する。また、ＣＰＵ３１は、上記ステップ５２で取得した音声データが示す１フレーム分の音声波形の振幅（ゲイン）がクリップされているサンプル数をクリップ回数ＣＬとしてカウントし、当該クリップ回数ＣＬを用いてクリップ回数データＤｃを更新する。例えば、ＣＰＵ３１は、マイク４３の入力レンジが−１２８〜＋１２７である場合、上記ステップ５２で取得した音声データ（サンプル）のうち、−１２６以下および＋１２６以上の値を示すサンプルの数を、上記クリップ回数ＣＬとしてカウントする。
【００８２】
次に、ＣＰＵ３１は、評価値算出処理を行って（ステップ５４）、次のステップに処理を進める。以下、図８を参照して、上記ステップ５４で行う評価値算出処理について説明する。
【００８３】
図８において、ＣＰＵ３１は、上記ステップ５２で取得した音声データが示す音声波形において、時間間隔ｔをそれぞれ算出し（ステップ７１）、次のステップに処理を進める。ここで、時間間隔ｔは、上記音声波形の振幅（ゲイン）がマイナスからプラスへ変化するゼロクロスのうち、連続する２つのゼロクロスで規定される時間長であり、当該音声波形において検出される全てのゼロクロスに対する時間長がそれぞれ算出される。そして、ＣＰＵ３１は、算出されたそれぞれの時間間隔ｔを用いて、時間間隔データＤｄを更新する。
【００８４】
次に、ＣＰＵ３１は、上記ステップ７１で算出された時間間隔ｔを、それぞれ時間長さ毎に所定数のカテゴリに分類し、各カテゴリに分類された時間間隔ｔの数をカウントして（ステップ７２）、次のステップに処理を進める。例えば、ＣＰＵ３１は、短時間カテゴリ（時間間隔ｔが１３サンプル数以下）、中間時間カテゴリ（時間間隔ｔが１４サンプル以上、かつ、４１サンプル以下）、長時間カテゴリ（時間間隔ｔが４２サンプル以上）の３つのカテゴリに分別する。そして、ＣＰＵ３１は、上記ステップ７１で算出された時間間隔ｔに対して、短時間カテゴリに属する時間間隔ｔの数（短時間間隔数Ｎｔｓ）、中間時間カテゴリに属する時間間隔ｔの数（中間時間間隔数Ｎｔｍ）、長時間カテゴリに属する時間間隔ｔの数（長時間間隔数Ｎｔｌ）をそれぞれカウントし、当該カウント結果を用いて分別カウントデータＤｅを更新する。
【００８５】
次に、ＣＰＵ３１は、平均値と各カテゴリに属するカウント数との差を算出し（ステップ７３）、当該差の累積値を評価値Ｅとして算出して（ステップ７４）、当該サブルーチンによる処理を終了する。具体的には、ＣＰＵ３１は、平均値Ａｖを、
Ａｖ＝ＺＣ／Ｃｎ
で算出する。ここで、ＺＣは、上記ステップ５３でカウントしたゼロクロス数ＺＣであり、ゼロクロス数データＤｂを参照することによって得られる。また、Ｃｎは、上記ステップ７２で分別するカテゴリ数であり、上述した例ではＣｎ＝３である。そして、ＣＰＵ３１は、平均値Ａｖと各カテゴリに属するカウント数（短時間間隔数Ｎｔｓ、中間時間間隔数Ｎｔｍ、長時間間隔数Ｎｔｌ）との差（Ｄｎｔｓ、Ｄｎｔｍ、Ｄｎｔｌ）を、
Ｄｎｔｓ＝｜Ａｖ−Ｎｔｓ｜＊Ｓ
Ｄｎｔｍ＝｜Ａｖ−Ｎｔｍ｜＊Ｓ
Ｄｎｔｌ＝｜Ａｖ−Ｎｔｌ｜＊Ｓ
でそれぞれ算出する。なお、Ｓは、スケーリング値を示す係数であり、例えばＳ＝１６に設定される。そして、ＣＰＵ３１は、評価値Ｅを、
Ｅ＝Ｄｎｔｓ＋Ｄｎｔｍ＋Ｄｎｔｌ
で算出し、算出された評価値Ｅを用いて評価値データＤｆを更新する。
【００８６】
図７に戻り、上記ステップ５４の評価値算出処理の後、ＣＰＵ３１は、閾値算出処理を行い（ステップ５５）、次のステップに処理を進める。以下、図９を参照して、上記ステップ５５で行う閾値算出処理について説明する。
【００８７】
図９において、ＣＰＵ３１は、クリップ回数ＣＬが所定回数（ＣＬｔ１）以上、かつ、ゼロクロス数ＺＣが所定数（ＺＣｔ）以上であるか否かを判断する（ステップ８１）。そして、ＣＰＵ３１は、クリップ回数ＣＬ≧所定回数ＣＬｔ１、かつ、ゼロクロス数ＺＣ≧所定数ＺＣｔである場合、次のステップ８２に処理を進める。一方、ＣＰＵ３１は、クリップ回数ＣＬ＜所定回数ＣＬｔ１またはゼロクロス数ＺＣ＜所定数ＺＣｔである場合、次のステップ８３に処理を進める。ここで、クリップ回数ＣＬおよびゼロクロス数ＺＣは、ゼロクロス数データＤｂおよびクリップ回数データＤｃを参照することによって、上記ステップ５３でカウントされた値が用いられる。また、所定回数ＣＬｔ１および所定数ＺＣｔは、息判定処理においてクリップ回数ＣＬおよびゼロクロス数ＺＣをそれぞれ評価するための閾値であり、例えば所定回数ＣＬｔ１＝１００および所定数ＺＣｔ＝３１に設定される。
【００８８】
ステップ８２において、ＣＰＵ３１は、閾値Ｔを２０００に設定して閾値データＤｇを更新し、当該サブルーチンによる処理を終了する。
【００８９】
一方、ステップ８３において、ＣＰＵ３１は、クリップ回数ＣＬが０より大きいか否か、すなわちクリップが生じたか否かを判断する。そして、ＣＰＵ３１は、クリップ回数ＣＬ＞０の場合、次のステップ８４に処理を進める。一方、ＣＰＵ３１は、クリップ回数ＣＬ＝０の場合、次のステップ８７に処理を進める。
【００９０】
ステップ８４において、ＣＰＵ３１は、クリップ回数ＣＬが所定回数（ＣＬｔ２）より多いか否かを判断する。そして、ＣＰＵ３１は、クリップ回数ＣＬ＞所定回数ＣＬｔ２である場合、閾値Ｔを５００に設定して閾値データＤｇを更新し（ステップ８５）、当該サブルーチンによる処理を終了する。一方、ＣＰＵ３１は、クリップ回数ＣＬ≦所定回数ＣＬｔ２である場合、閾値Ｔを２００に設定して閾値データＤｇを更新し（ステップ８６）、当該サブルーチンによる処理を終了する。ここで、所定回数ＣＬｔ２は、息判定処理においてクリップ回数ＣＬを評価するための閾値であり、例えば所定回数ＣＬｔ２＝９０に設定される。
【００９１】
一方、ステップ８７において、ＣＰＵ３１は、息判定フラグデータＤｊを参照して、息判定フラグがオンに設定されているか否かを判断する。そして、ＣＰＵ３１は、息判定フラグがオンの場合、閾値Ｔを３００に設定して閾値データＤｇを更新し（ステップ８８）、当該サブルーチンによる処理を終了する。一方、ＣＰＵ３１は、息判定フラグがオンの場合、閾値Ｔを１６に設定して閾値データＤｇを更新し（ステップ８９）、当該サブルーチンによる処理を終了する。
【００９２】
図７に戻り、上記ステップ５５の閾値算出処理の後、ＣＰＵ３１は、評価値Ｅが閾値Ｔ以下か否かを判断する（ステップ５６）。そして、評価値Ｅが閾値Ｔ以下の場合、ＣＰＵ３１は、入力している音声を示す音声波形が息であると判定して、次のステップ５７に処理を進める。一方、評価値Ｅが閾値Ｔより大きい場合、ＣＰＵ３１は、入力している音声を示す音声波形が息でないと判定して、次のステップ６２に処理を進める。なお、ＣＰＵ３１は、評価値データＤｆが示す評価値Ｅおよび閾値データＤｇが示す閾値Ｔを用いて、上記ステップ５６における判定を行う。
【００９３】
ステップ５７において、ＣＰＵ３１は、息認識回数Ｃに１を加算して更新し、次のステップに処理を進める。例えば、ＣＰＵ３１は、連続息認識カウントデータＤｈが示す息認識回数Ｃに１を加算し、加算後の息認識回数Ｃを用いて連続息認識カウントデータＤｈを更新する。
【００９４】
次に、ＣＰＵ３１は、救済フラグをオフに設定して救済フラグデータＤｉを更新し（ステップ５８）、次のステップに処理を進める。
【００９５】
次に、ＣＰＵ３１は、息認識回数Ｃが所定回数（Ｃｔ）以上か否かを判断する（ステップ５９）。そして、ＣＰＵ３１は、息認識回数Ｃ≧所定回数Ｃｔの場合、次のステップ６０に処理を進める。一方、ＣＰＵ３１は、息認識回数Ｃ＜所定回数Ｃｔの場合、次のステップ６７に処理を進める。ここで、所定回数Ｃｔは、現時点が息開始期間か息継続期間かを判別するための閾値である。例えば、息が吹きかけ始められてから２フレーム間を息開始期間とする場合、所定回数Ｃｔ＝２に設定される。
【００９６】
ステップ６０において、ＣＰＵ３１は、息判定フラグをオンに設定して息判定フラグデータＤｊを更新し、次のステップに処理を進める。
【００９７】
次に、ＣＰＵ３１は、入力された音声が息である場合の処理を行い（ステップ６１）、次のステップ６８に処理を進める。例えば、ＣＰＵ３１は、画像データＤｍを用いて仮想世界に配置された楽器を演奏する画像を下側ＬＣＤ１２および／または上側ＬＣＤ２２に表示する処理を行うとともに、音データＤｋを用いて当該楽器の演奏音色に応じた音をスピーカから発生させる処理を行う。他の例として、ＣＰＵ３１は、画像データＤｍを用いて判別された息に応じた現象が仮想世界に生じた画像を生成し、当該仮想世界を表す画像を下側ＬＣＤ１２および／または上側ＬＣＤ２２に表示する処理を行う。
【００９８】
一方、ＣＰＵ３１は、評価値Ｅが閾値Ｔより大きいと判断された場合（ステップ５６でＮｏ）、息判定フラグデータＤｊを参照して、息判定フラグがオンに設定されているか否かを判断する（ステップ６２）。そして、ＣＰＵ３１は、息判定フラグがオンの場合、次のステップ６３に処理を進める。一方、ＣＰＵ３１は、息判定フラグがオフの場合、次のステップ６６に処理を進める。
【００９９】
ステップ６３において、ＣＰＵ３１は、救済フラグデータＤｉを参照して、救済フラグがオフに設定されているか否かを判断する。そして、ＣＰＵ３１は、救済フラグがオフの場合、次のステップ６４に処理を進める。一方、ＣＰＵ３１は、救済フラグがオンの場合、次のステップ６６に処理を進める。
【０１００】
ステップ６４において、ＣＰＵ３１は、息認識回数Ｃに１を加算して更新し、次のステップに処理を進める。例えば、ＣＰＵ３１は、連続息認識カウントデータＤｈが示す息認識回数Ｃに１を加算し、加算後の息認識回数Ｃを用いて連続息認識カウントデータＤｈを更新する。
【０１０１】
次に、ＣＰＵ３１は、救済フラグをオンに設定して救済フラグデータＤｉを更新し（ステップ６５）、上記ステップ５９に処理を進める。
【０１０２】
一方、ステップ６６において、ＣＰＵ３１は、息認識回数Ｃを０に更新し、次のステップに処理を進める。例えば、ＣＰＵ３１は、連続息認識カウントデータＤｈが示す息認識回数Ｃに０に更新する。
【０１０３】
次に、ＣＰＵ３１は、息判定フラグをオフに設定して息判定フラグデータＤｊを更新し（ステップ６７）、次のステップ６８に処理を進める。
【０１０４】
ステップ６８において、ＣＰＵ３１は、ゲーム処理を終了するか否かを判断する。ゲーム処理を終了する条件としては、例えば、現在ゲーム処理されているゲームがゲームオーバーとなったことや、プレイヤがゲーム処理を終了する操作を行ったこと等がある。ＣＰＵ３１は、ゲーム処理を終了しない場合、上記ステップ５２に戻って処理を繰り返す。一方、ＣＰＵ３１は、ゲーム処理を終了する場合、当該フローチャートによる処理を終了する。
【０１０５】
次に、上述した各処理動作と息判別処理との関係について説明する。
【０１０６】
上記ステップ５６〜ステップ６１の処理から明らかなように、ゲーム装置１では、評価値Ｅが閾値Ｔ以下である場合に入力された音声が息であると判定している。つまり、閾値Ｔの値が小さいほど入力された音声が息であると判定されにくくなることになる。ここで、図９に示す閾値算出処理では、上記ステップ８９において閾値Ｔが最も小さな値に設定されている。また、上記ステップ８９の処理は、入力された音声を示す音声波形においてクリップ回数ＣＬが０（ステップ８３でＮｏ）であり、かつ、息判定フラグがオフ（ステップ８７でＮｏ）、すなわち前回の処理において音声が息であると判定されていない状態または現時点が息開始期間中である場合に行われる。つまり、前回の処理において音声が息であると判定されていない状態または現時点が息開始期間中である場合では、入力された音声を示す音声波形における振幅（ゲイン）が所定の大きさ以上とならない限り、当該音声波形に対する周波数分布の判定において厳しい判定条件が設定されることになる。上記実施例では、上記ステップ８９において閾値Ｔ＝１６に設定しているが、評価値Ｅがこの閾値Ｔの値以下となることは、実験等により得られた経験値においては非常に希となるものである。したがって、息の吹きかけ始めにおいて、プレイヤがゲーム装置１に息の入力を認識させるためには、入力された音声を示す音声波形における振幅（ゲイン）が所定の大きさ以上となるような強い息を吹きかける必要がある。なお、上述したように、上記ステップ８９では、上記ステップ５６において肯定判定されることが希な値に閾値Ｔを設定しているが、上記ステップ５６において必ず否定判定される値（例えば、負の値）に閾値Ｔを設定してもかまわない。この場合も、息の吹きかけ始めにおいて、プレイヤがゲーム装置１に息の入力を認識させるためには、入力された音声を示す音声波形における振幅（ゲイン）が所定の大きさ以上となるような強い息を吹きかけることが必要となる。
【０１０７】
その一方で、入力された音声を示す音声波形においてクリップ回数ＣＬが０（ステップ８３でＮｏ）であり、かつ、息判定フラグがオン（ステップ８７でＹｅｓ）、すなわち前回の処理において音声が息であると判定された息継続期間中である場合、上記ステップ８８において閾値Ｔがステップ８９で設定される値より大きな値（閾値Ｔ＝３００）に設定されている。これは、現時点が息継続期間中である場合では、入力された音声を示す音声波形における振幅（ゲイン）が所定の大きさ以上とならなくても、当該音声波形に対する周波数分布の判定において息入力であると判定されれば、息入力として取り扱う設定となる。ここで、息がされた場合の音声波形は、プレイヤの声がマイク４３に入力された場合の音声波形やノイズによる入力波形と比較すると、周波数分布が特定の周波数帯に集中することなく全体的にばらつく傾向にある。したがって、息が入力された場合の音声波形は、評価値Ｅが小さくなる傾向があるため、上記ステップ８８で設定される閾値Ｔは、このような音声波形を息入力であると判定するための閾値となっている。このように、息継続期間では音声波形が所定の振幅未満であっても息であると判定されことがあり得るため、吹きかけられた息が漸減的に弱くなっても息入力の有無を適切に判別することができる。
【０１０８】
また、上記ステップ６２〜ステップ６５の処理は、評価値Ｅが閾値Ｔ以下である場合であっても、ゲーム装置１が入力された音声を息であると判定している。これは、入力された音声を息であるとゲーム装置１が判定した後に、さらに継続して息が吹きかけられている期間（息継続期間）中において、１フレーム間だけ息認識が途切れた場合に当該１フレーム間も息が入力されているものと見なすことを目的としている。例えば、プレイヤがゲーム装置１に息を吹きかけていたとしても、ノイズ等によって息が入力されていないとゲーム装置１が誤判定した場合、救済処理として当該誤判定が１フレーム間であれば息が入力されたものとして取り扱われる。なお、上記救済処理を１フレーム間より長く継続したい場合は、当該救済処理を継続したい期間に応じて上記ステップ６５において救済フラグをオンするタイミングを遅らせればよい。
【０１０９】
また、上記ステップ５５における閾値算出処理では、音声入力の大きさ（振幅）に応じて周波数分布を判定するための閾値Ｔを変動させている。ただし、所定の範囲より大きな音声入力の振幅は、クリップされてしまうため、クリップされる音声波形に関しては、クリップ期間（クリップ回数ＣＬ）を音声入力の大きさとみなしている。以下、上記ステップ５５の閾値算出処理で設定される閾値Ｔによって区別する音声波形について説明する。
【０１１０】
上記ステップ８２〜ステップ８６において設定される閾値Ｔは、クリップ回数ＣＬが１以上の場合、すなわち相対的に強い息がマイク４３に入力された場合に当該入力の音声波形を判定するために設けられる。一方、上記ステップ８７〜ステップ８９において設定される閾値Ｔは、クリップ回数ＣＬが０の場合、すなわち相対的に弱い息がマイク４３に入力された場合に当該入力の音声波形を判定するために設けられる。
【０１１１】
例えば、クリップ回数ＣＬが１以上所定回数ＣＬｔ２以下となる音声がマイク４３に入力された場合、上記ステップ８６において閾値Ｔ＝２００が設定される。ここで、上述したように、息が入力された場合の音声波形は、プレイヤの声がマイク４３に入力された場合の音声波形やノイズによる入力波形と比較すると、周波数分布が特定の周波数帯に集中することなく全体的にばらつく傾向にある。したがって、息が入力された場合の音声波形は、評価値Ｅが小さくなる傾向があるため、上記ステップ８６で設定される閾値Ｔは、このような音声波形を息入力であると判定するための閾値となっている。なお、息が入力された場合の音声波形は、評価値Ｅが小さくなる傾向があるもののその波形は不規則であるため、上記ステップ８６で設定される閾値Ｔは、実験等の経験値に基づいて、ある程度の大きくなった評価値Ｅであっても息入力であると判定できるような値に設定されている。
【０１１２】
また、クリップ回数ＣＬが所定回数ＣＬｔ２より多くなる音声がマイク４３に入力された場合、上記ステップ８５において閾値Ｔ＝５００が設定される。ここで、息が入力された場合の音声波形は、プレイヤの声がマイク４３に入力された場合の音声波形やノイズによる入力波形と比較すると、周波数分布が全体的にばらつく傾向にあるものの、上述したように入力された息の強さが強くなるとゼロクロス数が多くなる。そして、このゼロクロス数の増加によって、周波数分布のバラツキも多くなって評価値Ｅが大きくなる傾向がある。したがって、上記ステップ８５で設定される閾値Ｔは、実験等の経験値に基づいて、入力された息の強さがより強い場合にゼロクロス数が増加することによって、ある程度大きくなった評価値Ｅであっても息入力であると判定できるような値に設定されている。
【０１１３】
さらに強い息がマイク４３に入力された場合、各時間間隔ｔが相対的に短い時間のカテゴリ（例えば、短時間カテゴリ）に偏る傾向があり、周波数分布だけでは、プレイヤの声がマイク４３に入力された場合の音声波形やノイズによる入力波形との区別が困難となる。したがって、上記ステップ８２においては、閾値Ｔ＝２０００に設定することによって、周波数分布を用いた息判別（すなわち、評価値Ｅによる判定）では実験等の経験値に基づけばほとんど息入力であると判定されるような値に設定されている。その一方で、実験等の経験値に基づいて、さらに強い息が入力された場合では容易に到達するが、プレイヤの声や物音の入力では容易に到達しないクリップ回数ＣＬおよびゼロクロス数ＺＣに関する判定基準（具体的には、クリップ回数ＣＬが１００以上、かつ、ゼロクロス数ＺＣが３１以上）を設けることによって、さらに強い息入力と他の入力とを判別している。なお、上述したように、上記ステップ８２では、上記ステップ５６においてほとんど肯定判定される値に閾値Ｔを設定しているが、上記ステップ５６において必ず肯定判定される値（例えば、無限大の値）に閾値Ｔを設定してもかまわない。この場合、音声波形に対する周波数分布の判定結果とは無関係に、クリップ回数ＣＬおよびゼロクロス数ＺＣに関する判定のみで息の入力を判別することになる。
【０１１４】
また、クリップ回数ＣＬが０となる相対的に弱い音声がマイク４３に入力された場合、息開始期間（息判定フラグがオフ）では上記ステップ８９において閾値Ｔ＝１６が設定される。ここで、クリップが生じない相対的に弱い息がマイク４３に入力された場合、ゼロクロス数が相対的に減少する。そして、このゼロクロス数の減少に伴って、周波数分布のバラツキに偏りが生じることもある。このような音声波形を息が入力された音声波形であると認識しようとする場合、周波数分布のバラツキに偏りがある場合を考慮する必要があるため、誤認識が生じることが考えられる。上述したように、このような誤認識を防ぐために、息開始期間においては閾値Ｔを極端に小さな値に設定することによって、実験等の経験値においてはほとんどの場合に周波数分布の判定結果において息の入力とは判定されない値に設定されている。つまり、息の吹きかけ始めにおいて、プレイヤがゲーム装置１に息の入力を認識させるためには、入力された音声を示す音声波形における振幅（ゲイン）が所定の大きさ以上となるような強い息の吹きかけが要求される。
【０１１５】
その一方で、クリップ回数ＣＬが０となる相対的に弱い音声がマイク４３に入力された場合、息継続期間（息判定フラグがオン）では上記ステップ８８において閾値Ｔ＝３００が設定される。これは、上述したように、息が入力された場合の音声波形は、プレイヤの声がマイク４３に入力された場合の音声波形やノイズによる入力波形と比較すると、周波数分布が特定の周波数帯に集中することなく全体的にばらつく傾向にある。したがって、息が入力された場合の音声波形は、評価値Ｅが小さくなる傾向があるため、上記ステップ８８で設定される閾値Ｔは、このような音声波形を息入力であると判定するための閾値となっている。つまり、息継続期間中である場合では、入力された音声を示す音声波形における振幅（ゲイン）が所定の大きさ以上とならなくても、当該音声波形に対する周波数分布の判定において息入力であると判定されれば、息入力として取り扱う設定となる。
【０１１６】
このような閾値Ｔの設定によって、ゲーム装置１が入力された音声が息であると判定するためには、息開始期間では音声波形における振幅（ゲイン）に基づいた息入力判定における肯定判定が必須となることに対して、息継続期間では音声波形における振幅（ゲイン）に基づいた息入力判定および周波数分布に基づいた息入力判定の少なくとも一方が肯定判定されることによって音声が息であると判定される。具体的には、クリップ回数ＣＬが０（ステップ８３でＮｏ）、すなわち音声波形における振幅（ゲイン）に基づいた息入力判定が否定判定の場合、息判定フラグがオン（ステップ８７でＹｅｓ）、すなわち息継続期間であれば周波数分布に基づいた息入力判定において肯定判定され得る閾値Ｔが設定される。つまり、息継続期間では、音声波形における振幅（ゲイン）に基づいた息入力判定が否定判定であっても、周波数分布に基づいた息入力判定で肯定判定されれば息入力であると判定される。一方、クリップ回数ＣＬが０（ステップ８３でＮｏ）、すなわち音声波形における振幅（ゲイン）に基づいた息入力判定が否定判定の場合、息判定フラグがオフ（ステップ８７でＮｏ）、すなわち息開始期間であれば周波数分布に基づいた息入力判定においてほとんどまたは必ず否定判定される閾値Ｔが設定される。つまり、息開始期間では、音声波形における振幅（ゲイン）に基づいた息入力判定が否定判定であると、息入力ではないと判定される。
【０１１７】
また、ステップ８２で設定される閾値Ｔは、周波数分布に基づいた判定においてほとんど肯定判定されるまたは必ず肯定判定される値に設定されるため、実質的にはクリップ回数ＣＬおよびゼロクロス数ＺＣに基づいた判定によって、音声が息であると判定される。そして、ステップ８２で設定される閾値Ｔは、息判定フラグの状態とは無関係に行われる処理、すなわち、息開始期間でも息継続期間でも行われる処理であるため、クリップ回数ＣＬおよびゼロクロス数ＺＣが所定の判定条件を満たせば、息開始期間および息継続期間の何れであっても音声波形における周波数分布に基づいた判定とは無関係に息入力であると判定される。
【０１１８】
つまり、息開始期間においては、音声波形の振幅に関する評価（第１評価）において肯定評価される（ステップ８１でＹｅｓまたはステップ８３でＹｅｓ）ことが、マイク４３に息が入力されたと決定されるために必要となる。また、息開始期間においては、ステップ８２において閾値Ｔを設定する非常に強い息が入力されたケースを除けば、さらに音声波形の周波数分布に関する評価（ステップ８５またはステップ８６で設定された閾値Ｔを用いたステップ５６の評価；第２評価）において肯定評価されることによって、マイク４３に息が入力されたと決定される。一方、息継続期間においては、音声波形の周波数分布に関する評価（ステップ８８で設定された閾値Ｔを用いたステップ５６の評価；第２評価）において肯定評価されるだけでマイク４３に息が入力されたと決定される。また、息開始期間においては、音声波形の振幅に関する評価（第１評価）で非常に強い息が入力されたと判定された場合（ステップ８２において閾値Ｔを設定するケース）、上記第２評価を行うことなく息入力が決定されることもあり得る。
【０１１９】
また、上記閾値算出処理において、クリップ回数ＣＬ等を考慮することなく閾値を設定する場合（すなわち、上記ステップ８１〜ステップ８６の処理をせずに、上記ステップ８７〜ステップ８９の処理だけで閾値Ｔを算出する場合）、息開始期間においては、音声波形の周波数分布に関する評価において息入力によるものであると判定される閾値が相対的に厳しい値に設定された評価（ステップ８９で設定された閾値Ｔを用いたステップ５６の評価；第１評価）において肯定評価されることによって、マイク４３に息が入力されたと決定される。一方、息継続期間においては、音声波形の周波数分布に関する評価において息入力によるものであると判定される閾値が相対的に緩い値に設定された評価（ステップ８８で設定された閾値Ｔを用いたステップ５６の評価；第２評価）において肯定評価されることによって、マイク４３に息が入力されたと決定される。
【０１２０】
このように、本実施形態に係るゲーム装置１は、入力された音声が息であると判定するためには、息開始期間では第１評価（例えば、音声波形の振幅に関する評価）が息入力であると肯定評価されることが必要である。その一方で、息継続期間において入力された音声が息であると判定するためには、上記第１評価および第２評価（例えば、音声波形の周波数分布に関する評価）の少なくとも一方が息入力であると肯定評価されるだけでよい。一例として、息開始期間では音声波形が所定の振幅（ゲイン）以上となる強い息の吹きかけが必要であるとともに、息継続期間では当該音声波形が所定の振幅未満であっても息であると判定され得る。このように、息を認識する期間によって息であると判定する条件が異なるため、吹きかけられた息を適切に判別することができる。例えば、漸減的に強さが弱くなるような息が持続して吹きかけられた場合であっても、当該息を適切に判別することができる。また、息が吹きかけられていない状態において、入力されたノイズや物音等の息以外の入力を息と判定してしまうような誤判定も防止することができる。
【０１２１】
なお、上述した処理フローでは、入力された音声が息であると認識した回数（息認識回数Ｃ）が所定回数Ｃｔ以上となった場合に、上記ステップ６１における息入力に応じた処理を行っているが、他のタイミングで息入力に応じた処理を行ってもかまわない。例えば、入力された音声が息であると認識した直後から上記息入力に応じた処理を行ってもかまわない。この場合、上記ステップ６１の処理を上記ステップ５９の処理の直前（すなわち、上記ステップ５８の後であり、上記ステップ６５の後）で行うことによって、入力された音声が息であると認識した直後から上記息入力に応じた処理を行うことが可能となる。
【０１２２】
また、上述した説明では、入力された音声の周波数分布を評価した結果を示す評価値Ｅを算出するために、ゼロクロス、ゼロクロス数、ゼロクロス間の時間間隔を用いたが、他の方式を用いて音声の周波数分布を分析した結果を評価値として用いてもかまわない。一例として、入力された音声の音声波形を高速フーリエ変換処理（ＦＦＴ：Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）することによって、入力された音声のスペクトラムを算出する。そして、算出したスペクトラムと予め設定された息の音声についてのスペクトラムとの近似度合を評価値として算出してもよい。他の例として、息を吹きかける音（息の音声）についての音声の波形パターンを予め設定し、記憶しておいた波形パターンと入力された音声の音声波形との近似度合を評価値として算出してもよい。
【０１２３】
また、上述した説明では、入力された音声の強さを判断するパラメータとして、音声信号の振幅（ゲイン）を用いたが、他のパラメータを用いてもかまわない。所定の期間内（１フレーム内）において、入力された音声の強さを表すことができるパラメータであれば、当該パラメータを用いて同様の処理ができることは言うまでもない。
【０１２４】
また、上述した説明では息判別処理をゲーム装置１で行う例を用いたが、上記息判別処理における処理ステップの少なくとも一部を他の装置で行ってもかまわない。一例として、ゲーム装置１に対して、マイク等の音声入力デバイスが音声入力装置として別に設けられる場合、当該音声入力装置に音声信号を処理する処理装置を設けることによって、当該音声入力装置からゲーム装置１へ様々な処理段階の音声データを送ることが考えられる。第１の例として、上述した例のように、音声入力装置から入力した音声の振幅（ゲイン）を示す音声信号をゲーム装置１へ送信してもよい。第２の例として、上記ステップ５３でカウントされるゼロクロス数およびクリップ回数と上記ステップＳ７１で算出される時間間隔とを音声入力装置の処理装置で算出し、当該算出結果を示すデータを音声入力装置からゲーム装置１へ送信してもよい。第３の例として、上記ステップ５４で算出される評価値上記ステップ５５で算出される閾値を音声入力装置の処理装置で算出し、当該算出結果を示すデータを音声入力装置からゲーム装置１へ送信してもよい。このように、様々な処理段階の音声データを音声入力装置からゲーム装置１へ送信することが考えられる。
【０１２５】
他の例として、ゲーム装置１が他の装置（例えば、サーバ）と通信可能に構成されている場合、上記息判別処理における処理ステップの少なくとも一部を当該他の装置で行うことも考えられる。例えば、上述した説明では、音声データの取得、音声データの分析、評価値の算出、閾値の算出、息の判別、および息入力に応じた処理を、全てゲーム装置１が行っているが、これらの処理の一部を他の装置が行ってもよい。第１の例として、他の装置が音声データの分析、評価値の算出、閾値の算出、および息の判別を行う場合、取得された音声データをゲーム装置１から他の装置へ送信し、息の判別結果を他の装置からゲーム装置１へ送信するように構成すれば、同様の息判別処理が可能となる。第２の例として、他の装置が音声データの分析、評価値の算出、閾値の算出、息の判別、および息入力に応じた処理を行う場合、取得された音声データをゲーム装置１から他の装置へ送信することによって、同様の息判別処理が可能となるとともに、他の装置において実現されている仮想空間に息の影響を与える処理（例えば、他の装置で動作しているゲームに参加してゲーム進行を共有するオンラインゲーム）に適用することも可能となる。第３の例として、他の装置が息入力に応じた処理を行う場合、入力された音声が息であると判定された場合に当該判定結果を示すデータをゲーム装置１から他の装置へ送信することによって、同様の息判別処理が可能となるとともに、他の装置において実現されている仮想空間に息の影響を与える処理に適用することも可能となる。
【０１２６】
また、上記実施例では、携帯型のゲーム装置１を用いて説明したが、据置型のゲーム装置や、一般的なパーソナルコンピュータ等の情報処理装置で本発明の息判別プログラムを実行して、本発明を実現してもかまわない。
【０１２７】
また、上述したゲーム装置１の形状や、それに設けられている各種操作ボタン１４やタッチパネル１３の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述したゲーム処理で用いられる処理順序、係数、閾値、数式、設定値、判定に用いられる値等は、単なる一例に過ぎず他の順序や値であっても、本発明を実現できることは言うまでもない。
【０１２８】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示にすぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【産業上の利用可能性】
【０１２９】
本発明の息判別プログラムおよび息判別装置は、吹きかけられた息を適切に判別することができ、息が認識された結果に応じて動作するゲーム装置等の息判別装置に有用であり、当該息判別装置で実行されるゲームプログラム等に含まれる息判別プログラムとして有用である。
【符号の説明】
【０１３０】
１…ゲーム装置
１１…下側ハウジング
１２…下側ＬＣＤ
１３…タッチパネル
１４…操作ボタン
１５、２６…ＬＥＤ
１６…マイクロフォン用孔
２１…上側ハウジング
２２…上側ＬＣＤ
２３…内側カメラ
２４…音抜き孔
２５…外側カメラ
２７…タッチペン
２８、２９…メモリカード
３１…ＣＰＵ
３２…メインメモリ
３３…メモリ制御回路
３４…保存用データメモリ
３５…プリセットデータ用メモリ
３６、３７…メモリカードＩ／Ｆ
３８…無線通信モジュール
３９…ローカル通信モジュール
４０…ＲＴＣ
４１…電源回路
４２…Ｉ／Ｆ回路
４３…マイク
４４…アンプ
【図１】
2011095595.tif 000003
【図２】
2011095595.tif 000004
【図３】
2011095595.tif 000005
【図４】
2011095595.tif 000006
【図５】
2011095595.tif 000007
【図６】
2011095595.tif 000008
【図７】
2011095595.tif 000009
【図８】
2011095595.tif 000010
【図９】
2011095595.tif 000011
【手続補正書】
【提出日】平成21年12月4日(2009.12.4)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
また、第２評価手段は、時間間隔算出手段、時間間隔分布作成手段、およびばらつき評価手段を含んでもよい。時間間隔算出手段は、音声信号に基づいて、音声入力デバイスに入力された音声を示す音声波形のゼロクロスを検出し、連続するゼロクロスの間の時間間隔をそれぞれ算出する。時間間隔分布作成手段は、時間間隔算出手段が算出した時間間隔の分布を作成する。ばらつき評価手段は、時間間隔の分布の各度数間が所定のばらつき以内であるか否かを評価する。この場合、第２評価手段は、時間間隔の分布の各度数間が所定のばらつき以内である場合に第２の判定条件を用いた評価を肯定評価としてもよい。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
また、第２評価手段は、音声信号が示す音声の大きさが所定の大きさ以上となる期間が第１の閾値以上であると第１評価手段が肯定評価した場合、音声信号が示す音声の周波数分布の各度数間のばらつきが第２の閾値以内である場合に第２の判定条件を用いた評価を肯定評価としてもよい。この場合、第２評価手段は、音声信号が示す音声の大きさが所定の大きさ以上となる期間が第１の閾値より長い第３の閾値以上であると第１評価手段が肯定評価した場合、音声信号が示す音声の周波数分布の各度数間のばらつきが第２の閾値よりも大きい第４の閾値以内である場合に第２の判定条件を用いた評価を肯定評価する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
上記によれば、音声信号が示す音声の大きさに応じて、音声の周波数分布の各度数間のばらつきを評価するための閾値を適切に設定することができる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
また、ゼロクロス計数手段として、さらにコンピュータを機能させてもよい。ゼロクロス計数手段は、音声信号に基づいて、音声入力デバイスに入力された音声を示す音声波形のゼロクロスを検出し、所定の期間における当該ゼロクロスの数をカウントする。この場合、第２評価手段は、音声信号が示す音声の大きさが所定の大きさ以上となる期間が第３の閾値より長い第５の閾値以上であると第１評価手段が肯定評価し、かつ、ゼロクロス計数手段がカウントしたゼロクロスの数が所定の数以上である場合、音声信号が示す音声の周波数分布の各度数間のばらつきが第４の閾値よりも大きい第６の閾値以内である場合に第２の判定条件を用いた評価を肯定評価してもよい。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
また、ばらつき評価手段は、時間間隔の分布の度数の均等度合いと各度数との差を累積した評価値を算出し、当該評価値が所定の閾値以下か否かを評価してもよい。この場合、第２評価手段は、評価値が閾値以下である場合に第２の判定条件を用いた評価を肯定評価としてもよい。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００６４
【補正方法】変更
【補正の内容】
【００６４】
本実施形態では、ある期間において得られた時間間隔ｔの分布が所定の判定条件を満たす場合、当該期間で得られた音声が息であると判定する。具体的には、ある期間において得られた時間間隔ｔを、時間長さ毎に所定数（例えば、３つ）のカテゴリに分類し、各カテゴリに分類された時間間隔ｔの数のバラツキが所定の閾値以内である場合、当該期間で得られた音声が息であると判定される。つまり、ある期間において得られた音声の周波数分布に基づいて、当該音声が息であるか否かを判定していることになる。なお、後述により明らかとなるが、時間間隔ｔの数のバラツキを判定するための閾値は、実験等により、経験的に得られたデータに基づいて予め設定されるものであり、得られた音声データに応じて（例えば、音声信号の振幅の大きさやゼロクロス数に応じて）閾値を変化させてもかまわない。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００６８
【補正方法】変更
【補正の内容】
【００６８】
本実施形態では、息開始期間においてマイク４３に息が入力されたと決定されるためには、第１の判定条件を用いた第１評価が息入力であると肯定評価されることが必要である。その一方で、息継続期間においてマイク４３に息が入力されたと決定されるためには、上記第１の判定条件を用いた第１評価および第２の判定条件を用いた第２評価の少なくとも一方が息入力であると肯定評価されるだけでよい。一例として、息開始期間においては、音声波形の振幅に関する評価（第１評価）において肯定評価されることが息入力の決定のために必要であり、典型的にはさらに音声波形の周波数分布に関する評価（第２評価）において肯定評価されることによって、マイク４３に息が入力されたと決定される。一方、息継続期間においては、音声波形の周波数分布に関する評価（第２評価）において肯定評価されるだけでマイク４３に息が入力されたと決定され、特殊な例として音声波形の振幅に関する評価（第１評価）が非常に強い息であると判定された場合、第２評価を行うことなく息入力が決定されることもあり得る。例えば、第１評価は、音声波形の振幅が閾値以上となる期間が所定の閾値以上であるか否か（第１の判定条件）を評価することによって、息入力の判定を行う。第２評価は、音声波形の周波数分布の各度数間のばらつきが所定の閾値以内か否か（第２の判定条件）を評価することによって、息入力の判定を行う。このように、息開始期間において息と判定されるためには、少なくとも第１評価が肯定評価されることが必要（典型的には、第１評価および第２評価が肯定評価されることが必要）となることに対して、息継続期間では第２評価が肯定評価されるだけでも息と判定されることになる。このように、息が吹きかけられている期間に応じて異なる息判定条件を設定することによって、漸減的に息の強さが弱くなる傾向に対応できるとともに、上述した誤判定を防止することができる。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
他の例として、息開始期間においては、音声波形が息入力によるものであると判定される閾値が相対的に厳しい値に設定された評価（第１評価）において肯定評価されることによって、マイク４３に息が入力されたと決定される。一方、息継続期間においては、音声波形が息入力によるものであると判定される閾値が相対的に緩い値に設定された評価（第２評価）において肯定評価されることによって、マイク４３に息が入力されたと決定される。例えば、第１評価は、音声波形の周波数分布の各度数間のばらつきが第１の閾値以内か否か（第１の判定条件）を評価することによって、息入力の判定を行う。第２評価は、音声波形の周波数分布の各度数間のばらつきが上記第１の閾値より大きい第２の閾値以内か否か（第２の判定条件）を評価することによって、息入力の判定を行う。このように、息開始期間において息と判定されるためには、相対的に厳しい閾値を用いた第１評価が肯定評価されることが必要となることに対して、息継続期間では上記第１評価で肯定評価されるまたは相対的に緩い閾値を用いた第２評価が肯定評価されることによって息と判定されることになる。このように、息が吹きかけられている期間に応じて異なる息判定条件を設定することによって、上述した誤判定を防止することができる。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００９１
【補正方法】変更
【補正の内容】
【００９１】
一方、ステップ８７において、ＣＰＵ３１は、息判定フラグデータＤｊを参照して、息判定フラグがオンに設定されているか否かを判断する。そして、ＣＰＵ３１は、息判定フラグがオンの場合、閾値Ｔを３００に設定して閾値データＤｇを更新し（ステップ８８）、当該サブルーチンによる処理を終了する。一方、ＣＰＵ３１は、息判定フラグがオフの場合、閾値Ｔを１６に設定して閾値データＤｇを更新し（ステップ８９）、当該サブルーチンによる処理を終了する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１０８
【補正方法】変更
【補正の内容】
【０１０８】
また、上記ステップ６２〜ステップ６５の処理は、評価値Ｅが閾値Ｔより大きい場合であっても、ゲーム装置１が入力された音声を息であると判定している。これは、入力された音声を息であるとゲーム装置１が判定した後に、さらに継続して息が吹きかけられている期間（息継続期間）中において、１フレーム間だけ息認識が途切れた場合に当該１フレーム間も息が入力されているものと見なすことを目的としている。例えば、プレイヤがゲーム装置１に息を吹きかけていたとしても、ノイズ等によって息が入力されていないとゲーム装置１が誤判定した場合、救済処理として当該誤判定が１フレーム間であれば息が入力されたものとして取り扱われる。なお、上記救済処理を１フレーム間より長く継続したい場合は、当該救済処理を継続したい期間に応じて上記ステップ６５において救済フラグをオンするタイミングを遅らせればよい。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１１２
【補正方法】変更
【補正の内容】
【０１１２】
また、クリップ回数ＣＬが所定回数ＣＬｔ２より多くなる音声がマイク４３に入力された場合、上記ステップ８５において閾値Ｔ＝５００が設定される。ここで、息が入力された場合の音声波形は、プレイヤの声がマイク４３に入力された場合の音声波形やノイズによる入力波形と比較すると、周波数分布が全体的にばらつく傾向にあるものの、上述したように入力された息の強さが強くなるとゼロクロス数が多くなる。そして、このゼロクロス数の増加によって、周波数分布の各度数間のバラツキも多くなって評価値Ｅが大きくなる傾向がある。したがって、上記ステップ８５で設定される閾値Ｔは、実験等の経験値に基づいて、入力された息の強さがより強い場合にゼロクロス数が増加することによって、ある程度大きくなった評価値Ｅであっても息入力であると判定できるような値に設定されている。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０１１４
【補正方法】変更
【補正の内容】
【０１１４】
また、クリップ回数ＣＬが０となる相対的に弱い音声がマイク４３に入力された場合、息開始期間（息判定フラグがオフ）では上記ステップ８９において閾値Ｔ＝１６が設定される。ここで、クリップが生じない相対的に弱い息がマイク４３に入力された場合、ゼロクロス数が相対的に減少する。そして、このゼロクロス数の減少に伴って、周波数分布の各度数間のバラツキに偏りが生じることもある。このような音声波形を息が入力された音声波形であると認識しようとする場合、周波数分布の各度数間のバラツキに偏りがある場合を考慮する必要があるため、誤認識が生じることが考えられる。上述したように、このような誤認識を防ぐために、息開始期間においては閾値Ｔを極端に小さな値に設定することによって、実験等の経験値においてはほとんどの場合に周波数分布の判定結果において息の入力とは判定されない値に設定されている。つまり、息の吹きかけ始めにおいて、プレイヤがゲーム装置１に息の入力を認識させるためには、入力された音声を示す音声波形における振幅（ゲイン）が所定の大きさ以上となるような強い息の吹きかけが要求される。
【手続補正１３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項４
【補正方法】変更
【補正の内容】
【請求項４】
前記第２評価手段は、
前記音声信号に基づいて、前記音声入力デバイスに入力された音声を示す音声波形のゼロクロスを検出し、連続するゼロクロスの間の時間間隔をそれぞれ算出する時間間隔算出手段と、
前記時間間隔算出手段が算出した時間間隔の分布を作成する時間間隔分布作成手段と、
前記時間間隔の分布の各度数間が所定のばらつき以内であるか否かを評価するばらつき評価手段とを含み、
前記第２評価手段は、前記時間間隔の分布の各度数間が所定のばらつき以内である場合に前記第２の判定条件を用いた評価を肯定評価とする、請求項２に記載の息判別プログラム。
【手続補正１４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項７
【補正方法】変更
【補正の内容】
【請求項７】
前記第２評価手段は、前記音声信号が示す音声の大きさが所定の大きさ以上となる期間が第１の閾値以上であると前記第１評価手段が肯定評価した場合、前記音声信号が示す音声の周波数分布の各度数間のばらつきが第２の閾値以内である場合に前記第２の判定条件を用いた評価を肯定評価とし、
前記第２評価手段は、前記音声信号が示す音声の大きさが所定の大きさ以上となる期間が前記第１の閾値より長い第３の閾値以上であると前記第１評価手段が肯定評価した場合、前記音声信号が示す音声の周波数分布の各度数間のばらつきが前記第２の閾値よりも大きい第４の閾値以内である場合に前記第２の判定条件を用いた評価を肯定評価する、請求項６に記載の息判別プログラム。
【手続補正１５】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項８
【補正方法】変更
【補正の内容】
【請求項８】
前記音声信号に基づいて、前記音声入力デバイスに入力された音声を示す音声波形のゼロクロスを検出し、所定の期間における当該ゼロクロスの数をカウントするゼロクロス計数手段として、さらに前記コンピュータを機能させ、
前記第２評価手段は、前記音声信号が示す音声の大きさが所定の大きさ以上となる期間が前記第３の閾値より長い第５の閾値以上であると前記第１評価手段が肯定評価し、かつ、前記ゼロクロス計数手段がカウントしたゼロクロスの数が所定の数以上である場合、前記音声信号が示す音声の周波数分布の各度数間のばらつきが前記第４の閾値よりも大きい第６の閾値以内である場合に前記第２の判定条件を用いた評価を肯定評価する、請求項７に記載の息判別プログラム。
【手続補正１６】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１１
【補正方法】変更
【補正の内容】
【請求項１１】
前記ばらつき評価手段は、前記時間間隔の分布の度数の均等度合いと各度数との差を累積した評価値を算出し、当該評価値が所定の閾値以下か否かを評価し、
前記第２評価手段は、前記評価値が前記閾値以下である場合に前記第２の判定条件を用いた評価を肯定評価とする、請求項４に記載の息判別プログラム。