説明

電子音楽装置及び音楽コンテンツ処理プログラム

【課題】作業領域RAMの記憶容量が小さい電子楽器のような電子音楽装置でも、大きなデータサイズの暗号化音楽コンテンツを扱うことができる音楽コンテンツ処理システム。
【解決手段】このシステムでは、非暗号化及び暗号化ボイス(音色)データファイルVFa;VFbが音楽コンテンツとして利用される。何れのファイルVFa;VFbも、楽音信号生成用制御データVDa,WDa,…;VDb,WDb,…の種類に対応してデータチャンクVCa,WCa,…;VCb,WCb,…でくくられており、データの種類を表わす識別子が夫々のデータチャンクの先頭に配置されている。制御データをロードする際には、チャンクの先頭から、順次、僅かな所定サイズ(例えば、16Byte)のデータを取得し(暗号化ファイルVFbの場合には、所定サイズずつRAMに読み出しては復号する)、チャンク識別子の内容に従って楽音信号生成部の所定箇所に順次格納していく。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、電子楽器などの電子音楽装置で利用される楽音信号生成パラメータなどの暗号化音楽コンテンツを処理するための音楽コンテンツ処理システムに関する。
【背景技術】
【0002】
従来より、音楽コンテンツを利用する電子音楽装置が知られており、例えば、特許文献1には、複数のチャンクで構成され暗号化された音楽コンテンツデータを利用する技術が開示されている。
【特許文献1】特開2005−195935号公報
【0003】
従来技術では、このような音楽コンテンツデータを利用する場合、音楽コンテンツのファイル全体或いはチャンク全体をRAM上に展開してから、適宜、音楽コンテンツ中のパラメータや波形データをロードしていたので、データを展開するための大きな容量のRAMが必要である。特に、波形ファイルは巨大(例えば、15MByte)であり、電子楽器のような組込みシステムの電子音楽装置では、これに対応するRAMを採用するとコストアップにつながり、RAMの記憶容量を小さいままにすれば、利用可能な波形ファイルの大きさを制限せざるを得ない。また、暗号化された音楽コンテンツでは、ファイル全体或いはチャンク全体を展開した後でなければ、復号が正しく行われたかどうか、或いは、復号結果をどのように利用すべきか分からないので、その間、処理が滞ってしまう。
【発明の開示】
【発明が解決しようとする課題】
【0004】
この発明は、このような事情に鑑み、作業領域RAMの記憶容量が小さい電子楽器のような電子音楽装置でも、暗号化された波形データのように大きなデータサイズの音楽コンテンツを扱うことができる音楽コンテンツ処理システムを提供することを目的とする。
【課題を解決するための手段】
【0005】
この発明の主たる特徴に従うと、楽音信号生成部(8,9)に格納された楽音信号生成用制御データ(VCb,WCb,…)に従って楽音信号を生成する電子音楽装置であって、暗号化された1以上のデータチャンク(VCb,WCb,…)を有し、各データチャンクには、当該データチャンクに含まれている楽音信号生成用制御データ(VDb,WDb,…)の種類を表わす識別子(VIb,WIb,…)が先頭に配置された音楽コンテンツデータ(VFb)から、識別子(VIb,WIb,…)より大きくデータチャンク(VCb,WCb,…)より小さい所定サイズ(例えば、16Byte)のデータを、順次、読み出すデータ読出し手段(S3,S9;P1)と、データ読出し手段により読み出される所定サイズのデータを、順次、復号するデータ復号手段(S3,S9;P3)と、データ復号手段により復号されたデータチャンク先頭部分のデータから、当該データチャンクの識別子(VIb,WIb,…)を検知する識別子検知手段(S3,S4)と、識別子検知手段により検知された識別子(VIb,WIb,…)に基づいて、データ復号手段により復号される楽音信号生成用制御データ部分(VDb,WDb,…)のデータを、順次、楽音信号生成部(8,9)に格納するデータ格納手段(S10)とを具備する電子音楽装置〔請求項1〕が提供され、楽音信号生成部(8,9)に格納された楽音信号生成用制御データ(VCb,WCb,…)に従って楽音信号を生成する電子音楽装置として機能するコンピュータに、暗号化された1以上のデータチャンク(VCb,WCb,…)を有し、各データチャンクには、当該データチャンクに含まれている楽音信号生成用制御データ(VDb,WDb,…)の種類を表わす識別子(VIb,WIb,…)が先頭に配置された音楽コンテンツデータ(VFb)から、識別子(VIb,WIb,…)より大きくデータチャンク(VCb,WCb,…)より小さい所定サイズ(例えば、16Byte)のデータを、順次、読み出すデータ読出しステップ(S3,S9;P1)と、データ読出しステップで読み出される所定サイズのデータを順次復号するデータ復号ステップ(S3,S9;P3)と、データ復号ステップで復号されたデータチャンク先頭部分のデータから、当該データチャンクの識別子(VIb,WIb,…)を検知する識別子検知ステップ(S3,S4)と、識別子検知ステップで検知された識別子(VIb,WIb,…)に基づいて、データ復号ステップで復号される楽音信号生成用制御データ部分(VDb,WDb,…)のデータを、順次、楽音信号生成部(8,9)に格納するデータ格納ステップ(S10)とから成る手順を実行させる音楽コンテンツ処理プログラム〔請求項3〕が提供される。なお、括弧書きは、理解の便のために、実施例の参照記号、用語、箇所等を付記したものであり、以下においても同様である。、
【0006】
この発明による電子音楽装置は、さらに、データ読出し手段が所定サイズ(例えば、16Byte)のデータを順次読み出す各タイミングで、楽音信号生成に関する他の処理の要求を検知する他処理要求検知手段(S5)と、他処理要求検知手段により他の処理の要求が検知されたことに応じて(S5=YES)、読出し手段(S3,S9;P1)及び/又は復号手段(S3,S9;P3)及び/又は格納手段(S10)の処理を中断し、当該他の処理に切り替える処理切替え手段(S6〜S8)とを具備する〔請求項2〕ように構成することができる。
【発明の効果】
【0007】
この発明の主たる特徴による音楽コンテンツ処理システムでは(請求項1,3)、楽音信号生成用制御データ(VDb,WDb,…)の種類に対応して、「データチャンク」と呼ばれる所定のデータ単位(VCb,WCb,…)でくくられている音楽コンテンツデータ(VFb)が処理される。この音楽コンテンツ(VFb)は、暗号化された1以上のデータチャンク(VCb,WCb,…)を有し、各データチャンクには、当該データチャンクに含まれている楽音信号生成用制御データ(VDb,WDb,…)の種類を表わす識別子(VIb,WIb,…)が先頭に配置されている。つまり、夫々のデータチャンク(VCb,WCb,…)に含まれるデータ楽音信号生成用制御データについて、音色パラメータ(VDb)や波形データ(WDb)等のデータ種類が分かるように、チャンクの先頭に識別子(例えば、チャンク名などを示すIDコード)を配置した上で、全てのデータチャンク(VCb,WCb,…)が暗号化されている。このシステムは、このような暗号化音楽コンテンツデータ(VFb)の復号(解読)を作業領域RAM(2)上で僅かなサイズ(例えば、16Byte)ずつ行っていくと共に(S3,S9;P1〜P3)、各データチャンクの先頭からデータを読み始めて識別子が復号されると(S3)、識別子に続いて復号されるデータを楽音信号生成部(8,9)にどのように格納(ロード)して使うかを判別し(S4)、この判別結果に応じて、復号されたデータを、順次、楽音信号生成部(8,9)の所定箇所に格納する(S10)。従って、この発明によれば、作業領域RAMが小さい電子楽器のような電子音楽装置でも、暗号化された波形データのように大きなデータサイズの楽音信号生成用制御データを含む音楽コンテンツを取り扱うことができると共に、暗号化された音楽コンテンツに含まれている楽音信号生成用制御データを、識別子が示す所望の箇所に格納することができる。
【0008】
また、この発明による電子音楽装置においては(請求項2)、さらに、所定のデータサイズ(例えば、16Byte)で順次読み出す各タイミングで、楽音信号生成に関する他の処理の要求を検知すると(S5=YES)、これに応じてデータの読出し処理(S3,S9;P1)及び/又は復号処理(S3,S9;P3)及び/又は格納処理(S10)を中断し、当該他の処理に切り替える(S6〜S8)。つまり、僅かなサイズ(例えば、16Byte)ずつ復号するたびに、読出し、復号及び/又は格納処理を中断して要求された他の処理に切り替えるか否かのチェックをする。従って、この発明によれば、暗号化音楽コンテンツデータの復号中におけるシステムの応答性を上げることができる。
【発明を実施するための最良の形態】
【0009】
〔システムの概要〕
この発明の一実施例による音楽コンテンツ処理システムの機能が組み込まれる電子音楽装置は、音楽コンテンツ処理を含む音楽情報処理機能を有する一種のコンピュータであり、電子楽器のように楽音信号生成部を備える音楽機器が用いられる。図1は、この発明の一実施例による音楽コンテンツ処理システムが構築される電子音楽装置のハードウエア構成ブロック図を示す。この電子音楽装置は、中央処理装置(CPU)1、ランダムアクセスメモリ(RAM)2、読出専用メモリ(ROM)3、外部記憶装置4、演奏操作検出回路5、パネル操作検出回路6、表示回路7、音源回路8、効果回路9、MIDIインターフェース(I/F)10、通信インターフェース(I/F)11などを備え、これらの要素1〜11はバス12を介して互いに接続される。
【0010】
CPU1は、RAM2及びROM3と共にデータ処理部を構成し、所定の制御プログラムに従い、タイマ13によるクロックを利用して音楽コンテンツ処理を含む種々の音楽情報処理を実行する。RAM2は、これらの処理に際して必要な各種データを一時記憶するためのワーク領域として用いられ、ROM3には、これらの処理を実行するために必要な各種制御プログラムや制御データ、自動演奏データ等が予め記憶される。
【0011】
外部記憶装置4は、ハードディスク(HD)や、フラッシュメモリのような書換え可能な不揮発性の半導体メモリ、などの内蔵記憶媒体の外に、コンパクトディスク・リード・オンリィ・メモリ(CD−ROM)、フレキシブルディスク(FD)、光磁気(MO)ディスク、ディジタル多目的ディスク(DVD)、スマートメディア(登録商標)等の小型メモリカード、等々、種々の可搬性の外部記録媒体を含み、制御プログラムや制御データ、演奏データ等の音楽コンテンツを任意の外部記憶装置4に記憶することができる。
【0012】
演奏操作検出回路5は、鍵盤などの演奏操作子14の操作を検出し、演奏操作に対応する演奏データをデータ処理部に導入する。また、パネル操作検出回路6は、スイッチ等のパネル操作子15の操作内容を検出し、これに対応する各種設定情報をデータ処理部に導入する。表示回路7は、各種インジケータ(図示せず)やLCD等のディスプレイ(表示器)16の点灯/表示内容をCPU1からの指令に従って制御し、各種操作に対する表示援助を行う。
【0013】
音源回路8は、複数の音源レジスタ81及び波形RAM82を備えており、DSPを有する効果回路9と共に楽音信号生成部を構成する。各音源レジスタ81には、楽音信号生成部で使用される楽音信号生成パラメータのうち、ボイスパラメータと呼ばれる音色パラメータや波形データの指定などの音源に関する音源パラメータを格納することができ、波形RAM82には、音高に応じた種々の楽音波形を表わす波形データのセットを複数の音色に対応して複数セット格納することができる。また、効果回路9は、楽音信号生成パラメータのうち効果に関する楽音信号生成パラメータを格納する効果設定レジスタ91を備えている。音源レジスタ81や効果設定レジスタ91に格納される楽音信号生成パラメータや波形RAM82に記憶される波形データは、楽音信号生成用制御データと総称され、外部記憶装置4に記憶された音楽コンテンツデータからロードすることができる。
【0014】
このような構成により、楽音信号生成部の音源回路8は、演奏操作子14の演奏操作に基づく演奏データや記憶手段3、4等からの演奏データに基づいて、所望音色の楽音波形をもつオーディオ形式の楽音信号を生成し、効果回路9は、この楽音信号に所望の効果を付与する。そして、効果回路9に接続されたサウンドシステム17は、D/A変換部やアンプ、スピーカを備え、効果回路9からの楽音信号に基づく楽音を発生する。
【0015】
MIDII/F10には、この電子音楽装置と同様にMIDI音楽情報処理機能を有する外部MIDI機器50が接続され、MIDII/F10を通じてこの電子音楽装置と外部MIDI機器50との間でMIDI演奏データを授受することができる。通信I/F11には、インターネットやローカルエリアネットワーク(LAN)などの通信ネットワーク60が接続され、外部のサーバコンピュータ70等から、制御プログラムや、楽音信号生成用制御データや演奏データなどの音楽コンテンツをダウンロードし外部記憶装置4に保存してこの電子音楽装置で利用することができる。
【0016】
〔音楽コンテンツのデータ構造〕
図2は、この発明の一実施例による音楽コンテンツ処理システムで利用される音楽コンテンツのデータ構造例を示す。この音楽コンテンツ処理システムでは、音楽コンテンツとして、ボイス(音色)データファイルと呼ばれる楽音信号生成用制御データファイルを利用することができ、これには、図2(1)に示されるように暗号化されていない(非暗号化)ボイスデータファイルVFaと、図2(2)に示されるように暗号化されている(暗号化)ボイスデータファイルVFbがあり、この電子音楽装置の外部記憶装置4に記録されている。両ボイス(音色)データファイルVFa;VFbは、何れも、チャンクと呼ばれる所定のデータ単位でくくられており、ヘッダチャンクHCa;HCbに続く楽音信号生成用制御データVDa,WDa,…;VDb,WDb,…等のデータ部分についても、これらデータの種類に対応して、データチャンクVCa,WCa,…;VCb,WCb,…でくくられており、データの種類を表わす識別子(チャンクID)VIa,WIa,…;VIb,WIb,…が夫々のデータチャンクの先頭に配置されている。ボイスデータファイルVFa;VFbの楽音信号生成用制御データをロードする際には、データチャンクVCa,WCa,…;VCb,WCb,…の先頭から、順次、識別子より大きいがチャンクより小さい僅かな所定サイズ(例えば、16Byte)のデータを取得し(暗号化ボイスデータファイルVFbの場合には、所定サイズずつRAM2に読み出しては復号する)、夫々のデータチャンク識別子VIa,WIa,…;VIb,WIb,…の内容に従って楽音信号生成部8;9の所定箇所81,82;91に順次格納していく。
【0017】
より具体的に説明すると、図2(1)に例示された非暗号化ボイスデータファイルVFaは、チャンクと呼ばれるデータ単位でくくられており、これらのチャンクは、ヘッダチャンクHCa、ボイス(音色)パラメータチャンクVCa、波形データチャンクWCa及びその他の複数のチャンクで構成されており、楽音信号生成用制御データを含むボイス(音色)パラメータチャンク以下のチャンクVCa,WCa,…は、データチャンクと呼ばれる。
【0018】
ヘッダチャンクHCaは、このチャンクがヘッダチャンクであることを表わす固定長のヘッダチャンク識別子(チャンクIDともいう)HIa、ヘッダチャンクHCaの全データサイズをバイト長で表わす固定長のヘッダチャンクサイズ情報(バイト長情報)、並びに、フォーマットやバージョンなどのヘッダ情報及び暗号化に関するフラグ(暗号化のフラグともいう)を含む可変長のヘッダチャンク内データ部分から成る。非暗号化ボイスデータファイルVFaの場合、ヘッダチャンクを含む全チャンクHCa,VCa,WCa,…が暗号化されておらず、暗号化のフラグは、非暗号フラグ(FALSE)であり、以降のチャンクが暗号化されていないことを表わす。
【0019】
ボイスパラメータチャンクVCaは、このチャンクがボイスパラメータチャンクであることを表わす固定長のボイスパラメータチャンク識別子(チャンクID)VIa、ボイスパラメータチャンクVCaの全データサイズをバイト長で表わす固定長のボイスパラメータチャンクサイズ情報(バイト長情報)、並びに、LFO、EG(エンベロープ・ジェネレータ)、EQ(イコライザ)などの音色に関する楽音信号生成用の設定パラメータを含む可変長のボイス(音色)パラメータ群VDaから成る。
【0020】
波形データチャンクWCaは、このチャンクが波形データチャンクであることを表わす固定長の波形データチャンク識別子(チャンクID)WIa、波形データチャンクWCaの全データサイズをバイト長で表わす固定長の波形データチャンクサイズ情報(バイト長情報)、並びに、音域毎の楽音波形の実体を表わす複数の波形データを含む可変長の波形データセット(単に、波形データ、ウェーブデータともいう)WDaから成る。
【0021】
また、その他のチャンクには、波形データセットWDaを指定する波形情報のチャンクや、エフェクトに関する楽音信号生成パラメータのチャンクなどがあり、その他のチャンクも、上述した各チャンクHCa、VCa、WCaと同様に、固定長のチャンク識別子(チャンクID)及びチャンクサイズ情報(バイト長情報)と可変長のデータ部分とから成る。なお、これらのチャンクHCa、VCa,WDa,…においてチャンク識別子HIa、VIa,WIa,…及びチャンクサイズ情報から成るヘッダパートのデータサイズについては、例えば、識別子及びサイズ情報とも夫々4Byteとし、各チャンクのヘッダパート(識別子+サイズ情報)では、何れも、8Byteとすることができる。
【0022】
そして、非暗号化ボイスデータファイルVFaの楽音信号生成用制御データVDa,WDa,…をロードする際は、ファイルVFaから、各チャンクのデータサイズより小さく、各チャンクのヘッダパートサイズ(チャンク識別子及びチャンクサイズ情報の合計サイズ)以上の僅かな一定データサイズ、例えば、16Byteずつ、順次、データをRAM2に読み出して、データチャンクVCa,WCa,…から楽音信号生成用制御データVDa,WDa,…を取得し、データチャンクVCa,WCa,…の識別子VIa,WIa,…の内容に従って楽音信号生成部8;9の所定箇所81,82;91に格納していく。
【0023】
図2(2)に例示された暗号化ボイスデータファイルVFbも、非暗号化ボイスデータファイルVFaと同様に、チャンクでくくられており、ヘッダチャンクHCbに続くデータチャンクは、ボイス(音色)パラメータチャンクVCb、波形データチャンクWCb及びその他の複数のチャンクで構成されている。ヘッダチャンクHCbは、ファイルVFaのヘッダチャンクHCaと同様に、ヘッダチャンク識別子(チャンクID)HIb及びヘッダチャンクサイズ情報(バイト長情報)を有し、ヘッダチャンク内のデータ部分には、フォーマットやバージョンなどのヘッダ情報が記述されているが、暗号化に関するフラグとしては暗号済みフラグ(TRUE)が記述されている点が異なる。
【0024】
つまり、暗号化ボイスデータファイルVFbの場合には、ヘッダチャンクHCaは暗号化されていないが、網掛けで示すように、暗号化ボイスデータファイルVFaボイスパラメータチャンク以下の全データチャンクVCb,WCb,…の部分が暗号化されており、暗号化のフラグは、以降のチャンクが暗号化されていることを表わす「暗号済みフラグ」となる。ここで、暗号化/復号化は、XOR(エクスクルーシブオア)を利用する方式とする。ボイデータのうち暗号化される部分は、32ビット長の暗号キーで先頭から32ビットずつ順にXOR演算して暗号化される。この鍵データは、乱数を用いるなどして生成された共通鍵データであり、ボイスデータファイル供給者と電子音楽装置(電子楽器)製造元だけが知っていて、他者には明かされていないものである。
【0025】
なお、データチャンク、つまり、ボイスパラメータチャンクVCb、波形データチャンクWCb及びその他の複数のチャンクについては、暗号化されている点を除いて、内容的には非暗号化ファイルVFaと同様のデータ構造を呈している。例えば、ボイスパラメータチャンクVCbは、ボイスパラメータチャンク識別子(チャンクID)VIb、ボイスパラメータチャンクサイズ情報(バイト長情報)、並びに、LFO、EG、EQ他の音色に関する楽音信号生成パラメータを含むボイス(音色)パラメータ群VDbから成り、波形データチャンクWCbも、波形データチャンク識別子(チャンクID)WIb、波形データチャンクサイズ情報(バイト長情報)及び波形データWDbから成る。また、その他のチャンク群については、波形データセットWDaを指定する波形情報チャンクや、エフェクトに関するパラメータチャンク等がある。
【0026】
そして、暗号化ボイスデータファイルVFbの楽音信号生成用制御データVDb,WDb,…をロードする際は、ファイルVFbから、非暗号化ボイスデータファイルVFaの場合と同様に、上述した僅かな一定データサイズ、例えば、16Byteずつ、順次、データをRAM2に読み出し、楽音信号生成用制御データVDb,WDb,…を復号して、チャンクVCb,WCb,…の識別子VIb,WIb,…の内容に従って楽音信号生成部8;9の所定箇所81,82;91に格納していく。
【0027】
〔処理フロー例〕
図3及び図4は、この発明の一実施例による音楽コンテンツ処理を表わすフローチャートを示す。この音楽コンテンツ処理は「ファイル読出し処理」と呼ばれ、ユーザ操作によって、ファイル選択処理において、外部記憶装置4から、例えば、非暗号化ボイスデータファイルVFa或いは暗号化ボイスデータファイルVFbを処理対象に指定し、指定されたボイスデータファイルVFa;VFbの楽音信号生成用制御データ(VDa,WDa,…;VDb,WDb,…)のロードを指示すると、ファイル読出し処理が起動される。
【0028】
最初のステップS1では、CPU1は、非暗号化ボイスデータファイルVFa或いは暗号化ボイスデータファイルVFbから、そのヘッダチャンクHCa,HCbを読み出し、次のステップS2で、同チャンクHCa,HCb内のデータ部分に含まれている暗号化に関するフラグをRAM2にコピーして保持する。つまり、非暗号化ボイスデータファイルVFaであれば非暗号化フラグを保持し、暗号化ボイスデータファイルVFbであれば暗号化フラグを保持する。そして、最初のデータチャンクを指示してステップS3に進む。
【0029】
ステップS3では、図5に示される「所定長データ取得処理」により、ファイルVFa;VFbから、指示されたデータチャンクVCa,WCa,…;VCb,WCb,…の先頭にある所定長(例えば、16Byte)のデータ、つまり、少なくともヘッダパート(チャンク識別子及びバイト長情報)を含むチャンク先頭部分の情報を取得し、次のステップS4で、取得したデータに含まれるチャンク識別子VIa,WIa,…;VIb,WIb,…とバイト長情報をRAM2に保持する。例えば、ステップS2からステップS3に進んだ場合は、最初のデータチャンクVCa,VCbの先頭部分にあるボイスデータチャンク識別子VIa,VIb及びボイスデータチャンクバイト長情報を取得し保持する。
【0030】
図5の処理フロー例に従って説明すると、ステップP1で、非暗号化或いは暗号化ボイスデータファイルVFa;VFbから、その先頭部分にある所定長(例えば、16Byte)のデータを読み出し、ステップP2で、暗号化に関するフラグがTRUEか否か、即ち、ステップS2でRAM2に保持された暗号化のフラグが暗号済みフラグ(TRUE)であるか否かを判定する。ここで、暗号化のフラグが非暗号フラグ(FALSE)であれば(P2=NO)、直ちに、ステップS4にリターンする。つまり、このファイル読出し処理の対象が非暗号化ボイスデータファイルVFaであれば、ステップS4にて、ステップP1で読み出したボイスデータチャンク識別子VIa等のデータをそのまま保持する。なお、各チャンクには、適宜、無意味な0などゼロデータを詰めるなどして、暗号化後の暗号化データは、所定長(例えば、16Byte)の倍数にしてあるものとする。
【0031】
一方、暗号化のフラグが暗号済みフラグ(TRUE)であれば(P2=YES)、ステップP3に進み、所定の復号キー(暗号解読キー)を使って所定長(サイズ)データを復号し、その後、ステップS4にリターンする。つまり、このファイル読出し処理の対象が暗号化ボイスデータファイルVFbであれば、ステップP3において、予めROM3に埋め込まれている32ビット長の共通の鍵データを復号キーとして読み出し、この復号キーを用いて、暗号化されているデータの先頭から32ビットずつ順にXOR演算することにより、ステップP1で読み出したボイスデータチャンク識別子VIbを含むヘッダパート等のデータを復号し、ステップS4にて、復号されたデータを保持する。
【0032】
ステップS4で当該チャンクのヘッダパートデータ(チャンク識別子とバイト長)を保持する処理を行った後は、ステップS5に進んで、他に優先すべき処理があるかを判定する。ここで、優先すべき他の処理があったとき、例えば、演奏操作子14の演奏操作に従い、プリセットされたボイスデータ或いは既にロード済みのボイスデータを用いて楽音信号を生成するための処理の要求があったときは(S5=YES)、まず、ステップS6で、このファイル読出し処理の状態を表わすレジスタや変数をRAM2の所定領域に一時退避させ、次のステップS7で、要求された他の処理を行い、その後、ステップS8にて、退避していたファイル読出し処理の状態を表わすレジスタや変数を復帰させる。
【0033】
ステップS5で他に優先すべき処理がないと判定したとき(S5=NO)、或いは、ステップS8の復帰処理の後は、ステップS9に進み、図5の所定長データ取得処理のフローに従って次の所定長データを取得する処理を行い、更にステップS10(図4)に進む。つまり、ステップP1で、ファイル(VFa;VFb)から、次の所定長(例えば、16Byte)のデータを読み出し、非暗号ファイル(VFa)の場合は(P2=NO)直ちにステップS10にリターンし、暗号済みファイル(VFb)の場合には(P2=YES)、ステップP3にて、読み出した所定長データを所定の復号キーで復号した後、ステップS10にリターンする。そして、ステップS10では、所定長データ取得処理で取得したデータをチャンク識別子に対応するレジスタ(81,91)や波形RAM(82)などに転送する。例えば、現在のチャンクがボイスデータチャンクVCa:VCbの場合、そのチャンク識別子VIa:VIbに従って、取得したパラメータデータを音源レジスタ81に格納する。なお、前述のように、各チャンクには、適宜、無意味なゼロデー詰めるなどして、暗号化後の暗号化の暗号データが所定長(例えば、16Byte)の倍数にしてある。
【0034】
次のステップS11では、現在のチャンクのデータ部分を読み終えたか否かを判断し、読み終えていないときは(S11=NO)、ステップS5に戻り、現在のチャンクのデータ部分を読み終えない間は、現在のチャンクについてステップS5〜S11の処理を繰り返す。そして、現在のチャンクのデータ部分を読み終えたときには(S11=YES)、ステップS12に進んで、読取りが処理対象のファイル(VFa;VFb)の終端に達したか否かを判定する。
【0035】
ここで、ファイル(VFa;VFb)の終端に達していないときは(S12=NO)、次のデータチャンクを指示した上で、ステップS3に戻り、ファイル(VFa;VFb)の終端に達しない間は、指示された次のデータチャンクWCa,…;WCb,…について、ステップS5〜S12の処理を繰り返す。例えば、次のデータチャンクが波形データチャンクWCa:WCbの場合、そのチャンク識別子WIa:WIbに従って、所定長データ取得処理で取得したパラメータデータを、順次、波形RAM82に格納する。そして、全てのデータチャンクを読み終えて、ステップS12で、ファイル(VFa;VFb)の終端に達したと判定されると(S12=YES)、このファイル読取り処理を終了する。
【0036】
〔種々の実施態様〕
以上、図面を参照しつつ、この発明の好適な実施の形態について詳述したが、これは単なる一例であって、この発明の精神を逸脱しない範囲で種々の変更が可能である。例えば、実施例の説明では、データ暗号化の前後で同じサイズになるようにしたが、データの整合性をチェックすためのパリデータやチェッサムデータを付加することによりサイズが増えるようにしてもよい。逆に、データ圧縮を施してから暗合化するようにして、暗号データが元のサイズより小さくなるようにしてもよい。なお、このように暗号化によってサイズが変る場合であっても、読み出しサイズのアラインメントは適宜なされるものとする。
【0037】
また、実施例では、XOR(エクスクルーシブオア)を利用する暗号化/復号化方式を挙げたが、一般的な暗合化/復号化方法でよい。例えば、DESやIDEA、FEAL、MISTYなどの他の共通鍵暗合方式でもよいし、RSA、ElGamal暗合、楕円曲線暗合などの公開鍵暗号方式でもよい。
【図面の簡単な説明】
【0038】
【図1】この発明の一実施例による音楽コンテンツ処理システムが構築される電子音楽装置のハードウエア構成ブロック図を示す。
【図2】この発明の一実施例による音楽コンテンツ処理システムで利用される音楽コンテンツのデータ構造例を表わす図である。
【図3】この発明の一実施例によるファイル読出し処理を表わすフローチャートの一部である。
【図4】この発明の一実施例によるファイル読出し処理を表わすフローチャートの他部である。
【図5】この発明の一実施例による所定長データ取得処理のフローチャートである。
【符号の説明】
【0039】
81,82,91 音源レジスタ、波形ROM及び効果設定レジスタ
VFa,VFb ボイス(音色)データファイル(音楽コンテンツデータ)、
HCa,HCb ヘッダチャンク(a/bは、暗号化されていない/いるを表わす)、
VCa,VCb;VIa,VIb ボイス(音色)パラメータチャンク及びその識別子、
VDa,VDb ボイス(音色)パラメータ群、
WCa,WCb;WIa,WIb 波形データチャンク及びその識別子。

