(58)【調査した分野】(Int.Cl.,DB名)
ユーザが、編集指示を入力する入力手段を用いて、前記表示手段上に表示された波形画像に対して編集指示を入力したときに、当該入力された編集指示を前記音楽データの編集指示に変換する変換ステップと、
ユーザによる前記編集指示の入力に応じて、前記表示された波形画像内の編集指示された波形画像データを変更して表示するとともに、前記音楽データを前記変換ステップによって変換された編集指示に基づいて変更するように制御する制御ステップと
をさらに有することを特徴とする請求項1乃至3のいずれか1項に記載の音楽データ編集方法。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0017】
図1は、本発明の一実施の形態に係る音楽データ編集装置100の概略構成を示すブロック図である。本実施の形態の音楽データ編集装置100は、DAWソフトウェアがインストールされ起動されたPCである。
【0018】
同図に示すように、音楽データ編集装置100は、文字入力用キーボードおよびポインティングデバイス(たとえばマウス)からなる操作入力部1と、装置全体の制御を司るCPU2と、該CPU2が実行する基本制御プログラム(BIOS:Basic Input Output System)や各種テーブルデータ等を記憶するROM3と、入力された演奏情報(演奏イベント)、各種入力情報および演算結果等を一時的に記憶するRAM4と、前記DAWソフトウェアを含む各種アプリケーションプログラムやOS(Operating System)、各種音楽データ、各種データ等を記憶する記憶装置5と、各種情報等を表示する、たとえば大型のLCD(Liquid Crystal Display)からなるディスプレイ6と、外部MIDI機器である電子鍵盤楽器200を接続し、この電子鍵盤楽器200とデータの送受信を行う通信インターフェース(I/F)7と、前記入力された演奏情報や、前記記憶装置5に記憶されたいずれかの音楽データを再生して得られた演奏情報(演奏イベント)等を楽音信号に変換するとともに、その楽音信号に各種効果を付与するための音源・効果回路8と、該音源・効果回路8からの楽音信号を音響に変換する、たとえば、DAC(Digital-to-Analog Converter)やアンプ、スピーカ等のサウンドシステム9とにより構成されている。
【0019】
上記構成要素1〜8は、バス10を介して相互に接続され、通信I/F7には電子鍵盤楽器200が接続され、音源・効果回路8にはサウンドシステム9が接続されている。
【0020】
記憶装置5は、たとえば、フレキシブルディスク(FD)、ハードディスク(HD)、CD−ROM、DVD(Digital Versatile Disc)、光磁気ディスク(MO)および半導体メモリなどの記憶媒体とその駆動装置である。記憶媒体は駆動装置から着脱可能であってもよいし、記憶装置5自体が音楽データ編集装置100から着脱可能であってもよい。あるいは、記憶媒体も記憶装置5も着脱不可能であってもよい。
【0021】
通信I/F7としては、たとえば、MIDI信号などの音楽信号を専用に送受信する音楽専用有線I/F、USB(Universal Serial Bus)やIEEE1394などの汎用近距離有線I/F、Ethernet(登録商標)などの汎用ネットワークI/F、無線LAN(local area network)やBluetooth(登録商標)などの汎用近距離無線I/Fを挙げることができる。本実施の形態では、通信I/F7としてUSBを採用しているが、これに代えて他の種類のI/Fを採用してもよいし、これに他の種類のI/Fを加えるようにしてもよい。
【0022】
なお音楽データ編集装置100は、上述のように、電子鍵盤楽器200を外部接続した汎用的なPC上に構築されたが、鍵盤以外の楽器(弦楽器タイプや打楽器タイプなど)あるいは演奏用の操作子を持たない音源を外部接続した汎用的なPC上に構築してもよいし、汎用的なPC上ではなく、専用装置上に構築してもよい。ただし後述するように、本発明は、音源(その名称は「音源」に限らず、楽音を生成するものであれば「楽音生成装置」等、何でもよい)から、その音源で生成される楽音の「音色情報」を取得し、この「音色情報」に基づいて波形画像データ(群)を選択(取得)するので、本発明の音楽データ編集装置の内部あるいは外部に、少なくとも1つの音源は必要である。
【0023】
図2は、音楽データ編集装置100および電子鍵盤楽器200の各機能構成を示すブロック図である。同図に示すように、音楽データ編集装置100は、制御部101、記憶部102、操作入力部1およびディスプレイ6によって構成されている。また電子鍵盤楽器200は、演奏操作部201、楽音生成部202および出力部203によって構成されている。
【0024】
操作入力部1は、
図1の前記操作入力部1と同じものであり、ユーザは、操作入力部1を用いて、MIDIデータ自体を入力したり、入力済みのMIDIデータを含む各種データの編集や削除などの指示を入力したりする。
【0025】
制御部101は、主として
図1の前記CPU2、ROM3およびRAM4によって構成され、CPU2が後述する
図5および
図6の処理を含む制御処理を実行することによって実現される。
【0026】
記憶部102は、
図1の前記記憶装置5によって構成され、MIDIデータ102aとオーディオデータ102cの2種類の音楽データを記憶する。本発明は、MIDIデータ102aを波形表示させる点に特徴があるので、MIDIデータ102aは、記憶部102に記憶されている必要があるが、オーディオデータ102cは、記憶部102に記憶されている必要はない。しかし、本実施の形態で採用したDAWソフトウェアは、MIDIデータもオーディオデータも取り扱えるため、記憶部102には、MIDIデータ102aだけでなく、オーディオデータ102cも記憶されているとする。なお、MIDIデータ102aもオーディオデータ102cもそれぞれ、複数のMIDIデータおよびオーディオデータからなるものとする。音楽データ編集装置100が編集対象とする音楽データは通常、複数のパート(トラック)からなり、各パートにMIDIデータ102aおよびオーディオデータ102cの中からユーザが任意に選択して割り当てたものである。
【0027】
記憶部102はさらに、編集対象の音楽データに含まれるMIDIデータを波形表示する際に使用する波形画像データ102bも記憶する。波形画像データとは、ノートイベントに対応する発音状態を、時間と振幅(たとえば、時間の経過に応じた振幅の推移)によって表示するためのものである。
【0028】
図3は、波形画像データによって表示される波形の一例を示す図である。同図(a)の波形は、本実施の形態で使用する波形画像データ102bに基づいて表示されるものであり、発音される楽音の振幅の推移を忠実に再現したものである。同図(b)の波形は、同図(a)の波形からそのエンベロープを抽出したものである。この(b)の波形では、エンベロープの輪郭のみが表示されるが、エンベロープ内を塗りつぶして表示してもよい。同図(c)の波形は、振幅の推移を大まかに表示したものであり、同図(d)の波形は、(c)の波形と異なる形状、かつ異なる線種で表示したものである。本実施の形態では、波形画像データ102bとして、典型的な(a)の波形を表示するものを採用するが、他の(b)〜(d)の波形、さらにはこれ以外の波形を表示するものを採用してもよい。要するに、異なる発音状態を、時間と振幅に基づいて異なる表示態様で表示できれば、発音状態を忠実に再現するものでなくてもよい。
【0029】
発音状態は、たとえば「ピアノ音色のC3(ド)」の音であっても、8分音符と全音符、フォルテとピアノでは、全く鳴り方が異なるため、発音状態によって波形の形状は異なる。しかし、音高(ノート番号)、音符長、ベロシティなどの、波形の形状を異ならせるあらゆる要素に対応して波形画像データを用意した場合、波形画像データの数が膨大になる結果、その記憶容量が膨大になりすぎて現実的ではない。したがって、記憶部102には、所定のいくつかの条件(あるいは要素)に対応する波形画像データ102bを記憶しておき、発音状態が上記条件と異なるノートイベントについては、波形画像データ102b(のうち対応するもの)を縦方向(振幅方向)や横方向(時間方向)に拡大または縮小して使用するようにしている。拡大/縮小は、たとえば記憶部102に対応テーブル(図示せず)を記憶しておき、それを参照して行うようにすればよい。または、記憶部102に記憶されていない波形画像データは、音楽データ編集装置100の外部(たとえば、インターネット経由で接続されたサーバ等)から取得して使用するようにしてもよい。あるいは、波形画像データ102bは、記憶部102には記憶せず、すべて外部から取得するようにしてもよい。
【0030】
波形画像データ102bは、複数の音色のそれぞれについて、ノート番号の個数分の波形画像データを含んでいる。つまり、音色毎に複数の波形画像データからなる波形画像データ群を含んでいる。そして、音色名が同じMIDIデータであっても、そのMIDIデータを再生して得られたノートイベントが供給される音源によって発音される音は異なるため、波形画像データ群も音源によって異なるものが用いられる方が好ましい。したがって、同じ音色名でも、複数の波形画像データ群が含まれることもある。この場合の各波形画像データ群は、各音源が自身の楽音生成に用いている音色情報によって区別される。なお「音色情報」の具体的な内容については、
図5に基づいて後述する。
【0031】
ディスプレイ6は、
図1の前記ディスプレイ6と同じものであり、編集対象の音楽データを表示する。その表示態様は、
図4に基づいて後述する。
【0032】
演奏操作部201は、鍵盤、スライダ、ジョイスティック、ホイールおよびダイヤルなどによって構成され、ユーザが演奏に用いることで、演奏情報を入力する。
【0033】
楽音生成部202は、演奏操作部201から供給される演奏情報を楽音信号に変換し、その楽音信号に適宜各種効果を付与した後、出力部203に出力する。この処理は、音楽データ編集装置100の前記音源・効果回路8が実行する処理と同じである。また楽音生成部202は、制御部101とMIDIメッセージを送受信できるように構成されている。制御部101は、音楽データを再生して、楽音を発生させるときには、自身の音源・効果回路8から発生させるのではなく、楽音生成部202から発生させる。つまり、本実施の形態の音楽データ編集装置100は、電子鍵盤楽器200を外部音源としても使用している。このため、制御部101は、音楽データを再生して得られたデータをMIDIメッセージの形式で楽音生成部202に送信する。再生対象の音楽データが、MIDIデータとオーディオデータの双方からなるものとすると、制御部101は、MIDIデータを再生したときには、その再生によって得られたMIDIメッセージをそのまま楽音生成部202に送信する一方、オーディオデータを再生したときには、その再生によって得られたオーディオデータを、たとえばシステム・エクスクルーシブ・メッセージ(以下“SysEx”と略す)内に埋め込んで、楽音生成部202に送信する。楽音生成部202は、制御部101からMIDIメッセージを受信すると、そのMIDIメッセージを解析し、解析結果に応じた楽音信号を生成して、出力部203に出力する。さらに楽音生成部202は、制御部101からの、たとえばプログラムチェンジメッセージ(以下“PrgCh”と略す)を用いた問い合わせに応じて、楽音生成部202が楽音生成に用いている音色情報を、たとえばSysEx内に埋め込んで、制御部101に送信する。なお、制御部101が受信した「音色情報」をどのように用いるかについては、「音色情報」の具体的な内容とともに、
図5に基づいて後述する。
【0034】
出力部203は、楽音生成部202から供給された楽音信号を音響に変換する。この処理は、音楽データ編集装置100の前記サウンドシステム9が実行する処理と同じである。本実施の形態では、音響はスピーカから発生するようにしたが、これに限らず、ヘッドフォン(のスピーカ)から発生するようにしてもよい。この事情は、サウンドシステム9についても同様である。
【0035】
音源は、本実施の形態では前述のように、電子鍵盤楽器200内の楽音生成部202を使用するようにしたが、もちろん、音楽データ編集装置100内の音源・効果回路8を使用してもよいし、再生対象の音楽データやパートによって、発音させる音源を変えてもよい。音源は、演奏情報(具体的には、ノートイベントなどの演奏イベント)を入力し、これに応じた楽音信号を生成して出力するものであれば、楽音生成方法は問わない。また、音源をハードウェアのみで構成しても、ソフトウェアのみで構成しても、あるいはハードウェアとソフトウェアの両方で構成しても構わない。
【0036】
以上のように構成された音楽データ編集装置が実行する制御処理を、まず
図2および
図4を参照してその概要を説明し、次に
図5および
図6を参照して詳細に説明する。
【0037】
音楽データ編集装置100は、主として、
(1)少なくとも1つのパート(トラック)にMIDIデータを含む音楽データのシーケンスを表示する場合に、MIDIデータを構成する各ノートイベントの音高および音長などを通常の表示態様で行う表示(以下「イベント表示」という)を、オーディオデータを表示する際の通常の表示である波形表示に切り替えて表示するMIDIトラックの波形表示処理;
(2)上記(1)の波形表示処理によって表示された波形に対してユーザが編集操作を施したときに、その編集操作に応じて、編集対象のMIDIデータのパラメータを変更するMIDIデータの編集処理;
を実行する。
【0038】
図4は、ある1つの音楽データのシーケンスをトラック毎にディスプレイ6上に表示したときの画面の一部を示す図である。同図(a)は、オーディオトラックは波形表示し、MIDIトラックはイベント表示した画面61を示し、同図(b)は、MIDIトラックも波形表示した画面62を示している。
【0039】
上記(1)の波形表示処理が実行される前は、ディスプレイ6上の一部には、
図4(a)の画面61が表示される。
図4(a)では、オーディオトラック(トラック1)は、波形表示であり、発音状態を時間軸(横方向)と振幅(縦方向)により表す波形で表示されている。ステレオデータであるので、左右それぞれの波形が表示されている。MIDIトラック(トラック2,3)は、イベント表示であり、MIDIデータを構成する各ノートイベントが、音高および音長などを表す点や線で表示されている。点や線以外にも、各イベントの意味を表す他の記号(丸や長方形、音符など)や色などが含まれていてもよい。
【0040】
この表示状態で、たとえば、ユーザがマウスの右ボタンをクリックすると、図示しないカーソルの位置にポップアップメニューが表示される。そしてユーザが、そのメニュー内に記載されている「波形表示」を選択すると、上記(1)の波形表示処理が実行される。その結果、画面61が
図4(b)の画面62に切り替わる。つまり、トラック2,3のMIDIトラックがイベント表示から波形表示に切り替わり、さらに、新トラック4が、トラック2,3の波形画像を合わせたバウンス波形画像データを表示するバウンス(Bounce)トラックとして出現する。ただしこのとき、画面62内にはまだ、領域63は表示されていない。
【0041】
このように、MIDIトラックのイベント表示が波形表示に切り替わるので、波形表示に切り替わった後は、ユーザは、MIDIトラックのMIDIデータについても、オーディオトラックのオーディオデータと同じ操作方法で編集作業を行うことができる。その結果、ユーザの編集作業の効率が向上する。
【0042】
次にユーザが、
図4(b)の画面62上の一部領域、たとえば領域63を前記カーソルで指定した後、その領域63内の波形画像データに対して何らかの編集操作、たとえば当該波形画像の形状を変形する操作を行うと、前記(2)のMIDIデータの編集処理が実行される。この(2)MIDIデータの編集処理では、操作位置と操作量を検出し、検出した操作位置と操作量に応じて、当該波形画像データを編集(ここでは、変形)し、編集結果を逐次表示する。さらに、当該波形画像データの所定位置に設けた座標の、編集前後の変化量を算出し、算出された変化量に応じて、当該波形画像データに対応するMIDIパラメータを変更する。つまり、MIDIトラックのMIDIデータは、その表示がイベント表示から波形表示に切り替わったとしても、MIDIデータであることに変わりはなく、オーディオデータではないので、その表示波形に対して編集操作がなされると、MIDIパラメータが変更される。このように、編集方法はオーディオデータについての編集方法に合わせつつ、MIDIデータならではの編集機能も使用することができる。
【0043】
次に、この制御処理を詳細に説明する。
【0044】
図5は、本実施の形態の音楽データ編集装置、特に制御部101が実行するMIDIトラックの波形表示処理の手順を示すフローチャートである。本波形表示処理は、前記(1)の波形表示処理に相当するので、前述のように、
図4(a)の画面61が表示されている状態で、ユーザがマウスの右ボタンをクリックすることによって表示されたポップアップメニューに記載されている「波形表示」を選択したときに、起動される。
【0045】
本波形表示処理が起動されると、まず制御部101は、カウンタnを初期値“1”にリセットする(ステップS1)。カウンタnは、たとえば、前記RAM4の所定位置に設けられたソフトウェアカウンタである。
【0046】
次に制御部101は、編集対象(本波形表示処理の対象)の音楽データ中、カウンタnによって示されるトラック(以下「トラックn」という)がMIDIトラックであるかどうかを判定する(ステップS2)。この判定の結果、トラックnがMIDIトラックであるときには、制御部101は、ステップS3〜S8の処理を実行した後、処理をステップS9に進める一方、トラックnがMIDIトラックでないときには、制御部101は、ステップS3〜S8をスキップして、処理をステップS9に進める。
【0047】
ステップS9では、制御部101は、トラックnが当該音楽データの最後のトラックかどうかを判定する。その判定の結果、最後のトラックではないときには、制御部101は、カウンタnを“1”だけインクリメントして(ステップS10)、次のトラックに進めた後、処理をステップS2に戻す。一方、最後のトラックのときには、制御部101は、処理をステップS11に進める。
【0048】
今、編集対象の音楽データが、
図4(a)に表示された音楽データ、つまり、トラック1にギター音色(Guitar)のオーディオデータ、トラック2にピアノ音色(Piano)のMIDIデータ、トラック3にドラムス音色(Drums)のMIDIデータがそれぞれ割り当てられた音楽データであるとする。この音楽データの場合、制御部101は、オーディオトラックであるトラック1についてはカウンタnのインクリメントだけ行い(ステップS2→S9→S10)、次のトラック2に進める。
【0049】
トラック2はMIDIトラックであるので、制御部101は、トラック2に割り当てられているMIDIデータの音色番号を音源に送信する(ステップS3)。トラック2には、上述のようにピアノ音色のMIDIデータが割り当てられているが、ピアノ音色は通常、ピアノの種類に応じて複数あるので、制御部101は、トラック2に現に割り当てられている音色の番号を送信する。音色番号は、本実施の形態では前述のように、PrgChによって送信されるが、これに限らず、SysExなどの他のメッセージによって送信するようにしてもよい。PrgChの送信先の「音源」は、本実施の形態では前述のように、電子鍵盤楽器200の楽音生成部202である。
【0050】
楽音生成部202は、このPrgChを受信すると、前述のように、自身が楽音生成に用いている音色情報をSysEx内に埋め込んで、制御部101に送信する。制御部101は、このSysExを受信し、受信したSysEx内に埋め込まれている音色情報を取得する(ステップS4)。音色情報は、本実施の形態では、当該音色番号の楽音波形の特徴を示すパラメータ、具体的には“ADSR”とする。なお“ADSR”とは、楽音波形のAttack(立ち上がり)、Decay(減衰)、Sustain(減衰後の保持)およびRelease(余韻)のそれぞれの頭文字を取ったものであり、ADSRに関する時間方向および振幅方向のパラメータ値が与えられると、波形の形状が特定できる。
【0051】
次に制御部101は、取得したADSRに合致する波形画像データ(群)が記憶部102の波形画像データ102b内にあるかどうかを判定する(ステップS5)。その判定の結果、当該波形画像データ(群)が波形画像データ102b内にあれば、制御部101は、当該波形画像データ(群)を選択する(ステップS6)一方、当該波形画像データ(群)が波形画像データ102b内になければ、制御部101は、波形画像データ102b内にあるデフォルト波形画像データ(群)を選択する(ステップS7)。
【0052】
本実施の形態では、波形画像データ102bに含まれる各波形画像データ(群)は、当該楽音波形の特徴を示すADSRと対応付けられている。したがって、音色名が同じであっても、ADSRが異なれば、波形画像データ(群)は異なるものとして取り扱われる。ADSRが異なるものすべてについて波形画像データ(群)を記憶することは、記憶部102の容量や波形画像データ(群)を収集あるいは作成する手間などの理由により、現実的ではないので、主要な一部のADSRの波形画像データ(群)を記憶することになる。このため、音源から送信されて来たADSRに合致する波形画像データ(群)が記憶部102に記憶されていないことが起こり得るので、前記ステップS5の判定が必要になる。波形画像データ(群)が記憶部102に記憶されていない場合に選択されるデフォルト波形画像データは、予め固定的に決定された特定の波形画像データ(群)であってもよいし、ステップS5の判定時に取得されているADSRに近い波形画像データ(群)であって、制御部101によってダイナミックに決定されたものであってもよい。
【0053】
次に制御部101は、選択された波形画像データ(群)から、トラック2に割り当てられているMIDIデータに含まれる各ノートイベントに応じた波形画像データを取得して表示する(ステップS8)。これにより、トラック2は、
図4(a)のイベント表示から
図4(b)の波形表示に切り替わる。トラック2は、当該音楽データの最後のトラックではないので、制御部101は、次のトラック3に進めた(ステップS10)後、処理を前記ステップS2に戻す。
【0054】
トラック3は、トラック2と同様にMIDIトラックであるので、制御部101は、トラック2のMIDIデータに行った処理と同様の処理をトラック3のMIDIデータについても行う(ステップS3〜S8)。これにより、トラック3も、
図4(a)のイベント表示から
図4(b)の波形表示に切り替わる。トラック3は、当該音楽データの最後のトラックであるので、制御部101は、処理をステップS11に進める。
【0055】
ステップS11では、制御部101は、全MIDIトラック、つまりトラック2,3の波形画像を合わせたバウンス波形画像データを生成する。そしてステップS12では、制御部101は、生成したバウンス波形画像データを新トラックに表示する。これにより、
図4(b)に示すように、新トラック4にバウンス波形が表示される。その後、制御部101は、本波形表示処理を終了する。
【0056】
トラック4のバウンス波形は、
図4(b)では、トラック2,3の波形画像を単純に合成したものが図示されているが、これに限らず、時間軸(
図4中、整数値(1,3,…)が付与されている横軸)を拡大または縮小したものを表示するようにしてもよいし、一部分を切り出したものや、その切り出した一部分の時間軸を拡大または縮小したものなどを表示するようにしてもよい。そして、時間軸の変更や一部分の範囲などは、ユーザが任意に設定できるようにしてもよい。
【0057】
なお本実施の形態では、楽音生成部202が送信する音色情報は、当該音色番号の楽音波形の特徴を示すパラメータとしたが、これに限られる訳ではない。他の例としては、
(21)波形画像データそのもの;
(22)音源の種類または型番を示す情報(たとえば、ID);
などを挙げることができる。
【0058】
上記(21)の場合、楽音生成部202は、受信した音色番号に対応する波形画像データ(群)をSysEx内に埋め込んで送信する。あるいは、制御部101から音色番号に加えて、ノート番号(当該MIDIデータに含まれる各ノートイベントのノート番号)も送信してもらい、楽音生成部202は、受信した音色番号に対応する波形画像データ(群)のうち、受信したノート番号の波形画像データをSysEx内に埋め込んで送信するようにしてもよい。このようにすれば、楽音生成部202は、受信した音色番号に対応する波形画像データ(群)をすべて送信しなくてもよいので、波形画像データの送信時間を短縮することができる。楽音生成部202から波形画像データ(群)の埋め込まれたSysExが送信されると、制御部101は、これを受信し、受信したSysExから波形画像データ(群)を取り出して、記憶部102に記憶する。つまり、取り出された波形画像データ(群)は、波形画像データ102bの一部になる。なお、楽音生成部202は、受信した音色番号に対応する波形画像データ(群)を持っていない場合も考えられる。この場合には、楽音生成部202は、自身が持っているデフォルト波形画像データ(群)を送信するようにしてもよいし、エラーなどの持っていないことを示す情報を送信するようにしてもよい。
【0059】
上記(22)の場合、制御部101は、受信したIDと、MIDIトラックに割り当てられているMIDIデータの音色番号の両方に合致する波形画像データ(群)を波形画像データ102bから検索することになる。この場合には、波形画像データ102bに含まれる各波形画像データ(群)は、ADSRではなく、IDと音色番号に対応付ける必要がある。もちろん、各波形画像データ(群)がADSRと対応付けられていたとしても、たとえばテーブルデータによって、IDと音色番号からADSRが分かるように構成すれば、各波形画像データ(群)の対応付けを、ADSRからIDと音色番号に変更しなくてもよい。上記(22)の場合についてのそれ以外の処理は、本実施の形態で前述した処理とほとんど変わらないので、その説明は省略する。
【0060】
図5の波形表示処理により、MIDIトラックがイベント表示から波形表示に切り替わった状態で、ユーザが、その波形表示に対して何らかの操作、たとえば、カーソルによって一部領域を指定する操作を行うと、制御部101は、前記(2)のMIDIデータの編集処理を起動する。
図6(a)は、このMIDIデータの編集処理の手順を示すフローチャートである。
【0061】
今ユーザが、
図4(b)の画面62中の領域63を指定し、領域63内の波形画像データに対して何らかの編集操作を行ったとすると、制御部101は、その操作位置を特定し、操作量を検出する(ステップS21)。
図6(b)は、領域63内の波形画像データを拡大し、そのエンベロープ64を抽出した図を示している。領域63内の抽出されたエンベロープ64の片方(上側)には、その特徴点を示す位置に4つの座標点p1〜p4が表示される。座標点p1は、ADSRにおけるアタック(Attack)の終点を示し、座標点p2は、ディケイ(Decay)の終点を示し、座標点p3は、サスティン(Sustain)の終点を示し、座標点p4は、リリース(Release)の終点を示している。ユーザの上記編集操作が、領域63内のエンベロープ64の形状を変形するものであったとすると、上記ステップS21では、制御部101は、領域63内のどの位置からどのような変形が指示されたかを検出する。
【0062】
次に制御部101は、検出された操作位置および操作量に応じて波形画像データを編集する(ステップS22)。この編集後の波形画像データは、逐次表示される。その結果、領域63内のエンベロープ64は、ユーザの指示通りに変形され、座標点p1〜p4も、変形後のエンベロープ上の対応する位置に移動する。
【0063】
次に制御部101は、編集前後の座標の変化量を算出する(ステップS23)。つまり、座標点p1〜p4のそれぞれについて、編集前の座標から編集後の座標までの変化量が算出される。
【0064】
そして制御部101は、算出された座標の変化量に応じて、対応するMIDIパラメータを変更した(ステップS24)後、本MIDIデータの編集処理を終了する。座標点p1〜p4の移動と、それによって変更すべきMIDIパラメータの種類とは、たとえば
(31)座標点p1の上/下移動 :ベロシティ;
(32)座標点p1の左/右移動 :アタックタイム、ディケイタイム;
(33)座標点p2,p3の上/下移動:サスティンレベル;
(34)座標点p2,p3の左/右移動:ディケイタイム、リリースタイム;
(35)座標点p4の左/右移動 :リリースタイム、ノートオフタイミング;
のように対応付けられる。前記記憶部102には、座標の変化量に対するMIDIパラメータの変化量を示すテーブル(図示せず)が予め記憶されているので、制御部101は、算出された各座標点p1〜p4の変化量に基づいてテーブルを検索することで、MIDIパラメータの変化量を決定し、決定した変化量だけ、目的のMIDIパラメータの値を変更する。
【0065】
領域63内のエンベロープ64を変形した場合、座標点p1〜p4のうちのある1つの座標点だけが移動し、他の3つの座標点は移動しないという状態は、ほとんど起こらないので、座標点p1〜p4のうちの、少なくとも一部の複数の座標点が同時に移動することになる。たとえば、座標点p1が移動したとすると、座標点p1だけではなく、座標点p2,p3も移動することになるので、ベロシティ、アタック、ディケイ、サスティンおよびリリースなどの複数の種類のパラメータの値が同時に変更される。
【0066】
領域63内のエンベロープ64の形状の変更は、上述のように直接指示する方法に限らず、たとえば、ユーザが領域63内あるいはその近傍をカーソルで指示し、マウスの右ボタンをクリックすると、編集メニューがポップアップ表示される。そしてユーザが、そのメニューに記載されている「エフェクト」、「リバース」および「ピッチシフト」などの編集項目のいずれかを選択すると、選択された編集項目に応じた形状の変更が指示されて実行されるようにしてもよい。各編集項目と、それによって変更すべきMIDIパラメータの種類とは、たとえば
(41)エフェクト :リバーブ、コーラスなど;
(42)リバース :プログラムチェンジ;
(43)ピッチシフト:ピッチ、ピッチベンド、ノートナンバ(ノーマル音色のみ)など;
のように対応付けられる。
【0067】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0068】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0069】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【0070】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0071】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。