以下、この発明の実施の形態を添付図面に従って詳細に説明する。
図1は、本発明に係る1つの音楽データファイル管理装置と1つの音楽処理装置とを接続してなるシステムの構成を示すブロック図である。音楽データファイル管理装置1は、音楽データファイル3を管理する機能を実行させるためのアプリケーションプログラムを実装したコンピュータ装置である。音楽データファイル管理装置1として用いるコンピュータ装置の一例は、例えばタブレット型端末(スレートデバイス)や多機能携帯電話(スマートフォン)など、ハードウェア的操作子を殆ど持たず、専らタッチパネルを用いたタッチ操作により端末を操作するタイプの、フルタッチパネル型のモバイル端末である。なお、音楽データファイル管理装置1は、モバイル端末に限らず、デスクトップ型又はラップトップ型のパーソナルコンピュータなど、どのようなコンピュータ装置により構成されてもよい。以下、本明細書では、音楽データファイル管理装置1は、単に「管理装置」とも称される。
管理装置1に備わる適宜の記憶媒体には、1以上の音楽データファイル3を記憶するためのライブラリ100が形成される。管理装置1のユーザは、ライブラリ100内に1以上のフォルダ102を作成でき、ライブラリ100に記憶された1又は複数の音楽データファイル3を、作成したフォルダ102毎に分類して、管理できる。また、ユーザは、フォルダ102の下位にサブフォルダ(不図示)を作成して、音楽データファイル3の保存場所を更に階層化できる。
管理装置1は、ライブラリ100又はフォルダ102内の所望の記憶場所に記憶された1以上の音楽データファイル3を、ファイル名を付けて、管理できる。ファイル名は、例えば、その名前を表す文字列部分と、ファイル種類を識別するための拡張子とからなる。この管理装置1のライブラリ100又はフォルダ102が、音楽処理に用いる音楽データファイルを、ファイル名を付けて管理する管理部として機能する。
音楽処理装置2は、音楽データファイル3を処理する機能を具備する装置であり、例えば自動演奏機能を備えた電子楽器である。以下、本明細書では、音楽処理装置2は、「電子楽器」ともいう。
電子楽器2は、適宜の1又は複数の記憶媒体により構成された1又は複数のドライブ200を具備し、該ドライブ200内に用意された1又は複数のフォルダ202に、1以上の音楽データファイル3を記憶できる。或る1つのフォルダ202内に、更に下位のフォルダ202(不図示)を作成することで、音楽データファイル3の保存場所を階層化できる。なお、電子楽器2における1以上の音楽データファイル3の記憶構造、すなわち電子楽器2に備わるドライブ200の数や、ドライブ200内に作成されたフォルダ202の個数及びフォルダ202の階層構造などは、その電子楽器2の機種(その電子楽器2の機種で使用されるファイルシステムの仕様)に応じて異なる。
電子楽器2も、フォルダ202に記憶した1以上の音楽データファイル3を、それぞれにファイル名を付けて管理できる。前述の通り、電子楽器2は、機種によっては、自身で記憶する音楽データファイル3に対して、その機種に特有のファイル名付与ルールでファイル名を付けるものがある。すなわち、電子楽器2側の音楽データファイル管理は、電子楽器2の機種に特有のファイル名付与ルールに従って、ファイル名を付けている場合がある、という点で、管理装置1側の音楽データファイル管理とは異なる。
音楽データファイル3は、電子楽器2における何らかの音楽処理に用いるデータである。音楽データファイル3は、例えば、電子楽器2において自動演奏を行うために用いる演奏データである。演奏データは、楽曲毎の自動演奏(「ソングデータ」)であるとか、或いは、例えば音楽ジャンルや演奏パートなどの複数分類毎に用意された自動伴奏用データ(「スタイルデータ」)であり得る。音楽データファイル3として用いる演奏データは、MIDI規格により定義されたMIDIデータでもよいし、実際の楽器演奏や人の声あるいは自然音などをサンプリングしたオーディオ波形データでもよい。音楽データファイル3は、前記演奏データの他、例えば楽譜データなどであり得る。
管理装置1と電子楽器2とは、有線又は無線の通信経路4を介して相互接続され、所定の通信プロトコルに則り双方向通信を行う。管理装置1と電子楽器2との間の接続は、例えば、USB(Universal Serial Bus;ユニバーサル・シリアル・バス)規格又はMIDI(ミディ、Musical Instrument Digital Interface)規格に準拠するケーブル、若しくは、例えばWi−Fi(ワイファイ、Wireless Fidelity)規格等の適宜の無線LAN(Local Area Network;ローカルエリアネットワーク)を用いて行う。管理装置1と電子楽器2との間の通信に用いる通信プロトコルは、例えば、MIDI規格に準拠する情報伝達用のプロトコル(MIDIプロトコル)である。
管理装置1のユーザは、管理装置1のユーザインタフェース(典型的にはタッチパネル15)を用いて、管理装置1及び当該管理装置1に接続された電子楽器2の各々に記憶されている音楽データファイル3に対する各種管理操作を行うことができる。音楽データファイル3の管理は、例えば、管理装置1及び当該管理装置1に接続された電子楽器2の各々に記憶されている1又は複数の音楽データファイル3の一覧表示、所望の1又は複数の音楽データファイル3に対するファイル名付け、所望の1又は複数の音楽データファイル3の削除、所望の1又は複数の音楽データファイル3の記憶場所の変更、所望の1又は複数の音楽データファイル3を管理装置1から電子楽器2へ転送すること、所望の1又は複数の音楽データファイル3を電子楽器2から管理装置1へ転送すること、更には、外部から音楽データファイル3を取得すること、或いは、音楽データファイル3を生成することなど、を含む。
前述の通り、電子楽器2の機種によっては、自身で管理する音楽データファイルに、その機種に特有のファイル名付与ルールに従うファイル名を付与するものがある。そのようなファイル名付与ルールを持つ電子楽器2は、自身のファイル管理方法(ファイル名付与ルール)に合致しないファイル名を持つ音楽データファイルを、処理できないことがある。本発明に係る管理装置1は、詳しくは後述する通り、音楽データファイル3を電子楽器2へ転送する前に、転送先の電子楽器2のファイル名付与ルールに従って、管理装置1で使っているファイル名とは別のファイル名を決定し、転送先の電子楽器2に、該決定した別のファイル名を付けた音楽データファイル3を保存させる点に、特徴がある。
また、管理装置1は、インターネット(不図示)に接続し、該インターネット上の音楽データファイル販売サイトを運用するサーバ装置から、音楽データファイル3をダウンロードしてライブラリ100に記憶できる。また、管理装置1は、該インターネット上のサーバ装置が提供するオンライストレージサービスを介して、該インターネット上の他のコンピュータ装置との間で音楽データファイル3を共有できる。また、管理装置1は、無線又は有線のLAN(不図示)を介して、該LANに接続している他のコンピュータ装置(例えば、当該管理装置1の所有者が所有する個人用PCなど)との間で音楽データファイル3を共有できる。電子楽器2は、管理装置1に接続するだけで簡単に、その管理装置1がダウンロード購入した複数の音楽データファイル3や、その管理装置1がオンライストレージサービス及び/又はLANに接続している他のコンピュータ装置(例えば個人用PC)を用いて共有している複数の音楽データファイル3を、利用できる。
図2aは、管理装置1の電気的ハードウェア構成を示す。管理装置1は、マイクロプロセッサユニット(CPU)10、リードオンリメモリ(ROM)11、ランダムアクセスメモリ(RAM)12からなるマイクロコンピュータの制御の下に各種の処理を実行するように構成される。CPU10は、この管理装置1全体の動作を制御する。このCPU10に対して、通信バス10Bを介して、ROM11、RAM12、記憶装置13、設定操作検出装置14、タッチパネル15、サウンドシステム16及びインタフェース(I/F)17が接続される。
ROM11は、CPU10により実行或いは参照される各種プログラムや各種データ等を格納する。RAM12は、CPU10が各種プログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリ、あるいは、現在実行中のプログラムやそれに関連するデータを一時的に記憶するメモリとして、使用される。前記プログラムには、音楽データファイル3を管理する機能をコンピュータに実行させるためのアプリケーションプログラムが含まれる。
記憶装置13は、例えばフラッシュメモリなど、不揮発半導体メモリで構成される。記憶装置13には、音楽データファイル3を多数記憶することが可能なライブラリ100(図1参照)が構成される。
なお、記憶装置13は、不揮発半導体メモリに限らず、例えば、ハードディスク(HD)、フレキシブルディスク(FD)、コンパクトディスク(CD‐ROM・CD‐RAM)、光磁気ディスク(MO)、あるいはDVD(Digital Versatile Disk)等、どのような記憶媒体を利用する記憶装置でもよい。また、記憶装置13又はRAM12に、CPU10が実行する各種プログラム等を記憶してもよい。ROM11にプログラムが記憶されていない場合、記憶装置13にプログラムを記憶させておき、それをRAM12に読み込むことにより、ROM11にプログラムを記憶している場合と同様の動作をCPU10に実行させることができる。このようにすると、プログラムの追加やバージョンアップ等が容易に行える。
設定操作検出装置14は、例えば音量調整ボタンなど、1又は複数のハードウェア的操作子と、それらの検出機構とからなる。タッチパネル15は、例えば液晶表示パネル(LCD)からなる表示装置15aと、該表示装置の表示パネル面に対する接触(タッチ)操作を検出する検出装置15bとからなる。タッチパネル15は、CPU10の制御に基づき各種画面を表示し、且つ、該表示した画面に対するタッチ操作を受け付ける。本実施例では、管理装置1は、フルタッチパネル型のモバイル端末を想定しており、管理装置1のユーザは、専らタッチパネル15を用いたタッチ操作により各種指示を入力する。
サウンドシステム16は、例えばアンプ及びスピーカを含み、音楽データファイルに基づく再生音など、CPU10の処理により生成された音を発音する。
管理装置1は、インタフェース(I/F)17を介して、図1の通信経路4を通じて電子楽器2に接続される。インタフェース17は、MIDIプロトコルに準拠する通信を行う能力を持つ任意のインタフェースで構成できる。インタフェース17は、例えば、当該管理装置1を電子楽器2のMIDI端子(「MIDI IN端子」及び「MIDI OUT端子」)に接続するMIDIインタフェース、当該管理装置1を電子楽器2の「USB TO HOST端子」に接続するUSB‐MIDIインタフェース、又は、無線LANにより当該管理装置1と電子楽器2とを接続する無線LANインタフェースにより構成できる。インタフェース17としてMIDIインタフェース又はUSB‐MIDIインタフェースを用いる場合、管理装置1と電子楽器とは、1対1で有線接続される。電子楽器2のMIDI端子又はUSB TO HOST端子に、管理装置1を接続するためのインタフェースケーブル(例えば製品名「i−MX1(登録商標)」及び「i−UX1(登録商標)」)が存在する。また、インタフェース17として無線LANインタフェースを用いる場合、管理装置1と電子楽器とは、ネットワークを介して、無線接続される。インタフェース17が、音楽処理に用いる音楽データファイルを1又は複数記憶する音楽処理装置が通信可能に接続される接続部として機能する。
更に、管理装置1は、インタフェース17として、当該装置1をインターネット及び/又はローカルエリアネットワークに接続するための有線又は無線形式のネットワークインタフェースを具備してよい。管理装置1は、上述の通り、該ネットワークインタフェースを介してインターネット等のネットワークに接続し、ネットワーク上のサーバ装置及び他のコンピュータ装置との間で、音楽データファイルの送受信を行うことができる。
図2bは、電子楽器2の電気的ハードウェア構成例を示す。電子楽器2は、CPU20、ROM21、RAM22からなるマイクロコンピュータの制御の下に各種の処理が実行されるように構成されている。CPU20は、電子楽器全体の動作を制御するものである。このCPU20に対して、通信バス20Bを介してROM21、RAM22、記憶装置23、表示装置24、設定操作検出装置25、演奏操作検出装置26、インタフェース(I/F)27及び音源/効果装置28、及び、リムーバブルドライブ29が接続される。
ROM21は、CPU20により実行あるいは参照される各種プログラムや各種データ等を格納する。ROM21に格納する各種データは、当該電子楽器2の機種情報を含む。機種情報は、当該電子楽器2の機種名を含む、機種を特定するための情報である。
RAM22は、CPU20が各種プログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを一時的に記憶するメモリ等として使用される。
図2bは、一例として、電子楽器2が、内蔵の記憶装置23(固定ドライブ)とリムーバブルドライブ29との2つの記憶媒体を備える構成を示す。内蔵の記憶装置23は、例えば不揮発半導体メモリ(フラッシュメモリ)など適宜の記憶媒体で構成される。リムーバブルドライブ29は、メモリスロット29aと、該メモリスロット29aに装着可能な記憶媒体29bとからなる。記憶媒体29bは、例えばUSBフラッシュメモリ或いはメモリカードなど、どのような着脱式記憶媒体で構成されてもよい。記憶装置23及びリムーバブルドライブ29が、図1に示す複数のドライブ200に対応する。なお、電子楽器2に備わる記憶媒体の構成は、機種に応じて異なるものであり、図2bに示すような、記憶装置23(固定ドライブ)とリムーバブルドライブ29との2つの記憶媒体を備える構成に限定されない。例えば、電子楽器2は、記憶装置23又はリムーバブルドライブ29の何れか一方のみを具備する構成でもよい。
インタフェース(I/F)27は、図1の通信経路4を通じて、当該電子楽器2を管理装置1に接続するためのインタフェースであり、例えば「MIDI IN端子」及び「MIDI OUT端子」を含むMIDIインタフェース、「USB TO HOST端子」を含むUSBインタフェース、若しくは、無線LANインタフェースなどにより構成される。無線LANインタフェースは、例えばUSBインタフェースを介して無線LANに接続するためのUSB無線LANアダプタからなる。電子楽器2に備わるインタフェース27の構成、すなわちインタフェース27の種類や個数は、当該電子楽器2の機種に応じて異なる。
表示装置24は、電子楽器2の操作パネルに設けられた表示装置であり、例えば液晶表示パネルや、或いは、専ら数字のみを表示する簡易な7セグメントディスプレイなどからなる。設定操作検出装置25は、電子楽器2の操作パネルに設けられた各種設定用操作子(不図示)と、それらの検出機構(不図示)からなる。電子楽器2に備わるユーザインタフェースの構成、すなわち表示装置24及び設定操作検出装置25の種類や個数は、その電子楽器2の機種に応じて異なる。
また、演奏操作検出装置26は、ユーザの手動演奏操作に応じた音楽演奏を入力するための演奏操作子と、その検出機構とからなる。演奏操作検出装置26を成す演奏操作子の形態は、鍵盤型、ギター型、管楽器型、打楽器型など、どのよう形態でもよい。
音源/効果装置28は、通信バス20Bを経由して与えられる波形データ及び/又はMIDIデータに基づいて波形信号を生成し、生成された波形信号に効果を付与して、サウンドシステム280に出力する。サウンドシステム280は、アンプ及びスピーカを含み、音源/効果装置28から出力された波形信号に対応する音(典型的には音楽の演奏音)を発音する。サウンドシステム280は、例えば、電子楽器2に内蔵されたものでもよいし、或いは、電子楽器2に接続された外部の装置により構成されてもよい。
次に、上記構成からなる管理装置1のライブラリ100(記憶装置13)から電子楽器2のドライブ200(記憶装置23又はリムーバブルドライブ29)へ、音楽データファイル3を転送する動作について説明する。
ユーザは、例えばタッチパネル15を用いたタッチ操作により、ライブラリ100内の所望の1又は複数の音楽データファイル3を転送対象として選択する。なお、以下では、一例として、1つの音楽データファイル3を管理装置1から電子楽器2へ転送する場合を想定する。なお、本明細書において「転送」とは、音楽データファイル3を転送元の管理装置1から転送先の電子楽器2にコピーすること、及び、音楽データファイル3を転送元の管理装置1から転送先の電子楽器2に移動することを含む。ここで、用語「コピー」は、音楽データファイル3を転送元に残しつつ、その音楽データファイル3を転送先に保存することを指し、また、用語「移動」は、音楽データファイル3を転送元から削除して、その音楽データファイル3を転送先に保存することを指すものとする。
図3は、転送対象となる音楽データファイル3を選択するための選択画面の一例である。CPU10は、ユーザからの指示に応じて、当該管理装置1に備わるライブラリ100又はフォルダ102に記憶された複数の音楽データファイル3を一覧表示する選択画面50を、タッチパネル15に表示する。
図3では、一例として、「購入済みファイル」をまとめたフォルダ102内の複数の音楽データファイル3を一覧表示する選択画面50を示す。選択画面50の行51aはフォルダ名を示す文字列(「購入済みファイル」)を表示する。行51b、51c及び51dは、それぞれ「購入済みファイル」内の音楽データファイル3のファイル名を成す文字列(「Song 1.mid」、「Song 2.mid」及び「Style 1.mid」)を表示する。これらファイル名の後半の「.」以下の文字列(例えば「.mid」)は拡張子である。各行51a,51b,51c及び51dには、フォルダ名又はファイル名の他にも、対応するフォルダ又は音楽データファイルを示す画像(「icon」)や、曲名、アーティスト名、及び、データサイズなど、その他の情報が表示される。各行51a,51b,51c,51dには、チェックボックス52が設けられている。ユーザは、チェックボックス52を用いて所望の1つの音楽データファイル3を、転送対象として選択できる。図3の選択画面50は、「Song 1.mid」という音楽データファイル(行51b)が選択された状態を示す。
図4は、転送対象として選択された1つの音楽データファイル3を、管理装置1から電子楽器2に転送する処理全体の流れを示すフローチャートである。CPU10は、前記図3の選択画面50において1つのる音楽データファイル3を選択するユーザ操作に応じて、図4の処理を起動する。ステップS1において、CPU10は、前記のユーザ操作に基づいて、転送対象となる1つの音楽データファイル3を決定する。
ステップS2において、管理装置1のCPU10は、通信経路4を通じて現在接続中の1つの電子楽器2と通信して、その電子楽器2から機種情報を取得する。機種情報は、電子楽器2の機種を識別するための情報である。管理装置1は、取得した機種情報に基づいて、現在接続中の電子楽器2の機種を識別できる。
図5は、前記ステップS2において管理装置1のCPU10が実行する機種情報を取得する処理の一例を示すフローチャートである。管理装置1のCPU10は、ステップS7において、自身に接続されている電子楽器2に対して、機種情報を要求する。その電子楽器2は、管理装置1から前記要求を受け取り、該要求に応じて、自身の機種情報を、例えばROM21から読み出してインタフェース27を介して管理装置1に返答する。管理装置1のCPU10は、電子楽器2から返答された機種情報を受け取り(ステップS8)、該受け取った機種情報を例えばRAM12に記憶する(ステップS9)。前記ステップS9の後、処理は図4のステップS3に進む。
ステップS3において、CPU10は、前記電子楽器2から取得した機種情報に基づいて、転送先となる電子楽器2を示す情報をタッチパネル15に表示して、ユーザに転送先となる電子楽器2を選択させる。転送先となる電子楽器2を示す情報は、例えば機種名である。
図6は、転送先の電子楽器2を選択するための画面の一例である。図6の画面は、前記図3に示す選択画面50に、転送先の選択肢を示すアイコン53a,53b,53c,53dを追加表示したものである。図6に示す通り、画面50は、転送先の選択肢の1つとして、前記取得した機種情報に基づく電子楽器2の機種名(図において文字列「楽器C」)と、楽器を示すアイコン53bを表示する。ユーザは、楽器アイコン53bに対するタッチ操作により、現在接続中の電子楽器2を転送先として選択できる。なお、転送先の選択肢としては、楽器アイコン53bの他にも、管理装置1のライブラリを示すアイコン53a、管理装置1の所有者が所有する個人用PCとのファイル共有を示すアイコン53c、インターネット上のオンライストレージサービスを示すアイコン53dなどが提示される。また、ユーザは、キャンセルボタン54をタッチ操作することで、当該音楽データファイルの転送処理を中止できる。
図4に戻ると、ステップS4において、CPU10は、通信経路4を通じて電子楽器2と通信し、該転送先として選択された電子楽器2のドライブ200をブラウズして、転送対象となる1つの音楽データファイル3の格納先となるパスを決定する。パスは、電子楽器2のドライブ200における1つの音楽データファイル3や1つのフォルダ202の保存場所を示すデータである。この「ブラウズして音楽データファイル3のパスを決定する」処理の具体例は後述する。
ステップS5において、CPU10は、前記取得した機種情報に応じたファイル名付与ルールに従って、転送対象の音楽データファイル3のファイル名を決定する処理を行う。前述の通り、転送先の電子楽器2の機種によっては、自身で記憶する音楽データファイル3に対して、その機種に特有のファイル名付与ルールでファイル名を付けるものがある。かかる機種では、そのファイル名付与ルールに合致しないファイル名を持つ音楽データファイルを扱えない場合がある。この点に関して、本実施例の管理装置1は、音楽データファイル3を転送先の電子楽器2に転送する前に、自動的に、転送先の電子楽器2におけるファイル名付与ルールに従って、転送対象の音楽データファイル3のファイル名を決定すること(ステップS5)により、転送先の電子楽器2で保存する該音楽データファイル3のファイル名を、管理装置1側で記憶している音楽データファイル3のファイル名(例えば、図3において「Song 1.mid」)から、転送先の電子楽器2におけるファイル名付与ルールに合わせた別のファイル名(例えば、インデクス付きのファイル名「01Song 1.mid」)に変更できる。すなわち、当該ステップS5にて決定するファイル名は、転送先の電子楽器2で保存する該音楽データファイル3のファイル名を変更するためのものであり、転送元の管理装置1側で保存する該音楽データファイル3のファイル名は変更するものではない。
図7は、前記ステップS5において管理装置1のCPU10が実行する「ファイル名決定処理」の一例を示すフローチャートである。ステップS10において、CPU10は、前記ステップS2で取得した機種情報に基づいて、その機種におけるファイル名付与ルールを識別し、該機種毎のファイル名付与ルールに合わせてファイル名決定処理を切り替える。なお、機種情報とファイル名付与ルールとを対応付ける方法は、どのような方法であってもよい。例えば、機種情報とファイル名付与ルールとを対応付けたデータテーブルを適宜のメモリ(例えばROM11又はRAM12)に記憶しておき、そのデータテーブルを参照して、機種情報に基づくファイル名付与ルールを識別するように構成できる。
本実施例では、電子楽器2の機種の一例として、第1の機種「楽器A」、第2の機種「楽器B」、及び、第3の機種「楽器C」の3種類の機種を想定する。ファイル名付与のルールの観点で分類すると、第1の機種「楽器A」は、ファイル名に必ず2桁数字からなるインデックスを付加する、というファイル名付与ルールを持つ機種である。一方、第2の機種「楽器B」と第3の機種「楽器C」とは、前記第1の機種のような、「ファイル名にインデックスを付加する」、というファイル名付与ルールを持たない機種である。なお、本明細書において、「インデックス」とは、音楽データファイルのそれぞれに対して、ファイル名とは別に与えられた識別番号である。
転送先の電子楽器2が第1の機種「楽器A」である場合、CPU10は、前記ステップS10を「楽器A」に分岐して、処理をステップS11に進めて、「インデックス付加」というルールに従ってファイル名を決定する処理を行う。ファイル名決定処理の具体例は、以下に説明する通りである。
第1の機種「楽器A」における「インデックス付加」というファイル名付与ルールは、例えば、各ファイル名の先頭部に、「01」〜「10」までの2桁の数字からなるインデックスを付加して、インデックスの後にファイル名を成す文字列部分を続ける、というものである。そのルールに従うファイル名は、例えば「01Song 1.mid」、「02Song 2.mid」など、である。後述する通り、第1の機種「楽器A」におけるインデックス「01」〜「10」は、第1の機種「楽器A」のドライブ200において音楽データファイルそれぞれを格納するために用意された格納領域に対応付けられている。
第1の機種「楽器A」において作成又は管理(記憶)される全ての音楽データファイル3は、上記のルールに従ってインデックスが付加されたファイル名を持つ。ファイルに付与されるインデックスは、例えば、それぞれ対応する音楽データファイル3の記憶場所に関連付けられている。すなわち、第1の機種「楽器A」において新規に音楽データファイル3を作成(新規記憶又は上書き記憶)する方法は、次の通りである。第1の機種「楽器A」のCPU20は、先ず、記憶又は上書き先となる記憶場所に対応するインデックスを決定し、次に、決定したインデックスを示す数字列を、ファイル名を成すその他文字列部分(例えば「Song 1.mid」)に付加して、1つのファイル名(例えば「01Song 1.mid」)を決定する。
図7のステップS11において、管理装置1のCPU10は、前記ステップS4において決定されたパスに基づいて、ファイル名に付加すべきインデックスを決定し、該決定したインデックスを示す数字列を、転送対象の音楽データファイル3のファイル名(例えば「Song 1.mid」)の先頭部に付加する。これにより、管理装置1のCPU10は、第1の機種「楽器A」におけるファイル名付与ルールと同じルールに従って、転送対象の音楽データファイル3のファイル名を決定できる。なお、転送対象の音楽データファイル3のパスに応じて決定されるインデックスの具体例は、「ブラウズしてパスを決定する」処理の説明に関連して後述する。
他方、転送先の電子楽器2が「楽器A」以外、すなわち第2の機種「楽器B」又は第3の機種「楽器C」の場合、CPU10は前記ステップS10を「その他」に分岐して、処理をステップS12に進める。CPU10は、ステップS12において、第2の機種「楽器B」又は第3の機種「楽器C」におけるファイル名付与ルールと同じルールに従って、転送対象の音楽データファイル3のファイル名を決定する。本実施例では、第1の機種「楽器A」以外の場合、インデックス付加は不要であり、基本的にはファイル名付与ルールに特別な制約がない、すなわち管理装置1で決定したファイル名をそのまま利用できるものとする。なお、インデックスを付加すること以外のファイル名付与ルールとしては、例えば、或る特定の1又は複数の文字をファイル名として使用できないこと、などが考えられる。楽器の機種によって扱えない文字がある場合は、ファイル名決定処理において、CPU10は、その文字を削除したり或いは別の文字に置換したりする。
図7の前記ステップS11又はS12の後、処理は図4のステップS6に進む。ステップS6において、CPU10は、転送対象の音楽データファイル3を、前記ステップS4において決定したパスに、転送する。この転送処理において、管理装置1のCPU10は、該音楽処理装置に、前記ステップS5で決定した別のファイル名を付けた該音楽データファイルを、保存させる。
図8は、前記ステップS6において管理装置1のCPU10が実行するファイル転送処理の一例を示すフローチャートである。図8のステップS13において、管理装置1のCPU10は、転送先の電子楽器2に対して、前記ステップS5で決定したファイル名と、前記ステップS4で決定した格納先を示すパスと、音楽データファイル3の転送を開始する旨とを通知する。ここで、転送先の電子楽器2に対してファイル名を通知することにより、該転送先の電子楽器2で音楽データファイル3に付与すべきファイル名が指定される。
ステップS14において、管理装置1のCPU10は、転送対象の音楽データファイル3を複数のパケットに分割し、転送先の電子楽器2とハンドシェイクを行い、互いにデータの送受信を確認しつつ、前記複数のパケットを電子楽器2に転送する。一方、転送先の電子楽器2のCPU20は、管理装置1からのファイル名、格納先パス及び転送開始の通知(前記ステップS13)を受けた後、管理装置1とハンドシェイクを行い、互いにデータの送受信を確認しつつ、前記ステップS14にて転送される複数のパケットを受信する。そして、転送先の電子楽器2のCPU20は、該受信した複数のパケットからなる1つの音楽データファイル3に、前記ステップS13において管理装置1から通知されたファイル名を付けて、前記通知されたパスに対応する格納先に保存する。これにより、転送先の電子楽器2で保存される音楽データファイル3のファイル名は、転送元の管理装置1でのファイル名(例えば、図3の「Song 1.mid」)とは別の、当該電子楽器2におけるファイル名付与ルールに合わせたファイル名(例えば、インデクス付きのファイル名「01Song 1.mid」)に変更される。従って、管理装置1のCPU10は、前記ステップS13、14の転送処理により、転送先の電子楽器2に、前記ステップS5で決定した別のファイル名を付けた音楽データファイル3を、保存させることができる。
転送処理の別の一例として、管理装置1のCPU10は、音楽データファイルのファイル名を前記ステップS5で決定した別のファイル名に変更してから、該別のファイル名を持つ音楽データファイル3を、転送先の電子楽器2に転送してもよい。
なお、転送処理として音楽データファイル3をコピーする処理を行う場合、転送元の管理装置1側では、CPU10は、前記の転送処理に際して、ライブラリ100内の当該音楽データファイル3を、ファイル名(例えば、図3の「Song 1.mid」)を変えずに、そのまま残す。また、転送処理として音楽データファイル3を移動する処理を行う場合、CPU10は、前記の転送処理に伴い転送対象の音楽データファイル3をライブラリ100から削除する。
以上説明した転送処理によれば、管理装置1が、電子楽器2に音楽データファイル3を転送する前に、転送先でのファイル名付与ルールに合わせた別のファイル名を決定しておき(前記ステップS5)、転送先の電子楽器2に、該決定した別のファイル名を付けた音楽データファイルを保存させる(前記ステップS6)構成により、転送先の電子楽器2は、どの機種であっても確実に、自身のファイル管理方法を変更することなく、転送された音楽データファイルを処理できる。CPU10と、ステップS2、S7,S8及びS9の処理が、前記接続した音楽処理装置から、該音楽処理装置の機種を識別するための機種情報を取得する取得部として、あるいは、前記接続した音楽処理装置から、該音楽処理装置の機種を識別するための機種情報を取得するステップとして機能する。また、CPU10と、ステップS5、S11及びS12の処理が、前記取得した機種情報に応じたファイル名付与ルールに従って、前記或るファイル名とは別のファイル名を決定する決定部、或いは、前記取得した機種情報応じたファイル名付与ルールに従って、前記或るファイル名とは別のファイル名を決定するステップとして機能する。また、CPU10と、ステップS6,S13及びS14の処理が、前記音楽データファイルを前記接続した音楽処理装置に転送する際に、該音楽処理装置に、前記別のファイル名を付けた該音楽データファイルを保存させる転送制御部として、或いは、前記音楽データファイルを前記接続した音楽処理装置に転送する際に、該音楽処理装置に、前記別のファイル名を付けた該音楽データファイルを保存させるステップとして機能する。
次に、前記ステップS4の「ブラウズして音楽データファイル3のパスを決定する」処理について説明する。図9は、前記ステップS4において管理装置1のCPU10が実行する「ブラウズして音楽データファイル3のパスを決定する」処理を示すフローチャートである。なお、本明細書において「ブラウズ」するとは、管理装置1が、タッチパネル15を用いて、電子楽器2側の1又は複数の音楽データファイル3及び/又はフォルダ202を、一覧表示或いは参照することを言う。すなわち。ブラウズという用語は、「一覧表示」及び「参照」と互換的に使用される。
ステップS15において、CPU10は、前記ステップS2で取得した機種情報に基づいて、処理を切り替える。本実施例では、前述の通り、電子楽器2の機種の一例として、第1の機種「楽器A」、第2の機種「楽器B」、及び、第3の機種「楽器C」の3種類の機種を想定している。第1の機種「楽器A」の場合、CPU10は前記ステップS15を「楽器A」に分岐して、処理をステップS16に進める。第2の機種「楽器B」の場合、CPU10は前記ステップS15を「楽器B」に分岐して、処理をステップS17に進める。第3の機種「楽器C」の場合、CPU10は前記ステップS15を「楽器C」に分岐して、処理をステップS18に進める。
ステップS16、S17又はS18の処理は、それぞれ、転送先の電子楽器2が、自身のユーザインタフェース(表示装置24及び設定操作検出装置25)を用いて、自身のドライブ200に記憶された1又は複数の音楽データファイル3を提示する態様に合わせた態様で、該1又は複数の音楽データファイル3を、当該管理装置1のタッチパネル15に一覧表示(ブラウズ)するように構成されている。すなわち、管理装置1は、電子楽器2の機種に応じて、処理を切り替えることにより、機種毎の提示態様に合わせた態様で、複数の音楽データファイル3を提示する処理を実現している。なお、機種情報と機種毎の提示態様とを対応付ける方法は、どのような方法であってもよい。例えば、機種情報と機種毎の提示態様とを対応付けたデータテーブルを適宜のメモリ(例えばROM11又はRAM12)に記憶しておき、そのデータテーブルを参照して、機種情報に基づく提示態様を識別するように構成できる。
何れの機種の電子楽器2も、基本的には、自身のドライブ200に記憶された1又は複数の音楽データファイル3を、自身のユーザインタフェース(表示装置24)に表示する際は、次のような処理を行う。電子楽器2のCPU20は、先ず、(1)自身のファイルシステムから、ディレクトリ毎に管理情報(ディレクトリエントリ)を取得して、次に、(2)該取得した管理情報に基づく1又は複数の音楽データファイル3を、その電子楽器2の機種毎の仕様に従って整理してユーザインタフェース(表示装置24)に表示する。表示される音楽データファイル3の情報は、例えばファイル名や、インデックスである。本明細書で、管理情報は、対応するディレクトリ(フォルダ202)内に登録されている全サブディレクトリ(サブフォルダ)名、及び、全音楽データファイル3のファイル名、記憶場所、データサイズ、画像情報などを含む。管理情報は、電子楽器2側のファイルシステムに依存するもので、例えば、或るファイルシステム(例えばFAT32など)では、ディレクトリ毎に1つずつ管理情報が用意される。
電子楽器2の機種毎の提示態様に合わせた態様で、前記1又は複数の音楽データファイル3を一覧表示(ブラウズ)することを実現するために、管理装置1のCPU10は、「ブラウズして音楽データファイル3のパスを決定する」処理(ステップS16、S17又はS18)において、(1)電子楽器2のファイルシステムから、ディレクトリ毎に記憶された1又は複数の音楽データファイル3を一覧表示するための一覧表示情報を取得し、(2)取得した一覧表示情報に基づく1又は複数の音楽データファイル3を、その電子楽器の機種毎の仕様に従って整理して表示する、という処理を、行う。本明細書では、前記ディレクトリ毎の一覧表示情報を、「ディレクトリ情報」という。
図10は、電子楽器2からディレクトリ情報を取得するための処理を示すフローチャートである。管理装置1のCPU10は、後述する「ブラウズして音楽データファイル3のパスを決定する」処理(ステップS16、S17又はS18)において、図10に示すディレクトリ情報取得処理を行う。ステップS19において、管理装置1のCPU10は、現在接続中の電子楽器2に対して、その電子楽器2のドライブ200内のディレクトリ(フォルダ202)のパスを指定して、該指定したディレクトリにおいて最初に見つかるサブディレクトリ名(フォルダ202内のサブフォルダのフォルダ名)、あるいは、音楽データファイル3のファイル名を要求する。
要求を受けた電子楽器2は、指定されたパスを一時記憶すると共に、指定されたパスのディレクトリ内で最初に見つかるサブディレクトリ名又は音楽データファイル3のファイル名を、管理装置1に返答する。
管理装置1は、電子楽器2から指定されたパスのディレクトリ内で最初に見つかるサブディレクトリ名又は音楽データファイル3のファイル名を取得する(前記ステップS19)。以後、管理装置1のCPU10は、電子楽器2からエラーが返答されるまで、該指定したディレクトリにおけるサブディレクトリ名又は音楽データファイル3のファイル名を順次要求し、そのディレクトリに登録されている全てのサブディレクトリ及び音楽データファイル3のファイル名を取得する(ステップS20)。
電子楽器2は、管理装置1から要求される毎に、指定されたディレクトリ内のサブディレクトリ名又は音楽データファイル3のファイル名を返答し、該ディレクトリ内の全てのサブディレクトリ名又は音楽データファイル3のファイル名を返答した後、エラーを返す。
管理装置1は、前記ステップS19,S20により、指定されたパスのディレクトリ情報として、該指定されたパスのディレクトリに含まれる全てのサブディレクトリ名又は音楽データファイル3のファイル名を取得できる。すなわち、ディレクトリ情報とは、指定されたパスのディレクトリに記憶された全ての音楽データファイル3、及び/又は、サブディレクトリを一覧表示するための一覧表示情報であり、電子楽器2の管理情報(ディレクトリエントリ)に相当する内容を持つ。
前記ステップS19及びS20における管理装置1からの要求に対して、電子楽器2がフォルダ名又はファイル名を返答する順番は、電子楽器2側のファイルシステムに依存する。例えばFAT32などでは、各ディレクトリに管理情報が用意されるファイルシステムでは、電子楽器2は、ディレクトリ毎のサブディレクトリ名又はファイル名を、その管理情報に登録されている順番で、管理装置1に返答する。ところで、電子楽器2において、ディレクトリ内でサブディレクトリ又は音楽データファイル3の削除及び作成が何度も繰り返されると、管理情報に登録されているサブディレクトリ及び/又は音楽データファイル3の順番が入り乱れてしまい、その登録順は、その電子楽器2におけるサブディレクトリ及び/又は音楽データファイル3の表示順(すなわち、機種毎の仕様に従って整理した表示順)と異なるものになる。前記ステップS19及びS20によれば、電子楽器2の管理情報に登録されている順番で、フォルダ名又はファイル名を取得しているので、フォルダ名又はファイル名の取得順は、電子楽器2における前記表示順と異なるものとなってしまうことがある。この点について、管理装置1は、以下の機種毎の処理にて後述する通り、取得したファイル名又はフォルダ名を、その電子楽器2の仕様に応じた表示順に並べて表示するよう、工夫している。
以下に、転送先の電子楽器2の機種に応じた、「ブラウズして音楽データファイル3のパスを決定する」処理の具体例を説明する。
先ず、転送先が第1の機種「楽器A」である場合について説明する。図11は、第1の機種「楽器A」をブラウズして音楽データファイル3のパスを決定する処理(前記ステップS16)を示すフローチャートである。第1の機種「楽器A」の特徴は、前述したファイル名にインデックスを付けるというファイル名付与ルールを持つことの他、(1)内蔵の記憶装置23を唯一の記憶媒体(ドライブ200)として具備すること、(2)その記憶装置23のルートディレクトリに1以上の音楽データファイル3(例えばMIDI形式のソングデータ)を記憶すること、(3)該ルートディレクトリは、下位階層のサブディレクトリ(下位のフォルダ)を持たないこと、(4)ルートディレクトリ内に記憶できる音楽データファイル3(ソングデータ)の個数は、最大10個までに限られること、言い換えれば、ルートディレクトリ内には、音楽データファイル3を格納するための格納領域が10個用意されていること、である。それら格納領域は、それぞれ1つ音楽データファイル3を格納できる。そして、それら10個の格納領域に、「01」〜「10」のインデックスが割り当てられる。なお、以下、楽器Aにおける前記ルートディレクトリのことを、「ソングデータ領域」ともいう。
また、第1の機種「楽器A」は、ハードウェア的特徴として、ユーザインタフェース(表示装置24及び設定操作検出装置25)として、例えば図12に示すように、2桁の数値を表示する7セグメントディスプレイ240と、該7セグメントディスプレイ240に表示する数値を増減する+/−ボタン250とを具備し、ボタン250の操作毎に7セグメントディスプレイ240に表示するインデックスを順次切り替えるように構成される。すなわち、第1の機種「楽器A」に具備されたユーザインタフェース(7セグメントディスプレイ240)のファイル名表示に関する仕様は、ソングデータ領域に記憶された全ての音楽データファイル3を一覧表示せず、+/−ボタン250の操作毎にインデックスの昇順又は降順で1つずつ、音楽データファイル3を示すインデックスを、7セグメントディスプレイ240に提示する、というものである。第1の機種「楽器A」は、電子楽器製品としてはユーザインタフェースに乏しいモデルであり、例えば電子ドラムセットのように操作パネルの面積の都合上、簡素なユーザインタフェースしか搭載できないモデルを想定する。なお、楽器Aのユーザインタフェースの別構成例として、+/−ボタン250に替えて、それぞれ数字「1」、「2」、「3」・・・「10」(又は「1」、「2」、「3」・・・「0」)に対応付けられた10個のボタン(不図示)を用いて、7セグメントディスプレイ240に表示するインデックスを選択するように構成してもよい。
図11のステップS21において、管理装置1のCPU10は、対象のディレクトリとしてソングデータ領域を指定して、前記図10の「ディレクトリ情報取得処理」を行う。本実施例では、一例として、ソングデータ領域に、ファイル名「01Song 1.mid」と、「02Song 2.mid」との2つの音楽データファイル3(MIDI形式のソングデータ)が記憶されているものとする。この場合、管理装置1は、楽器Aに対して、「ソングデータ領域」のパスを指定して、該「ソングデータ領域」で最初に見つかるファイル名を要求する(前記ステップS19)。そして、管理装置1は、楽器Aがエラーを返答するまで、ファイル名を要求し、「ソングデータ領域」内の全てのファイル名を順に取得する(前記ステップS20)。楽器Aは、前記の要求に応じて、ファイル名「01Song 1.mid」と、「02Song 2.mid」との2つの音楽データファイル3の情報を返答する。楽器Aからのファイル名返答順は、定まっていないものとする。楽器Aは、どういう順番にせよ、ソングデータ領域内の全てのファイル名を、管理装置1からの要求毎に順次返答すればよい。
ステップS22において、管理装置1のCPU10は、タッチパネル15に、第1の機種「楽器A」がユーザに対して1つの音楽データファイル3を提示する態様、すなわち、ボタン250の操作毎に7セグメントディスプレイ240に1つのインデックスを順次提示する、という態様に合わせた態様で、前記取得したディレクトリ情報に基づく全ての音楽データファイル3を一覧表示する。
図13は、第1の機種「楽器A」の提示態様に合わせたファイル一覧表示画面の一例を示す。図13に示すように、ファイル一覧表示画面60は、それぞれ「01」〜「10」のインデックスに対応付けられた10個の行61a,61b,61c,61d,61e・・・を具備する(図13において、便宜上「05」番以降の行の表示を省略する)。これら行61a,61b,61c,61d,61e・・・は、ソングデータ領域に用意された10個の格納領域を表す。ファイル一覧表示画面60は、10個全ての格納領域、すなわち音楽データファイル3を格納している格納領域のみならず、格納していない空の格納領域も、表示する。各行61a,61b,61c,61d,61e・・・には、それぞれ対応するインデックスが7セグメントディスプレイ240(図12参照)を模擬したインデックス画像62a,62b,62c,62d,62e・・・が表示される。音楽データファイル3が記憶されている格納領域を表す行には、インデックス画像に続いてファイル名の文字列部分が表示される。例えば、行61aは、インデックス「01」の画像62aに並べて、ファイル名「01Song 1.mid」の文字列部分「Song 1.mid」を表示する。また、行61bは、インデックス「02」の画像62bに並べて、ファイル名「02Song 2.mid」の文字列部分「Song 2.mid」を表示する。また、行61c,61d・・・のように、音楽データファイル3が記憶されていない空の格納領域に対応する各行では、そのインデックス画像62c,62d・・・に並べて、文字列「No Data」が表示される。また、各行61a,61b・・・には、それぞれ音楽データファイル3を表す画像(図において「icon」)も表示される。「icon」は、例えば、音楽データファイル3のファイル形式を表す画像であり得る。
管理装置1のCPU10は、前記図13に示すファイル名一覧表示画面60を表示するために、前記ステップS22において、次のような処理を行う。先ず、CPU10は、前記取得したディレクトリ情報を参照して、インデックス「01」〜「10」のそれぞれについて、そのインデックスが先頭に付加されているファイル名を検索する。前述の通り、第1の機種「楽器A」のファイル名付与ルールは、ファイル名の先頭に、インデックスを付加するというもので、そのファイル名は、例えば「01Song 1.mid」というように、インデックスを持つ。そのインデックスを含むファイル名を発見した場合、CPU10は、そのインデックスに対応する行(図13では行61a,61b)に、該発見されたファイル名の文字列部分を表示する。そのインデックスを含むファイル名が発見されない場合、CPU10は、そのインデックスに対応する行(図13では行61c,61d,61e)に文字列「No Data」を表示する。
管理装置1のユーザは、ファイル一覧表示画面60において、所望の行61a,61b・・・の何れかをタッチ操作により選択できる。前記選択を行うユーザ操作に応じて、管理装置1のCPU10は、ステップS23において、画面60上で選択された行のインデックスに該当するパス(格納領域)を、音楽データファイル3の転送先として決定する。例えば、管理装置1からファイル名「NewSong.mid」を転送する場合に、その転送先として、インデックス「05」の行61eが選択された場合、管理装置1のCPU10は、当該ファイルを転送する前に、ファイル名「NewSong.mid」にインデックス「05」を付加した別のファイル名「05NewSong.mid」を決定(前記ステップS5)し、電子楽器2で保存する音楽データファイル3のファイル名として、該決定したファイル名「05NewSong.mid」を指定して、該音楽データファイル3を該電子楽器2に転送する(前記ステップS6)。電子楽器2のCPU20は、ドライブ200内のインデックス「05」に該当するパスに、ファイル名「05NewSong.mid」を付けた音楽データファイル3を保存する。ファイル名の変更(前記ステップS5)やファイルの転送(前記ステップS6)に際して、CPU10は、ユーザに対して適宜の確認表示を行ってもよい。また、音楽データファイル3の転送先として、既に別の音楽データファイル3が格納されているパス(例えばインデックス「01」に該当するパス)が選択された場合、今回転送される音楽データファイル3がそのパスのデータに上書きされる。
前記ステップS21、S22により、管理装置1のCPU10は、第1の機種「楽器A」側のインデックスの提示態様に合わせた態様で、電子楽器2に記憶された1又は複数の音楽データファイル3を一覧表示すること、すなわち、(1)7セグメントディスプレイ240を模擬したインデックス画像62a,62b,62c,62d,62e・・・により各インデックスを示す数字「01」〜「10」を表示することができる。また、(2)かかるインデックス「01」〜「10」を番号順に並べて提示することにより、第1の機種「楽器A」における、ボタン250の操作毎にディスプレイ240に表示されるインデックスを順次切り替える、という操作態様を、模擬的に表すことができる。
次に、第2の機種「楽器B」の場合について説明する。図14は、第2の機種「楽器B」をブラウズして音楽データファイル3のパスを決定する処理(前記ステップS17)を示すフローチャートである。第2の機種「楽器B」は、ハードウェア的特徴として、内蔵の記憶装置23とリムーバブルドライブ29との2つの記憶媒体(ドライブ200)を具備するものであり、電子楽器製品としては「中価格帯のモデル」を想定する。
図15は、第2の機種の「楽器B」に備わる2つの記憶媒体における音楽データファイル3の記憶構造(ディレクトリの階層構造)を説明する模式図である。図15において、「Internal Flash Drive」は内蔵の記憶装置23、「USB Flash Drive」はリムーバブルドライブ29を表す。
内蔵の記憶装置23のルートディレクトリ(「ROOT Directory」)には、音楽データファイル3として、2つのソングデータ(「A_SONG.mid」、「C_SONG.mid」)と、1つのスタイルデータ(「B_STYLE.sty」)が混在して記憶されている。また、リムーバブルドライブ29のルートディレクトリ(「ROOT Directory」)には、1つのサブディレクトリ(「SUB−DIRECTORY A Directory」)が作成されると共に、2つのソングデータ(「G_SONG.mid」、「I_SONG.mid」)と、1つのスタイルデータ(「H_STYLE.sty」)が記憶される。前記1つのサブディレクトリには、3つのソングデータ(「D_SONG.mid」、「E_SONG.mid」、「F_SONG.mid」)が記憶される。
第2の機種「楽器B」の特徴は、自身に記憶されている複数の音楽データファイル3のファイル名をユーザインタフェース(表示装置24)に一覧表示する際に、ユーザからファイルタイプの選択を受け付けて、選択されたファイルタイプに合致する音楽データファイル3(ソングデータ又はスタイルデータ)のみを一覧表示することである。
第2の機種の「楽器B」における複数の音楽データファイル3を一覧表示する手順は、概ね次の通りである。先ず、内蔵の記憶装置23又はリムーバブルドライブ29のいずれか一方を、ボタン操作等により選択し、次に表示対象となるファイルタイプとしてソングデータ又はスタイルデータのいずれか一方を、ボタン操作等により選択する。これにより、選択された1つのドライブ内の、選択されたファイルタイプに該当する音楽データファイル3が一覧表示される。例えば、選択されたドライブ200のルートディレクトリ内にサブディレクトリがある場合、ルートディレクトリ及びサブディレクトリのそれぞれに記憶された音楽データファイル群のうち、選択されたファイルタイプに該当する1又は複数の音楽データファイル3を一覧表示する。これにより、表示上では、選択されたファイルタイプに該当する音楽データファイルのみが、ドライブ内の各フォルダに存在しているかのように見える。従って、1つのフォルダ202に異なるファイルタイプの音楽データファイル3が混在するファイルシステム仕様でも、ユーザは、ファイルタイプを混同することなく、複数の音楽データファイルの情報を閲覧できる。また、この一覧表示は、各音楽データファイル3を、それぞれの属するディレクトリ毎に分けて行う。一覧表示における表示順は、(1)ディレクトリ階層構造の浅いもの(例えばルートディレクトリ)が深いもの(例えばサブディレクトリ)より優先される、(2)文字コードの若いものが優先される(すなわち文字コードの順に従う)、(3)ファイル名がディレクトリ名よりも優先される、というルールに従う。
第2の機種「楽器B」のもう1つの特徴は、ユーザインタフェース(表示装置24)に複数の音楽データファイル3を一覧表示する際に、それらのファイル名にインデックスを付けて表示すること、である。第2の機種「楽器B」におけるインデックスは、ファイル名のデータには含まれているものではなく、音楽データファイル3を一覧表示する際に、表示上の識別番号として、音楽データファイル3に付与される。このインデックスは、例えば、ファイルタイプ毎に、そのタイプに該当する全ての音楽データファイル3に対して連番で付与されるシリアル番号である。インデックスの付与は、内蔵の記憶装置23から順に行う。一例として、インデックスは、“101”番から開始する連続番号とする。例えば、図15に示す通り、記憶装置23内の2つのソングデータ「A_SONG.mid」に「インデックス“101”」が、また、「C_SONG.mid」に「インデックス“102”」がそれぞれ付与される。リムーバブルドライブ29内のソングデータには“103”以降のインデックスが付与される。ここで、インデックス付けはディレクトリ階層構造の浅いものが深いものより優先されるものとする。すなわち、ルートディレクトリ内の「G_SONG.mid」に「インデックス“103”」が、また、「I_SONG.mid」に「インデックス“104”」がそれぞれ付与され、そのサブディレクトリ内の「D_SONG.mid」に「インデックス“105”」、「E_SONG.mid」に「インデックス“106”」、及び、「F_SONG.mid」に「インデックス“107”」がそれぞれ付与される。スタイルデータに関しても、それらを一覧表示する際に、記憶装置23から順に“101”番から開始する連続番号を付けてファイル名が表示される(不図示)。なお、図15に例示する音楽データファイル3の階層構造は、管理装置1から参照できる複数の音楽データファイル3のみを示している。第2の機種「楽器B」は、管理装置1から参照できないプリセットデータ(不図示)に対して、インデックス“001”から“100”までを割り当てて、ユーザに提示する仕様になっているものとする。このため、管理装置1から参照できる音楽ファイル3に対して、上記の通り、インデックス“101”以降が割り当てられている。もちろん、このようなインデックスの割り振りは、第2の機種「楽器B」に固有の仕様であり、他の機種では、管理装置1から参照できる音楽ファイル3に対して割り当て開始する番号が異なるかもしれない。
上記の特徴を持つ第2の機種の「楽器B」がユーザに対して1又は複数の音楽データファイル3を提示する態様に合わせた態様で、該1又は複数の音楽データファイル3をタッチパネル15に一覧表示するために、管理装置1のCPU10は、以下の処理を行う。
図14のステップS24において、管理装置1のCPU10は、現在接続中の電子楽器2(第2の機種の「楽器B」)に対して、ドライブ情報を要求し、取得する。接続中の電子楽器2のCPU20は、前記ドライブ情報の要求に応じてドライブ情報を、管理装置1に返答する。ドライブ情報は、自身に備わる1又は複数のドライブ200(この実施例では内蔵の記憶装置23及びリムーバブルドライブ29の2つ)それぞれの名前等を含む。
ステップS25において、管理装置1のCPU10は、前記取得したドライブ情報をタッチパネル15に提示して、ユーザに所望の1つのドライブを選択させる。図16(a)は、ドライブ選択画面の一例である。ドライブ選択画面70は、各行71a,71bに、第2の機種「楽器B」に備わる内蔵の記憶装置23(「Internal Flash Drive」)及び、リムーバブルドライブ29(「USB Flash Drive」)の情報を、表示する。ユーザは、所望のドライブに該当する行、例えば「USB Flash Drive」の行71bをタッチすることで、そのドライブを選択できる。
ステップS26において、管理装置1のCPU10は、図16(b)に示すファイルタイプ選択画面72をタッチパネル15に表示して、ユーザに一覧表示すべきファイルタイプを選択させる。ファイルタイプ選択画面72は、ファイルタイプの選択肢として、行73aに仮想的ソングフォルダ73aを、また、行73bに仮想的スタイルフォルダを表示する。仮想的ソングフォルダ及び仮想的スタイルフォルダは、音楽データファイル3をファイルタイプ別に分類するために用意された仮想的なファイルタイプ別フォルダである。楽器Bのファイルシステムには、かかるファイルタイプ別フォルダは存在しない(図15参照)。複数の仮想的ファイルタイプ別フォルダを用意して何れか1つをユーザに選択させる構成により、ファイルタイプを選択する、という第2の機種の「楽器B」の仕様を、管理装置1は、模擬的に再現できる。
ステップS27において、管理装置1のCPU10は、前記選択されたドライブのルートディレクトリに関するディレクトリ情報を取得する。第2の機種の「楽器B」は、選択されたドライブ内のルートディレクトリ内のファイル名のみならず、そのルートディレクトリ内の全サブディレクトリ内の音楽データファイル3も一覧表示する仕様である。従って、その仕様に倣い、ルートディレクトリに1以上のサブディレクトリが存在していれば、該1以上のサブディレクトリに関するディレクトリ情報を取得する。管理装置1のCPU10がディレクトリ情報を取得する処理は、前記図10を参照して説明した通りである。
ステップS28において、管理装置1のCPU10は、前記ステップS27で取得した全てのディレクトリ情報に基づく全てのファイル名のうち、前記ステップS26にて選択されたファイルタイプに該当する拡張子(例えばソングデータを示す拡張子「.mid」、又は、スタイルデータを示す拡張子「.sty」)を持つファイル名を抽出する。これにより、前記選択されたドライブに記憶された全ての音楽データファイル3のうち、前記選択された仮想的なファイルタイプ別フォルダに分類される音楽データファイル3(例えば「ソングデータ」)を抽出できる。
そして、管理装置1のCPU10は、当該ステップS28において、前記抽出した全てのファイル名を、第2の機種の「楽器B」におけるソートルールに従って、ソートする。第2の機種の「楽器B」におけるソートルールは、前述した第2の機種の「楽器B」におけるファイル名一覧表示の表示順に対応する。すなわち、(1)ディレクトリ階層構造の浅いものが深いものより優先されること、(2)文字コードの若いものが優先される(すなわち文字コードの順に従う)こと、(3)ファイル名がディレクトリ名よりも優先されること、である。例えば、ルートディレクトリ内の音楽データファイル3が、サブディレクトリ内のものよりも優先される。また、例えば、アルファベット文字列からなるファイル名は、アルファベット順にソートされる。また、例えば、或るルートディレクトリ内の音楽データファイル3は、そのサブディレクトリよりも優先される。これにより、前記抽出した全てのファイル名は、ディレクトリ順及びファイル名順に従って、ソートされる。
ステップS29において、管理装置1のCPU10は、オフセット値を加味して、前記抽出及びソートされた全ファイル名に対して、インデックスを付与する。インデックスの付与は、図15を参照して前述した楽器Bにおけるインデックス付けと同様に、“101”から始まる連続番号を、内蔵の記憶装置23から順に付与する、というものである。前記オフセット値とは、インデックスの先頭“101”から、リムーバブルドライブ29内のソングデータに対して付与するインデックスの開始番号(図15の例では“103”)までの差を示す値である。したがって、オフセット値は、記憶装置23内のファイル個数によって変わる。
例えば、当該ステップS29において、リムーバブルドライブ29内のソングデータに対してインデックスを付与する場合、管理装置1のCPU10は、インデックスの先頭“101”からのオフセット値「2」を加味して、リムーバブルドライブ29のルートディレクトリ内の「G_SONG.mid」に“103”、「I_SONG.mid」に “104”、サブディレクトリ内の「D_SONG.mid」に“105”、「E_SONG.mid」に“106”、及び「F_SONG.mid」に“107”をそれぞれ付与する。
なお、インデックス付けの別の構成例として、1つのファイルタイプに関して記憶装置23内に記憶できるファイル数を所定数(例えば10個)で制限し、記憶装置23内の音楽データファイル用に、該所定数分のインデックス(例えば“101”〜“110”)を固定的に用意し、リムーバブルドライブ29内の音楽データファイル用に該所定数を加味したインデックス(例えば“111”番)以降を割り当てるようにしてもよい。この場合、オフセット値は、記憶装置23内のファイル数によらずに、固定値となる。
ステップS30において、管理装置1のCPU10は、前記抽出及びソートされた全ファイル名を、前記ステップS29で付与したインデック番号を付けて、タッチパネル15に表示する。図16(c)は、ファイルタイプ別フォルダをブラウズするファイル一覧表示画面74であり、一例として、仮想的ソングフォルダに分類される複数の音楽データファイル3を一覧表示する画面を示す。ファイル一覧表示画面74の各行75a,75b・・・は、それぞれ、リムーバブルドライブ29(「USB Flash Drive」)内のソングデータのファイル名を表示する。ファイル名は、本来のファイル名である文字列に前記ステップS29で付与したインデックスを付けた状態、例えば「103 G_SONG.mid」という具合で、表示される。ファイル一覧表示画面74は、ソングデータのファイル名を、ディレクトリ別に表示する。表示順は、ステップS28にて行ったソート結果に従っている。すなわち、表示順は、ルートディレクトリ(「USB Flash ROOT DIRECTORY」)を、サブディレクトリ(「USB Flash SUB―DIRECTORY A」)よりも優先するようになっており、各ディレクトリ内のファイル名は、文字コード順に並ぶ。また、ファイル名がディレクトリ名よりも優先される。結果的に、ファイル一覧表示画面74は、ファイル名をインデックス順に並べて表示することになる。
ステップS31において、管理装置1のCPU10は、ファイル一覧表示画面74の行75a,75b・・・の何れかに対するタッチ操作に応じて、該タッチ操作により選択された行に該当するパスを、音楽データファイル3の転送先として決定する。そして、処理は前記ステップS5に戻り、管理装置1のCPU10は、必要に応じてファイル名の変更を行い(前記ステップS5)、前記決定したパスを転送先として、転送対象の音楽データファイル3を転送する(前記ステップS6)。決定されたパスに対する音楽データファイル3の転送処理は、前述と同様であり、詳述は省略する。
前記ステップS24〜S30により、管理装置1のCPU10は、第2の機種「楽器B」おける提示態様と同様に、選択されたドライブ200内の選択されたファイルタイプに合致する音楽データファイル3を一覧表示でき、また、第2の機種「楽器B」における提示態様と同様に、一覧表示された各音楽データファイル3に対応付けて、インデックスを表示できる。このインデックスは、ファイル名のデータには含まれているものではなく、音楽データファイル3を一覧表示する際に、表示上の識別番号として、音楽データファイル3に付与されるものである。また、音楽データファイル3を一覧表示する順番は、第2の機種「楽器B」おいてファイル名を一覧表示する順番と同じである。
次に、第3の機種「楽器C」の場合について説明する。図17は、第3の機種「楽器C」をブラウズして音楽データファイル3のパスを決定する処理(前記ステップS18)を示すフローチャートである。第3の機種「楽器C」は、ハードウェア的特徴として、楽器Cは、複数のドライブ(例えば、内蔵の記憶装置23とリムーバブルドライブ29との2つ)を具備し、各ドライブがそれぞれ深い階層階層を持ち得る。また、楽器Cは、ユーザインタフェース(表示装置24)として比較的大型な液晶表示パネルを具備しており、複数のディレクトリ名やファイル名をそのまま表示できる。ユーザはユーザインタフェース(表示装置24及び設定操作検出装置25)を用いて、現在画面表示中のディレクトリ(これを「カレントディレクトリ」という)を別の所望のディレクトリに移動させたり、画面上のカレントディレクトリから再生すべきソングを選択したり、楽器演奏をソングデータとして記録する際の記録先を画面上で選択したりする、などできる。また、楽器Cのユーザインタフェース(表示装置24)上で、或るディレクトリ内の複数の音楽データファイル3を一覧表示する際は、文字コード順でファイル名をソートして、表示する。楽器Aや楽器Bのようなインデックスの表示はしていない。
管理装置1のCPU10は、自身のユーザインタフェース(タッチパネル15)に、楽器C側に記憶された複数の音楽データファイル3をブラウズする場合、上記の楽器Cにおけるファイル一覧表示の態様に倣い、楽器Cで用いている文字コード順のソートルールで、ファイル名をソートして一覧表示する。インデックスの表示はしない。また、管理装置1のCPU10は、画面上でカレントディレクトリを移動して、カレントディレクトリ内のパスを選択できるような選択画面をタッチパネル15に表示する。
図17のステップS32において、管理装置1のCPU10は、現在接続中の電子楽器2(第3の機種の「楽器C」)に対して、ドライブ情報を要求し、取得する。接続中の電子楽器2のCPU20は、前記ドライブ情報の要求に応じてドライブ情報(内蔵の記憶装置23及びリムーバブルドライブ29のそれぞれの名前等)を、管理装置1に返答する。
ステップS33において、管理装置1のCPU10は、前記取得した複数のドライブ情報をタッチパネル15に提示して、ユーザに所望の1つのドライブを選択させる。ドライブ選択画面は、前記図16(a)のドライブ選択画面70と同様に構成されてよく、図示およひ詳細説明は省略する。ユーザは、画面から所望のドライブを選択できる。ステップS34において、管理装置1のCPU10は、前記選択されたドライブのルートディレクトリをカレントディレクトリとして設定する。
ステップS35において、管理装置1のCPU10は、前記ステップS34で設定されたカレントディレクトリに関するディレクトリ情報を取得する。管理装置1のCPU10がディレクトリ情報を取得する処理は、前記図10を参照して説明した通りである。
ステップS36において、管理装置1のCPU10は、前記取得したディレクトリ情報に基づく1以上のファイル名及び/又はフォルダ名を、接続中の電子楽器2(第3の機種の「楽器C」)で用いるソートルールに従いソートする。前記ソートルールは、例えば、(1)ディレクトリ(フォルダ202)と音楽データファイル3とではディレクトリが優先されること、(c)楽器Cで用いる文字コード順に従いファイル名及び/又はフォルダ名をソートすること、である。なお、ソートルールは例示に限定されない。例えば、大文字と小文字の区別や、2バイト文字の扱いや、或いは、特殊文字の扱いなどで、優先順位を異ならせるようにしてもよい。
ステップS37において、管理装置1のCPU10は、前記取得したディレクトリ情報に基づく1以上のファイル名及び/又はフォルダ名を、前記ソートした順に並べて一覧表示するファイル一覧表示画面を、タッチパネル15に表示する。
この一覧表示画面は、カレントディレクトリにに記憶されている全ての複数の音楽データファイル3、及び/又は、カレントディレクトリに含まれる全てのサブフォルダのフォルダ名を表示するものである。一覧表示画面は、例えば、画面上の一行毎に、ファイル名又はフォルダ名を表示して、行をタッチ操作することで、対応する音楽データファイル3又はフォルダを選択できるように構成し得る(図示省略)。また、一覧表示画面に、上位階層のディレィトリに移動するボタン画像を設けてもよい。ユーザは、かかる一覧表示画面において、所望のフォルダを示す行又は上位階層のディレィトリに移動するボタン画像をタッチ操作することで、一覧表示画面をメモリの階層構造に従って変更できる。また、ユーザは、所望のファイル名に対応する行をタッチ操作することで、その行に対応する音楽データファイルの記憶場所を、転送先のパスとして選択できる。
カレントディレクトリを変更する操作が行われた場合(ステップS38のyes)、管理装置1のCPU10は、当該変更操作に応じて、カレントディレクトリを、新たにユーザに選択されたディレクトリ(フォルダ202又はサブフォルダ)に変更する(ステップS39)。そして、CPU10は、変更されたカレントディレクトリを対象に、前記ステップS35以降の処理を行う。これにより、管理装置1は、カレントディレクトリを移動し、移動先のカレントディレクトリの一覧表示画面を表示できる。
パスの決定操作(選択操作)が行われた場合(ステップS40のyes)、管理装置1のCPU10は、当該決定操作に応じて、パスを決定する。管理装置1のCPU10は、必要に応じてファイル名の変更を行い(前記ステップS5)、前記決定したパスを転送先として、転送対象の音楽データファイル3を転送する(前記ステップS6)。決定されたパスに対する音楽データファイル3の転送処理は、前述と同様であり、詳述は省略する。一方、カレントディレクトリ変更操作およびパス決定操作いずれの操作も行われない場合(ステップS38のno,S40のno)、管理装置1のCPU10は、ステップS35以降を繰り返して、ユーザによる操作を待つ。
前記のステップS32〜S40により、管理装置1のCPU10は、第3の機種「楽器」Cがユーザに1又は複数の音楽データファイルを提示する態様に合わせた態様で、カレントディレクトリ内の1又は複数の音楽データファイルをタッチパネル15に一覧表示できる。
以上、説明した音楽データファイル3のパスを決定する処理(図9〜図17)によれば、例えば、音楽データファイル3の提示順、音楽データファイル3の見せ方、ファイルシステムの構造の見せ方、或いは、音楽データファイル3を選択する操作の態様など、接続先の電子楽器2がユーザに対して1又は複数の音楽データファイル3を提示する態様に合わせた態様で、管理装置1のCPU10は、接続先の電子楽器2側の音楽データファイル3、或いは、格納領域を、一覧表示できる。
上述の実施例では、音楽データファイル3を管理装置1から電子楽器2へ転送する場合に、電子楽器2の機種に応じた提示態様で電子楽器2側のドライブ200をブラウズして音楽データファイル3のパスを決定する処理(図9〜図17)を行うことを説明した。図9〜図17を参照して説明した「ブラウズして音楽データファイル3のパスを決定する」処理は、電子楽器2のドライブ200内の音楽データファイル3を管理装置1に追加する場合にも、適用できる。
図18は、電子楽器2のドライブ200内の音楽データファイル3を管理装置1に追加する処理全体の流れを示すフローチャートである。ユーザは、タッチパネル15を用いて、ライブラリ100内の或るディレクトリを、音楽データファイル3を新規に追加するディレクトリとして指定する操作を行うことができる。前記ユーザの操作に応じて、管理装置1のCPU10は、図18の処理を起動する。
ステップS42において、管理装置1のCPU10は、前記ユーザ操作に応じて、当該管理装置1のライブラリ100内のディレクトリ(ルートディレクトリ又はフォルダ102)のうち指定されたディレクトリを、追加先として決定する。
ステップS43において、管理装置1のCPU10は、通信経路4を通じて現在接続中の1つの電子楽器2と通信して、その電子楽器2から機種情報を取得する。電子楽器2から機種情報を取得する処理は、図5を参照して前述した処理と同様であり、詳述は省略する。
ステップS44において、管理装置1のCPU10は、通信経路4を通じて電子楽器2と通信し、現在接続中の電子楽器2のドライブ200をブラウズして、当該管理装置1のライブラリ100に追加する音楽データファイル3に該当するパスを決定する。当該ステップS44において、CPU10は、図9〜図17を参照して前述した、現在接続中の電子楽器2の機種に応じた提示態様で、ドライブ200をブラウズしてパスを決定する処理を行う。このステップS44にて電子楽器2に記憶されている複数の音楽データファイル3を一覧表示する際に、管理装置1は、前述した図9〜図17により、接続先の電子楽器2の機種に応じた種々の態様に合わせた態様で、それら複数の音楽データファイル3の一覧表示できる。
例えば、現在接続中の電子楽器2が第1の機種「楽器A」である場合(図9のステップS16)、CPU10は、前記図11の処理によりタッチパネル15に前記図13の一覧表示画面60を表示する(図11のステップS22)。なお、画面60最上段の文字列「転送先を選択」は、「ライブラリに追加するファイルを選択」に変更される。ユーザは、画面上で所望のインデックスに該当する行61a,61b・・・を選択する(図11のステップS23)。ここで、選択する行は、音楽データファイル3に対応付けられている行(図13の例では「Song 1.midi」に対応付けられた行61a又は「Song 2.midi」に対応付けられた行61b)である。
また、現在接続中の電子楽器2が第2の機種「楽器B」である場合(図9のステップS17)、CPU10は、前記図14の処理によりタッチパネル15に、前記図16(a),(b),(c)の各画面70、72及び74を順次表示する(図14のステップS25、S26及びS30)。各画面70、72及び74最上段の文字列「転送先を選択」は、「ライブラリに追加するファイルを選択」に変更される。ユーザは、ファイルタイプ別フォルダ(仮想的ソングフォルダまたは仮想的スタイルフォルダ)に関する一覧表示画面74上で、所望の音楽データファイル3に該当する行75a,75b・・・を選択する(図14のステップS31)。
また、現在接続中の電子楽器2が第3の機種「楽器C」である場合(図9のステップS18)、CPU10は、前記図17の処理によりタッチパネル15に、ユーザにより選択されたカレントディレクトリに関する一覧表示画面を表示する(図17のステップS37)。ユーザは、カレントディレクトリに関する一覧表示画面上で所望の音楽データファイル3を選択する(図17のステップS40、S41)。
図18に戻ると、ステップS45において、管理装置1のCPU10は、通信経路4を通じて電子楽器2と通信し、前記ステップS45により選択された音楽データファイル3を、電子楽器2のドライブ200から取得する。電子楽器2は、指定された音楽データファイル3を複数のパケットに分割し、管理装置1とハンドシェイクを行い、互いにデータの送受信を確認しつつ、管理装置1に複数のパケットを転送する。
ステップS46において、管理装置1のCPU10は、前記ステップS45で取得した音楽データファイル3を、当該管理装置1のライブラリ100のうち、前記ステップS42で指定された追加先に記憶する。これにより、管理装置1は、自身のライブラリ100に、電子楽器2から取得した音楽データファイル3を新規に追加できる。
なお、上記の実施例では、1つの音楽データファイル3を転送する処理について説明したが、複数の音楽データファイル3を転送する際にも、本発明は適用できる。或いは、1又は複数のフォルダを転送する際にも、本発明は適用できる。或いは、1以上の音楽データファイル3と1以上のフォルダとを転送する際にも、本発明は適用できる。
なお、第1の機種におけるファイル名付与ルールは、上記実施例に限らない。例えば、インデックスの桁数は、2桁に限らずその他任意の桁数でよい。また、インデックスは、数字からなる限らず文字乃至記号からなるもの、又は、それらの組み合わせであってもよい。また、インデックスの位置は、先頭部に限らず、拡張子の直前など、その他任意の位置でよい。また、第2の機種において、表示上でのみ用いるインデクスは、101から始まる3桁の数字に限らず、その他任意の数から開始する任意の桁数のインデックスでよく、適宜の数字、文字、又は記号、若しくは、それらの組み合わせであってよい。
また、電子楽器2側のファイル名付与ルールは、インデックスを付けることに限らず、或る機種の電子楽器で適用されているどのようなファイル名付与ルールでもよい。ルールの変更例は、例えば、特定種類の文字が使えない、というルールや、或いは、アルファベット文字のみを用いる、というルールなど、であり得る。
なお、上述の図9〜図17を参照して説明した、機種に応じた提示態様に合わせた態様は一例に過ぎず、これに限定されない。例えば、図13に示すファイル一覧表示画面60は、例えば、7セグメントディスプレイ240を模擬したインデックス画像62a,62b,62c,62d,62e・・・によりインデックスを表示することに変えて、7セグメントディスプレイ240と関連のない表示形式(例えば、図13にてファイル名を表示しているのと同様な、単なる文字列の形式)で、インデックスを表示するように構成してもよい。また、インデックス及びファイル名の両方を表示することに限らず、インデックス又はファイル名の一方のみを表示する構成でもよい。また、図16(c)の一覧表示画面74は、インデックス及びファイル名の両方を表示することに限らず、インデックス又はファイル名の一方のみを表示する構成でもよい。また、例えば、図16(c)の一覧表示画面74など、第1の機種以外の機種に関する一覧表示画面においても、音楽データファイルを格納するために用意された全ての格納領域(空の格納領域を含む)を表示してもよい。また、例えば、図16(c)の一覧表示画面74など、第1の機種以外の機種に関する一覧表示画面においても、電子楽器2がユーザに対してインデックスを提示する形式を模擬した画像を用いて、インデックスを表示してもよい。また、第2の機種以外の機種に関する一覧表示画面においても、ファイルタイプ別の仮想的フォルダによりフォルダタイプを選択できるように構成してよい。
また、電子楽器2側のファイル名付与ルールは、インデックスを付けることに限らず、或る機種の電子楽器で適用されているどのようなファイル名付与ルールでもよい。ルールの変更例は、例えば、特定種類の文字が使えないルールであるとか、アルファベット文字のみを用いるルールであるとか、であり得る。
本発明は、音楽データファイルの管理をコンピュータに実行させるプログラムの発明として構成及び実施することもできる。