以下に、本発明のコンテンツデータ管理装置の一実施形態について、添付図面を参照して、説明する。
図1は、本発明の一実施形態の全体構成を説明するブロック図である。ユーザ側において、パーソナルコンピュータ1(以下、「PC」という)はローカルケーブルにより電子楽器2と接続される。また、PC1は、通信ネットワーク3と接続されており、通信ネットワーク3を介して、遠隔地に置かれたサーバコンピュータ4(サーバ)にアクセスできる。通信ネットワーク3は、公衆電話網や、インターネットサービスなどを含む周知の広域ネットワークである。
PC1は、電子楽器2で扱うコンテンツデータを管理するコンテンツデータ管理装置の一例である。PC1は、管理ソフトウェアプログラム(管理ソフト)を実行して、本発明のコンテンツデータ管理装置として機能する。管理ソフトは、PC1に搭載された汎用のオペレーティングシステム上で動作するアプリケーションソフトウェアである。
コンテンツデータ管理装置の機能の主要な点は、電子楽器2とサーバ4との間のコンテンツデータのやり取りを仲立ちすることである。すなわち、(1)PC1のユーザは、所望のコンテンツデータをサーバ4からダウンロードする等により入手してPC1の記憶媒体に保存しておき、(2)該PC1の記憶媒体に保存されたコンテンツデータを任意に選択して、PC1と該PC1に接続した電子楽器2とを同期することで、該選択したコンテンツデータを電子楽器2に転送する。(3)PC1と電子楽器2を同期するときに、PC1は、暗号化されたコンテンツデータを復号して電子楽器2に転送する。(4)PC1と電子楽器2を同期するときに、PC1は、コンテンツデータが電子楽器でネイティブサポートされていない場合、該電子楽器2で利用できるデータに変換して電子楽器2に転送する。
図1において、PC1は、CPU(Central Processing Unit)10、ROM(Read Only Memory)11、RAM(Random Access memory)12、ハードディスク(Hard disk drive、HDD)13、USB(Universal Serial Bus)インターフェース14(USB I/O)、ネットワークインターフェース15(ネットワークI/O)、ディスプレイ16、キーボード17及びマウス18からなり、前記の各部10〜18がバスライン10Bを介して接続される。
CPU10は、ROM11、RAM12又はHDD13に記憶された各種制御プログラムを実行して、PC1の動作を制御する。RAM12は、CPU10が実行するプログラムのロード領域やワーク領域に使用する。ROM11、RAM12又はHDD13には前記各種制御プログラムの1つとして、前述の管理ソフトウェアプログラム(管理ソフト)が記憶される。CPU10は、ユーザの指示に応じて前記管理ソフトを実行し、PC1をコンテンツデータ管理装置として機能させる。
HDD13は、サーバ4からダウンロードした各種コンテンツデータを含む管理ソフトに関連する各種データを記憶する記憶媒体(記憶部)の一例である。記憶媒体は、HDDに限らず、フラッシュメモリ、フレキシブルディスクドライブ(FDD)、CD?ROMドライブ、或いは、光磁気ディスク(MO)ドライブ等、従来知られるどのような外部記憶装置で構成してもよい。
USB I/O14は、電子楽器2と接続するためのインターフェース(第1接続部)の一例である。PC1はUSB I/O14に接続されたローカルケーブルにより電子楽器2と接続できる。PC1と電子楽器2との接続は、USB(Universal Serial Bus)に限らず、IEEE1394、或いは、RS−232Cなど、PCと周辺機器を接続するために従来知られる汎用インターフェース規格を適用できる。ネットワークI/O15は、PC1を通信ネットワーク3に接続するインターフェース(第2接続部)であり、例えばEthernet(登録商標)規格に準拠するインターフェースで構成される。ディスプレイ16は、CPU10から与えられた表示制御信号に基づいて各種画面を表示する。ユーザは、キーボード17及びマウス18を使って、ディスプレイ16に表示中の画面上で各種操作を行う。
電子楽器2は、ユーザが所有する電子楽器の一例である。図1に示すとおり、電子楽器2は、CPU20、フラッシュメモリ21、RAM22、USB I/O23、MIDI I/O24、パネルスイッチ(パネルSW)25、パネル表示器26、鍵盤27、音源28、及び、音源28に接続されたサウンドシステム29からなり、前記の各部20〜28がバスライン20Bを介して接続される。CPU20は、フラッシュメモリ21又はRAM22に記憶された各種制御プログラムを実行して、電子楽器2の動作を制御する。フラッシュメモリ21は、サーバ4等から入手した各種コンテンツデータ(PC1から転送された各種コンテンツデータ)を保存する不揮発性の記憶媒体として利用される。RAM22は、CPU20が実行するプログラムのロード領域やワーク領域に使用する。
電子楽器2はUSB I/O23を介してPC1と接続できる。電子楽器2とPC1とを接続するインターフェースは、USB規格のI/Oに限らず、従来知られるどのような汎用インターフェース規格で構成してもよい。また、電子楽器2は、MIDI I/O24を介して、外部のMIDI機器と接続できる。パネルSW25は電子楽器2の操作パネルに設けられた各種スイッチ類である。パネル表示器26は、電子楽器2の操作パネルに設けられたディスプレイやスイッチ状態等を示すLED表示器を含む。ユーザは、パネルSW25及びパネル表示器26を用いて、例えば、電子楽器2の動作モード(機能)の設定や、音色の選択、各種パラメータの設定等、各種入力操作を行う。
複数の鍵からなる鍵盤27は楽音の発音を指示する手段の一例である。音源28は、CPU20から与えられた演奏情報に基づく楽音信号を発生する。サウンドシステム29は、デジタルアナログ変換器、アンプ及びスピーカを含み、音源28から出力された楽音信号を発音する。音源28は、周知のどのような楽音合成方式(例えばFM、PCM、物理モデル、フォルマント合成、或いは、AWM等)で構成してもよい。また、音源28は、専用のハードウェア装置(DSP(Digital Signal Processor))で構成してもよいし、CPU20がソフトウェアプログラムを実行することにより、音源28の動作と同じ処理を実現する構成であってもよい。CPU20は、ユーザによる鍵盤27の鍵操作に応じて演奏情報を発生して、発生した演奏情報を音源28に入力する。
サーバ4は、メーカーが通信ネットワーク3上に用意したサーバコンピュータであり、電子楽器2で利用する各種コンテンツデータを配信(販売)するサービスを提供する。サーバ4は、ユーザに提供するデータ等として、各種コンテンツデータと、暗号化されたコンテンツデータを復号するための復号プログラムと、電子楽器の機種に応じて各種コンテンツデータを変換するための変換ルールであって、複数の電子楽器の機種に応じた複数の変換ルールを記憶するデータベースを有している。サーバ4は、復号プログラム、変換ルール、あるいは、管理ソフト本体等を、必要に応じて適切にアップデートしており、サーバ4には、復号プログラム、複数の変換ルール、或いは、管理ソフト本体の最新バージョンが記憶される。
サーバ4が提供するコンテンツデータ配信サービスを利用したいユーザは、サーバ4に必要な情報を登録して、自分のアカウントを作成しておく。サーバ4は、ユーザにより作成されたアカウント(真のアカウント)毎のアカウント情報を蓄積するデータベースを有しており、ユーザのアカウントを管理する。1つのアカウント情報には、少なくとも、当該アカウントのユーザを特定するユーザID(ユーザ名)と、当該アカウントにログオンするためのパスワード情報、当該アカウントに登録された電子楽器の機種を特定する機種ID、当該アカウントに登録された電子楽器の装置個体を特定するユニークID、及び、前記ユーザが保有するライセンスを示すライセンス情報が含まれる。
図2は、PC1のHDD13に記憶されるデータ構成例である。HDD13には、サーバ4等から入手した各種コンテンツデータを蓄積する複数種類のライブラリ(Voiceライブラリ30、Styleライブラリ31、OTSライブラリ32、Songライブラリ33、Effectライブラリ34、Bookライブラリ35・・・)と、アカウント情報36と、復号プログラム37と、変換ルール38と、選択データ39とが記憶される。記憶容量の大きいPC1のHDD13に、サーバ4から入手した各種コンテンツデータを蓄積するので、サーバ4等から入手したコンテンツデータを、メモリ容量をあまり気にすることなく大量に保存でき、また、それらコンテンツデータを一箇所で統一的に管理できる。なお、HDD13内において、これらの各データは、図2に示されるように整然と並んで記憶される必要はなく、それぞれ個別のファイルとして任意の位置に分散して記憶されていてよい。
Voiceライブラリ30は、Voiceデータ(音色データ)を多数蓄積する。Styleライブラリ31は、Styleデータ(自動伴奏データ)を多数蓄積する。OTSライブラリ32は、OTSデータ(ワンタッチセッティングデータ)を多数蓄積する。Songライブラリ33は、Songデータ(自動演奏データ)を多数蓄積する。Effectライブラリ34はエフェクト処理用のプラグインプログラムを多数蓄積する。Bookライブラリ35は楽譜等の各種テキストデータを多数蓄積する。なお、各ライブラリ30〜35内の各コンテンツデータの説明は後述する。
HDD13の各ライブラリ30〜35には、複数機種向けの複数種類のフォーマットのコンテンツデータが混在している。すなわち、HDD13中のコンテンツデータ群には、電子楽器2でネイティブサポートしているデータもあれば、ネイティブサポートしていないデータもある。ここで、「或る電子楽器が、或る種類のデータをネイティブサポートする」とは、「その電子楽器が、そのフォーマットのデータを利用するために必要な機能を備えている」という意味である。また、HDD13の各ライブラリ30〜35に記憶されたコンテンツデータには、暗号化されたコンテンツデータが含まれている。例えば著作権保護が必要なコンテンツデータは暗号化されている。そのため、記憶されている各コンテンツデータには、その対象とする機種を示すタイプ情報、そのフォーマットを示すフォーマット情報、および、その著作権保護の状態を示すプロテクト情報が含まれている。
アカウント情報36は、サーバ4に保存されている真のアカウントのレプリカ(複製)である。1つのレプリカのアカウント情報36は、対応する真のアカウント(サーバ4に保存されているアカウント)と同じ情報、すなわち、当該アカウントのユーザのユーザIDと、当該アカウントにログオンするためのパスワード情報と、当該アカウントに登録された電子楽器の機種を特定する機種IDと、当該アカウントに登録された電子楽器の装置個体を特定するユニークIDと、前記ユーザに対して発行されたライセンスを示すライセンス情報とを含んでいる。PC1が通信ネットワーク3に接続された状態では、サーバ4の当該ユーザの(真の)アカウント情報と、PC1の当該ユーザの(レプリカの)アカウント情報36とが自動的に同期(両情報が一致するよう制御されること)するので、当該ユーザが、PC1の該アカウント情報36を使ってログオンすることにより、サーバにある当該ユーザの真のアカウントにログオンして、管理ソフトのライセンス管理機能を利用することができる。このとき使用されたレプリカのアカウント情報36は、HDD13に保持される。そして、PC1が通信ネットワーク3に接続されていない状態であっても、PC1の当該ユーザのレプリカのアカウントにログオンし、ライセンス管理機能を利用することができるようになっている。なお、何れのアカウントでもログオンしていない場合には、ユーザは、当該管理ソフトのライセンス管理機能を利用することができない。
復号プログラム37は、ライブラリ30〜35中の暗号化されたコンテンツデータを復号する。暗号化されたコンテンツデータは、ログオン中のアカウントのユーザに対してライセンスが付与されている場合、復号プログラム37により復号されて、電子楽器2で利用できるようになる。復号プログラム37は、従来から知られる種々の暗号化技術を用いて構成してよい。
変換ルール38は、電子楽器2でネイティブサポートしていないコンテンツデータを、該電子楽器2がネイティブサポートするコンテンツデータに変換して利用可能にする。変換ルール38は、その変換に用いる複数の手順(ルール)を規定するデータであって、例えば、その変換を行う変換プログラムの動作を決める変換パラメータであってもよいし、或いは、その変換を行う変換プログラムそのものであってもよい。電子楽器2でネイティブサポートしていないコンテンツデータは、過去の機種で使われていたフォーマットのコンテンツデータ(例えば、ディスクオーケストラ(TM)形式のSongデータ)、逆に、新しい機種から使われるようになったフォーマットのコンテンツデータ、或いは、サポートされているデータフォーマットであっても、特定の機能乃至能力(例えば、波形データの特定の圧縮方式、物理モデルやFMなど特定方式の音源)が要求されるコンテンツデータ(例えば、特定の圧縮方式で圧縮された波形データを含むVoiceデータ、特定方式の音源を駆動するためのSongデータ)など、とにかく、変換しなければ電子楽器で利用できないデータである。
HDD13には、1又は複数の電子楽器の機種に対応した1又は複数の変換ルール38が保存される。一例として、全ての機種に対応する変換ルール38(サーバ4に用意されている全変換ルール)をHDD13に保存する構成を採用できる。この構成の場合、接続した電子楽器2の機種に対応する変換ルール38の存否を気にすることなく、コンテンツデータの変換を行うことができる。別の例として、少なくともアカウント情報36に登録されている1又は複数の電子楽器の機種に対応する1又は複数の変換ルール38だけ(サーバ4に用意されている全変換ルールの一部だけ)を、HDD13に保存する構成を採用できる。この構成の場合、ユーザに対して自身が有する電子楽器2の全てを漏れなくアカウントに登録しておくよう促すことができる。
選択データ39は、後述する同期化処理のときに同期すべき複数のコンテンツデータを特定する複数のポインタを含むリストデータである。後述する同期化ダイアログにおいて、ユーザが各種ライブラリ30〜35の中から同期すべきコンテンツデータを追加で選択したとき、HDD13に記憶されている選択データ39には、該選択されたコンテンツデータへのポインタが追加される。HDD13には複数の選択データ39を記憶できる。複数の選択データ39がある場合、ユーザは、同期化処理の実行を指示するときに、いずれの選択データ39を用いて同期化処理を行うかを指定できる。なお、選択データ39は、リストデータであるので、どのコンテンツデータを記憶するか指定するだけでなく、それら複数のポインタで指定された複数のコンテンツの、電子楽器2内での並び順(Voice番号、Style番号・・・)をも指定する。
図3は、電子楽器2のフラッシュメモリ21に記憶されるデータ構成例である。フラッシュメモリ21には、後述の同期化処理によってPC1のHDD13から転送された各種コンテンツデータ(Voiceデータ群40、Styleデータ群41、OTSデータ群42、Songデータ群43、Effectデータ群44、Bookデータ群45・・・)が多数蓄積されるとともに、当該電子楽器2を特定するためのID情報46が記憶されている。フラッシュメモリ21内において、これらの各データは、図3に示されるように整然と並んで記憶される必要はなく、それぞれ個別のファイルとして任意の位置に分散して記憶されていてよい。
ID情報46は、当該電子楽器2の機種を特定する機種IDと、当該電子楽器2の個体をユニークに特定するユニークIDとを含む。ID情報46は、ユニークIDと機種IDとからなる構成(機種IDとユニークIDとをそれぞれ独立したデータとして持つ構成)に限らず、1つのデータで、その装置の機種と、装置個体とが特定できる構成(ユニークIDが機種IDを含む構成)であってもよい。
各コンテンツデータ群40〜45に含まれる各コンテンツデータは、それぞれ、先述したタイプ情報、フォーマット情報、プロテクト情報に加えて、そのデータを特定する情報(データの名前、データサイズ)、コンテンツの実体的なデータ、などを含む。Voiceデータ40は、電子楽器2で発音する楽音の音色データであり、音色の生成に用いる波形データや各種パラメータを含む。電子楽器2のCPU10は、Voiceデータ40を使って、対応する音色を音源28に設定できる。
Styleデータ41は、電子楽器2の自動伴奏機能で用いる自動伴奏データであり、MIDIイベントで構成される。電子楽器2は、Styleデータ41を使って、対応するスタイルの自動伴奏(MIDIイベントの再生)を行うことができる。OTS(ワンタッチセッティング)データ42は、電子楽器2の各種パラメータ等の設定状態をワンタッチで呼び出すためのデータである。電子楽器2は、OTSデータ42を使って、対応する設定状態を呼び出す(各種パラメータを一括変更する)ことができる。
Songデータ43は、電子楽器2の自動演奏機能で用いる曲(ソング)データであり、MIDIイベントで構成される。電子楽器2は、Songデータ43を使って、対応する曲の自動演奏(MIDIイベントの再生)を行うことができる。Effectデータ44は、エフェクト処理用のプラグインプログラムである。電子楽器2は、Effectデータ44を使って、対応する種類の効果を、音源28で生成する楽音に付与できる。Bookデータ45は、例えば楽譜等のテキストデータである。電子楽器2は、Bookデータ45を使って、パネル表示器26に楽譜等のテキスト、画像等を表示できる。
PC1で管理ソフトを実行する時、ユーザは、アカウントにログオンして、その管理ソフトの使用を開始する。図4は、PC1においてユーザが管理ソフトの起動したとき、PC1のCPU10が実行する処理のフローチャートである。
図4のステップS1において、CPU10は管理ソフトを初期化して、ディスプレイ16に管理ソフトウィンドウを表示する。管理ソフトウィンドウは、管理ソフトを起動したときに立ち上がる所定画面(メインウィンドウ)である。管理ソフトウィンドウには、ログオンするアカウントの指定を行うための入力ボックスや、新たなアカウントの作成を指示するボタン等が設けられている。
ステップS2において、CPU10は、PC1が通信ネットワーク3を介してサーバ4と接続しているか否かを調べる。一例として、PC1が通信ネットワーク3に接続していれば、管理ソフト起動時に自動的にPC1とサーバ4と接続するよう構成できる。PC1がサーバ4と接続している場合(ステップS2のYES)、ステップS3において、CPU10は、サーバ4と通信して、サーバ4に記憶されている各種ルーチン及び各種データにアップデートがあるか否か確認する。アップデート確認する各種ルーチン及び各種データは、例えば、復号プログラム、変換ルール、あるいは、管理ソフト本体である。
サーバ4にて各種ルーチン及び各種データにアップデートがある場合(ステップS3のYES)、ステップS4において、CPU10は、アップデートされた各種ルーチン及び各種データをサーバ4からダウンロードして、HDD13に保存されている各種ルーチン及び各種データを、最新バージョンに自動更新する。管理ソフト起動時に前記ステップS3〜S4により、PC1のユーザは手間をかけることなく簡単にHDD13の復号プログラム37、変換ルール38、あるいは、管理ソフト本体等の各種ルーチン及び各種データを最新バージョンにアップデートできる。なお、アップデートがない場合は(ステップS5のNO)、CPU10はステップS5に処理を進める。
ステップS5において、CPU10は、ユーザに、ログオンするアカウントとして、管理ソフトのログに記録されている1又は複数のアカウント情報のユーザIDのうち1つのユーザIDを選択させるか、又は、ログにない任意のユーザIDを指定させる。管理ソフトは、過去にログオンしたアカウントのアカウント情報をログとして記録するログ機能を有しており、各ユーザIDでのログオンが成功する毎に、そのユーザIDのアカウント情報を、ログとしてHDD13に書き込む。アカウントの指定は、例えば、メインウィンドウにアカウントを特定する情報を入力ボックスがあり、該入力ボックスにログにある全アカウント情報のユーザIDをリスト表示して、リスト中の1つのユーザIDを選択させるか、又は、該入力ボックスにてログに記録されていない任意のユーザIDを入力させることで行う。このユーザID(ユーザ名やメールアドレスなど)によって、1つのアカウントが特定される。
ステップS6において、CPU10は、サーバ4と通信して、サーバ4に指定されたユーザIDのユーザアカウントが存在するか確認し、存在している場合には、その真のアカウント情報をサーバ4から取得して、PC1のHDD13にあるレプリカのアカウント情報36に上書きする。これ以降、当該ユーザのアカウント情報は、サーバ4とPC1との間で同期(相互にデータが一致)するよう制御される。一方、サーバ4にそのユーザIDのユーザアカウントが存在しない場合は、ユーザに対して、アカウントが存在しない旨の警告を行い、ユーザIDの再入力を促す。ここで、ユーザが、該再入力の代りに、そのユーザIDで新規アカウントを作成できるようにしてもよい。
一方、PC1がサーバ4と接続していない場合(ステップS2のNO)、ステップS7において、CPU10は、ユーザに、ログに記録されている1又は複数のアカウント情報のユーザIDのうち何れか1つのユーザIDを、ログオンするアカウントを特定するユーザIDとして選択させる。なお、ログにないユーザIDについては、電子楽器内に対応するアカウント情報がないため、ここではログオンの対象にできない。
ステップS8において、CPU10は、前記ステップS5又はS7でユーザに選択又は指定されたアカウントにログオンするためのパスワードを入力させて、該入力されたパスワードとHDD13に保存されているアカウント情報36の情報中のパスワード情報とに基づいてログオン判定する。入力されたパスワードが正しければ、当該アカウントにログオンして処理を終了する。入力されたパスワードが正しくない場合は、例えばログオン失敗した旨をディスプレイ16に表示して、処理を終了する。HDD13に保存されたレプリカのアカウント情報36を使ってログオン判定しているので、サーバ4と接続していない場合でもログオンできるようになっている。この場合、管理ソフトの機能のうち、各ライブラリへの新たなコンテンツの追加、削除、選択データの編集、および、その選択データに基づく電子楽器とのコンテンツの同期等の機能を実行することができるが、アカウント情報の変更、新規ライセンスの取得(購入)、サーバ4からの各種データのダウンロード等の機能は、サーバ4との接続が無い状態では利用できない。すなわち、サーバ4との接続が無い状態では、ユーザは、PC1側のレプリカのアカウント情報36に新たなアカウントを追加したり、既存のアカウントを変更したりすることはできない。さらに、サーバ4と接続している場合には、ログオンできた旨がサーバ4に通知され、サーバ4とPC1における当該ユーザのアカウントは共にログオン状態となる。
なお、図4では、前記ステップS8でアカウントにログオンする前に、前記ステップS4で各種ルーチン及び各種データのアップデートを実行する構成を説明したが、アカウントにログオンした後に各種ルーチン及び各種データのアップデートを実行する構成でもよい。その際、ユーザに承認を求め、ユーザの承認を得てからアップデートするようにしてもよい。
また、前記ステップS2をNOに分岐した場合(サーバ4と接続せずにアカウントにログオンした場合)、図4の処理の後、PC1とサーバ4との接続が確立されたときに、ユーザに対して、該接続の確立を通知するとともに、現在ログオンしているユーザIDのサーバ4側のアカウントにログオンするか否かをユーザに問い合わせ、ユーザの肯定に応じて、前記ステップS5、S6、S8と同様の一連の処理により、当該ユーザIDのサーバ4の真のアカウントにログオンできるようにしてもよい。また、ユーザは、随意にログオン中のアカウントからログオフしたり、別の新たなアカウントにログオンしたりできる。
前記図4の処理により、サーバ4の真のアカウントにログオン(以下、ログオン中のアカウントを「現アカウント」という)したPC1のユーザは、サーバ4から所望のコンテンツデータをダウンロードできる。例えば、ユーザがメインウィンドウにおいて各種コンテンツデータの販売を行うWebページを開く指示(当該ページのURL(Uniform Resource Locator)指定等)を行うと、PC1はサーバ4からコンテンツ販売ページの情報を取得して、取得した情報に基づいてコンテンツデータ販売ページをディスプレイ16に表示する。PC1のユーザは、コンテンツデータ販売ページにおいて所望のコンテンツデータを選択して、そのコンテンツデータの入手をサーバ4に対して要求できる。PC1は、該コンテンツデータの要求を、サーバ4に送信する。なお、コンテンツデータの入手の要求に先だって、ユーザが、そのコンテンツデータの試聴等をできるようにしてもよい。特に、有料のコンテンツについては、試聴等してからライセンスを購入できるようにすることが望ましい。
図5は、PC1からコンテンツデータの要求を受けたときに、サーバ4が実行する処理のフローチャートである。サーバ4は、ステップS9において、PC1からのコンテンツデータの要求に応じて、該要求されたコンテンツデータを特定して、該要求されたコンテンツデータが有料か否か判定する。有料のコンテンツデータは、例えば著作権保護が必要なデータなど、暗号化され、ライセンス管理が行われるデータである。有料の場合(ステップS9のYES)、ステップS10において、PC1の現アカウントに対する決済処理を行う。決済処理は、要求されたコンテンツデータの購入確認や、該コンテンツの対価請求等を含むもので、従来知られるオンライン決済処理の技術を適用できる。
前記決済処理によりコンテンツデータの購入が確定した場合(ステップS11のYES)、サーバ4は、ステップS12において、要求されたコンテンツデータを、当該アカウントで復号できるように変更して、例えば、当該アカウントに専用の復号キーを暗号化されたコンテンツデータに付与して、PC1に送信する。同時に、サーバ4は、現アカウントのアカウント情報に、今回購入されたコンテンツデータのライセンス情報を追加登録する。
PC1のCPU10は、前記ステップS12でサーバ4から送信されたコンテンツデータを受信して、該受信したデータを暗号化された状態でHDD13中の対応するライブラリ30〜35に保存するとともに、HDD13内の現アカウントのアカウント情報36に、今回購入したコンテンツデータのライセンス情報を追加登録する。ライセンス情報は、現アカウントのユーザに対して当該コンテンツデータのライセンスが付与されていることを示す情報である。サーバ4およびPC1において、追加登録されるライセンス情報は、付与された復号キーそのものであってもよい。或いは、そうはせずに、この追加登録されたライセンス情報に基づいて、復号キーの再発行を、ユーザが、サーバ4に対して要求できるようにしてもよい。前記決済処理で購入がキャンセルされた場合は(ステップS11のNO)、サーバ4は当該処理を終了する。
一方、要求されたコンテンツデータが無料の場合(ステップS9のNO)、サーバ4は、ステップS13において、要求されたコンテンツデータを、暗号化せずに、そのまま、PC1に送信する。有料ではないコンテンツデータは、例えば著作権保護が不要なデータなど、暗号化によるライセンス管理を行わないデータである。
前記図5の処理により、PC1のユーザは、サーバ4から所望のコンテンツデータをダウンロードして、該コンテンツデータをHDD13中の対応するライブラリ30〜35に保存することができる。PC1の記憶媒体に保存されたコンテンツデータを任意に選択して、PC1と電子楽器2を同期する動作について図6〜図9を参照して説明する。
ユーザは、PC1のUSB I/O14に接続したローカルケーブルを使って、PC1の同期相手となる電子楽器2を接続して、接続した電子楽器2を管理ソフトの管理対象に設定できる。USB I/O14に電子楽器2が接続されたとき、PC1のCPU10は該電子楽器2の接続を検出する。図6は、電子楽器2の接続を検出したときに、PC1のCPU10が実行する処理のフローチャートである。ステップS14において、CPU10は、検出された電子楽器2と通信して、その電子楽器2のフラッシュメモリ21に記憶されたID情報46(機種IDとユニークID)を取得する(機種ID取得部、ユニークID取得部)。ステップS15において、CPU10は、HDD13に保存されている現アカウントのアカウント情報36に基づいて、前記ステップS14で取得したID情報46に含まれるユニークID(検出された電子楽器2)が現アカウントに登録済みか否か判定する。複数台の電子楽器2が接続されている場合、ここでは、そのうちの少なくとも1台が現アカウントに登録されていれば、「登録済み」と判定し、1台も登録されていなければ、「登録済みでない」と判定する。
前記ユニークIDが現アカウントのアカウント情報36に登録済みであれば(ステップS15のYES)、CPU10は、ステップS16において、前記検出された電子楽器2を管理対象、又は、管理対象候補に設定して処理を終了する。すなわち、PC1に、現アカウントに登録済みの電子楽器2が1台だけ接続されている(管理対象候補となる電子楽器が1台しかない)場合は、CPU10は、自動的に、当該管理ソフトに基づいてCPU10がコンテンツの管理を行うべき「現在の管理対象の電子楽器」(以下、管理対象と呼ぶ)に設定する。現アカウントに登録済みのPC1に電子楽器2が複数台接続されている(管理対象候補となる電子楽器2が複数台ある)場合は、CPU10は、それら電子楽器2を管理対象候補としておき、複数の管理対象候補のうち1つをユーザが管理対象に指定できるようにする。さらに、電子楽器2の発見時だけでなく、任意のタイミングで、管理対象の電子楽器2をユーザが指定できるようにしてもよい。
一方、前記ユニークIDが現アカウントのアカウント情報36に登録されていない場合(ステップS15のNO)、ステップS17においてCPU10は、PC1がサーバ4と接続中かどうか調べる。サーバ4と接続している場合(ステップS17のYES)、CPU10は、ステップS18において、例えばディスプレイ16に登録可否確認ダイアログを表示して、検出された電子楽器2を現アカウントに登録するか否かをユーザに確認する。
検出された電子楽器2を現アカウントに登録する場合(ステップS18のYES)、CPU10は、ステップS19において、前記ステップS14で取得した当該電子楽器2のID情報46(ユニークIDと機種ID)をHDD13に保存されている現アカウントのアカウント情報36に追加登録する。ここで、PC1の該アカウント情報36は、サーバ4に記憶されている現アカウントの真のアカウント情報と同期しているので、サーバ4の対応する真のアカウント情報にも、同じID情報46が追加登録される。これにより、検出された電子楽器2が現アカウントに追加登録される。このように、PC1がサーバ4に接続されているときには、新たな電子楽器2のID情報46を、現アカウントに追加登録することができる。なお、各アカウントに登録できる電子楽器2の数を、所定数に制限するようにしてもよい。
サーバ4は、今回新たに追加登録された電子楽器2の機種ID(前記送信されたID情報46の機種ID)に基づいて、当該電子楽器2の機種に対応する変換ルールを特定して、該特定した変換ルールをPC1に送信する。ステップS20において、PC1のCPU10は、サーバ4から受信した変換ルールを、HDD13に書き込む。これにより、当該追加登録された電子楽器2の機種に対応する変換ルール38がHDD13に保存される。なお、その変換ルールが、既にPC1のHDD13に記憶されている場合には、サーバ4は、その変換ルールの送信処理を省略してよいし、PC1は、その変換ルールのHDD13への保存処理を省略してよい。とにかく、PC1のHDD13には、現アカウントに登録されている全ての電子楽器用の変換ルールが記憶される。そして、CPU10は、前述したステップS16において、今回検出した電子楽器2を管理対象、又は、管理対象候補として設定して、処理を終了する。管理対象の電子楽器が後述の同期化処理の対象である。
一方、PC1がサーバ4と接続していない場合(ステップS17のNO)、又は、今回検出された電子楽器2を現アカウントに追加登録しない場合(ステップS18のNO)、CPU10は、ステップS21において、検出した電子楽器2を管理ソフトによる管理対象外として、処理を終了する。管理対象外の電子楽器2は後述の同期化処理の対象として指定することができない。
図7は、同期すべきコンテンツの選択や同期化処理の実行指示を行う同期化ダイアログを示す。また、図8は、同期化ダイアログに関してPC1のCPU10が実行する処理のフローチャートである。この処理は、ユーザが同期化ダイアログのオープンを指示したときに起動する。同期化ダイアログのオープンは、例えば、管理ソフトのメインウィンドウから指示できる。ステップS22において、CPU10は、ユーザによる同期化ダイアログの開始指示に応じて、図7に示す同期化ダイアログ50をディスプレイ16に表示する。ユーザは、PC1のキーボード17及びマウス18を用いて、同期化ダイアログ50において各種画面操作を行い、各種操作に応じた指示を入力できる。CPU10は、図8のステップS23〜27により、同期化ダイアログ50においてユーザが行った画面操作に応じた処理を行う。
図7は、同期化ダイアログ50の一例である。同期化ダイアログ50の上部には、複数の選択タブ51が帯状に並べて設けられている。選択タブ51は、同期化ダイアログ50内の表示内容を切り替えるボタンとして機能する。図7では、選択タブ51群として、「Voice」タブ、「Style」タブ、「OTS」タブ、「Song」タブ、「Effect」タブ、「Book」タブ、及び、「設定」タブがある。
ユーザがいずれか1つの選択タブ51を選択したとき(ステップS23のYES)、CPU10は、同期化ダイアログ50内の表示内容を、該選択された選択タブ51に応じた操作画面に切り替える(ステップS24)。選択タブ51の選択に応じて表示が切り替わるのは、同期化ダイアログ50内の操作画面部分のみであり、複数の選択タブ51の帯と同期化ダイアログ50左上のクローズボタン60は常時(いずれの選択タブ51を選択中であっても)表示される。
選択タブ51のうち「Voice」タブ、「Style」タブ、「OTS」タブ、「Song」タブ、「Effect」タブ及び「Book」タブは、それぞれ、HDD13内のVoiceライブラリ30、Styleライブラリ31、OTSライブラリ32、Songライブラリ33、Effectライブラリ34及びBookライブラリ35に対応しており、これらのいずれかのタブ51が選択されたときには、選択されたタブ51に対応するライブラリが同期化処理の対象ライブラリとして選択されるとともに、そのライブラリのコンテンツデータの同期化に関する操作画面が、同期化ダイアログ50に表示される。この操作画面は、選択されたタブ51に対応するライブラリから同期すべきコンテンツデータを選択し、選択されたコンテンツデータの同期実行を指示する画面である。具体的には、図7に示すように、ライブラリ欄52と、選択データリスト欄53と、追加ボタン54と(Add)、削除ボタン55(Delete)と、同期実行ボタン56(同期実行)と、クリアボタン57(Clear)からなる。なお、「設定」タブが選択されたときは、CPU10は、同期化ダイアログ50内に、管理対象とする電子楽器を変更する画面を表示して、ユーザに複数の管理対象候補の電子楽器のうち1つを管理対象に指定させる。さらに、その「設定」タブの画面で、ログインしているアカウントを、別のユーザのアカウントに切り換えができるようにしてもよい。
CPU10は、同期化ダイアログ50内の操作画面で各種操作があったとき(ステップS25のYES)、該各種操作に応じた処理を行う(ステップS26)。そして、同期化ダイアログ50を閉じる指示が行われない限り(ステップS27のNO)、CPU10は、ステップS23〜S27の処理をループする。クローズボタン60の操作により同期化ダイアログ50を閉じる指示が行われたとき(ステップS27のYES)、CPU10は、同期化ダイアログ50をディスプレイ16から消去して(ステップS28)、図8の処理を終了する。
前記ステップS26の各種操作に応じた処理には、例えば、マウス18の移動操作に応じて移動するマウスカーソルの、ダイアログ50内での移動に関する処理、ライブラリ欄52ないしデータリスト欄53でのマウス18のクリック操作に応じて、その時点でのマウスカーソルの位置のデータを選択する処理、追加ボタン54でのマウス18のクリック操作に応じて、ライブラリ欄52で選択されたデータを、ライブラリ欄52から消去し選択データリスト欄53に追加する処理、削除ボタン55でのマウス18のクリック操作に応じて、選択データリスト欄53で選択されたデータを、選択データリスト欄53からデータを消去しライブラリ欄52に追加する処理、及び、同期化実行ボタン56でのマウス18のクリック操作(同期化実行の指示)に応じて行われる同期化処理が含まれる。以下に、図7に示す同期化ダイアログ50内の操作画面の構成と、操作画面内の各種操作に応じた処理について説明する。
ライブラリ欄52は、選択された選択タブ51に対応するライブラリ30〜35に含まれる個別のコンテンツデータの情報を表示する領域(ペイン)である。ライブラリ欄52内には、各コンテンツデータの情報として、コンテンツデータの名前と、そのデータサイズが表示される。ライブラリ欄52の下側には、現アカウントの「ユーザ名」と、管理対象の楽器の名前(「あなたの楽器」)と、当該ライブラリの当該選択データリストに関して、当該管理対象の楽器との間で前回同期化処理を実行した日時(「最後の同期日」)とが表示される。
図7では、斜線で示す「Voice」タブが選択された状態が示されており、ライブラリ欄52には、Voiceライブラリ30に含まれるVoiceデータの情報が表示されている。ライブラリ欄52の上側には、現在表示中のライブラリ名(Voice Library)が表示される。表示すべき全データの情報がライブラリ欄52の表示範囲内に収まらない場合は、スクロールバー58を使って表示させるデータの範囲を移動できる。HDD13の各ライブラリには、膨大な数のコンテンツデータ群を保存できるが、ここでライブラリ欄を表示するPC1のディスプレイ16は、電子楽器2のパネル表示器26より高精細であるので、ライブラリに記憶されているコンテンツデータの確認・管理をより容易に行える。また、電子楽器2側では、ライブラリの確認・管理を行う必要がない。
一例として、ライブラリ欄52には、選択されたライブラリ(Voiceライブラリ30)に蓄積されている1又は複数のコンテンツデータ(音色データ)のうち、管理対象の電子楽器2(ライブラリ欄52下方の「あなたの楽器」に表示)で利用可能なデータであり、且つ、現アカウントのログオンユーザ(ライブラリ欄52下方の「ユーザ名」に表示)がライセンスを有しているデータを、表示している。
前記「管理対象の電子楽器2で利用可能なデータ」は、当該電子楽器2がネイティブサポートしているデータと、変換ルール38を用いて変換することにより当該電子楽器2で利用可能となるデータを含む。また、前記「ユーザがライセンスを有しているデータ」は、前記図5のコンテンツデータ購入処理によりユーザが正規に購入した有料の著作権保護コンテンツデータだけでなく、著作権保護されていない無料のコンテンツデータも含む。
選択タブ51でライブラリ30〜35の何れか1つに対応するタブが選択されたとき(ステップS23のYES)、CPU10は、選択されたタブに対応する1つのライブラリの各コンテンツデータについて、
(1)管理対象の電子楽器2で利用するために変換が必要か否か(電子楽器2がネイティブサポートするデータか否か)を判定し、変換が不要である場合は、そのデータをライブラリ欄52に表示して、他方、変換が必要の場合は、そのデータを該電子楽器2の機種に対応する変換ルール38を用いて当該電子楽器2の機種で利用可能なデータに変換可能かどうか判断し、変換可能の場合は、そのデータをライブラリ欄52に表示し、変換不可能の場合はそのデータを不表示とする処理(ステップS24)と、
(2)当該コンテンツデータが暗号化されているか否か(著作権保護されたデータか否か)を判定し、暗号化されているデータ(保護されたデータ)の場合は、さらに、現アカウントのアカウント情報36に当該データのライセンス情報が登録されているか否かを判定して、現アカウントのユーザ(ライブラリ欄52下方の「ユーザ名」に表示)にライセンスが与えられたデータ(ライセンスされたデータ)の場合、又は、無料コンテンツデータ(保護されていないデータ)の場合、そのデータをライブラリ欄52に表示し、他方、ライセンスを持たない暗号化されたコンテンツデータ(ライセンスされていないデータ)を不表示とする処理(ステップS24)とを行う。なお、保護されていないデータは、例えば、無料のコンテンツデータなどである。また、ステップS24の処理では、「変換が不要」または「変換可能」なコンテンツデータであっても、「ライセンスされていない」データについては、ライブラリ欄52への表示は行われず、「保護されていない」または「ライセンスされている」コンテンツデータであっても、「変換不可能な」データについては、ライブラリ欄52への表示が行われない。
ユーザは、マウス18を用いて、同期化ダイアログ50のライブラリ欄52中の所望のコンテンツデータに、マウスカーソルを移動してクリック操作すること(選択操作)により、該所望のコンテンツデータを、続く操作の対象となるデータ(対象データ)として選択できる。ライブラリ欄52でデータ選択操作があったとき(前記ステップS25のYES)、CPU10は、該データを選択する処理を行う(ステップS26)。図7では、ライブラリ欄52の音色名「S90」のデータが選択されており、斜線付き囲み59で示されている。
選択データリスト欄53は、HDD13に記憶されている1又は複数の選択データ39に基づいて、同期すべきコンテンツデータのリストを表示する領域である。追加ボタン54は、ライブラリ欄52で対象データとして選択中のコンテンツデータへのポインタを、選択データ39に追加し、該選択されたコンテンツデータの情報(名前など)を、選択データリスト欄53に追加表示するとともに、ライブラリ欄52から消去する(前記ステップS26)。既に説明したとおり、選択データ39は、コンテンツデータへのポインタを複数含むリストデータであり、ここでは、そのリストデータの最後に新たなコンテンツデータへのポインタが1つ追加される。ライブラリ欄52でデータを選択して、該選択されたデータへのポインタを選択データリスト欄53に追加する構成が、HDD13に保存された複数コンテンツデータの中から、同期すべきデータを選択する選択部である。
選択データはリストデータであるので、そこに含まれる複数のポインタは、それぞれリスト内での順番を有する。選択データリスト欄53には、そのリストに登録された順番に、同期すべきコンテンツデータ、すなわち、リストの各ポインタが示すコンテンツデータの情報(その名前とデータサイズ)が並べて表示される。データのリスト登録順が後述する同期化処理のときに処理対象の順番となる。ユーザは、選択データリスト欄53のコンテンツデータをマウス18を用いてクリックして、1つ対象データとして選択した後、「Up」ボタン61、及び「Down」ボタン62をクリック操作することにより、その対象データのリスト内における登録順を自由に変更することができる。選択データリスト欄53に登録されている全コンテンツデータの合計データサイズが管理対象の電子楽器2のフラッシュメモリ21の記憶容量を超えているときには、CPU10は、選択データリスト欄53の下側に、メモリ容量超過警告を表示する。警告表示は、警告文と合計データサイズとフラッシュメモリ21の記憶容量とを含む(「!Beyond the memory capacity(598/512MB)」)。この警告表示により、メモリ容量超過で同期化処理失敗することを防止できる。ここでは、選択データリスト欄53は、PC1の高精細なディスプレイに表示されるので、同期化すべきデータの確認・管理がより容易に行える。また、電子楽器2側では、選択データの確認・管理を行う必要がない。
削除ボタン55は、選択データリスト欄53でユーザにより対象データとして選択されているコンテンツデータへのポインタを、選択データ39から削除するボタンである。ユーザが、選択データリスト欄53において1つのコンテンツデータを対象データとして選択した状態で、削除ボタン55を操作すると(前記ステップS25のYES)、CPU10は、該選択されたコンテンツデータへのポインタを選択データ39から削除し、該選択されたコンテンツデータの情報を選択データリスト欄53から消去するとともに、同情報をライブラリ欄52に追加表示する(前記ステップS26)。
クリアボタン56は、選択データ39の内容を全てクリアするボタンである。クリアボタン56が操作されたとき(前記ステップS25のYES)、CPU10は、登録されているポインタを全て削除することにより選択データ39を空のリストデータとし、選択データリスト欄53にある全てのコンテンツデータの表示を消去するとともに、消去されたコンテンツデータの表示をライブラリ欄52に追加表示する(前記ステップS26)。
同期実行ボタン57は、同期すべきコンテンツデータをPC1から電子楽器2へ同期する指示を行うボタンである。同期化ダイアログ50において同期実行ボタン57が押されたとき(前記ステップS25のYES)、CPU10は、図9に示す同期化処理を行う(前記ステップS26)。
図9は、同期化処理の実行指示(同期実行ボタン57の操作)に応じて起動する同期化処理のフローチャートである。この実施例では、電子楽器2がPC1に接続された時点で、当該電子楽器2のユニークIDに基づいて、当該電子楽器2が現アカウントに登録されているか否かの判定(前記図6のステップS15)を行っているので、同期化処理の対象となる電子楽器2は必ず現アカウントに登録済みの電子楽器2であり、現アカウントに未登録の電子楽器を対象とする同期化開始指示は行われないようになっている。つまり、この管理ソフトは、サーバ4に登録されているユーザの、同登録されている電子楽器に対してのみ、コンテンツデータを管理するサービスを提供するのである。
ステップS29において、CPU10は、ディスプレイ16に同期化処理の進行状況の表示を行う。進行状況の表示は、例えば同期化対象の全データの同期完了時点を100%とするグラフで現在の進行状況を表示するものである。
ステップS30において、CPU10は、リストデータである選択データ39の先頭に登録されたポインタに基づいて、HDD13の対象ライブラリ(30〜35の何れか1)のコンテンツデータのうちの、そのポインタにより示される1つのコンテンツデータ(第1データ)を、最初の同期化対象として指定する。このとき、電子楽器2のフラッシュメモリ21の記憶領域40〜45のうち、対象ライブラリと同種のコンテンツデータの記憶領域がクリア(コンテンツデータを全て消去)される。
ステップS31において、CPU10は、前記ステップS30で同期化対象に指定されたコンテンツデータが著作権保護(暗号化)されているデータか否か、すなわち、復号する必要があるか否かを、そのコンテンツデータのプロテクト情報に基づいて判定する(復号判定部)。著作権保護されているコンテンツデータの場合(ステップS31のYES)、CPU10は、ステップS32において、HDD13に保存されている対応する復号プログラム37及び復号キーを使用して、そのデータを復号する(復号部)。他方、著作権保護されておらず、復号が不要の場合は(ステップS31のNO)、処理をステップS33に進める。この実施例では、ライブラリ欄52には、現アカウントのログオンユーザがライセンスを有しているコンテンツデータのみが表示されるので、同期すべきコンテンツデータとして選択されたデータのうち暗号化されたものは全て、現アカウントのユーザに対してライセンスが与えられたものであり、対応する復号プログラム37及び復号キーを用いて復号できる。
ステップS33において、CPU10は、前記ステップS30で同期化対象に指定されたコンテンツデータを当該電子楽器2で利用するために変換が必要か否か、すなわち、該コンテンツデータが当該電子楽器2でネイティブサポートするデータか否か判定する(変換判定部)。変換が必要な場合(ステップS33のYES)、ステップS34において、CPU10は、HDD13に記憶された1又は複数の変換ルール38から、現在管理対象の電子楽器2の機種IDに対応する変換ルール38を抽出し、その変換ルール38を用いて、同期化対象に指定されているコンテンツデータを、当該電子楽器2の機種で利用可能なデータに変換する(変換部)。例えば、そのコンテンツのフォーマット情報が示すフォーマット(すなわち、そのコンテンツのフォーマット)が、当該電子楽器2が読み込めないフォーマットである場合には、そのコンテンツデータを、当該電子楽器2が読み込めるフォーマットに変換すればよい。あるいは、そのコンテンツデータが、そのコンテンツのタイプ情報が示す機種が有する機能乃至能力であって、当該電子楽器2には無い機能乃至能力(例えば、波形データの特定の圧縮方式)を利用するデータを含む場合は、該コンテンツに含まれる当該データを、当該機能乃至能力を利用しないデータに変換すればよい。この実施例では、ライブラリ欄52には、管理対象の電子楽器2で利用可能なコンテンツデータ(ネイティブサポートしているデータ、及び、変換後利用可能となるデータ)のみが表示されるので、同期すべきコンテンツデータとして選択されたデータのうち変換が必要なデータは全て、電子楽器2の機種IDに対応する変換ルール38を用いて当該電子楽器2で利用可能なデータに変換できる。他方、変換が不要な場合は(ステップS33のNO)、処理をステップS35に進める。
ステップS35において、PC1のCPU10は、前記ステップS30で処理対象に指定されたコンテンツデータを、管理対象の電子楽器2に転送する。そのコンテンツデータを受信した電子楽器2では、CPU20が、該受信したコンテンツデータを、フラッシュメモリ21に保存する。そして、ステップS36において、CPU10は、ディスプレイ16における同期処理の進行状況の表示を、同期済みデータ1つ分ずつ進めるよう更新する。
ステップS37において、CPU10は、選択データ39におけるポインタの登録順に従って、直前に転送し終えたコンテンツデータを示すポインタの次のポインタに基づいて、HDD13の対象ライブラリのコンテンツデータのうちの、当該ポインタにより示される1つコンテンツデータを、次の同期化対象として指定する。そして、該指定されたデータを対象として、ステップS31〜S36の処理を行う。そして、CPU10は、選択データリストに登録されたデータがなくなるまで(ステップS38のYES)、ステップS31〜S37を繰り返す。既に説明したように、選択データ39には、同期化ダイアログ(図7)におけるユーザ操作により、任意に選択されたコンテンツデータへのポインタが、任意に指定された順番に、複数登録されている。ここでは、それらのポインタが示す全てのコンテンツデータの転送が完了するまで、ステップS31〜S37の処理が繰り返し実行される。
選択データ39に登録された全てのポインタについて処理を終えたら(ステップS38のNO)、CPU10は、ディスプレイ16に同期化処理の完了表示をして、処理を終了する。処理終了に伴い、進行状況の表示は消去される。以上の同期化処理により、PC1のHDD13の対象ライブラリに保存されたコンテンツデータのうち、選択データ39に登録された複数のポインタの示す複数おコンテンツデータを、必要に応じて復号及び/又は変換しつつ、管理対象となっている電子楽器2に順次送信し、該電子楽器2に、該送信されたコンテンツデータをフラッシュメモリ21に保存させることができる。
電子楽器2は、PC1から順次受信するコンテンツデータを、その受信した順番にフラッシュメモリ21に保存していくので、フラッシュメモリ21には、選択データ39に登録された複数の各ポインタが示すコンテンツデータが、そのポインタの選択データ39における登録順と同じ順番に保存されることになる。電子楽器2では、保存されている各コンテンツが、その保存順に基づいて選択される。例えば、ユーザによるアップ/ダウンスイッチの操作に応じて、現在選択されているコンテンツの次/前の順番のコンテンツが、その選択されているコンテンツに代えて選択される。或いは、ユーザによる番号の指定操作に応じて、指定された番号の示す順番のコンテンツが選択される。選択されたコンテンツがVoiceデータであれば、CPU20の制御の下で、ユーザによる鍵盤27の操作に応じて、音源28で、その選択されたVoiceデータに基づく音色の楽音信号が生成される。選択されたコンテンツがSongデータであれば、ユーザによる再生指示に応じて、電子楽器2では、そのSongデータに基づく自動演奏が行われる。
ここでは、同期化処理の後、電子楽器2において、選択データリスト欄53に名称が表示されている複数の各コンテンツデータが、選択データリスト欄53におけるその名称の表示順に選択できるようになっている点が重要であり、その点が実現出来るのであれば、同期化処理において、選択データ39に登録されているポインタが示す全コンテンツデータを転送する必要はなく、また、その転送を、選択データ39へのポインタの登録順に行う必要はない。例えば、同期化処理のとき、選択データ39に登録されているポインタと、電子楽器2のフラッシュメモリ21に保存されているコンテンツデータとを比較して、選択データ39の複数のポインタが示す複数のコンテンツのうち、フラッシュメモリ21に未保存のデータ(選択データ39とフラッシュメモリ21の差分)のみを送信して、必要なコンテンツデータが電子楽器2のフラッシュメモリ21に保存されるようにした上で、さらに、選択データ39そのものを電子楽器2に送信して、フラッシュメモリ21に保存し、電子楽器2では、ユーザによるコンテンツデータの選択操作に応じて、この選択データ39に基づいてコンテンツデータの選択を行うようにすればよい。この場合、各コンテンツデータを示すポインタは、そのコンテンツデータの保存場所によって変化しない、そのコンテンツデータに固有のユニークなID(Identification)でなければならない。
コンテンツデータの保護のため、電子楽器2に転送されたコンテンツデータのうち、PC1内で暗号化されていたコンテンツデータ(著作権保護されていたコンテンツデータ)については、当該電子楽器2のフラッシュメモリ21から読み出して別のデバイス(転送元のPC1を含む)に再転送することができないようにするのが良い。暗号化されていないコンテンツデータは、基本的にエディット可能であり、電子楽器2本体だけでなく、本体外でもエディットしたいという要望があるので、当該電子楽器2からPC1等の別のデバイスに再転送できるように構成するとよい。更に、もともと暗号化されていたコンテンツデータに関しても、電子楽器2本体でエディットできるように構成し、そのコンテンツデータを構成するデータのうちのエディットされたデータに関する編集情報だけ、当該電子楽器2から別のデバイスに再転送できるようにしてもよい。その場合、転送された別のデバイスのユーザは、そのコンテンツデータのライセンスを有していれば、当該別のデバイス内において、そのコンテンツにその編集情報を適用して同様にエディットされたコンテンツデータを再現できる。
なお、上記実施例では、PC1に電子楽器2が接続されたときに、前記ステップS14で、その電子楽器2から取得したID情報46に基づいて、サーバ4に新たなID情報46を登録できる(ステップS19)構成を説明したが、これに限らず、ユーザに新たなID情報を手動で入力させて登録する構成、或いは、接続されている複数の電子楽器2から取得した複数のID情報のリストを提示して、その中からサーバに登録するID情報をユーザに選択させる構成を採用してもよい。
以上説明したこの実施例によれば、電子楽器2本体内に保存するコンテンツデータの管理を、電子楽器2自身で行うのではなく、コンテンツデータ管理装置(PC1)で行うようにした構成により、フラッシュメモリ21に保存するコンテンツデータの取捨選択や、その並べ替えを、電子楽器2より操作性のよいPC1のUI(ディスプレイ16、キーボード17、マウス18等)を用いて、より効率的に行うことができる。また、コンテンツデータ管理装置(PC1)に、サーバ4と電子楽器2の中立ちをさせる構成により、サーバ4から入手したコンテンツデータ等を、電子楽器2のストレージ(フラッシュメモリ21)より容量の大きなPC1のHDD13に余裕をもって蓄積し、その中から所望のコンテンツデータを選択して電子楽器2に記憶させる。電子楽器2がサーバ4への接続機能を備えていなくても、ユーザは、サーバ4が提供するコンテンツデータを、利便性よく電子楽器2に導入することができる。
選択したコンテンツデータをPC1から電子楽器2に転送するとき、すなわち、同期化処理のとき、PC1側でコンテンツデータを適宜変換(コンバート)してから電子楽器2に転送する構成であるため、たとえ、その選択したコンテンツデータが、電子楽器2がサポートしていないフォーマット(過去の機種のフォーマット、新たに開発されたフォーマット等)や、電子楽器2にない機能を必要とするデータであっても、電子楽器2がサポートするフォーマットの、電子楽器2にある機能だけを必要とするデータとして電子楽器2に転送されるので、電子楽器2では、その選択されたコンテンツデータを利用することができる。また、PC1はネットワーク接続機能を備えており、PC1のHDD13に記憶されている管理ソフトは、サーバ4から更新データを自動で受信し更新されるようになっている。その際には、変換ルール38も自動更新される。PC1におけるソフトウェアの自動更新は、電子楽器2のファームウェアの更新に比べると、ユーザが行うべき作業も、また、更新処理自体も、極めて簡単である。自動更新により、変換ルール38に含まれるバグを速やかに修正できるだけでなく、変換ルール38を、既存のフォーマットの仕様変更、新開発のフォーマットや、新たに開発された電子楽器の機能等に、迅速に対応させることができる。
また、選択したコンテンツデータをPC1から電子楽器2に転送するとき、すなわち、同期化処理のとき、PC1側で暗号化されているコンテンツデータを復号してから電信楽器2に転送する構成であるため、電子楽器2側にデコーダ(復号プログラム37)を具備しなくても、電子楽器2において、著作権保護されたコンテンツデータを利用することができる。電子楽器2内に復号されたコンテンツデータが保存されるが、そのコンテンツデータが電子楽器2から取り出されることはなく、著作権の保護は有効なままである。また、電子楽器2に比べてリソース(データ領域、プログラム領域として使えるRAMのサイズ、CPUパワー等)が豊富なPC1を使って復号(デコード)を行うので、複雑な復号処理であっても短時間で処理できるし、また、適用する復号アルゴリズムについて、リソース不足等を理由とする制限がなくなる。PC1のネットワーク接続機能を使用すれば、変換ルール38と同様、復号プログラム37も簡単に自動更新することができる。自動更新により、復号プログラム37に含まれるバグを速やかに修正できるだけでなく、復号プログラム37を、新たに開発された暗号化方式に対応させたり、より効率化された復号アルゴリズムに変更したりすることができる。
また、PC1に復号プログラム37及び変換ルール38を備える構成であるため、電子楽器2に変換ルール及び復号プログラムを備える構成に比較して、復号プログラム37及び変換ルール38の開発や修正が容易であり、低コストでバージョンアップ可能である。
また、電子楽器2は、サーバ4と通信するためのネットワーク接続機能、コンテンツを変更するための変換ルール、暗号化コンテンツを復号するための復号プログラムを備えていなくてもよいため、電子楽器の製造コスト、電子楽器のメモリ等のリソースを縮減ないし削減できる。
なお、ユーザにサービスを提供する「サーバ4」は、必ずしも1つのサーバで構成されていなくてもよい。独立した複数のサーバであってよい。あるいは、複数台のコンピュータで構成される「クラウド」であってもよい。クラウドでは、ユーザからの要求に応じて、複数のコンピュータの中から動的に選択されたコンピュータが、対応するサービスを提供する。つまり、サーバとなるコンピュータを静的に特定することはできない。
また、図5では、コンテンツデータのダウンロードと、そのコンテンツデータのライセンスの取得とを、一度に行うようになっていたが、この2つの処理を、ユーザの別々の指示に応じて個別に行うようにしてもよい。具体的には、ダウンロードの指示に応じて、所望のコンテンツデータをサーバ4からPC1のHDD13にダウンロードする。この際には、ライセンスの取得は行わない。HDD13に記憶されているコンテンツのうち、著作権保護されているものについて、ユーザがライセンス取得を指示したとき、ステップS10と同様の決済処理を行い、そのコンテンツのライセンスキーを、サーバ4からPC1へ転送して、そのコンテンツの暗号が解除できるようにする。
また、ステップS12では、有料のコンテンツデータに、ライセンスを購入したユーザのアカウント用の復号キーを付与するようになっていたが、その代わりに、該コンテンツデータを、アカウントの秘密キーでのみ復号できるよう暗号化するようにしてもよい。
また、ステップS13では、無料のコンテンツデータを、暗号化せずにユーザに提供するようになっていたが、無料のコンテンツデータについても暗号化して提供し、その代りに、そのユーザのアカウントに専用の復号キーを無料で発行するようにしてもよい。このようにすれば、どのユーザに、当該無料のコンテンツデータを提供したか、メーカー側で把握することができる。
また、同期化ダイアログ画面(図7)における各種操作を、ユーザがマウス18を操作して行うようになっていたが、ディスプレイ16を指の接触操作が検出できるタッチパネル型のディスプレイに変更し、ユーザがタッチ操作により同期化ダイアログ画面(図7)の各種操作を行うようにしてもよい。
また、複数台の電子楽器を、同時に管理対象として設定できるようにしてもよい。その場合、同期化処理の実行指示に応じて、図9の処理が、該設定された複数台の電子楽器に対して個別に平行して実行される。
なお、上記実施例では、コンテンツデータ管理装置がPCで構成される例を説明したが、コンテンツデータ管理装置は、PCに限らず、いわゆるスマートフォンや、PDA(Personal Digital Assistant(Personal Data Assistance))など、周知の携帯型通信端末装置(携帯デバイス)で構成することもできる。