(57)【特許請求の範囲】
【請求項１】
発生時刻を含む演奏情報を発生する発生手段と、
サーバと演奏情報を含む各種情報の送受信を行う通信手段と、
時間を計時するタイマと、
時刻を計時する内部時計と、
前記通信手段が前記サーバから演奏情報を受信したときに、該受信した演奏情報に含まれる発生時刻と、前記内部時計によって計時された時刻に基づいて、当該演奏情報を再生する再生手段と、
前記発生手段が演奏情報を発生したとき、または、前記通信手段が前記サーバから演奏情報を受信したときに、前記タイマをリセットするリセット手段と、
前記発生または受信した演奏情報に基づいた演奏の所定時間以上の途切れを検出するために、前記タイマが当該所定時間を計時したか否かを判別する判別手段と、
該判別手段が、前記タイマが前記所定時間を計時したと判別したときに、前記サーバに時刻情報を要求する情報を発生し、該発生した要求情報を、前記通信手段を介して前記サーバに送信する要求情報発生手段と、
該要求情報発生手段によって発生された要求情報に応じて前記サーバが発生した時刻情報を、前記通信手段を介して受信したときに、該受信した時刻情報に基づいて、前記内部時計を修正する修正手段と
を有することを特徴とする演奏情報発生装置。
【請求項２】
前記要求情報発生手段は、要求情報を前記サーバに送信するときに、前記内部時計によって計時された現在時刻Ｔａを示す時刻情報を前記要求情報に付随させて送信し、
前記サーバが発生した時刻情報には、該サーバの内部時計によって計時された現在時刻Ｔｂに加えて、前記要求情報に付随された時刻Ｔａが含まれ、
前記修正手段は、前記サーバから前記時刻情報を受信したときに、前記内部時計によって現在時刻Ｔｃを計時し、この現在時刻Ｔｃと前記受信した時刻情報に含まれる時刻Ｔａのちょうど真ん中の時刻（Ｔａ＋Ｔｃ）／２が前記受信した要求情報に含まれる時刻Ｔｂになるように、前記内部時計を修正する
ことを特徴とする請求項１に記載の演奏情報発生装置。
【請求項３】
発生時刻を含む演奏情報を発生する発生手順と、
通信手段を介してサーバと演奏情報を含む各種情報の送受信を行う通信手順と、
前記通信手段が前記サーバから演奏情報を受信したときに、該受信した演奏情報に含まれる発生時刻と、内部時計によって計時された時刻に基づいて、当該演奏情報を再生する再生手順と、
前記発生手順が演奏情報を発生したとき、または、前記通信手段が前記サーバから演奏情報を受信したときに、タイマをリセットするリセット手順と、
前記発生または受信した演奏情報に基づいた演奏の所定時間以上の途切れを検出するために、前記タイマが当該所定時間を計時したか否かを判別する判別手順と、
該判別手順が、前記タイマが前記所定時間を計時したと判別したときに、前記サーバに時刻情報を要求する情報を発生し、該発生した要求情報を、前記通信手段を介して前記サーバに送信する要求情報発生手順と、
該要求情報発生手順によって発生された要求情報に応じて前記サーバが発生した時刻情報を、前記通信手段を介して受信したときに、該受信した時刻情報に基づいて、前記内部時計を修正する修正手順と
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏情報を発生し、発生した演奏情報を他の装置に送信するとともに、他の装置が発生した演奏情報を受信して再生する演奏情報発生装置およびプログラムに関する。
【背景技術】
【０００２】
演奏情報を発生し、発生した演奏情報を他の装置に送信するようにした演奏情報発生装置は、従来から知られている。
【０００３】
このような演奏情報発生装置として、教師端末、生徒端末およびサーバをネットワークを介して接続したネットワーク音楽教習システムがある（たとえば、特許文献１参照）。このシステムでは、生徒端末を用いて生徒が演奏した内容、つまり生徒端末が発生した演奏情報は、サーバを介して教師端末に送られ、教師による評価を受ける。
【特許文献１】特開２００５−２６６３３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上記従来のシステムにおいて、生徒端末が発生した演奏情報を、教師端末側でそのまま再生したり、その逆に、教師端末が発生した演奏情報を、生徒端末側でそのまま再生したりして、遠隔レッスンを行うことが考えられる。一方の端末が発生した演奏情報を、他方の端末側で再生する方法には、様々な方法があるが、たとえば、生徒が生徒端末を用いて演奏を行うと、生徒端末は、この演奏に応じた演奏情報に、生徒端末に内蔵された時計（以下、「内部時計」という）によって計時された現在時刻を示す時刻情報を付加して生成したパケットデータを発生させ、このパケットデータを、サーバを介して教師端末側に送信する。教師端末は、このパケットデータを受け取ると、パケットデータ内の時刻情報が示す時刻と、教師端末側の内部時計によって計時される現在時刻とを比較し、所定の遅延時間だけ経過した後、このパケットデータに含まれる演奏情報を再生する。
【０００５】
このように、一方の端末が発生した演奏情報を他方の端末で再生する場合、各端末の内部時計によってそれぞれ計時される時刻を用いるため、各端末の内部時計を合わせておく必要がある。各端末の内部時計を合わせる方法としては、たとえば、（１）演奏を開始する前に１回だけ時刻合わせを行う方法、（２）演奏中も含め、定期的に時刻合わせを行う方法を考えることができる。
【０００６】
しかし、上記（１）の方法では、時刻合わせをした後、時間が経過するに従って、各端末の内部時計の計時時刻はずれて行ってしまい、また、上記（２）の方法では、演奏の途中で時刻合わせがなされると、時刻合わせの前後で演奏が崩れてしまうことがあった。
【０００７】
本発明は、この点に着目してなされたものであり、演奏に支障なく、かつ定期的に時刻合わせを行うことが可能となる演奏情報発生装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、請求項１に記載の演奏情報発生装置は、発生時刻を含む演奏情報を発生する発生手段と、サーバと演奏情報を含む各種情報の送受信を行う通信手段と、時間を計時するタイマと、時刻を計時する内部時計と、前記通信手段が前記サーバから演奏情報を受信したときに、該受信した演奏情報に含まれる発生時刻と、前記内部時計によって計時された時刻に基づいて、当該演奏情報を再生する再生手段と、前記発生手段が演奏情報を発生したとき、または、前記通信手段が前記サーバから演奏情報を受信したときに、前記タイマをリセットするリセット手段と、前記発生または受信した演奏情報に基づいた演奏の所定時間以上の途切れを検出するために、前記タイマが当該所定時間を計時したか否かを判別する判別手段と、該判別手段が、前記タイマが前記所定時間を計時したと判別したときに、前記サーバに時刻情報を要求する情報を発生し、該発生した要求情報を、前記通信手段を介して前記サーバに送信する要求情報発生手段と、該要求情報発生手段によって発生された要求情報に応じて前記サーバが発生した時刻情報を、前記通信手段を介して受信したときに、該受信した時刻情報に基づいて、前記内部時計を修正する修正手段とを有することを特徴とする。
【０００９】
好ましくは、前記要求情報発生手段は、要求情報を前記サーバに送信するときに、前記内部時計によって計時された現在時刻Ｔａを示す時刻情報を前記要求情報に付随させて送信し、前記サーバが発生した時刻情報には、該サーバの内部時計によって計時された現在時刻Ｔｂに加えて、前記要求情報に付随された時刻Ｔａが含まれ、前記修正手段は、前記サーバから前記時刻情報を受信したときに、前記内部時計によって現在時刻Ｔｃを計時し、この現在時刻Ｔｃと前記受信した時刻情報に含まれる時刻Ｔａのちょうど真ん中の時刻（Ｔａ＋Ｔｃ）／２が前記受信した要求情報に含まれる時刻Ｔｂになるように、前記内部時計を修正することを特徴とする。
【００１０】
上記目的を達成するため、請求項３に記載のプログラムは、請求項１と同様の技術的思想によって実現できる。
【発明の効果】
【００１１】
請求項１または３に記載の発明によれば、演奏情報が発生したとき、または、通信手段を介してサーバから演奏情報を受信したときに、タイマはリセットされ、前記発生または受信した演奏情報に基づいた演奏の所定時間以上の途切れを検出するために、前記タイマが当該所定時間を計時したか否かが判別され、その結果、前記タイマが所定時間を計時したときに、サーバに時刻情報を要求する情報が発生され、該発生された要求情報は、前記通信手段を介して前記サーバに送信され、該要求情報に応じて前記サーバが発生した時刻情報を、前記通信手段を介して受信したときに、該受信した時刻情報に基づいて内部時計が修正されるので、演奏に支障なく、かつ定期的に時刻合わせを行うことが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１３】
図１は、本発明の一実施の形態に係る演奏情報発生装置１００の概略構成を示すブロック図である。
【００１４】
同図に示すように、演奏情報発生装置１００は、音高情報を入力するための鍵盤を含む演奏操作子１と、各種情報を入力するための複数のスイッチを含む設定操作子２と、演奏操作子１の操作状態を検出する検出回路３と、設定操作子２の操作状態を検出する検出回路４と、装置全体の制御を司るＣＰＵ５と、該ＣＰＵ５が実行する制御プログラムや、各種テーブルデータ等を記憶するＲＯＭ６と、演奏情報、各種入力情報および演算結果等を一時的に記憶するＲＡＭ７と、タイマ割込み処理における割込み時間や各種時間を計時するタイマ８と、各種情報等を表示する、たとえば小型の液晶ディスプレイ（ＬＣＤ）および発光ダイオード（ＬＥＤ）等を備えた表示装置９と、前記制御プログラムを含む各種アプリケーションプログラムや各種楽曲データ、各種データ等を記憶する外部記憶装置１０と、通信ネットワーク４００を介して、たとえば他の演奏情報発生装置２００やサーバコンピュータ（以下、「サーバ」と略して言う）３００と各種情報の送受信を行う通信インターフェース（Ｉ／Ｆ）１１と、演奏操作子１から入力された演奏情報や予め設定された演奏情報等を楽音信号に変換する音源回路１２と、該音源回路１２からの楽音信号に各種効果を付与するための効果回路１３と、該効果回路１３からの楽音信号を音響に変換する、たとえば、ＤＡＣ（Digital-to-Analog Converter）やアンプ、スピーカ等のサウンドシステム１４とにより構成されている。
【００１５】
上記構成要素３〜１３は、バス１５を介して相互に接続され、ＣＰＵ５にはタイマ８が接続され、通信Ｉ／Ｆ１１には通信ネットワーク４００が接続され、音源回路１２には効果回路１３が接続され、効果回路１３にはサウンドシステム１４が接続されている。ここで、通信Ｉ／Ｆ１１および通信ネットワーク４００は、有線方式のものに限らず、無線方式のものであってもよい。また、両方式のものを備えていてもよい。
【００１６】
外部記憶装置１０としては、たとえば、フレキシブルディスクドライブ（ＦＤＤ）、ハードディスクドライブ（ＨＤＤ）、ＣＤ−ＲＯＭドライブおよび光磁気ディスク（ＭＯ）ドライブ等を挙げることができる。そして、外部記憶装置１０には、前述のように、ＣＰＵ５が実行する制御プログラムも記憶でき、ＲＯＭ６に制御プログラムが記憶されていない場合には、この外部記憶装置１０に制御プログラムを記憶させておき、それをＲＡＭ７に読み込むことにより、ＲＯＭ６に制御プログラムを記憶している場合と同様の動作をＣＰＵ５にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【００１７】
通信Ｉ／Ｆ１１は、上述のように、たとえばＬＡＮ（Local Area Network）やインターネット、電話回線等の通信ネットワーク４００に接続されており、該通信ネットワーク４００を介して、サーバ３００に接続される。外部記憶装置１０に上記各プログラムや各種パラメータが記憶されていない場合には、通信Ｉ／Ｆ１１は、サーバ３００からプログラムやパラメータをダウンロードするために用いられる。クライアントとなる演奏情報発生装置は、通信Ｉ／Ｆ１１および通信ネットワーク４００を介してサーバ３００へとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバ３００は、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワーク４００を介して演奏情報発生装置へと配信し、演奏情報発生装置が通信Ｉ／Ｆ１１を介して、これらプログラムやパラメータを受信して外部記憶装置１０に蓄積することにより、ダウンロードが完了する。
【００１８】
演奏情報発生装置１００は、後述するように、現在時刻を用いて制御処理を行うため、現在時刻を計時する内部時計を備えている。内部時計は、本実施の形態では、タイマ８とソフトウェアによって実現している（その実現方法は、本発明の特徴ではないので、公知の方法を用いればよい）が、これに限らず、ハードウェアのみによって実現したものを採用してもよい。
【００１９】
他の演奏情報発生装置２００は、演奏情報発生装置１００と同様の構成要素によって構成すればよい。
【００２０】
サーバ３００は、本実施の形態では、演奏情報発生装置１００および他の演奏情報発生装置２００等と演奏情報や時刻情報を含むパケットデータをやり取りするサーバである。サーバ３００は、演奏情報発生装置１００と同様の構成要素によって構成すればよいが、演奏操作子１および検出回路３は必須の要素ではないので、これらを省略してもよく、一般的には、サーバ用コンピュータが用いられる。
【００２１】
以上のように構成された演奏情報発生装置１００、他の演奏情報発生装置２００およびサーバ３００が実行する制御処理を詳細に説明する。
【００２２】
演奏情報発生装置１００の演奏者が演奏操作子１を用いて演奏を行うと、ＣＰＵ５は、その演奏に応じた演奏情報と内部時計によって計時された現在時刻を示す時刻情報とを含むパケットデータを生成し、生成したパケットデータを、通信Ｉ／Ｆ１１および通信ネットワーク４００を介してサーバ３００に送信する。サーバ３００は、受信したパケットデータをそのまま、通信ネットワーク４００を介して他の演奏情報発生装置２００に送信する。他の演奏情報発生装置２００は、サーバ３００から受信したパケットデータを解析し、パケットデータに含まれる時間情報が示す時刻と、他の演奏情報発生装置２００の内部時計によって計時される現在時刻とを比較し、パケットデータに含まれる時間情報が示す時刻、すなわち演奏情報発生装置１００が演奏情報を発生した時刻から所定時間（たとえば、０.３秒）経過したときに、パケットデータに含まれる演奏情報を再生する。
【００２３】
他の演奏情報発生装置２００が発生した、演奏情報を含むパケットデータも、同様にして、演奏情報発生装置１００側で再生される。
【００２４】
本発明の特徴の１つは、演奏情報発生装置１００および他の演奏情報発生装置２００が、所定のタイミングで、すなわち演奏に支障なく、かつ定期的なタイミングで、自身の内部時計の現在時刻をサーバ３００の内部時計の現在時刻に合わせることにある。
【００２５】
図２は、演奏情報発生装置１００が時刻合わせを行うタイミングを説明するためのタイムチャートである。
【００２６】
同図に示すように、演奏情報発生装置１００、特にＣＰＵ５は、演奏中はタイマ８をリセットし続け、演奏が所定時間（たとえば、１０秒間）以上途切れたとき、すなわちタイマ８が所定時間以上を計時したときに、内部時計を合わせる。ここで、演奏中とは、時刻Ｔ１のように、演奏者が演奏操作子１を操作することにより、演奏情報発生装置１００が演奏情報を発生して、サーバ３００に送信したとき、または、時刻Ｔ２のように、演奏情報発生装置１００が、他の演奏情報発生装置２００の発生した演奏情報をサーバ３００から受信したときである。
【００２７】
また、内部時計の時刻合わせは、具体的には、次のようにして行う。すなわち、まず、演奏情報発生装置１００は、演奏情報発生装置１００の内部時計が計時した現在時刻（時刻Ｔ３）を示す時刻情報と、サーバ３００の内部時計が計時する現在時刻を知らせて欲しい旨の情報を含むパケットデータを生成して、サーバ３００に送信する。これに対して、サーバ３００は、受信したパケットデータに、サーバ３００の内部時計が計時した現在時刻（時刻Ｔ４）を示す時刻情報を追加して、演奏情報発生装置１００に返信する。次に、演奏情報発生装置１００は、サーバ３００から返信されたパケットを受信した時刻を、演奏情報発生装置１００の内部時計によって計時し（時刻Ｔ５）、この時刻Ｔ５と、受信したパケットデータに含まれている時刻Ｔ３とのちょうど真ん中の時刻（＝（Ｔ３＋Ｔ５）／２）が、受信したパケットに含まれている時刻Ｔ４になるように、演奏情報発生装置１００の内部時計の時刻を合わせる。
【００２８】
このようにして、演奏情報発生装置１００の内部時計は、演奏が所定時間途切れているときに、サーバ３００の内部時計と合わせられるので、演奏に支障なく、かつ定期的に時刻合わせを行うことができる。
【００２９】
なお、図２には図示されていないが、他の演奏情報発生装置２００の内部時計も、演奏情報発生装置１００の内部時計と同様にして、演奏が所定時間途切れているときに、サーバ３００の内部時計と合わせる。
【００３０】
また、図２には図示されていないが、演奏情報発生装置１００および他の演奏情報発生装置２００の内部時計の時刻合わせは、演奏を開始する前にも行われる。演奏を開始する前とは、具体的には、演奏情報発生装置１００および他の演奏情報発生装置２００が、それぞれサーバ３００に接続されたときが考えられる。
【００３１】
さらに、本実施の形態では、演奏情報発生装置１００および他の演奏情報発生装置２００として、電子鍵盤楽器を例に挙げて説明したが、演奏中も含め、定期的に時刻合わせが必要な電子楽器あるいは自動演奏ピアノ等の自動演奏楽器であれば、どのようなものにでも、本発明を適用することができる。
【００３２】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００３３】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００３４】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【００３５】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００３６】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００３７】
【図１】本発明の一実施の形態に係る演奏情報発生装置１００の概略構成を示すブロック図である。
【図２】図１の演奏情報発生装置が時刻合わせを行うタイミングを説明するためのタイムチャートである。
【符号の説明】
【００３８】
５…ＣＰＵ（内部時計、発生手段、再生手段、リセット手段、判別手段、要求情報発生手段、修正手段），８…タイマ（タイマ、内部時計），１１…通信Ｉ／Ｆ（通信手段），３００…サーバ
【図１】
0004747847.tif 000002
【図２】
0004747847.tif 000003