JP3098423U - 自動演奏装置及び自動演奏システム - Google Patents
自動演奏装置及び自動演奏システム Download PDFInfo
- Publication number
- JP3098423U JP3098423U JP2003003328U JP2003003328U JP3098423U JP 3098423 U JP3098423 U JP 3098423U JP 2003003328 U JP2003003328 U JP 2003003328U JP 2003003328 U JP2003003328 U JP 2003003328U JP 3098423 U JP3098423 U JP 3098423U
- Authority
- JP
- Japan
- Prior art keywords
- trigger
- reflector
- automatic performance
- state information
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000033001 locomotion Effects 0.000 claims abstract description 31
- 238000003384 imaging method Methods 0.000 claims abstract description 28
- 238000004364 calculation method Methods 0.000 claims description 111
- 230000001133 acceleration Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 7
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 abstract description 51
- 238000000034 method Methods 0.000 description 118
- 230000008569 process Effects 0.000 description 116
- 238000012545 processing Methods 0.000 description 65
- 238000001514 detection method Methods 0.000 description 22
- 238000000605 extraction Methods 0.000 description 14
- 238000003491 array Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 238000012986 modification Methods 0.000 description 11
- 230000004048 modification Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 8
- 230000033764 rhythmic process Effects 0.000 description 5
- 239000003990 capacitor Substances 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008034 disappearance Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000004397 blinking Effects 0.000 description 2
- 239000013078 crystal Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000004743 Polypropylene Substances 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 238000010137 moulding (plastic) Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920003023 plastic Polymers 0.000 description 1
- -1 polypropylene Polymers 0.000 description 1
- 229920001155 polypropylene Polymers 0.000 description 1
- 229920002635 polyurethane Polymers 0.000 description 1
- 239000004814 polyurethane Substances 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
【課題】電源により駆動する回路を内蔵しない簡易な構成の反射体の動きに応じた自動演奏を可能とする自動演奏装置を提供する。
【解決手段】赤外発光ダイオード15により、間欠的に赤外光が照射される2つの反射体3を撮像ユニット13により撮影して、2つの反射体3の間の距離を求めている。2つの反射体3の距離を求めるために、2つの反射体3に電源により駆動する回路を内蔵する必要がない。モニタ90に表示されるガイドマーク83の指示に従って、2つの反射体3を打ち合わせると楽音が発生する。打ち合わせの有無は、求めた距離により判定する。
【選択図】 図1
【解決手段】赤外発光ダイオード15により、間欠的に赤外光が照射される2つの反射体3を撮像ユニット13により撮影して、2つの反射体3の間の距離を求めている。2つの反射体3の距離を求めるために、2つの反射体3に電源により駆動する回路を内蔵する必要がない。モニタ90に表示されるガイドマーク83の指示に従って、2つの反射体3を打ち合わせると楽音が発生する。打ち合わせの有無は、求めた距離により判定する。
【選択図】 図1
Description
【0001】
【考案の属する技術分野】
本考案は、オペレータの操作に基づくトリガに応じて自動演奏を行う自動演奏装置及び自動演奏システムに関する。
【0002】
【従来の技術】
特開平9−34456号公報(先行文献1と呼ぶ。)には、指揮棒のリズム動作に応じたタイミング信号を受信し、このタイミング信号に同期して、楽音信号を生成する半自動演奏装置が開示されている。詳しくは次の通りである。
【0003】
指揮棒の内部には、加速度センサ及び送信回路が設けられている。従って、指揮棒が振られると、加速度センサは、その加速度の大きさに応じた電気信号を出力する。そして、送信回路は、その電気信号を微分して、所定値を超えている場合に、タイミング信号を送信する。そして、受信回路を有する本体部が、このタイミング信号を受信し、このタイミング信号に同期して、楽音信号を生成する。以上のようにして、この従来の半自動演奏装置は、指揮棒のリズム動作に同期した半自動演奏を実現する。
【0004】
また、特開2002−263360号公報(先行文献2と呼ぶ。)には、次のような演奏指揮ゲーム装置が開示されている。指揮棒の先端に投光ユニットが取り付けられ、モニタの下部に受光ユニットが設けられる。こうして、指揮棒の先端位置を検出する。そして、指揮棒が適正なタイミングで適正な方向に振られたときに、楽音信号が出力される。
【0005】
【考案が解決しようとする課題】
しかしながら、先行文献1に開示された半自動演奏装置では、指揮棒に、加速度センサ、送信回路、及び、電源、を設ける必要がある。従って、指揮棒の構成が複雑になって、重量が重くなり操作性の低下を招く。特に、指揮棒は、自在に動かされるものであり、その構成が複雑になると、故障の可能性も生じてくる。このような問題は、先行文献2に開示された演奏指揮ゲーム装置でも生じる。
【0006】
そこで、本考案は、電源により駆動する回路を内蔵しない簡易な構成の反射体の動きに応じた自動演奏を可能とする自動演奏装置及び自動演奏システムを提供することを目的とする。
【0007】
【課題を解決するための手段およびその作用・効果】
本考案の第1の形態によると、自動演奏装置は、自動演奏される音楽データが格納され、反射体の状態情報に基づくトリガに応じて、少なくとも1種類以上の旋律を自動演奏する自動演奏装置であって、前記反射体に、予め定められた周期で、光を照射するストロボスコープと、前記ストロボスコープの発光時及び消灯時のそれぞれにおいて、前記反射体を撮影して、発光時画像信号及び消灯時画像信号を生成する撮像手段と、前記発光時画像信号と前記消灯時画像信号との差分信号を生成する差分信号生成手段と、前記差分信号に基づいて、前記反射体の前記状態情報を算出する状態情報算出手段と、前記反射体の前記状態情報に基づいて、トリガを発生するトリガ発生手段と、前記トリガに応じて、前記音楽データを読み出して、楽音信号を生成する楽音信号生成手段と、を備える。
【0008】
この構成によれば、ストロボスコープにより間欠的に光が照射される反射体を撮像手段により撮影して、反射体の状態情報を求めている。このため、反射体の状態情報を求めるために、反射体に電源により駆動する回路を内蔵する必要がない。
【0009】
このように、簡易な構成の操作部材である反射体を用いて、その状態情報を求め、トリガによる楽音の発生ができるので、操作部材の操作性及び信頼性の向上を図りながらも、表現豊かな厚みのある自動演奏を実行することができる。なお、上記の従来技術では、操作部材として、電源により駆動する回路を内蔵する指揮棒を使用していたため、操作性及び信頼性に問題があった。
【0010】
また、発光時画像信号と消灯時画像信号との差分信号を生成するといった簡単な処理のみで、ノイズや外乱の影響を抑えた精度の高い検出が可能であるので、コスト、許容される消費電力等の条件により自動演奏装置のパフォーマンスが制限されるシステムの上でも容易に達成が可能である。
【0011】
また、上記の自動演奏装置では、前記トリガ発生手段は、前記反射体の前記状態情報としての、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの2以上の組み合わせ、に基づいて、前記トリガを発生する。
【0012】
この構成によれば、オペレータによる反射体の様々な動きに応じたトリガの発生が可能となり、オペレータが自分自身の動きをも楽しみながらの自動演奏が可能となる。
【0013】
また、上記の自動演奏装置では、前記撮像手段が生成する2次元画像において、所定領域が設定され、前記トリガ発生手段は、前記反射体の前記状態情報と、前記所定領域と、の関係が所定条件を満足したとき、前記トリガを発生する。
【0014】
この構成によれば、撮像手段が生成する2次元画像に設定する所定領域の位置によって、オペレータに、空間上のどの付近で反射体を操作させるかを、容易に調整できる。
【0015】
また、上記の自動演奏装置では、前記状態情報算出手段は、前記差分信号に基づいて、前記反射体の前記状態情報としての速度ベクトル情報を算出し、前記トリガ発生手段は、前記速度ベクトルの所定成分が所定方向を向いており、かつ、前記速度ベクトルの大きさが所定値を超えており、かつ、前記速度ベクトルが前記所定領域と交差しているとき、前記トリガを発生する。
【0016】
この構成によれば、複数の条件を満足しないとトリガが発生しないため、意図しないときにトリガが発生するという不都合を回避でき、しかも、加えられた条件は、反射体の速さ及び方向であるため、オペレータによる特別な操作を必要とせず、簡易な動作でトリガの発生が可能である。
【0017】
また、上記の自動演奏装置では、前記トリガを発生するためのトリガ条件が複数設定され、前記トリガ発生手段は、前記反射体の前記状態情報が、前記複数のトリガ条件のいずれかを満足したとき、前記トリガを発生し、前記楽音信号生成手段は、前記トリガが発生したときに、満足した前記トリガ条件ごとに異なる前記音楽データを読み出して、前記楽音信号を生成する。
【0018】
この構成によれば、複数のトリガ条件に応じて、異なる楽音が発生されるので、より表現豊かなより厚みのある自動演奏が可能になる。また、オペレータにとっても、複数のトリガ条件に応じて、異なる動作をしなければならないので、飽き難い自動演奏装置を提供できる。また、トリガ条件の数を調整することで、難易度の調整が可能である。
【0019】
また、上記の自動演奏装置では、前記撮像手段が生成する前記2次元画像において、複数の異なる所定領域が設定され、前記トリガ発生手段は、前記反射体の前記状態情報と、前記複数の所定領域のいずれかと、の関係が所定条件を満足したとき、前記トリガを発生し、前記楽音信号生成手段は、前記トリガが発生したときに、前記所定条件を満足した前記所定領域ごとに異なる音楽データを読み出して、前記楽音信号を生成する。
【0020】
この構成によれば、撮像手段が生成する2次元画像に複数の所定領域を設定するだけで、オペレータに、空間上の様々な位置で反射体を操作させることができる。また、所定領域ごとに異なる楽音が発生されるので、より表現豊かなより厚みのある自動演奏が可能になる。
【0021】
また、上記の自動演奏装置では、前記状態情報算出手段は、前記差分信号に基づいて、前記反射体の前記状態情報としての速度ベクトル情報を算出し、前記トリガ発生手段は、前記速度ベクトルの所定成分が所定方向を向いており、かつ、前記速度ベクトルの大きさが所定値を超えており、かつ、前記速度ベクトルが前記複数の所定領域のいずれかと交差しているとき、前記トリガを発生する。
【0022】
この構成によれば、複数の条件を満足しないとトリガが発生しないため、意図しないときにトリガが発生するという不都合を回避でき、しかも、加えられた条件は、反射体の速さ及び方向であるため、オペレータによる特別な操作を必要とせず、簡易な動作でトリガの発生が可能である。
【0023】
また、上記の自動演奏装置では、前記撮像手段は、前記ストロボスコープの発光時及び消灯時のそれぞれにおいて、2つの反射体を撮影して、それぞれの反射体の前記発光時画像信号及び前記消灯時画像信号を生成し、前記差分信号生成手段は、前記反射体ごとに、前記発光時画像信号と前記消灯時画像信号との前記差分信号を生成し、前記状態情報算出手段は、前記反射体ごとの前記差分信号に基づいて、前記反射体ごとに、前記状態情報としての位置情報を算出し、その位置情報に基づいて、一方の前記反射体に対する他方の前記反射体の相対的な位置情報を算出し、
前記トリガ発生手段は、前記相対的な位置情報に基づいて、前記トリガを発生する。
【0024】
この構成によれば、2つの反射体の相対的な位置情報に基づいて、トリガの発生が行われるので、1つの反射体によりトリガを発生させる場合と異なる操作が必要であり、オペレータは、1つの反射体によりトリガを発生させる場合とは異なる別の楽しみ方で、自動演奏に参加できる。
【0025】
また、上記の自動演奏装置では、前記一方の反射体に対する前記他方の反射体の前記相対的な位置情報は、前記一方の反射体から前記他方の反射体までの距離情報である。
【0026】
この構成により、簡易な処理で、トリガ発生の有無を決定できる。
【0027】
また、上記の自動演奏装置では、自動演奏の状態を表す画像信号、及び、前記反射体の操作ガイドを表す画像信号、のいずれか又は双方を生成して、別個に設けられるテレビジョンモニタに表示する画像信号生成手段、をさらに備え、前記自動演奏の状態及び前記操作ガイドは、それぞれ、オブジェクトの形態の変化及び移動を用いて表示される。
【0028】
この構成によれば、自動演奏の状態を表す画像、及び、操作ガイドを表す画像、をテレビジョンモニタに表示することで、操作者にとって、直感的に自動演奏の状態や操作ガイドを認識でき、自動演奏装置による自動演奏を容易に制御できる。
【0029】
また、テレビジョンモニタに、自動演奏装置を接続するだけで容易に、自動演奏の状態を表す画像、及び、操作ガイドを表す画像、を表示することができる。
【0030】
さらに、これらの画像を表示するための画像表示部を自動演奏装置に設けることが不要となって、自動演奏装置に画像表示部を有する場合より安価な自動演奏装置を提供できる。
【0031】
ここで、本明細書において、「オブジェクトの形態」とは、色、形状、及び、その組み合わせ、を含む。さらに、「オブジェクトの形態の変化」には、オブジェクトの消滅、及び、位置の変化、も含まれる。
【0032】
また、上記の自動演奏装置では、自動演奏の状態を表す画像信号、及び、前記反射体の操作ガイドを表す画像信号、のいずれか又は双方を生成して、別個に設けられるテレビジョンモニタに表示する画像信号生成手段、をさらに備え、前記自動演奏の状態は、オブジェクトの形態の変化を用いて表示され、前記操作ガイドは、前記異なる音楽データに対応して、異なるオブジェクトの移動を用いて表示される。
【0033】
この構成によれば、異なるトリガ条件ごとに異なるオブジェクトを用いて操作ガイドを行うため、オペレータは、複数のトリガ条件が設定されていても、満足させるべきトリガ条件を直感的に把握できる。
【0034】
また、上記の自動演奏装置では、前記トリガ発生手段は、前記反射体の前記状態情報が所定条件を満足し、かつ、前記反射体が前記操作ガイドに従ったタイミングで操作されたとき前記トリガを発生する。
【0035】
この構成によれば、操作ガイドに従った操作ができなければ、トリガが発生せず、当然トリガに基づく楽音も発生されない。このため、オペレータは、操作ガイドに従うように努力するため、自動演奏装置は、より完成された自動演奏を行うことができる。
【0036】
また、上記の自動演奏装置では、前記トリガが発生した回数に応じて、得点を決定する得点決定手段をさらに備える。
【0037】
この構成によれば、ゲーム性を付加できる。
【0038】
また、上記の自動演奏装置では、前記反射体の前記状態情報に応じて、前記楽音信号の音量を制御する音量制御手段、をさらに備える。
【0039】
この構成によれば、反射体の動きに応じて、音量が制御されることになるので、オペレータは、自動演奏装置による自動演奏をより楽しむことができる。
【0040】
また、上記の自動演奏装置では、前記音量制御手段は、前記反射体の前記状態情報としての速さ情報に応じて、前記楽音信号の音量を制御する。
【0041】
この構成によれば、オペレータは、反射体を操作する速さを変えるだけで、音量を制御できる。
【0042】
また、上記の自動演奏装置では、自動演奏される音楽データ及び描画を行うための画像データを格納したメディアを装着する装着手段、をさらに備える。
【0043】
この構成によれば、メディアを交換するだけで、様々な音楽及び映像を楽しむことができる。また、内部メモリの節約も可能となる。
【0044】
また、上記の自動演奏装置では、前記画像信号生成手段は、前記テレビジョンモニタに表示しているオブジェクトの形態を、前記トリガに応じて変化させる。
【0045】
この構成によれば、反射体の操作に応じて、表示オブジェクトが変化するため、オペレータは、音楽だけでなく映像をも楽しむことができる。
【0046】
また、上記の自動演奏装置では、前記ストロボスコープは、特定の波長領域の光を出力する光源、を含み、前記撮像手段は、前記特定の波長領域の光のみを透過するフィルタと、前記フィルタを透過した光で形成される映像を撮影する撮像素子と、を含む。
【0047】
この構成によれば、検出を行う反射体以外の移動光源および点滅光源(蛍光灯など)に含まれない波長領域の光をストロボスコープの光源とし、撮像手段がこの波長領域の光にのみ応答するようにすることで、これらのノイズ光源を除去することが可能となる。
【0048】
本考案の第2の形態によると、自動演奏システムは、請求項1記載の自動演奏装置と、自動演奏の状態を表す画像、及び、前記反射体の操作ガイドを表す画像、のいずれか又は双方を表示するテレビジョンモニタと、を備え、前記自動演奏の状態及び前記操作ガイドは、それぞれ、オブジェクトの形態の変化及び移動を用いて表示され、前記テレビジョンモニタは、前記自動演奏装置と別個に設けられる。
【0049】
【考案の実施の形態】
以下、本考案の実施の形態について、図面を参照しながら説明する。
【0050】
(実施の形態1)
図1は、本考案の実施の形態1における自動演奏システムの全体構成を示す図である。図1に示すように、この自動演奏システムは、自動演奏装置本体1、2つの反射体3、及び、テレビジョンモニタ90、を含む。ここで、自動演奏装置本体1及び反射体3は、自動演奏装置を構成する。なお、図1では、反射体3に、複数の帯状の装飾シートが取り付けられている状態を示している。従って、図1では、反射体3の外観は、示されていない。反射体3については、後で詳述する。ここで、2つの反射体3を区別して表現する必要があるときは、第1の反射体3及び第2の反射体3、と表記する。
【0051】
自動演奏装置本体1のハウジング19の表面には、決定キー5、キャンセルキー7、方向キー9、電源スイッチ11、及び、リセットボタン14、が設けられる。さらに、ハウジング19には、撮像ユニット13が組み込まれる。撮像ユニット13は、4つの赤外発光ダイオード15及び赤外フィルタ17を含む。赤外発光ダイオード15の発光部は、赤外フィルタ17から露出している。
【0052】
自動演奏装置本体1には、ACアダプタ92により、直流電源電圧が与えられる。ただし、ACアダプタ92に代えて、電池(図示せず)により、直流電源電圧を与えることもできる。
【0053】
テレビジョンモニタ90には、その前面にスクリーン91が設けられる。テレビジョンモニタ90と自動演奏装置本体1とは、AVケーブル93により接続される。
【0054】
オペレータ94が、自動演奏装置本体1の電源スイッチ11をオンにすると、スクリーン91に、曲目選択画面が表示される。そして、オペレータ94が、方向キー9又は反射体3により、曲目を選択し、決定キー5を押下すると、スクリーン91に自動演奏画面が表示され、自動演奏装置本体1による自動演奏が開始される。自動演奏を中断して、曲目選択画面に戻りたいときは、キャンセルキー7を押下する。なお、リセットボタン14は、システムのリセットを実行する。
【0055】
撮像ユニット13の赤外発光ダイオード15は、間欠的に赤外光を発光する。赤外発光ダイオード15からの赤外光は、この反射体3により反射され、赤外フィルタ17の内部に設けられた撮像素子(後述)に入力される。このようにして、反射体3が間欠的に撮影される。従って、自動演奏装置本体1は、オペレータ94により動かされた反射体3の間欠的な映像信号を取得できる。自動演奏装置本体1は、この映像信号を解析して、その解析結果を自動演奏に反映する。
【0056】
なお、図2においては、構成をの理解を容易にするため、自動演奏装置本体1の図示を大きくしている。
【0057】
図2は、図1の反射体3の拡大図である。図2に示すように、反射体3には、リング25、及び、複数の帯状の装飾シート23、が取り付けられる。このようにして、反射体3は、外観がポンポンに見えるように装飾される。
【0058】
図3は、図2の反射体3の立体図である。図4(a)は、図3の反射体3の上面図、図4(b)は、図3の反射体3の側面図、図4(c)は、図3の反射体3の下面図、である。
【0059】
図2、図3、及び、図4(a)〜図4(c)に示すように、反射体3は、帯状部材29を環状にたものを2つ交差させ、下部の交点(図4(c)参照)において、両者を縫いつけ、上部の交点(図4(a)参照)において、複数の帯状の装飾シート23の各々のほぼ中心部及びリング25とともに、留具27にて留めることにより構成される。さらに、反射体3の下半面には、反射シート31が、取り付けられる。この反射シート31により、赤外発光ダイオード15から照射された赤外光が反射される。
【0060】
ここで、リング25及び帯状部材29は、例えば、ポリウレタン製である。また、装飾シート23は、例えば、延伸ポリプロピレン製である。なお、オペレータ94は、リング25に指を挿入して、反射体3を振り動かす。
【0061】
図5は、図1の撮像ユニット13の一例を示す図解図である。なお、図5において、図1と同様の部分については、同一の参照符号を付している。図5に示すように、この撮像ユニット13は、たとえばプラスチック成型によって形成されるユニットベース35を含み、このユニットベース35内には支持筒36が取り付けられる。支持筒36の上面には内面が逆円錐形状であるラッパ状の開口41が形成され、その開口41の下方の筒状部内部には、いずれもがたとえば透明プラスチックの成型によって形成された凹レンズ39および凸レンズ37を含む光学系が設けられ、凸レンズ37の下方において、撮像素子としてのイメージセンサ43が固着される。したがって、イメージセンサ43は、開口41からレンズ39および37を通して入射する光に応じた映像を撮影することができる。
【0062】
イメージセンサ43は、低解像度のCMOSイメージセンサ(たとえば32×32画素:グレースケール)である。ただし、このイメージセンサ43は、画素数のもっと多いものでもよいし、CCD等の他の素子からなるものであってよい。
【0063】
また、ユニットベース35には、光出射方向がいずれも上方向とされた複数(実施の形態1では4つ)の赤外発光ダイオード15が取り付けられる。この赤外発光ダイオード15によって、撮像ユニット13の上方に赤外光が照射される。また、ユニットベース35の上方には、赤外フィルタ(赤外光のみを透過するフィルタ)17が上記開口41を覆うように、取り付けられる。そして、赤外発光ダイオード15は後述のように、点灯/消灯(非点灯)が連続的に繰り返されるので、ストロボスコープとして機能する。ただし、「ストロボスコープ」とは、運動体を間欠的に照らす装置の総称である。したがって、上記イメージセンサ43は、その撮影範囲内で移動する物体、実施の形態1では、反射体3(図3参照)を撮影することになる。なお、後述する図8に示すように、ストロボスコープは、主に、赤外発光ダイオード15、LED駆動回路75、及び、高速プロセッサ200、により構成される。
【0064】
ここで、撮像ユニット13は、イメージセンサ43の受光面が、水平面から所定角度(例えば、55度)だけ傾くように、ハウジング19に組み込まれる。従って、オペレータ94は、例えば、自動演奏装置本体1を床面に置いて、反射体3を振り動かす。また、凹レンズ39および凸レンズ37により、例えば、90度の広角レンズを構成する。
【0065】
図6は、図1の自動演奏装置本体1の電気的な構成を示す図である。なお、図6において、図1〜図5と同様の部分については同一の参照符号を付している。図6に示すように、自動演奏装置本体1は、イメージセンサ43、赤外発光ダイオード15、画像信号出力端子47、楽音信号出力端子49、キースイッチ群57、高速プロセッサ200、ROM(read only memory)51、及び、バス53、を含む。キースイッチ群57は、決定キー5、キャンセルキー7、及び、方向キー9、を含む。
【0066】
高速プロセッサ200には、バス53が接続される。さらに、バス53には、ROM51が接続される。従って、高速プロセッサ200は、バス53を介して、ROM51にアクセスすることができるので、ROM51に格納された制御プログラムをリードして実行でき、また、ROM51に格納された画像データ及び音楽データをリードして処理し、画像信号及び楽音信号を生成して、画像信号出力端子47及び楽音信号出力端子49に出力することができる。
【0067】
また、自動演奏装置本体1にメモリカートリッジ(図示せず)を装着するためのコネクタ(図示せず)を設けることができる。この場合は、高速プロセッサ200は、バス53を介して、そのコネクタに装着されたメモリカートリッジに内蔵されるROM55にアクセスできる。従って、高速プロセッサ200は、バス53を介して、ROM55にアクセスすることができるので、ROM55に格納された制御プログラムをリードして実行でき、また、ROM55に格納された画像データ及び音楽データをリードして処理し、画像信号及び楽音信号を生成して、画像信号出力端子47及び楽音信号出力端子49に出力することができる。
【0068】
さらに、高速プロセッサ200は、キースイッチ群57の各キー5,7,9からのオン/オフ信号を受けて、各キー5,7,9により指示された処理を実行する。
【0069】
さて、反射体3は、赤外発光ダイオード15が発光する赤外光に照射され、その赤外光を反射シート31で反射する。この反射シート31からの反射光がイメージセンサ43によって検知され、したがって、イメージセンサ43からは反射シート31の映像信号が出力される。イメージセンサ43からのこのアナログ映像信号は高速プロセッサ200に内蔵されたA/Dコンバータ(図示せず)によってデジタルデータに変換される。そして、高速プロセッサ200は、このデジタルデータを解析して、その解析結果を自動演奏に反映する。
【0070】
図7は、図6の高速プロセッサ200のブロック図である。図7に示すように、この高速プロセッサ200は、中央演算処理装置(CPU:central processing unit)201、グラフィックプロセッサ202、サウンドプロセッサ203、DMA(direct memory access)コントローラ204、第1バス調停回路205、第2バス調停回路206、内部メモリ207、A/Dコンバータ(ADC:analog to digital converter)208、入出力制御回路209、タイマ回路210、DRAM(dynamic random access memory)リフレッシュ制御回路211、外部メモリインタフェース回路212、クロックドライバ213、PLL(phase−locked loop)回路214、低電圧検出回路215、第1バス218、及び、第2バス219、を含む。
【0071】
CPU201は、メモリ(内部メモリ207、又は、ROM51,55)に格納されたプログラムに従い、各種演算やシステム全体の制御を行う。CPU201は、第1バス218及び第2バス219のバスマスタであり、それぞれのバスに接続された資源にアクセスが可能である。
【0072】
グラフィックプロセッサ202は、第1バス218及び第2バス219のバスマスタであり、内部メモリ207、又は、ROM51,55に格納されたデータを基に、画像信号を生成して、画像信号出力端子47へ出力する。グラフィックプロセッサ202は、第1バス218を通じて、CPU201により制御される。また、グラフィックプロセッサ202は、CPU201に対して、割込み要求信号220を発生する機能を有する。
【0073】
サウンドプロセッサ203は、第1バス218及び第2バス219のバスマスタであり、内部メモリ207、又は、ROM51,55に格納されたデータを基に、楽音信号を生成して、楽音信号出力端子49へ出力する。サウンドプロセッサ203は、第1バス218を通じて、CPU201により制御される。また、サウンドプロセッサ203は、CPU201に対して、割込み要求信号220を発生する機能を有する。
【0074】
DMAコントローラ204は、ROM51,55から、内部メモリ207へのデータ転送を司る。また、DMAコントローラ204は、データ転送の完了を通知するために、CPU201に対する割込み要求信号220を発生する機能を有する。DMAコントローラ204は、第1バス218及び第2バス219のバスマスタである。DMAコントローラ204は、第1バス218を通じてCPU201により制御される。
【0075】
内部メモリ207は、マスクROM、SRAM(static randomaccess memory)、及び、DRAMのうち、必要なものを備える。バッテリによるSRAMのデータ保持が必要とされる場合、バッテリ217が必要となる。DRAMが搭載される場合、定期的にリフレッシュと呼ばれる記憶内容保持のための動作が必要とされる。
【0076】
第1バス調停回路205は、第1バス218の各バスマスタからの第1バス使用要求信号を受け付け、調停を行い、各バスマスタへの第1バス使用許可信号を発行する。各バスマスタは、第1バス使用許可信号を受領することによって第1バス218に対するアクセスが許可される。ここで、第1バス使用要求信号及び第1バス使用許可信号は、図7では、第1バス調停信号222として示されている。
【0077】
第2バス調停回路206は、第2バス219の各バスマスタからの第2バス使用要求信号を受け付け、調停を行い、各バスマスタへの第2バス使用許可信号を発行する。各バスマスタは、第2バス使用許可信号を受領することによって第2バス219に対するアクセスが許可される。ここで、第2バス使用要求信号及び第2バス使用許可信号は、図7では、第2バス調停信号223として示されている。
【0078】
入出力制御回路209は、外部入出力装置や外部の半導体素子との通信等を入出力信号を介して行う。入出力信号は、第1バス218を介して、CPU201からリード/ライトされる。また、入出力制御回路209は、CPU201に対して、割込み要求信号220を発生する機能を有する。
【0079】
この入出力制御回路209へ、キースイッチ群57の各キー5,7,9からのオン/オフ信号、が入力される。また、この入出力制御回路209から、赤外発光ダイオード15を制御するLEDコントロール信号LEDC出力される。
【0080】
タイマ回路210は、設定された時間間隔に基づき、CPU201に対する割込み要求信号220を発生する機能を有する。時間間隔等の設定は、第1バス218を介してCPU201によって行われる。
【0081】
ADC208は、アナログ入力信号をデジタル信号に変換する。このデジタル信号は、第1バス218を介してCPU201によってリードされる。また、ADC208は、CPU201に対して、割込み要求信号220を発生する機能を有する。
【0082】
このADC208が、イメージセンサ43からのピクセルデータ(アナログ)を受けて、デジタルデータに変換する。
【0083】
PLL回路214は、水晶振動子216より得られる正弦波信号を逓倍した高周波クロック信号を生成する。
【0084】
クロックドライバ213は、PLL回路214より受け取った高周波クロック信号を、各ブロックへクロック信号225を供給するのに十分な信号強度へ増幅する。
【0085】
低電圧検出回路215は、電源電圧Vccを監視し、電源電圧Vccが一定電圧以下のときに、PLL回路214のリセット信号226、その他のシステム全体のリセット信号227を発行する。また、内部メモリ207がSRAMで構成されており、かつ、SRAMのバッテリ217によるデータ保持が要求される場合、電源電圧Vccが一定電圧以下のときに、バッテリバックアップ制御信号224を発行する機能を有する。
【0086】
ここで、図8〜図10を参照して、イメージセンサ43から高速プロセッサ200へピクセルデータを取り込むための構成を詳細に説明する。
【0087】
図8は、図6のイメージセンサ43から高速プロセッサ200へピクセルデータを取り込む構成及びLED駆動回路を示す回路図である。なお、図8において、図6と同様の部分については、同一の参照符号を付している。
【0088】
図9は、図6のイメージセンサ43から高速プロセッサ200へピクセルデータを取り込む際の動作を示すタイミング図である。図10は、図9の一部を拡大して示すタイミング図である。
【0089】
図8に示すように、イメージセンサ43は、ピクセルデータD(X,Y)をアナログ信号として出力するタイプのものであるため、このピクセルデータD(X,Y)は高速プロセッサ200のアナログ入力ポートに入力される。アナログ入力ポートは、この高速プロセッサ200においてADC208に接続され、したがって、高速プロセッサ200は、ADC208からデジタルデータに変換されたピクセルデータをその内部に取得する。
【0090】
上述のアナログピクセルデータD(X,Y)の中点は、イメージセンサ43の基準電圧端子Vrefに与えられる基準電圧によって決定される。そのため、イメージセンサ43に関連して例えば抵抗分圧回路からなる基準電圧発生回路59が設けられ、この回路59から基準電圧端子Vrefに常に一定の大きさの基準電圧が与えられる。
【0091】
イメージセンサ43を制御するための各デジタル信号は、高速プロセッサ200のI/Oポートに与えられ、またはそこから出力される。このI/Oポートは各々入力/出力の制御が可能なデジタルポートであり、この高速プロセッサ200で入出力制御回路209に接続されている。
【0092】
詳しく言うと、高速プロセッサ200の出力ポートからはイメージセンサ43をリセットするためのリセット信号resetが出力され、イメージセンサ43に与えられる。また、イメージセンサ43からは、ピクセルデータストローブ信号PDSおよびフレームステータスフラグ信号FSFが出力され、それらの信号が高速プロセッサ200の入力ポートに与えられる。
【0093】
ピクセルデータストローブ信号PDSは上述の各ピクセル信号D(X,Y)を読み込むための図9(b)に示すようなストローブ信号である。フレームステータスフラグ信号FSFはイメージセンサ43の状態を示すフラグ信号で、図9(a)に示すように、このイメージセンサ43の露光期間を規定する。つまり、フレームステータスフラグ信号FSFの図9(a)に示すローレベルが露光期間を示し、図9(a)に示すハイレベルが非露光期間を示す。
【0094】
また、高速プロセッサ200は、イメージセンサ43の制御レジスタ(図示せず)に設定するコマンド(またはコマンド+データ)をレジスタデータとしてI/Oポートから出力するとともに、たとえばハイレベルおよびローレベルを繰り返すレジスタ設定クロックCLKを出力し、それらをイメージセンサ43に与える。
【0095】
なお、赤外発光ダイオード15として、図8に示すように互いに並列接続された4つの赤外発光ダイオード15a,15b,15cおよび15dを用いる。この4つの赤外発光ダイオード15a〜15dは、上で説明したように、反射体3を照らすように、イメージセンサ43の視点方向と同一方向に赤外光を照射するようにかつイメージセンサ43を囲むように配置される。ただし、これら個別の赤外発光ダイオード15a〜15dは、特に区別する必要がある場合を除いて、単に赤外発光ダイオード15と呼ばれる。
【0096】
この赤外発光ダイオード15はLED駆動回路75によって、点灯されまたは消灯(非点灯)される。LED駆動回路75は、イメージセンサ43から上述のフレームステータスフラグ信号FSFを受け、このフラグ信号FSFは、抵抗69およびコンデンサ71からなる微分回路67を通してPNPトランジスタ77のベースに与えられる。このPNPトランジスタ77にはさらにプルアップ抵抗79が接続されていて、このPNPトランジスタ77のベースは、通常は、ハイレベルにプルアップされている。そして、フレームステータス信号FSFがローレベルになると、そのローレベルが微分回路67を経てベースに入力されるため、PNPトランジスタ77は、フラグ信号FSFがローレベル期間にのみオンする。
【0097】
PNPトランジスタ77のエミッタは抵抗73および65を介して接地される。そして、エミッタ抵抗73および65の接続点がNPNトランジスタ81のベースに接続される。このNPNトランジスタ81のコレクタが各赤外発光ダイオード15a〜15dのアノードに共通に接続される。NPNトランジスタ81のエミッタが別のNPNトランジスタ61のベースに直接接続される。NPNトランジスタ61のコレクタが各赤外発光ダイオード15a〜15dのカソードに共通接続され、エミッタが接地される。
【0098】
このLED駆動回路75では、高速プロセッサ200のI/Oポートから出力されるLEDコントロール信号LEDCがアクティブ(ハイレベル)でありかつイメージセンサ43からのフレームステータスフラグ信号FSFがローレベルである期間にのみ赤外発光ダイオード15が点灯される。
【0099】
図9(a)に示すようにフレームステータスフラグ信号FSFがローレベルになると、そのローレベル期間中(実際には微分回路67の時定数での遅れがあるが)、PNPトランジスタ77がオンする。したがって、図9(d)に示すLEDコントロール信号LEDCが高速プロセッサ200からハイレベルで出力されると、NPNトランジスタ81のベースがハイベルとなり、このトランジスタ81がオンとなる。トランジスタ81がオンするとトランジスタ61はオンとなる。したがって、電源(図8では小さい白丸で示す)から各赤外発光ダイオード15a〜15dおよびトランジスタ61を経て電流が流れ、応じて図9(e)に示すように各赤外発光ダイオード15a〜15dが点灯される。
【0100】
LED駆動回路75では、このように、図9(d)のLEDコントロール信号LEDCがアクティブでありかつ図9(a)のフレームステータスフラグ信号FSFがローレベルである期間にのみ赤外発光ダイオード15が点灯されるので、イメージセンサ43の露光期間(図9(f)参照)にのみ赤外発光ダイオード15が点灯されることになる。
【0101】
したがって、無駄な電力消費を抑制することができる。さらに、フレームステータスフラグ信号FSFはコンデンサ71によってカップリングされているので、万一イメージセンサ43の暴走等によりそのフラグ信号FSFがローレベルのまま停止した場合でも、一定時間後にはトランジスタ77は必ずオフされ、赤外発光ダイオード15も一定時間後には必ずオフされる。
【0102】
このように、フレームステータス信号FSFの持続期間を変更することによって、イメージセンサ43の露光時間を任意にかつ自在に設定または変更することができる。
【0103】
さらに、フレームステータス信号FSFおよびLEDコントロール信号LEDCの持続時間や周期を変更することによって、赤外発光ダイオード15すなわちストロボスコープの発光期間、非発光期間、発光/非発光周期などを任意にかつ自在に変更または設定できる。
【0104】
先に説明したように、赤外発光ダイオード15からの赤外光によって反射体3が照射されると、反射体3からの反射光によってイメージセンサ43が露光される。応じて、イメージセンサ43から上述のピクセルデータD(X,Y)が出力される。詳しく説明すると、イメージセンサ43は、上述の図9(a)のフレームステータスフラグ信号FSFがハイレベルの期間(赤外発光ダイオード15の非点灯期間)に図9(b)に示すピクセルデータストローブPDSに同期して、図9(c)に示すようにアナログのピクセルデータD(X,Y)を出力する。
【0105】
高速プロセッサ200では、そのフレームステータスフラグ信号FSFとピクセルデータストローブPDSとを監視しながら、ADC208を通じて、デジタルのピクセルデータを取得する。
【0106】
ただし、ピクセルデータは、図10(c)に示すように、第0行,第1行,…第31行と行順次に出力される。ただし、後に説明するように、各行の先頭の1ピクセルはダミーデータとなる。
【0107】
さて、次に、自動演奏装置本体1による自動演奏について、具体例を挙げながら説明する。
【0108】
図11は、図1のテレビジョンモニタ90のスクリーン91に表示される自動演奏画面の例示図である。オペレータ94が、曲目を選択して、決定キー5を押下すると、例えば、図11に示すような、自動演奏画面が、テレビジョンモニタ90のスクリーン91に表示され、オペレータ94が選択した曲目の自動演奏が開始される。
【0109】
この自動演奏画面は、ガイドマーク83及びシンバルを表したオブジェクト85(以下、「シンバル」と呼ぶ。)を含む。ガイドマーク83は、自動演奏されるメロディのリズムに合った間隔で出現する。そして、ガイドマーク83が、シンバル85の位置に到達したタイミングで、オペレータ94が、2つの反射体3を打ち合わせると、テレビジョンモニタ90のスピーカ(図示せず)から楽音(例えば、シンバルの音)が発生され、同時に、開いた状態のシンバル85が、打ち合わせられたシンバル85に変化する。
【0110】
ガイドマーク83は、メロディのリズムに合った間隔で出現するため、このように適切なタイミングで(ガイドマーク83に指示されたタイミングで)、オペレータ94が、2つの反射体3を打ち合わせることで、メロディのリズムに合ったタイミングで、楽音が発音される。また、同時に、表示されたシンバル85も変化するので、オペレータ94は、映像及び音楽の両者を楽しむことができる。
【0111】
図12は、図1のテレビジョンモニタ90のスクリーン91に表示される自動演奏画面の他の例示図である。図12に示すように、オペレータ94が、ガイドマーク83で指示された適切なタイミングで、2つの反射体3を打ち合わせることで、上記したように、図11の開いた状態のシンバル85が、打ち合わせられた状態のシンバル85に変化する。
【0112】
以上のようにして、オペレータ94が、次々に出現するガイドマーク83が指示するタイミングで、2つの反射体3を打ち合わせることで、メロディに合った楽音が発音され、全体として、より厚みのある表現豊かな音楽となる。
【0113】
さて、次に、実施の形態1における自動演奏システムによる自動演奏の詳細を説明する。
【0114】
図13は、図6のROM51に格納されたプログラム及びデータを示す概念図である。図13に示すように、ROM51には、制御プログラム102、画像データ103、及び、音楽データ105、が格納される。画像データ130は、オブジェクト画像データ107(例えば、ガイドマーク83及びシンバル85等)及び背景画像データ109が含まれる。音楽データ105には、楽譜データ111及び音源データ113が含まれる。これらのプログラム及びデータの内容は以下の説明の中で明らかになる。
【0115】
図14は、図7のCPU201の動作の説明図である。図14に示すように、CPU201は、図13の制御プログラム102を実行することで、画像表示制御手段115、振り動作検出手段117、トリガ発生手段119、ガイドマーク登録手段123、グラフィックドライバ125、及び、サウンドドライバ127、として機能する。ここで、振り動作検出手段117は、差分データ生成手段129、及び、状態情報算出手段131、を含む。
【0116】
画像表示制御手段115は、ガイドマーク83をスクリーン91に表示する際の制御を行う。具体的には、次の通りである。
【0117】
画像表示制御手段115は、新規のガイドマーク83が登録されている場合、そのガイドマークの識別データ、そのガイドマーク83の出現位置を示す座標データ、及び、そのガイドマーク83の画像データの格納位置データ、を内部メモリ207に格納する。そして、グラフィックドライバ125は、垂直ブランキング期間に、それらのデータをグラフィックプロセッサ202に与える。
【0118】
グラフィックプロセッサ202は、与えられた格納位置データに基づいて、ROM51から、ガイドマーク83の画像データを読み出して、その画像データ及び与えられた座標データを基に画像信号を生成し、画像信号出力端子47に出力する。これにより、新規のガイドマーク83がスクリーン91に出現する(図11参照)。
【0119】
また、画像表示制御手段115は、表示中のガイドマーク83については、所定の加速度(例えば、「0」でもよい。)及び所定の初速度に基づいて、座標を計算する。そして、グラフィックドライバ125は、垂直ブランキング期間に、そのガイドマーク83の識別データ、及び、画像表示制御手段115が計算した座標データを、グラフィックプロセッサ202に与える。
【0120】
グラフィックプロセッサ202は、与えられた識別データが示すガイドマーク83の画像データを、ROM51から読み出して、その画像データ及び与えられた座標データを基に画像信号を生成し、画像信号出力端子47に出力する。これにより、移動したガイドマーク83がスクリーン91に表示される(図11参照)。
【0121】
また、ガイドマーク83が、消滅位置(例えば、スクリーン91の下端)に達したときは、画像表示制御手段115の指示を受けて、グラフィックドライバ125は、グラフィックプロセッサ202に対して、垂直ブランキング期間に、そのガイドマーク83の識別データとともに、消滅指示を出す。これを受けて、グラフィックプロセッサ202は、そのガイドマーク83をスクリーン91から消滅させる。
【0122】
また、画像表示制御手段115は、ガイドマーク83がシンバル85の位置に来たときに、タイミングよくオペレータ94が2つの反射体3を打ち合わせたとき、打ち合わせたシンバル85の識別データ、打ち合わせたシンバル85の出現位置を示す座標データ、及び、打ち合わせたシンバル85の画像データの格納位置データ、を内部メモリ207に格納する。そして、グラフィックドライバ125は、垂直ブランキング期間に、それらのデータをグラフィックプロセッサ202に与える。
【0123】
グラフィックプロセッサ202は、与えられた格納位置データに基づいて、ROM51から、打ち合わせたシンバル85の画像データを読み出して、その画像データ及び与えられた座標データを基に画像信号を生成し、画像信号出力端子47に出力する。これにより、打ち合わせたシンバル85がスクリーン91に出現する(図12参照)。
【0124】
また、画像表示制御手段115は、ガイドマーク83がシンバル85の位置に来たときに、タイミングよくオペレータ94が2つの反射体3を打ち合わせたとき、グラフィックドライバ125に、該当するガイドマーク83の消滅指示を出すとともに、星マークの識別データ、星マークの出現位置を示す座標データ、及び、星マークの画像データの格納位置データ、を内部メモリ207に格納する。そして、グラフィックドライバ125は、垂直ブランキング期間に、それらのデータをグラフィックプロセッサ202に与える。
【0125】
グラフィックプロセッサ202は、与えられた格納位置データに基づいて、ROM51から、星マークの画像データを読み出して、その画像データ及び与えられた座標データを基に画像信号を生成し、画像信号出力端子47に出力する。これにより、星マークがスクリーン91に出現する(図12参照)。
【0126】
また、画像表示制御手段115は、表示中の星マークについては、所定の加速度(例えば、「0」でもよい。)及び所定の初速度に基づいて、座標を計算する。そして、グラフィックドライバ125は、垂直ブランキング期間に、その星マークの識別データ、及び、画像表示制御手段115が計算した座標データを、グラフィックプロセッサ202に与える。
【0127】
グラフィックプロセッサ202は、与えられた識別データが示す星マークの画像データを、ROM51から読み出して、その画像データ及び与えられた座標データを基に画像信号を生成し、画像信号出力端子47に出力する。これにより、移動した星マークがスクリーン91に表示される(図12参照)。
【0128】
以上により、シンバル85の打ち合わせと同時に、星マークが四方に散らばるように見える。
【0129】
さて、差分データ生成手段129は、赤外発光ダイオード15の点灯時のピクセルデータと、消灯時のピクセルデータと、の差分を算出して、差分データを得る。なお、そのピクセルデータは、イメージセンサ43が出力したアナログピクセルデータを、ADC208がデジタルデータに変換したものである。ここで、図面を用いて、差分を求める効果を説明する。
【0130】
図15(a)は、一般的なイメージセンサにより撮影された、特別な処理を施さない映像の例示図、図15(b)は、図15(a)の映像信号を或る閾値でレベル弁別したときの映像信号の例示図、図15(c)は、赤外フィルタ17を介したイメージセンサ43の点灯時の映像信号を或る閾値でレベル弁別したときの映像信号の例示図、図15(d)は、赤外フィルタ17を介したイメージセンサ43の消灯時の映像信号を或る閾値でレベル弁別したときの映像信号の例示図、図15(e)は、点灯時の映像信号と消灯時の映像信号との差分信号の例示図、である。
【0131】
上記のように、反射体3に赤外光を照射し、赤外フィルタ17を介してイメージセンサ43に入射した反射赤外光による映像を撮影している。一般的な室内環境で一般的な光源を用いて反射体3をストロボスコープ撮影した場合には、一般的なイメージセンサ(図5のイメージセンサ43に相当する。)には、図15(a)に示すように、反射体3による映像以外に、蛍光灯光源、白熱灯光源、太陽光(窓)のような光源だけでなく、室内のすべてのものの画像がすべて写り込む。したがって、この図15(a)の映像を処理して反射体3の映像のみを抽出するのは、かなり高速のコンピュータまたはプロセサが必要である。しかしながら、安価が条件の装置ではそのような高性能コンピュータを使えない。そこで種々の処理を行って負担を軽減することが考えられる。なお、図15(a)の映像は、本来ならば、白黒の階調により表される映像であるが、その図示を省略している。
【0132】
図15(b)は、図15(a)の映像信号を或る閾値でレベル弁別したときの映像信号である。このようなレベル弁別処理は専用のハードウェア回路でも、ソフトウェア的にでも、実行することができるが、いずれの方法によっても、一定以下の光量のピクセルデータをカットするレベル弁別を実行すると、反射体3や光源以外の低輝度画像を除去することができる。この図15(b)の映像では反射体3および室内の光源以外の画像の処理を省略でき、したがって、コンピュータの負担を軽減できるが、それでも、光源画像を含む高輝度画像が依然として写り込んでいるので、反射体3と他の光源を分別することは難しい。
【0133】
そこで、図5に示したように赤外フィルタ17を利用して、イメージセンサ43に赤外光による画像以外の画像が写らないようにした。それによって、図15(c)に示すように、赤外光を殆ど含まない蛍光灯光源の画像は除去できる。しかしながら、それでもなお太陽光や白熱灯が映像信号中に含まれてしまう。したがって、更なる負担軽減のために、赤外ストロボスコープの点灯時のピクセルデータと消灯時のピクセルデータとの差分を計算することとした。
【0134】
そのため、図15(c)の点灯時の映像信号のピクセルデータと、図15(d)の消灯時の映像信号のピクセルデータとの差分を計算した。すると、図15(e)に示すように、その差分だけの映像が取得できる。この差分データによる映像は、図15(a)と対比すれば明らかなように、反射体3によって得られる画像のみを含むことになる。したがって、処理の軽減を図りながらも、反射体3の状態情報を取得できる。状態情報とは、例えば、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの2以上の組み合わせ、等である。
【0135】
以上のような理由で、差分データ生成手段129は、赤外発光ダイオード15の点灯時のピクセルデータと、消灯時のピクセルデータと、の差分を算出して、差分データを得る。
【0136】
さて、状態情報算出手段131は、差分データ生成手段129が算出した差分データを基に、反射体3の注目点の座標を求める。この場合の手法について、2種類の例を挙げる。まず、第1の例を説明する。
【0137】
図16は、第1の例による、第1の反射体3の注目点(第1注目点)の座標算出の説明図である。図16に示すように、イメージセンサ43は、例えば、32ピクセル×32ピクセルからなる。状態情報算出手段131は、Y方向に32ピクセル分の差分データをスキャンし、そして、X座標をインクリメントし、Y方向に32ピクセル分の差分データをスキャンし、そして、X座標をインクリメントし、というように、X座標をインクリメントしながら、Y方向(列方向)に32ピクセル分の差分データをスキャンしていく。
【0138】
この場合、状態情報算出手段131は、Y方向にスキャンした32ピクセル分の差分データから、最大輝度値の差分データを求め、その最大輝度値と所定の閾値Thとを比較する。そして、状態情報算出手段131は、その最大輝度値が所定の閾値Thより大きい場合は、その値を配列max[n]に代入する。一方、状態情報算出手段131は、その最大輝度値が所定の閾値Th以下の場合は、所定値(例えば、「0」)を配列max[n]に代入する。
【0139】
ここで、nはX座標であり、さらに、状態情報算出手段131が、最大輝度値を有するピクセルのY座標を関連付けて格納することで、後に、最大輝度値を有するピクセルのX座標及びY座標を取得できる。
【0140】
さらに、状態情報算出手段131は、配列max[0]〜配列max[31]をスキャンして、さらにその中の最大値を求める。そして、状態情報算出手段131は、その最大値のX座標及びY座標を、第1の反射体3の注目点の座標(Xc1,Yc1)として保存する。
【0141】
次に、第1の例による、第2の反射体3の注目点(第2注目点)の座標算出について説明する。状態情報算出手段131は、配列max[0]〜max[31]のうちの最大値、つまり、第1の反射体3の注目点の座標(Xc1,Yc1)に位置するピクセルの差分データ、を中心に所定範囲をマスクする。この点を図面を用いて説明する。
【0142】
図17は、第1の例による、第2の反射体3の注目点の座標算出の説明図である。図17に示すように、状態情報算出手段131は、配列max[0]〜max[31]のうちの最大値(図17の例では、X=9、Y=9)を中心に所定範囲をマスク(太枠で囲った部分)する。
【0143】
そして、状態情報算出手段131は、このマスクした範囲を除いて、配列max[0]〜max[31]をスキャンする。つまり、この例では、状態情報算出手段131は、配列max[0]〜max[6]、及び、配列max[12]〜max[31]をスキャンする。
【0144】
そして、状態情報算出手段131は、そのスキャンした配列max[0]〜max[6]、及び、配列max[12]〜max[31]のうちから、最大値を求める。状態情報算出手段131は、求めた最大値のX座標及びY座標を、第2の反射体3の注目点の座標(Xc2,Yc2)として保存する。図17の例では、最大値は、配列max[22]であり、従って、第2の反射体3の注目点の座標は、Xc2=22、Yc2=10、である。なお、図17の例では、第1の反射体3の注目点の座標は、Xc1=9、Yc1=9、となっている。
【0145】
なお、第1注目点及び第2注目点の座標を求める際の最大値の検出は、実際は、スキャンしながら行われる。上記では、説明の便宜のため、スキャンした後に、最大値を求めるように記載している。
【0146】
さて、次に、第2の例による、第1の反射体3の注目点(第1注目点)の座標算出処理を説明する。
【0147】
図18は、第2の例による、第1の反射体3の注目点の座標算出の説明図である。なお、図18に示したイメージセンサ43は、図16の場合と同様に、32ピクセル×32ピクセルのものとする。
【0148】
図18に示すように、状態情報算出手段131は、X方向に32ピクセル分の差分データをスキャンし、そして、Y座標をインクリメントし、X方向に32ピクセル分の差分データをスキャンし、そして、Y座標をインクリメントし、というように、Y座標をインクリメントしながら、X方向(行方向)に32ピクセル分の差分データをスキャンしていく。
【0149】
この場合、状態情報算出手段131は、スキャンした32ピクセル×32ピクセル分の差分データから、最大輝度値の差分データを求め、その最大輝度値と所定の閾値Thとを比較する。そして、状態情報算出手段131は、その最大輝度値が所定の閾値Thより大きい場合は、その最大輝度値を持つピクセルの座標を基に、第1の反射体3の注目点の座標を算出する。この点を詳しく説明する。
【0150】
図19(a)は、最大輝度値を持つピクセルの座標を基に、第1の反射体3の注目点座標を算出する際のX方向スキャンの説明図、図19(b)は、最大輝度値を持つピクセルの座標を基に、第1の反射体3の注目点座標を算出する際のY方向スキャンのスタート時の説明図、図19(c)は、最大輝度値を持つピクセルの座標を基に、第1の反射体3の注目点座標を算出する際のY方向スキャンの説明図、図19(d)は、最大輝度値を持つピクセルの座標を基に、第1の反射体3の注目点座標を算出する際の結果の説明図、である。
【0151】
図19(a)に示すように、状態情報算出手段131は、最大輝度値のピクセルの座標を中心に、X方向に、差分データのスキャンを実行して、所定の閾値Thより大きい輝度値のピクセルを検出する。図19(a)の例では、X=11〜15までが、所定の閾値Thを超えたピクセルである。
【0152】
次に、図19(b)に示すように、状態情報算出手段131は、X=11〜15の中心を求める。すると、中心のX座標は、X=13である。
【0153】
次に、図19(c)に示すように、図19(b)で求めたX座標(=13)を中心に、Y方向に、差分データのスキャンを実行して、所定の閾値Thより大きい輝度値のピクセルを検出する。図19(c)の例では、Y=5〜10までが、所定の閾値Thを超えたピクセルである。
【0154】
次に、図19(d)に示すように、状態情報算出手段131は、Y=5〜10の中心を求める。すると、中心のY座標は、Y=7である。
【0155】
以上の結果、状態情報算出手段131は、第1の反射体3の注目点座標を、Xc1=13、Yc1=7、として格納する(図19(d)参照)。
【0156】
次に、第2の例による、第2の反射体3の注目点(第2注目点)の座標算出について説明する。状態情報算出手段131は、32ピクセル×32ピクセルのうち、第1の反射体3の注目点の座標に位置するピクセルを中心に所定範囲をマスクする。この点を図面を用いて説明する。
【0157】
図20は、第2の例による第2の反射体3の注目点の座標算出の説明図である。図20に示すように、32ピクセル×32ピクセルの差分データのうち、第2の反射体3の注目点座標(図20の例では、Xc1=13、Yc1=7)に位置するピクセルの差分データを中心に所定範囲133をマスクする。
【0158】
そして、状態情報算出手段131は、このマスクした範囲を除いて、32ピクセル×32ピクセルの差分データをスキャンする。
【0159】
そして、状態情報算出手段131は、そのスキャンした範囲から、最大値を求める。状態情報算出手段131は、求めた最大値のX座標及びY座標を、第2の反射体3の注目点の座標(Xc2,Yc2)として保存する。
【0160】
なお、第1注目点及び第2注目点の座標を求める際の最大値の検出は、実際は、スキャンしながら行われる。上記では、説明の便宜のため、スキャンした後に、最大値を求めるように記載している。
【0161】
さて、状態情報算出手段131は、第1の反射体3の注目点座標と第2の反射体3の注目点座標との間の距離を算出する。状態情報算出手段131は、その2点間の距離が、規定値L2より大きい場合は、入力受付開始フラグをオンにする。
【0162】
そして、状態情報算出手段131は、入力受付開始フラグがオンであり、かつ、2点間の距離が、規定値L1より小さい場合は、打合フラグをオンにする。
【0163】
つまり、第1の反射体3と第2の反射体3とが遠のいた状態となって(規定値L2より大)、再び、近づいたときに(規定値L1より小)、両者が打ち合わせたれたと判断する。
【0164】
さて、トリガ発生手段119は、打合フラグがオンであり、かつ、ガイドマーク83が所定範囲(シンバル85の中心位置近傍)に存在した場合に、発音フラグをオンにする(トリガを発生する)。つまり、オペレータ94がガイドマーク83が指示するタイミングで、2つの反射体3を打ち合わせることができた場合に、トリガ発生手段119は、発音フラグをオンにする。
【0165】
サウンドドライバ127は、発音フラグを参照して、オンであれば、所定の波形データが格納されている先頭アドレスをサウンドプロセッサ203に与える。
【0166】
サウンドプロセッサ203は、この先頭アドレスが示す位置に格納されている波形データをROM51から読み出して、その波形データに応じた楽音信号を生成して、楽音信号出力端子49に出力する。これにより、テレビジョンモニタ90のスピーカ(図示せず)から、ROM51から読み出した波形データに応じた楽音(例えば、タンバリンの音)が発音される。なお、波形データは、図13の音源データ113に含まれる。
【0167】
さて、メロディ再生の説明に入る前に、図13の楽譜データ111の詳細を説明する。この楽譜データ111は、メロディ用楽譜データ及びガイドマーク登録用楽譜データを含む。メロディ用楽譜データは、メロディ制御情報が時系列に配置されたデータである。ガイドマーク登録用楽譜データは、ガイドマーク制御情報が時系列に配置されたデータである。
【0168】
図21は、メロディ用楽譜データの一例を示す概念図である。図21に示すように、メロディ制御情報は、コマンド、ノートナンバ/待機時間情報、楽器指定情報、ベロシティ、及び、ゲートタイム、からなる。
【0169】
ノートオンは、音を出すコマンド、待機は、待機時間を設定するコマンド、である。待機時間は、次のコマンドを読み出すまでの時間(ある音符から次の音符までの時間)である。ノートナンバは、音の高さ(ピッチ)を指定する情報である。待機時間情報は、設定する待機時間を指定する情報である。楽器指定情報は、どの楽器の音色を使うかを指定する情報である。ベロシティは、音の強弱の情報、つまり、ボリューム情報(音量情報)、である。ゲートタイムは、音が発音される長さである。
【0170】
さて、メロディ再生は、割込み処理により行われる。図14のサウンドドライバ127は、メロディ再生用の楽譜データポインタをインクリメントしながら、図21のメロディ制御情報を読み出して解釈する。ここで、メロディ再生用の楽譜データポインタは、メロディ用楽譜データの読み出し位置を示すポインタである。
【0171】
そして、サウンドドライバ127は、読み出したメロディ制御情報に含まれるコマンドが、ノートオンであれば、そのメロディ制御情報に含まれるノートナンバが示す音の高さ(ピッチ)及び楽器指定情報が示す楽器(音色)に応じた波形データが格納されている先頭アドレスを、サウンドプロセッサ203に与える。さらに、サウンドドライバ127は、読み出したメロディ制御情報に含まれるコマンドが、ノートオンであれば、必要なエンベロープデータが格納されている先頭アドレスを、サウンドプロセッサ203に与える。
【0172】
さらに、サウンドドライバ127は、読み出したメロディ制御情報に含まれるコマンドが、ノートオンであれば、そのメロディ制御情報に含まれるノートナンバが示す音の高さ(ピッチ)に応じたピッチ制御情報、及び、そのメロディ制御情報に含まれるボリューム情報、をサウンドプロセッサ203に与える。
【0173】
ここで、ピッチ制御情報について説明しておく。ピッチ制御情報は、波形データを読み出す周期を変えることによって行われるピッチ変換に用いられる。つまり、サウンドプロセッサ203は、ピッチ制御情報を一定期間毎に読み出して累算する。そして、サウンドプロセッサ203は、この累算結果を加工して、波形データのアドレスポインタとする。よって、ピッチ制御情報に大きな値が設定されれば、アドレスポインタのインクリメントは早く行われ、波形データの周波数が高くなり、ピッチ制御情報に小さな値が設定されれば、アドレスポインタのインクリメントは遅く行われ、波形データの周波数が低くなる。このようにして、サウンドプロセッサ203は、波形データのピッチ変換を行う。
【0174】
さて、サウンドプロセッサ203は、与えられたピッチ制御情報に基づいて、アドレスポインタをインクリメントしながら、与えられた先頭アドレスが示す位置に格納されている波形データをROM51から読み出す。そして、サウンドプロセッサ203は、順次読み出される波形データに、エンベロープデータ及びボリューム情報を乗算して、楽音信号を生成する。このようにして、メロディ用楽譜データが指示する楽器の音色、音の高さ(ピッチ)、及び、音量、の楽音信号が生成され、楽音信号出力端子49に出力される。
【0175】
一方、サウンドドライバ127は、読み出したメロディ制御情報に含まれるゲートタイムを管理している。従って、サウンドドライバ127は、ゲートタイムが経過した時に、該当する楽音の発音を終了するように、サウンドプロセッサ203に指示を出す。これを受けて、サウンドプロセッサ203は、指示された楽音の発音を終了する。
【0176】
以上のようにして、メロディ用楽譜データに基づいてメロディが再生され、テレビジョンモニタ90のスピーカ(図示せず)から発音される。
【0177】
さて、上記のように、ガイドマーク登録用楽譜データは、ガイドマーク制御情報が、時系列に配置されたデータである。そして、ガイドマーク登録用楽譜データは、ガイドマーク83を、スクリーン91に出現させる際に使用される。つまり、メロディ用楽譜データは、音楽を奏でるための楽譜データであるが、ガイドマーク登録用楽譜データは、ガイドマーク83を音楽に合った間隔で出現させるための楽譜データである。
【0178】
図22は、ガイドマーク登録用楽譜データの一例を示す概念図である。図22に示すように、ガイドマーク制御情報は、コマンド、ノートナンバ/待機時間情報、及び、楽器指定情報、からなる。
【0179】
ガイドマーク登録用楽譜データでは、楽器指定情報は、音楽を奏でる楽器(音色)を示す番号ではなく、言わば、ガイドマーク83を出現させる楽器を示す番号である。このような楽器指定情報により、ガイドマーク登録用楽譜データが、音楽を奏でる楽譜データではなく、ガイドマーク83を出現させる楽譜データであることが示される。
【0180】
従って、ノートオンは、音を出すコマンドではなく、ガイドマーク83を出現させるコマンドである。そして、ノートナンバは、音の高さ(ピッチ)を指定する情報ではなく、ガイドマーク83の種類が複数ある場合に、どのガイドマーク83を出現させるかを示す情報である。この点を詳しく説明する。
【0181】
図23は、ガイドマーク登録用楽譜データで使用されるノートナンバと、ガイドマーク83と、の関係図である。図23に示すように、例えば、ノートナンバ「71」は、大きいガイドマーク83を出現させることを意味する。また、例えば、ノートナンバ「50」は、小さいガイドマーク83を出現させることを意味する。
【0182】
また、例えば、ノートナンバ「81」は、ガイドマーク登録用楽譜データの先頭に配置するダミーデータであり(図22参照)、どのガイドマーク83を出現させるかを示す情報ではない。こうすることで、メロディ用楽譜データとガイドマーク登録用楽譜データとの先頭を揃えている。また、例えば、ノートナンバ「79」は、音楽終了を意味するデータであり、ガイドマーク登録用楽譜データの最後尾に配置される(図22参照)。なお、ノートナンバ「79」は、どのガイドマーク83を出現させるかを示す情報ではない。
【0183】
さて、ガイドマーク登録手段123は、ガイドマーク登録用の楽譜データポインタをインクリメントしながら、図22のガイドマーク制御情報を読み出して解釈する。ここで、ガイドマーク登録用の楽譜データポインタは、ガイドマーク登録用楽譜データの読み出し位置を示すポインタである。
【0184】
そして、ガイドマーク登録手段123は、読み出したガイドマーク制御情報に含まれるコマンドが、ノートオンであれば、そのガイドマーク制御情報に含まれるノートナンバを登録する。これが、新規にガイドマーク83を登録する処理である。
【0185】
さて、次に、図1の自動演奏装置本体1の全体の処理の流れを、フローチャートを用いて説明する。
【0186】
図24は、図1の自動演奏システムの全体の処理の流れをフローチャートである。図24に示すように、ステップS1にて、CPU201は、システムの初期設定を実行する。
【0187】
ステップS2にて、CPU201は、自動演奏の状態をチェックする。
【0188】
ステップS3にて、CPU201は、自動演奏が終了したかどうかを判断する。
【0189】
自動演奏が終了していない場合は、CPU201は、ステップS4にて、画像表示処理を実行する。
【0190】
ステップS5にて、CPU201は、2つの反射体3の振り動作の検出処理を実行する。
【0191】
ステップS6にて、CPU201は、2つの反射体3の振り動作の検出結果に基づいて、発音のためのトリガ処理を実行する。
【0192】
ステップS7では、CPU201は、ビデオ同期の割込み待ちかどうかを判断する。本実施の形態では、CPU31は、テレビジョンモニタ90の表示画面を更新するため画像データを、垂直ブランキング期間の開始後にグラフィックプロセッサ202に与える。従って、表示画面を更新するための演算処理が完了したら、ビデオ同期割込みがあるまで処理を進めないようにしている。
【0193】
ステップS7で「YES」であれば、即ち、ビデオ同期の割込み待ちであれば(ビデオ同期信号による割り込みがなければ)、同じステップS7に戻る。一方、ステップS6で「NO」であれば、即ち、ビデオ同期の割込み待ちでなければ(ビデオ同期信号による割り込みがあれば)、ステップS2に進む。
【0194】
図25は、図24のステップS1の初期設定処理の流れを示すフローチャートである。図25に示すように、ステップS10にて、CPU201は、ガイドマークの登録処理用の楽譜データポインタを初期化する。
【0195】
ステップS11にて、CPU201は、ガイドマークの登録処理用の実行待機カウンタを「0」にセットする。
【0196】
ステップS12にて、CPU201は、メロディ用の楽譜データポインタを初期化する。
【0197】
ステップS13にて、CPU201は、メロディ用の実行待機カウンタを「t」にセットする。
【0198】
ステップS14にて、CPU201は、イメージセンサ43の初期設定処理を行う。
【0199】
ステップS15にて、CPU201は、各種フラグを初期化する。
【0200】
ステップS16にて、CPU201は、タイマ回路210を発音のための割込み源としてセットする。
【0201】
ここで、メロディ用の実行待機カウンタを「t」にセットし、ガイドマークの登録処理用の実行待機カウンタを「0」にセットした理由は次の通りである。
【0202】
図11に示されるように、ガイドマーク83が上端に出現してから、シンバル85の位置に到達するまで一定時間を要することから、この時間誤差を解消するために、一定時間だけ早くガイドマーク83を出現させる必要があるからである。つまり、ガイドマーク登録処理用では、メロディ用に比べて、一定時間(カウント値t)だけ早く楽譜データを読み出すようにしてある。なお、ガイドマーク83の登録処理用の実行待機カウンタ、及び、メロディ用の実行待機カウンタは、カウントダウンを行うものである。
【0203】
図26は、図25のステップS14のセンサ初期設定処理の流れを示すフローチャートである。図26に示すように、最初のステップS20では、高速プロセッサ200は、設定データとして、コマンド“CONF”を設定する。ただし、このコマンド“CONF”は、イメージセンサ43に、高速プロセッサ200からコマンドを送信する設定モードに入ることを知らせるためのコマンドである。そして、次のステップS21にて、コマンド送信処理を実行する。
【0204】
図27は、図26のステップS21のコマンド送信処理の流れを示すブロック図である。図27に示すように、最初のステップS30では、高速プロセッサ200は、設定データ(ステップS21の場合はコマンド“CONF”)をレジスタデータ(I/Oポート)に設定し、次のステップS31でレジスタ設定クロックCLK(I/Oポート)をローレベルに設定する。その後、ステップS32で規定時間待機した後、ステップS33で、レジスタ設定クロックCLKをハイレベルに設定する。そして、さらにステップS34での規定時間の待機の後、ステップS35でレジスタ設定クロックCLKを再びローレベルに設定する。
【0205】
このようにして、図28に示すように、規定時間の待機を行いながら、レジスタ設定クロックCLKをローレベル,ハイレベルそしてローレベルとすることによって、コマンド(コマンドまたはコマンド+データ)の送信処理が行われる。
【0206】
図26の説明に戻る。ステップS22では、ピクセルモードを設定するとともに、露光時間の設定を行う。この実施の形態1の場合、イメージセンサ43は先に述べたようにたとえば32×32のCMOSイメージセンサであるため、設定アドレス“0”のピクセルモードレジスタに32ピクセル×32ピクセルであることを示す“0h”を設定する。次のステップS23において、高速プロセッサ200は、レジスタ設定処理を実行する。
【0207】
図29は、図26のステップS23のレジスタ設定処理の流れを示すフローチャートである。図29に示すように、最初のステップS40では、高速プロセッサ200は、設定データとして、コマンド“MOV”+アドレスを設定し、次のステップS41で、図27で先に説明したコマンド送信処理を実行して、それを送信する。次にステップS42において、高速プロセッサ200は、設定データとして、コマンド“LD”+データを設定し、次のステップS43でコマンド送信処理を実行して、それを送信する。そして、ステップS44で、高速プロセッサ200は、設定データとして、コマンド“SET”を設定し、次のステップS45でそれを送信する。なお、コマンド“MOV”は制御レジスタのアドレスを送信することを示すコマンドで、コマンド“LD”はデータを送信することを示すコマンドで、コマンド“SET”はデータをそのアドレスに実際に設定させるためのコマンドである。なお、この処理は、設定する制御レジスタが複数ある場合には、繰り返し実行される。
【0208】
図26の説明に戻る。ステップS24では、設定アドレスを“1”(露光時間設定レジスタのローニブルのアドレスを示す)とし、最大露光時間を示す“FFh”のローニブルデータ“Fh”を設定すべきデータとして設定する。そして、ステップS25で図29のレジスタ設定処理を実行する。同様にして、ステップS26において、設定アドレスを“2”(露光時間設定レジスタのハイニブルのアドレスを示す)とし、最大露光時間を示す“FFh”のハイニブルデータ“Fh”を設定すべきデータとして設定し、ステップS27でレジスタ設定処理を実行する。
【0209】
その後、ステップS28で設定終了を示しかつイメージセンサ43にデータの出力を開始させるためのコマンド“RUN”を設定し、ステップS29で送信する。このようにして、図25に示すステップS14でのセンサ初期設定処理が実行される。ただし、図26〜図29に示す具体例は、使用されるイメージセンサ43の仕様に応じて、適宜変更され得るものである。
【0210】
図30は、図24のステップS4の画像表示処理を示すフローチャートである。図30に示すように、ステップS50にて、画像表示制御手段115は、ガイドマーク83及びタンバリン85等のオブジェクト画像データを内部メモリ207にセットする。
【0211】
ステップS51にて、画像表示制御手段115は、内部メモリ207に、背景画像データをセットする。
【0212】
図31は、図30のステップS50のオブジェクトセット処理の流れを示すフローチャートである。図31に示すように、画像表示制御手段115は、ステップS60にて、現在表示中のガイドマーク83の位置の更新処理を実行する。
【0213】
画像表示制御手段115は、スクリーン91の下端に到達したガイドマークがある場合は、ステップS62に進み、ない場合は、ステップS63に進む(ステップS61)。
【0214】
ステップS62にて、画像表示制御手段115は、下端に到達したガイドマーク83の消去処理を実行する。
【0215】
画像表示制御手段115は、打合フラグをチェックして、オンであれば、ステップS64に進み、オフであれば、ステップS66に進む(ステップS63)。
【0216】
ステップS64にて、画像表示制御手段115は、シンバル85の位置に到達したガイドマーク83の消去処理を行う。
【0217】
ステップS65にて、画像表示制御手段115は、タンバリン85の打ち合わせ処理を実行する。
【0218】
ステップS66にて、画像表示制御手段115は、新規ガイドマークの登録をチェックする。
【0219】
画像表示制御手段115は、新規のガイドマークの登録があれば、ステップS68に進み、登録がなければ、図30のステップS51に進む。
【0220】
ステップS68にて、画像表示制御手段115は、スクリーン91の上端にガイドマーク83を出現させる処理を行う。
【0221】
図32は、図24のステップS5の振り動作検出処理の流れを示すフローチャートである。図32に示すように、ステップS80にて、振り動作検出手段117は、イメージセンサ43のピクセルデータ群の取得処理を実行する。
【0222】
ステップS81にて、振り動作検出手段117は、2つの反射体3の注目点の抽出処理を実行する。
【0223】
ステップS82にて、振り動作検出手段117は、2つの反射体3の距離を規定値と比較して、大小の判定を実行する。
【0224】
図33は、図32のステップS80のピクセルデータ群取得処理の流れを示すフローチャートである。図33に示すように、最初のステップS90で、差分データ生成手段129は、ピクセルデータ配列の要素番号としてXに「−1」、Yに「0」を設定する。本実施の形態におけるピクセルデータ配列は、X=0〜31、Y=0〜31の2次元配列であるが、前述のように各行の先頭ピクセルのデータとしてダミーデータが出力されるので、Xの初期値として「−1」が設定される。続くステップS91では、ピクセルデータの取得処理を実行する。
【0225】
図34は、図33のステップS91のピクセルデータ取得処理の流れを示すフローチャートである。図34に示すように、最初のステップS100で、差分データ生成手段129は、イメージセンサ43からのフレームステータスフラグ信号FSFをチェックし、ステップS101でそのアップエッジ(ローレベルからハイレベルへの)が発生したかどうか判断する。そして、ステップS101でフラグ信号FSFのアップエッジを検出すると、次のステップS102において、差分データ生成手段129は、ADC208に入力されてきたアナログのピクセルデータのデジタルデータへの変換の開始を指示する。その後、ステップS103でイメージセンサ43からのピクセルストローブPDSをチェックし、ステップS104でそのストローブ信号PDSのローレベルからハイレベルへのアップエッジが発生したかどうか判断する。
【0226】
ステップS104で“YES”が判断されると、差分データ生成手段129は、ステップS105において、X=−1かどうか、すなわち先頭ピクセルかどうか判断する。先に述べたように、各行の先頭ピクセルはダミーピクセルとして設定されているので、このステップS105で“YES”が判断されると、次のステップS107でそのときのピクセルデータを取得しないで、要素番号Xをインクリメントする。
【0227】
ステップS105で“NO”が判断されると、行の第2番目以降のピクセルデータであるので、ステップS106およびS108において、そのときのピクセルデータを取得し、テンポラリレジスタ(図示せず)にそのピクセルデータを格納する。その後、図33のステップS92にリターンする。
【0228】
図33のステップS92では、テンポラリレジスタに格納されたピクセルデータをピクセルデータ配列P[Y][X]に代入する。
【0229】
続くステップS93でXをインクリメントする。Xが32に満たない場合、前述のS91からS93の処理を繰り返し実行する。Xが32の場合、すなわちピクセルデータの取得が行の終端に到達した場合には、続くステップS95でXに「−1」を設定し、ステップS96でYをインクリメントし、次の行の先頭からピクセルデータの取得処理を繰り返す。
【0230】
ステップS97でYが32の場合、すなわちピクセルデータの取得がピクセルデータ配列P[Y][X]の終端に到達した場合、図32のステップS81にリターンする。
【0231】
次に、上記した第1の例による反射体3の注目点の座標算出処理(注目点抽出処理)の流れを説明する。
【0232】
図35は、図32のステップS81の注目点抽出処理(第1の例)の流れを示すフローチャートである。図35に示すように、ステップS110にて、差分データ生成手段129は、イメージセンサ43からの、赤外発光ダイオード15の点灯時のピクセルデータと、赤外発光ダイオード15の消灯時のピクセルデータと、の差分を算出して、差分データを得る。
【0233】
ステップS111にて、差分データ生成手段129は、配列Dif[X][Y]に、算出した差分データを代入する。ここで、実施の形態1では、32ピクセル×32ピクセルのイメージセンサ43を用いているため、X=0〜31、Y=0〜31、である。
【0234】
ステップS112にて、状態情報算出手段131は、「n」に「0」を代入する。
【0235】
ステップS113にて、状態情報算出手段131は、配列Dif[n][0]〜Dif[n][31]の要素をスキャンする。
【0236】
ステップS114にて、状態情報算出手段131は、配列Dif[n][0]〜Dif[n][31]のうちの最大値を検出する。
【0237】
状態情報算出手段131は、その最大値が所定の閾値Thより大きい場合は、ステップS116に進み、所定の閾値Th以下の場合は、ステップS117に進む(ステップS115)。
【0238】
ステップS116にて、状態情報算出手段131は、配列max[n]
に、所定の閾値Thを超えた最大値を代入する。
【0239】
一方、ステップS117にて、状態情報算出手段131は、配列max[n]に、所定値(例えば、「0」)を代入する。
【0240】
ステップS118にて、状態情報算出手段131は、「n」を1つインクリメントする。
【0241】
状態情報算出手段131は、「n」が「32」になったときは、ステップS120に進み、そうでない場合は、ステップS113に進む(ステップS119)。このようにして、32ピクセル×32ピクセルのDif[X][Y]をスキャンして、列毎に最大値を求める。
【0242】
ステップS120にて、状態情報算出手段131は、2点抽出処理を実行する。
【0243】
図36は、図35のステップS120の注目点抽出処理の流れを示すフローチャートである。図36に示すように、ステップS130にて、状態情報算出手段131は、配列max[0]〜max[31]の要素をスキャンする。
【0244】
ステップS131にて、状態情報算出手段131は、配列max[0]〜max[31]の要素のうちの最大値を検出する。
【0245】
状態情報算出手段131は、最大値を検出した場合は、ステップS133に進み、検出できなかった場合は、図24のステップS6に進む(ステップS132)。
【0246】
ステップS133にて、状態情報算出手段131は、その最大値の座標を第1注目点(第1の反射体3の注目点)の座標(Xc1,Yc1)として保存する。
【0247】
ステップS134にて、状態情報算出手段131は、配列max[0]〜max[31]の要素のうち、その最大値を中心に所定の範囲をマスクする。
【0248】
ステップS135にて、状態情報算出手段131は、配列max[0]〜max[31]の要素のうち、マスクされた所定範囲を除いてスキャンを実行する。
【0249】
ステップS136にて、状態情報算出手段131は、スキャンした要素の中から、最大値を検出する。
【0250】
状態情報算出手段131は、最大値を検出できた場合は、ステップS138に進み、検出できなかった場合は、図24のステップS6に進む(ステップS137)。
【0251】
ステップS138にて、状態情報算出手段131は、検出した最大値の座標を第2注目点(第2の反射体3の注目点)の座標(Xc2,Yc2)として保存し、図32のステップS82に処理を進める。
【0252】
次に、上記した第2の例による反射体3の注目点の座標算出処理の流れを説明する。
【0253】
図37は、図32のステップS81の注目点抽出処理(第2の例)の流れを示すフローチャートである。図37に示すように、ステップS140及びステップS141の処理は、それぞれ、図35のステップS110及びステップS111の処理と同様であり説明を省略する。
【0254】
さて、ステップS142にて、状態情報算出手段131は、配列Dif[X][Y]の全要素をスキャンする。
【0255】
ステップS143にて、状態情報算出手段131は、配列Dif[X][Y]の全要素の最大値を検出する。
【0256】
状態情報算出手段131は、その最大値が所定の閾値Thより大きい場合は、ステップS145に進み、所定の閾値Th以下の場合は、図24のステップS6に進む(ステップS144)。
【0257】
ステップS145にて、状態情報算出手段131は、その最大値の座標を基に、第1注目点の座標(Xc1,Yc1)を算出する。
【0258】
図38は、図37のステップS145の注目点座標算出処理の流れを示すフローチャートである。図38に示すように、ステップS160にて、状態情報算出手段131は、「m」及び「n」にそれぞれ、ステップS143で求めた最大値のX座標及びY座標を代入する。
【0259】
ステップS161にて、状態情報算出手段131は、「m」を1つインクリメントする(m=m+1)。
【0260】
状態情報算出手段131は、差分データDif[m][n]が、所定の閾値Thより大きい場合は、ステップS163に進み、そうでない場合は、ステップS164に進む(ステップS162)。
【0261】
ステップS163にて、状態情報算出手段131は、「mr」にそのときの「m」を代入する。
【0262】
このように、ステップS161〜S163を繰り返しながら、最大値からX軸の正方向にスキャンを実行して、値が所定の閾値Thを超える一番端の差分データのX座標を求める。
【0263】
ステップS164にて、状態情報算出手段131は、「m」に、ステップS143で求めた最大値のX座標を代入する。
【0264】
ステップS165にて、状態情報算出手段131は、「m」を1つデクリメントする。
【0265】
状態情報算出手段131は、差分データDif[m][n]が、所定の閾値Thより大きい場合は、ステップS167に進み、そうでない場合は、ステップS168に進む(ステップS166)。
【0266】
ステップS167にて、状態情報算出手段131は、「ml」にそのときの「m」を代入する。
【0267】
このように、ステップS165〜S167を繰り返しながら、最大値からX軸の負方向にスキャンを実行して、値が所定の閾値Thを超える一番端の差分データのX座標を求める。
【0268】
ステップS168にて、状態情報算出手段131は、X座標mrとX座標mlとの中心座標を算出して、それを、注目点のX座標(Xc)とする。ここでは、ステップS145の説明をしているため、算出した注目点のX座標(Xc)は、第1注目点のX座標(Xc1)である。
【0269】
ステップS169にて、状態情報算出手段131は、「m」及び「n」にそれぞれ、ステップS168で求めた「Xc」およびステップS143で求めた最大値のY座標を代入する。
【0270】
ステップS170にて、状態情報算出手段131は、「n」を1つインクリメントする(n=n+1)。
【0271】
状態情報算出手段131は、差分データDif[m][n]が、所定の閾値Thより大きい場合は、ステップS172に進み、そうでない場合は、ステップS173に進む(ステップS171)。
【0272】
ステップS172にて、状態情報算出手段131は、「md」にそのときの「n」を代入する。
【0273】
このように、ステップS170〜S172を繰り返しながら、最大値からY軸の正方向にスキャンを実行して、値が所定の閾値Thを超える一番端の差分データのY座標を求める。
【0274】
ステップS173にて、状態情報算出手段131は、「n」に、ステップS143で求めた最大値のY座標を代入する。
【0275】
ステップS174にて、状態情報算出手段131は、「n」を1つデクリメントする。
【0276】
状態情報算出手段131は、差分データDif[m][n]が、所定の閾値Thより大きい場合は、ステップS176に進み、そうでない場合は、ステップS177に進む(ステップS175)。
【0277】
ステップS176にて、状態情報算出手段131は、「mu」にそのときの「n」を代入する。
【0278】
このように、ステップS174〜S176を繰り返しながら、最大値からY軸の負方向にスキャンを実行して、値が所定の閾値Thを超える一番端の差分データのY座標を求める。
【0279】
ステップS177にて、状態情報算出手段131は、Y座標mdとY座標muとの中心座標を算出して、それを、注目点のY座標(Yc)とする。ここでは、ステップS145の説明をしているため、算出した注目点のY座標(Yc)は、第1注目点のY座標(Yc1)である。
【0280】
以上のようにして、第1注目点の座標(Xc1,Yc1)が算出される。
【0281】
さて、図37のステップS146にて、状態情報算出手段131は、Dif[Xc1][Yc1]を中心に所定範囲をマスクする。
【0282】
ステップS147にて、状態情報算出手段131は、マスクされた所定範囲を除いて、Dif[X][Y]をスキャンする。
【0283】
ステップS148にて、状態情報算出手段131は、スキャンしたDif[X][Y]の中から最大値を求める。
【0284】
状態情報算出手段131は、その最大値が所定の閾値Thより大きい場合は、ステップS150に進み、そうでない場合は、図24のステップS6に進む(ステップS149)。
【0285】
ステップS150にて、状態情報算出手段131は、その最大値を基に第2注目点の座標(Xc2,Yc2)を算出する。ステップS150の処理は、ステップS145の処理と同様であり、説明を省略する。
【0286】
図39は、図32のステップS82の距離判定処理の流れを示すフローチャートである。図39に示すように、ステップS180にて、状態情報算出手段131は、第1の反射体3と第2の反射体3との間のX軸方向の距離(以下、この図の説明において、「2点間の距離」と呼ぶ。)を求める。
【0287】
ステップS181にて、状態情報算出手段131は、入力受付開始フラグをチェックする。
【0288】
状態情報算出手段131は、入力受付開始フラグがオンの場合は、ステップS183に進み、オフの場合は、ステップS188に進む(ステップS182)。
【0289】
入力受付開始フラグがオフの場合、ステップS188にて、状態情報算出手段131は、2点間の距離と規定値L2とを比較して、2点間の距離が大きい場合は、ステップS189に進み、そうでない場合は、図24のステップS6に進む。
【0290】
ステップS189にて、状態情報算出手段131は、入力受付開始フラグをオンにする。
【0291】
ステップS190にて、状態情報算出手段131は、「N」に「1」を代入して、図24のステップS6に進む。
【0292】
さて、入力受付開始フラグがオンの場合、ステップS183にて、状態情報算出手段131は、2点間の距離と規定値L1とを比較して、2点間の距離が小さい場合は、ステップS184に進み、そうでない場合は、ステップS191に進む。ステップS191では、状態情報算出手段131は、「N」に「1」を代入して、図24のステップS6に進む。
【0293】
一方、状態情報算出手段131は、規定値L1より2点間の距離が小さい場合は、ステップS184にて、「N」を1つインクリメントする。
【0294】
ステップS185にて、状態情報算出手段131は、「N」と規定値kとを比較して、「N」が規定値k以上の場合は、ステップS186に進む。
【0295】
ステップS186にて、状態情報算出手段131は、打合フラグをオンにする。
【0296】
ステップS187にて、状態情報算出手段131は、入力受付開始フラグをオフにして、図24のステップS6に進む。
【0297】
一方、ステップS185にて、「N」が規定値kより小さい場合は、図24のステップS6に進む。
【0298】
以上のようにして、ステップS183〜ステップS185の処理を行って、kフレームの間連続して、2点間の距離が、規定値L1より小さい場合に、2つの反射体3が打ち合わせられたと判断する。ここで、例えば、k=1とした場合は、入力受付開始フラグがオンになって、2点間の距離が、1回だけ規定値L1より小さくなった場合に、打合フラグがオンになる。また、例えば、k=2とした場合は、入力受付開始フラグがオンになって、2点間の距離が、2回続けて規定値L1より小さくなった場合に、打合フラグがオンになる。
【0299】
さて、図40は、図24のステップS6のトリガ処理の流れを示すフローチャートである。図40に示すように、トリガ発生手段119は、ステップS200で打合せフラグがオンであり、かつ、ステップS2301でガイドマーク83がシンバル85の位置に到達した、と判断した場合は、ステップS202に進む。
【0300】
ステップS202にて、トリガ発生手段119は、発音フラグをオンにする。つまり、トリガ発生手段119は、オペレータ94が、ガイドマーク83が指示するタイミングで、2つの反射体3を打ち合わせた場合に、発音フラグをオン、即ち、トリガを発生する。
【0301】
ステップS203にて、サウンドドライバ127は、所定の波形データが格納されている先頭アドレスを、内部メモリ207にセットする。
【0302】
図41は、割込み処理の流れを示すフローチャートである。図41に示すように、ステップS210にて、サウンドドライバ127は、メロディの再生処理を実行する。
【0303】
ステップS211にて、ガイドマーク登録手段123は、ガイドマーク登録処理を実行する。
【0304】
ステップS212にて、サウンドドライバ127は、2つの反射体3の打ち合わせに応じたトリガによる発音処理を実行する。
【0305】
図42は、図41のステップS210のメロディ再生処理の流れを示すフローチャートである。図42に示すように、ステップS220にて、サウンドドライバ127は、メロディ用の実行待機カウンタをチェックする。
【0306】
メロディ用の実行待機カウンタの値が「0」ならば、ステップS223へ進み、「0」でないならば、ステップS222へ進む(ステップS221)。
【0307】
ステップS222にて、サウンドドライバ127は、メロディ用の実行待機カウンタをデクリメントする。
【0308】
さて、ステップS223にて、サウンドドライバ127は、メロディ用の楽譜データポインタの指すコマンドを読み出して解釈する。
【0309】
コマンドがノートオンであれば、ステップS225に進む(ステップS224)。一方、コマンドが、ノートオンでなければ、即ち、待機であれば、ステップS240に進む。
【0310】
ステップS240にて、サウンドドライバ127は、メロディ用の実行待機カウンタに待機時間をセットする。
【0311】
さて、ステップS225にて、サウンドドライバ127は、サウンドプロセッサ203に、音符の発音を行わせる。
【0312】
ステップS226にて、サウンドドライバ127は、メロディ用の楽譜データポインタをインクリメントする。
【0313】
ステップS227にて、サウンドドライバ127は、各音符の残りの発音時間をチェックする。
【0314】
残りの発音時間が「0」であれば、ステップS239に進み、そうでなければ、図41のステップS211へ進む(ステップS228)。
【0315】
ステップS239にて、サウンドドライバ127は、サウンドプロセッサ203に対して、残りの発音時間が「0」の音符の発音終了処理を実行させる。そして、図41のステップS211に進む。
【0316】
図43は、図41のステップS211のガイドマーク登録処理の流れを示すフローチャートである。図43に示すように、ステップS240にて、ガイドマーク登録手段123は、ガイドマーク登録用の実行待機カウンタをチェックする。
【0317】
ガイドマーク登録用の実行待機カウンタの値が「0」ならば、ステップS243へ進み、「0」でないならば、ステップS242へ進む(ステップS241)。
【0318】
ステップS242にて、ガイドマーク登録手段123は、ガイドマーク登録用の実行待機カウンタをデクリメントする。
【0319】
さて、ステップS243にて、ガイドマーク登録手段123は、ガイドマーク登録用の楽譜データポインタの指すコマンドを読み出して解釈する。
【0320】
コマンドがノートオンであれば、ステップS245に進む(ステップS244)。一方、コマンドが、ノートオンでなければ、即ち、待機であれば、ステップS249に進む。
【0321】
ステップS249にて、ガイドマーク登録手段123は、ガイドマーク登録用の実行待機カウンタに待機時間をセットする。
【0322】
さて、ノートナンバが音楽終了を意味するものであれば、ステップS250に進み、そうでなければ、ステップS246に進む(ステップS245)。
【0323】
ステップS250にて、ガイドマーク登録手段123は、音楽終了フラグをオンにする。
【0324】
さて、ノートナンバが音楽開始を意味するものであれば、ステップS248に進み、そうでなければ、ステップS247に進む(ステップS246)。
【0325】
ステップS247にて、ガイドマーク登録手段123は、新規にガイドマークを登録する。
【0326】
ステップS248にて、ガイドマーク登録手段123は、ガイドマーク登録用の楽譜データポインタをインクリメントする。そして、図41のステップS212に進む。
【0327】
さて、図44は、図41のステップS212のトリガによる発音処理の流れを示すフローチャートである。図44に示すように、サウンドドライバ127は、発音フラグがオンならば(ステップS250)、サウンドプロセッサ203に対して、所定の波形データの先頭アドレスを与える。
【0328】
ステップS251にて、サウンドプロセッサ203は、与えられた先頭アドレスに格納された波形データをROM51から読み出して、その波形データに応じた楽音信号を生成して、楽音信号出力端子49へ出力する(発音)。
【0329】
ステップS252にて、サウンドドライバ127は、発音フラグをオフにする。
【0330】
さて、図45は、撮像ユニット13によるストロボスコープ撮影処理の流れを示すフローチャートである。ステップS260において、高速プロセッサ200は、ストロボスコープ撮影のために赤外発光ダイオード15を点灯する。具体的には、図9に示すLEDコントロール信号LEDCをHレベルとする。その後、ステップS261で、イメージセンサ43は、ピクセルデータを出力する。
【0331】
ステップS262において、高速プロセッサ200は、ストロボスコープ撮影のために赤外発光ダイオード15を消灯する。具体的には、図9に示すLEDコントロール信号LEDCをLレベルとする。その後、ステップS263で、イメージセンサ43は、ピクセルデータを出力する。
【0332】
以上の処理が音楽が終了するまで繰り返される(ステップS264)。
【0333】
さて、以上のように、本実施の形態によれば、ストロボスコープ(赤外発光ダイオード15及びそれを制御する高速プロセッサ200)により間欠的に赤外光が照射される2つの反射体3をイメージセンサ43により撮影して、2つの反射体3の状態情報(位置情報及び距離情報)を求めている。このため、2つの反射体3の状態情報を求めるために、2つの反射体3に電源により駆動する回路を内蔵する必要がない。
【0334】
このように、簡易な構成の操作部材である反射体3を用いて、その状態情報(位置情報及び距離情報)を求め、トリガによる楽音の発生ができるので、操作部材の操作性及び信頼性の向上を図りながらも、表現豊かな厚みのある自動演奏を実行することができる。
【0335】
また、発光時画像信号と消灯時画像信号との差分信号を生成するといった簡単な処理のみで、ノイズや外乱の影響を抑えた精度の高い検出が可能であるので、コスト、許容される消費電力等の条件により自動演奏装置のパフォーマンスが制限されるシステムの上でも容易に達成が可能である。
【0336】
また、本実施の形態によれば、2つの反射体3の相対的な位置情報に基づいて、トリガの発生が行われるので、1つの反射体によりトリガを発生させる場合と異なる操作が必要であり、オペレータ94は、1つの反射体によりトリガを発生させる場合とは異なる別の楽しみ方で、自動演奏に参加できる。
【0337】
さらに、本実施の形態では、テレビジョンモニタ90において、ガイドマーク83を移動させることで、操作ガイドを実行している。このため、オペレータ94にとって、直感的に自動演奏の操作ガイドを認識でき、自動演奏装置による自動演奏を容易に制御できる。
【0338】
さらに、本実施の形態では、テレビジョンモニタ90に表示しているタンバリン85を、トリガに応じて変化させている。このように、反射体3の操作に応じて、表示されているタンバリン85が変化するため、オペレータ94は、音楽だけでなく映像をも楽しむことができる。
【0339】
さらに、本実施の形態では、ストロボスコープは、赤外光を照射し、また、イメージセンサ43は、赤外光のみを透過する赤外フィルタ17を透過した赤外光を検知する。このように、検出を行う反射体3以外の移動光源および点滅光源(蛍光灯など)に含まれない赤外光をストロボスコープの光源とし、イメージセンサ43がこの赤外光にのみ応答するようにすることで、これらのノイズ光源を除去することが可能となる。
【0340】
さらに、本実施の形態によれば、ガイドマーク83に従った操作ができなければ、トリガが発生せず、当然トリガに基づく楽音も発生されない。つまり、ガイドマーク83がタンバリン85の位置に来たときに、2つの反射体3を打ち合わせなければ、トリガは発生しない。このため、オペレータ94は、操作ガイドに従うように努力するため、自動演奏装置は、より完成された自動演奏を行うことができる。
【0341】
(実施の形態2)
図46は、本考案の第2の実施の形態における自動演奏システムの全体構成を示す図である。なお、図46において、図1と同様の部分については、同一の参照符号を付して、説明を省略する。
【0342】
図46に示すように、この自動演奏システムは、自動演奏装置本体1、反射体150、及び、テレビジョンモニタ90、を具備する。なお、図46においては、構成をの理解を容易にするため、自動演奏装置本体1の図示を大きくしている。
【0343】
ここで、図46の自動演奏装置本体1が、図1の自動演奏装置本体1と異なる主な点は、図13のROM51に格納された制御プログラム102、画像データ103、及び、音楽データ105、の内容である。
【0344】
図47は、図46の反射体150の斜視図である。図47に示すように、反射体150は、スティック152の先端に反射ボール151を固定して構成される。この反射ボール151により、赤外発光ダイオード15からの赤外光が反射される。反射ボール151の詳細を説明する。
【0345】
図48(a)は、図47の反射ボール151の上面図、図48(b)は、図48(a)の矢印A方向からの反射ボール151の側面図、図48(c)は、図48(a)の矢印B方向からの反射ボール151の側面図、である。
【0346】
図48(a)〜図48(c)に示すように、反射ボール151は、透明色(半透明、有色透明、及び、無色透明、を含む。)の球状外殻153の内部に球状内殻154を固定してなる。球状内殻154には、反射シート155が取り付けられる。この反射シート155が、赤外発光ダイオード15からの赤外光を反射する。
【0347】
図49は、図47の反射ボール151の縦断面図である。図49に示すように、球状外殻153は、2つの半球状外殻をボス156及びビス(図示せず)により固定してなる。球状内殻154は、球状外殻153の内部に、2つの半球状内殻をボス157により固定してなる。また、反射ボール151には、スティック152が、挿入して固定される。具体的には、球状外殻153を構成する2つの半球状外殻と、球状内殻154を構成する2つの半球状内殻と、によりスティック152を挟み、2つの半球状外殻をボス156及びビスで固定するとともに、2つの半球状内殻をボス157で固定することで、スティック152を反射ボール151に取り付ける。
【0348】
図50は、図46の反射体150の操作方法の説明図である。図50に示すように、イメージセンサ43が、32ピクセル×32ピクセルであるとする。オペレータ94が、反射体150を、一定以上の速さで、Y軸の正方向に、イメージセンサ43のトリガレンジR1を横切るように振った場合、トリガA1が発生する。オペレータ94が、反射体150を、一定以上の速さで、Y軸の正方向に、イメージセンサ43のトリガレンジR2を横切るように振った場合、トリガA2が発生する。オペレータ94が、反射体150を、一定以上の速さで、Y軸の正方向に、イメージセンサ43のトリガレンジR3を横切るように振った場合、トリガA3が発生する。オペレータ94が、反射体150を、一定以上の速さで、Y軸の正方向に、イメージセンサ43のトリガレンジR4を横切るように振った場合、トリガA4が発生する。
【0349】
図51は、図46のテレビジョンモニタ90のスクリーン91に表示される自動演奏画面の例示図である。図51に示すように、スクリーン91には、4つのオブジェクト165〜168が表示される。また、スクリーン91の下端には、操作指示枠169、及び、ガイドマーク170〜173が表示される。
【0350】
ここで、ガイドマーク170は、オブジェクト165及びトリガレンジR1に対応しており、ガイドマーク171は、オブジェクト166及びトリガレンジR2に対応しており、ガイドマーク172は、オブジェクト167及びトリガレンジR3に対応しており、ガイドマーク173は、オブジェクト168及びトリガレンジR4に対応している。
【0351】
オペレータ94が、操作指示枠169に入ったガイドマーク170〜173に対応するトリガレンジR1〜R4を横切るように、反射体150を振り動かすと、発生したトリガA1〜A4に応じた楽音が発生される。
【0352】
ここで、トリガレンジR1〜R4の配置に対応して、オブジェクト165〜168が表示されているため、オペレータ94は、トリガレンジR1〜R4が、空間のどのあたりに位置するのかを把握できる。
【0353】
また、オブジェクト165に対応するトリガA1によって、例えば、タンバリンの音色の楽音を発生させることができる。オブジェクト166に対応するトリガA2によって、例えば、ピアノの音色の楽音を発生させることができる。オブジェクト167に対応するトリガA3によって、例えば、ギターの音色の楽音を発生させることができる。オブジェクト168に対応するトリガA4によって、例えば、太鼓の音色の楽音を発生させることができる。
【0354】
また、オブジェクト165に対応するトリガA1によって、例えば、タンバリンが打ち合わせられた画像を表示することもできる。オブジェクト166に対応するトリガA2によって、例えば、ピアノをひいているような画像を表示できる。オブジェクト167に対応するトリガA3によって、例えば、ギターを弾いているような画像を表示できる。オブジェクト168に対応するトリガA4によって、例えば、太鼓を叩く画像を表示できる。
【0355】
さて、ガイドマーク170〜173は、上記の各パートの楽譜に沿った間隔で、スクリーン91の右端に出現し、音楽のテンポに合った速度で、左方向へ移動していく。さらに、トリガA1〜A3とは関係なく、バックグラウンドミュージック(BGM)が自動演奏されている。
【0356】
従って、オペレータ94が、ガイドマーク170〜173の指示通りに、反射体150によりトリガA1〜A4を発生させれば、表現豊かなより厚みのある自動演奏が実行される。
【0357】
ここで、上記で挙げた例の各パート(タンバリン、ピアノ、ギター、及び、太鼓)の楽譜データ(以下、「トリガ発音用の楽譜データ」と呼ぶ。)について説明する。トリガ発音用の楽譜データは、トリガ音指示情報が時系列に配置された楽譜データである。なお、ROM51に格納される楽譜データ111には、BGM用楽譜データ(実施の形態1のメロディ用楽譜データに相当)、及びガイドマーク登録用楽譜データに加えて、トリガ発音用楽譜データが含まれる。
【0358】
図52は、トリガ発音用楽譜データの一例を示す概念図である。図52に示すように、トリガ音指示情報は、コマンド、ノートナンバ/待機時間、及び、楽器指定情報、からなる。
【0359】
トリガ発音用楽譜データでは、楽器指定情報は、音楽を奏でる楽器(音色)を示す番号ではない。楽器指定情報は、トリガ発音用楽譜データが、トリガA1〜A4により発音する音を決定する楽譜データであることを示す番号である。
【0360】
従って、ノートオンは、音を出すコマンドではなく、トリガA1〜A4が発生した際に発音する音を指示するコマンドである。そして、ノートナンバは、音の高さ(ピッチ)を指定する情報ではなく、トリガ音指示情報を表す。トリガ音指示情報について詳しく説明する。
【0361】
トリガ発音用楽譜データから読み出された最新のトリガ音指示情報(ノートナンバ)が、トリガレンジR1〜R4毎に登録される。そして、登録されたトリガ音指示情報に関連付けられた波形データ先頭アドレス、音の高さ(ピッチ)の情報、ゲートタイム、及び、ボリューム情報が、ROM51から読み出され、内部メモリ207に格納される。この場合、ROM51に格納されたトリガ音設定テーブルが参照される。
【0362】
図53は、ROM51に格納されているトリガ音設定テーブルの例示図である。図53に示すように、トリガ音設定テーブルは、トリガ音指示情報と、波形データ先頭アドレスと、音の高さ(ピッチ)情報と、ゲートタイムと、ボリューム情報と、を関連付けたテーブルである。このトリガ音設定テーブルを参照することで、登録されているトリガ音指示情報に関連付けられている波形データ先頭アドレス等を取得できる。
【0363】
トリガA2が発生した場合、トリガレンジR2(トリガA2)に対応して登録されているトリガ音指示情報に関連付けられている波形データ先頭アドレス等が、サウンドプロセッサ203に与えられる。そして、サウンドプロセッサ203は、波形データ先頭アドレスが示す位置に格納されている波形データを、ピッチ制御情報に基づくアドレスポインタをインクリメントしながら、ROM51から読み出して、その波形データ及びボリューム情報に応じた楽音信号を生成して、楽音信号出力端子49に出力する。これにより、テレビジョンモニタ90のスピーカ(図示せず)から、ROM51から読み出した波形データに応じた楽音(上記例ではピアノ)が、ボリューム情報に応じた音量で発音される。なお、トリガA1、A3、A4による発音も、トリガA2による発音と同様である。
【0364】
ここで、トリガレンジRi(i=1〜4)に対応するトリガ音指示情報が、配列TS[i]に格納される。
【0365】
さて、実施の形態2による自動演奏システムの処理の流れをフローチャートを用いて説明する。
【0366】
実施の形態2による自動演奏システムの処理の全体の流れは、図24と同様である。従って、図24を実施の形態2による自動演奏システムのフローチャートとして説明する。
【0367】
また、実施の形態2における割込み処理の流れは、図41に示した割り込み処理と同様である。従って、図41を実施の形態2による割込み処理のフローチャートとして説明する。
【0368】
また、実施の形態2におけるストロボ撮影処理の流れは、図45に示したストロボ撮影処理と同様である。従って、図45を実施の形態2によるストロボ撮影処理のフローチャートとして説明する。
【0369】
以上により、実施の形態1と異なる点を中心に説明する。
【0370】
図54は、図24のステップS5の振り動作検出処理の流れを示すフローチャートである。図54に示すように、ステップS300にて、振り動作検出手段117は、イメージセンサ43のピクセルデータ群の取得処理を実行する。この処理は、図33の処理と同様である。
【0371】
ステップS301にて、振り動作検出手段117は、反射体150の注目点の抽出処理を実行する。
【0372】
ステップS302にて、振り動作検出手段117は、ステップS301の処理結果を基に、速度ベクトル算出処理を実行する。
【0373】
図55は、図54のステップS301の注目点抽出処理の第1の例の流れを示すフローチャートである。図55に示すように、ステップS320〜ステップS329の処理は、それぞれ、図35のステップS110〜ステップS119の処理と同様であり、説明を省略する。
【0374】
また、ステップS330〜ステップS332の処理は、それぞれ、図36のステップS130〜ステップS132と同様であり、説明を省略する。
【0375】
さて、ステップS333にて、状態情報算出手段131は、回数Mの値を1つインクリメントする(M=M+1)。
【0376】
ステップS334にて、状態情報算出手段131は、M回目の注目点のX座標として、配列PX[M]にXcを代入し、M回目の注目点のY座標として、配列PY[M]にYcを代入する。
【0377】
ステップS335にて、状態情報算出手段131は、「M」と規定値Kとを比較して、「M」が規定値K以上の場合は、ステップS336に進み、「M」に「0」を」代入する。
【0378】
一方、ステップS335にて、状態情報算出手段131は、「M」が規定値Kより小さい場合は、図54のステップS302に進む。
【0379】
以上のように、配列PX[M]、PY[M]の要素数は、規定値Kとしている。
【0380】
図56は、図54のステップS301の注目点抽出処理の第2の例の流れを示すフローチャートである。図56に示すように、ステップS310〜ステップS315の処理は、それぞれ、図37のステップS140〜ステップS145の処理と同様であり、説明を省略する。
【0381】
さて、ステップS316にて、状態情報算出手段131は、回数Mの値を1つインクリメントする(M=M+1)。
【0382】
ステップS317にて、状態情報算出手段131は、M回目の注目点のX座標として、配列PX[M]にXcを代入し、M回目の注目点のY座標として、配列PY[M]にYcを代入する。
【0383】
ステップS318にて、状態情報算出手段131は、「M」と規定値Kとを比較して、「M」が規定値K以上の場合は、ステップS319に進み、「M」に「0」を」代入する。
【0384】
一方、ステップS318にて、状態情報算出手段131は、「M」が規定値Kより小さい場合は、図54のステップS302に進む。
【0385】
以上のように、配列PX[M]、PY[M]の要素数は、規定値Kとしている。
【0386】
図57は、図52のステップS302の速度ベクトル算出処理の流れを示すフローチャートである。図57に示すように、ステップS340にて、状態情報算出手段131は、M回目の注目点のX方向の速度ベクトルVX[M]とY方向の速度ベクトルVY[M]とを求める。
【0387】
ステップS341にて、状態情報算出手段131は、M回目の注目点の速さV[M]を求める。
【0388】
以上のようにして、反射体150の速さV[M]が求められる。
【0389】
図58は、図24のステップS6のトリガ処理の流れを示すブロック図である。図58に示すように、トリガ発生手段119は、M回目の注目点のY方向の速度ベクトルVY[M]の向きがが、「正」かどうかを判断し、方向が「正」ならば、ステップS352に進む。
【0390】
ステップS352にて、トリガ発生手段119は、M回目の注目点の速さV[M]が、所定の閾値ThVを超えているかどうかを判断し、超えていれば、ステップS353に進む。
【0391】
ステップS353にて、トリガ発生手段119は、「i」に「1」を代入する。
【0392】
ステップS354にて、トリガ発生手段119は、注目点の速度ベクトル(VX[M],VY[M])が、トリガレンジRiと交差しているか否かを判定する。
【0393】
ステップS355にて、交差しているならば、ステップS357に進み、発音フラグSF[i]をオンにする。
【0394】
一方、ステップS355にて、交差していないならば、ステップS356に進み、「i」を1つインクリメントする。
【0395】
ステップS359にて、「i」が規定値Iより大きいかどうかを判断し、規定値I以下の場合は、ステップS354に進み、規定値Iより大きい場合は、メインルーチンにリターンする。
【0396】
ここで、図51の例では、トリガレンジは、トリガレンジR1〜R4までの4種類であるから、I=4、である。以上のようにして、注目点の速度ベクトル(VX[M],VY[M])が、4種類のトリガレンジR1〜R4のうちのいずれかと交差していれば、対応する発音フラグSF[i]がオンにされる。
【0397】
図59は、図41のステップS212のトリガによる発音処理の流れを示すフローチャートである。図59に示すように、ステップS380にて、サウンドドライバ127は、「i」に「1」を代入する。
【0398】
ステップS381にて、サウンドドライバ127は、発音フラグSF[i]がオンの場合は、ステップS382に進む。
【0399】
ステップS382にて、サウンドドライバ127は、トリガ音指示情報TS[i]を基に、トリガ音設定テーブルを参照して、ROM51から、波形データ先頭アドレスA[i]、音の高さ(ピッチ)情報P[i]、ゲートタイムT[i]、及び、ボリューム情報V[i]、を取得する。
【0400】
そして、サウンドドライバ127は、波形データ先頭アドレスA[i]、音の高さ(ピッチ)情報P[i]に基づくピッチ制御情報、及び、ボリューム情報V[i]を、サウンドプロセッサ203に与える。
【0401】
ステップS383にて、サウンドプロセッサ203は、波形データ先頭アドレスA[i]が示す位置に格納されている波形データを、ピッチ制御情報に基づくアドレスポインタをインクリメントしながら、ROM51から読み出して、その波形データ及びボリューム情報V[i]に応じた楽音信号を生成して、楽音信号出力端子49に出力する。これにより、テレビジョンモニタ90のスピーカ(図示せず)から、ROM51から読み出した波形データに応じた楽音(上記例ではタンバリン、ピアノ、ギター、あるいは、太鼓)が、ボリューム情報V[i]に応じた音量で発音される。
【0402】
ステップS384にて、サウンドドライバ127は、発音フラグSF[i]をオフにする。
【0403】
ステップS385にて、「i」が規定値I以下の場合は、ステップS381に進む。規定値Iの意味は、図58の場合と同様である。一方、ステップS385にて、「i」が規定値Iより大きい場合は、ステップS386に進む。
【0404】
ステップS386にて、サウンドドライバ127は、「i」に「1」を代入する。
【0405】
ステップS387にて、サウンドドライバ127は、ゲートタイムT[i]が終了しているかどうかを判断して、終了していれば、ステップS388にて、発音フラグSF[i]に基づく発音の終了指示を、サウンドプロセッサ203に出す。これに基づいて、サウンドプロセッサ203は、発音フラグSF[i]に基づく発音を終了する。一方、ゲートタイムT[i]が終了していなければ、ステップS391に進む。
【0406】
ステップS391にて、「i」が1つインクリメントされる。
【0407】
ステップS389にて、サウンドドライバ127は、「i」が規定値Iより大きいかどうかを判断して、規定値I以下の場合は、ステップS387に進み、規定値Iより大きい場合は、メインルーチンにリターンする。このようにして、全てのゲートタイムT[i]をチェックする。
【0408】
さて、実施の形態2では、図41のステップS211のガイドマーク登録処理の後に、トリガ音指示情報登録処理が挿入される。
【0409】
図60は、図41のステップS211の後に挿入されるトリガ音指示情報登録処理の流れを示すフローチャートである。図60に示すように、ステップS390にて、トリガ音指示情報登録手段は、トリガ音指示情報登録用の実行待機カウンタをチェックする。
【0410】
トリガ音指示情報登録用の実行待機カウンタの値が「0」ならば、ステップS393へ進み、「0」でないならば、ステップS392へ進む(ステップS391)。
【0411】
ステップS392にて、トリガ音指示情報登録手段は、トリガ音指示情報登録用の実行待機カウンタをデクリメントする。
【0412】
さて、ステップS393にて、トリガ音指示情報登録手段は、トリガ音指示情報登録用の楽譜データポインタの指すコマンドを読み出して解釈する。
【0413】
コマンドがノートオンであれば、ステップS396に進む(ステップS394)。一方、コマンドが、ノートオンでなければ、即ち、待機であれば、ステップS395に進む。
【0414】
ステップS395にて、トリガ音指示情報登録手段は、トリガ音指示情報登録用の実行待機カウンタに待機時間をセットする。
【0415】
さて、ステップS396にて、トリガ音指示情報登録手段は、トリガ音指示情報を登録する。具体的には、トリガレンジR1に対するトリガ音指示情報は、配列TS[1]に格納し、トリガレンジR2に対するトリガ音指示情報は、配列TS[2]に格納し、トリガレンジR3に対するトリガ音指示情報は、配列TS[3]に格納し、トリガレンジR4に対するトリガ音指示情報は、配列TS[4]に格納する。
【0416】
ステップS397にて、トリガ音指示情報登録手段は、トリガ音指示情報登録用の楽譜データポインタをインクリメントする。そして、図41のステップS212に進む。
【0417】
なお、CPU201が、ROM51の制御プログラム102を実行することで、CPU201が、トリガ音指示情報登録手段として機能する。
【0418】
さて、次に、実施の形態2の変形例を説明する。この変形例の説明では、上述の実施の形態2と異なる点を中心に説明する。
【0419】
この変形例では、図50のイメージセンサ43を4分割したトリガ領域a1,a2,a3,a4を設定する。そして、このトリガ領域ai(i=1〜4)に、トリガAi(i=1〜4)を対応させる。そして、反射体150がイメージセンサ43に近づき(反射体150の注目領域の面積変化が「正」)、かつ、反射体150の注目領域の面積変化が、所定の閾値ThAより大きい場合に、注目領域が位置する領域aiに対応するトリガAiがオンになる。その後は、上記の実施の形態2と同様である。次に、実施の形態2と異なる点を中心に、フローチャートを用いて説明する。
【0420】
図61は、変形例における、図24のステップS5の振り操作検出処理の流れを示すフローチャートである。図61に示すように、ステップS400にて、振り動作検出手段117は、イメージセンサ43のピクセルデータ群の取得処理を実行する。この処理は、図33の処理と同様である。
【0421】
ステップS401にて、振り動作検出手段117は、反射体150の注目領域の抽出処理を実行する。
【0422】
図62は、図61のステップS401の注目領域抽出処理の流れを示すフローチャートである。図62に示すように、ステップS410にて、カウンタcに「0」をセットする。
【0423】
ステップS411及びステップS412の処理は、それぞれ、図35のステップS110及びステップS111の処理と同様であり、説明を省略する。
【0424】
ステップS413にて、状態情報算出手段131は、配列Dif[X][Y]の要素を所定の閾値Thと比較する。
【0425】
状態情報算出手段131は、配列Dif[X][Y]の要素が所定の閾値Thより大きい場合は、ステップS415に進み、カウンタcをインクリメントする。
【0426】
ステップS416にて、状態情報算出手段131は、配列Dif[X][Y]の全要素について、所定の閾値Thとの比較が終了するまで、ステップS413からステップS415の処理を繰り返す。このようにして、状態情報算出手段131は、32ピクセル×32ピクセルのうち、所定の閾値Thを超えるピクセルの数をカウントする。このカウント数cが、反射体150の注目領域の面積に相当する。
【0427】
ステップS417にて、状態情報算出手段131は、回数Mをインクリメントする。
【0428】
ステップS418にて、状態情報算出手段131は、配列Ar[M]に、カウント値cを代入する。
【0429】
ステップS419にて、状態情報算出手段131は、「M」と規定値Kとを比較して、「M」が規定値K以上の場合は、ステップS420に進み、「M」に「0」を」代入する。
【0430】
一方、ステップS419にて、状態情報算出手段131は、「M」が規定値Kより小さい場合は、図24のステップS6に進む。
【0431】
以上のように、配列Ar[M]の要素数は、規定値Kとしている。
【0432】
さて、図63は、図24のステップS6のトリガ処理の流れを示すフローチャートである。図63に示すように、ステップS430にて、トリガ発生手段119は、M回目の注目領域の面積Ar[M]と(M−1)回目の注目領域の面積Ar[M−1]との差を求め、配列AD[M]に格納する。
【0433】
ステップS431にて、トリガ発生手段119は、M回目の差分面積AD[M]が、「正」かどうかを判断し、「正」であれば、ステップS432に進む。
【0434】
ステップS432にて、トリガ発生手段119は、M回目の差分面積AD[M]が、所定の閾値ThAを超えているかどうかを判断し、超えていれば、ステップS433に進む。
【0435】
ステップS433にて、トリガ発生手段119は、「i」に「1」を代入する。
【0436】
ステップS434にて、トリガ発生手段119は、注目領域がどのトリガ領域aiに位置するかを判定する。
【0437】
ステップS435にて、トリガ発生手段119は、注目領域が位置するトリガ領域aiに対応する発音フラグSF[i]をオンにする。
【0438】
ここで、発音フラグSF[i]をオンにするための条件として、面積差が「正」であること及び面積差が所定の閾値ThAを超えていること、に加えて、さらに、注目領域の速さが所定値を超えていること、を条件とすることができる。
【0439】
さて、以上のように、本実施の形態(変形例含む。)によれば、ストロボスコープにより間欠的に光が照射される反射体150をイメージセンサ43により撮影して、反射体150の状態情報(位置情報、速度ベクトル情報、及び、面積情報)を求めている。このため、反射体150の状態情報を求めるために、反射体150に電源により駆動する回路を内蔵する必要がない。
【0440】
このように、簡易な構成の操作部材である反射体150を用いて、その状態情報(位置情報、速度ベクトル情報、及び、面積情報)を求め、トリガによる楽音の発生ができるので、操作部材の操作性及び信頼性の向上を図りながらも、表現豊かな厚みのある自動演奏を実行することができる。
【0441】
また、発光時画像信号と消灯時画像信号との差分信号を生成するといった簡単な処理のみで、ノイズや外乱の影響を抑えた精度の高い検出が可能であるので、コスト、許容される消費電力等の条件により自動演奏装置のパフォーマンスが制限されるシステムの上でも容易に達成が可能である。
【0442】
また、本実施の形態(変形例含む。)によれば、イメージセンサ43が生成する2次元画像に設定する所定領域(トリガレンジR1〜R4、トリガ領域a1〜a4)の位置によって、オペレータ94に、空間上のどの付近で反射体150を操作させるかを、容易に調整できる。
【0443】
さらに、本実施の形態では、注目点(反射体150)の速度ベクトルのY成分が「正」であり、かつ、その速度ベクトルの大きさが所定の閾値ThVを超えており、かつ、その速度ベクトルがトリガレンジR1〜R4のいずれかと交差しているとき、トリガを発生する。
【0444】
このように、複数の条件を満足しないとトリガが発生しないため、意図しないときにトリガが発生するという不都合を回避できる。なお、変形例でも、2つあるいは3つの条件を満足することで、トリガを発生するため、同様のことが言える。
【0445】
さらに、本実施の形態(変形例含む。)によれば、複数のトリガ条件(トリガレンジR1〜R4、トリガ領域a1〜a4)に応じて、異なる楽音が発生されるので、より表現豊かなより厚みのある自動演奏が可能になる。また、オペレータ94にとっても、複数のトリガ条件に応じて、異なる動作をしなければならないので、飽き難い自動演奏装置を提供できる。また、トリガ条件の数を調整することで、難易度の調整が可能である。
【0446】
さらに、本実施の形態(変形例含む。)によれば、イメージセンサ43が生成する2次元画像に複数の所定領域(トリガレンジR1〜R4、トリガ領域a1〜a4)を設定するだけで、オペレータ94に、空間上の様々な位置で反射体150を操作させることができる。
【0447】
さらに、本実施の形態(変形例含む。)によれば、異なるトリガ条件(トリガレンジR1〜R4、トリガ領域a1〜a4)ごとに異なるガイドマーク170〜173を用いて操作ガイドを行うため、オペレータ94は、複数のトリガ条件が設定されていても、満足させるべきトリガ条件を直感的に把握できる。
【0448】
なお、本考案は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【0449】
(1)実施の形態1において、トリガが発生した回数、即ち、オペレータ94がガイドマーク83に従った操作をした回数、を計数して、これを点数(得点)とすることができる。これにより、ゲーム性を付加できる。この場合、得点決定手段が、その処理を行う。具体的には、制御プログラム102を実行するCPU201が、得点決定手段として機能する。
【0450】
(2)実施の形態2では、反射体150の速さに応じて音量を制御することもできる。また、その変形例では、差分面積の大きさに応じて、音量を制御することもできる。これにより、反射体150の動きに応じて、音量が制御されることになるので、オペレータ94は、自動演奏装置による自動演奏をより楽しむことができる。この場合、音量制御手段が、その処理を行う。具体的には、制御プログラム102を実行するCPU201が、音量制御手段として機能する。なお、他の状態情報(移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、若しくは、位置情報、のいずれか、又は、それらの2以上の組み合わせ)に応じて、音量を制御することもできる。
【0451】
(3)実施の形態1及び実施の形態2(その変形例を含む。)では、反射体3及び反射体150を用いたが、反射体の形状等は、これに限定されるものではない。光を反射できる部材(上記では、反射シート31,155を例に挙げた。)を備えていれば、本考案で使用できる反射体として機能する。例えば、従来の先行文献1又は先行文献2のような指揮棒に反射部材を取り付けて、これを本考案の反射体として用いることができる。
【0452】
(4)実施の形態2(その変形例を含む。)では、トリガA1〜A4の発生に応じて、対応するオブジェクト165〜168が踊るようにすることもできる。これにより、オペレータ94は、音楽のみならず、映像をも楽しむことができる。また、ガイドマーク170〜173を、同一直線状に表示するのではなく、段を変えて表示することもできる。
【0453】
(5)実施の形態2(その変形例を含む。)では、トリガレンジR1〜R4及びトリガ領域a1〜a4、即ち、トリガ条件、を4つとしたが、これに限定されるものではない。トリガ条件は、1つ(イメージセンサ43による二次元画像の一部あるいは全部)でもよいし、それより大きい幾つでもよい。
【0454】
(6)実施の形態1及び実施の形態2(その変形例を含む。)において、トリガにより発生させる楽音として、楽器の音色に限らず、音声、ノイズ音、動物の鳴き声、自然界に存在する音、などの様々な音色を指定できる。
【0455】
(7)実施の形態1及び実施の形態2(その変形例を含む。)において、トリガ発生手段119は、反射体3,150の状態情報としての、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの2以上の組み合わせ、に基づいて、トリガを発生するようにすることもできる。
【0456】
これにより、オペレータ94による反射体3,150の様々な動きに応じたトリガの発生が可能となり、オペレータ94が自分自身の動きをも楽しみながらの自動演奏が可能となる。
【0457】
(8)実施の形態2(その変形例を含む。)において、トリガA1〜A4の発生に対応するガイドマーク170〜173の形態(色など)を変化させることもできる。この場合、ある1つのトリガが発生した場合、その1つのトリガに対応する1つのガイドマークの形態を変化させる。このようにすれば、オペレータ94は、直感的に自動演奏の状態を認識でき、自動演奏装置による自動演奏を容易に制御できる。
【0458】
(9)図22及び図52で使用するノートナンバは、図21で使用するノートナンバと異なるようにすることが好ましい。また、図22及び図52で使用する楽器指定情報は、図21で使用する楽器指定情報と異なるようにすることが好ましい。
【0459】
(10)図7の高速プロセッサ200として、任意の種類のプロセッサを使用できるが、本件出願人が既に特許出願している高速プロセッサ(商品名:XaviX)を用いることが好ましい。この高速プロセッサは、例えば、特開平10−307790号公報およびこれに対応するアメリカ特許第6,070,205号に詳細に開示されている。
【図面の簡単な説明】
【図1】本考案の実施の形態1における自動演奏システムの全体構成を示す図。
【図2】図1の反射体の拡大図。
【図3】図1の反射体の斜視図。
【図4】(a)図3の反射体の上面図。
(b)図3の反射体の側面図。
(c)図3の反射体の下面図。
【図5】図1の撮像ユニットの図解図。
【図6】図1の自動演奏装置本体の電気的構成を示す図。
【図7】図6の高速プロセッサのブロック図。
【図8】図6のイメージセンサから高速プロセッサへピクセルデータを取り込む構成及びLED駆動回路を示す図。
【図9】(a)図8のイメージセンサが出力するフレームステータスフラグ信号FSFのタイミング図。
(b)図8のイメージセンサが出力するピクセルデータストローブ信号PDSのタイミング図。
(c)図8のイメージセンサが出力するピクセルデータD(X,Y)のタイミング図。
(d)図8の高速プロセッサが出力するLEDコントロール信号LEDCのタイミング図。
(e)図8の赤外発光ダイオードの点灯状態を示すタイミング図。
(f)図8のイメージセンサの露光期間を示すタイミング図。
【図10】(a)図9のフレームステータスフラグ信号FSFの拡大図。
(b)図9のピクセルデータストローブ信号PDSの拡大図。
(c)図9のピクセルデータD(X,Y)の拡大図。
【図11】実施の形態1における自動演奏画面の例示図。
【図12】実施の形態1における自動演奏画面の他の例示図。
【図13】図6のROMに格納されたプログラム及びデータの概念図。
【図14】図7のCPUの動作の説明図。
【図15】(a)一般的なイメージセンサにより撮影された、特別な処理を施さない映像の例示図。
(b)図15(a)の映像信号を或る閾値でレベル弁別したときの映像信号の例示図。
(c)赤外フィルタを介したイメージセンサの点灯時の映像信号を或る閾値でレベル弁別したときの映像信号の例示図。
(d)赤外フィルタを介したイメージセンサの消灯時の映像信号を或る閾値でレベル弁別したときの映像信号の例示図。
(e)点灯時の映像信号と消灯時の映像信号との差分信号の例示図。
【図16】実施の形態1の第1の例による第1の反射体の注目点座標算出の説明図。
【図17】実施の形態1の第1の例による第2の反射体の注目点座標算出の説明図。
【図18】実施の形態1の第2の例による第1の反射体の注目点座標算出の説明図。
【図19】(a)実施の形態1において、最大輝度値を持つピクセルの座標を基に、第1の反射体の注目点座標を算出する際のX方向スキャンの説明図。
(b)実施の形態1において、最大輝度値を持つピクセルの座標を基に、第1の反射体の注目点座標を算出する際のY方向スキャンのスタート時の説明図。
(c)実施の形態1において、最大輝度値を持つピクセルの座標を基に、第1の反射体の注目点座標を算出する際のY方向スキャンの説明図。
(d)最大輝度値を持つピクセルの座標を基に、第1の反射体の注目点座標を算出する際の結果の説明図。
【図20】実施の形態1の第2の例による第2の反射体の注目点座標算出の説明図。
【図21】実施の形態1におけるメロディ用楽譜データの一例を示す概念図。
【図22】実施の形態1におけるガイドマーク登録用楽譜データの一例を示す概念図。
【図23】図22の音符マーク登録用楽譜データで使用されるノートナンバとガイドマークとの関係図。
【図24】図1の自動演奏装置本体の処理の流れを示すフローチャート。
【図25】図24のステップS1の初期設定処理のフローチャート。
【図26】図25のステップS14のセンサ初期設定処理のフローチャート。
【図27】図26のステップS21のコマンド送信処理のフローチャート。
【図28】(a)図8のレジスタ設定クロックCLKのタイミング図。
(a)図8のレジスタデータのタイミング図。
【図29】図26のステップS23のレジスタ設定処理のフローチャート。
【図30】図24のステップS4の画像表示処理のフローチャート。
【図31】図30のステップS50のオブジェクトセット処理のフローチャート。
【図32】図24のステップS5の振り動作検出処理のフローチャート。
【図33】図32のステップS80のピクセルデータ群取得処理のフローチャート。
【図34】図33のステップS91のピクセルデータ取得処理のフローチャート。
【図35】図32のステップS81の第1の例による注目点抽出処理のフローチャート。
【図36】図35のステップS120の2点抽出処理のフローチャート。
【図37】図32のステップS81の第2の例による注目点抽出処理のフローチャート。
【図38】図37のステップS145の注目点座標算出処理のフローチャート。
【図39】図32のステップS82の距離判定処理のフローチャート。
【図40】図24のステップS6のトリガ処理のフローチャート。
【図41】実施の形態1における割込み処理のフローチャート。
【図42】図41のステップS210のメロディ再生処理のフローチャート。
【図43】図41のステップS211のガイドマーク登録処理のフローチャート。
【図44】図41のステップS212のトリガによる発音処理のフローチャート。
【図45】図1の撮像ユニットによるストロボスコープ撮影処理のフローチャート。
【図46】本考案の実施の形態2における自動演奏システムの全体構成を示す図。
【図47】図46の反射体の斜視図。
【図48】(a)図47の反射ボールの上面図。
(b)図48(a)の矢印A方向からの反射ボールの側面図。
(c)図48(a)の矢印B方向からの反射ボールの側面図。
【図49】図47の反射ボールの縦断面図。
【図50】図46の反射体の操作方法の説明図。
【図51】実施の形態2における自動演奏画面の例示図。
【図52】実施の形態2におけるトリガ発音用楽譜データの一例を示す概念図。
【図53】図6のROMに格納されているトリガ音設定テーブルの例示図。
【図54】実施の形態2における図24のステップS5の振り動作検出処理のフローチャート。
【図55】図54のステップS301の第1の例による注目点抽出処理のフローチャート。
【図56】図54のステップS301の第2の例による注目点抽出処理のフローチャート。
【図57】図54のステップS302の速度ベクトル算出処理のフローチャート。
【図58】実施の形態2における図24のステップS6のトリガ処理のフローチャート。
【図59】実施の形態2における図41のステップS212のトリガによる発音処理のフローチャート。
【図60】実施の形態2における図41のステップS211の後に挿入されるトリガ音指示情報登録処理のフローチャート。
【図61】実施の形態2の変形例における図24のステップS5における振り動作検出処理のフローチャート。
【図62】図61のステップS401における注目領域抽出処理のフローチャート。
【図63】実施の形態2の変形例における図24のステップS6におけるトリガ処理のフローチャート。
【符号の説明】
1…自動演奏装置本体、3,150…反射体、5…決定ボタン、7…キャンセルボタン、9…方向キー、11…電源スイッチ、13…撮像ユニット、14…リセットボタン、15…赤外発光ダイオード、17…赤外フィルタ、23…装飾シート、25…リング、27…留具、29…帯状部材、31,155…反射シート、35…ユニットベース、36…支持筒、37…凸レンズ、39…凹レンズ、41…開口、43…イメージセンサ、47…画像信号出力端子、49…楽音信号出力端子、51,55…ROM、53…バス、57…キースイッチ群、59…基準電圧発生回路、61,81…NPNトランジスタ、67…微分回路、71…コンデンサ、75…LED駆動回路、77…PNPトランジスタ、65,69,73,79…抵抗素子、83,170〜173…ガイドマーク、90…テレビジョンモニタ、91…スクリーン、92…ACアダプタ、93…AVケーブル、94…オペレータ、102…制御プログラム、103…画像データ、105…音楽データ、107…オブジェクト画像データ、109…背景画像データ、111…楽譜データ、113…音源データ、115…画像表示制御手段、117…振り動作検出手段、119…トリガ発生手段、123…ガイドマーク登録手段、125…グラフィックドライバ、127…サウンドドライバ、129…差分データ生成手段、131…状態情報算出手段、151…反射ボール、152…スティック、153…球状外殻、154…球状内殻、156,157…ボス、200…高速プロセッサ、201…CPU、202…グラフィックプロセッサ、203…サウンドプロセッサ、204…DMAコントローラ、205…第1バス調停回路、206…第2バス調停回路、207…内部メモリ、208…ADC(A/Dコンバータ)、209…入出力制御回路、210…タイマ回路、211…DRAMリフレッシュ制御回路、212…外部メモリインタフェース回路、213…クロックドライバ、214…PLL回路、215…低電圧検出回路、216…水晶振動子、217…バッテリ、218…第1バス、219…第2バス
【考案の属する技術分野】
本考案は、オペレータの操作に基づくトリガに応じて自動演奏を行う自動演奏装置及び自動演奏システムに関する。
【0002】
【従来の技術】
特開平9−34456号公報(先行文献1と呼ぶ。)には、指揮棒のリズム動作に応じたタイミング信号を受信し、このタイミング信号に同期して、楽音信号を生成する半自動演奏装置が開示されている。詳しくは次の通りである。
【0003】
指揮棒の内部には、加速度センサ及び送信回路が設けられている。従って、指揮棒が振られると、加速度センサは、その加速度の大きさに応じた電気信号を出力する。そして、送信回路は、その電気信号を微分して、所定値を超えている場合に、タイミング信号を送信する。そして、受信回路を有する本体部が、このタイミング信号を受信し、このタイミング信号に同期して、楽音信号を生成する。以上のようにして、この従来の半自動演奏装置は、指揮棒のリズム動作に同期した半自動演奏を実現する。
【0004】
また、特開2002−263360号公報(先行文献2と呼ぶ。)には、次のような演奏指揮ゲーム装置が開示されている。指揮棒の先端に投光ユニットが取り付けられ、モニタの下部に受光ユニットが設けられる。こうして、指揮棒の先端位置を検出する。そして、指揮棒が適正なタイミングで適正な方向に振られたときに、楽音信号が出力される。
【0005】
【考案が解決しようとする課題】
しかしながら、先行文献1に開示された半自動演奏装置では、指揮棒に、加速度センサ、送信回路、及び、電源、を設ける必要がある。従って、指揮棒の構成が複雑になって、重量が重くなり操作性の低下を招く。特に、指揮棒は、自在に動かされるものであり、その構成が複雑になると、故障の可能性も生じてくる。このような問題は、先行文献2に開示された演奏指揮ゲーム装置でも生じる。
【0006】
そこで、本考案は、電源により駆動する回路を内蔵しない簡易な構成の反射体の動きに応じた自動演奏を可能とする自動演奏装置及び自動演奏システムを提供することを目的とする。
【0007】
【課題を解決するための手段およびその作用・効果】
本考案の第1の形態によると、自動演奏装置は、自動演奏される音楽データが格納され、反射体の状態情報に基づくトリガに応じて、少なくとも1種類以上の旋律を自動演奏する自動演奏装置であって、前記反射体に、予め定められた周期で、光を照射するストロボスコープと、前記ストロボスコープの発光時及び消灯時のそれぞれにおいて、前記反射体を撮影して、発光時画像信号及び消灯時画像信号を生成する撮像手段と、前記発光時画像信号と前記消灯時画像信号との差分信号を生成する差分信号生成手段と、前記差分信号に基づいて、前記反射体の前記状態情報を算出する状態情報算出手段と、前記反射体の前記状態情報に基づいて、トリガを発生するトリガ発生手段と、前記トリガに応じて、前記音楽データを読み出して、楽音信号を生成する楽音信号生成手段と、を備える。
【0008】
この構成によれば、ストロボスコープにより間欠的に光が照射される反射体を撮像手段により撮影して、反射体の状態情報を求めている。このため、反射体の状態情報を求めるために、反射体に電源により駆動する回路を内蔵する必要がない。
【0009】
このように、簡易な構成の操作部材である反射体を用いて、その状態情報を求め、トリガによる楽音の発生ができるので、操作部材の操作性及び信頼性の向上を図りながらも、表現豊かな厚みのある自動演奏を実行することができる。なお、上記の従来技術では、操作部材として、電源により駆動する回路を内蔵する指揮棒を使用していたため、操作性及び信頼性に問題があった。
【0010】
また、発光時画像信号と消灯時画像信号との差分信号を生成するといった簡単な処理のみで、ノイズや外乱の影響を抑えた精度の高い検出が可能であるので、コスト、許容される消費電力等の条件により自動演奏装置のパフォーマンスが制限されるシステムの上でも容易に達成が可能である。
【0011】
また、上記の自動演奏装置では、前記トリガ発生手段は、前記反射体の前記状態情報としての、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの2以上の組み合わせ、に基づいて、前記トリガを発生する。
【0012】
この構成によれば、オペレータによる反射体の様々な動きに応じたトリガの発生が可能となり、オペレータが自分自身の動きをも楽しみながらの自動演奏が可能となる。
【0013】
また、上記の自動演奏装置では、前記撮像手段が生成する2次元画像において、所定領域が設定され、前記トリガ発生手段は、前記反射体の前記状態情報と、前記所定領域と、の関係が所定条件を満足したとき、前記トリガを発生する。
【0014】
この構成によれば、撮像手段が生成する2次元画像に設定する所定領域の位置によって、オペレータに、空間上のどの付近で反射体を操作させるかを、容易に調整できる。
【0015】
また、上記の自動演奏装置では、前記状態情報算出手段は、前記差分信号に基づいて、前記反射体の前記状態情報としての速度ベクトル情報を算出し、前記トリガ発生手段は、前記速度ベクトルの所定成分が所定方向を向いており、かつ、前記速度ベクトルの大きさが所定値を超えており、かつ、前記速度ベクトルが前記所定領域と交差しているとき、前記トリガを発生する。
【0016】
この構成によれば、複数の条件を満足しないとトリガが発生しないため、意図しないときにトリガが発生するという不都合を回避でき、しかも、加えられた条件は、反射体の速さ及び方向であるため、オペレータによる特別な操作を必要とせず、簡易な動作でトリガの発生が可能である。
【0017】
また、上記の自動演奏装置では、前記トリガを発生するためのトリガ条件が複数設定され、前記トリガ発生手段は、前記反射体の前記状態情報が、前記複数のトリガ条件のいずれかを満足したとき、前記トリガを発生し、前記楽音信号生成手段は、前記トリガが発生したときに、満足した前記トリガ条件ごとに異なる前記音楽データを読み出して、前記楽音信号を生成する。
【0018】
この構成によれば、複数のトリガ条件に応じて、異なる楽音が発生されるので、より表現豊かなより厚みのある自動演奏が可能になる。また、オペレータにとっても、複数のトリガ条件に応じて、異なる動作をしなければならないので、飽き難い自動演奏装置を提供できる。また、トリガ条件の数を調整することで、難易度の調整が可能である。
【0019】
また、上記の自動演奏装置では、前記撮像手段が生成する前記2次元画像において、複数の異なる所定領域が設定され、前記トリガ発生手段は、前記反射体の前記状態情報と、前記複数の所定領域のいずれかと、の関係が所定条件を満足したとき、前記トリガを発生し、前記楽音信号生成手段は、前記トリガが発生したときに、前記所定条件を満足した前記所定領域ごとに異なる音楽データを読み出して、前記楽音信号を生成する。
【0020】
この構成によれば、撮像手段が生成する2次元画像に複数の所定領域を設定するだけで、オペレータに、空間上の様々な位置で反射体を操作させることができる。また、所定領域ごとに異なる楽音が発生されるので、より表現豊かなより厚みのある自動演奏が可能になる。
【0021】
また、上記の自動演奏装置では、前記状態情報算出手段は、前記差分信号に基づいて、前記反射体の前記状態情報としての速度ベクトル情報を算出し、前記トリガ発生手段は、前記速度ベクトルの所定成分が所定方向を向いており、かつ、前記速度ベクトルの大きさが所定値を超えており、かつ、前記速度ベクトルが前記複数の所定領域のいずれかと交差しているとき、前記トリガを発生する。
【0022】
この構成によれば、複数の条件を満足しないとトリガが発生しないため、意図しないときにトリガが発生するという不都合を回避でき、しかも、加えられた条件は、反射体の速さ及び方向であるため、オペレータによる特別な操作を必要とせず、簡易な動作でトリガの発生が可能である。
【0023】
また、上記の自動演奏装置では、前記撮像手段は、前記ストロボスコープの発光時及び消灯時のそれぞれにおいて、2つの反射体を撮影して、それぞれの反射体の前記発光時画像信号及び前記消灯時画像信号を生成し、前記差分信号生成手段は、前記反射体ごとに、前記発光時画像信号と前記消灯時画像信号との前記差分信号を生成し、前記状態情報算出手段は、前記反射体ごとの前記差分信号に基づいて、前記反射体ごとに、前記状態情報としての位置情報を算出し、その位置情報に基づいて、一方の前記反射体に対する他方の前記反射体の相対的な位置情報を算出し、
前記トリガ発生手段は、前記相対的な位置情報に基づいて、前記トリガを発生する。
【0024】
この構成によれば、2つの反射体の相対的な位置情報に基づいて、トリガの発生が行われるので、1つの反射体によりトリガを発生させる場合と異なる操作が必要であり、オペレータは、1つの反射体によりトリガを発生させる場合とは異なる別の楽しみ方で、自動演奏に参加できる。
【0025】
また、上記の自動演奏装置では、前記一方の反射体に対する前記他方の反射体の前記相対的な位置情報は、前記一方の反射体から前記他方の反射体までの距離情報である。
【0026】
この構成により、簡易な処理で、トリガ発生の有無を決定できる。
【0027】
また、上記の自動演奏装置では、自動演奏の状態を表す画像信号、及び、前記反射体の操作ガイドを表す画像信号、のいずれか又は双方を生成して、別個に設けられるテレビジョンモニタに表示する画像信号生成手段、をさらに備え、前記自動演奏の状態及び前記操作ガイドは、それぞれ、オブジェクトの形態の変化及び移動を用いて表示される。
【0028】
この構成によれば、自動演奏の状態を表す画像、及び、操作ガイドを表す画像、をテレビジョンモニタに表示することで、操作者にとって、直感的に自動演奏の状態や操作ガイドを認識でき、自動演奏装置による自動演奏を容易に制御できる。
【0029】
また、テレビジョンモニタに、自動演奏装置を接続するだけで容易に、自動演奏の状態を表す画像、及び、操作ガイドを表す画像、を表示することができる。
【0030】
さらに、これらの画像を表示するための画像表示部を自動演奏装置に設けることが不要となって、自動演奏装置に画像表示部を有する場合より安価な自動演奏装置を提供できる。
【0031】
ここで、本明細書において、「オブジェクトの形態」とは、色、形状、及び、その組み合わせ、を含む。さらに、「オブジェクトの形態の変化」には、オブジェクトの消滅、及び、位置の変化、も含まれる。
【0032】
また、上記の自動演奏装置では、自動演奏の状態を表す画像信号、及び、前記反射体の操作ガイドを表す画像信号、のいずれか又は双方を生成して、別個に設けられるテレビジョンモニタに表示する画像信号生成手段、をさらに備え、前記自動演奏の状態は、オブジェクトの形態の変化を用いて表示され、前記操作ガイドは、前記異なる音楽データに対応して、異なるオブジェクトの移動を用いて表示される。
【0033】
この構成によれば、異なるトリガ条件ごとに異なるオブジェクトを用いて操作ガイドを行うため、オペレータは、複数のトリガ条件が設定されていても、満足させるべきトリガ条件を直感的に把握できる。
【0034】
また、上記の自動演奏装置では、前記トリガ発生手段は、前記反射体の前記状態情報が所定条件を満足し、かつ、前記反射体が前記操作ガイドに従ったタイミングで操作されたとき前記トリガを発生する。
【0035】
この構成によれば、操作ガイドに従った操作ができなければ、トリガが発生せず、当然トリガに基づく楽音も発生されない。このため、オペレータは、操作ガイドに従うように努力するため、自動演奏装置は、より完成された自動演奏を行うことができる。
【0036】
また、上記の自動演奏装置では、前記トリガが発生した回数に応じて、得点を決定する得点決定手段をさらに備える。
【0037】
この構成によれば、ゲーム性を付加できる。
【0038】
また、上記の自動演奏装置では、前記反射体の前記状態情報に応じて、前記楽音信号の音量を制御する音量制御手段、をさらに備える。
【0039】
この構成によれば、反射体の動きに応じて、音量が制御されることになるので、オペレータは、自動演奏装置による自動演奏をより楽しむことができる。
【0040】
また、上記の自動演奏装置では、前記音量制御手段は、前記反射体の前記状態情報としての速さ情報に応じて、前記楽音信号の音量を制御する。
【0041】
この構成によれば、オペレータは、反射体を操作する速さを変えるだけで、音量を制御できる。
【0042】
また、上記の自動演奏装置では、自動演奏される音楽データ及び描画を行うための画像データを格納したメディアを装着する装着手段、をさらに備える。
【0043】
この構成によれば、メディアを交換するだけで、様々な音楽及び映像を楽しむことができる。また、内部メモリの節約も可能となる。
【0044】
また、上記の自動演奏装置では、前記画像信号生成手段は、前記テレビジョンモニタに表示しているオブジェクトの形態を、前記トリガに応じて変化させる。
【0045】
この構成によれば、反射体の操作に応じて、表示オブジェクトが変化するため、オペレータは、音楽だけでなく映像をも楽しむことができる。
【0046】
また、上記の自動演奏装置では、前記ストロボスコープは、特定の波長領域の光を出力する光源、を含み、前記撮像手段は、前記特定の波長領域の光のみを透過するフィルタと、前記フィルタを透過した光で形成される映像を撮影する撮像素子と、を含む。
【0047】
この構成によれば、検出を行う反射体以外の移動光源および点滅光源(蛍光灯など)に含まれない波長領域の光をストロボスコープの光源とし、撮像手段がこの波長領域の光にのみ応答するようにすることで、これらのノイズ光源を除去することが可能となる。
【0048】
本考案の第2の形態によると、自動演奏システムは、請求項1記載の自動演奏装置と、自動演奏の状態を表す画像、及び、前記反射体の操作ガイドを表す画像、のいずれか又は双方を表示するテレビジョンモニタと、を備え、前記自動演奏の状態及び前記操作ガイドは、それぞれ、オブジェクトの形態の変化及び移動を用いて表示され、前記テレビジョンモニタは、前記自動演奏装置と別個に設けられる。
【0049】
【考案の実施の形態】
以下、本考案の実施の形態について、図面を参照しながら説明する。
【0050】
(実施の形態1)
図1は、本考案の実施の形態1における自動演奏システムの全体構成を示す図である。図1に示すように、この自動演奏システムは、自動演奏装置本体1、2つの反射体3、及び、テレビジョンモニタ90、を含む。ここで、自動演奏装置本体1及び反射体3は、自動演奏装置を構成する。なお、図1では、反射体3に、複数の帯状の装飾シートが取り付けられている状態を示している。従って、図1では、反射体3の外観は、示されていない。反射体3については、後で詳述する。ここで、2つの反射体3を区別して表現する必要があるときは、第1の反射体3及び第2の反射体3、と表記する。
【0051】
自動演奏装置本体1のハウジング19の表面には、決定キー5、キャンセルキー7、方向キー9、電源スイッチ11、及び、リセットボタン14、が設けられる。さらに、ハウジング19には、撮像ユニット13が組み込まれる。撮像ユニット13は、4つの赤外発光ダイオード15及び赤外フィルタ17を含む。赤外発光ダイオード15の発光部は、赤外フィルタ17から露出している。
【0052】
自動演奏装置本体1には、ACアダプタ92により、直流電源電圧が与えられる。ただし、ACアダプタ92に代えて、電池(図示せず)により、直流電源電圧を与えることもできる。
【0053】
テレビジョンモニタ90には、その前面にスクリーン91が設けられる。テレビジョンモニタ90と自動演奏装置本体1とは、AVケーブル93により接続される。
【0054】
オペレータ94が、自動演奏装置本体1の電源スイッチ11をオンにすると、スクリーン91に、曲目選択画面が表示される。そして、オペレータ94が、方向キー9又は反射体3により、曲目を選択し、決定キー5を押下すると、スクリーン91に自動演奏画面が表示され、自動演奏装置本体1による自動演奏が開始される。自動演奏を中断して、曲目選択画面に戻りたいときは、キャンセルキー7を押下する。なお、リセットボタン14は、システムのリセットを実行する。
【0055】
撮像ユニット13の赤外発光ダイオード15は、間欠的に赤外光を発光する。赤外発光ダイオード15からの赤外光は、この反射体3により反射され、赤外フィルタ17の内部に設けられた撮像素子(後述)に入力される。このようにして、反射体3が間欠的に撮影される。従って、自動演奏装置本体1は、オペレータ94により動かされた反射体3の間欠的な映像信号を取得できる。自動演奏装置本体1は、この映像信号を解析して、その解析結果を自動演奏に反映する。
【0056】
なお、図2においては、構成をの理解を容易にするため、自動演奏装置本体1の図示を大きくしている。
【0057】
図2は、図1の反射体3の拡大図である。図2に示すように、反射体3には、リング25、及び、複数の帯状の装飾シート23、が取り付けられる。このようにして、反射体3は、外観がポンポンに見えるように装飾される。
【0058】
図3は、図2の反射体3の立体図である。図4(a)は、図3の反射体3の上面図、図4(b)は、図3の反射体3の側面図、図4(c)は、図3の反射体3の下面図、である。
【0059】
図2、図3、及び、図4(a)〜図4(c)に示すように、反射体3は、帯状部材29を環状にたものを2つ交差させ、下部の交点(図4(c)参照)において、両者を縫いつけ、上部の交点(図4(a)参照)において、複数の帯状の装飾シート23の各々のほぼ中心部及びリング25とともに、留具27にて留めることにより構成される。さらに、反射体3の下半面には、反射シート31が、取り付けられる。この反射シート31により、赤外発光ダイオード15から照射された赤外光が反射される。
【0060】
ここで、リング25及び帯状部材29は、例えば、ポリウレタン製である。また、装飾シート23は、例えば、延伸ポリプロピレン製である。なお、オペレータ94は、リング25に指を挿入して、反射体3を振り動かす。
【0061】
図5は、図1の撮像ユニット13の一例を示す図解図である。なお、図5において、図1と同様の部分については、同一の参照符号を付している。図5に示すように、この撮像ユニット13は、たとえばプラスチック成型によって形成されるユニットベース35を含み、このユニットベース35内には支持筒36が取り付けられる。支持筒36の上面には内面が逆円錐形状であるラッパ状の開口41が形成され、その開口41の下方の筒状部内部には、いずれもがたとえば透明プラスチックの成型によって形成された凹レンズ39および凸レンズ37を含む光学系が設けられ、凸レンズ37の下方において、撮像素子としてのイメージセンサ43が固着される。したがって、イメージセンサ43は、開口41からレンズ39および37を通して入射する光に応じた映像を撮影することができる。
【0062】
イメージセンサ43は、低解像度のCMOSイメージセンサ(たとえば32×32画素:グレースケール)である。ただし、このイメージセンサ43は、画素数のもっと多いものでもよいし、CCD等の他の素子からなるものであってよい。
【0063】
また、ユニットベース35には、光出射方向がいずれも上方向とされた複数(実施の形態1では4つ)の赤外発光ダイオード15が取り付けられる。この赤外発光ダイオード15によって、撮像ユニット13の上方に赤外光が照射される。また、ユニットベース35の上方には、赤外フィルタ(赤外光のみを透過するフィルタ)17が上記開口41を覆うように、取り付けられる。そして、赤外発光ダイオード15は後述のように、点灯/消灯(非点灯)が連続的に繰り返されるので、ストロボスコープとして機能する。ただし、「ストロボスコープ」とは、運動体を間欠的に照らす装置の総称である。したがって、上記イメージセンサ43は、その撮影範囲内で移動する物体、実施の形態1では、反射体3(図3参照)を撮影することになる。なお、後述する図8に示すように、ストロボスコープは、主に、赤外発光ダイオード15、LED駆動回路75、及び、高速プロセッサ200、により構成される。
【0064】
ここで、撮像ユニット13は、イメージセンサ43の受光面が、水平面から所定角度(例えば、55度)だけ傾くように、ハウジング19に組み込まれる。従って、オペレータ94は、例えば、自動演奏装置本体1を床面に置いて、反射体3を振り動かす。また、凹レンズ39および凸レンズ37により、例えば、90度の広角レンズを構成する。
【0065】
図6は、図1の自動演奏装置本体1の電気的な構成を示す図である。なお、図6において、図1〜図5と同様の部分については同一の参照符号を付している。図6に示すように、自動演奏装置本体1は、イメージセンサ43、赤外発光ダイオード15、画像信号出力端子47、楽音信号出力端子49、キースイッチ群57、高速プロセッサ200、ROM(read only memory)51、及び、バス53、を含む。キースイッチ群57は、決定キー5、キャンセルキー7、及び、方向キー9、を含む。
【0066】
高速プロセッサ200には、バス53が接続される。さらに、バス53には、ROM51が接続される。従って、高速プロセッサ200は、バス53を介して、ROM51にアクセスすることができるので、ROM51に格納された制御プログラムをリードして実行でき、また、ROM51に格納された画像データ及び音楽データをリードして処理し、画像信号及び楽音信号を生成して、画像信号出力端子47及び楽音信号出力端子49に出力することができる。
【0067】
また、自動演奏装置本体1にメモリカートリッジ(図示せず)を装着するためのコネクタ(図示せず)を設けることができる。この場合は、高速プロセッサ200は、バス53を介して、そのコネクタに装着されたメモリカートリッジに内蔵されるROM55にアクセスできる。従って、高速プロセッサ200は、バス53を介して、ROM55にアクセスすることができるので、ROM55に格納された制御プログラムをリードして実行でき、また、ROM55に格納された画像データ及び音楽データをリードして処理し、画像信号及び楽音信号を生成して、画像信号出力端子47及び楽音信号出力端子49に出力することができる。
【0068】
さらに、高速プロセッサ200は、キースイッチ群57の各キー5,7,9からのオン/オフ信号を受けて、各キー5,7,9により指示された処理を実行する。
【0069】
さて、反射体3は、赤外発光ダイオード15が発光する赤外光に照射され、その赤外光を反射シート31で反射する。この反射シート31からの反射光がイメージセンサ43によって検知され、したがって、イメージセンサ43からは反射シート31の映像信号が出力される。イメージセンサ43からのこのアナログ映像信号は高速プロセッサ200に内蔵されたA/Dコンバータ(図示せず)によってデジタルデータに変換される。そして、高速プロセッサ200は、このデジタルデータを解析して、その解析結果を自動演奏に反映する。
【0070】
図7は、図6の高速プロセッサ200のブロック図である。図7に示すように、この高速プロセッサ200は、中央演算処理装置(CPU:central processing unit)201、グラフィックプロセッサ202、サウンドプロセッサ203、DMA(direct memory access)コントローラ204、第1バス調停回路205、第2バス調停回路206、内部メモリ207、A/Dコンバータ(ADC:analog to digital converter)208、入出力制御回路209、タイマ回路210、DRAM(dynamic random access memory)リフレッシュ制御回路211、外部メモリインタフェース回路212、クロックドライバ213、PLL(phase−locked loop)回路214、低電圧検出回路215、第1バス218、及び、第2バス219、を含む。
【0071】
CPU201は、メモリ(内部メモリ207、又は、ROM51,55)に格納されたプログラムに従い、各種演算やシステム全体の制御を行う。CPU201は、第1バス218及び第2バス219のバスマスタであり、それぞれのバスに接続された資源にアクセスが可能である。
【0072】
グラフィックプロセッサ202は、第1バス218及び第2バス219のバスマスタであり、内部メモリ207、又は、ROM51,55に格納されたデータを基に、画像信号を生成して、画像信号出力端子47へ出力する。グラフィックプロセッサ202は、第1バス218を通じて、CPU201により制御される。また、グラフィックプロセッサ202は、CPU201に対して、割込み要求信号220を発生する機能を有する。
【0073】
サウンドプロセッサ203は、第1バス218及び第2バス219のバスマスタであり、内部メモリ207、又は、ROM51,55に格納されたデータを基に、楽音信号を生成して、楽音信号出力端子49へ出力する。サウンドプロセッサ203は、第1バス218を通じて、CPU201により制御される。また、サウンドプロセッサ203は、CPU201に対して、割込み要求信号220を発生する機能を有する。
【0074】
DMAコントローラ204は、ROM51,55から、内部メモリ207へのデータ転送を司る。また、DMAコントローラ204は、データ転送の完了を通知するために、CPU201に対する割込み要求信号220を発生する機能を有する。DMAコントローラ204は、第1バス218及び第2バス219のバスマスタである。DMAコントローラ204は、第1バス218を通じてCPU201により制御される。
【0075】
内部メモリ207は、マスクROM、SRAM(static randomaccess memory)、及び、DRAMのうち、必要なものを備える。バッテリによるSRAMのデータ保持が必要とされる場合、バッテリ217が必要となる。DRAMが搭載される場合、定期的にリフレッシュと呼ばれる記憶内容保持のための動作が必要とされる。
【0076】
第1バス調停回路205は、第1バス218の各バスマスタからの第1バス使用要求信号を受け付け、調停を行い、各バスマスタへの第1バス使用許可信号を発行する。各バスマスタは、第1バス使用許可信号を受領することによって第1バス218に対するアクセスが許可される。ここで、第1バス使用要求信号及び第1バス使用許可信号は、図7では、第1バス調停信号222として示されている。
【0077】
第2バス調停回路206は、第2バス219の各バスマスタからの第2バス使用要求信号を受け付け、調停を行い、各バスマスタへの第2バス使用許可信号を発行する。各バスマスタは、第2バス使用許可信号を受領することによって第2バス219に対するアクセスが許可される。ここで、第2バス使用要求信号及び第2バス使用許可信号は、図7では、第2バス調停信号223として示されている。
【0078】
入出力制御回路209は、外部入出力装置や外部の半導体素子との通信等を入出力信号を介して行う。入出力信号は、第1バス218を介して、CPU201からリード/ライトされる。また、入出力制御回路209は、CPU201に対して、割込み要求信号220を発生する機能を有する。
【0079】
この入出力制御回路209へ、キースイッチ群57の各キー5,7,9からのオン/オフ信号、が入力される。また、この入出力制御回路209から、赤外発光ダイオード15を制御するLEDコントロール信号LEDC出力される。
【0080】
タイマ回路210は、設定された時間間隔に基づき、CPU201に対する割込み要求信号220を発生する機能を有する。時間間隔等の設定は、第1バス218を介してCPU201によって行われる。
【0081】
ADC208は、アナログ入力信号をデジタル信号に変換する。このデジタル信号は、第1バス218を介してCPU201によってリードされる。また、ADC208は、CPU201に対して、割込み要求信号220を発生する機能を有する。
【0082】
このADC208が、イメージセンサ43からのピクセルデータ(アナログ)を受けて、デジタルデータに変換する。
【0083】
PLL回路214は、水晶振動子216より得られる正弦波信号を逓倍した高周波クロック信号を生成する。
【0084】
クロックドライバ213は、PLL回路214より受け取った高周波クロック信号を、各ブロックへクロック信号225を供給するのに十分な信号強度へ増幅する。
【0085】
低電圧検出回路215は、電源電圧Vccを監視し、電源電圧Vccが一定電圧以下のときに、PLL回路214のリセット信号226、その他のシステム全体のリセット信号227を発行する。また、内部メモリ207がSRAMで構成されており、かつ、SRAMのバッテリ217によるデータ保持が要求される場合、電源電圧Vccが一定電圧以下のときに、バッテリバックアップ制御信号224を発行する機能を有する。
【0086】
ここで、図8〜図10を参照して、イメージセンサ43から高速プロセッサ200へピクセルデータを取り込むための構成を詳細に説明する。
【0087】
図8は、図6のイメージセンサ43から高速プロセッサ200へピクセルデータを取り込む構成及びLED駆動回路を示す回路図である。なお、図8において、図6と同様の部分については、同一の参照符号を付している。
【0088】
図9は、図6のイメージセンサ43から高速プロセッサ200へピクセルデータを取り込む際の動作を示すタイミング図である。図10は、図9の一部を拡大して示すタイミング図である。
【0089】
図8に示すように、イメージセンサ43は、ピクセルデータD(X,Y)をアナログ信号として出力するタイプのものであるため、このピクセルデータD(X,Y)は高速プロセッサ200のアナログ入力ポートに入力される。アナログ入力ポートは、この高速プロセッサ200においてADC208に接続され、したがって、高速プロセッサ200は、ADC208からデジタルデータに変換されたピクセルデータをその内部に取得する。
【0090】
上述のアナログピクセルデータD(X,Y)の中点は、イメージセンサ43の基準電圧端子Vrefに与えられる基準電圧によって決定される。そのため、イメージセンサ43に関連して例えば抵抗分圧回路からなる基準電圧発生回路59が設けられ、この回路59から基準電圧端子Vrefに常に一定の大きさの基準電圧が与えられる。
【0091】
イメージセンサ43を制御するための各デジタル信号は、高速プロセッサ200のI/Oポートに与えられ、またはそこから出力される。このI/Oポートは各々入力/出力の制御が可能なデジタルポートであり、この高速プロセッサ200で入出力制御回路209に接続されている。
【0092】
詳しく言うと、高速プロセッサ200の出力ポートからはイメージセンサ43をリセットするためのリセット信号resetが出力され、イメージセンサ43に与えられる。また、イメージセンサ43からは、ピクセルデータストローブ信号PDSおよびフレームステータスフラグ信号FSFが出力され、それらの信号が高速プロセッサ200の入力ポートに与えられる。
【0093】
ピクセルデータストローブ信号PDSは上述の各ピクセル信号D(X,Y)を読み込むための図9(b)に示すようなストローブ信号である。フレームステータスフラグ信号FSFはイメージセンサ43の状態を示すフラグ信号で、図9(a)に示すように、このイメージセンサ43の露光期間を規定する。つまり、フレームステータスフラグ信号FSFの図9(a)に示すローレベルが露光期間を示し、図9(a)に示すハイレベルが非露光期間を示す。
【0094】
また、高速プロセッサ200は、イメージセンサ43の制御レジスタ(図示せず)に設定するコマンド(またはコマンド+データ)をレジスタデータとしてI/Oポートから出力するとともに、たとえばハイレベルおよびローレベルを繰り返すレジスタ設定クロックCLKを出力し、それらをイメージセンサ43に与える。
【0095】
なお、赤外発光ダイオード15として、図8に示すように互いに並列接続された4つの赤外発光ダイオード15a,15b,15cおよび15dを用いる。この4つの赤外発光ダイオード15a〜15dは、上で説明したように、反射体3を照らすように、イメージセンサ43の視点方向と同一方向に赤外光を照射するようにかつイメージセンサ43を囲むように配置される。ただし、これら個別の赤外発光ダイオード15a〜15dは、特に区別する必要がある場合を除いて、単に赤外発光ダイオード15と呼ばれる。
【0096】
この赤外発光ダイオード15はLED駆動回路75によって、点灯されまたは消灯(非点灯)される。LED駆動回路75は、イメージセンサ43から上述のフレームステータスフラグ信号FSFを受け、このフラグ信号FSFは、抵抗69およびコンデンサ71からなる微分回路67を通してPNPトランジスタ77のベースに与えられる。このPNPトランジスタ77にはさらにプルアップ抵抗79が接続されていて、このPNPトランジスタ77のベースは、通常は、ハイレベルにプルアップされている。そして、フレームステータス信号FSFがローレベルになると、そのローレベルが微分回路67を経てベースに入力されるため、PNPトランジスタ77は、フラグ信号FSFがローレベル期間にのみオンする。
【0097】
PNPトランジスタ77のエミッタは抵抗73および65を介して接地される。そして、エミッタ抵抗73および65の接続点がNPNトランジスタ81のベースに接続される。このNPNトランジスタ81のコレクタが各赤外発光ダイオード15a〜15dのアノードに共通に接続される。NPNトランジスタ81のエミッタが別のNPNトランジスタ61のベースに直接接続される。NPNトランジスタ61のコレクタが各赤外発光ダイオード15a〜15dのカソードに共通接続され、エミッタが接地される。
【0098】
このLED駆動回路75では、高速プロセッサ200のI/Oポートから出力されるLEDコントロール信号LEDCがアクティブ(ハイレベル)でありかつイメージセンサ43からのフレームステータスフラグ信号FSFがローレベルである期間にのみ赤外発光ダイオード15が点灯される。
【0099】
図9(a)に示すようにフレームステータスフラグ信号FSFがローレベルになると、そのローレベル期間中(実際には微分回路67の時定数での遅れがあるが)、PNPトランジスタ77がオンする。したがって、図9(d)に示すLEDコントロール信号LEDCが高速プロセッサ200からハイレベルで出力されると、NPNトランジスタ81のベースがハイベルとなり、このトランジスタ81がオンとなる。トランジスタ81がオンするとトランジスタ61はオンとなる。したがって、電源(図8では小さい白丸で示す)から各赤外発光ダイオード15a〜15dおよびトランジスタ61を経て電流が流れ、応じて図9(e)に示すように各赤外発光ダイオード15a〜15dが点灯される。
【0100】
LED駆動回路75では、このように、図9(d)のLEDコントロール信号LEDCがアクティブでありかつ図9(a)のフレームステータスフラグ信号FSFがローレベルである期間にのみ赤外発光ダイオード15が点灯されるので、イメージセンサ43の露光期間(図9(f)参照)にのみ赤外発光ダイオード15が点灯されることになる。
【0101】
したがって、無駄な電力消費を抑制することができる。さらに、フレームステータスフラグ信号FSFはコンデンサ71によってカップリングされているので、万一イメージセンサ43の暴走等によりそのフラグ信号FSFがローレベルのまま停止した場合でも、一定時間後にはトランジスタ77は必ずオフされ、赤外発光ダイオード15も一定時間後には必ずオフされる。
【0102】
このように、フレームステータス信号FSFの持続期間を変更することによって、イメージセンサ43の露光時間を任意にかつ自在に設定または変更することができる。
【0103】
さらに、フレームステータス信号FSFおよびLEDコントロール信号LEDCの持続時間や周期を変更することによって、赤外発光ダイオード15すなわちストロボスコープの発光期間、非発光期間、発光/非発光周期などを任意にかつ自在に変更または設定できる。
【0104】
先に説明したように、赤外発光ダイオード15からの赤外光によって反射体3が照射されると、反射体3からの反射光によってイメージセンサ43が露光される。応じて、イメージセンサ43から上述のピクセルデータD(X,Y)が出力される。詳しく説明すると、イメージセンサ43は、上述の図9(a)のフレームステータスフラグ信号FSFがハイレベルの期間(赤外発光ダイオード15の非点灯期間)に図9(b)に示すピクセルデータストローブPDSに同期して、図9(c)に示すようにアナログのピクセルデータD(X,Y)を出力する。
【0105】
高速プロセッサ200では、そのフレームステータスフラグ信号FSFとピクセルデータストローブPDSとを監視しながら、ADC208を通じて、デジタルのピクセルデータを取得する。
【0106】
ただし、ピクセルデータは、図10(c)に示すように、第0行,第1行,…第31行と行順次に出力される。ただし、後に説明するように、各行の先頭の1ピクセルはダミーデータとなる。
【0107】
さて、次に、自動演奏装置本体1による自動演奏について、具体例を挙げながら説明する。
【0108】
図11は、図1のテレビジョンモニタ90のスクリーン91に表示される自動演奏画面の例示図である。オペレータ94が、曲目を選択して、決定キー5を押下すると、例えば、図11に示すような、自動演奏画面が、テレビジョンモニタ90のスクリーン91に表示され、オペレータ94が選択した曲目の自動演奏が開始される。
【0109】
この自動演奏画面は、ガイドマーク83及びシンバルを表したオブジェクト85(以下、「シンバル」と呼ぶ。)を含む。ガイドマーク83は、自動演奏されるメロディのリズムに合った間隔で出現する。そして、ガイドマーク83が、シンバル85の位置に到達したタイミングで、オペレータ94が、2つの反射体3を打ち合わせると、テレビジョンモニタ90のスピーカ(図示せず)から楽音(例えば、シンバルの音)が発生され、同時に、開いた状態のシンバル85が、打ち合わせられたシンバル85に変化する。
【0110】
ガイドマーク83は、メロディのリズムに合った間隔で出現するため、このように適切なタイミングで(ガイドマーク83に指示されたタイミングで)、オペレータ94が、2つの反射体3を打ち合わせることで、メロディのリズムに合ったタイミングで、楽音が発音される。また、同時に、表示されたシンバル85も変化するので、オペレータ94は、映像及び音楽の両者を楽しむことができる。
【0111】
図12は、図1のテレビジョンモニタ90のスクリーン91に表示される自動演奏画面の他の例示図である。図12に示すように、オペレータ94が、ガイドマーク83で指示された適切なタイミングで、2つの反射体3を打ち合わせることで、上記したように、図11の開いた状態のシンバル85が、打ち合わせられた状態のシンバル85に変化する。
【0112】
以上のようにして、オペレータ94が、次々に出現するガイドマーク83が指示するタイミングで、2つの反射体3を打ち合わせることで、メロディに合った楽音が発音され、全体として、より厚みのある表現豊かな音楽となる。
【0113】
さて、次に、実施の形態1における自動演奏システムによる自動演奏の詳細を説明する。
【0114】
図13は、図6のROM51に格納されたプログラム及びデータを示す概念図である。図13に示すように、ROM51には、制御プログラム102、画像データ103、及び、音楽データ105、が格納される。画像データ130は、オブジェクト画像データ107(例えば、ガイドマーク83及びシンバル85等)及び背景画像データ109が含まれる。音楽データ105には、楽譜データ111及び音源データ113が含まれる。これらのプログラム及びデータの内容は以下の説明の中で明らかになる。
【0115】
図14は、図7のCPU201の動作の説明図である。図14に示すように、CPU201は、図13の制御プログラム102を実行することで、画像表示制御手段115、振り動作検出手段117、トリガ発生手段119、ガイドマーク登録手段123、グラフィックドライバ125、及び、サウンドドライバ127、として機能する。ここで、振り動作検出手段117は、差分データ生成手段129、及び、状態情報算出手段131、を含む。
【0116】
画像表示制御手段115は、ガイドマーク83をスクリーン91に表示する際の制御を行う。具体的には、次の通りである。
【0117】
画像表示制御手段115は、新規のガイドマーク83が登録されている場合、そのガイドマークの識別データ、そのガイドマーク83の出現位置を示す座標データ、及び、そのガイドマーク83の画像データの格納位置データ、を内部メモリ207に格納する。そして、グラフィックドライバ125は、垂直ブランキング期間に、それらのデータをグラフィックプロセッサ202に与える。
【0118】
グラフィックプロセッサ202は、与えられた格納位置データに基づいて、ROM51から、ガイドマーク83の画像データを読み出して、その画像データ及び与えられた座標データを基に画像信号を生成し、画像信号出力端子47に出力する。これにより、新規のガイドマーク83がスクリーン91に出現する(図11参照)。
【0119】
また、画像表示制御手段115は、表示中のガイドマーク83については、所定の加速度(例えば、「0」でもよい。)及び所定の初速度に基づいて、座標を計算する。そして、グラフィックドライバ125は、垂直ブランキング期間に、そのガイドマーク83の識別データ、及び、画像表示制御手段115が計算した座標データを、グラフィックプロセッサ202に与える。
【0120】
グラフィックプロセッサ202は、与えられた識別データが示すガイドマーク83の画像データを、ROM51から読み出して、その画像データ及び与えられた座標データを基に画像信号を生成し、画像信号出力端子47に出力する。これにより、移動したガイドマーク83がスクリーン91に表示される(図11参照)。
【0121】
また、ガイドマーク83が、消滅位置(例えば、スクリーン91の下端)に達したときは、画像表示制御手段115の指示を受けて、グラフィックドライバ125は、グラフィックプロセッサ202に対して、垂直ブランキング期間に、そのガイドマーク83の識別データとともに、消滅指示を出す。これを受けて、グラフィックプロセッサ202は、そのガイドマーク83をスクリーン91から消滅させる。
【0122】
また、画像表示制御手段115は、ガイドマーク83がシンバル85の位置に来たときに、タイミングよくオペレータ94が2つの反射体3を打ち合わせたとき、打ち合わせたシンバル85の識別データ、打ち合わせたシンバル85の出現位置を示す座標データ、及び、打ち合わせたシンバル85の画像データの格納位置データ、を内部メモリ207に格納する。そして、グラフィックドライバ125は、垂直ブランキング期間に、それらのデータをグラフィックプロセッサ202に与える。
【0123】
グラフィックプロセッサ202は、与えられた格納位置データに基づいて、ROM51から、打ち合わせたシンバル85の画像データを読み出して、その画像データ及び与えられた座標データを基に画像信号を生成し、画像信号出力端子47に出力する。これにより、打ち合わせたシンバル85がスクリーン91に出現する(図12参照)。
【0124】
また、画像表示制御手段115は、ガイドマーク83がシンバル85の位置に来たときに、タイミングよくオペレータ94が2つの反射体3を打ち合わせたとき、グラフィックドライバ125に、該当するガイドマーク83の消滅指示を出すとともに、星マークの識別データ、星マークの出現位置を示す座標データ、及び、星マークの画像データの格納位置データ、を内部メモリ207に格納する。そして、グラフィックドライバ125は、垂直ブランキング期間に、それらのデータをグラフィックプロセッサ202に与える。
【0125】
グラフィックプロセッサ202は、与えられた格納位置データに基づいて、ROM51から、星マークの画像データを読み出して、その画像データ及び与えられた座標データを基に画像信号を生成し、画像信号出力端子47に出力する。これにより、星マークがスクリーン91に出現する(図12参照)。
【0126】
また、画像表示制御手段115は、表示中の星マークについては、所定の加速度(例えば、「0」でもよい。)及び所定の初速度に基づいて、座標を計算する。そして、グラフィックドライバ125は、垂直ブランキング期間に、その星マークの識別データ、及び、画像表示制御手段115が計算した座標データを、グラフィックプロセッサ202に与える。
【0127】
グラフィックプロセッサ202は、与えられた識別データが示す星マークの画像データを、ROM51から読み出して、その画像データ及び与えられた座標データを基に画像信号を生成し、画像信号出力端子47に出力する。これにより、移動した星マークがスクリーン91に表示される(図12参照)。
【0128】
以上により、シンバル85の打ち合わせと同時に、星マークが四方に散らばるように見える。
【0129】
さて、差分データ生成手段129は、赤外発光ダイオード15の点灯時のピクセルデータと、消灯時のピクセルデータと、の差分を算出して、差分データを得る。なお、そのピクセルデータは、イメージセンサ43が出力したアナログピクセルデータを、ADC208がデジタルデータに変換したものである。ここで、図面を用いて、差分を求める効果を説明する。
【0130】
図15(a)は、一般的なイメージセンサにより撮影された、特別な処理を施さない映像の例示図、図15(b)は、図15(a)の映像信号を或る閾値でレベル弁別したときの映像信号の例示図、図15(c)は、赤外フィルタ17を介したイメージセンサ43の点灯時の映像信号を或る閾値でレベル弁別したときの映像信号の例示図、図15(d)は、赤外フィルタ17を介したイメージセンサ43の消灯時の映像信号を或る閾値でレベル弁別したときの映像信号の例示図、図15(e)は、点灯時の映像信号と消灯時の映像信号との差分信号の例示図、である。
【0131】
上記のように、反射体3に赤外光を照射し、赤外フィルタ17を介してイメージセンサ43に入射した反射赤外光による映像を撮影している。一般的な室内環境で一般的な光源を用いて反射体3をストロボスコープ撮影した場合には、一般的なイメージセンサ(図5のイメージセンサ43に相当する。)には、図15(a)に示すように、反射体3による映像以外に、蛍光灯光源、白熱灯光源、太陽光(窓)のような光源だけでなく、室内のすべてのものの画像がすべて写り込む。したがって、この図15(a)の映像を処理して反射体3の映像のみを抽出するのは、かなり高速のコンピュータまたはプロセサが必要である。しかしながら、安価が条件の装置ではそのような高性能コンピュータを使えない。そこで種々の処理を行って負担を軽減することが考えられる。なお、図15(a)の映像は、本来ならば、白黒の階調により表される映像であるが、その図示を省略している。
【0132】
図15(b)は、図15(a)の映像信号を或る閾値でレベル弁別したときの映像信号である。このようなレベル弁別処理は専用のハードウェア回路でも、ソフトウェア的にでも、実行することができるが、いずれの方法によっても、一定以下の光量のピクセルデータをカットするレベル弁別を実行すると、反射体3や光源以外の低輝度画像を除去することができる。この図15(b)の映像では反射体3および室内の光源以外の画像の処理を省略でき、したがって、コンピュータの負担を軽減できるが、それでも、光源画像を含む高輝度画像が依然として写り込んでいるので、反射体3と他の光源を分別することは難しい。
【0133】
そこで、図5に示したように赤外フィルタ17を利用して、イメージセンサ43に赤外光による画像以外の画像が写らないようにした。それによって、図15(c)に示すように、赤外光を殆ど含まない蛍光灯光源の画像は除去できる。しかしながら、それでもなお太陽光や白熱灯が映像信号中に含まれてしまう。したがって、更なる負担軽減のために、赤外ストロボスコープの点灯時のピクセルデータと消灯時のピクセルデータとの差分を計算することとした。
【0134】
そのため、図15(c)の点灯時の映像信号のピクセルデータと、図15(d)の消灯時の映像信号のピクセルデータとの差分を計算した。すると、図15(e)に示すように、その差分だけの映像が取得できる。この差分データによる映像は、図15(a)と対比すれば明らかなように、反射体3によって得られる画像のみを含むことになる。したがって、処理の軽減を図りながらも、反射体3の状態情報を取得できる。状態情報とは、例えば、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの2以上の組み合わせ、等である。
【0135】
以上のような理由で、差分データ生成手段129は、赤外発光ダイオード15の点灯時のピクセルデータと、消灯時のピクセルデータと、の差分を算出して、差分データを得る。
【0136】
さて、状態情報算出手段131は、差分データ生成手段129が算出した差分データを基に、反射体3の注目点の座標を求める。この場合の手法について、2種類の例を挙げる。まず、第1の例を説明する。
【0137】
図16は、第1の例による、第1の反射体3の注目点(第1注目点)の座標算出の説明図である。図16に示すように、イメージセンサ43は、例えば、32ピクセル×32ピクセルからなる。状態情報算出手段131は、Y方向に32ピクセル分の差分データをスキャンし、そして、X座標をインクリメントし、Y方向に32ピクセル分の差分データをスキャンし、そして、X座標をインクリメントし、というように、X座標をインクリメントしながら、Y方向(列方向)に32ピクセル分の差分データをスキャンしていく。
【0138】
この場合、状態情報算出手段131は、Y方向にスキャンした32ピクセル分の差分データから、最大輝度値の差分データを求め、その最大輝度値と所定の閾値Thとを比較する。そして、状態情報算出手段131は、その最大輝度値が所定の閾値Thより大きい場合は、その値を配列max[n]に代入する。一方、状態情報算出手段131は、その最大輝度値が所定の閾値Th以下の場合は、所定値(例えば、「0」)を配列max[n]に代入する。
【0139】
ここで、nはX座標であり、さらに、状態情報算出手段131が、最大輝度値を有するピクセルのY座標を関連付けて格納することで、後に、最大輝度値を有するピクセルのX座標及びY座標を取得できる。
【0140】
さらに、状態情報算出手段131は、配列max[0]〜配列max[31]をスキャンして、さらにその中の最大値を求める。そして、状態情報算出手段131は、その最大値のX座標及びY座標を、第1の反射体3の注目点の座標(Xc1,Yc1)として保存する。
【0141】
次に、第1の例による、第2の反射体3の注目点(第2注目点)の座標算出について説明する。状態情報算出手段131は、配列max[0]〜max[31]のうちの最大値、つまり、第1の反射体3の注目点の座標(Xc1,Yc1)に位置するピクセルの差分データ、を中心に所定範囲をマスクする。この点を図面を用いて説明する。
【0142】
図17は、第1の例による、第2の反射体3の注目点の座標算出の説明図である。図17に示すように、状態情報算出手段131は、配列max[0]〜max[31]のうちの最大値(図17の例では、X=9、Y=9)を中心に所定範囲をマスク(太枠で囲った部分)する。
【0143】
そして、状態情報算出手段131は、このマスクした範囲を除いて、配列max[0]〜max[31]をスキャンする。つまり、この例では、状態情報算出手段131は、配列max[0]〜max[6]、及び、配列max[12]〜max[31]をスキャンする。
【0144】
そして、状態情報算出手段131は、そのスキャンした配列max[0]〜max[6]、及び、配列max[12]〜max[31]のうちから、最大値を求める。状態情報算出手段131は、求めた最大値のX座標及びY座標を、第2の反射体3の注目点の座標(Xc2,Yc2)として保存する。図17の例では、最大値は、配列max[22]であり、従って、第2の反射体3の注目点の座標は、Xc2=22、Yc2=10、である。なお、図17の例では、第1の反射体3の注目点の座標は、Xc1=9、Yc1=9、となっている。
【0145】
なお、第1注目点及び第2注目点の座標を求める際の最大値の検出は、実際は、スキャンしながら行われる。上記では、説明の便宜のため、スキャンした後に、最大値を求めるように記載している。
【0146】
さて、次に、第2の例による、第1の反射体3の注目点(第1注目点)の座標算出処理を説明する。
【0147】
図18は、第2の例による、第1の反射体3の注目点の座標算出の説明図である。なお、図18に示したイメージセンサ43は、図16の場合と同様に、32ピクセル×32ピクセルのものとする。
【0148】
図18に示すように、状態情報算出手段131は、X方向に32ピクセル分の差分データをスキャンし、そして、Y座標をインクリメントし、X方向に32ピクセル分の差分データをスキャンし、そして、Y座標をインクリメントし、というように、Y座標をインクリメントしながら、X方向(行方向)に32ピクセル分の差分データをスキャンしていく。
【0149】
この場合、状態情報算出手段131は、スキャンした32ピクセル×32ピクセル分の差分データから、最大輝度値の差分データを求め、その最大輝度値と所定の閾値Thとを比較する。そして、状態情報算出手段131は、その最大輝度値が所定の閾値Thより大きい場合は、その最大輝度値を持つピクセルの座標を基に、第1の反射体3の注目点の座標を算出する。この点を詳しく説明する。
【0150】
図19(a)は、最大輝度値を持つピクセルの座標を基に、第1の反射体3の注目点座標を算出する際のX方向スキャンの説明図、図19(b)は、最大輝度値を持つピクセルの座標を基に、第1の反射体3の注目点座標を算出する際のY方向スキャンのスタート時の説明図、図19(c)は、最大輝度値を持つピクセルの座標を基に、第1の反射体3の注目点座標を算出する際のY方向スキャンの説明図、図19(d)は、最大輝度値を持つピクセルの座標を基に、第1の反射体3の注目点座標を算出する際の結果の説明図、である。
【0151】
図19(a)に示すように、状態情報算出手段131は、最大輝度値のピクセルの座標を中心に、X方向に、差分データのスキャンを実行して、所定の閾値Thより大きい輝度値のピクセルを検出する。図19(a)の例では、X=11〜15までが、所定の閾値Thを超えたピクセルである。
【0152】
次に、図19(b)に示すように、状態情報算出手段131は、X=11〜15の中心を求める。すると、中心のX座標は、X=13である。
【0153】
次に、図19(c)に示すように、図19(b)で求めたX座標(=13)を中心に、Y方向に、差分データのスキャンを実行して、所定の閾値Thより大きい輝度値のピクセルを検出する。図19(c)の例では、Y=5〜10までが、所定の閾値Thを超えたピクセルである。
【0154】
次に、図19(d)に示すように、状態情報算出手段131は、Y=5〜10の中心を求める。すると、中心のY座標は、Y=7である。
【0155】
以上の結果、状態情報算出手段131は、第1の反射体3の注目点座標を、Xc1=13、Yc1=7、として格納する(図19(d)参照)。
【0156】
次に、第2の例による、第2の反射体3の注目点(第2注目点)の座標算出について説明する。状態情報算出手段131は、32ピクセル×32ピクセルのうち、第1の反射体3の注目点の座標に位置するピクセルを中心に所定範囲をマスクする。この点を図面を用いて説明する。
【0157】
図20は、第2の例による第2の反射体3の注目点の座標算出の説明図である。図20に示すように、32ピクセル×32ピクセルの差分データのうち、第2の反射体3の注目点座標(図20の例では、Xc1=13、Yc1=7)に位置するピクセルの差分データを中心に所定範囲133をマスクする。
【0158】
そして、状態情報算出手段131は、このマスクした範囲を除いて、32ピクセル×32ピクセルの差分データをスキャンする。
【0159】
そして、状態情報算出手段131は、そのスキャンした範囲から、最大値を求める。状態情報算出手段131は、求めた最大値のX座標及びY座標を、第2の反射体3の注目点の座標(Xc2,Yc2)として保存する。
【0160】
なお、第1注目点及び第2注目点の座標を求める際の最大値の検出は、実際は、スキャンしながら行われる。上記では、説明の便宜のため、スキャンした後に、最大値を求めるように記載している。
【0161】
さて、状態情報算出手段131は、第1の反射体3の注目点座標と第2の反射体3の注目点座標との間の距離を算出する。状態情報算出手段131は、その2点間の距離が、規定値L2より大きい場合は、入力受付開始フラグをオンにする。
【0162】
そして、状態情報算出手段131は、入力受付開始フラグがオンであり、かつ、2点間の距離が、規定値L1より小さい場合は、打合フラグをオンにする。
【0163】
つまり、第1の反射体3と第2の反射体3とが遠のいた状態となって(規定値L2より大)、再び、近づいたときに(規定値L1より小)、両者が打ち合わせたれたと判断する。
【0164】
さて、トリガ発生手段119は、打合フラグがオンであり、かつ、ガイドマーク83が所定範囲(シンバル85の中心位置近傍)に存在した場合に、発音フラグをオンにする(トリガを発生する)。つまり、オペレータ94がガイドマーク83が指示するタイミングで、2つの反射体3を打ち合わせることができた場合に、トリガ発生手段119は、発音フラグをオンにする。
【0165】
サウンドドライバ127は、発音フラグを参照して、オンであれば、所定の波形データが格納されている先頭アドレスをサウンドプロセッサ203に与える。
【0166】
サウンドプロセッサ203は、この先頭アドレスが示す位置に格納されている波形データをROM51から読み出して、その波形データに応じた楽音信号を生成して、楽音信号出力端子49に出力する。これにより、テレビジョンモニタ90のスピーカ(図示せず)から、ROM51から読み出した波形データに応じた楽音(例えば、タンバリンの音)が発音される。なお、波形データは、図13の音源データ113に含まれる。
【0167】
さて、メロディ再生の説明に入る前に、図13の楽譜データ111の詳細を説明する。この楽譜データ111は、メロディ用楽譜データ及びガイドマーク登録用楽譜データを含む。メロディ用楽譜データは、メロディ制御情報が時系列に配置されたデータである。ガイドマーク登録用楽譜データは、ガイドマーク制御情報が時系列に配置されたデータである。
【0168】
図21は、メロディ用楽譜データの一例を示す概念図である。図21に示すように、メロディ制御情報は、コマンド、ノートナンバ/待機時間情報、楽器指定情報、ベロシティ、及び、ゲートタイム、からなる。
【0169】
ノートオンは、音を出すコマンド、待機は、待機時間を設定するコマンド、である。待機時間は、次のコマンドを読み出すまでの時間(ある音符から次の音符までの時間)である。ノートナンバは、音の高さ(ピッチ)を指定する情報である。待機時間情報は、設定する待機時間を指定する情報である。楽器指定情報は、どの楽器の音色を使うかを指定する情報である。ベロシティは、音の強弱の情報、つまり、ボリューム情報(音量情報)、である。ゲートタイムは、音が発音される長さである。
【0170】
さて、メロディ再生は、割込み処理により行われる。図14のサウンドドライバ127は、メロディ再生用の楽譜データポインタをインクリメントしながら、図21のメロディ制御情報を読み出して解釈する。ここで、メロディ再生用の楽譜データポインタは、メロディ用楽譜データの読み出し位置を示すポインタである。
【0171】
そして、サウンドドライバ127は、読み出したメロディ制御情報に含まれるコマンドが、ノートオンであれば、そのメロディ制御情報に含まれるノートナンバが示す音の高さ(ピッチ)及び楽器指定情報が示す楽器(音色)に応じた波形データが格納されている先頭アドレスを、サウンドプロセッサ203に与える。さらに、サウンドドライバ127は、読み出したメロディ制御情報に含まれるコマンドが、ノートオンであれば、必要なエンベロープデータが格納されている先頭アドレスを、サウンドプロセッサ203に与える。
【0172】
さらに、サウンドドライバ127は、読み出したメロディ制御情報に含まれるコマンドが、ノートオンであれば、そのメロディ制御情報に含まれるノートナンバが示す音の高さ(ピッチ)に応じたピッチ制御情報、及び、そのメロディ制御情報に含まれるボリューム情報、をサウンドプロセッサ203に与える。
【0173】
ここで、ピッチ制御情報について説明しておく。ピッチ制御情報は、波形データを読み出す周期を変えることによって行われるピッチ変換に用いられる。つまり、サウンドプロセッサ203は、ピッチ制御情報を一定期間毎に読み出して累算する。そして、サウンドプロセッサ203は、この累算結果を加工して、波形データのアドレスポインタとする。よって、ピッチ制御情報に大きな値が設定されれば、アドレスポインタのインクリメントは早く行われ、波形データの周波数が高くなり、ピッチ制御情報に小さな値が設定されれば、アドレスポインタのインクリメントは遅く行われ、波形データの周波数が低くなる。このようにして、サウンドプロセッサ203は、波形データのピッチ変換を行う。
【0174】
さて、サウンドプロセッサ203は、与えられたピッチ制御情報に基づいて、アドレスポインタをインクリメントしながら、与えられた先頭アドレスが示す位置に格納されている波形データをROM51から読み出す。そして、サウンドプロセッサ203は、順次読み出される波形データに、エンベロープデータ及びボリューム情報を乗算して、楽音信号を生成する。このようにして、メロディ用楽譜データが指示する楽器の音色、音の高さ(ピッチ)、及び、音量、の楽音信号が生成され、楽音信号出力端子49に出力される。
【0175】
一方、サウンドドライバ127は、読み出したメロディ制御情報に含まれるゲートタイムを管理している。従って、サウンドドライバ127は、ゲートタイムが経過した時に、該当する楽音の発音を終了するように、サウンドプロセッサ203に指示を出す。これを受けて、サウンドプロセッサ203は、指示された楽音の発音を終了する。
【0176】
以上のようにして、メロディ用楽譜データに基づいてメロディが再生され、テレビジョンモニタ90のスピーカ(図示せず)から発音される。
【0177】
さて、上記のように、ガイドマーク登録用楽譜データは、ガイドマーク制御情報が、時系列に配置されたデータである。そして、ガイドマーク登録用楽譜データは、ガイドマーク83を、スクリーン91に出現させる際に使用される。つまり、メロディ用楽譜データは、音楽を奏でるための楽譜データであるが、ガイドマーク登録用楽譜データは、ガイドマーク83を音楽に合った間隔で出現させるための楽譜データである。
【0178】
図22は、ガイドマーク登録用楽譜データの一例を示す概念図である。図22に示すように、ガイドマーク制御情報は、コマンド、ノートナンバ/待機時間情報、及び、楽器指定情報、からなる。
【0179】
ガイドマーク登録用楽譜データでは、楽器指定情報は、音楽を奏でる楽器(音色)を示す番号ではなく、言わば、ガイドマーク83を出現させる楽器を示す番号である。このような楽器指定情報により、ガイドマーク登録用楽譜データが、音楽を奏でる楽譜データではなく、ガイドマーク83を出現させる楽譜データであることが示される。
【0180】
従って、ノートオンは、音を出すコマンドではなく、ガイドマーク83を出現させるコマンドである。そして、ノートナンバは、音の高さ(ピッチ)を指定する情報ではなく、ガイドマーク83の種類が複数ある場合に、どのガイドマーク83を出現させるかを示す情報である。この点を詳しく説明する。
【0181】
図23は、ガイドマーク登録用楽譜データで使用されるノートナンバと、ガイドマーク83と、の関係図である。図23に示すように、例えば、ノートナンバ「71」は、大きいガイドマーク83を出現させることを意味する。また、例えば、ノートナンバ「50」は、小さいガイドマーク83を出現させることを意味する。
【0182】
また、例えば、ノートナンバ「81」は、ガイドマーク登録用楽譜データの先頭に配置するダミーデータであり(図22参照)、どのガイドマーク83を出現させるかを示す情報ではない。こうすることで、メロディ用楽譜データとガイドマーク登録用楽譜データとの先頭を揃えている。また、例えば、ノートナンバ「79」は、音楽終了を意味するデータであり、ガイドマーク登録用楽譜データの最後尾に配置される(図22参照)。なお、ノートナンバ「79」は、どのガイドマーク83を出現させるかを示す情報ではない。
【0183】
さて、ガイドマーク登録手段123は、ガイドマーク登録用の楽譜データポインタをインクリメントしながら、図22のガイドマーク制御情報を読み出して解釈する。ここで、ガイドマーク登録用の楽譜データポインタは、ガイドマーク登録用楽譜データの読み出し位置を示すポインタである。
【0184】
そして、ガイドマーク登録手段123は、読み出したガイドマーク制御情報に含まれるコマンドが、ノートオンであれば、そのガイドマーク制御情報に含まれるノートナンバを登録する。これが、新規にガイドマーク83を登録する処理である。
【0185】
さて、次に、図1の自動演奏装置本体1の全体の処理の流れを、フローチャートを用いて説明する。
【0186】
図24は、図1の自動演奏システムの全体の処理の流れをフローチャートである。図24に示すように、ステップS1にて、CPU201は、システムの初期設定を実行する。
【0187】
ステップS2にて、CPU201は、自動演奏の状態をチェックする。
【0188】
ステップS3にて、CPU201は、自動演奏が終了したかどうかを判断する。
【0189】
自動演奏が終了していない場合は、CPU201は、ステップS4にて、画像表示処理を実行する。
【0190】
ステップS5にて、CPU201は、2つの反射体3の振り動作の検出処理を実行する。
【0191】
ステップS6にて、CPU201は、2つの反射体3の振り動作の検出結果に基づいて、発音のためのトリガ処理を実行する。
【0192】
ステップS7では、CPU201は、ビデオ同期の割込み待ちかどうかを判断する。本実施の形態では、CPU31は、テレビジョンモニタ90の表示画面を更新するため画像データを、垂直ブランキング期間の開始後にグラフィックプロセッサ202に与える。従って、表示画面を更新するための演算処理が完了したら、ビデオ同期割込みがあるまで処理を進めないようにしている。
【0193】
ステップS7で「YES」であれば、即ち、ビデオ同期の割込み待ちであれば(ビデオ同期信号による割り込みがなければ)、同じステップS7に戻る。一方、ステップS6で「NO」であれば、即ち、ビデオ同期の割込み待ちでなければ(ビデオ同期信号による割り込みがあれば)、ステップS2に進む。
【0194】
図25は、図24のステップS1の初期設定処理の流れを示すフローチャートである。図25に示すように、ステップS10にて、CPU201は、ガイドマークの登録処理用の楽譜データポインタを初期化する。
【0195】
ステップS11にて、CPU201は、ガイドマークの登録処理用の実行待機カウンタを「0」にセットする。
【0196】
ステップS12にて、CPU201は、メロディ用の楽譜データポインタを初期化する。
【0197】
ステップS13にて、CPU201は、メロディ用の実行待機カウンタを「t」にセットする。
【0198】
ステップS14にて、CPU201は、イメージセンサ43の初期設定処理を行う。
【0199】
ステップS15にて、CPU201は、各種フラグを初期化する。
【0200】
ステップS16にて、CPU201は、タイマ回路210を発音のための割込み源としてセットする。
【0201】
ここで、メロディ用の実行待機カウンタを「t」にセットし、ガイドマークの登録処理用の実行待機カウンタを「0」にセットした理由は次の通りである。
【0202】
図11に示されるように、ガイドマーク83が上端に出現してから、シンバル85の位置に到達するまで一定時間を要することから、この時間誤差を解消するために、一定時間だけ早くガイドマーク83を出現させる必要があるからである。つまり、ガイドマーク登録処理用では、メロディ用に比べて、一定時間(カウント値t)だけ早く楽譜データを読み出すようにしてある。なお、ガイドマーク83の登録処理用の実行待機カウンタ、及び、メロディ用の実行待機カウンタは、カウントダウンを行うものである。
【0203】
図26は、図25のステップS14のセンサ初期設定処理の流れを示すフローチャートである。図26に示すように、最初のステップS20では、高速プロセッサ200は、設定データとして、コマンド“CONF”を設定する。ただし、このコマンド“CONF”は、イメージセンサ43に、高速プロセッサ200からコマンドを送信する設定モードに入ることを知らせるためのコマンドである。そして、次のステップS21にて、コマンド送信処理を実行する。
【0204】
図27は、図26のステップS21のコマンド送信処理の流れを示すブロック図である。図27に示すように、最初のステップS30では、高速プロセッサ200は、設定データ(ステップS21の場合はコマンド“CONF”)をレジスタデータ(I/Oポート)に設定し、次のステップS31でレジスタ設定クロックCLK(I/Oポート)をローレベルに設定する。その後、ステップS32で規定時間待機した後、ステップS33で、レジスタ設定クロックCLKをハイレベルに設定する。そして、さらにステップS34での規定時間の待機の後、ステップS35でレジスタ設定クロックCLKを再びローレベルに設定する。
【0205】
このようにして、図28に示すように、規定時間の待機を行いながら、レジスタ設定クロックCLKをローレベル,ハイレベルそしてローレベルとすることによって、コマンド(コマンドまたはコマンド+データ)の送信処理が行われる。
【0206】
図26の説明に戻る。ステップS22では、ピクセルモードを設定するとともに、露光時間の設定を行う。この実施の形態1の場合、イメージセンサ43は先に述べたようにたとえば32×32のCMOSイメージセンサであるため、設定アドレス“0”のピクセルモードレジスタに32ピクセル×32ピクセルであることを示す“0h”を設定する。次のステップS23において、高速プロセッサ200は、レジスタ設定処理を実行する。
【0207】
図29は、図26のステップS23のレジスタ設定処理の流れを示すフローチャートである。図29に示すように、最初のステップS40では、高速プロセッサ200は、設定データとして、コマンド“MOV”+アドレスを設定し、次のステップS41で、図27で先に説明したコマンド送信処理を実行して、それを送信する。次にステップS42において、高速プロセッサ200は、設定データとして、コマンド“LD”+データを設定し、次のステップS43でコマンド送信処理を実行して、それを送信する。そして、ステップS44で、高速プロセッサ200は、設定データとして、コマンド“SET”を設定し、次のステップS45でそれを送信する。なお、コマンド“MOV”は制御レジスタのアドレスを送信することを示すコマンドで、コマンド“LD”はデータを送信することを示すコマンドで、コマンド“SET”はデータをそのアドレスに実際に設定させるためのコマンドである。なお、この処理は、設定する制御レジスタが複数ある場合には、繰り返し実行される。
【0208】
図26の説明に戻る。ステップS24では、設定アドレスを“1”(露光時間設定レジスタのローニブルのアドレスを示す)とし、最大露光時間を示す“FFh”のローニブルデータ“Fh”を設定すべきデータとして設定する。そして、ステップS25で図29のレジスタ設定処理を実行する。同様にして、ステップS26において、設定アドレスを“2”(露光時間設定レジスタのハイニブルのアドレスを示す)とし、最大露光時間を示す“FFh”のハイニブルデータ“Fh”を設定すべきデータとして設定し、ステップS27でレジスタ設定処理を実行する。
【0209】
その後、ステップS28で設定終了を示しかつイメージセンサ43にデータの出力を開始させるためのコマンド“RUN”を設定し、ステップS29で送信する。このようにして、図25に示すステップS14でのセンサ初期設定処理が実行される。ただし、図26〜図29に示す具体例は、使用されるイメージセンサ43の仕様に応じて、適宜変更され得るものである。
【0210】
図30は、図24のステップS4の画像表示処理を示すフローチャートである。図30に示すように、ステップS50にて、画像表示制御手段115は、ガイドマーク83及びタンバリン85等のオブジェクト画像データを内部メモリ207にセットする。
【0211】
ステップS51にて、画像表示制御手段115は、内部メモリ207に、背景画像データをセットする。
【0212】
図31は、図30のステップS50のオブジェクトセット処理の流れを示すフローチャートである。図31に示すように、画像表示制御手段115は、ステップS60にて、現在表示中のガイドマーク83の位置の更新処理を実行する。
【0213】
画像表示制御手段115は、スクリーン91の下端に到達したガイドマークがある場合は、ステップS62に進み、ない場合は、ステップS63に進む(ステップS61)。
【0214】
ステップS62にて、画像表示制御手段115は、下端に到達したガイドマーク83の消去処理を実行する。
【0215】
画像表示制御手段115は、打合フラグをチェックして、オンであれば、ステップS64に進み、オフであれば、ステップS66に進む(ステップS63)。
【0216】
ステップS64にて、画像表示制御手段115は、シンバル85の位置に到達したガイドマーク83の消去処理を行う。
【0217】
ステップS65にて、画像表示制御手段115は、タンバリン85の打ち合わせ処理を実行する。
【0218】
ステップS66にて、画像表示制御手段115は、新規ガイドマークの登録をチェックする。
【0219】
画像表示制御手段115は、新規のガイドマークの登録があれば、ステップS68に進み、登録がなければ、図30のステップS51に進む。
【0220】
ステップS68にて、画像表示制御手段115は、スクリーン91の上端にガイドマーク83を出現させる処理を行う。
【0221】
図32は、図24のステップS5の振り動作検出処理の流れを示すフローチャートである。図32に示すように、ステップS80にて、振り動作検出手段117は、イメージセンサ43のピクセルデータ群の取得処理を実行する。
【0222】
ステップS81にて、振り動作検出手段117は、2つの反射体3の注目点の抽出処理を実行する。
【0223】
ステップS82にて、振り動作検出手段117は、2つの反射体3の距離を規定値と比較して、大小の判定を実行する。
【0224】
図33は、図32のステップS80のピクセルデータ群取得処理の流れを示すフローチャートである。図33に示すように、最初のステップS90で、差分データ生成手段129は、ピクセルデータ配列の要素番号としてXに「−1」、Yに「0」を設定する。本実施の形態におけるピクセルデータ配列は、X=0〜31、Y=0〜31の2次元配列であるが、前述のように各行の先頭ピクセルのデータとしてダミーデータが出力されるので、Xの初期値として「−1」が設定される。続くステップS91では、ピクセルデータの取得処理を実行する。
【0225】
図34は、図33のステップS91のピクセルデータ取得処理の流れを示すフローチャートである。図34に示すように、最初のステップS100で、差分データ生成手段129は、イメージセンサ43からのフレームステータスフラグ信号FSFをチェックし、ステップS101でそのアップエッジ(ローレベルからハイレベルへの)が発生したかどうか判断する。そして、ステップS101でフラグ信号FSFのアップエッジを検出すると、次のステップS102において、差分データ生成手段129は、ADC208に入力されてきたアナログのピクセルデータのデジタルデータへの変換の開始を指示する。その後、ステップS103でイメージセンサ43からのピクセルストローブPDSをチェックし、ステップS104でそのストローブ信号PDSのローレベルからハイレベルへのアップエッジが発生したかどうか判断する。
【0226】
ステップS104で“YES”が判断されると、差分データ生成手段129は、ステップS105において、X=−1かどうか、すなわち先頭ピクセルかどうか判断する。先に述べたように、各行の先頭ピクセルはダミーピクセルとして設定されているので、このステップS105で“YES”が判断されると、次のステップS107でそのときのピクセルデータを取得しないで、要素番号Xをインクリメントする。
【0227】
ステップS105で“NO”が判断されると、行の第2番目以降のピクセルデータであるので、ステップS106およびS108において、そのときのピクセルデータを取得し、テンポラリレジスタ(図示せず)にそのピクセルデータを格納する。その後、図33のステップS92にリターンする。
【0228】
図33のステップS92では、テンポラリレジスタに格納されたピクセルデータをピクセルデータ配列P[Y][X]に代入する。
【0229】
続くステップS93でXをインクリメントする。Xが32に満たない場合、前述のS91からS93の処理を繰り返し実行する。Xが32の場合、すなわちピクセルデータの取得が行の終端に到達した場合には、続くステップS95でXに「−1」を設定し、ステップS96でYをインクリメントし、次の行の先頭からピクセルデータの取得処理を繰り返す。
【0230】
ステップS97でYが32の場合、すなわちピクセルデータの取得がピクセルデータ配列P[Y][X]の終端に到達した場合、図32のステップS81にリターンする。
【0231】
次に、上記した第1の例による反射体3の注目点の座標算出処理(注目点抽出処理)の流れを説明する。
【0232】
図35は、図32のステップS81の注目点抽出処理(第1の例)の流れを示すフローチャートである。図35に示すように、ステップS110にて、差分データ生成手段129は、イメージセンサ43からの、赤外発光ダイオード15の点灯時のピクセルデータと、赤外発光ダイオード15の消灯時のピクセルデータと、の差分を算出して、差分データを得る。
【0233】
ステップS111にて、差分データ生成手段129は、配列Dif[X][Y]に、算出した差分データを代入する。ここで、実施の形態1では、32ピクセル×32ピクセルのイメージセンサ43を用いているため、X=0〜31、Y=0〜31、である。
【0234】
ステップS112にて、状態情報算出手段131は、「n」に「0」を代入する。
【0235】
ステップS113にて、状態情報算出手段131は、配列Dif[n][0]〜Dif[n][31]の要素をスキャンする。
【0236】
ステップS114にて、状態情報算出手段131は、配列Dif[n][0]〜Dif[n][31]のうちの最大値を検出する。
【0237】
状態情報算出手段131は、その最大値が所定の閾値Thより大きい場合は、ステップS116に進み、所定の閾値Th以下の場合は、ステップS117に進む(ステップS115)。
【0238】
ステップS116にて、状態情報算出手段131は、配列max[n]
に、所定の閾値Thを超えた最大値を代入する。
【0239】
一方、ステップS117にて、状態情報算出手段131は、配列max[n]に、所定値(例えば、「0」)を代入する。
【0240】
ステップS118にて、状態情報算出手段131は、「n」を1つインクリメントする。
【0241】
状態情報算出手段131は、「n」が「32」になったときは、ステップS120に進み、そうでない場合は、ステップS113に進む(ステップS119)。このようにして、32ピクセル×32ピクセルのDif[X][Y]をスキャンして、列毎に最大値を求める。
【0242】
ステップS120にて、状態情報算出手段131は、2点抽出処理を実行する。
【0243】
図36は、図35のステップS120の注目点抽出処理の流れを示すフローチャートである。図36に示すように、ステップS130にて、状態情報算出手段131は、配列max[0]〜max[31]の要素をスキャンする。
【0244】
ステップS131にて、状態情報算出手段131は、配列max[0]〜max[31]の要素のうちの最大値を検出する。
【0245】
状態情報算出手段131は、最大値を検出した場合は、ステップS133に進み、検出できなかった場合は、図24のステップS6に進む(ステップS132)。
【0246】
ステップS133にて、状態情報算出手段131は、その最大値の座標を第1注目点(第1の反射体3の注目点)の座標(Xc1,Yc1)として保存する。
【0247】
ステップS134にて、状態情報算出手段131は、配列max[0]〜max[31]の要素のうち、その最大値を中心に所定の範囲をマスクする。
【0248】
ステップS135にて、状態情報算出手段131は、配列max[0]〜max[31]の要素のうち、マスクされた所定範囲を除いてスキャンを実行する。
【0249】
ステップS136にて、状態情報算出手段131は、スキャンした要素の中から、最大値を検出する。
【0250】
状態情報算出手段131は、最大値を検出できた場合は、ステップS138に進み、検出できなかった場合は、図24のステップS6に進む(ステップS137)。
【0251】
ステップS138にて、状態情報算出手段131は、検出した最大値の座標を第2注目点(第2の反射体3の注目点)の座標(Xc2,Yc2)として保存し、図32のステップS82に処理を進める。
【0252】
次に、上記した第2の例による反射体3の注目点の座標算出処理の流れを説明する。
【0253】
図37は、図32のステップS81の注目点抽出処理(第2の例)の流れを示すフローチャートである。図37に示すように、ステップS140及びステップS141の処理は、それぞれ、図35のステップS110及びステップS111の処理と同様であり説明を省略する。
【0254】
さて、ステップS142にて、状態情報算出手段131は、配列Dif[X][Y]の全要素をスキャンする。
【0255】
ステップS143にて、状態情報算出手段131は、配列Dif[X][Y]の全要素の最大値を検出する。
【0256】
状態情報算出手段131は、その最大値が所定の閾値Thより大きい場合は、ステップS145に進み、所定の閾値Th以下の場合は、図24のステップS6に進む(ステップS144)。
【0257】
ステップS145にて、状態情報算出手段131は、その最大値の座標を基に、第1注目点の座標(Xc1,Yc1)を算出する。
【0258】
図38は、図37のステップS145の注目点座標算出処理の流れを示すフローチャートである。図38に示すように、ステップS160にて、状態情報算出手段131は、「m」及び「n」にそれぞれ、ステップS143で求めた最大値のX座標及びY座標を代入する。
【0259】
ステップS161にて、状態情報算出手段131は、「m」を1つインクリメントする(m=m+1)。
【0260】
状態情報算出手段131は、差分データDif[m][n]が、所定の閾値Thより大きい場合は、ステップS163に進み、そうでない場合は、ステップS164に進む(ステップS162)。
【0261】
ステップS163にて、状態情報算出手段131は、「mr」にそのときの「m」を代入する。
【0262】
このように、ステップS161〜S163を繰り返しながら、最大値からX軸の正方向にスキャンを実行して、値が所定の閾値Thを超える一番端の差分データのX座標を求める。
【0263】
ステップS164にて、状態情報算出手段131は、「m」に、ステップS143で求めた最大値のX座標を代入する。
【0264】
ステップS165にて、状態情報算出手段131は、「m」を1つデクリメントする。
【0265】
状態情報算出手段131は、差分データDif[m][n]が、所定の閾値Thより大きい場合は、ステップS167に進み、そうでない場合は、ステップS168に進む(ステップS166)。
【0266】
ステップS167にて、状態情報算出手段131は、「ml」にそのときの「m」を代入する。
【0267】
このように、ステップS165〜S167を繰り返しながら、最大値からX軸の負方向にスキャンを実行して、値が所定の閾値Thを超える一番端の差分データのX座標を求める。
【0268】
ステップS168にて、状態情報算出手段131は、X座標mrとX座標mlとの中心座標を算出して、それを、注目点のX座標(Xc)とする。ここでは、ステップS145の説明をしているため、算出した注目点のX座標(Xc)は、第1注目点のX座標(Xc1)である。
【0269】
ステップS169にて、状態情報算出手段131は、「m」及び「n」にそれぞれ、ステップS168で求めた「Xc」およびステップS143で求めた最大値のY座標を代入する。
【0270】
ステップS170にて、状態情報算出手段131は、「n」を1つインクリメントする(n=n+1)。
【0271】
状態情報算出手段131は、差分データDif[m][n]が、所定の閾値Thより大きい場合は、ステップS172に進み、そうでない場合は、ステップS173に進む(ステップS171)。
【0272】
ステップS172にて、状態情報算出手段131は、「md」にそのときの「n」を代入する。
【0273】
このように、ステップS170〜S172を繰り返しながら、最大値からY軸の正方向にスキャンを実行して、値が所定の閾値Thを超える一番端の差分データのY座標を求める。
【0274】
ステップS173にて、状態情報算出手段131は、「n」に、ステップS143で求めた最大値のY座標を代入する。
【0275】
ステップS174にて、状態情報算出手段131は、「n」を1つデクリメントする。
【0276】
状態情報算出手段131は、差分データDif[m][n]が、所定の閾値Thより大きい場合は、ステップS176に進み、そうでない場合は、ステップS177に進む(ステップS175)。
【0277】
ステップS176にて、状態情報算出手段131は、「mu」にそのときの「n」を代入する。
【0278】
このように、ステップS174〜S176を繰り返しながら、最大値からY軸の負方向にスキャンを実行して、値が所定の閾値Thを超える一番端の差分データのY座標を求める。
【0279】
ステップS177にて、状態情報算出手段131は、Y座標mdとY座標muとの中心座標を算出して、それを、注目点のY座標(Yc)とする。ここでは、ステップS145の説明をしているため、算出した注目点のY座標(Yc)は、第1注目点のY座標(Yc1)である。
【0280】
以上のようにして、第1注目点の座標(Xc1,Yc1)が算出される。
【0281】
さて、図37のステップS146にて、状態情報算出手段131は、Dif[Xc1][Yc1]を中心に所定範囲をマスクする。
【0282】
ステップS147にて、状態情報算出手段131は、マスクされた所定範囲を除いて、Dif[X][Y]をスキャンする。
【0283】
ステップS148にて、状態情報算出手段131は、スキャンしたDif[X][Y]の中から最大値を求める。
【0284】
状態情報算出手段131は、その最大値が所定の閾値Thより大きい場合は、ステップS150に進み、そうでない場合は、図24のステップS6に進む(ステップS149)。
【0285】
ステップS150にて、状態情報算出手段131は、その最大値を基に第2注目点の座標(Xc2,Yc2)を算出する。ステップS150の処理は、ステップS145の処理と同様であり、説明を省略する。
【0286】
図39は、図32のステップS82の距離判定処理の流れを示すフローチャートである。図39に示すように、ステップS180にて、状態情報算出手段131は、第1の反射体3と第2の反射体3との間のX軸方向の距離(以下、この図の説明において、「2点間の距離」と呼ぶ。)を求める。
【0287】
ステップS181にて、状態情報算出手段131は、入力受付開始フラグをチェックする。
【0288】
状態情報算出手段131は、入力受付開始フラグがオンの場合は、ステップS183に進み、オフの場合は、ステップS188に進む(ステップS182)。
【0289】
入力受付開始フラグがオフの場合、ステップS188にて、状態情報算出手段131は、2点間の距離と規定値L2とを比較して、2点間の距離が大きい場合は、ステップS189に進み、そうでない場合は、図24のステップS6に進む。
【0290】
ステップS189にて、状態情報算出手段131は、入力受付開始フラグをオンにする。
【0291】
ステップS190にて、状態情報算出手段131は、「N」に「1」を代入して、図24のステップS6に進む。
【0292】
さて、入力受付開始フラグがオンの場合、ステップS183にて、状態情報算出手段131は、2点間の距離と規定値L1とを比較して、2点間の距離が小さい場合は、ステップS184に進み、そうでない場合は、ステップS191に進む。ステップS191では、状態情報算出手段131は、「N」に「1」を代入して、図24のステップS6に進む。
【0293】
一方、状態情報算出手段131は、規定値L1より2点間の距離が小さい場合は、ステップS184にて、「N」を1つインクリメントする。
【0294】
ステップS185にて、状態情報算出手段131は、「N」と規定値kとを比較して、「N」が規定値k以上の場合は、ステップS186に進む。
【0295】
ステップS186にて、状態情報算出手段131は、打合フラグをオンにする。
【0296】
ステップS187にて、状態情報算出手段131は、入力受付開始フラグをオフにして、図24のステップS6に進む。
【0297】
一方、ステップS185にて、「N」が規定値kより小さい場合は、図24のステップS6に進む。
【0298】
以上のようにして、ステップS183〜ステップS185の処理を行って、kフレームの間連続して、2点間の距離が、規定値L1より小さい場合に、2つの反射体3が打ち合わせられたと判断する。ここで、例えば、k=1とした場合は、入力受付開始フラグがオンになって、2点間の距離が、1回だけ規定値L1より小さくなった場合に、打合フラグがオンになる。また、例えば、k=2とした場合は、入力受付開始フラグがオンになって、2点間の距離が、2回続けて規定値L1より小さくなった場合に、打合フラグがオンになる。
【0299】
さて、図40は、図24のステップS6のトリガ処理の流れを示すフローチャートである。図40に示すように、トリガ発生手段119は、ステップS200で打合せフラグがオンであり、かつ、ステップS2301でガイドマーク83がシンバル85の位置に到達した、と判断した場合は、ステップS202に進む。
【0300】
ステップS202にて、トリガ発生手段119は、発音フラグをオンにする。つまり、トリガ発生手段119は、オペレータ94が、ガイドマーク83が指示するタイミングで、2つの反射体3を打ち合わせた場合に、発音フラグをオン、即ち、トリガを発生する。
【0301】
ステップS203にて、サウンドドライバ127は、所定の波形データが格納されている先頭アドレスを、内部メモリ207にセットする。
【0302】
図41は、割込み処理の流れを示すフローチャートである。図41に示すように、ステップS210にて、サウンドドライバ127は、メロディの再生処理を実行する。
【0303】
ステップS211にて、ガイドマーク登録手段123は、ガイドマーク登録処理を実行する。
【0304】
ステップS212にて、サウンドドライバ127は、2つの反射体3の打ち合わせに応じたトリガによる発音処理を実行する。
【0305】
図42は、図41のステップS210のメロディ再生処理の流れを示すフローチャートである。図42に示すように、ステップS220にて、サウンドドライバ127は、メロディ用の実行待機カウンタをチェックする。
【0306】
メロディ用の実行待機カウンタの値が「0」ならば、ステップS223へ進み、「0」でないならば、ステップS222へ進む(ステップS221)。
【0307】
ステップS222にて、サウンドドライバ127は、メロディ用の実行待機カウンタをデクリメントする。
【0308】
さて、ステップS223にて、サウンドドライバ127は、メロディ用の楽譜データポインタの指すコマンドを読み出して解釈する。
【0309】
コマンドがノートオンであれば、ステップS225に進む(ステップS224)。一方、コマンドが、ノートオンでなければ、即ち、待機であれば、ステップS240に進む。
【0310】
ステップS240にて、サウンドドライバ127は、メロディ用の実行待機カウンタに待機時間をセットする。
【0311】
さて、ステップS225にて、サウンドドライバ127は、サウンドプロセッサ203に、音符の発音を行わせる。
【0312】
ステップS226にて、サウンドドライバ127は、メロディ用の楽譜データポインタをインクリメントする。
【0313】
ステップS227にて、サウンドドライバ127は、各音符の残りの発音時間をチェックする。
【0314】
残りの発音時間が「0」であれば、ステップS239に進み、そうでなければ、図41のステップS211へ進む(ステップS228)。
【0315】
ステップS239にて、サウンドドライバ127は、サウンドプロセッサ203に対して、残りの発音時間が「0」の音符の発音終了処理を実行させる。そして、図41のステップS211に進む。
【0316】
図43は、図41のステップS211のガイドマーク登録処理の流れを示すフローチャートである。図43に示すように、ステップS240にて、ガイドマーク登録手段123は、ガイドマーク登録用の実行待機カウンタをチェックする。
【0317】
ガイドマーク登録用の実行待機カウンタの値が「0」ならば、ステップS243へ進み、「0」でないならば、ステップS242へ進む(ステップS241)。
【0318】
ステップS242にて、ガイドマーク登録手段123は、ガイドマーク登録用の実行待機カウンタをデクリメントする。
【0319】
さて、ステップS243にて、ガイドマーク登録手段123は、ガイドマーク登録用の楽譜データポインタの指すコマンドを読み出して解釈する。
【0320】
コマンドがノートオンであれば、ステップS245に進む(ステップS244)。一方、コマンドが、ノートオンでなければ、即ち、待機であれば、ステップS249に進む。
【0321】
ステップS249にて、ガイドマーク登録手段123は、ガイドマーク登録用の実行待機カウンタに待機時間をセットする。
【0322】
さて、ノートナンバが音楽終了を意味するものであれば、ステップS250に進み、そうでなければ、ステップS246に進む(ステップS245)。
【0323】
ステップS250にて、ガイドマーク登録手段123は、音楽終了フラグをオンにする。
【0324】
さて、ノートナンバが音楽開始を意味するものであれば、ステップS248に進み、そうでなければ、ステップS247に進む(ステップS246)。
【0325】
ステップS247にて、ガイドマーク登録手段123は、新規にガイドマークを登録する。
【0326】
ステップS248にて、ガイドマーク登録手段123は、ガイドマーク登録用の楽譜データポインタをインクリメントする。そして、図41のステップS212に進む。
【0327】
さて、図44は、図41のステップS212のトリガによる発音処理の流れを示すフローチャートである。図44に示すように、サウンドドライバ127は、発音フラグがオンならば(ステップS250)、サウンドプロセッサ203に対して、所定の波形データの先頭アドレスを与える。
【0328】
ステップS251にて、サウンドプロセッサ203は、与えられた先頭アドレスに格納された波形データをROM51から読み出して、その波形データに応じた楽音信号を生成して、楽音信号出力端子49へ出力する(発音)。
【0329】
ステップS252にて、サウンドドライバ127は、発音フラグをオフにする。
【0330】
さて、図45は、撮像ユニット13によるストロボスコープ撮影処理の流れを示すフローチャートである。ステップS260において、高速プロセッサ200は、ストロボスコープ撮影のために赤外発光ダイオード15を点灯する。具体的には、図9に示すLEDコントロール信号LEDCをHレベルとする。その後、ステップS261で、イメージセンサ43は、ピクセルデータを出力する。
【0331】
ステップS262において、高速プロセッサ200は、ストロボスコープ撮影のために赤外発光ダイオード15を消灯する。具体的には、図9に示すLEDコントロール信号LEDCをLレベルとする。その後、ステップS263で、イメージセンサ43は、ピクセルデータを出力する。
【0332】
以上の処理が音楽が終了するまで繰り返される(ステップS264)。
【0333】
さて、以上のように、本実施の形態によれば、ストロボスコープ(赤外発光ダイオード15及びそれを制御する高速プロセッサ200)により間欠的に赤外光が照射される2つの反射体3をイメージセンサ43により撮影して、2つの反射体3の状態情報(位置情報及び距離情報)を求めている。このため、2つの反射体3の状態情報を求めるために、2つの反射体3に電源により駆動する回路を内蔵する必要がない。
【0334】
このように、簡易な構成の操作部材である反射体3を用いて、その状態情報(位置情報及び距離情報)を求め、トリガによる楽音の発生ができるので、操作部材の操作性及び信頼性の向上を図りながらも、表現豊かな厚みのある自動演奏を実行することができる。
【0335】
また、発光時画像信号と消灯時画像信号との差分信号を生成するといった簡単な処理のみで、ノイズや外乱の影響を抑えた精度の高い検出が可能であるので、コスト、許容される消費電力等の条件により自動演奏装置のパフォーマンスが制限されるシステムの上でも容易に達成が可能である。
【0336】
また、本実施の形態によれば、2つの反射体3の相対的な位置情報に基づいて、トリガの発生が行われるので、1つの反射体によりトリガを発生させる場合と異なる操作が必要であり、オペレータ94は、1つの反射体によりトリガを発生させる場合とは異なる別の楽しみ方で、自動演奏に参加できる。
【0337】
さらに、本実施の形態では、テレビジョンモニタ90において、ガイドマーク83を移動させることで、操作ガイドを実行している。このため、オペレータ94にとって、直感的に自動演奏の操作ガイドを認識でき、自動演奏装置による自動演奏を容易に制御できる。
【0338】
さらに、本実施の形態では、テレビジョンモニタ90に表示しているタンバリン85を、トリガに応じて変化させている。このように、反射体3の操作に応じて、表示されているタンバリン85が変化するため、オペレータ94は、音楽だけでなく映像をも楽しむことができる。
【0339】
さらに、本実施の形態では、ストロボスコープは、赤外光を照射し、また、イメージセンサ43は、赤外光のみを透過する赤外フィルタ17を透過した赤外光を検知する。このように、検出を行う反射体3以外の移動光源および点滅光源(蛍光灯など)に含まれない赤外光をストロボスコープの光源とし、イメージセンサ43がこの赤外光にのみ応答するようにすることで、これらのノイズ光源を除去することが可能となる。
【0340】
さらに、本実施の形態によれば、ガイドマーク83に従った操作ができなければ、トリガが発生せず、当然トリガに基づく楽音も発生されない。つまり、ガイドマーク83がタンバリン85の位置に来たときに、2つの反射体3を打ち合わせなければ、トリガは発生しない。このため、オペレータ94は、操作ガイドに従うように努力するため、自動演奏装置は、より完成された自動演奏を行うことができる。
【0341】
(実施の形態2)
図46は、本考案の第2の実施の形態における自動演奏システムの全体構成を示す図である。なお、図46において、図1と同様の部分については、同一の参照符号を付して、説明を省略する。
【0342】
図46に示すように、この自動演奏システムは、自動演奏装置本体1、反射体150、及び、テレビジョンモニタ90、を具備する。なお、図46においては、構成をの理解を容易にするため、自動演奏装置本体1の図示を大きくしている。
【0343】
ここで、図46の自動演奏装置本体1が、図1の自動演奏装置本体1と異なる主な点は、図13のROM51に格納された制御プログラム102、画像データ103、及び、音楽データ105、の内容である。
【0344】
図47は、図46の反射体150の斜視図である。図47に示すように、反射体150は、スティック152の先端に反射ボール151を固定して構成される。この反射ボール151により、赤外発光ダイオード15からの赤外光が反射される。反射ボール151の詳細を説明する。
【0345】
図48(a)は、図47の反射ボール151の上面図、図48(b)は、図48(a)の矢印A方向からの反射ボール151の側面図、図48(c)は、図48(a)の矢印B方向からの反射ボール151の側面図、である。
【0346】
図48(a)〜図48(c)に示すように、反射ボール151は、透明色(半透明、有色透明、及び、無色透明、を含む。)の球状外殻153の内部に球状内殻154を固定してなる。球状内殻154には、反射シート155が取り付けられる。この反射シート155が、赤外発光ダイオード15からの赤外光を反射する。
【0347】
図49は、図47の反射ボール151の縦断面図である。図49に示すように、球状外殻153は、2つの半球状外殻をボス156及びビス(図示せず)により固定してなる。球状内殻154は、球状外殻153の内部に、2つの半球状内殻をボス157により固定してなる。また、反射ボール151には、スティック152が、挿入して固定される。具体的には、球状外殻153を構成する2つの半球状外殻と、球状内殻154を構成する2つの半球状内殻と、によりスティック152を挟み、2つの半球状外殻をボス156及びビスで固定するとともに、2つの半球状内殻をボス157で固定することで、スティック152を反射ボール151に取り付ける。
【0348】
図50は、図46の反射体150の操作方法の説明図である。図50に示すように、イメージセンサ43が、32ピクセル×32ピクセルであるとする。オペレータ94が、反射体150を、一定以上の速さで、Y軸の正方向に、イメージセンサ43のトリガレンジR1を横切るように振った場合、トリガA1が発生する。オペレータ94が、反射体150を、一定以上の速さで、Y軸の正方向に、イメージセンサ43のトリガレンジR2を横切るように振った場合、トリガA2が発生する。オペレータ94が、反射体150を、一定以上の速さで、Y軸の正方向に、イメージセンサ43のトリガレンジR3を横切るように振った場合、トリガA3が発生する。オペレータ94が、反射体150を、一定以上の速さで、Y軸の正方向に、イメージセンサ43のトリガレンジR4を横切るように振った場合、トリガA4が発生する。
【0349】
図51は、図46のテレビジョンモニタ90のスクリーン91に表示される自動演奏画面の例示図である。図51に示すように、スクリーン91には、4つのオブジェクト165〜168が表示される。また、スクリーン91の下端には、操作指示枠169、及び、ガイドマーク170〜173が表示される。
【0350】
ここで、ガイドマーク170は、オブジェクト165及びトリガレンジR1に対応しており、ガイドマーク171は、オブジェクト166及びトリガレンジR2に対応しており、ガイドマーク172は、オブジェクト167及びトリガレンジR3に対応しており、ガイドマーク173は、オブジェクト168及びトリガレンジR4に対応している。
【0351】
オペレータ94が、操作指示枠169に入ったガイドマーク170〜173に対応するトリガレンジR1〜R4を横切るように、反射体150を振り動かすと、発生したトリガA1〜A4に応じた楽音が発生される。
【0352】
ここで、トリガレンジR1〜R4の配置に対応して、オブジェクト165〜168が表示されているため、オペレータ94は、トリガレンジR1〜R4が、空間のどのあたりに位置するのかを把握できる。
【0353】
また、オブジェクト165に対応するトリガA1によって、例えば、タンバリンの音色の楽音を発生させることができる。オブジェクト166に対応するトリガA2によって、例えば、ピアノの音色の楽音を発生させることができる。オブジェクト167に対応するトリガA3によって、例えば、ギターの音色の楽音を発生させることができる。オブジェクト168に対応するトリガA4によって、例えば、太鼓の音色の楽音を発生させることができる。
【0354】
また、オブジェクト165に対応するトリガA1によって、例えば、タンバリンが打ち合わせられた画像を表示することもできる。オブジェクト166に対応するトリガA2によって、例えば、ピアノをひいているような画像を表示できる。オブジェクト167に対応するトリガA3によって、例えば、ギターを弾いているような画像を表示できる。オブジェクト168に対応するトリガA4によって、例えば、太鼓を叩く画像を表示できる。
【0355】
さて、ガイドマーク170〜173は、上記の各パートの楽譜に沿った間隔で、スクリーン91の右端に出現し、音楽のテンポに合った速度で、左方向へ移動していく。さらに、トリガA1〜A3とは関係なく、バックグラウンドミュージック(BGM)が自動演奏されている。
【0356】
従って、オペレータ94が、ガイドマーク170〜173の指示通りに、反射体150によりトリガA1〜A4を発生させれば、表現豊かなより厚みのある自動演奏が実行される。
【0357】
ここで、上記で挙げた例の各パート(タンバリン、ピアノ、ギター、及び、太鼓)の楽譜データ(以下、「トリガ発音用の楽譜データ」と呼ぶ。)について説明する。トリガ発音用の楽譜データは、トリガ音指示情報が時系列に配置された楽譜データである。なお、ROM51に格納される楽譜データ111には、BGM用楽譜データ(実施の形態1のメロディ用楽譜データに相当)、及びガイドマーク登録用楽譜データに加えて、トリガ発音用楽譜データが含まれる。
【0358】
図52は、トリガ発音用楽譜データの一例を示す概念図である。図52に示すように、トリガ音指示情報は、コマンド、ノートナンバ/待機時間、及び、楽器指定情報、からなる。
【0359】
トリガ発音用楽譜データでは、楽器指定情報は、音楽を奏でる楽器(音色)を示す番号ではない。楽器指定情報は、トリガ発音用楽譜データが、トリガA1〜A4により発音する音を決定する楽譜データであることを示す番号である。
【0360】
従って、ノートオンは、音を出すコマンドではなく、トリガA1〜A4が発生した際に発音する音を指示するコマンドである。そして、ノートナンバは、音の高さ(ピッチ)を指定する情報ではなく、トリガ音指示情報を表す。トリガ音指示情報について詳しく説明する。
【0361】
トリガ発音用楽譜データから読み出された最新のトリガ音指示情報(ノートナンバ)が、トリガレンジR1〜R4毎に登録される。そして、登録されたトリガ音指示情報に関連付けられた波形データ先頭アドレス、音の高さ(ピッチ)の情報、ゲートタイム、及び、ボリューム情報が、ROM51から読み出され、内部メモリ207に格納される。この場合、ROM51に格納されたトリガ音設定テーブルが参照される。
【0362】
図53は、ROM51に格納されているトリガ音設定テーブルの例示図である。図53に示すように、トリガ音設定テーブルは、トリガ音指示情報と、波形データ先頭アドレスと、音の高さ(ピッチ)情報と、ゲートタイムと、ボリューム情報と、を関連付けたテーブルである。このトリガ音設定テーブルを参照することで、登録されているトリガ音指示情報に関連付けられている波形データ先頭アドレス等を取得できる。
【0363】
トリガA2が発生した場合、トリガレンジR2(トリガA2)に対応して登録されているトリガ音指示情報に関連付けられている波形データ先頭アドレス等が、サウンドプロセッサ203に与えられる。そして、サウンドプロセッサ203は、波形データ先頭アドレスが示す位置に格納されている波形データを、ピッチ制御情報に基づくアドレスポインタをインクリメントしながら、ROM51から読み出して、その波形データ及びボリューム情報に応じた楽音信号を生成して、楽音信号出力端子49に出力する。これにより、テレビジョンモニタ90のスピーカ(図示せず)から、ROM51から読み出した波形データに応じた楽音(上記例ではピアノ)が、ボリューム情報に応じた音量で発音される。なお、トリガA1、A3、A4による発音も、トリガA2による発音と同様である。
【0364】
ここで、トリガレンジRi(i=1〜4)に対応するトリガ音指示情報が、配列TS[i]に格納される。
【0365】
さて、実施の形態2による自動演奏システムの処理の流れをフローチャートを用いて説明する。
【0366】
実施の形態2による自動演奏システムの処理の全体の流れは、図24と同様である。従って、図24を実施の形態2による自動演奏システムのフローチャートとして説明する。
【0367】
また、実施の形態2における割込み処理の流れは、図41に示した割り込み処理と同様である。従って、図41を実施の形態2による割込み処理のフローチャートとして説明する。
【0368】
また、実施の形態2におけるストロボ撮影処理の流れは、図45に示したストロボ撮影処理と同様である。従って、図45を実施の形態2によるストロボ撮影処理のフローチャートとして説明する。
【0369】
以上により、実施の形態1と異なる点を中心に説明する。
【0370】
図54は、図24のステップS5の振り動作検出処理の流れを示すフローチャートである。図54に示すように、ステップS300にて、振り動作検出手段117は、イメージセンサ43のピクセルデータ群の取得処理を実行する。この処理は、図33の処理と同様である。
【0371】
ステップS301にて、振り動作検出手段117は、反射体150の注目点の抽出処理を実行する。
【0372】
ステップS302にて、振り動作検出手段117は、ステップS301の処理結果を基に、速度ベクトル算出処理を実行する。
【0373】
図55は、図54のステップS301の注目点抽出処理の第1の例の流れを示すフローチャートである。図55に示すように、ステップS320〜ステップS329の処理は、それぞれ、図35のステップS110〜ステップS119の処理と同様であり、説明を省略する。
【0374】
また、ステップS330〜ステップS332の処理は、それぞれ、図36のステップS130〜ステップS132と同様であり、説明を省略する。
【0375】
さて、ステップS333にて、状態情報算出手段131は、回数Mの値を1つインクリメントする(M=M+1)。
【0376】
ステップS334にて、状態情報算出手段131は、M回目の注目点のX座標として、配列PX[M]にXcを代入し、M回目の注目点のY座標として、配列PY[M]にYcを代入する。
【0377】
ステップS335にて、状態情報算出手段131は、「M」と規定値Kとを比較して、「M」が規定値K以上の場合は、ステップS336に進み、「M」に「0」を」代入する。
【0378】
一方、ステップS335にて、状態情報算出手段131は、「M」が規定値Kより小さい場合は、図54のステップS302に進む。
【0379】
以上のように、配列PX[M]、PY[M]の要素数は、規定値Kとしている。
【0380】
図56は、図54のステップS301の注目点抽出処理の第2の例の流れを示すフローチャートである。図56に示すように、ステップS310〜ステップS315の処理は、それぞれ、図37のステップS140〜ステップS145の処理と同様であり、説明を省略する。
【0381】
さて、ステップS316にて、状態情報算出手段131は、回数Mの値を1つインクリメントする(M=M+1)。
【0382】
ステップS317にて、状態情報算出手段131は、M回目の注目点のX座標として、配列PX[M]にXcを代入し、M回目の注目点のY座標として、配列PY[M]にYcを代入する。
【0383】
ステップS318にて、状態情報算出手段131は、「M」と規定値Kとを比較して、「M」が規定値K以上の場合は、ステップS319に進み、「M」に「0」を」代入する。
【0384】
一方、ステップS318にて、状態情報算出手段131は、「M」が規定値Kより小さい場合は、図54のステップS302に進む。
【0385】
以上のように、配列PX[M]、PY[M]の要素数は、規定値Kとしている。
【0386】
図57は、図52のステップS302の速度ベクトル算出処理の流れを示すフローチャートである。図57に示すように、ステップS340にて、状態情報算出手段131は、M回目の注目点のX方向の速度ベクトルVX[M]とY方向の速度ベクトルVY[M]とを求める。
【0387】
ステップS341にて、状態情報算出手段131は、M回目の注目点の速さV[M]を求める。
【0388】
以上のようにして、反射体150の速さV[M]が求められる。
【0389】
図58は、図24のステップS6のトリガ処理の流れを示すブロック図である。図58に示すように、トリガ発生手段119は、M回目の注目点のY方向の速度ベクトルVY[M]の向きがが、「正」かどうかを判断し、方向が「正」ならば、ステップS352に進む。
【0390】
ステップS352にて、トリガ発生手段119は、M回目の注目点の速さV[M]が、所定の閾値ThVを超えているかどうかを判断し、超えていれば、ステップS353に進む。
【0391】
ステップS353にて、トリガ発生手段119は、「i」に「1」を代入する。
【0392】
ステップS354にて、トリガ発生手段119は、注目点の速度ベクトル(VX[M],VY[M])が、トリガレンジRiと交差しているか否かを判定する。
【0393】
ステップS355にて、交差しているならば、ステップS357に進み、発音フラグSF[i]をオンにする。
【0394】
一方、ステップS355にて、交差していないならば、ステップS356に進み、「i」を1つインクリメントする。
【0395】
ステップS359にて、「i」が規定値Iより大きいかどうかを判断し、規定値I以下の場合は、ステップS354に進み、規定値Iより大きい場合は、メインルーチンにリターンする。
【0396】
ここで、図51の例では、トリガレンジは、トリガレンジR1〜R4までの4種類であるから、I=4、である。以上のようにして、注目点の速度ベクトル(VX[M],VY[M])が、4種類のトリガレンジR1〜R4のうちのいずれかと交差していれば、対応する発音フラグSF[i]がオンにされる。
【0397】
図59は、図41のステップS212のトリガによる発音処理の流れを示すフローチャートである。図59に示すように、ステップS380にて、サウンドドライバ127は、「i」に「1」を代入する。
【0398】
ステップS381にて、サウンドドライバ127は、発音フラグSF[i]がオンの場合は、ステップS382に進む。
【0399】
ステップS382にて、サウンドドライバ127は、トリガ音指示情報TS[i]を基に、トリガ音設定テーブルを参照して、ROM51から、波形データ先頭アドレスA[i]、音の高さ(ピッチ)情報P[i]、ゲートタイムT[i]、及び、ボリューム情報V[i]、を取得する。
【0400】
そして、サウンドドライバ127は、波形データ先頭アドレスA[i]、音の高さ(ピッチ)情報P[i]に基づくピッチ制御情報、及び、ボリューム情報V[i]を、サウンドプロセッサ203に与える。
【0401】
ステップS383にて、サウンドプロセッサ203は、波形データ先頭アドレスA[i]が示す位置に格納されている波形データを、ピッチ制御情報に基づくアドレスポインタをインクリメントしながら、ROM51から読み出して、その波形データ及びボリューム情報V[i]に応じた楽音信号を生成して、楽音信号出力端子49に出力する。これにより、テレビジョンモニタ90のスピーカ(図示せず)から、ROM51から読み出した波形データに応じた楽音(上記例ではタンバリン、ピアノ、ギター、あるいは、太鼓)が、ボリューム情報V[i]に応じた音量で発音される。
【0402】
ステップS384にて、サウンドドライバ127は、発音フラグSF[i]をオフにする。
【0403】
ステップS385にて、「i」が規定値I以下の場合は、ステップS381に進む。規定値Iの意味は、図58の場合と同様である。一方、ステップS385にて、「i」が規定値Iより大きい場合は、ステップS386に進む。
【0404】
ステップS386にて、サウンドドライバ127は、「i」に「1」を代入する。
【0405】
ステップS387にて、サウンドドライバ127は、ゲートタイムT[i]が終了しているかどうかを判断して、終了していれば、ステップS388にて、発音フラグSF[i]に基づく発音の終了指示を、サウンドプロセッサ203に出す。これに基づいて、サウンドプロセッサ203は、発音フラグSF[i]に基づく発音を終了する。一方、ゲートタイムT[i]が終了していなければ、ステップS391に進む。
【0406】
ステップS391にて、「i」が1つインクリメントされる。
【0407】
ステップS389にて、サウンドドライバ127は、「i」が規定値Iより大きいかどうかを判断して、規定値I以下の場合は、ステップS387に進み、規定値Iより大きい場合は、メインルーチンにリターンする。このようにして、全てのゲートタイムT[i]をチェックする。
【0408】
さて、実施の形態2では、図41のステップS211のガイドマーク登録処理の後に、トリガ音指示情報登録処理が挿入される。
【0409】
図60は、図41のステップS211の後に挿入されるトリガ音指示情報登録処理の流れを示すフローチャートである。図60に示すように、ステップS390にて、トリガ音指示情報登録手段は、トリガ音指示情報登録用の実行待機カウンタをチェックする。
【0410】
トリガ音指示情報登録用の実行待機カウンタの値が「0」ならば、ステップS393へ進み、「0」でないならば、ステップS392へ進む(ステップS391)。
【0411】
ステップS392にて、トリガ音指示情報登録手段は、トリガ音指示情報登録用の実行待機カウンタをデクリメントする。
【0412】
さて、ステップS393にて、トリガ音指示情報登録手段は、トリガ音指示情報登録用の楽譜データポインタの指すコマンドを読み出して解釈する。
【0413】
コマンドがノートオンであれば、ステップS396に進む(ステップS394)。一方、コマンドが、ノートオンでなければ、即ち、待機であれば、ステップS395に進む。
【0414】
ステップS395にて、トリガ音指示情報登録手段は、トリガ音指示情報登録用の実行待機カウンタに待機時間をセットする。
【0415】
さて、ステップS396にて、トリガ音指示情報登録手段は、トリガ音指示情報を登録する。具体的には、トリガレンジR1に対するトリガ音指示情報は、配列TS[1]に格納し、トリガレンジR2に対するトリガ音指示情報は、配列TS[2]に格納し、トリガレンジR3に対するトリガ音指示情報は、配列TS[3]に格納し、トリガレンジR4に対するトリガ音指示情報は、配列TS[4]に格納する。
【0416】
ステップS397にて、トリガ音指示情報登録手段は、トリガ音指示情報登録用の楽譜データポインタをインクリメントする。そして、図41のステップS212に進む。
【0417】
なお、CPU201が、ROM51の制御プログラム102を実行することで、CPU201が、トリガ音指示情報登録手段として機能する。
【0418】
さて、次に、実施の形態2の変形例を説明する。この変形例の説明では、上述の実施の形態2と異なる点を中心に説明する。
【0419】
この変形例では、図50のイメージセンサ43を4分割したトリガ領域a1,a2,a3,a4を設定する。そして、このトリガ領域ai(i=1〜4)に、トリガAi(i=1〜4)を対応させる。そして、反射体150がイメージセンサ43に近づき(反射体150の注目領域の面積変化が「正」)、かつ、反射体150の注目領域の面積変化が、所定の閾値ThAより大きい場合に、注目領域が位置する領域aiに対応するトリガAiがオンになる。その後は、上記の実施の形態2と同様である。次に、実施の形態2と異なる点を中心に、フローチャートを用いて説明する。
【0420】
図61は、変形例における、図24のステップS5の振り操作検出処理の流れを示すフローチャートである。図61に示すように、ステップS400にて、振り動作検出手段117は、イメージセンサ43のピクセルデータ群の取得処理を実行する。この処理は、図33の処理と同様である。
【0421】
ステップS401にて、振り動作検出手段117は、反射体150の注目領域の抽出処理を実行する。
【0422】
図62は、図61のステップS401の注目領域抽出処理の流れを示すフローチャートである。図62に示すように、ステップS410にて、カウンタcに「0」をセットする。
【0423】
ステップS411及びステップS412の処理は、それぞれ、図35のステップS110及びステップS111の処理と同様であり、説明を省略する。
【0424】
ステップS413にて、状態情報算出手段131は、配列Dif[X][Y]の要素を所定の閾値Thと比較する。
【0425】
状態情報算出手段131は、配列Dif[X][Y]の要素が所定の閾値Thより大きい場合は、ステップS415に進み、カウンタcをインクリメントする。
【0426】
ステップS416にて、状態情報算出手段131は、配列Dif[X][Y]の全要素について、所定の閾値Thとの比較が終了するまで、ステップS413からステップS415の処理を繰り返す。このようにして、状態情報算出手段131は、32ピクセル×32ピクセルのうち、所定の閾値Thを超えるピクセルの数をカウントする。このカウント数cが、反射体150の注目領域の面積に相当する。
【0427】
ステップS417にて、状態情報算出手段131は、回数Mをインクリメントする。
【0428】
ステップS418にて、状態情報算出手段131は、配列Ar[M]に、カウント値cを代入する。
【0429】
ステップS419にて、状態情報算出手段131は、「M」と規定値Kとを比較して、「M」が規定値K以上の場合は、ステップS420に進み、「M」に「0」を」代入する。
【0430】
一方、ステップS419にて、状態情報算出手段131は、「M」が規定値Kより小さい場合は、図24のステップS6に進む。
【0431】
以上のように、配列Ar[M]の要素数は、規定値Kとしている。
【0432】
さて、図63は、図24のステップS6のトリガ処理の流れを示すフローチャートである。図63に示すように、ステップS430にて、トリガ発生手段119は、M回目の注目領域の面積Ar[M]と(M−1)回目の注目領域の面積Ar[M−1]との差を求め、配列AD[M]に格納する。
【0433】
ステップS431にて、トリガ発生手段119は、M回目の差分面積AD[M]が、「正」かどうかを判断し、「正」であれば、ステップS432に進む。
【0434】
ステップS432にて、トリガ発生手段119は、M回目の差分面積AD[M]が、所定の閾値ThAを超えているかどうかを判断し、超えていれば、ステップS433に進む。
【0435】
ステップS433にて、トリガ発生手段119は、「i」に「1」を代入する。
【0436】
ステップS434にて、トリガ発生手段119は、注目領域がどのトリガ領域aiに位置するかを判定する。
【0437】
ステップS435にて、トリガ発生手段119は、注目領域が位置するトリガ領域aiに対応する発音フラグSF[i]をオンにする。
【0438】
ここで、発音フラグSF[i]をオンにするための条件として、面積差が「正」であること及び面積差が所定の閾値ThAを超えていること、に加えて、さらに、注目領域の速さが所定値を超えていること、を条件とすることができる。
【0439】
さて、以上のように、本実施の形態(変形例含む。)によれば、ストロボスコープにより間欠的に光が照射される反射体150をイメージセンサ43により撮影して、反射体150の状態情報(位置情報、速度ベクトル情報、及び、面積情報)を求めている。このため、反射体150の状態情報を求めるために、反射体150に電源により駆動する回路を内蔵する必要がない。
【0440】
このように、簡易な構成の操作部材である反射体150を用いて、その状態情報(位置情報、速度ベクトル情報、及び、面積情報)を求め、トリガによる楽音の発生ができるので、操作部材の操作性及び信頼性の向上を図りながらも、表現豊かな厚みのある自動演奏を実行することができる。
【0441】
また、発光時画像信号と消灯時画像信号との差分信号を生成するといった簡単な処理のみで、ノイズや外乱の影響を抑えた精度の高い検出が可能であるので、コスト、許容される消費電力等の条件により自動演奏装置のパフォーマンスが制限されるシステムの上でも容易に達成が可能である。
【0442】
また、本実施の形態(変形例含む。)によれば、イメージセンサ43が生成する2次元画像に設定する所定領域(トリガレンジR1〜R4、トリガ領域a1〜a4)の位置によって、オペレータ94に、空間上のどの付近で反射体150を操作させるかを、容易に調整できる。
【0443】
さらに、本実施の形態では、注目点(反射体150)の速度ベクトルのY成分が「正」であり、かつ、その速度ベクトルの大きさが所定の閾値ThVを超えており、かつ、その速度ベクトルがトリガレンジR1〜R4のいずれかと交差しているとき、トリガを発生する。
【0444】
このように、複数の条件を満足しないとトリガが発生しないため、意図しないときにトリガが発生するという不都合を回避できる。なお、変形例でも、2つあるいは3つの条件を満足することで、トリガを発生するため、同様のことが言える。
【0445】
さらに、本実施の形態(変形例含む。)によれば、複数のトリガ条件(トリガレンジR1〜R4、トリガ領域a1〜a4)に応じて、異なる楽音が発生されるので、より表現豊かなより厚みのある自動演奏が可能になる。また、オペレータ94にとっても、複数のトリガ条件に応じて、異なる動作をしなければならないので、飽き難い自動演奏装置を提供できる。また、トリガ条件の数を調整することで、難易度の調整が可能である。
【0446】
さらに、本実施の形態(変形例含む。)によれば、イメージセンサ43が生成する2次元画像に複数の所定領域(トリガレンジR1〜R4、トリガ領域a1〜a4)を設定するだけで、オペレータ94に、空間上の様々な位置で反射体150を操作させることができる。
【0447】
さらに、本実施の形態(変形例含む。)によれば、異なるトリガ条件(トリガレンジR1〜R4、トリガ領域a1〜a4)ごとに異なるガイドマーク170〜173を用いて操作ガイドを行うため、オペレータ94は、複数のトリガ条件が設定されていても、満足させるべきトリガ条件を直感的に把握できる。
【0448】
なお、本考案は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【0449】
(1)実施の形態1において、トリガが発生した回数、即ち、オペレータ94がガイドマーク83に従った操作をした回数、を計数して、これを点数(得点)とすることができる。これにより、ゲーム性を付加できる。この場合、得点決定手段が、その処理を行う。具体的には、制御プログラム102を実行するCPU201が、得点決定手段として機能する。
【0450】
(2)実施の形態2では、反射体150の速さに応じて音量を制御することもできる。また、その変形例では、差分面積の大きさに応じて、音量を制御することもできる。これにより、反射体150の動きに応じて、音量が制御されることになるので、オペレータ94は、自動演奏装置による自動演奏をより楽しむことができる。この場合、音量制御手段が、その処理を行う。具体的には、制御プログラム102を実行するCPU201が、音量制御手段として機能する。なお、他の状態情報(移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、若しくは、位置情報、のいずれか、又は、それらの2以上の組み合わせ)に応じて、音量を制御することもできる。
【0451】
(3)実施の形態1及び実施の形態2(その変形例を含む。)では、反射体3及び反射体150を用いたが、反射体の形状等は、これに限定されるものではない。光を反射できる部材(上記では、反射シート31,155を例に挙げた。)を備えていれば、本考案で使用できる反射体として機能する。例えば、従来の先行文献1又は先行文献2のような指揮棒に反射部材を取り付けて、これを本考案の反射体として用いることができる。
【0452】
(4)実施の形態2(その変形例を含む。)では、トリガA1〜A4の発生に応じて、対応するオブジェクト165〜168が踊るようにすることもできる。これにより、オペレータ94は、音楽のみならず、映像をも楽しむことができる。また、ガイドマーク170〜173を、同一直線状に表示するのではなく、段を変えて表示することもできる。
【0453】
(5)実施の形態2(その変形例を含む。)では、トリガレンジR1〜R4及びトリガ領域a1〜a4、即ち、トリガ条件、を4つとしたが、これに限定されるものではない。トリガ条件は、1つ(イメージセンサ43による二次元画像の一部あるいは全部)でもよいし、それより大きい幾つでもよい。
【0454】
(6)実施の形態1及び実施の形態2(その変形例を含む。)において、トリガにより発生させる楽音として、楽器の音色に限らず、音声、ノイズ音、動物の鳴き声、自然界に存在する音、などの様々な音色を指定できる。
【0455】
(7)実施の形態1及び実施の形態2(その変形例を含む。)において、トリガ発生手段119は、反射体3,150の状態情報としての、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの2以上の組み合わせ、に基づいて、トリガを発生するようにすることもできる。
【0456】
これにより、オペレータ94による反射体3,150の様々な動きに応じたトリガの発生が可能となり、オペレータ94が自分自身の動きをも楽しみながらの自動演奏が可能となる。
【0457】
(8)実施の形態2(その変形例を含む。)において、トリガA1〜A4の発生に対応するガイドマーク170〜173の形態(色など)を変化させることもできる。この場合、ある1つのトリガが発生した場合、その1つのトリガに対応する1つのガイドマークの形態を変化させる。このようにすれば、オペレータ94は、直感的に自動演奏の状態を認識でき、自動演奏装置による自動演奏を容易に制御できる。
【0458】
(9)図22及び図52で使用するノートナンバは、図21で使用するノートナンバと異なるようにすることが好ましい。また、図22及び図52で使用する楽器指定情報は、図21で使用する楽器指定情報と異なるようにすることが好ましい。
【0459】
(10)図7の高速プロセッサ200として、任意の種類のプロセッサを使用できるが、本件出願人が既に特許出願している高速プロセッサ(商品名:XaviX)を用いることが好ましい。この高速プロセッサは、例えば、特開平10−307790号公報およびこれに対応するアメリカ特許第6,070,205号に詳細に開示されている。
【図面の簡単な説明】
【図1】本考案の実施の形態1における自動演奏システムの全体構成を示す図。
【図2】図1の反射体の拡大図。
【図3】図1の反射体の斜視図。
【図4】(a)図3の反射体の上面図。
(b)図3の反射体の側面図。
(c)図3の反射体の下面図。
【図5】図1の撮像ユニットの図解図。
【図6】図1の自動演奏装置本体の電気的構成を示す図。
【図7】図6の高速プロセッサのブロック図。
【図8】図6のイメージセンサから高速プロセッサへピクセルデータを取り込む構成及びLED駆動回路を示す図。
【図9】(a)図8のイメージセンサが出力するフレームステータスフラグ信号FSFのタイミング図。
(b)図8のイメージセンサが出力するピクセルデータストローブ信号PDSのタイミング図。
(c)図8のイメージセンサが出力するピクセルデータD(X,Y)のタイミング図。
(d)図8の高速プロセッサが出力するLEDコントロール信号LEDCのタイミング図。
(e)図8の赤外発光ダイオードの点灯状態を示すタイミング図。
(f)図8のイメージセンサの露光期間を示すタイミング図。
【図10】(a)図9のフレームステータスフラグ信号FSFの拡大図。
(b)図9のピクセルデータストローブ信号PDSの拡大図。
(c)図9のピクセルデータD(X,Y)の拡大図。
【図11】実施の形態1における自動演奏画面の例示図。
【図12】実施の形態1における自動演奏画面の他の例示図。
【図13】図6のROMに格納されたプログラム及びデータの概念図。
【図14】図7のCPUの動作の説明図。
【図15】(a)一般的なイメージセンサにより撮影された、特別な処理を施さない映像の例示図。
(b)図15(a)の映像信号を或る閾値でレベル弁別したときの映像信号の例示図。
(c)赤外フィルタを介したイメージセンサの点灯時の映像信号を或る閾値でレベル弁別したときの映像信号の例示図。
(d)赤外フィルタを介したイメージセンサの消灯時の映像信号を或る閾値でレベル弁別したときの映像信号の例示図。
(e)点灯時の映像信号と消灯時の映像信号との差分信号の例示図。
【図16】実施の形態1の第1の例による第1の反射体の注目点座標算出の説明図。
【図17】実施の形態1の第1の例による第2の反射体の注目点座標算出の説明図。
【図18】実施の形態1の第2の例による第1の反射体の注目点座標算出の説明図。
【図19】(a)実施の形態1において、最大輝度値を持つピクセルの座標を基に、第1の反射体の注目点座標を算出する際のX方向スキャンの説明図。
(b)実施の形態1において、最大輝度値を持つピクセルの座標を基に、第1の反射体の注目点座標を算出する際のY方向スキャンのスタート時の説明図。
(c)実施の形態1において、最大輝度値を持つピクセルの座標を基に、第1の反射体の注目点座標を算出する際のY方向スキャンの説明図。
(d)最大輝度値を持つピクセルの座標を基に、第1の反射体の注目点座標を算出する際の結果の説明図。
【図20】実施の形態1の第2の例による第2の反射体の注目点座標算出の説明図。
【図21】実施の形態1におけるメロディ用楽譜データの一例を示す概念図。
【図22】実施の形態1におけるガイドマーク登録用楽譜データの一例を示す概念図。
【図23】図22の音符マーク登録用楽譜データで使用されるノートナンバとガイドマークとの関係図。
【図24】図1の自動演奏装置本体の処理の流れを示すフローチャート。
【図25】図24のステップS1の初期設定処理のフローチャート。
【図26】図25のステップS14のセンサ初期設定処理のフローチャート。
【図27】図26のステップS21のコマンド送信処理のフローチャート。
【図28】(a)図8のレジスタ設定クロックCLKのタイミング図。
(a)図8のレジスタデータのタイミング図。
【図29】図26のステップS23のレジスタ設定処理のフローチャート。
【図30】図24のステップS4の画像表示処理のフローチャート。
【図31】図30のステップS50のオブジェクトセット処理のフローチャート。
【図32】図24のステップS5の振り動作検出処理のフローチャート。
【図33】図32のステップS80のピクセルデータ群取得処理のフローチャート。
【図34】図33のステップS91のピクセルデータ取得処理のフローチャート。
【図35】図32のステップS81の第1の例による注目点抽出処理のフローチャート。
【図36】図35のステップS120の2点抽出処理のフローチャート。
【図37】図32のステップS81の第2の例による注目点抽出処理のフローチャート。
【図38】図37のステップS145の注目点座標算出処理のフローチャート。
【図39】図32のステップS82の距離判定処理のフローチャート。
【図40】図24のステップS6のトリガ処理のフローチャート。
【図41】実施の形態1における割込み処理のフローチャート。
【図42】図41のステップS210のメロディ再生処理のフローチャート。
【図43】図41のステップS211のガイドマーク登録処理のフローチャート。
【図44】図41のステップS212のトリガによる発音処理のフローチャート。
【図45】図1の撮像ユニットによるストロボスコープ撮影処理のフローチャート。
【図46】本考案の実施の形態2における自動演奏システムの全体構成を示す図。
【図47】図46の反射体の斜視図。
【図48】(a)図47の反射ボールの上面図。
(b)図48(a)の矢印A方向からの反射ボールの側面図。
(c)図48(a)の矢印B方向からの反射ボールの側面図。
【図49】図47の反射ボールの縦断面図。
【図50】図46の反射体の操作方法の説明図。
【図51】実施の形態2における自動演奏画面の例示図。
【図52】実施の形態2におけるトリガ発音用楽譜データの一例を示す概念図。
【図53】図6のROMに格納されているトリガ音設定テーブルの例示図。
【図54】実施の形態2における図24のステップS5の振り動作検出処理のフローチャート。
【図55】図54のステップS301の第1の例による注目点抽出処理のフローチャート。
【図56】図54のステップS301の第2の例による注目点抽出処理のフローチャート。
【図57】図54のステップS302の速度ベクトル算出処理のフローチャート。
【図58】実施の形態2における図24のステップS6のトリガ処理のフローチャート。
【図59】実施の形態2における図41のステップS212のトリガによる発音処理のフローチャート。
【図60】実施の形態2における図41のステップS211の後に挿入されるトリガ音指示情報登録処理のフローチャート。
【図61】実施の形態2の変形例における図24のステップS5における振り動作検出処理のフローチャート。
【図62】図61のステップS401における注目領域抽出処理のフローチャート。
【図63】実施の形態2の変形例における図24のステップS6におけるトリガ処理のフローチャート。
【符号の説明】
1…自動演奏装置本体、3,150…反射体、5…決定ボタン、7…キャンセルボタン、9…方向キー、11…電源スイッチ、13…撮像ユニット、14…リセットボタン、15…赤外発光ダイオード、17…赤外フィルタ、23…装飾シート、25…リング、27…留具、29…帯状部材、31,155…反射シート、35…ユニットベース、36…支持筒、37…凸レンズ、39…凹レンズ、41…開口、43…イメージセンサ、47…画像信号出力端子、49…楽音信号出力端子、51,55…ROM、53…バス、57…キースイッチ群、59…基準電圧発生回路、61,81…NPNトランジスタ、67…微分回路、71…コンデンサ、75…LED駆動回路、77…PNPトランジスタ、65,69,73,79…抵抗素子、83,170〜173…ガイドマーク、90…テレビジョンモニタ、91…スクリーン、92…ACアダプタ、93…AVケーブル、94…オペレータ、102…制御プログラム、103…画像データ、105…音楽データ、107…オブジェクト画像データ、109…背景画像データ、111…楽譜データ、113…音源データ、115…画像表示制御手段、117…振り動作検出手段、119…トリガ発生手段、123…ガイドマーク登録手段、125…グラフィックドライバ、127…サウンドドライバ、129…差分データ生成手段、131…状態情報算出手段、151…反射ボール、152…スティック、153…球状外殻、154…球状内殻、156,157…ボス、200…高速プロセッサ、201…CPU、202…グラフィックプロセッサ、203…サウンドプロセッサ、204…DMAコントローラ、205…第1バス調停回路、206…第2バス調停回路、207…内部メモリ、208…ADC(A/Dコンバータ)、209…入出力制御回路、210…タイマ回路、211…DRAMリフレッシュ制御回路、212…外部メモリインタフェース回路、213…クロックドライバ、214…PLL回路、215…低電圧検出回路、216…水晶振動子、217…バッテリ、218…第1バス、219…第2バス
Claims (19)
- 自動演奏される音楽データが格納され、反射体の状態情報に基づくトリガに応じて、少なくとも1種類以上の旋律を自動演奏する自動演奏装置であって、
前記反射体に、予め定められた周期で、光を照射するストロボスコープと、
前記ストロボスコープの発光時及び消灯時のそれぞれにおいて、前記反射体を撮影して、発光時画像信号及び消灯時画像信号を生成する撮像手段と、
前記発光時画像信号と前記消灯時画像信号との差分信号を生成する差分信号生成手段と、
前記差分信号に基づいて、前記反射体の前記状態情報を算出する状態情報算出手段と、
前記反射体の前記状態情報に基づいて、トリガを発生するトリガ発生手段と、前記トリガに応じて、前記音楽データを読み出して、楽音信号を生成する楽音信号生成手段と、を備える自動演奏装置。 - 前記トリガ発生手段は、前記反射体の前記状態情報としての、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの2以上の組み合わせ、に基づいて、前記トリガを発生する、請求項1記載の自動演奏装置。
- 前記撮像手段が生成する2次元画像において、所定領域が設定され、
前記トリガ発生手段は、前記反射体の前記状態情報と、前記所定領域と、の関係が所定条件を満足したとき、前記トリガを発生する、請求項1又は2記載の自動演奏装置。 - 前記状態情報算出手段は、前記差分信号に基づいて、前記反射体の前記状態情報としての速度ベクトル情報を算出し、
前記トリガ発生手段は、前記速度ベクトルの所定成分が所定方向を向いており、かつ、前記速度ベクトルの大きさが所定値を超えており、かつ、前記速度ベクトルが前記所定領域と交差しているとき、前記トリガを発生する、請求項3記載の自動演奏装置。 - 前記トリガを発生するためのトリガ条件が複数設定され、
前記トリガ発生手段は、前記反射体の前記状態情報が、前記複数のトリガ条件のいずれかを満足したとき、前記トリガを発生し、
前記楽音信号生成手段は、前記トリガが発生したときに、満足した前記トリガ条件ごとに異なる前記音楽データを読み出して、前記楽音信号を生成する、請求項1又は2記載の自動演奏装置。 - 前記撮像手段が生成する前記2次元画像において、複数の異なる所定領域が設定され、
前記トリガ発生手段は、前記反射体の前記状態情報と、前記複数の所定領域のいずれかと、の関係が所定条件を満足したとき、前記トリガを発生し、
前記楽音信号生成手段は、前記トリガが発生したときに、前記所定条件を満足した前記所定領域ごとに異なる音楽データを読み出して、前記楽音信号を生成する、請求項1又は2記載の自動演奏装置。 - 前記状態情報算出手段は、前記差分信号に基づいて、前記反射体の前記状態情報としての速度ベクトル情報を算出し、
前記トリガ発生手段は、前記速度ベクトルの所定成分が所定方向を向いており、かつ、前記速度ベクトルの大きさが所定値を超えており、かつ、前記速度ベクトルが前記複数の所定領域のいずれかと交差しているとき、前記トリガを発生する、請求項6記載の自動演奏装置。 - 前記撮像手段は、前記ストロボスコープの発光時及び消灯時のそれぞれにおいて、2つの反射体を撮影して、それぞれの反射体の前記発光時画像信号及び前記消灯時画像信号を生成し、
前記差分信号生成手段は、前記反射体ごとに、前記発光時画像信号と前記消灯時画像信号との前記差分信号を生成し、
前記状態情報算出手段は、前記反射体ごとの前記差分信号に基づいて、前記反射体ごとに、前記状態情報としての位置情報を算出し、その位置情報に基づいて、一方の前記反射体に対する他方の前記反射体の相対的な位置情報を算出し、
前記トリガ発生手段は、前記相対的な位置情報に基づいて、前記トリガを発生する、請求項1記載の自動演奏装置。 - 前記一方の反射体に対する前記他方の反射体の前記相対的な位置情報は、前記一方の反射体から前記他方の反射体までの距離情報である、請求項8記載の自動演奏装置。
- 自動演奏の状態を表す画像信号、及び、前記反射体の操作ガイドを表す画像信号、のいずれか又は双方を生成して、別個に設けられるテレビジョンモニタに表示する画像信号生成手段、をさらに備え、
前記自動演奏の状態及び前記操作ガイドは、それぞれ、オブジェクトの形態の変化及び移動を用いて表示される、請求項1から9記載の自動演奏装置。 - 自動演奏の状態を表す画像信号、及び、前記反射体の操作ガイドを表す画像信号、のいずれか又は双方を生成して、別個に設けられるテレビジョンモニタに表示する画像信号生成手段、をさらに備え、
前記自動演奏の状態は、オブジェクトの形態の変化を用いて表示され、
前記操作ガイドは、前記異なる音楽データに対応して、異なるオブジェクトの移動を用いて表示される、請求項5記載の自動演奏装置。 - 前記トリガ発生手段は、前記反射体の前記状態情報が所定条件を満足し、かつ、前記反射体が前記操作ガイドに従ったタイミングで操作されたとき前記トリガを発生する、請求項10又は11記載の自動演奏装置。
- 前記トリガが発生した回数に応じて、得点を決定する得点決定手段をさらに備える、請求項12記載の自動演奏装置。
- 前記反射体の前記状態情報に応じて、前記楽音信号の音量を制御する音量制御手段、をさらに備える、請求項1から13記載の自動演奏装置。
- 前記音量制御手段は、前記反射体の前記状態情報としての速さ情報に応じて、前記楽音信号の音量を制御する、請求項14記載の自動演奏装置。
- 自動演奏される音楽データ及び描画を行うための画像データを格納したメディアを装着する装着手段、をさらに備える請求項1から15記載の自動演奏装置。
- 前記画像信号生成手段は、前記テレビジョンモニタに表示しているオブジェクトの形態を、前記トリガに応じて変化させる、請求項10又は11記載の自動演奏装置。
- 前記ストロボスコープは、
特定の波長領域の光を出力する光源、を含み、
前記撮像手段は、
前記特定の波長領域の光のみを透過するフィルタと、
前記フィルタを透過した光で形成される映像を撮影する撮像素子と、を含む、請求項1〜17記載の自動演奏装置。 - 請求項1記載の自動演奏装置と、
自動演奏の状態を表す画像、及び、前記反射体の操作ガイドを表す画像、のいずれか又は双方を表示するテレビジョンモニタと、を備え、
前記自動演奏の状態及び前記操作ガイドは、それぞれ、オブジェクトの形態の変化及び移動を用いて表示され、
前記テレビジョンモニタは、前記自動演奏装置と別個に設けられる、自動演奏システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003003328U JP3098423U (ja) | 2003-06-09 | 2003-06-09 | 自動演奏装置及び自動演奏システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003003328U JP3098423U (ja) | 2003-06-09 | 2003-06-09 | 自動演奏装置及び自動演奏システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP3098423U true JP3098423U (ja) | 2004-03-04 |
Family
ID=43252182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003003328U Expired - Lifetime JP3098423U (ja) | 2003-06-09 | 2003-06-09 | 自動演奏装置及び自動演奏システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3098423U (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005122134A1 (ja) * | 2004-06-09 | 2005-12-22 | Toyota Motor Kyushu Inc. | 楽音生成装置、楽音生成方法、楽音生成プログラムおよび記憶媒体 |
-
2003
- 2003-06-09 JP JP2003003328U patent/JP3098423U/ja not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005122134A1 (ja) * | 2004-06-09 | 2005-12-22 | Toyota Motor Kyushu Inc. | 楽音生成装置、楽音生成方法、楽音生成プログラムおよび記憶媒体 |
US7655856B2 (en) | 2004-06-09 | 2010-02-02 | Toyota Motor Kyushu Inc. | Musical sounding producing apparatus, musical sound producing method, musical sound producing program, and recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4742247B2 (ja) | ゲーム装置及びゲームプログラム | |
JP2010191980A (ja) | 情報処理装置 | |
JP5966465B2 (ja) | 演奏装置、プログラム及び演奏方法 | |
US9235292B2 (en) | Interactive projector system and method | |
US6426741B1 (en) | User input for a computer | |
US20160267894A1 (en) | Computerized percussion instrument | |
US7682237B2 (en) | Music game with strike sounds changing in quality in the progress of music and entertainment music system | |
US20100309370A1 (en) | Information processing apparatus provided with input system utilizing stroboscope | |
JP6712957B2 (ja) | 遊技機 | |
JP4654390B2 (ja) | 自動演奏装置、自動演奏方法、及び、自動演奏プログラム | |
JP2013190690A (ja) | 演奏装置及びプログラム | |
JP2001269431A (ja) | 身体動作状態評価装置 | |
JP5573899B2 (ja) | 演奏装置 | |
WO2004093052A2 (en) | Virtual instrument | |
US8586852B2 (en) | Storage medium recorded with program for musical performance, apparatus, system and method | |
US20070197290A1 (en) | Music Game Device, Music Game System, Operation Object, Music Game Program, And Music Game Method | |
JP3098423U (ja) | 自動演奏装置及び自動演奏システム | |
US7554545B2 (en) | Drawing apparatus operable to display a motion path of an operation article | |
JP6714520B2 (ja) | 遊技機 | |
JP2000276138A (ja) | 楽音制御装置 | |
JP2000325664A (ja) | ダンスゲーム装置 | |
JP4701411B2 (ja) | 音楽ゲーム装置、音楽ゲームシステム、操作物、音楽ゲームプログラム、及び、音楽ゲーム方法 | |
JP4747334B2 (ja) | 描画装置、操作物、描画システム、描画プログラム、及び描画方法 | |
JPH1138967A (ja) | 電子楽器 | |
JP4735802B2 (ja) | ゲーム装置、ゲームプログラム、及び、ゲーム装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091001 Year of fee payment: 6 |