JP2007298823A - 曲データ処理装置および曲データ処理プログラム - Google Patents

曲データ処理装置および曲データ処理プログラム Download PDF

Info

Publication number
JP2007298823A
JP2007298823A JP2006127605A JP2006127605A JP2007298823A JP 2007298823 A JP2007298823 A JP 2007298823A JP 2006127605 A JP2006127605 A JP 2006127605A JP 2006127605 A JP2006127605 A JP 2006127605A JP 2007298823 A JP2007298823 A JP 2007298823A
Authority
JP
Japan
Prior art keywords
data
music data
music
section
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006127605A
Other languages
English (en)
Other versions
JP4807662B2 (ja
Inventor
Asei Gyoda
亜聖 行田
Shingo Horii
真吾 堀井
Hiroshi Iwase
広 岩瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2006127605A priority Critical patent/JP4807662B2/ja
Publication of JP2007298823A publication Critical patent/JP2007298823A/ja
Application granted granted Critical
Publication of JP4807662B2 publication Critical patent/JP4807662B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】曲の途中から再生できるようにMIDIデータを圧縮でき、しかも展開先の容量を低減化する曲データ処理装置を実現する。
【解決手段】MIDIデータを所定データ量単位の曲データブロックKDBに区切りタグTAGを付加する。曲データブロックKDBの属性(位置情報、時間情報および設定情報)をタグTAGの番号に対応付けて設定テーブルTBLに登録すると共に、曲データブロックKDBをデータ圧縮することで設定テーブルTBLとタグTAG毎にデータ圧縮された複数の曲データブロックとを含む圧縮データファイルが作成される。再生位置の指定に応じて、圧縮データファイル中の設定テーブルTBLの内容を参照して、再生指定された曲データブロックKDBの設定情報に基づき再生形態(音色や再生テンポ)を設定する一方、再生指定された曲データブロックKDBを解凍して再生する。
【選択図】図4

Description

本発明は、電子楽器などに用いて好適な曲データ処理装置および曲データ処理プログラムに関する。
従来より、演奏すべき各音の音高や発音タイミング、あるいは音色等を表わすイベントデータから構成される曲データを、演奏パートに対応させた演奏トラック毎にメモリ記憶しておき、そのメモリに記憶された各演奏トラック毎の曲データを、設定された再生テンポに従って自動演奏する装置が知られている。この種の装置として、例えば特許文献1には、自動演奏を進行させている最中に、リピート再生実行を指示すると、その指示時点における曲データ中の小節線番号から所定小節数分遡った始端と当該始端から一定小節数分進めた終端との間にある曲データを繰り返し再生する技術が開示されている。
特開2002−251186号公報
ところで、MIDIファイル(SMF形式)に格納される曲データ(MIDIデータ)を曲の途中から再生するには、テンポや音色等の設定内容を表す設定情報を取得する為、ファイル先頭からの読み出しが必要になる。したがって、容量削減のためにMIDIファイルがデータ圧縮されている場合には、曲の途中から再生するにしても、一旦全てを解凍した後にファイル先頭からMIDIデータを読み出さねばならず、これ故、解凍したMIDIデータを一時記憶する展開先には容量の大きい領域が必要になる、という問題が生じる。
本発明は、このような事情に鑑みてなされたもので、曲の途中から再生し得るように、MIDIデータを圧縮でき、しかも展開先の容量を低減化することができる曲データ処理装置および曲データ処理プログラムを提供することを目的としている。
上記目的を達成するため、請求項1に記載の発明では、少なくとも曲を構成する各音を表す曲データを、複数の区間に区切り、区切られた各区間毎に識別子を付加する付加手段と、前記付加手段により識別子が付加された各区間の曲データを圧縮する圧縮手段と、前記付加手段により識別子が付加された各区間の曲データの属性を、識別子に対応付けてファイル中のテーブルに登録すると共に、当該テーブル以降に前記圧縮手段が圧縮した各区間の曲データを登録して圧縮データファイルを形成するファイル形成手段と、再生指定された区間の識別子に対応する曲データと当該曲データの属性とを前記ファイル形成手段により形成された圧縮データファイルから抽出する抽出手段と、前記抽出手段により抽出された曲データの属性に従って設定される再生形態に基づいて前記抽出手段により抽出された曲データを解凍して再生する再生手段とを具備することを特徴とする。
上記請求項1に従属する請求項2に記載の発明では、前記付加手段は、所定音符数単位もしくは所定小節単位で曲データを区切ることを特徴とする。
上記請求項1に従属する請求項3に記載の発明では、前記ファイル形成手段は、先頭区間の曲データの属性だけをファイル中のテーブルに登録し、先頭以降の区間の曲データの属性については、先頭区間の曲データの属性との差分が生じる毎に、その差分を表す差分属性を対応する区間の圧縮された曲データの先頭に付加することを特徴とする。
上記請求項3に従属する請求項4に記載の発明では、前記ファイル形成手段は、先頭区間の曲データの属性との差分が大きい区間が存在する場合、その区間の曲データの属性をファイル中のテーブルに登録することを特徴とする。
請求項5に記載の発明では、少なくとも曲を構成する各音を表す曲データを、複数の区間に区切り、区切られた各区間毎に識別子を付加する付加処理と、前記付加処理により識別子が付加された各区間の曲データを圧縮する圧縮処理手段と、前記付加処理により識別子が付加された各区間の曲データの属性を、識別子に対応付けてファイル中のテーブルに登録すると共に、当該テーブル以降に前記圧縮処理が圧縮した各区間の曲データを登録して圧縮データファイルを形成するファイル形成処理と、再生指定された区間の識別子に対応する曲データと当該曲データの属性とを前記ファイル形成処理にて形成された圧縮データファイルから抽出する抽出処理と、前記抽出処理により抽出された曲データの属性に従って設定される再生形態に基づいて前記抽出処理にて抽出された曲データを解凍して再生する再生処理とをコンピュータで実行させることを特徴とする。
本発明では、曲データを複数の区間に区切り、区切られた各区間毎に識別子を付加して圧縮する。識別子が付加された各区間の曲データの属性を、識別子に対応付けてファイル中のテーブルに登録すると共に、当該テーブル以降に圧縮された各区間の曲データを登録して圧縮データファイルを形成する。こうして形成される圧縮データファイルにおいて、再生する区間を指定すると、再生指定された区間の識別子に対応する曲データと当該曲データの属性とを抽出し、抽出された曲データの属性に従って設定される再生形態に基づき、抽出された曲データを解凍して再生するので、曲の途中から再生し得るようにMIDIデータを圧縮でき、しかも展開先の容量を低減化することができる。
以下、図面を参照して本発明の実施の形態について説明する。
[第1実施形態]
A.構成
図1は、本発明の第1実施形態による曲データ処理装置を備える電子楽器の構成を示すブロック図である。この図において、鍵盤10は、押離鍵操作(演奏操作)に応じたキーオン/キーオフ信号および鍵番号KN(あるいはノートナンバ)、ベロシティ等からなる演奏情報を発生する。操作部11は、コンソールパネル上に配設される各種スイッチから構成され、これら各スイッチの操作に応じたスイッチイベントを発生する。このイベントは後述するCPU13のキースキャンにより取込まれる。操作部11に配設される主要なスイッチとしては、図示されていない電源スイッチの他、動作モード(後述のデータ作成モード又は演奏モード)を設定するモードスイッチ等がある。
表示部12は、コンソールパネルに配設されるLCDパネル(不図示)と、CPU13から供給される表示制御信号に応じてLCDパネルを表示制御する表示ドライバとから構成され、例えば上記操作部11のスイッチ操作に応じた動作状態や設定状態などを画面表示する。CPU13は、ROM14に格納される各種制御プログラムを実行して、キースキャンにより取込んだ操作部11の各スイッチ操作(スイッチイベント)に応じて装置各部を制御したり、キースキャンにより取込んだ鍵盤10の鍵イベントに対応した楽音形成を音源16に指示する。本発明に係わるCPU13の特徴的な処理動作、すなわち曲データ処理装置の機能を具現する動作については追って詳述する。
ROM14は、CPU13にロードされる各種プログラムを記憶する他、各種音色データを記憶する。ROM14に記憶される各種プログラムとは、後述するメインルーチン、データ作成処理、演奏処理および移動処理を含む。RAM15は、ワークエリアおよびデータエリアを備える。RAM15のワークエリアには、CPU13の処理に用いる各種レジスタ/フラグデータが一時記憶される。RAM15のデータエリアは、インタフェース部18を介して入力されるMIDIデータを一時記憶する曲データエリアと、この曲データエリアに格納されるMIDIデータを圧縮して保存する圧縮データエリアと、この圧縮データエリアに格納される圧縮済みのMIDIデータを解凍処理するための展開データエリアとを備える。
音源16は、周知の波形メモリ読み出し方式で構成される音源であり、演奏モード下では再生テンポに同期してCPU13がRAM15の展開データエリアから読み出すMIDIデータに対応した楽音信号を発生する。鍵操作に応じて楽音形成する通常モードの場合には、鍵イベントに対応してCPU13が生成する楽音パラメータに従った楽音信号を発生する。サウンドシステム17は、音源16から出力される楽音信号をD/A変換した後に増幅してスピーカより楽音として発音させるサウンドシステムである。
インタフェース部18は、例えばMIDIインタフェースやメモリカードインタフェースを備え、MIDIインタフェースを介して外部MIDI楽器から入力されるMIDIデータを、CPU13の制御の下に取込んでRAM15の曲データエリアにストアしたり、メモリカードインタフェースを介してメモリカードに記憶されるMIDIデータを、CPU13の制御の下に取込んでRAM15の曲データエリアにストアする。
B.動作
次に、図2〜図7を参照して第1実施形態の動作について説明する。以下では、最初にCPU13が実行するメインルーチンの動作を説明した後、このメインルーチンを構成するデータ作成処理、演奏処理および移動処理の各動作を説明する。
(1)メインルーチンの動作
電源スイッチ操作によりパワーオンされると、CPU13は図2に図示するメインルーチンを実行してステップSA1に処理を進め、装置各部を初期化するイニシャライズを行った後、ステップSA2に進む。ステップSA2では、モードスイッチ操作により設定される動作モードが「データ作成モード」又は「演奏モード」のいずれであるかを判断する。「データ作成モード」に設定されている場合には、ステップSA4を介してデータ作成処理を実行する。データ作成処理では、後述するように、インタフェース部18を介して取込んだ曲データ(MIDIデータ)を、図4に図示したファイル構造の圧縮データに変換する。一方、「演奏モード」に設定されている場合には、ステップSA3を介して演奏処理(後述する)を実行する。
(2)データ作成処理の動作
次に、図3を参照してデータ作成処理の動作を説明する。上述したメインルーチンのステップSA4(図2参照)を介して本処理が実行されると、CPU13は図3に図示するステップSB1に処理を進め、インタフェース部18を介して例えば外部MIDI楽器もしくはメモリカードから曲データ(MIDIデータ)を取込んでRAM15の曲データエリアにストアする。次いで、ステップSB2〜SB7では、RAM15の曲データエリアにストアしたMIDIデータを、図4に図示するファイル構造を有する圧縮データファイルを作成する。
ステップSB2〜SB7の動作を説明する前に、図4を参照して圧縮データファイルの構造について説明する。この図に示すファイルは、ファイル先頭に設けられる設定テーブルTBL、曲データブロックKDB(1)〜KDB(n)およびこれら曲データブロックKDB(1)〜KDB(n)を区切るタグTAG(1)〜TAG(n)から構成される。曲データブロックKDB(1)〜KDB(n)は、RAM15の曲データエリアにストアしたMIDIデータを、所定データ量毎に区切り、区切られたMIDIデータをデータ圧縮したものである。データ圧縮には、公知のLempel−Ziv符号化に基づくスライド辞書法や動的辞書法を用いる。
データ圧縮された曲データブロックKDB(1)〜KDB(n)には、区切りを表すタグTAG(1)〜TAG(n)が付加される。設定テーブルTBLには、これらタグTAG(1)〜TAG(n)で区切られた曲データブロックKDB(1)〜KDB(n)の属性が登録される。曲データブロックKDBの属性は、位置情報、時間情報および設定情報から構成される。位置情報は、タグTAGに対応付けられた曲データブロックKDBの記録アドレスを指す。時間情報は、タグTAGに対応付けられた曲データブロックKDBに含まれるMIDIデータの演奏開始時刻を表す。演奏開始時刻は、演奏開始時点からの経過時間で表現される。設定情報は、タグTAGに対応付けられた曲データブロックKDBに含まれるMIDIデータを再生する際の設定内容(音色や再生テンポ等)を表す。設定内容が変化する毎に、対応するタグTAGの設定情報として登録される。
図3に図示するステップSB2〜SB7では、このような構造の圧縮データファイルを生成する。すなわち、図3に図示するステップSB2では、圧縮区切り位置を歩進させ、続くステップSB3では、歩進させた圧縮区切り位置までのデータ量が閾値以上であるか否かを判断する。歩進させた圧縮区切り位置までのデータ量が閾値以上でなければ、判断結果は「NO」になり、上記ステップSB2に処理を戻し、圧縮区切り位置を歩進させる。そして、歩進させた圧縮区切り位置までのデータ量が閾値以上になると、上記ステップSB3の判断結果が「YES」になり、ステップSB4に進む。
ステップSB4では、所定データ量で区切られた一連のMIDIデータ、すなわち曲データブロックKDBの先頭にタグTAGを挿入する。次いで、ステップSB5では、挿入したタグTAGに対応する曲データブロックKDBの位置情報、時間情報および設定情報を設定テーブルTBLに登録する。そして、ステップSB6では、タグTAGが付加された曲データブロックKDBを、スライド辞書法や動的辞書法にてデータ圧縮し、RAM15の圧縮データエリアに保存する。続いて、ステップSB7では、曲の終わりに達したか否かを判断する。曲の終わりに達していなければ、判断結果は「NO」になり、上述したステップSB2〜SB6を繰り返す。そして、曲の終わりに達すると、判断結果が「YES」になり、本処理を終える。これにより、図4に図示した構造の圧縮データファイルがRAM15の圧縮データエリアに形成される。
(3)演奏処理の動作
次に、図5を参照して演奏処理の動作を説明する。上述したメインルーチンのステップSA3を介して本処理が実行されると、CPU13は図5に図示するステップSC1に処理を進める。ステップSC1では、RAM15の圧縮データエリアに形成した圧縮データファイル(図4参照)の内から設定テーブルTBLを抽出してRAM15のワークエリアに展開する。次いで、ステップSC2では、タグTAGを指定するレジスタTAGに初期値「1」をストアする。
続いて、ステップSC3では、レジスタTAGの値で指定されるタグTAG(1)の曲データブロックKDB(1)を、RAM15のワークエリアに展開された設定テーブルTBLの内容を参照して解凍する展開処理を実行する。そして、ステップSC4では、曲データブロックKDB(1)を解凍して得た曲データを再生する曲再生処理を実行する。なお、この曲再生処理では、レジスタTAGの値で指定されるタグTAG(1)に対応付けられた設定情報を設定テーブルTBLから読み出し、再生する楽音の音色や再生テンポ等を設定する。
次いで、ステップSC5では、解凍した曲データブロック分の曲データを再生し終えたかどうかを判断する。再生し終えていなければ、上記ステップSC4に処理を戻す。以後、解凍した曲データブロック分の曲データを再生し終えるまでステップSC4〜SC5を繰り返す。そして、解凍した曲データブロック分の曲データを再生し終えると、ステップSC5の判断結果が「YES」になり、ステップSC6に進む。ステップSC6では、曲の終わりまで曲データを再生し終えたかどうかを判断する。
曲の終わりまで曲データを再生し終えていなければ、ここでの判断結果は「NO」になり、ステップSC7に進む。ステップSC7では、再生位置を指定するユーザ操作の有無を判断する。ユーザ操作が無ければ、判断結果は「NO」になり、ステップSC8に進み、レジスタTAGの値を歩進させた後、上述のステップSC3に処理を戻す。したがって、再生位置を指定するユーザ操作が行われなければ、タグTAG(1)の曲データブロックKDB(1)に続いて、タグTAG(2)の曲データブロックKDB(2)が、さらにタグTAG(3)の曲データブロックKDB(3)というように、タグTAGの番号順に曲データブロックKDBを解凍しながら、その解凍された曲データブロックKDBの曲データに従って曲再生を進行させる。
一方、再生位置を指定するユーザ操作が行われると、上述したステップSC7の判断結果が「YES」になり、ステップSC9を介して移動処理(後述する)を実行した後、上述のステップSC4に処理を戻す。以後、解凍した曲データブロック分の曲データを再生し終えるまでステップSC4〜SC5を繰り返す。そして、解凍した曲データブロック分の曲データを再生し終え、曲終端に達すると、ステップSC6の判断結果が「YES」になり、本処理を終える。
(4)移動処理の動作
次に、図6を参照して移動処理の動作を説明する。上述した演奏処理のステップSC9(図5参照)を介して本処理が実行されると、CPU13は図6に図示するステップSD1に処理を進める。ステップSD1では、ユーザ操作により指定された再生位置が、現在再生中の曲データブロックKDBと同一のブロック内であるかどうかを判断する。同じブロック内ならば、判断結果は「YES」になり、ステップSD3に進み、指定された再生位置の設定情報を、設定テーブルTBLから取得し、取得した設定情報を設定する。そして、ステップSD4に進み、指定された再生位置にジャンプして本処理を終え、上述したステップSC4に処理を戻す。これにより、指定された再生位置から曲再生が進行する。
これに対し、ユーザ操作により指定された再生位置が、現在再生中の曲データブロックKDBとは異なる曲データブロックKDBであると、上記ステップSD1の判断結果は「NO」になり、ステップSD2に進み、指定位置の曲データブロックKDBを、RAM15のワークエリアに展開された設定テーブルTBLの内容を参照して解凍する展開処理を実行する。そして、ステップSD3に進み、指定された曲データブロックKDBの設定情報を設定テーブルTBLから取得して設定し、続くステップSD4では、指定された曲データブロックKDBにジャンプして本処理を終え、上述したステップSC4に処理を戻す。これにより、指定された曲データブロックKDBの先頭から曲再生が進行する。
以上のように、第1実施形態では、RAM15の曲データエリアに格納されるMIDIデータを、所定データ量単位の曲データブロックKDBに区切り、区切られた曲データブロックKDB毎にタグTAGを付加する。タグTAGが付加された各曲データブロックKDBの属性(位置情報、時間情報および設定情報)をタグTAGの番号に対応付けて設定テーブルTBLに登録すると共に、曲データブロックKDBを公知のLempel−Ziv符号化にてデータ圧縮する。これにより、設定テーブルTBLとタグTAG毎にデータ圧縮された複数の曲データブロックとを含む圧縮データファイルが作成される。
そして、ユーザが再生位置を指定すると、圧縮データファイル中の設定テーブルTBLの内容を参照して、再生指定された曲データブロックKDBの設定情報に基づき再生形態(音色や再生テンポ)を設定する一方、再生指定された曲データブロックKDBを圧縮データファイルから読み出して解凍し、解凍した曲データブロックKDBのMIDIデータを再生するので、曲の途中から再生し得るように、MIDIデータを圧縮でき、しかも展開先の容量を低減化することができる。
[変形例]
次に、図7を参照して第1実施形態の変形例について説明する。図7は、第1実施形態の変形例によるデータ作成処理の動作を示すフローチャートである。図7に図示する変形例によるデータ作成処理では、曲データが演奏パートに対応させた複数の処理トラックから構成される場合に、それら複数の処理トラックの内から所望の演奏パートに対応する処理トラックを指定し、指定した処理トラックの曲データを所定音符数単位もしくは所定小節単位で曲データブロックKDBに区切るようになっている。以下、こうした変形例によるデータ作成処理の動作を説明する。
前述した第1実施形態と同様に、メインルーチンのステップSA4(図2参照)を介して変形例によるデータ作成処理が実行されると、CPU13は図7に図示するステップSE1に処理を進め、インタフェース部18を介して例えば外部MIDI楽器もしくはメモリカードから複数の処理トラックから構成されるMIDIデータを取込んでRAM15の曲データエリアにストアする。続いて、ステップSE2では、複数の処理トラックから所望の演奏パートに対応する処理トラックを指定する。次いで、ステップSE3では、小節番号レジスタを初期化する。
ステップSE4では、同一小節内の音符数をカウントする。次いで、ステップSE5では、カウントした音符数が閾値以上であるか否かを判断する。カウントした音符数が閾値以上ならば、判断結果は「YES」になり、ステップSE7に進み、閾値以上の音符数を含む小節のMIDIデータからなる曲データブロックKDBの先頭にタグTAGを挿入する。
一方、カウントした音符数が閾値以上でなければ、上記ステップSE5の判断結果は「NO」になり、ステップSE6に進む。ステップSE6では、タグTAGを挿入していない小節数が閾値以上であるか否かを判断する。閾値以上でなければ、判断結果は「NO」になり、後述のステップSE10に進む。
これに対し、タグTAGを挿入していない小節数が閾値以上であると、上記ステップSE6の判断結果が「YES」になり、ステップSE7に進み、閾値以上の小節数分のMIDIデータからなる曲データブロックKDBの先頭にタグTAGを挿入する。次いで、ステップSE8では、挿入したタグTAGに対応する曲データブロックKDBの位置情報、時間情報および設定情報を設定テーブルTBLに登録し、続くステップSE9では、タグTAGが付与された曲データブロックKDBを、スライド辞書法や動的辞書法にてデータ圧縮し、RAM15の圧縮データエリアに保存する。
そして、ステップSE10では、小節番号レジスタの値が曲終端の値であるか、つまり曲中の全ての小節について処理し終えたかどうかを判断する。曲中の全ての小節について処理し終えていなければ、判断結果は「NO」になり、ステップSE11に進み、小節番号レジスタの値を歩進させて次の小節に移動させてから上述のステップSE4に処理を戻す。以後、曲中の全ての小節について処理し終える迄、上述したステップSE4〜SE11を繰り返す。そして、曲中の全ての小節について処理し終えると、ステップSE10の判断結果が「YES」になり、本処理を終える。
このように、変形例では、複数の処理トラックから所望の演奏パートに対応する処理トラックを指定し、指定した処理トラックのMIDIデータを所定音符数単位もしくは所定小節単位で曲データブロックKDBに区切ってデータ圧縮するので、例えば指定された演奏パートが演奏ガイドをパートや、ミュージックマイナスワンのマイナスワンパートであった場合、演奏者が弾くべきパートの密度に応じてタグTAGが挿入されるため、反復練習により適したデータ形式となる。
[第2実施形態]
前述した第1実施形態では、図4に図示した構造の圧縮データファイルにおいて、タグTAGが付加された曲データブロックKDB毎の設定情報を設定テーブルTBLに登録する形態とした。これに対し、第2実施形態による圧縮データファイルでは、図8に図示する通り、タグTAG(1)が付加された先頭の曲データブロックKDB(1)の初期設定情報だけを設定テーブルTBLに登録しておき、以降の曲データブロックKDB(2)〜KDB(n)の設定情報については、初期設定内容との差分が生じる毎に、その差分を表す差分設定情報を対応する曲データブロックKDBの先頭に付加する形態としている。
次に、図8に図示した構造の圧縮データファイルを処理対象とした第2実施形態による移動処理の動作について図9を参照して説明する。前述した第1実施形態と同様、演奏処理のステップSC9(図5参照)を介して第2実施形態による移動処理が実行されると、CPU13は図9に図示するステップSF1に処理を進める。ステップSF1では、ユーザ操作により指定された再生位置が、現在再生中の曲データブロックKDBと同一のブロック内であるかどうかを判断する。同じブロック内ならば、判断結果は「YES」になり、ステップSF2に進む。
ステップSF2では、タグTAG(1)が付加された先頭の曲データブロックKDB(1)の初期設定情報を設定テーブルTBLから取得すると共に、指定された再生位置を含む曲データブロックKDBの時間情報を設定テーブルTBLから取得する。続いて、ステップSF3では、上記ステップSF2にて設定テーブルTBLから取得した初期設定情報に基づき、音色や再生テンポ等の設定内容を変更する。そして、ステップSF4に進み、指定された再生位置を含む曲データブロックKDBの先頭にジャンプする。次いで、ステップSF5では、ブロック先頭に配設される差分設定情報に従い設定内容を更新して本処理を終える。
一方、ユーザ操作により指定された再生位置が、現在再生中の曲データブロックKDBとは異なる曲データブロックKDBであると、上記ステップSF1の判断結果が「NO」になり、ステップSF6に進む。ステップSF6では、タグTAG(1)が付加された先頭の曲データブロックKDB(1)の初期設定情報を設定テーブルTBLから取得すると共に、指定された再生位置のタグTAGに対応する曲データブロックKDBの位置情報および時間情報を設定テーブルTBLから取得する。
そして、ステップSF7では、上記ステップSF6にて設定テーブルTBLから取得した初期設定情報に基づき、音色や再生テンポ等の設定内容を変更する。この後、ステップSF8に進み、該当タグTAGに対応する曲データブロックKDBを解凍する展開処理を実行する。次いで、ステップSF5に進み、解凍された曲データブロックKDBの先頭に配設される差分設定情報に従い設定内容を更新して本処理を終える。
以上のように、第2実施形態では、タグTAG(1)が付加された先頭の曲データブロックKDB(1)の初期設定情報だけを設定テーブルTBLに登録しておき、以降の曲データブロックKDB(2)〜KDB(n)の設定情報については、初期設定内容との差分が生じる毎に、その差分を表す差分設定情報を対応する曲データブロックKDBの先頭に付加するので、曲の途中から再生し得るように、MIDIデータを圧縮でき、しかも展開先の容量を低減化することができる。
[変形例]
上述した第2実施形態では、タグTAG(1)が付加された先頭の曲データブロックKDB(1)の初期設定情報だけを設定テーブルTBLに登録しておき、以降の曲データブロックKDB(2)〜KDB(n)の設定情報については、初期設定内容との差分が生じる毎に、その差分を表す差分設定情報を対応する曲データブロックKDBの先頭に付加するようにした。これに対し、第2実施形態の変形例では、図10に図示するように、初期設定情報との差分が小さいうちは、第2実施形態と同様に、差分を表す差分設定情報を対応する曲データブロックKDBの先頭に付加するが、初期設定情報との差分が大きくなった場合には、新たな設定情報を定義して設定テーブルTBLに登録する。
次に、図10に図示した構造の圧縮データファイルを処理対象とした変形例による移動処理の動作について図11〜図12を参照して説明する。前述した第1実施形態と同様、演奏処理のステップSC9(図5参照)を介して第2実施形態の変形例による移動処理が実行されると、CPU13は図11に図示するステップSG1に処理を進める。ステップSG1では、ユーザ操作により指定された再生位置が、現在再生中の曲データブロックKDBと同一のブロック内であるかどうかを判断する。同じブロック内ならば、判断結果は「YES」になり、ステップSG2に進み、ユーザ操作により指定された再生位置に該当するタグTAGの番号をレジスタNtagにストアする。
ステップSG3では、該当タグTAGに対応する曲データブロックKDBの設定情報が設定テーブルTBLに登録されているか否かを判断する。設定テーブルTBLに登録されていなければ、判断結果は「NO」になり、ステップSG4に進み、タグTAGの番号をデクリメントして上記ステップSG3に処理を戻し、1つ前のタグTAGに対応する曲データブロックKDBの設定情報が設定テーブルTBLに登録されているか否かを判断する。
そして、例えば設定情報が設定テーブルTBLに登録されていると、ステップSG3の判断結果が「YES」になり、ステップSG5に進み、設定テーブルTBLから読み出した設定情報に基づき、音色や再生テンポ等の設定内容を変更する。次いで、ステップSG6では、レジスタNtagにストアしたタグTAGの番号を、現在のタグTAGの番号に設定する。そして、ステップSG7では、この現在のタグTAGの番号で指定される曲データブロックKDBの先頭にジャンプする。次いで、ステップSG8では、ブロック先頭に配設される差分設定情報に従い設定内容を更新して本処理を終える。
一方、ユーザ操作により指定された再生位置が、現在再生中の曲データブロックKDBとは異なる曲データブロックKDBであると、上記ステップSG1の判断結果が「NO」になり、図12に図示するステップSG9に進み、該当タグTAGの番号を取得し、続くステップSG10では、取得したタグTAGの番号をレジスタNtagにストアする。次いで、ステップSG11では、該当タグTAGに対応する曲データブロックKDBの設定情報が設定テーブルTBLに登録されているか否かを判断する。設定テーブルTBLに登録されていなければ、判断結果は「NO」になり、ステップSG12に進み、タグTAGの番号をデクリメントして上記ステップSG3に処理を戻し、1つ前のタグTAGに対応する曲データブロックKDBの設定情報が設定テーブルTBLに登録されているか否かを判断する。
そして、例えば設定情報が設定テーブルTBLに登録されていると、ステップSG11の判断結果が「YES」になり、ステップSG13に進み、設定テーブルTBLから読み出した設定情報に基づき、音色や再生テンポ等の設定内容を変更する。次いで、ステップSG14では、レジスタNtagにストアしたタグTAGの番号を、現在のタグTAGの番号に設定する。そして、ステップSG15では、該当タグTAGに対応する曲データブロックKDBを解凍する展開処理を実行する。この後、ステップSG8に進み、解凍された曲データブロックKDBの先頭に配設される差分設定情報に従い設定内容を更新して本処理を終える。
以上のように、第2実施形態の変形例では、初期設定情報との差分が小さいうちは、差分を表す差分設定情報を対応する曲データブロックKDBの先頭に付加し、初期設定情報との差分が大きくなった場合には、新たな設定情報を定義して設定テーブルTBLに登録するので、曲の途中から再生し得るように、MIDIデータを圧縮でき、しかも展開先の容量を低減化することができる。
本発明による第1実施形態の構成を示すブロック図である。 メインルーチンの動作を示すフローチャートである。 データ作成処理の動作を示すフローチャートである。 圧縮データファイルの構造を示す図である。 演奏処理の動作を示すフローチャートである。 移動処理の動作を示すフローチャートである。 第1実施形態の変形例によるデータ作成処理の動作を示すフローチャートである。 第2実施形態による圧縮データファイルの構造を示す図である。 第2実施形態による移動処理の動作を示すフローチャートである。 第2実施形態の変形例による圧縮データファイルの構造を示す図である。 第2実施形態の変形例による移動処理の動作を示すフローチャートである。 第2実施形態の変形例による移動処理の動作を示すフローチャートである。
符号の説明
10 鍵盤
11 操作部
12 表示部
13 CPU
14 ROM
15 RAM
16 音源
17 サウンドシステム
18 インタフェース部

Claims (5)

  1. 少なくとも曲を構成する各音を表す曲データを、複数の区間に区切り、区切られた各区間毎に識別子を付加する付加手段と、
    前記付加手段により識別子が付加された各区間の曲データを圧縮する圧縮手段と、
    前記付加手段により識別子が付加された各区間の曲データの属性を、識別子に対応付けてファイル中のテーブルに登録すると共に、当該テーブル以降に前記圧縮手段が圧縮した各区間の曲データを登録して圧縮データファイルを形成するファイル形成手段と、
    再生指定された区間の識別子に対応する曲データと当該曲データの属性とを前記ファイル形成手段により形成された圧縮データファイルから抽出する抽出手段と、
    前記抽出手段により抽出された曲データの属性に従って設定される再生形態に基づいて前記抽出手段により抽出された曲データを解凍して再生する再生手段と
    を具備することを特徴とする曲データ処理装置。
  2. 前記付加手段は、所定音符数単位もしくは所定小節単位で曲データを区切ることを特徴とする請求項1記載の曲データ処理装置。
  3. 前記ファイル形成手段は、先頭区間の曲データの属性だけをファイル中のテーブルに登録し、先頭以降の区間の曲データの属性については、先頭区間の曲データの属性との差分が生じる毎に、その差分を表す差分属性を対応する区間の圧縮された曲データの先頭に付加することを特徴とする請求項1記載の曲データ処理装置。
  4. 前記ファイル形成手段は、先頭区間の曲データの属性との差分が大きい区間が存在する場合、その区間の曲データの属性をファイル中のテーブルに登録することを特徴とする請求項3記載の曲データ処理装置。
  5. 少なくとも曲を構成する各音を表す曲データを、複数の区間に区切り、区切られた各区間毎に識別子を付加する付加処理と、
    前記付加処理により識別子が付加された各区間の曲データを圧縮する圧縮処理手段と、
    前記付加処理により識別子が付加された各区間の曲データの属性を、識別子に対応付けてファイル中のテーブルに登録すると共に、当該テーブル以降に前記圧縮処理が圧縮した各区間の曲データを登録して圧縮データファイルを形成するファイル形成処理と、
    再生指定された区間の識別子に対応する曲データと当該曲データの属性とを前記ファイル形成処理にて形成された圧縮データファイルから抽出する抽出処理と、
    前記抽出処理により抽出された曲データの属性に従って設定される再生形態に基づいて前記抽出処理にて抽出された曲データを解凍して再生する再生処理と
    をコンピュータで実行させることを特徴とする曲データ処理プログラム。
JP2006127605A 2006-05-01 2006-05-01 曲データ処理装置および曲データ処理プログラム Expired - Fee Related JP4807662B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006127605A JP4807662B2 (ja) 2006-05-01 2006-05-01 曲データ処理装置および曲データ処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006127605A JP4807662B2 (ja) 2006-05-01 2006-05-01 曲データ処理装置および曲データ処理プログラム

Publications (2)

Publication Number Publication Date
JP2007298823A true JP2007298823A (ja) 2007-11-15
JP4807662B2 JP4807662B2 (ja) 2011-11-02

Family

ID=38768348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006127605A Expired - Fee Related JP4807662B2 (ja) 2006-05-01 2006-05-01 曲データ処理装置および曲データ処理プログラム

Country Status (1)

Country Link
JP (1) JP4807662B2 (ja)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6330900A (ja) * 1986-07-25 1988-02-09 日本放送協会 音声・演奏情報伝送方法および送受信装置
JPH09153819A (ja) * 1995-11-30 1997-06-10 Ekushingu:Kk Midiデータの圧縮方法及び圧縮装置
JPH09152872A (ja) * 1995-11-30 1997-06-10 Kawai Musical Instr Mfg Co Ltd 電子楽器
JP2000029462A (ja) * 1998-05-18 2000-01-28 Sony Corp 情報処理装置および情報処理方法、並びに提供媒体
JP2001056688A (ja) * 1999-08-20 2001-02-27 Kawai Musical Instr Mfg Co Ltd 電子楽器
JP2001308942A (ja) * 2000-04-20 2001-11-02 Yamaha Corp 音楽情報デジタル信号の変調装置、復調装置および記録方法
JP2002091436A (ja) * 2000-09-19 2002-03-27 Victor Co Of Japan Ltd 演奏情報記録装置、演奏情報圧縮装置及び電話端末装置
JP2002091437A (ja) * 2000-09-19 2002-03-27 Victor Co Of Japan Ltd 演奏情報圧縮装置、演奏情報復号装置及び電話端末装置
JP2004004155A (ja) * 2002-05-17 2004-01-08 Crimson Technology Inc 演奏情報圧縮装置、演奏情報復号装置、演奏情報圧縮方法、演奏情報復号方法、演奏情報圧縮プログラム、演奏情報復号プログラム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6330900A (ja) * 1986-07-25 1988-02-09 日本放送協会 音声・演奏情報伝送方法および送受信装置
JPH09153819A (ja) * 1995-11-30 1997-06-10 Ekushingu:Kk Midiデータの圧縮方法及び圧縮装置
JPH09152872A (ja) * 1995-11-30 1997-06-10 Kawai Musical Instr Mfg Co Ltd 電子楽器
JP2000029462A (ja) * 1998-05-18 2000-01-28 Sony Corp 情報処理装置および情報処理方法、並びに提供媒体
JP2001056688A (ja) * 1999-08-20 2001-02-27 Kawai Musical Instr Mfg Co Ltd 電子楽器
JP2001308942A (ja) * 2000-04-20 2001-11-02 Yamaha Corp 音楽情報デジタル信号の変調装置、復調装置および記録方法
JP2002091436A (ja) * 2000-09-19 2002-03-27 Victor Co Of Japan Ltd 演奏情報記録装置、演奏情報圧縮装置及び電話端末装置
JP2002091437A (ja) * 2000-09-19 2002-03-27 Victor Co Of Japan Ltd 演奏情報圧縮装置、演奏情報復号装置及び電話端末装置
JP2004004155A (ja) * 2002-05-17 2004-01-08 Crimson Technology Inc 演奏情報圧縮装置、演奏情報復号装置、演奏情報圧縮方法、演奏情報復号方法、演奏情報圧縮プログラム、演奏情報復号プログラム

Also Published As

Publication number Publication date
JP4807662B2 (ja) 2011-11-02

Similar Documents

Publication Publication Date Title
KR0133846B1 (ko) 동기화된 가사 표시장치
JP6465136B2 (ja) 電子楽器、方法、及びプログラム
CN108573689B (zh) 电子乐器、乐音发生方法及记录介质
US7385132B2 (en) Electronic music apparatus and music-related data display method
JP2002251185A (ja) 自動演奏装置および自動演奏方法
JP4807662B2 (ja) 曲データ処理装置および曲データ処理プログラム
JP6492629B2 (ja) 歌唱生成装置、電子楽器、方法、およびプログラム
JP2010139592A (ja) 楽音発生装置および楽音発生プログラム
JP3733866B2 (ja) 演奏情報検索装置
JPS6319878B2 (ja)
JP4697666B2 (ja) 楽譜表示装置および楽譜表示プログラム
CN113093975A (zh) 显示方法、电子设备、演奏数据显示系统及存储介质
JP3928725B2 (ja) 楽音信号発生装置及びレガート処理プログラム
JP3319985B2 (ja) カラオケの歌詞表示システムおよび歌詞表示方法
JP4161714B2 (ja) カラオケ装置
JP4315116B2 (ja) 電子音楽装置
JP4973983B2 (ja) 自動演奏装置および自動演奏処理プログラム
JP3178176B2 (ja) 自動伴奏装置
JP3395805B2 (ja) カラオケ用歌詞ガイド装置
JP4626851B2 (ja) 曲データ編集装置および曲データ編集プログラム
JP4645285B2 (ja) 電子楽器
JPH10254443A (ja) パンチイン装置、パンチイン方法及びプログラムを記録した媒体
JP4816930B2 (ja) 演奏支援情報生成装置および演奏支援情報生成プログラム
JP3885708B2 (ja) 演奏情報編集装置、演奏情報編集方法および演奏情報編集プログラム
JP5029770B2 (ja) 演奏支援情報生成装置および演奏支援情報生成プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110422

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110725

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4807662

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110807

LAPS Cancellation because of no payment of annual fees