(57)【特許請求の範囲】
【請求項１】
楽器と、複数の前記楽器と通信可能であり前記楽器から送信される情報を記憶する記憶装置とを有するシステムであって、
前記楽器は、
当該楽器の演奏情報を生成する演奏情報生成手段と、
日時を計る第１計時手段と、
前記演奏情報生成手段で演奏情報が生成される毎に、前記第１計時手段で計られている日時を示す日時情報と、前記演奏情報生成手段で生成された演奏情報との組である演奏データを前記記憶装置へ送信する第１送信手段とを有し、
前記記憶装置は、
日時を計る第２計時手段と、
前記第１送信手段から送信された演奏データを受信する第１受信手段と、
前記第１受信手段で受信された演奏データを記憶する記憶手段と、
前記第１受信手段で受信された演奏データに含まれる日時情報の日時または前記第２計時手段で計られている日時であって前記第１受信手段で受信された演奏データの受信日時に基づいて、前記記憶手段に記憶された演奏データを区分し、区分された演奏データを含む演奏ファイルを生成するファイル生成手段と、
を有することを特徴とする記憶システム。
【請求項２】
前記ファイル生成手段は、前記第１受信手段で受信された複数の前記演奏データに含まれる前記日時情報の日時、または前記第１受信手段で受信された複数の前記演奏データの受信日時の時間軸上の時間間隔が所定値以上である場合、前記演奏データを区分することを特徴とする請求項１に記載の記憶システム。
【請求項３】
演奏情報を生成する演奏情報生成手段と、日時を計る第１計時手段と、前記演奏情報生成手段で演奏情報が生成される毎に、前記第１計時手段で計られている日時を示す日時情報と、前記演奏情報生成手段で生成された演奏情報との組である演奏データを送信する送信手段とを有する楽器と通信する記憶装置であって、
日時を計る第２計時手段と、
前記送信手段から送信された演奏データを受信する受信手段と、
前記受信手段で受信された演奏データを記憶する記憶手段と、
前記受信手段で受信された演奏データに含まれる日時情報の日時または前記第２計時手段で計られている日時であって前記受信手段で受信された演奏データの受信日時に基づいて、前記記憶手段に記憶された演奏データを区分し、区分された演奏データを含む演奏ファイルを生成するファイル生成手段と、
を有する記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽器において行われた演奏を表す情報を記憶する技術に関する。
【背景技術】
【０００２】
特許文献１には、楽器において行われた演奏を表す演奏データを、通信ネットワークを介してサーバコンピュータに記憶させるシステムが開示されている。このシステムにおいては、電子楽器において演奏開始の操作が行われた後に演奏者が演奏を行うと、演奏データが電子楽器において記憶される。また、電子楽器において演奏終了の操作が行われると、記憶された演奏データが通信ネットワークに接続されたサーバコンピュータへ送信される。サーバコンピュータは、演奏データを受信すると、受信した演奏データを記憶する。なお、特許文献１に開示されたシステムにおいては、演奏を終了してから演奏データを送信するのではなく、鍵盤やペダルの操作が行われる毎に演奏データを送信してサーバコンピュータに記憶させることも可能となっている。また、特許文献１に開示されたシステムにおいては、サーバコンピュータに記憶された演奏データをダウンロードして過去の演奏を聴くことも可能となっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１３３２７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、特許文献１に開示されたシステムにおいては、演奏データをサーバコンピュータに記憶させる場合には、演奏者が演奏開始の操作と演奏終了の操作を電子楽器において行う必要がある。しかしながら、演奏を行うたびに演奏開始の操作と演奏終了の操作を行うのは演奏者にとって面倒である。また、演奏開始の操作を忘れてしまうと、演奏データが記憶されず、演奏を再現できない場合が生じ、演奏終了の操作を忘れてしまうと、演奏データを記憶し続けてしまうという問題が生じえる。
【０００５】
本発明は、上述した背景の下になされたものであり、演奏者が演奏の記憶開始や記憶終了の操作を行わなくとも、演奏毎に当該演奏を表す情報を記憶できるようにする技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、楽器と、複数の前記楽器と通信可能であり前記楽器から送信される情報を記憶する記憶装置とを有するシステムであって、前記楽器は、当該楽器の演奏情報を生成する演奏情報生成手段と、日時を計る第１計時手段と、前記演奏情報生成手段で演奏情報が生成される毎に、前記第１計時手段で計られている日時を示す日時情報と、前記演奏情報生成手段で生成された演奏情報との組である演奏データを前記記憶装置へ送信する第１送信手段とを有し、前記記憶装置は、日時を計る第２計時手段と、前記第１送信手段から送信された演奏データを受信する第１受信手段と、前記第１受信手段で受信された演奏データを記憶する記憶手段と、前記第１受信手段で受信された演奏データに含まれる日時情報の日時または前記第２計時手段で計られている日時であって前記第１受信手段で受信された演奏データの受信日時に基づいて、前記記憶手段に記憶された演奏データを区分し、区分された演奏データを含む演奏ファイルを生成するファイル生成手段と、を有することを特徴とする記憶システムを提供する。
【０００７】
本発明においては、前記ファイル生成手段は、前記第１受信手段で受信された複数の前記演奏データに含まれる前記日時情報の日時、または前記第１受信手段で受信された複数の前記演奏データの受信日時の時間軸上の時間間隔が所定値以上である場合、前記演奏データを区分する構成であってもよい。
【０００８】
また、本発明は、演奏情報を生成する演奏情報生成手段と、日時を計る第１計時手段と、前記演奏情報生成手段で演奏情報が生成される毎に、前記第１計時手段で計られている日時を示す日時情報と、前記演奏情報生成手段で生成された演奏情報との組である演奏データを送信する送信手段とを有する楽器と通信する記憶装置であって、日時を計る第２計時手段と、前記送信手段から送信された演奏データを受信する受信手段と、前記受信手段で受信された演奏データを記憶する記憶手段と、前記受信手段で受信された演奏データに含まれる日時情報の日時または前記第２計時手段で計られている日時であって前記受信手段で受信された演奏データの受信日時に基づいて、前記記憶手段に記憶された演奏データを区分し、区分された演奏データを含む演奏ファイルを生成するファイル生成手段と、を有する記憶装置を提供する。
また、本発明は、演奏動作毎に当該演奏動作を示す演奏情報を生成する演奏情報生成手段と、日時を計る第１計時手段と、前記演奏情報生成手段で演奏情報が生成される毎に、前記第１計時手段で計られている日時を示す日時情報と、前記演奏情報生成手段で生成された演奏情報と、当該楽器または当該楽器の演奏者を識別する識別情報との組を自動的に送信する送信手段とを有する楽器と通信する記憶装置であって、日時を計る第２計時手段と、前記送信手段から送信された情報の組を受信する受信手段と、前記受信手段で受信された情報の組を組毎に記憶する記憶手段と、前記受信手段で受信された演奏情報と組の日時情報の日時または前記第２計時手段で計られている日時であって前記受信手段で受信された演奏情報の受信日時に基づいて、前記記憶手段に記憶された情報の組を区分する区分手段と、を有する記憶装置を提供する。
【発明の効果】
【０００９】
本発明によれば、演奏者が演奏の記憶開始や記憶終了の操作を行わなくとも、演奏毎に当該演奏を表す情報を記憶できるようにすることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係るシステムの全体構成を示した図。
【図２】楽器端末１Ａ，１Ｂの外観を示した図。
【図３】楽器端末１Ａ，１Ｂのハードウェア構成を示したブロック図。
【図４】サーバ装置２のハードウェア構成を示したブロック図。
【図５】実施形態の動作を説明するための図。
【図６】サーバ装置２が行う処理の流れを示したフローチャート。
【図７】演奏テーブルのフォーマットを示した図。
【図８】実施形態の動作を説明するための図。
【図９】表示部１０７に表示される画面を例示した図。
【発明を実施するための形態】
【００１１】
［実施形態］
（実施形態の構成）
図１は、本発明の一実施形態に係るシステムの全体構成を示した図である。図に示したように、このシステムにおいては、楽器端末１Ａ，１Ｂと、楽器端末１Ａ，１Ｂから送信されるデータを記憶する記憶装置として機能するサーバ装置２が、コンピュータ装置同士を接続する通信ネットワーク３に接続されている。なお、通信ネットワーク３には多数の装置を接続可能であるが、図１においては、説明の簡略化のために二つの楽器端末１Ａ，１Ｂと一つのサーバ装置２を示している。
【００１２】
（楽器端末１Ａ，１Ｂの構成）
楽器端末１Ａ，１Ｂは、本実施形態においては電子キーボードである。なお、本実施形態においては、楽器端末１Ａ，１Ｂのハードウェア構成は同じ構成であるため、以下の説明において両者を区別する必要がない場合は符号の末尾のＡ，Ｂを付すのを省略する。
図２は、楽器端末１の外観を示した図であり、図３は、楽器端末１のハードウェア構成を示したブロック図である。図３に示したように、スピーカ１０５を除く楽器端末１の各部はバス１０１に接続されており、バス１０１を介して各部間で信号のやり取りを行う。
【００１３】
演奏部１０９は、複数の鍵１０ａを備えている。楽器端末１の演奏者は、この演奏部１０９の鍵１０ａを操作することによって演奏を行う。演奏部１０９は、演奏者により鍵１０ａが操作されて演奏が行われると、鍵１０ａにおいて行われた操作に対応した信号を出力する。
【００１４】
記憶部１０３は、不揮発性メモリを備えており、楽器端末１を一意に識別する端末識別子や、サーバ装置２から取得したデータを記憶する。なお、本実施形態においては、楽器端末１Ａの記憶部１０３は、端末識別子として「０００１」を記憶し、楽器端末１Ｂの記憶部１０３は、端末識別子として「０００２」を記憶している。
【００１５】
制御部１０２は、バス１０１に接続された各部を制御するハードウェアであり、ＣＰＵ（Central Processing Unit）、楽器端末１の各部を制御するためのプログラムを記憶したＲＯＭ（Read Only Memory）、プログラムを実行する際の作業領域として使用されるＲＡＭ（Random Access Memory）などを備えている。制御部１０２のＣＰＵがＲＯＭに記憶されているプログラムを実行すると、バス１０１を介して楽器端末１の各部が制御部１０２により制御され、電子キーボードの機能が楽器端末１において実現する。また、制御部１０２のＲＯＭに記憶されているプログラムが実行されると、演奏部１０９にされた操作に応じてＭＩＤＩ（Musical Instrument Digital Interface：登録商標）メッセージを生成する機能や、日時を計る機能が実現する。また、生成されたＭＩＤＩメッセージ（演奏情報）、日時を示す日時情報および端末識別子を含む演奏データをサーバ装置２に送信する機能や、サーバ装置２に記憶された演奏データを取得し、取得した演奏データに従って楽音を放音する機能なども楽器端末１において実現する。
【００１６】
通信部１０８は、通信ネットワーク３を介して通信を行うインターフェースとして機能し、制御部１０２による制御の下で他の装置とデータ通信を行う。表示部１０７は、液晶ディスプレイを備えており、楽器端末１を操作するための各種画面を表示する。操作部１０６は、楽器端末１を操作するための各種ボタンを備えている。操作部１０６のボタンを操作することにより、ユーザから楽器端末１に対する各種指示の入力が行われる。楽音生成部１０４は、制御部１０２によって供給されるＭＩＤＩメッセージに基づいて、ＭＩＤＩメッセージが示す楽音の信号を生成し、生成した信号をスピーカ１０５に供給する。楽音生成部１０４から供給された信号がスピーカ１０５に入力されると、入力された信号に応じて楽音がスピーカ１０５から放音される。
【００１７】
（サーバ装置２の構成）
図４は、サーバ装置２のハードウェア構成を示したブロック図である。図４に示したように、サーバ装置２の各部はバス２０１に接続されており、バス２０１を介して各部間で信号のやり取りを行う。
制御部２０２は、バス２０１に接続された各部を制御するハードウェアであり、ＣＰＵ、サーバ装置２の各部を制御するためのプログラムを記憶したＲＯＭ、ＲＡＭなどを備えている。制御部２０２のＣＰＵは、ＲＯＭに記憶されているプログラムを読み出して実行することにより、バス２０１を介してサーバ装置２の各部を制御する。
【００１８】
通信部２０８は、通信ネットワーク３を介して通信を行うインターフェースとして機能し、制御部２０２による制御の下で他の装置とデータ通信を行う。表示部２０７は、液晶ディスプレイを備えており、サーバ装置２を操作するための各種画面を表示する。操作部２０６は、サーバ装置２を操作するためのキーボードやマウスを備えている。操作部２０６のキーボードやマウスを操作することにより、ユーザからサーバ装置２に対する各種指示の入力が行われる。
【００１９】
記憶部２０３は、ハードディスク装置を備えており、楽器端末１から送信される演奏データや、クライアント−サーバシステムにおけるサーバの機能を実現するサーバプログラムを記憶する。制御部２０２のＣＰＵがサーバプログラムを実行すると、サーバ装置２においては、楽器端末１から送信された演奏データを記憶部２０３に記憶する機能や、記憶部２０３に記憶された演奏データを楽器端末１へ送信する機能、日時を計る機能などが実現する。なお、記憶部２０３は、演奏データを一時的に記憶する領域であるバッファ領域と、演奏データを永続的に記憶する永続記憶領域とを有している。
【００２０】
（実施形態の動作）
（演奏データを記憶する際の動作）
次に、本実施形態の動作について説明する。なお、以下の説明においては、楽器端末１のユーザが一の楽曲を演奏した場合を想定して動作の説明を行う。
まず、ユーザが楽器端末１Ａの電源を入れると、制御部１０２のＲＯＭに記憶されているプログラムが制御部１０２において実行される。すると、楽器端末１Ａにおいては、電子キーボードの機能が実現する。また楽器端末１Ａにおいては、サーバ装置２と通信を行うことが可能となる。次に、ユーザが鍵１０ａを押鍵すると（図５：ステップＳ１０１）、制御部１０２は、ノートオンのメッセージ、押下された鍵１０ａに対応するノート番号、鍵１０ａにされた操作に対応するベロシティなどの演奏動作の情報を含むＭＩＤＩメッセージを生成する。また、制御部１０２は、このノートオンのＭＩＤＩメッセージを生成した日時を示す演奏日時情報を生成する。制御部１０２は、生成したＭＩＤＩメッセージ、演奏日時情報および記憶部１０３に記憶されている端末識別子「０００１」を含む演奏データを生成する（ステップＳ１０２）。そして制御部１０２は、生成した演奏データを、通信部１０８を制御してサーバ装置２へ送信する。また、制御部１０２は、ＭＩＤＩメッセージを楽音生成部１０４へ送る。楽音生成部１０４は、ＭＩＤＩメッセージが供給されると、ＭＩＤＩメッセージで指定されるノート番号およびベロシティに対応した楽音の信号を生成し、生成した信号をスピーカ１０５に供給する。楽音生成部１０４から供給された信号がスピーカ１０５に入力されると、入力された信号に応じて楽音がスピーカ１０５から放音される。
【００２１】
楽器端末１Ａから送信された演奏データが通信部２０８で受信されると、制御部２０２は、通信部２０８で受信された演奏データを記憶部２０３のバッファ領域に記憶させる（ステップＳ１０３）。また、制御部２０２は、受信した演奏データに含まれている端末識別子を取得する。制御部２０２は、端末識別子を取得すると、この端末識別子を取得した時点の日時を示す取得日時情報と端末識別子を対応付けてＲＡＭに記憶する。
ここで、例えば制御部２０２が計っている日時が「２００９年８月３１日の１３時０５分０５秒」である場合、制御部２０２は、この日時を示す取得日時情報「2009-08-31T13:05:05」と、端末識別子「０００１」との組をＲＡＭに記憶する（ステップＳ１０４）。
【００２２】
制御部２０２は、ＲＡＭに端末識別子と取得日時情報の組が記憶されていると、予め定められた一定の周期（例えば、本実施形態においては１秒毎）で図６に示した処理を実行する。なお、この周期は１秒に限定されるものではなく、１秒以外の周期であってもよい。制御部２０２は、計っている日時と、ＲＡＭに端末識別子と組で記憶されている取得日時情報が示す日時との差を判断する。ここで、日時の差が予め定められた時間（例えば、本実施形態においては５秒）未満であれば（図６：ステップＳＡ１；ＹＥＳ）、制御部２０２は、図６に示した処理を終了する。なお、この予め定められた時間は５秒に限定されるものではなく５秒以外の時間であってもよい。
【００２３】
次に、楽器端末１Ａにおいて、押下された鍵１０ａからユーザが指を離すと（ステップＳ１０５）、制御部１０２は、ノートオフのメッセージ、離鍵された鍵１０ａに対応するノート番号、鍵１０ａにされた操作に対応するベロシティなどの演奏動作の情報を含むＭＩＤＩメッセージを生成する。また、制御部１０２は、このノートオフのＭＩＤＩメッセージを生成した日時を示す演奏日時情報を生成する。制御部１０２は、生成したＭＩＤＩメッセージ、演奏日時情報および記憶部１０３に記憶されている端末識別子「０００１」を含む演奏データを生成する。そして制御部１０２は、生成した演奏データを、通信部１０８を制御してサーバ装置２へ送信する（ステップＳ１０６）。また、制御部１０２は、ＭＩＤＩメッセージを楽音生成部１０４へ送る。楽音生成部１０４は、ノートオフのＭＩＤＩメッセージが供給されると、ＭＩＤＩメッセージで指定されるノート番号に対応した楽音の信号の生成を停止する。これにより、楽音のスピーカ１０５からの放音が停止される。
【００２４】
楽器端末１Ａから送信された演奏データが通信部２０８で受信されると、制御部２０２は、通信部２０８で受信された演奏データを記憶部２０３のバッファ領域に記憶させる（ステップＳ１０７）。また、制御部２０２は、受信した演奏データに含まれている端末識別子を取得する。制御部２０２は、端末識別子を取得すると、この端末識別子を取得した時点の日時を示す取得日時情報と端末識別子を対応付けてＲＡＭに記憶する。なお、ここで取得した端末識別子と同じ端末識別子が既にＲＡＭに記憶されている場合には、この端末識別子と組の取得日時情報を新たに取得した取得日時情報で上書きする（ステップＳ１０８）。
【００２５】
ここでは、取得した端末識別子「０００１」が上述した動作で既にＲＡＭに記憶されているため、制御部２０２が計っている日時が「２００９年８月３１日の１３時０５分０６秒」である場合、制御部２０２は、端末識別子「０００１」との組で記憶されている取得日時情報を、制御部２０２が計っている日時を示す日時情報「2009-08-31T13:05:06」で上書きする。次に、図６に示した処理が実行され、制御部２０２で計っている日時と、ＲＡＭに端末識別子「０００１」と組で記憶されている取得日時情報が示す日時との差が、予め定められた時間未満であれば、制御部２０２は、図６に示した処理を終了する。
【００２６】
この後、上述したのと同様にして鍵１０ａの押鍵と離鍵がされて演奏が行われると、上述した動作と同様に楽器端末１Ａから、ノートオンのＭＩＤＩメッセージを含む演奏データと、ノートオフのＭＩＤＩメッセージを含む演奏データが順次サーバ装置２へ送られる。そして、サーバ装置２においては、ステップＳＡ１でＮＯと判断されるまでは、楽器端末１Ａから送られた演奏データがバッファ領域に記憶されていく。
【００２７】
次に、ユーザが演奏を終了すると（ステップＳ２０１）、楽器端末１Ａから演奏データの送信が行われなくなる。楽器端末１Ａから演奏データの送信が行われなくなると、サーバ装置２においては、計っている日時と、端末識別子「０００１」と組でＲＡＭに記憶されている日時との差が大きくなる。そして、制御部２０２は、計っている日時と、端末識別子「０００１」と組でＲＡＭに記憶されている日時との差が５秒以上となると（ステップＳＡ１；ＮＯ）、端末識別子「０００１」で特定される楽器端末１Ａでの演奏が終了したと判断する。
【００２８】
制御部２０２は、ステップＳＡ１でＮＯと判断すると、バッファ領域に記憶されている演奏データを永続的に記憶する処理を行う（ステップＳ２０２）。
具体的には、まず制御部２０２は、楽器端末１Ａから最後に受信した演奏データの受信日時で演奏データを区分する。ここで、演奏データは、楽器端末１Ａから最後に受信した演奏データの受信日時以前に受信された演奏データと、楽器端末１Ａから最後に受信した演奏データの受信日時より後に受信された演奏データとに区分される。制御部２０２は、楽器端末１Ａから最後に受信した演奏データの受信日時以前に受信された演奏データとして区分された演奏データの中から、ＲＡＭに記憶されている端末識別子「０００１」を含む全ての演奏データを抽出し、抽出した演奏データを一つのファイルとしてまとめた演奏ファイルを生成する（ステップＳＡ２）。なお、制御部２０２は、演奏データを区分する際、楽器端末１Ａから最後に受信した演奏データに含まれている演奏日時情報の日時以前の演奏日時情報を含む演奏データと、楽器端末１Ａから最後に受信した演奏データに含まれている演奏日時情報の日時より後の演奏日時情報を含む演奏データとに区分してもよい。
また、制御部２０２は、演奏ファイルを一意に識別する演奏ファイル識別子を生成し（ステップＳＡ３）、演奏ファイル識別子を含む演奏ファイルを記憶部２０３の永続記憶領域に記憶させる（ステップＳＡ４）。
また、制御部２０２は、演奏ファイルの演奏データに含まれている端末識別子、演奏ファイル中の演奏データに含まれている時刻のうち最も早い演奏日時情報（演奏開始日時）と最も遅い演奏日時情報（演奏終了日時）を取得し、取得した端末識別子、演奏開始日時、演奏終了日時、および生成したファイル識別子とを対応付けて図７に示した演奏テーブルに格納する（ステップＳＡ５）。
【００２９】
図７は、端末識別子、演奏開始日時、演奏終了日時および演奏ファイル識別子の組を格納する演奏テーブルのフォーマットを例示した図である。記憶部２０３は、この演奏テーブルを記憶している。例えば、演奏ファイル中の演奏データ含まれている演奏日時情報において最も早い演奏日時情報が「2009-08-31T13:05:05」、演奏の最後で楽器端末１Ａから送信された演奏データに含まれていた演奏日時情報が「2009-08-31T13:07:10」、端末識別子が「０００１」、ファイル識別子として「Ｆ０００１」が生成された場合、これらの情報が図７に示したように演奏テーブルの同じ行に格納される。
【００３０】
このように、楽器端末１の電源を入れた後にユーザが楽器端末１で演奏を行うと、演奏の記録開始のためのボタン操作や終了のためのボタン操作をユーザが行わなくても、ユーザが行った演奏を表すＭＩＤＩメッセージを含む演奏ファイルがサーバ装置２に記憶される。そして、上述した動作は、ユーザが演奏を行う度に行われ、サーバ装置２においては、ユーザが行った演奏毎に演奏ファイルが記憶される。
【００３１】
（楽器端末１が演奏データをサーバ装置２から取得する際の動作）
次に、サーバ装置２に記憶された演奏ファイルを楽器端末１Ｂが取得し、楽器端末１Ｂが、取得した演奏ファイルに従って楽音を放音する際の動作について説明する。
まず、ユーザが、サーバ装置２に記憶されている演奏ファイルのリストを取得する操作を、電源を入れられた楽器端末１Ｂの操作部１０６において行うと（図８：ステップＳ３０１）、楽器端末１Ｂからサーバ装置２へ演奏ファイルのリストを要求する要求メッセージが送信される（ステップＳ３０２）。
【００３２】
この要求メッセージがサーバ装置２において受信されると、制御部２０２は、記憶部２０３に記憶されている演奏テーブルを楽器端末１Ｂへ送信する（ステップＳ３０３）。サーバ装置２から送信された演奏テーブルが楽器端末１Ｂの通信部１０８で受信されると、楽器端末１Ｂの制御部１０２は、演奏テーブルの内容に従って、図９に示したようにファイル識別子、端末識別子、演奏開始日時および演奏終了日時を表示部１０７に表示させる（ステップＳ３０４）。
【００３３】
次に、表示された演奏ファイル識別子のいずれかを選択する操作をユーザが操作部１０６において行い、選択された演奏ファイル識別子で特定される演奏ファイルを要求する操作をユーザが操作部１０６において行うと（ステップＳ３０５）、選択された演奏ファイル識別子を含み、演奏ファイルを要求するファイル要求メッセージが楽器端末１Ｂからサーバ装置２へ送信される（ステップＳ３０６）。例えば、ユーザが演奏ファイル識別子「Ｆ０００１」を選択し、演奏ファイル識別子で特定される演奏ファイルを要求する操作を操作部１０６において行うと、このファイル識別子「Ｆ０００１」を含むファイル要求メッセージが楽器端末１Ｂからサーバ装置２へ送信される。
【００３４】
このファイル要求メッセージがサーバ装置２において受信されると、制御部２０２は、ファイル要求メッセージに含まれているファイル識別子「Ｆ０００１」を含む演奏ファイルを記憶部２０３において検索する。そして、サーバ装置２は、このファイル識別子を含む演奏ファイルを見つけると、見つけた演奏ファイルを楽器端末１Ｂへ送信する（ステップＳ３０７）。サーバ装置２から送信された演奏ファイルが楽器端末１Ｂにおいて受信されると、楽器端末１Ｂの制御部１０２は、演奏ファイルに含まれている演奏データに従って演奏を行う（ステップＳ３０８）。なお、ファイル識別子「Ｆ０００１」で特定される演奏ファイルは、楽器端末１Ａのユーザが楽器端末１Ａにおいて行った演奏を表す演奏ファイルであるため、楽器端末１Ｂは、楽器端末１Ａにおいて行われた演奏を再現することとなる。
【００３５】
具体的には、制御部１０２は、演奏ファイルに含まれている演奏データをＲＡＭに展開する。次に制御部１０２は、含まれている演奏日時情報が古い演奏データから順番にＭＩＤＩメッセージを抽出し、抽出したＭＩＤＩメッセージを順次楽音生成部１０４へ送る。
なお、ＭＩＤＩメッセージを楽音生成部１０４へ送る際には、演奏データに含まれている演奏日時情報に基づいてＭＩＤＩメッセージを楽音生成部１０４へ送る。例えば、演奏日時情報が「2009-08-31T13:05:05」であるノートオンメッセージの演奏データと、演奏日時情報が「2009-08-31T13:05:06」であるノートオフメッセージの演奏データとがある場合、ノートオンメッセージの１秒後にノートオフメッセージがあるため、制御部１０２は、ノートオンのＭＩＤＩメッセージを楽音生成部１０４に送った１秒後にノートオフのＭＩＤＩメッセージを楽音生成部１０４に送る。
【００３６】
楽音生成部１０４は、ＭＩＤＩメッセージが供給されると、ＭＩＤＩメッセージで指定されるノート番号およびベロシティに対応した楽音の信号を生成し、生成した信号をスピーカ１０５に供給する。楽音生成部１０４から供給された信号がスピーカ１０５に入力されると、入力された信号に応じて楽音がスピーカ１０５から放音される。
【００３７】
このように本実施形態によれば、楽器端末１Ａにおいて行われた演奏を再現するデータを楽器端末１Ｂにおいて取得し、自分以外の演奏者が行った演奏を再生して聞くことができる。また、本実施形態によれば、サーバ装置２に蓄積された演奏データについて、いつ、どの楽器端末で演奏が行われたのか、演奏データを含む演奏ファイル毎に、その情報を得ることが可能であり、演奏ファイルの検索を行うことができる。
なお、上述した説明においては、楽器端末１Ｂがサーバ装置２から演奏ファイルを取得したが、楽器端末１Ａがサーバ装置２から演奏ファイルを取得してもよい。この場合、楽器端末１Ａのユーザは、自身が行った演奏の演奏ファイルを取得して過去の演奏を聴くことができる。
【００３８】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。なお、上述した実施形態及び以下の変形例は、各々を組み合わせてもよい。
【００３９】
本発明においては、演奏者を識別する情報として、ユーザが操作部１０６を操作して記憶部１０３に楽器端末１の演奏者の氏名を記憶させてもよい。また、楽器端末１は、記憶部１０３に記憶されている演奏者の氏名を含む演奏データをサーバ装置２へ送信し、サーバ装置２は、演奏者の氏名を含む演奏データをまとめて演奏ファイルとして記憶してもよい。また、サーバ装置２は、演奏データに含まれている演奏者の氏名も演奏テーブルに格納するようにしてもよい。また、楽器端末１が演奏テーブルをサーバ装置２から取得して演奏テーブルの内容を表示する際には、演奏テーブルに格納されている演奏者の氏名も表示するようにしてもよい。
【００４０】
本発明においては、ユーザが操作部１０６を操作して記憶部１０３に楽器端末１の演奏者の写真の画像を記憶させてもよい。また、楽器端末１は、記憶部１０３に記憶されている演奏者の画像を含む演奏データをサーバ装置２へ送信し、サーバ装置２は、演奏者の画像を含む演奏データをまとめて演奏ファイルとして記憶してもよい。また、サーバ装置２は、演奏データに含まれている演奏者の画像も演奏テーブルに格納するようにしてもよい。また、楽器端末１が演奏テーブルをサーバ装置２から取得して演奏テーブルの内容を表示する際には、演奏テーブルに格納されている演奏者の画像も表示するようにしてもよい。また、写真のように静止画の画像だけでなく、ユーザの演奏の様子や演奏の周囲を撮影した動画の画像データをサーバ装置２に送信し、演奏ファイルと共に記憶するようにしてもよい。
なお、楽器端末１においては、演奏者の写真の画像に替えて演奏者の音声を示す音声データを記憶させ、記憶部１０３に記憶されている音声データを含む演奏データをサーバ装置２へ送信し、サーバ装置２は、音声データと演奏データをまとめて演奏ファイルとして記憶してもよい。また、サーバ装置２は、演奏データに含まれている音声データも演奏テーブルに格納するようにしてもよい。また、楽器端末１が演奏テーブルをサーバ装置２から取得して演奏テーブルの内容を表示する際には、ユーザに選択されたファイル識別子に対応する音声データを再生するようにしてもよい。
【００４１】
上述した実施形態では、演奏日時情報は秒の情報を有しているが、秒について小数点以下の値を含むようにしてもよい。
本発明においては、演奏テーブルの内容を表示する場合、演奏時間の長さや演奏者の氏名などをもとにして表示の内容を並べ替えてもよい。
上述した実施形態においては、楽器端末１は電子キーボードであるが、楽器端末１は電子キーボードに限定されるものではなく、自動演奏機能を有するピアノであってもよい。また、楽器端末１は、鍵盤を有する楽器に限定されるものではなく、ＭＩＤＩメッセージの生成と処理が可能な楽器であれば他の楽器であってもよい。
また、本発明においては、サーバ装置２は、演奏ファイル中のＭＩＤＩメッセージと演奏日時情報を解析して演奏ファイルが表す曲を特定し、特定した曲名を示す情報を演奏テーブルに格納するようにしてもよい。また、サーバ装置２は、ＭＩＤＩメッセージや演奏日時情報などから演奏のテンポやピッチなどの情報を取得し、取得した情報から演奏の雰囲気や優劣などを解析して解析結果を演奏テーブルに格納してもよい。この構成によれば、演奏の優劣や所望の雰囲気などで演奏ファイルを検索して演奏ファイルを選択し、演奏を聴くことが可能となる。なお、演奏の優劣や雰囲気は、数値化した特徴量で表し、この特徴量を演奏テーブルに格納してもよい。また、演奏ファイルを検索する場合には、楽器端末１において、この特徴量を入力し、入力された特徴量をキーにして演奏ファイルを検索し、検索により得られた演奏ファイルのリストを楽器端末１で表示してもよい。
上述した実施形態においては、演奏動作を示す情報としてＭＩＤＩメッセージを用いているが、演奏動作を示す情報の形式は、ＭＩＤＩ形式に限定されるものでなく、他の形式であってもよい。
【００４２】
上述した実施形態においては、演奏データは、演奏情報であるＭＩＤＩメッセージを含んでいるが、ＭＩＤＩメッセージに替えて、演奏動作により発音される楽音の波形を表すデジタルデータを演奏情報として含むようにしてもよい。この構成の場合、楽器端末１が演奏ファイルをサーバ装置２から取得すると、楽音の波形を表すデジタルデータをアナログの楽音信号に変換し、この楽音信号をスピーカ１０５に供給する。
【００４３】
上述した実施形態においては、楽器端末１は、通信ネットワーク３に接続されてサーバ装置２と通信を行っているが、楽器端末１にパーソナルコンピュータ（以下、ＰＣと称する）を接続し、通信ネットワーク３に接続されたＰＣが楽器端末１とサーバ装置２との間で行われる通信を中継してもよい。
具体的には、ＰＣには、楽器端末１と通信を行う機能およびサーバ装置２と通信を行う機能を実現するプログラムを記憶させ、このプログラムをＰＣにおいて実行させる。楽器端末１とＰＣとを通信ケーブルで接続し、楽器端末１が演奏データを出力してＰＣに演奏データを入力する。ＰＣは、演奏データが入力されると、入力された演奏データを通信ネットワーク３を介してサーバ装置２へ送信する。
【００４４】
また、サーバ装置２に記憶されている演奏ファイルを楽器端末１へ送る際には、まず、サーバ装置２に記憶されている演奏ファイルのリストを取得する操作をＰＣにおいて行う。この操作が行われると、ＰＣは、演奏ファイルのリストを要求する要求メッセージをサーバ装置２へ送信する。ＰＣは、サーバ装置２から送られる演奏テーブルを受信すると、演奏テーブルの内容をディスプレイ装置に表示する。ＰＣにおいて、演奏ファイルを要求する操作が行われると、ＰＣは、演奏ファイルを要求するファイル要求メッセージをサーバ装置２へ送信する。サーバ装置２からＰＣへ演奏ファイルが送信されると、ＰＣは、送信された演奏ファイルを楽器端末１へ送信する。楽器端末１は、ＰＣから送信された演奏ファイルに含まれている演奏データに従って、上述した実施形態と同様に演奏を行う。本変形例によれば、演奏データの入出力を行うインターフェースが楽器端末１にあれば、通信ネットワーク３を用いた通信を行う機能を楽器端末１に持たせる必要がなく、楽器端末１の構成を簡易にできる。
【００４５】
なお、ＰＣが楽器端末１とサーバ装置２との間で演奏データを中継する構成においては、ＰＤＡ（Personal Digital Assistant）や携帯電話機などの携帯端末を通信ネットワーク３に接続し、携帯端末でサーバ装置２から演奏ファイルのリストを取得してもよい。
また、携帯端末で演奏ファイルを選択する操作を行い、選択された演奏ファイルの取得を携帯端末がＰＣに指示し、選択された演奏ファイルをＰＣがサーバ装置２から取得して楽器端末１へ送信してもよい。
また、楽器端末１が表示部１０７を備えない構成の場合、携帯端末でサーバ装置２から演奏ファイルのリストを取得してもよい。そして、携帯端末で演奏ファイルを選択する操作を行い、選択された演奏ファイルの取得を携帯端末が楽器端末１に指示し、選択された演奏ファイルを楽器端末１がサーバ装置２から取得してもよい。
【００４６】
本発明においては、サーバ装置２は、楽器端末１Ａおよび楽器端末１Ｂと接続している場合、楽器端末１Ａから順次送信される演奏データを、送信された順番で順次楽器端末１Ｂへ送信してもよい。この構成によれば、楽器端末１Ａと楽器端末１Ｂが離れた場所にあっても、楽器端末１Ａで行われている演奏を楽器端末１Ｂで再現することができる。
【００４７】
本発明においては、楽器端末１は、演奏部１０９を操作することにより生成される演奏データを順次記憶部１０３に記憶してもよい。また、演奏データを記憶部１０３に記憶する構成においては、楽器端末１は、ノートオフのＭＩＤＩメッセージを含む演奏データを生成してから一定時間の間にノートオンのＭＩＤＩメッセージが生成されなかった場合、演奏が終了したと判断し、記憶部１０３に記憶した演奏データを一つの演奏ファイルにまとめてサーバ装置２に送信してもよい。
サーバ装置２は、楽器端末１から送信された演奏ファイルにファイル識別子を付与して永続記憶領域に記憶し、ファイル識別子と、演奏ファイルから取得した端末識別子、演奏開始日時、演奏終了日時を対応付けて演奏テーブルに格納してもよい。
【００４８】
上述した実施形態においては、演奏データを受信してから一定時間の間に新たに演奏データを受信しなかった場合、一時記憶領域に記憶された演奏データをまとめて演奏ファイルを生成しているが、演奏ファイルを生成する構成は、この構成に限定されるものではない。例えば、サーバ装置２は、楽器端末１から送信された演奏データを順次記憶する。ここで、順次記憶した演奏データとして１番目から１０番目までの演奏データがあり、１番目から４番目まの演奏データと、５番目から１０番目の演奏データについては、含まれている演奏日時情報が示す日時について、前後の演奏データとの時間差が５秒未満であり、４番目の演奏データに含まれている演奏日時情報が示す日時と、５番目の演奏データに含まれている演奏日時情報が示す日時との差が５秒以上であった場合を想定する。
この場合、サーバ装置２は、記憶した演奏データの演奏日時情報が示す日時を取得し、記憶済みの１番目から４番目の演奏データを一回の演奏を表す演奏ファイルとして区分し、記憶済みの５番目から１０番目の演奏データを、先の演奏とは異なる演奏を表す演奏ファイルとして区分してもよい。
【００４９】
また、サーバ装置２は、楽器端末１から演奏データを順次受信すると、演奏データの受信日時を各演奏データと共に一時記憶領域に記憶してもよい。
ここで、順次記憶した演奏データとして１番目から１０番目までの演奏データがあり、１番目から４番目まの演奏データと、５番目から１０番目の演奏データについては、演奏データと組で記憶した日時について、前後の演奏データとの時間差が５秒未満であり、４番目の演奏データと組で記憶された日時と、５番目の演奏データと組で記憶された日時との差が５秒以上であった場合を想定する。この場合、サーバ装置２は、記憶済みの１番目から４番目の演奏データを一回の演奏を表す演奏ファイルとして区分し、記憶済みの５番目から１０番目の演奏データを、先の演奏とは異なる演奏を表す演奏ファイルとして区分してもよい。
【００５０】
本発明においては、演奏ファイルを楽器端末１へ送信する際には、演奏データに含まれている端末識別子を削除した演奏ファイルを生成して楽器端末１へ送信してもよい。
【００５１】
上述した実施形態では、生成された演奏データは、ＭＩＤＩメッセージが生成される毎にサーバ装置２へ送信されているが、本発明は、この構成に限定されるものではない。
例えば、楽器端末１は、生成された演奏データを順次記憶部１０３に記憶させ、記憶部１０３に記憶されている演奏データを予め定めた時間が経過する毎にサーバ装置２へ送信する構成としてもよい。具体的には、楽器端末１は、演奏が始まると演奏データを記憶部１０３に記憶させ、予め定められたｎ秒が経過すると（ｎ秒は、例えば５秒など設計時に設定）、記憶部１０３に記憶されている演奏データをサーバ装置２へ送信する。なお、楽器端末１は、演奏データを送信すると送信済みの演奏データを記憶部１０３から消去する構成としてもよい。そして、楽器端末１は、演奏データを送信してからｎ秒が経過すると、前回演奏データを送信した後に記憶部１０３に記憶された演奏データをサーバ装置２へ送信する。以降楽器端末１は、記憶部１０３に記憶された演奏データをｎ秒が経過する毎にサーバ装置２へ送信する。この構成によれば、演奏データを生成する毎に演奏データをサーバ装置２へ送信する構成と比較して楽器端末１とサーバ装置２との間の通信回数を少なくすることができる。
【００５２】
また、ＭＩＤＩメッセージが生成される毎にサーバ装置２へ演奏データを送信しない構成においては、以下の構成としてもよい。
例えば、楽器端末１は、生成された演奏データを順次記憶部１０３に記憶させ、記憶された演奏データのデータ量の合計が予め定められた量以上となる毎に、記憶部１０３に記憶されている演奏データをサーバ装置２へ送信する構成としてもよい。具体的には、楽器端末１は、演奏が始まると演奏データを記憶部１０３に記憶させ、記憶された演奏データの量の合計が予め定められたｎバイト（ｎは、例えば設計時に設定）以上となると、記憶部１０３に記憶されている演奏データをサーバ装置２へ送信する。なお、楽器端末１は、演奏データを送信すると送信済みの演奏データを記憶部１０３から消去する構成としてもよい。そして、楽器端末１は、演奏データを送信してから記憶部１０３に記憶された演奏データの量の合計を監視し、前回演奏データを送信した後に記憶部１０３に記憶された演奏データの量の合計がｎバイト以上となると、記憶部１０３に記憶されている演奏データをサーバ装置２へ送信する。以降楽器端末１は、記憶部１０３に記憶された演奏データの量の合計がｎバイトを以上となる毎に演奏データをサーバ装置２へ送信する。この構成によれば、演奏データを生成する毎に演奏データをサーバ装置２へ送信する構成と比較して楽器端末１とサーバ装置２との間の通信回数を少なくすることができる。
なお、上述した実施形態においては、記憶部１０３に記憶された演奏データを予め定めた時間が経過する毎にサーバ装置２へ送信するという上述した構成と、記憶部１０３に記憶された演奏データの量の合計が予め定められた量以上となる毎にサーバ装置２へ送信するという上述した構成とを組み合わせてもよい。
【００５３】
上述した実施形態においては、サーバ装置２は、バッファ領域に記憶された演奏データを端末識別子をキーにして抽出し、抽出した演奏データを一つのファイルとしてまとめた演奏ファイルを生成しているが、端末識別子で特定される演奏データをまとめる構成は、この構成に限定されるものではない。
例えば、サーバ装置２は、楽器端末１から最後に受信した演奏データの受信日時で演奏データを区分した後、楽器端末１から最後に受信した演奏データの受信日時以前に受信された演奏データとして区分された演奏データの中から、ＲＡＭに記憶されている端末識別子を含む演奏データを抽出し、抽出した演奏データを記憶部２０３に記憶させる。
次にサーバ装置２は、記憶部２０３に記憶した演奏データを演奏日時の古いものから抽出し、抽出した演奏データが記憶されている記憶領域のアドレスを特定し、特定したアドレスを順番に演奏のログの情報として記憶する構成としてもよい。この構成によれば、ログの情報に含まれているアドレスをもとにして演奏の順番で記憶部２０３から演奏データを読み出し、読み出した演奏データを再生して演奏を再現することができる。
また、サーバ装置２は、記憶部２０３に記憶させた演奏データに含まれている日時情報を抽出し、抽出した日時情報を日時の早いものから順に演奏のログの情報として記憶する構成としてもよい。
また、サーバ装置２は、ＲＡＭから抽出した演奏データを記憶部２０３に記憶させる際に、抽出した演奏データを、演奏データに含まれている演奏日時情報が表す日時の順に記憶部２０３に記憶させ、演奏のログの情報として記憶する構成としてもよい。なお、抽出した演奏データを演奏のログ情報として記憶する際には、演奏データの順番は、演奏データに含まれている日時情報から特定できるため、演奏データに含まれている演奏日時情報が表す日時の順に演奏データを記憶部２０３に記憶させなくてもよい。
【符号の説明】
【００５４】
１Ａ，１Ｂ・・・楽器端末、２・・・サーバ装置、３・・・通信ネットワーク、１０１・・・バス、１０２・・・制御部、１０３・・・記憶部、１０４・・・楽音生成部、１０５・・・スピーカ、１０６・・・操作部、１０７・・・表示部、１０８・・・通信部、１０９・・・演奏部、２０１・・・バス、２０２・・・制御部、２０３・・・記憶部、２０６・・・操作部、２０７・・・表示部、２０８・・・通信部
【図１】
0005630155.tif 000002
【図２】
0005630155.tif 000003
【図３】
0005630155.tif 000004
【図４】
0005630155.tif 000005
【図５】
0005630155.tif 000006
【図６】
0005630155.tif 000007
【図７】
0005630155.tif 000008
【図８】
0005630155.tif 000009
【図９】
0005630155.tif 000010