【特許請求の範囲】
【請求項1】
楽音信号生成部に格納された楽音信号生成用制御データに従って楽音信号を生成する電子音楽装置であって、
暗号化された1以上のデータチャンクを有し、各データチャンクには、当該データチャンクに含まれている楽音信号生成用制御データの種類を表わす識別子が先頭に配置された音楽コンテンツデータから、識別子より大きくデータチャンクより小さい所定サイズのデータを、順次、読み出すデータ読出し手段と、
データ読出し手段により読み出される所定サイズのデータを、順次、復号するデータ復号手段と、
データ復号手段により復号されたデータチャンク先頭部分のデータから、当該データチャンクの識別子を検知する識別子検知手段と、
識別子検知手段により検知された識別子に基づいて、データ復号手段により復号される楽音信号生成用制御データ部分のデータを、順次、楽音信号生成部に格納するデータ格納手段と
を具備することを特徴とする電子音楽装置。
【請求項2】
さらに、
データ読出し手段が所定サイズのデータを順次読み出す各タイミングで、楽音信号生成に関する他の処理の要求を検知する他処理要求検知手段と、
他処理要求検知手段により他の処理の要求が検知されたことに応じて、読出し手段及び/又は復号手段及び/又は格納手段の処理を中断し、当該他の処理に切り替える処理切替え手段と
を具備することを特徴とする請求項1に記載の電子音楽装置。
【請求項3】
楽音信号生成部に格納された楽音信号生成用制御データに従って楽音信号を生成する電子音楽装置として機能するコンピュータに、
暗号化された1以上のデータチャンクを有し、各データチャンクには、当該データチャンクに含まれている楽音信号生成用制御データの種類を表わす識別子が先頭に配置された音楽コンテンツデータから、識別子より大きくデータチャンクより小さい所定サイズのデータを、順次、読み出すデータ読出しステップと、
データ読出しステップで読み出される所定サイズのデータを順次復号するデータ復号ステップと、
データ復号ステップで復号されたデータチャンク先頭部分のデータから、当該データチャンクの識別子を検知する識別子検知ステップと、
識別子検知ステップで検知された識別子に基づいて、データ復号ステップで復号される楽音信号生成用制御データ部分のデータを、順次、楽音信号生成部に格納するデータ格納ステップと
から成る手順を実行させる音楽コンテンツ処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate