(57)【特許請求の範囲】
【請求項１】
ユーザが被接触部の表面に接触していればその位置を、当該表面を解放していれば、その旨を検知する検知部、
所定の操作条件が満たされると、所定の出力音声の出力を開始する音声出力部、
継続して検知された接触位置の軌跡と、当該判定線とが交差する角度が直角に近づくように当該判定線の向きを調整する調整部
を備え、
当該所定の操作条件は、
継続して検知された接触位置の軌跡が所定の判定線を跨いだ場合
に満たされるものとする
ことを特徴とする音声処理装置。
【請求項２】
請求項１に記載の音声処理装置であって、
前記音声出力部は、所定の操作条件が満たされると、所定の遅延時間が経過してから所定の出力音声の出力を開始し、
前記所定の遅延時間は、前記所定の操作条件が継続して満たされる毎に、減少する
ことを特徴とする音声処理装置。
【請求項３】
ユーザが被接触部の表面に接触していればその位置を、当該表面を解放していれば、その旨を検知する検知部、
所定の操作条件が満たされると、所定の遅延時間が経過してから所定の出力音声の出力を開始する音声出力部
を備え、
当該所定の操作条件は、
(a)接触位置が検知された直後に解放が検出され、かつ解放が検出される直前の接触位置の変化が所定の閾速度以上の場合、あるいは、
(b)継続して検知された接触位置の変化の方向が、所定の誤差範囲内で逆向きになった場合、
に満たされるものとし、
前記所定の遅延時間は、前記所定の操作条件が継続して満たされる毎に、減少する
ことを特徴とする音声処理装置。
【請求項４】
請求項１から３のいずれか１項に記載の音声処理装置であって、
前記音声出力部は、
(d)接触が開始された位置から当該所定の操作条件が満たされた直前に検知された接触位置までの距離、ならびに
(e)直前に当該所定の操作条件が満たされた時点に検知された接触位置から次に当該所定の操作条件が満たされた直前に検知された接触位置までの距離、
に基づいて、当該出力を開始すべき出力音声の音量を決定する
ことを特徴とする音声処理装置。
【請求項５】
請求項１から４のいずれか１項に記載の音声処理装置であって、
前記音声出力部は所定の楽曲の伴奏音声をさらに出力し、
当該伴奏音声には、出力を開始してからの経過時間により指定される演奏タイミングと、当該演奏タイミングで出力されるべき演奏音声と、が対応付けられており、
前記音声出力部は、当該所定の操作条件が満たされ、且つ、当該いずれかの条件が満たされた時点が当該伴奏音声に対応付けられる演奏タイミングのいずれかに合致する場合、当該演奏タイミングで出力されるべき演奏音声を当該所定の出力音声として出力を開始する
ことを特徴とする音声処理装置。
【請求項６】
請求項５に記載の音声処理装置であって、
前記音声出力部は、当該所定の操作条件が満たされ、且つ、当該いずれかの条件が満たされた時点が当該伴奏音声に対応付けられる演奏タイミングのいずれにも合致しない場合、失敗を表す音声を当該所定の出力音声として出力を開始する
ことを特徴とする音声処理装置。
【請求項７】
請求項１から６のいずれか１項に記載の音声処理装置であって、
前記音声出力部は、所定の閾時間継続して検知された接触位置が、所定の位置範囲内である場合、当該開始された出力音声の出力を停止する
ことを特徴とする音声処理装置。
【請求項８】
請求項１から７のいずれか１項に記載の音声処理装置であって、
当該ユーザがつまんで当該表面に接触するための接触部材をさらに備え、
当該接触部材は、ピック形状、もしくは、ピック形状の先端に突起を配置した形状であり、
前記検知部は、当該接触部材が被接触部の表面に接触していればその位置を、当該表面を解放していれば、その旨を検知する
ことを特徴とする音声処理装置。
【請求項９】
検知部と音声出力部と調整部とを備える音声処理装置を用いた音声処理方法であって、
前記検知部が、
ユーザが被接触部の表面に接触していればその位置を、当該表面を解放していれば、その旨を検知する検知工程、
前記音声出力部が、
所定の操作条件が満たされると、所定の出力音声の出力を開始する音声出力工程、
前記調整部が、
継続して検知された接触位置の軌跡と、当該判定線とが交差する角度が直角に近づくように当該判定線の向きを調整する調整工程
を備え、
当該所定の操作条件は、
継続して検知された接触位置の軌跡が所定の判定線を跨いだ場合
に満たされるものとする
ことを特徴とする音声処理方法。
【請求項１０】
コンピュータを、
ユーザが被接触部の表面に接触していればその位置を、当該表面を解放していれば、その旨を検知する検知部、
所定の操作条件が満たされると、所定の出力音声の出力を開始する音声出力部、
継続して検知された接触位置の軌跡と、当該判定線とが交差する角度が直角に近づくように当該判定線の向きを調整する調整部
として機能させるプログラムであって、
当該所定の操作条件は、
継続して検知された接触位置の軌跡が所定の判定線を跨いだ場合
に満たされるものとする
ことを特徴とするプログラム。
【請求項１１】
コンピュータを、
ユーザが被接触部の表面に接触していればその位置を、当該表面を解放していれば、その旨を検知する検知部、
所定の操作条件が満たされると、所定の遅延時間が経過してから所定の出力音声の出力を開始する音声出力部
として機能させるプログラムであって、
当該所定の操作条件は、
(a)接触位置が検知された直後に解放が検出され、かつ解放が検出される直前の接触位置の変化が所定の閾速度以上の場合、あるいは、
(b)継続して検知された接触位置の変化の方向が、所定の誤差範囲内で逆向きになった場合、
に満たされるものとし、
前記所定の遅延時間は、前記所定の操作条件が継続して満たされる毎に、減少する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
タッチスクリーンなど、接触の有無、および、接触位置を検知できるようなハードウェアの特性を活かしつつ、楽器の演奏を模擬するのに好適な音声処理装置、音声処理方法、ならびにプログラムに関する。
【背景技術】
【０００２】
従来から、ギター演奏を模擬するゲームが提案されている。このような技術は、例えば、以下の文献に開示されている。
【特許文献１】特開２００１−２９３２４６号公報
【０００３】
特許文献１に開示の技術は、演奏曲の複数のリズム音から演奏曲のながれに応じた少なくとも一のリズム音を選択指示するネックボタンと、選択されたリズム音の出力タイミングを決定指示するピッキングブレードとを有する模擬ギターによって、音選択指示の出力タイミングで発音出力制御およびリズム入力操作評価を行うものである。
【０００４】
一方で、タッチスクリーンを備える携帯式ゲーム機が現在広く普及している。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、例えば、特許文献１に開示されるような楽器の演奏を模擬して楽しむ技術を、タッチスクリーンの特性を活かして、携帯式ゲーム機で実現することが強く求められている。
【０００６】
本発明は上記のような課題を解決するためのものであり、タッチスクリーンなど、接触の有無、および、接触位置を検知できるようなハードウェアの特性を活かしつつ、楽器の演奏を模擬するのに好適な音声処理装置、音声処理方法、ならびにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の第１の観点に係る音声処理装置は、検知部と、音声出力部と、を備える。
【０００８】
検知部は、ユーザが被接触部の表面に接触していればその位置を、当該表面を解放していれば、その旨を検知する。音声処理装置が実現されるゲーム装置では、被接触部は、例えば、液晶画面にタッチセンサが重畳されるタッチスクリーンなどであり、ユーザがタッチスクリーンの表面に接触すると、検知部はその接触位置を示す座標値を検知する。また、当該表面への接触がない状態、つまり解放された状態であれば、検知部は接触がない旨を検知する。なお、検知部は例えば、所定の時間間隔で検知を行なう。
【０００９】
音声出力部は、所定の操作条件が満たされると、所定の出力音声の出力を開始する。このとき、所定の操作条件は、
(a)接触位置が検知された直後に解放が検出され、かつ解放が検出される直前の接触位置の変化が所定の閾速度以上の場合、あるいは、
(b)継続して検知された接触位置の変化の方向が、所定の誤差範囲内で逆向きになった場合、
に満たされるものとする。
【００１０】
即ち、「(a)接触位置が検知された直後に解放が検出され、かつ解放が検出される直前の接触位置の変化が所定の閾速度以上の場合」とは、例えば、ユーザがタッチスクリーンに接触した後、振り切ってタッチスクリーンを解放したような場合である。ユーザによるこのような操作は、ギターの弦を一方向にストロークする操作を模擬する有効な操作であると判定し、音声出力部は出力音声の出力を開始する。
【００１１】
また、「(b)継続して検知された接触位置の変化の方向が、所定の誤差範囲内で逆向きになった場合」とは、例えば、ユーザがタッチスクリーンに接触しながら、接触位置を往復して移動させたような場合を想定している。接触位置の変化の方向は、完全に逆向きでなくとも、所定の範囲内でほぼ逆向きであればよい。例えば、接触位置の変化の方向が変わったとき、変わる直前の接触位置の変化の方向と、変わった直後の接触位置の変化の方向とが成す角度が所定の範囲内であればよい。
【００１２】
ユーザによるこのような「継続して検知された接触位置の変化の方向が、所定の誤差範囲内で逆向きになる」操作は、往復ストローク、即ち、ギターの弦をダウンストロークした後にアップストロークする操作（またはその逆）を模擬する有効な操作であると判定し、音声出力部は出力音声の出力を開始する。
【００１３】
このような音声処理装置によれば、所定の条件のもとで解放が検出されたときや、ストロークの方向を変えた瞬間に所定の出力音声の出力が開始される。したがって、ユーザは、本音声処理装置の実装されるゲーム装置を手にする方向や、ストロークを行なう方向を気にすることなく、ギターのシミュレーションを楽しむことが可能となる。
【００１４】
また、当該所定の操作条件は、前記(a)(b)の場合に満たされるものとするのに代えて、
(c) 継続して検知された接触位置の軌跡が所定の判定線を跨いだ場合
に満たされるものとしてもよい。
【００１５】
ここで、判定線とは、タッチスクリーンの表面の所定の位置に配置される線であり、音声出力部は、ユーザがタッチスクリーンに接触しながら判定線を跨いだ場合、その跨いだ時点で所定の出力音声の出力を開始する。即ち、判定線は、ギターの弦に相当するものであり、判定線を導入することで、ギターの音を出す仕組みをより忠実にシミュレーションすることが可能となる。
【００１６】
また、音声処理装置は、調整部をさらに備えるようにしてもよい。調整部は、継続して検知された接触位置の軌跡と、当該判定線とが交差する角度が直角に近づくように当該判定線の向きを調整するようにしてもよい。
【００１７】
即ち、ユーザによって、本音声処理装置が実現されるゲーム装置を持つ方向や、タッチスクリーンに対して行なうストロークの方向には個人差がある。この個人差を吸収するために、調整部は、ユーザの行なうストロークの方向に対して直角に近づくように判定線の方向を調整する。
【００１８】
また、音声出力部は、解放が検出されると、音声の出力を開始する前に所定の遅延時間を挿入し、所定の操作条件が満たされると当該遅延時間を減少させるようにしてもよい。
【００１９】
即ち、音声出力部は、操作条件が満たされると、所定の遅延時間が経過してから音声の出力を開始するようにしてもよい。広い場所で演奏を行なった場合、演奏者から遠くにいる人には、操作が行なわれてからいくらかの遅延時間が経過した後に音声が届く。よって、このように、遅延時間を挿入することで、携帯式のゲーム機においても、広い場所で演奏しているかの効果を提供することが可能となる。
【００２０】
なお、通常、一度のみストロークを行なった場合に比べ、継続してストロークを行なった場合の方が、遅延が感じ難くなるものと考えられる。したがって、初回の遅延を強調するために、解放が検知されると当該遅延時間をデフォルト値に戻し、継続して操作条件が満たされると、遅延時間を前回に操作条件が満たされた場合と比較して短くすることで、序々に短くするようにしてもよい。
【００２１】
また、音声出力部は、
(d)接触が開始された位置から、当該所定の操作条件が満たされた直前に検知された接触位置までの距離、ならびに
(e)直前に当該所定の操作条件が満たされた時点に検知された接触位置から次に当該所定の操作条件が満たされた直前に検知された接触位置までの距離、
に基づいて、当該出力を開始すべき出力音声の音量を決定するようにしてもよい。
【００２２】
即ち、ユーザがタッチスクリーンに対して小さくストロークを行なった場合には、小さな出力音声が、そして大きくストロークを行なった場合に大きな出力音声が出力されるように、タッチスクリーンに接触を開始した位置から、操作条件が満たされた直前に検知された接触位置までの距離に基づいて音量を決める。あるいは、ユーザがタッチスクリーンに対して往復ストロークを行なった場合にも同様に音量を制御できるように、所定の操作条件が満たされた時点に検知された接触位置から次に当該所定の操作条件が満たされた直前に検知された接触位置までの距離に基づいて、音量を決める。このとき、距離が計測される当該２つの接触位置の間の距離は、直線距離であっても、道のりであってもよい。  
【００２３】
また、音声出力部は所定の楽曲の伴奏音声をさらに出力し、
当該伴奏音声には、出力を開始してからの経過時間により指定される演奏タイミングと、当該演奏タイミングで出力されるべき演奏音声と、が対応付けられる。
【００２４】
即ち、ギター演奏を模擬するゲームでは、伴奏音声が出力され、ユーザは、伴奏音声に合わせて、演奏を行なう。当該ゲームは、ユーザが当該演奏をすべき正しいタイミングと、その際に出力すべき演奏音声と対応付けて記憶している。
【００２５】
また、音声出力部は、当該所定の操作条件が満たされ、且つ、当該いずれかの条件が満たされた時点が当該伴奏音声に対応付けられる演奏タイミングのいずれかに合致する場合、当該演奏タイミングで出力されるべき演奏音声を当該所定の出力音声として出力を開始するようにしてもよい。
【００２６】
即ち、ギター演奏を模擬するゲームでは、ユーザは、音声出力が開始される操作条件を満たすストローク操作（有効なストローク操作）を、伴奏に合わせて、タッチスクリーンに対して行なう。ユーザが、正しいタイミングでタッチスクリーンに対してストローク操作を行なうと（即ち、ユーザの操作のタイミングが演奏をすべきタイミングと合致すると）、正しい演奏音声が出力される。
【００２７】
また、音声出力部は、当該所定の操作条件が満たされ、且つ、当該いずれかの条件が満たされた時点が当該伴奏音声に対応付けられる演奏タイミングのいずれにも合致しない場合、失敗を表す音声を当該所定の出力音声として出力を開始するようにしてもよい。
【００２８】
即ち、伴奏に合わせられずに間違ったタイミングでユーザがストローク操作をタッチスクリーンに対して行なうと、音声出力部は、失敗を表す音声を出力する。
【００２９】
また、音声出力部は、所定の閾時間継続して検知された接触位置が、所定の位置範囲内である場合、当該開始された出力音声の出力を停止するようにしてもよい。即ち、「所定の閾時間継続して検知された接触位置が、所定の位置範囲内である」とは、ストロークが停止されたことを意味する。したがって、このような条件が満たされた場合は、音声出力部は、当該出力を停止する。なお、任意の位置は所定の範囲内で接触され続ければよい。
【００３０】
また、当該ユーザがつまんで当該表面に接触するための接触部材をさらに備え、当該接触部材は、ピック形状、もしくは、ピック形状の先端に突起を配置した形状であることを特徴とする。即ち、接触部材は、所謂タッチペンであり、その持ち手の部分はギターピックの形状を有しており、先端には突起を備えるようにしてもよい。ギターピックの形状を有することで、ユーザはストローク操作を行い易くなる上、ギターを操作しているかのような臨場感を味わうことが可能となる。さらに、接触部材は突起を先端に備えることで、接触位置が検知され易くなる。
【００３１】
本発明の他の観点に係る音声処理方法は、
検知部と音声出力部とを備える音声処理装置を用いた音声処理方法であって、
検知工程では、検知部が、ユーザが被接触部の表面に接触していればその位置を、当該表面を解放していれば、その旨を検知する。
【００３２】
また、音声出力工程では、所定の操作条件が満たされると、音声出力部が所定の出力音声の出力を開始する。ここで、当該所定の操作条件は
(a)接触位置が検知された直後に解放が検出され、かつ解放が検出される直前の接触位置の変化が所定の閾速度以上の場合、あるいは、
(b)継続して検知された接触位置の変化の方向が、所定の誤差範囲内で逆向きになった場合、に満たされるものとする。
【００３３】
また、音声処理装置は調整部をさらに備え、
所定の操作条件は、(a)(b)の場合に満たされるものとするのに代えて、
(c)継続して検知された接触位置の軌跡が所定の判定線を跨いだ場合
に満たされるものとしてもよい。
【００３４】
このとき、調整部が、継続して検知された接触位置の軌跡と、当該判定線とが交差する角度が直角に近づくように当該判定線の向きを調整する調整工程を備えてもよい。
【００３５】
また、本発明の他の観点に係るプログラムは、コンピュータを、上記の音声処理装置として機能させるように構成する。本発明の他の観点に係るプログラムは、コンピュータに上記の音声処理方法を実行させるように構成する。
【００３６】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００３７】
本発明によれば、タッチスクリーンなど、接触の有無、および、接触位置を検知できるようなハードウェアの特性を活かしつつ、楽器の演奏を模擬するのに好適な音声処理装置、音声処理方法、ならびにプログラムを提供することができる。
【発明を実施するための最良の形態】
【００３８】
本実施の形態に係るゲーム装置は、後述するように、大きく分けて、項目選択装置、および、音声処理装置として機能する。即ち、まず、ユーザは、項目選択装置としてのゲーム装置で、ギター演奏のシミュレーションを行いたい楽曲を、曲目リストから選択する。そして、次に、音声処理装置としてのゲーム装置で、選択された楽曲を用いて、ギター演奏のシミュレーションを行なう。
【００３９】
図１は、本発明の実施の形態に係る項目選択装置、および、音声処理装置が実現される典型的な携帯型のゲーム装置の概要構成を示す模式図である。また、図２には、当該携帯型のゲーム装置の外観図を示す。以下、本図を参照して説明する。
【００４０】
ゲーム装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory) １０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェイス１０４ と、入力部１０５と、メモリカセット１０６と、画像処理部１０７ と、タッチスクリーン１０８と、ＮＩＣ（Network Interface Card）１０９と、音声処理部１１０と、マイク１１１と、スピーカ１１２と、を備える。
【００４１】
ゲーム用のプログラムおよびデータを記憶したメモリカセット１０６（詳細は後述）をインターフェイス１０４に接続されたスロット（図示せず）に装着して、ゲーム装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態の項目選択装置、および、音声処理装置が実現される。
【００４２】
ＣＰＵ １０１は、ゲーム装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。 ＣＰＵ １０１は、クロック（図示せず）を備えており、クロックの生成する信号に同期して、周辺機器が動作する。
【００４３】
ＲＯＭ １０２は、電源投入直後に実行されるＩＰＬ（Initial Program Loader）を記憶する。このＩＰＬをＣＰＵ １０１が実行することにより、メモリカセット１０６等に記録されたプログラムがＲＡＭ １０３に読み出され、ＣＰＵ １０１による実行が開始される。
また、ＲＯＭ １０２にはゲーム装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００４４】
ＲＡＭ １０３は、データやプログラムを一時的に記憶するためのもので、メモリカセット１０６等から読み出したプログラムやデータ、その他ゲームの進行に必要なデータ等が保持される。
【００４５】
インターフェイス１０４を介して着脱自在に接続されたメモリカセット１０６は、前述のようにゲームを実現するためのプログラムとゲームに付随する画像データや音声データとを記憶する、読出し専用のＲＯＭ領域と、プレー結果などのデータをセーブするＳＲＡＭ領域とを有する。ＣＰＵ １０１はメモリカセット１０６に対する読み出し処理を行って、必要なプログラムやデータを読み出し、読み出したデータをＲＡＭ １０３等に一時的に記憶する。
【００４６】
入力部１０５は、図２に示すコントロールボタンなどであり、ユーザによる指示入力を受け付ける。
【００４７】
画像処理部１０７は、メモリカセット１０６から読み出されたデータをＣＰＵ １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換されタッチセンサ式のディスプレイ（タッチスクリーン１０８）へ出力される。これにより、各種の画像表示が可能となる。
【００４８】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００４９】
また、３次元仮想空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から３次元仮想空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００５０】
さらに、ＣＰＵ １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ＲＯＭ １０２に記録されているが、メモリカセット１０６に記録された専用のフォント情報を利用することも可能である。
【００５１】
なお、上記タッチスクリーン１０８は、タッチセンサを重畳して構成される液晶パネルである。タッチスクリーン１０８はユーザが指もしくは入力ペンなどによって押圧した位置に応じた位置情報を検知し、ＣＰＵ １０１へ入力する。
【００５２】
なお、入力部１０５やタッチスクリーン１０８を介してユーザにより入力された指示に応じて、ＲＡＭ １０３に一時的に記憶されたデータを適宜メモリカセット１０６に記憶することができる。
【００５３】
ＮＩＣ １０９は、ゲーム装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものである。ＮＩＣ １０９は、例えば、ゲーム装置を無線でＬＡＮ（Local Area Network）に接続する場合、IEEE 802.11などの規格に準拠するインターフェイス（図示せず）により構成される。また、有線でＬＡＮに接続する場合は、１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格に準拠するものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ １０１との仲立ちを行うインターフェイス（図示せず）により構成される。
【００５４】
ＮＩＣ  １０９を介してインターネット内のＳＮＴＰサーバに接続し、ここから情報を所得することによって現在の日時情報を得ることもできる。また、各種のネットワークゲームのサーバ装置が、ＳＮＴＰサーバと同様の機能を果たすように構成設定してもよい。
【００５５】
音声処理部１１０は、メモリカセット１０６から読み出した音声データをアナログ音声信号に変換し、音声処理部１１０に接続されたスピーカ１１２から出力させる。また、ＣＰＵ １０１の制御の下、ゲームの進行の中で発生させるべき効果音や音声データを生成し、これに対応した音声をスピーカ１１２から出力させる。
【００５６】
音声処理部１１０は、メモリカセット１０６に記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ＡＤＰＣＭ形式やＯｇｇ  Ｖｏｒｂｉｓ形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカ１１２などに出力することにより、音声出力が可能となる。
【００５７】
また、音声処理部１１０は、マイク１１１から入力されたアナログ信号を適当なサンプリング周波数でＡ／Ｄ 変換を行い、ＰＣＭ形式のディジタル信号を生成する。
【００５８】
このほか、ゲーム装置１００はメモリカセット１０６に替えて、ＤＶＤ−ＲＯＭからプログラムやデータを読み出す、ＤＶＤ−ＲＯＭドライブを備えるように構成して、ＤＶＤ−ＲＯＭにメモリカセット１０６と同様の機能を持たせるようにしてもよい。また、インターフェイス１０４は、メモリカセット１０６以外の外部メモリ媒体からデータを読み出すように構成してもよい。
【００５９】
あるいは、ゲーム装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ １０２、ＲＡＭ １０３、メモリカセット１０６等と同じ機能を果たすように構成してもよい。
【００６０】
なお、本実施の形態に係る項目選択装置、および、音声処理装置は、携帯型のゲーム装置上に実現されるが、一般的なコンピュータ上に実現することもできる。一般的なコンピュータは、上記ゲーム装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＮＩＣ、等を備え、ゲーム装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、入力部ではなく、キーボードやマウスなどを入力装置として利用する。そして、プログラムをインストールした後に、そのプログラムを実行させると、項目選択装置、および音声処理装置として機能させることができる。
【００６１】
以下では、項目選択装置について説明し、その後音声処理装置について説明する。なお、注記しない限り、項目選択装置、および、音声処理装置について、図１に示したゲーム装置１００により説明を加える。項目選択装置、および、音声処理装置は、必要に応じて適宜一般的なコンピュータの要素に置換することができ、これらの実施の形態も本発明の範囲に含まれる。
【００６２】
（項目選択装置）
図３は、本実施の形態に係る項目選択装置２００の概要構成を示すブロック図である。項目選択装置２００は、図３に示すように、記憶部２０１、表示部２０２、検知部２０３、項目出力部２０４、移動部２０５、等を備える。なお、後述するように、項目選択装置２００は、図８に示すように、接触部材２０６を備えてもよい。以下に項目選択装置２００の各構成要素について本図を参照して説明する。
【００６３】
記憶部２０１は、選択対象となる項目を要素とする表を記憶する。当該表は、少なくとも１つの行、および列を備える、２次元配列の構成をしている。例えば、ゲーム装置１００を利用して複数の曲目を選択して再生するような場合、当該表は当該曲目のそれぞれを要素として構成されるようにしてもよい。なお、Ｎ個の要素を備える１次元の表の場合、当該表をＡ個ごとにグループに分けて、Ａ行、Ｎ／Ａ列（または、Ｎ／Ａ行、Ａ列）の２次元の表を構成するようにしてもよい。メモリカセット１０６や、ＲＡＭ １０３等が、協働して記憶部２０１として機能する。
【００６４】
表示部２０２は、記憶部２０１から表の構成情報を取得し、図４（Ａ）に示すように、表の画像データ（３００を参照）を生成する。なお、図において、表は、５行４列の要素を備えるが、表の大きさはこれに限らない。本実施の形態では、表の大きさが、タッチスクリーン平面の大きさよりも大きい場合を考慮して、表の画像データの一部を覆う、所定の大きさの領域を備える窓（３１０を参照）を用意する。この窓の大きさや位置は、記憶部２０１に記憶される。窓の位置は、ユーザの操作指示に基づいて移動するように更新される。表示部２０２は、記憶部２０１に記憶される窓の位置を取得し、当該窓によって覆われた領域に含まれる当該表の要素を、例えば、図４（Ｂ）に示すように表示する。
【００６５】
なお、図４（Ｂ）で表示される項目の一覧は、要素の境界と、表示領域の境界が一致していないが、必ず一致するように調整するようにしてもよい。
【００６６】
このように、窓によって覆われる領域が表示部２０２によって表示される領域であるため、以降、窓および領域は、注記しない限り同じ意味として用いる。ＣＰＵ １０１、ＲＡＭ １０３、画像処理部１０７、タッチスクリーン１０８などが協働して、表示部２０２として機能する。
【００６７】
窓の位置は、例えば、表の原点Ｏ（例えば表の左上）からの、当該窓の原点Ｏ’の座標値（例えば、ＯからのＯ’までのＸ方向、およびＹ方向のピクセル数）で表す。また、表示される表のＸ方向の大きさがＷだとすると、各要素が表示されるセル（図４（Ａ）の３０１を参照）のＸ方向の大きさｗは、Ｗ/Ｎ（Ｎ：列数）であり、表のＹ方向の大きさがＬだとすると、セルのＹ方向の大きさｌはＬ／Ｍ（Ｍ：行数）である。
【００６８】
検知部２０３は、タッチスクリーンに接触があるかないかを所定の時間間隔で検知する。ユーザがタッチしたタッチスクリーン平面の位置は、例えば、タッチスクリーンの左上の隅を原点としたときの座標値として表される。また、検知部２０３は、タッチスクリーンがタッチされていない場合、タッチされていない旨を検知する。タッチスクリーン１０８、ＣＰＵ １０１などが協働して検知部２０３として機能する。
【００６９】
項目出力部２０４は、検知部２０３の検知結果により、ユーザがタッチスクリーンへの接触を開始し、その接触位置をほぼ移動せずにタッチスクリーンを放したと判断した場合、当該接触している位置に表示されている項目を選択結果として出力する。ここで、「ほぼ移動せずに」とは、接触が開始されてから、解放されるまでの間に検知された位置が、全て所定の範囲内であればよい。ＣＰＵ １０１等が項目出力部２０４として機能する。
【００７０】
移動部２０５は、検知部２０３の検知結果により、ユーザがタッチスクリーンを掃うように接触移動したと判断した場合、タッチスクリーンを解放する直前の接触移動の速度を取得する。そして、当該速度に基づいて、記憶部２０１に記憶される窓の位置が移動されるように更新する。表示部２０２が、移動する窓に覆われている表の領域を表示すると、表がスクロールして表示される。
【００７１】
また、移動部２０５は、ユーザによってタッチスクリーンが接触されている間は、タッチスクリーンへの接触を開始したときに接触位置に表示されている項目と同じものが接触位置に表示されるように、窓の位置を移動する。即ち、接触を開始したときに接触している項目が、接触位置に固定される。したがって、表がスクロールしている場合、再度タッチスクリーンを接触すれば、当該接触位置に表示されている内容が接触位置に固定され、スクロールを止めることもできる。移動部２０５は、ＣＰＵ １０１、ＲＡＭ １０３、メモリカセット１０６などが協働して、移動部２０５として機能する。
【００７２】
（動作処理）
上記構成を備える項目選択装置２００の処理動作を図５を参照して説明する。
【００７３】
項目選択装置２００の電源が入れられると、ＩＰＬをＣＰＵ １０１が実行することにより、メモリカセット１０６に記録されたプログラムがＲＡＭ １０３に読み込まれるなどの、初期化処理が行われる。プログラムの進行に伴い、項目選択処理が開始されると、まず、表示部２０２が、選択対象となる項目の一部を一覧として示す選択画面を表示する（ステップＳ４００）。本実施の形態においては、選択対象の項目はギターシミュレーションを行なう楽曲を特定するための情報（曲目等）である。
【００７４】
このとき、表示部２０２は、上述したように、記憶部２０１から表の構成情報を取得し、表の画像データを生成する。窓の位置は、初期状態においては、表の原点に配置されるため、表示部２０２は、表の原点から、Ｘ方向に窓の幅Ｗ、および、Ｙ方向に窓の長さＬに覆われる領域を表示する。
【００７５】
次いで、ＣＰＵ １０１は、検知部２０３が座標値を検知すると、記憶部２０１に蓄積する（ステップＳ４０１）。蓄積された座標値は、後に、接触位置の変化の速度を算出するために利用する。
【００７６】
続いて、ＣＰＵ １０１は、検知部２０３が検知した状態が変化したか否かを判定する（ステップＳ４０２）。 即ち、前回検知されたのが座標値のときに、今回解放状態（即ち、タッチスクリーンが接触されていない状態）が検知されるか、前回と異なる座標値が検知されると、状態が変化したと判定される。あるいは、前回検知されたのが解放状態のときに、今回いずれかの座標値が検知されれば、状態が変化したと判定される。ＣＰＵ １０１は状態が変化しない間は（ステップＳ４０２；Ｎ）再度ステップＳ４０２に戻って、状態が変化するのを待つ。
【００７７】
ＣＰＵ １０１は、検知状態が変化したと判定すると（ステップＳ４０２；Ｙ）、次いで、今回検知されたのが解放状態なのか、あるいは、座標値なのかを判定する（ステップＳ４０３）。
【００７８】
今回検知されたのが座標値の場合（ステップＳ４０３；Ｎ）、次に、ＣＰＵ １０１は、前回検知された状態が解放状態なのか、あるいは異なる座標値なのかを判定する（ステップＳ４１０）。前回検知された状態が解放状態であれば、ユーザにより接触が開始されたと判定し（ステップＳ４１０；Ｙ）、ＣＰＵ １０１は、接触が開始された際のタッチスクリーン上の座標値と、窓の位置とをＲＡＭ １０３に一時的に記憶する（ステップＳ４１１）。そして、処理はステップＳ４００に戻る。
【００７９】
一方、今回検知されたのが座標値であって（ステップＳ４０３；Ｎ）、且つ、前回検知された状態が解放状態でない場合（ステップＳ４１０；Ｎ）、前回検知された座標値とは異なる座標値が、今回検知されていることを意味する。即ち、接触された状態で、接触位置が移動している。このとき、移動部２０５は、前回接触した位置に表示される要素が今回接触している位置にドラッグ表示されるように窓を移動する（ステップＳ４１２）。
【００８０】
即ち、図６（Ａ）に示すように、前回検知された状態が座標値（p1, q1）、今回検知された状態が座標値 (p, q)であった場合、接触位置は、p-p1だけＸ方向に、そしてq-q1だけＹ方向に移動している。したがって、図６（Ｂ）に示すように、移動部２０５は、窓３１０の位置（x1, y1）を接触位置の移動した分だけ逆方向(即ち、（x1-(p-p1), y1-(q-q1)）に移動する。図６（Ｂ）では、移動した窓を３１０’として表し、当該窓３１０’の位置を(x, y)=（x1-(p-p1), y1-(q-q1)）で示している。
【００８１】
例えば、図６（Ｃ）では、要素ＧＧの左上部が接触された状態にある。この接触された状態で、図６（Ｃ）に示す矢印の方向に接触位置を移動した場合、接触位置の変化の方向と逆向きに同じ変化量だけ窓の位置を移動する。これにより、図６（Ｄ）に示すように、接触位置には、図６（Ｃ）と同様に要素ＧＧの左上部が示される。
【００８２】
なお、ドラッグ操作によって、窓の位置が変化して、窓の領域が、表の領域からはみ出した場合、窓の位置(x, y)は常に表の領域内の座標を示すように再配置する。例えば、窓の位置が表の端に到達した場合は、表の対極する位置に窓の位置を移動するようにする。即ち、表が、原点(0, 0)、(W, 0)、(0, L)、(W, L)に囲まれる領域に表されるとき、Ｘ＝Ｗによって示される表３００の境界線はＸ＝０の境界線となるように扱い、Ｙ＝Ｌによって示される境界線はＹ＝０の境界線となるように扱う。
【００８３】
よって、窓の位置を示す座標値が、Ｘ方向にＷより大きい分については、０に加算する。また、Ｘ方向に０より小さい分については、Ｗから減算する。一方、Ｙ方向にＬより大きい分については、０に加算する。また、Ｙ方向に０より小さい分については、Ｌから減算する。このようにして窓の位置は巡回して移動される。
【００８４】
例えば、図７（Ａ）では、窓３１０の位置が表３００の原点から(-cx, -dy)の位置にあり（ｃ、ｄは任意の定数）、(-cx, -dy)が表３００の領域外にある場合、窓の位置が、表の領域内の(W-cx,L-dy)に再配置される様子を示す。再配置された窓を３１０’で表す。
【００８５】
これにより、処理がステップＳ４００に戻り、表示部２０２は、現在窓に覆われている表の領域を表示すると、ユーザが接触したタッチスクリーンの位置に表示されていた要素は、ユーザが接触を移動した移動先の位置にドラッグ移動されているように表示される。なお、窓の大きさは、記憶部２０１に予め記憶される。
【００８６】
ただし、ステップＳ４１２における窓の位置の移動にともない、窓の領域の一部が表からはみ出して配置されるような場合、表示部２０２は、表からはみ出した窓の領域については、表の行、および列のそれぞれの先頭と最後尾の要素が隣接するように巡回的に表示する。
【００８７】
これは、例えば、次のように算出する。例えば、ＷおよびＬをそれぞれ、表３００のＸ方向およびＹ方向の大きさとし、Ｗ’およびＬ’をそれぞれ、窓３１０のＸ方向およびＹ方向の大きさとする。窓３１０の原点Ｏ’の座標値が(x, y)であれば、表示すべき表の領域は、表３００の原点Ｏから、(x,y)、(x+W',y)、(x,y+L')、(x+W',y+L')に囲まれる領域となる。この表示すべき表の領域内の任意の点の座標値を(s, t)とすると、(s', t') = (s mod W, t mod L)を算出することで、座標値(s' ,t')は、窓の領域が表の領域を超えて配置された場合でも、巡回して、表の領域内の座標値を与える。
【００８８】
これにより、例えば、図７（Ｂ）に示すように、表３００において、窓３１０が位置していた場合、表示される表の要素は、図７（Ｃ）に示す通りとなる。
【００８９】
一方、今回検知されたのが解放状態であれば（ステップＳ４０３；Ｙ）、項目出力部２０４は、ステップＳ４００で記憶部２０１に蓄積された座標値が、所定の範囲内にあるか否かを判定する（ステップＳ４０４）。
【００９０】
例えば、蓄積された検知位置が、すべて所定の半径を有する領域内に含まれる場合、接触位置が移動していないと判定し（ステップＳ４０４；Ｙ）、項目出力部２０４は、例えば、蓄積された検知位置の平均座標値に現在表示されている表の項目を選択結果として出力する（ステップＳ４０５）。
【００９１】
選択結果が得られると、項目選択処理は終了し、ＣＰＵ １０１は得られた選択結果に基づいて所定の処理を行う。  
【００９２】
なお、蓄積された座標値は、ステップＳ４０５の後、破棄されるようにすればよい（ステップＳ４２０）。
【００９３】
一方、蓄積された検知位置が、全て所定の範囲内でない場合（ステップＳ４０４；Ｎ）、接触位置が移動していると判断され、ＣＰＵ １０１は、接触が解放される直前の接触位置の移動速度を算出し、算出した移動速度が所定の閾速度以上か否かを判定する（ステップＳ４０６）。
【００９４】
例えば、接触が解放される直前の検知座標を(p1, q1)、さらにその直前の検知座標を(p2, q2)とし（これらは、記憶部２０１に蓄積された、最新の座標値と、その前の座標値を参照することで得られる）、検知部２０３が検知する時間間隔をＴ１秒とした場合、接触が解放される直前の接触位置の変化を示す速度ベクトルは、次式によって求められる：
（(p1-p2)/T1, (q1-q2)/T1）
【００９５】
上記ｘ成分およびｙ成分のうち、大きい方の成分が所定の閾速度以上であれば（ステップＳ４０６；Ｙ）、ユーザがタッチスクリーンに対して掃う操作を行なったものとして判定し、移動部２０５は、窓の位置を、ユーザの掃う速度に応じた速度で、大きいほうの成分の方向に移動させる（ステップＳ４０７）。
【００９６】
即ち、ｘ成分がｙ成分よりも大きい場合、接触が解放される直前の接触位置の移動速度の方向は、ｘ方向に近いことを意味する。よって、窓の位置を行方向（左右方向）に(p1-p2)/T1の速度で移動させる。一方、ｙ成分がｘ成分よりも大きい場合、当該移動速度の方向が、ｙ方向に近いことを意味する。よって、窓の位置を列方向（上下方向）に(q1-q2)/T1の速度で移動させる。当該算出された接触位置のｘ方向、およびｙ方向の移動速度に、所定の係数を乗じたものを窓の移動速度としてもよい。なお、ｘ成分及びｙ成分の大きさが同じであれば、行または列のいずれか所定の方向に、その方向の成分の速度で移動させる。
【００９７】
次いで、表示部２０２は、ステップＳ４００と同様の処理を行い、選択項目を要素として備える表のうち、窓に覆われている領域を表示する（ステップＳ４０８）。そして、ＣＰＵ １０１は接触が検知されたか判定し（ステップＳ４０９）、接触が検知されたと判定すると（ステップＳ４０９；Ｙ）、接触が開始されたものとして、ステップＳ４１１に処理を進める。一方、接触が検知されない間は（Ｓ４０９；Ｎ）ステップＳ４０７に処理を戻す。この結果、表は次に接触が検知されるまで、表示部２０２によって行方向、または列方向に、掃う直前の接触移動の速度に基づいてスクロール表示される。
【００９８】
また、ドラッグ操作について上述したように、窓が表の画像の境界に達した場合、移動部は、巡回的に窓の位置を移動させるようにする。
【００９９】
一方、ＣＰＵ １０１は、接触位置の移動速度が所定の速度より遅いと判断すると（ステップＳ４０６；Ｎ）、処理をステップＳ４００へと戻す。以上により、項目選択処理は終了する。
【０１００】
（音声処理装置）
次に、上述のようにして選択された曲目によって特定される楽曲で、ギター演奏のシミュレーションを実現する音声処理装置１０００について説明する。
【０１０１】
図９は、本実施の形態に係る音声処理装置１０００の概要構成を示す模式図である。音声処理装置１０００は、図９に示すように、検知部１００１、音声出力部１００２、などを備える。なお、音声処理装置１０００は、後述するように、接触部材２０６（図８を参照）を備えてもよい。以下に本実施の形態に係る音声処理装置１０００の各構成要素について本図を参照して説明する。
【０１０２】
検知部１００１は、項目選択装置の検知部２０３と同様のものであり、タッチスクリーンに接触があるかないかを所定の時間間隔で検知する。ユーザがタッチしたタッチスクリーン平面の位置は、例えば、タッチスクリーンの左上の隅を原点としたときの座標値として表される。また、タッチスクリーンがタッチされていない場合は、タッチされていない旨を検知する。タッチスクリーン１０８、およびＣＰＵ １０１などが協働して検知部１００１として機能する。
【０１０３】
音声出力部１００２は、検知された結果に基づいて、ユーザがタッチスクリーンに対して行なった操作が所定の操作条件を満たしているかを判断し、満たしている場合は、出力音声の出力を開始したり、停止したりする制御を行なう。音声処理部１１０などが、音声出力部１００２として機能する。
【０１０４】
（動作処理）
以下に、上記構成を備える本実施の形態に係る音声処理装置の動作処理について説明する。
【０１０５】
メモリカセット１０６には、曲目など、楽曲の属性情報に対応して、当該楽曲の伴奏音声、演奏音声、当該演奏音声が出力されるべきタイミング等が記憶される。
【０１０６】
ユーザの指示により曲目が選択され、所定の制御ボタンが押下されるなどして、ゲーム開始の指示がなされると、ＣＰＵ １０１は、当該曲目に対応する伴奏音声をメモリカセット１０６からＲＡＭ １０３に展開し、音声処理部１１０を介して、スピーカ１１２などに出力する。伴奏音声は、例えば、カラオケのガイドメロディーのようにガイド演奏音声を含んでおり、演奏音声を出力すべきタイミングをユーザに示す。ユーザはガイド演奏音声に合わせて、所定の操作条件が満たされるように（即ち、音声処理装置１０００によって、有効なストローク操作であると判定されるように）、タッチスクリーンに対して操作を行なう。
【０１０７】
あるいは、現在の演奏音声を出力するタイミングは、視覚的にユーザに知らせるようにしてもよい。例えば、時間とともに所定の間隔で所定の方向に進むマーカーを表示し、当該マーカーの進む方向に演奏音声を出力するタイミングを示すタイミング用マーカーを表示する。ユーザは、当該移動するマーカーが、当該タイミング用マーカーに到達した時点で、所定の操作条件が満たされるように、タッチスクリーンに対して操作を行なうようにしてもよい。なお、演奏音声のそれぞれを出力するタイミングは、例えば、伴奏音声の開始される時刻を０とした場合の、当該開始時刻からの相対的な時間として表され、当該各演奏音声に対応して記憶される。
【０１０８】
以下に、図１０を参照して、本実施の形態に係る音声処理装置１０００が、ユーザによるタッチスクリーンの操作に応じて、音声を出力、あるいは停止する処理の流れについて説明する。
【０１０９】
検知部１００１は、まず、ステップＳ５００で、タッチスクリーンの状態を検知する。即ち、接触があれば接触があった位置を示す座標値を、そして、接触がなければ、接触がない旨を検知する。そして、ＣＰＵ １０１は、前回検知部１００１によって検知されたのが、座標値の場合、ＲＡＭ １０３などに用意した当該座標値を蓄積する領域に記憶する。初期状態ではそれ以前に検知された状態は存在しないため、座標値は蓄積されずに、ステップＳ５０１に進む。
【０１１０】
なお、後続の処理から明らかなように、蓄積される座標値は継続して検知されたすべての座標値の軌跡、またはその一部となる。解放状態が検知されたり、あるいは、有効なストローク操作が特定された後に、蓄積された座標値は破棄され、その時点から検知座標の蓄積が再度開始される。このように蓄積された座標値は、後に出力音量などを決定する際に用いられる。
【０１１１】
次いで、ＣＰＵ １０１は、所定の件数分の蓄積された検知座標の全てが、所定の範囲内にある（例えば、所定の件数分の蓄積された検知座標の中点、または平均値から、所定の範囲内に全ての検知座標が含まれている）か否かを特定する（ステップＳ５０１）。全ての検知座標が所定の範囲内であれば（ステップＳ５０１；Ｙ）、所定の時間、接触位置の変化が停止していることを意味する。範囲外のものがあれば（ステップＳ５０１；Ｎ）、所定の件数分の蓄積された検知座標は変化していることを意味する。ステップＳ５０１；Ｎの場合、処理は、続いてステップＳ５０２へ進む。
【０１１２】
ＣＰＵ １０１は、検知部１００１が検知した状態が前回検知した状態から変化したか否かを判定する（ステップＳ５０２）。 即ち、前回座標値が検知された場合、今回解放状態（即ち、タッチスクリーンが接触されていない状態）が検知されるか、あるいは、前回と異なる座標値が検知されるかのいずれかの条件が満たされると、状態が変化したと判定される。また、前回、解放状態が検知された場合、今回いずれかの座標値が検知されれば、状態が変化したと判定される。ＣＰＵ １０１は状態が変化しない間は（ステップＳ５０２；Ｎ）再度ステップＳ５００に戻って、状態が変化するのを待つ。なお、前回検知された状態は例えばＲＡＭ １０３などに一時記憶する。
【０１１３】
ＣＰＵ １０１は、検知状態が変化したと判定すると（ステップＳ５０２；Ｙ）、次に、今回検知されたのが解放状態なのか、座標値なのかを判定する（ステップＳ５０３）。
【０１１４】
今回検知されたのが解放状態ではなく、座標値の場合（ステップＳ５０３；Ｎ）、前回検知された状態は、解放状態か、あるいは別の座標値である。まず、前回検知されたのが解放状態であれば（ステップＳ５２１；Ｙ）、ＣＰＵ １０１は処理をステップＳ５００に戻す。なお、ステップＳ５００では、前回検知された状態が座標値の場合に、当該前回検知された座標値が蓄積されるので、ステップＳ５２１において接触が開始された位置として特定された座標値は、次にステップＳ５００を実行したときに、記憶される。
【０１１５】
一方、今回検知された座標値が前回検知された座標値とは異なる座標値である場合（ステップＳ５２１；Ｎ）、継続して検知された接触の位置が変化したことを意味する。このとき、ＣＰＵ １０１は、当該接触位置の移動ベクトル（移動方向）を算出する（ステップＳ５３１）。移動ベクトルは、ステップＳ５０１で蓄積される座標値のうち、今回検知された座標値とその１つ前の座標値（即ち、蓄積されている最新の座標値）を減算して求める。そして当該移動ベクトルと、前回ステップＳ５３１を実行して求められた接触位置の移動ベクトル（ステップＳ５３１を実行した結果は、ＲＡＭ １０３に一時記憶しておく）とを比較して、ほぼ逆向きであるか否かを判定する（ステップＳ５３２）。
【０１１６】
即ち、ＣＰＵ １０１は今回求めた移動ベクトルと、前回ステップＳ５３１を実行して求められた接触位置の移動ベクトルとの内積を求める。内積が負の所定値より小さければ、当該２つのベクトルがほぼ逆向きであると判定する（ステップＳ５３２；Ｙ）。一方、当該内積が上述の所定値より大きければ、当該２つのベクトルは逆向きでないと判定する（ステップＳ５３２；Ｎ）。
【０１１７】
なお、接触が開始されてから、継続して検知された接触位置に初めて変化があった場合、「前回の移動方向」は存在しない。よってこの場合、移動方向は逆向きに変化していないものとして扱う（即ち、ステップＳ５３２；Ｎとして処理を進める）。
【０１１８】
上述のように、ストロークの方向が逆向きに変化したと判定された場合（即ち、Ｓ５３２；Ｙと判断された場合）、本実施の形態においては、有効な往復ストロークが行なわれたものと判定する。有効な往復ストロークが行なわれたとの判定が、演奏音声が出力されるべきタイミングの前後所定の範囲内の時刻で得られれば、音声出力部１００２は、当該タイミングに対応づけて記憶される演奏音声をＲＡＭ １０３から取得して、所定の方法で音量を特定し（ステップＳ５３３）、出力を開始する（ステップＳ５３４）。一方、有効な往復ストロークが行なわれたとしても、それが、演奏音声が出力されるべきタイミングから前後所定の範囲内の時刻で行なわれなかった場合、音声出力部１００２は、ステップＳ５３４において、失敗を示す音声を出力する。なお、演奏音声の出力が開始されてから継続して出力され続ける時間は予め定めておく。
【０１１９】
有効な往復ストローク操作が行なわれたときに、音声出力部１００２が出力する演奏音声の音量を決定する方法について、図１１を参照して説明する。図１１は、点Ａから接触を開始して、点Ｂで折り返して逆向きのストロークを行ない、さらに点Ｃで折り返してストロークを行なった場合を示す。
【０１２０】
図１１の例では、ストロークが逆向きに変わったと初めて特定されるのは、点Ｂの直後の接触位置（即ち点Ｂ’）が検知された時点である。したがって、点Ｂ’が検知された時点で初めて有効な往復ストローク操作が行なわれたと判定される。この場合、接触が開始された点Ａから移動方向が変化する直前の点Ｂまでの距離に応じて音量が決定され演奏音声が出力される。同様に、点Ｃ’が検知された時点で、再度有効な往復ストローク操作が行なわれたと判定され、点Ｂ’から点Ｃまでの距離に応じて音量が決定され、演奏音声が出力される。
【０１２１】
点Ａから点Ｂ、または点Ｂ’から点Ｃまでの距離は、直線距離であってもよいし、あるいは、軌跡の長さであってもよい。ここで、軌跡の長さとは、例えば、点Ａから点Ｂ、または点Ｂ’から点Ｃに到達するまでに継続して検知された接触座標間の直線距離の総和である。本実施の形態では、いずれの距離を利用した場合においても、得られた距離が長いほど、大きな音量を出力する。例えば、得られた距離に所定の定数を乗じて音量を求めても、あるいは距離に応じた音量を示すテーブルを準備しておき、当該テーブルを参照して、算出された音量から、対応する音量を取得してもよい。
【０１２２】
なお、蓄積された検知座標がステップＳ５３５にて廃棄された後に、今回検知された接触位置が、処理がステップＳ５００に戻った時点で、ＲＡＭ １０３に蓄積される。よって有効なストローク操作が行なわれた直後に接触が開始された位置は、必ず蓄積された検知座標の最も古い座標値として記憶される。そして、以降、継続して検知された座標値が続いて蓄積される。これにより、有効なストローク操作が行なわれたと判定された直前の値が、蓄積されている検知座標値のうち、最も新しい座標値として記憶される。よって、音声出力部１００２は、当該蓄積されている検知座標値を参照することで、距離の算出に必要な座標値を得ることが可能となる。
【０１２３】
最後に、後述の処理で利用するため、往復ストローク操作が行なわれたことをＲＡＭ １０３などに記憶する（例えば、ＲＡＭ １０３に、往復ストローク操作を行なったか否かを示す往復フラグを用意すればよい）（ステップＳ５３６）。
【０１２４】
本実施の形態では、後述するように、ユーザがタッチスクリーンに対して、一方向に振り掃った場合についても有効なストローク操作が行なわれたものと判定する。しかしながら、ユーザが往復ストローク操作を行い、逆向きのストロークを開始した時点でも演奏音声が出力される。したがって、往復ストローク操作後に、ユーザが振り掃う操作を行なって、再度演奏音声が出力されるのは不自然である。
【０１２５】
よって、本実施の形態においては、解放状態が検知された場合、その直前に往復ストローク操作が行なわれていたか否かを、往復フラグを参照して特定する（ステップＳ５０４）。そして、往復ストローク操作が行なわれたことが往復フラグに記憶されている場合（ステップＳ５０４；Ｙ）は、往復フラグの情報を破棄（ステップＳ５０５）する。さらに、蓄積された検知座標を破棄し（ステップＳ５０６）、処理をステップＳ５００に戻す。即ち、解放状態が検知された直前に往復ストローク操作が行なわれている場合は、演奏音声の出力は行なわずに処理はステップＳ５００に戻る。
【０１２６】
一方、解放状態が検知された直前に往復ストローク操作が行なわれていなかった場合（ステップＳ５０４；Ｎ）、ＣＰＵ １０１は、解放状態が検知される直前の接触位置の変化の速度を算出する（ステップＳ５０７）。ＣＰＵ １０１は、当該変化の速度が、閾速度以上であれば（ステップＳ５０７；Ｙ）、一方向に振り払う操作が有効に行なわれた（即ち、有効な一方向ストローク操作が行なわれた）と判定する。
【０１２７】
演奏音声が出力されるべきタイミングの前後所定の範囲内の時間において、ステップＳ５０７で有効な一方向ストローク操作が行なわれたと判定された場合、音声出力部１００２は、当該タイミングに対応づけて記憶される演奏音声をメモリカセット１０６から取得する。そして、当該演奏音声の音量を所定の方法で特定し（ステップＳ５０８）、当該演奏音声を当該音量で出力する（ステップＳ５０９）。ただし、当該ストローク操作が有効であると判定された時刻が、演奏音声が出力されるべきタイミングの前後所定の範囲に含まれない場合、音声出力部１００２は失敗を示す音声を出力する。
【０１２８】
なお、音量は、接触の検知が開始された位置から、解放状態が検知される直前の接触位置までの距離に基づいて特定される。ステップＳ５３３と同様に、当該２点間の距離は、直線距離であってもよいし、あるいは、軌跡の長さであってもよく、当該距離は、蓄積された検知座標値を取得して求められる。
【０１２９】
なお、ステップＳ５０１で、所定の件数分の検知位置が蓄積され、それらの検知位置が全て所定の範囲内であれば（ステップＳ５０１；Ｙ）、ＣＰＵ １０１は、接触位置の変化が所定の時間停止していると判定する。接触位置の変化が所定の時間停止していると判定されたときに出力されている音声があれば、音声出力部１００２は、当該出力を停止する（ステップＳ５４１）。なお、このとき、特殊なミュート音を出力するようにしてもよい。一方、接触位置の変化が所定の時間停止したときに、音声が出力されていない場合、音声出力部１００２は何もせずに処理をステップＳ５４２に進める。ステップＳ５４２では、ＣＰＵ １０１が蓄積された検知座標をすべて破棄し、ステップＳ５００へと処理を戻す。
【０１３０】
以上のようにして、音声処理装置は音声の出力、および停止を行なう。
【０１３１】
（他の実施の形態）
第１の実施の形態では、音声処理装置は、振り掃ったことが特定されたとき、または、タッチスクリーンに対するストロークの方向が逆向きに変化したとき、有効なストローク操作が行なわれたものとした。これにより、ユーザがゲーム装置を把持する方向や、ユーザのストロークを行なう方向などに関わらず、有効なストローク操作の判定が可能となる。
【０１３２】
本実施の形態では、ギターの弦に相当する判定線を導入し、ギターの音を出す仕組みをより忠実に再現する。その上で、上記実施形態と同様に、ユーザのゲーム装置を把持する方向や、ストロークを行なう方向などを吸収して、ギター演奏のシミュレーションを可能にする音声処理装置について説明する。なお、この判定線は、タッチスクリーンに表示されても、されなくともよい。
【０１３３】
図１２に、本実施の形態に係る音声処理装置１０００の機能ブロック図を示す。本実施の形態においては、上記実施の形態が備える、検知部１００１、音声出力部１００２に加え、さらに、調整部１００３を備える。
【０１３４】
ただし、音声出力部１００２は、上記実施の形態で説明した判定条件に代えて、継続して検知された接触位置の軌跡が所定の判定線を跨いだ場合に、有効なストローク操作が行なわれた（即ち所定の操作条件が満たされた）と判定する。
【０１３５】
また、調整部１００３は、判定線の向きと、継続して検知された接触位置の軌跡との交差する角度が直角に近づくように判定線の向きや位置を調整する。ここで、判定線は、タッチスクリーン平面に配置されるギターの弦を模擬するためのものである。即ち、本実施の形態において、音声処理装置１０００は、ユーザがタッチスクリーンに接触しながら、判定線を跨いだ場合に、有効なストローク操作が行なわれたとみなす。
【０１３６】
判定線の向きや位置は、例えば、グローバル座標系に基づいて、メモリカセット１０６に記憶され、ユーザによってゲーム開始が指示されると、ＲＡＭ １０３に読み込まれる。このように、メモリカセット１０６、ＲＡＭ １０３、およびＣＰＵ １０１などが協働して、調整部１００３として機能する。
【０１３７】
以下、上記のような構成を有する図１２に示す音声処理装置の動作処理を、図１３を参照して説明する。
【０１３８】
まず、ステップＳ６０１は、図１０に示すステップＳ５００と同様であり、音声処理装置１０００は、座標値が検知された場合、当該座標値を蓄積する。本実施の形態においても、後続の処理から明らかなように、ステップＳ６０１で蓄積される座標値は継続して検知された座標値の軌跡、またはその一部となる。解放状態が検知されたり、あるいは、有効なストローク操作が特定された後に、蓄積された座標値は破棄され、その時点から検知座標の蓄積が再度開始される。
【０１３９】
次いで、蓄積された所定の件数分の検知位置が全て所定の範囲内であれば（ステップＳ６０２；Ｙ）、接触位置の変化が所定の時間停止したことを意味する。よって、ステップＳ５４１、およびＳ５４２と同様の処理を行い、音声出力部１００２は、その時点で出力されている音声があれば、当該出力を停止する（ステップＳ６１０、６１１）。
【０１４０】
ステップＳ６０２で所定の件数分の検知位置が全て所定の範囲内でなければ（ステップＳ６０２；Ｎ）ＣＰＵ １０１は、次いで、解放状態が検知されたか否かを判定する（ステップＳ６０３）。解放状態が検知された場合は（ステップＳ６０３；Ｙ）、ＣＰＵ １０１は蓄積された検知位置を全て破棄し（ステップＳ６０４）、処理をステップＳ６０１に戻す。
【０１４１】
一方、今回検知されたのが、解放状態ではなく座標値であった場合（ステップＳ６０３；Ｎ）、ＣＰＵ １０１は、続いて、接触位置の軌跡が、判定線を跨いだか否かを判定する（ステップＳ６２０）。即ち、今回検知された座標値と、前回蓄積された座標値とを結ぶ線分と、判定線とが交差しているか否かを判定する。
【０１４２】
本実施の形態では、接触位置の軌跡が判定線を跨いだ場合（ステップＳ６２０；Ｙ）、有効なストローク操作が行なわれたものと判定する。よって第１の実施の形態と同様に、演奏音声が出力されるべきタイミングの前後所定の範囲内の時間において、有効なストローク操作が行なわれたと判定された場合、音声出力部１００２は、当該タイミングに対応づけて記憶される演奏音声をメモリカセット１０６から取得する。そして、当該取得した演奏音声の音量を所定の方法で特定し（ステップＳ６２１）、当該演奏音声の出力を開始する（ステップＳ６２２）。ただし、演奏音声が出力されるべきタイミングの前後所定の範囲に含まれない時刻において、接触位置の軌跡が判定線を跨いだと判定された場合、音声出力部１００２は失敗を示す音声を出力する。なお、上記第１の実施の形態と同様に、演奏音声は所定の長さで出力される。
【０１４３】
なお、本実施の形態において、演奏音声の音量は、継続して検知された接触位置の軌跡のうち、前回判定線を跨いだと判定された時点の直後に検出された座標値から、今回判定線を跨いだと判定された時点の直前に検出された座標値までの距離に基づいて特定する。ここで、第１の実施の形態と同様に、当該２点間の距離は、直線距離であってもよいし、あるいは、軌跡の長さであってもよい。また、当該得られた距離の長さが大きいほど、音量が大きくなるようにすればよい。
【０１４４】
図１４（Ａ）を参照して、音量を算出するために特定される距離について説明する。図１４（Ａ）は、タッチスクリーン平面１０８１における、継続して検知された座標値の軌跡の例を示す。まず点Ｐでストローク操作が開始され、点Ｑ−１から点Ｑが検知される間に判定線Ｌを跨ぐ。さらにストローク操作は継続され、点Ｒで折り返して、再度点Ｓ−１から点Ｓが検知される間に判定線を跨ぐ。
【０１４５】
図１４（Ａ）の例では、点ＰからＲに向かってストロークが行なわれたとき、点Ｑが検知されて、はじめて判定線Ｌが跨がれたことが判定される。ただし、それ以前に検知座標の軌跡は判定線Ｌを跨いでいないので、接触開始位置である点Ｐを、「前回判定線を跨いだと判定された直後に検出された座標値」とし、点Ｐから、今回判定線を跨いだ直前に検出された座標値Ｑ−１までの距離に基づいて音量を特定する。なお、距離は、直線距離であっても、移動距離（みちのり）であってもよい。
【０１４６】
続いて、点Ｒで折り返してストロークが行なわれたとき、点Ｓが検知されると、再度判定線Ｌが跨がれたことが特定される。この場合、「前回判定線を跨いだと判定された直後に検出された座標値」は点Ｑであるため、点Ｑから、今回判定線を跨いだ直前に検出された座標値Ｓ−１までの距離に基づいて音量を特定する。
【０１４７】
なお、図１３に示すフロー図から明確なように、本実施の形態では、ストロークが開始された時点の座標値から蓄積される。接触位置の軌跡が判定線を跨いで、有効なストローク操作が行なわれたと判定されると、それまで蓄積された検知座標が後述のステップＳ６２４で破棄され、判定線が跨がれたあとに最初に検知された座標値から継続して検知された座標値が蓄積される。即ち、例えば、図１４（Ａ）の例のように、点Ｑからさらにストローク操作が続けられた場合、点Ｑから再度検知座標が蓄積される。
【０１４８】
したがって、接触が開始されて初めて判定線を跨いだ場合についても、また、判定線を跨いだ後に、接触を継続し、再度判定線を跨いだ場合についても、蓄積された座標値を参照することで、上述した距離の算出に必要な情報を取得することができる。
【０１４９】
なお、今回検知された接触位置と前回検知された接触位置とを結ぶ線分が判定線を跨いでいない場合（ステップＳ６２０；Ｎ）今回検知された座標値は、続いて処理がステップＳ６０１を実行したときに、継続して検知された接触位置の軌跡として蓄積される。
【０１５０】
次いで、調整部１００３は、判定線の位置を調整する（ステップＳ６２３）。例えば、図１４（Ａ）で、ユーザが点Ｐから点Ｒに向かってストローク操作を行なった場合を例に説明する。上述したように、点Ｑが検知された時点で、判定線が跨がれたことが判定される。よって、調整部１００３は、判定線が跨がれたと判定された時点に検知された点Ｑと、その直前に検知された点Ｑ−１とを結ぶ線分と、判定線Ｌとが垂直に交わるように、判定線Ｌを図１４（Ｂ）に示すように角度θだけ回転させるように、判定線の位置および方向を更新する。なお、判定線Ｌを回転させる中心は、判定線と検知座標の軌跡が交差する点でもよいし、所定の位置（例えばタッチスクリーンの中心）でもよい。
【０１５１】
なお、ゲーム装置の電源を落としたときには、電源を落とした時点での判定線の位置や方向をメモリカセット１０６に書き戻す。そして、次回は当該書き戻された値を、判定線の位置や方向として利用する。あるいは、判定線の位置は、電源を入れる度に、初期状態から更新されるようにしてもよい。
【０１５２】
このように、当該ストロークの方向と判定線とが垂直に交わるように判定線を調整することで、ユーザのゲーム装置を把持する方向やストロークを行なう方向などを吸収して、ユーザが操作しやすいように音声処理装置をカスタマイズすることが可能となる。
【０１５３】
以上、本発明の実施の形態について説明したが、本発明は、上述した実施の形態に限定されず、種々の変形および応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
【０１５４】
例えば、項目選択装置、および、音声処理装置は、接触部材をさらに備えるようにし、ユーザは、タッチスクリーンに接触する際に接触部材を利用してもよい。図８（Ａ）に示すように、接触部材２０６は、所謂タッチペンの変形であり、タッチスクリーンを掃う操作が容易に可能なように、ギターピックの形状をしていてもよい。また、検知部２０３や、検知部１００３が接触を検知し易いように、接触部材２０６は先端に突起を備えていてもよい。ユーザは、接触部材２０６のギターピック状の部分を図８（Ｂ）に示すようにをつまんで、突起部分をタッチスクリーンに接触させる。
【０１５５】
図８（Ｃ）は、このような接触部材２０６を用いて、ユーザがタッチスクリーン平面１０８１に接触部材２０６を接触させてギター演奏のシミュレーションを行なった場合の様子を示す。点線は接触位置の変化（即ちストローク）の軌跡を示す。このとき、判定線Ｌは、当該ストロークの方向とほぼ垂直に交わるように調整部によって調整される。
【０１５６】
また、上記実施の形態に係る項目選択装置では、表がスクロールしているときに、タッチスクリーンにタッチすれば、当該接触位置に表示されている内容が接触位置に固定され、スクロールを止めることができる。しかし、接触が開始されてから、解放されるまでの間、検知された座標が全て所定の範囲内であれば、項目出力部はその座標に表示される項目を選択結果として出力するため、接触を解放した時点で、スクロールを止めるばかりでなく、接触した座標値に表示される項目が選択されてしまう。
【０１５７】
したがって、例えば、接触が開始されてから、解放されるまでの間、検知された座標が全て所定の範囲内であり、且つ、接触が開始されてから、解放されるまでの時間が所定の閾時間以内の場合についてのみ、項目出力部がその座標に表示される項目を選択結果として出力するようにしてもよい。これにより、解放されるまで所定の閾時間以上、同じ位置に接触された場合については、選択はされず、ユーザが接触した際の窓の位置が表示され続ける。
【０１５８】
また、上記実施の形態において、項目選択装置の移動部は、ユーザがタッチスクリーンに対して行なった掃う操作の方向に応じて、上下方向、または左右方向に制限して、窓の位置を移動した。そうではなく、接触を解放する直前の接触位置の変化の速度と逆の方向に窓を移動させるようにしてもよい。これにより、上下方向、左右方向以外の方向にも表がスクロールして表示される。
【０１５９】
また、上記実施の形態において、項目選択装置の移動部は、窓の位置が表の端に達すると、当該領域の位置を巡回的に移動させるようにした。そうではなく、逆の向きに移動させるようにしてもよい。
【０１６０】
例えば、表が、原点(0,0)、(W,0)、(0,L)、(W,L)に囲まれる領域に表されるときに、窓の位置(x,y)が当該領域内に含まれない場合、Ｘ方向にＷより大きい分については、Ｗから減算した値をＸ方向の座標値とすればよい。あるいは、Ｘ方向に０より小さい分については、０に加算した値をＸ方向の座標値とすればよい。一方、Ｙ方向にＬより大きい分については、Ｌから減算し、また、Ｙ方向に０より小さい分については、０に加算した値をＹ方向の座標値とすればよい。
【０１６１】
また、上記実施の形態において、項目選択装置の移動部は、解放状態が検出される直前の接触位置の変化の速度を用いて、ステップＳ４０７で窓の位置を移動した。そうではなく、ステップＳ４０７では、算出した解放直前の接触位置の速度に所定の係数を乗じて、序々に窓の位置の移動速度を減速させてもよい。
【０１６２】
また、他の実施の形態において、音声処理装置の調整部は、過去のストローク操作に基づいて、判定線を調整するようにしてもよい。例えば、ストローク操作時に、判定線と交差したと特定された時点の接触位置から、その直前に検知された接触位置を減算して正規化した方向ベクトル（以降、交差ベクトルと呼ぶ）を求める。そして当該交差ベクトルを加算ベクトルに加算して正規化することで新たに得られた加算ベクトルを一時記憶する。なお、初期状態では、加算ベクトルは値を持たないため、算出した交差ベクトルが加算ベクトルとなる。そして、当該加算ベクトルと垂直に交わるように、記憶される判定線の位置および向きを更新する。  
【０１６３】
例えば、図１４（Ａ）に示すストロークが行なわれたとき、図１４（Ｃ）に示すように、交差ベクトルは、点Ｑ−１からＱへ伸びるベクトルと、点Ｓ−１から点Ｓへと伸びるベクトルとなり、加算ベクトルはベクトルＡとなる。
【０１６４】
以降、同様に、判定線と交差した時点で、交差ベクトルを求め、加算ベクトルに加算して正規化する。ただし、加算する際に、交差ベクトルと、加算ベクトルの方向を揃える必要があるため、当該２つのベクトルの内積を求める。内積した結果、負の所定値より小さい値が得られた場合は、当該２つの方向ベクトルがほぼ逆向きであるとみなす。よって、今回求められた交差ベクトルにマイナスを乗じて、方向を揃えてから加算ベクトルに加算する。一方、内積が当該所定値よりも大きい場合は、そのまま、交差ベクトルを加算ベクトルに加算すればよい。そして、当該加算ベクトルと垂直に交わるように、判定線の位置および向きを更新する。
【０１６５】
このように、ストローク操作における交差ベクトルを、過去の交差ベクトルの和である加算ベクトルに加えていくことで、より正確に、ユーザのストロークの「癖」を抽出することが可能となる。
【０１６６】
あるいは、上記交差ベクトルに代えて、判定線と交差するストロークの開始位置から終点までの方向ベクトルを用いてもよい。ここで、ストロークの終点とは、振り掃った場合は、接触を解放する直前の位置である。一方、往復ストローク操作を行なった場合は、ストロークの方向が逆向きになる直前の位置である。
【０１６７】
また、上記実施の形態に係る音声処理装置において、音声出力部は、接触が開始された時点から、所定の操作条件が満たされるまでの距離などに基づいて音量を決定した。そうではなく、継続して検知された接触位置の軌跡のうち、任意の継続して検知された２点の接触位置の変化の速度の代表値（例えば平均速度）に基づいて音量を決定してもよい。即ち、速度が速いほど、音量を大きくしてもよい。
【０１６８】
また、上記実施の形態に係る音声処理装置において、音声出力部が演奏音声を出力し続ける時間は予め定められるものとした。そうではなく、継続して検知された接触位置の軌跡のうち、任意の継続して検知された２点の接触位置の変化の速度の代表値（例えば平均速度）に基づいて継続して出力される演奏音声の長さを決定してもよい。即ち、速度が速いほど、演奏音声が長い時間出力されるようにしてもよい。  
【０１６９】
また、音声出力部は、操作条件が満たされてから、所定の時間が経過した後に音声の出力を開始するようにしてもよい。例えば、広い場所で演奏を行なった場合、演奏者から遠くにいる人には、操作が行なわれてからいくらかの遅延時間が経過した後に音声が届く。よって、このように遅延時間を挿入することで、携帯式のゲーム機においても、広い場所で演奏しているかの効果を提供することが可能となる。
【０１７０】
また、この場合、音声出力部は、解放が検知されると当該遅延時間をデフォルト値に戻し、操作条件が続けて満たされる毎に短くしてもよい。通常、一度のみストロークを行なった場合に比べ、継続してストロークを行なった場合の方が、遅延が感じ難くなるものと考えられる。したがって、初回の遅延を強調するために、継続して操作条件が満たされると、遅延時間を前回に操作条件が満たされた場合と比較して短くすることで、序々に短くするようにしてもよい。
【０１７１】
また、上記実施の形態に係る項目選択装置、および音声処理装置において、検知部は、タッチスクリーンのほか、トラックパッドや、タブレットなどの、接触の有無、および、接触位置を検知するハードウェアであってもよい。
【０１７２】
また、上記実施の形態に係る項目選択装置や音声処理装置は、ゲーム装置の他にも、タッチスクリーンを備えるその他の端末装置に実現してもよい。
【図面の簡単な説明】
【０１７３】
【図１】一実施形態に係る項目選択装置が実現される典型的なゲーム装置の概要構成を示す模式図である。
【図２】一実施形態に係る項目選択装置が実現される典型的なゲーム装置の外観を示す図である。
【図３】一実施形態に係る項目選択装置の機能ブロック図である。
【図４】（Ａ）は、一実施形態に係る項目選択装置における表と窓、およびそれらの関係を示す図であり、（Ｂ）は、窓に覆われた表の要素がタッチスクリーンに表示される様子を示した図である。
【図５】一実施形態に係る項目選択装置の処理動作を説明するフロー図である。
【図６】（Ａ）および（Ｂ）は、タッチスクリーンの接触位置の移動に対する窓の移動方向を説明する図であり、（Ｃ）および（Ｄ）は、接触位置の移動に対して、表示される表の領域の変化の様子を示す図である。
【図７】（Ａ）は、窓の位置が、表の領域をはみ出したときに、窓を再配置する様子を示し、（Ｂ）および（Ｃ）は、窓が表の端に達したときに、表の要素が巡回して表示される様子を示す図である。
【図８】（Ａ）は、ピック形状のタッチペンの例を示す図であり、（Ｂ）はユーザがピック形状のタッチペンを持った様子を示す図であり、（Ｃ）は、このようなタッチペンを用いて、ユーザがタッチスクリーンでギター演奏のシミュレーションを行なっている様子を示す図である。
【図９】一実施形態に係る音声処理装置の機能ブロック図である。
【図１０】一実施形態に係る音声処理装置の処理動作を説明するフロー図である。
【図１１】接触の位置の軌跡の例を示す図である。
【図１２】他の実施の形態に係る音声処理装置の機能ブロック図である。
【図１３】他の実施の形態に係る音声処理装置の処理動作を説明するフロー図である。
【図１４】（Ａ）は接触の位置の軌跡の例を示し、（Ｂ）は判定線の位置および向きを調整する様子を示し、（Ｃ）は、判定線を調整する際に、ストロークの方向を求める方法を示す図である。
【符号の説明】
【０１７４】
１００  ゲーム装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェイス
１０５  入力部
１０６  メモリカセット
１０７  画像処理部
１０８  タッチスクリーン
１０９  ＮＩＣ
１１０  音声処理部
１１１  マイク
１１２  スピーカ
２００  項目選択装置
２０１  記憶部
２０２  表示部
２０３  検知部
２０４  項目出力部
２０５  移動部
２０６  接触部材
１０００  音声処理装置
１００１  検知部
１００２  音声出力部
１００３  調整部
【図１】
0004815471.tif 000002
【図２】
0004815471.tif 000003
【図３】
0004815471.tif 000004
【図４】
0004815471.tif 000005
【図５】
0004815471.tif 000006
【図６】
0004815471.tif 000007
【図７】
0004815471.tif 000008
【図８】
0004815471.tif 000009
【図９】
0004815471.tif 000010
【図１０】
0004815471.tif 000011
【図１１】
0004815471.tif 000012
【図１２】
0004815471.tif 000013
【図１３】
0004815471.tif 000014
【図１４】
0004815471.tif 000015