JP4108487B2 - Editing program - Google Patents

Editing program Download PDF

Info

Publication number
JP4108487B2
JP4108487B2 JP2003005461A JP2003005461A JP4108487B2 JP 4108487 B2 JP4108487 B2 JP 4108487B2 JP 2003005461 A JP2003005461 A JP 2003005461A JP 2003005461 A JP2003005461 A JP 2003005461A JP 4108487 B2 JP4108487 B2 JP 4108487B2
Authority
JP
Japan
Prior art keywords
data
time rate
clock
performance
time
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.)
Expired - Fee Related
Application number
JP2003005461A
Other languages
Japanese (ja)
Other versions
JP2004219615A (en
Inventor
光博 埋田
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.)
Roland Corp
Original Assignee
Roland Corp
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 Roland Corp filed Critical Roland Corp
Priority to JP2003005461A priority Critical patent/JP4108487B2/en
Publication of JP2004219615A publication Critical patent/JP2004219615A/en
Application granted granted Critical
Publication of JP4108487B2 publication Critical patent/JP4108487B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はコンピュータ演奏データの編集を実行させるためのプログラムにおいて、タイムレートを入力することにより演奏データの編集が行われる編集プログラムに関するものである。
【0002】
【従来の技術】
特開平2001−147691号公報(特許文献1)には、タイムレートを含む演奏データを編集する技術が開示されている。即ち、タイムレートを変更した場合には、その変更されたデータより後に再生される演奏データの再生時刻を変更するのである。例えば、タイムレートを2倍にした場合には、それ以降の演奏データの出力間隔を2分の1に短くし(狭め)、逆に、タイムレートデータを10分の1に遅くした場合には、それ以降の演奏データの出力間隔を10倍に長くする(広める)。また、特開平10−260685号公報(特許文献2)には、音源において、記憶している波形を再生する際、タイムレートが指定されると、それに応じて波形の再生速度が変化する技術が開示されている。
【0003】
【特許文献1】
特開2001−147691号公報
【0004】
【特許文献2】
特開平10−260685号公報
【0005】
【発明が解決しようとする課題】
しかしながら、特許文献1に開示されるように、変更されたタイムレートデータに合わせて、演奏データの出力間隔を長短させるだけでは次の問題点がある。即ち、タイムレートを遅くして演奏データの出力間隔を長くする場合には、以降の演奏データの編集は粗い間隔でしか行うことができず、滑らかな演奏データに編集することができないという問題点がある。逆に、タイムレートを速くして演奏データの出力間隔を短くする場合には、演奏データの出力間隔が短くなり、再生時に単位時間当たりの再生データが多くなり、その結果、再生処理を滑らかに行うことができないという問題点がある。
【0006】
本発明は上述した問題点を解決するためになされたものであり、タイムレートデータ変更後の演奏データの再生時刻間隔(時間情報の間隔)を適度に保つことができるコンピュータ演奏データの編集を実行させるための編集プログラムを提供することを目的とする。
【0007】
【課題を解決するための手段】
この目的を達成するために請求項1記載のコンピュータ演奏データの編集を実行させるための編集プログラムは、タイムレートを入力する入力ステップと、その入力ステップにより入力されたタイムレートデータに基づいて記憶手段に記憶される演奏データの時間情報を変更する時間情報変更ステップと、その時間情報変更ステップにより変更された時間情報の間隔が所定時間より長くなった部分に、その長くなった部分の直前または直後の演奏データと同種の演奏データを挿入する挿入ステップとを備えている。ここで、「入力」とは、タイムレートの値を新たに入力する場合のみならず、既に存在するタイムレートの値を変更する場合も含まれる
【0008】
請求項1記載の編集プログラムによれば、入力ステップによりタイムレートが入力されると、時間情報変更ステップによって、入力されたタイムレートに基づいて記憶手段に記憶される演奏データの時間情報が変更される。この入力ステップによるタイムレートの入力は、リアルタイムの入力も含んでいる。この時間情報変更ステップにより変更された時間情報の間隔が所定時間より長くなると、その長くなった部分には、挿入ステップによって、その長くなった部分の直前または直後の演奏データと同種の演奏データが挿入される
【0009】
請求項2記載の編集プログラムは、請求項1記載の編集プログラムにおいて、前記挿入ステップは、前記時間情報変更ステップにより変更された時間情報が示す演奏データの時間間隔が所定時間より長くなった部分に、その長くなった部分の直前および直後の同種の演奏データを補間した演奏データを挿入するものである。
【0010】
請求項2記載の編集プログラムによれば、挿入ステップにより、時間情報変更ステップにより変更された時間情報が示す演奏データの時間間隔が所定時間より長くなった部分に、その長くなった部分の直前および直後の同種の演奏データを補間した演奏データが挿入される。
【0011】
【0012】
【0013】
【0014】
【発明の効果】
請求項1記載の集プログラムによれば、タイムレートを小さくして演奏データの再生時刻間隔を長くした場合には、その部分に、その長くなった部分の直前または直後の演奏データと同種の演奏データが挿入される。よって、演奏データの再生時刻間隔を適度に保つことができるので、その後の演奏データの編集を滑らかに行えるという効果がある。
【0015】
請求項2記載の集プログラムによれば、請求項1記載の編集プログラムの奏する効果に加え、タイムレートを小さくして演奏データの再生時刻間隔を長くした場合には、その長くなった部分に、その長くなった部分の直前または直後の同種の演奏データを補間する演奏データが挿入されので、演奏データの再生時刻間隔を適度に保つとともに、滑らかに変化する演奏データを挿入することができるという効果がある。
【0016】
【0017】
【発明の実施の形態】
以下、本発明の好ましい実施例について、添付図面を参照して説明する。図1は、本発明の一実施例である編集プログラム(図3から図5)を内蔵した自動演奏プログラム8a,9aがインストールされ或いはCD−ROM8aにて供給されるパーソナル・コンピュータ(以下「PC」と略す)1と、そのPC1から出力される演奏データに基づいて、アナログの楽音信号(オーディオ信号)を生成してスピーカ14へ出力する音源装置15との電気的構成を示したブロック図である。
【0018】
PC1は、演算装置であるCPU2と、そのCPU2により実行される各種の制御プログラムや固定値データを記憶したROM3と、そのROM3内に記憶される制御プログラムの実行に当たって各種のデータ等を一時的に記憶するためのメモリであるRAM4とを備えている。RAM4には、自動演奏プログラム8a,9aの実行時に、ポインタ4aと、PTDClock4bと、PClock4cと、P値4dとの各メモリが設けられる。これら各メモリ4a〜4dについては後述する。CPU2、ROM3及びRAM4は、アドレスバスおよびデータバスにより構成されるバスライン5によって互いに接続されており、このバスライン5は、入出力インターフェイス6を介して、各種のI/O装置7,10,15と接続されている。
【0019】
入出力インターフェイス6には、数値や文字の入力操作を行うためのキーボード7aと、ポインティングデバイスとしてのマウス7bと、表示装置としての液晶表示装置(以下「LCD」と称す)7cとが、それぞれユーザーインターフェイス7として接続されている。また、入出力インターフェイス6には、CD−ROMドライブ8とハードディスクドライブ(以下「HDドライブ」と略す)9とが記憶デバイスとしてそれぞれ接続されている。本実施例の自動演奏プログラム8a,9aは、演奏データおよびオーディオ波形データ等と共に、CD−ROM8aに記憶され、CD−ROMドライブ8を介してPC1へ供給されて実行されるか、或いは、そのCD−ROM8aからCD−ROMドライブ8を介してPC1へ供給されたものがHDドライブ9へ記憶され(9a)、そのHDドライブ9から読み出されて実行される。
【0020】
更に、入出力インターフェイス6には、楽音信号(オーディオ信号)を発生する音源装置15が接続されている。音源装置15は、ディジタル処理により波形データの再生処理等を行うDSP(ディジタル信号プロセッサ(Digital Signal Processor))11を内蔵しており、そのDSP11が入出力インターフェイス6に接続されている。また、DSP11には、DSP11から出力されるデジタルの楽音信号をアナログの楽音信号に変換するD/Aコンバータ12が接続され、そのD/Aコンバータ12には、D/Aコンバータ12によって変換されたアナログ信号を増幅するアンプ13が接続され、更にそのアンプ13には、増幅されたアナログ信号を音出力するスピーカ14が接続されている。
【0021】
使用者の指示により自動演奏プログラム8a、9aが実行されると、自動演奏プログラム8a、9aは、入出力インターフェイス6およびバスライン5を介してRAM4にロードされ、CPU2により実行される。また、使用者の指示により、オーディオ波形データが入出力インターフェイス6を介して音源装置15に供給され、音源装置15内部に記憶される。以降、使用者の指示に応じて、演奏データ(タイムレートデータを含む)の編集、再生が行われると共に、再生されたデータは、入出力インターフェイス6を介して音源装置15に供給され、その音源装置15によりオーディオ波形が再生されて、オーディオ信号が出力され、スピーカ14が鳴動しスピーカ14から楽音が出力される。
【0022】
なお、音源装置15は、PC1から供給されるタイムレートデータの示すタイムレートに基づいて再生速度を制御しながら、オーディオ波形データを再生するようになっている。即ち、速いタイムレートが指示された場合には、オーディオ波形データを所々飛ばし読みすることにより再生時間を短縮して再生速度を速くし、遅いタイムレートが指示された場合には、オーディオ波形データを所々繰り返し読み出すことにより再生時間を伸長して再生速度を遅くする。さらにタイムレートとして「0」が指定された場合には、オーディオ波形データの一部分を繰り返し読み出すことにより、再生時間の進行を止めるようにする。
【0023】
図2は、自動演奏プログラム8a,9aが実行されている場合のLCD7cの表示画面の様子を示した図である。LCD7cの表示画面には、マウスポインタとしてのカーソル71と、各種の操作指示を行うためのアイコン72〜76と、ピッチデータ表示領域77と、タイムレートデータ表示領域78とが設けられている。
【0024】
「演奏開始」アイコン72は、自動演奏の開始を指示するアイコンであり、このアイコン72上にカーソル71をおいてクリックすると、自動演奏が開始される。「演奏停止」アイコン73は、自動演奏の停止を指示するアイコンであり、このアイコン73上にカーソル71をおいてクリックすると、自動演奏が停止される。同様に、「タイムレート編集」アイコン74は、動作モードをタイムレート編集モードへ切り替えるためのアイコンであり、「タームレート“0”挿入」アイコン75は、動作モードをタイムレート“0”挿入モードへ切り替えるためのアイコンである。更に「タームレート“0”削除」アイコン76は、タイムレート“0”区間を削除するモードへ、動作モードを切り替えるためのアイコンである。各アイコン74〜76上にカーソル71をおいてクリックすると、そのアイコンに割り当てられた指示がCPU2により実行される。
【0025】
ピッチデータ表示領域77は、演奏又は編集対象となっている演奏データのピッチデータの変化を示す表示領域である。ピッチデータはこの領域77に、データの再生時刻を示すClockを横軸に、ピッチデータの値を縦軸にしたグラフで表示される。図7から図11の(b)に示す上段の図は、このピッチデータ表示領域77に表示されるグラフである。この表示領域77内にカーソル71を移動し、ピッチデータを示す実線部分をドラッグすることにより、ピッチデータを変更することができる。なお、縦軸のスケールは、上端がピッチデータの「7000」を示し、中央が「0」、下端が「−7000」を示している。ピッチデータは「7000」で1オクターブ分の音高となる。
【0026】
タイムレートデータ表示領域78は、演奏又は編集対象となっているタイムレートデータの変化を示す表示領域である。タイムレートデータはこの領域78に、データの再生時刻を示すClockを横軸に、タイムレートデータの値を縦軸にしたグラフで表示される。図7から図11の(b)に示す下段の図は、このタイムレートデータ表示領域78に表示されるグラフである。この表示領域78内にカーソル71を移動し、タイムレートデータを示す破線部分をドラッグすることにより、タイムレートデータを変更することができる。なお、縦軸のスケールは、上端がタイムレートデータの「2.0」を示し、中央が「1.0」、下端が「0」を示している。
【0027】
次に、図3から図6のフローチャートを参照して、本実施例の自動演奏プログラム8a,9aによって実行される各処理を説明する。この説明に先立って、各処理のフローチャート中で使用される各データを、図7(a)及び図2を参照しつつ説明する。
【0028】
図7(a)は、演奏データを表わす。Clock51は、再生時刻(演奏開始からの経過時間)を示すデータである。演奏データのデータ列は、Clock順に並んでいる。タイムレート編集モード、タイムレート“0”挿入モード、タイムレート“0”削除モードにおいて、タイムレートデータを変更すると、変更されたタイムレートより後の演奏データのClock51の値が変更される。DClock52は、「タイムレートデータ=1.0」の場合の再生時刻を示すデータであり、タイムレートデータに基づいてClockを求める際に使用される。
タイムレートデータを変更しても、DClock52の値は変化しない。
【0029】
各演奏データのClock51は、その演奏データのDClock52及びデータ列中のその演奏データの直前のタイムレートデータに基づいて次の(式1)に従って求めることができる。
【0030】
【数1】

Figure 0004108487
逆に、各演奏データのDClock52は、その演奏データのClock及びデータ列中のその演奏データの直前のタイムレートデータに基づいて次の(式2)に従って求めることができる。
【0031】
【数2】
Figure 0004108487
タイムレートデータも演奏データの一種であるため、タイムレートデータのClock51及びClock52も、そのタイムレートデータの直前のタイムレートデータに基づいて式1及び式2に従って求めることができる。 Clock51あるいはClock52を求めようとする先頭の演奏データから演奏データ列中の後ろの演奏データに順次、式1及び式2を適用することにより、全ての演奏データのClock51及びClock52を求めることができる。
【0032】
データの種類53としては、NoteOn、NoteOff、Pitch、TimeRate、END等のデータがある。NoteOnの夫々は、オーディオ波形の再生開始を指示するデータも含めて、電子楽器の音源への発音指示を表わすデータであり、その値は音高を示している。例えば、値が「60」の場合は「C4」の音高を示す。なお、NoteOnは、ベロシティ情報も有しているが本実施例ではその説明は省略する。NoteOffは、オーディオ波形の再生停止を指示するデータである。
【0033】
Pitchは、NoteOnにより指定された音高に対する相対的な音高の制御量を示すデータであり、その値は「7000」でオクターブ分の音高となる。
Pitchにより示されるデータがピッチデータである。TimeRateは、自動演奏する際の設定されたテンポに対しての相対的な再生速度(タイムレート)を、演奏データに設定された時間情報に基づいて制御するデータである。TimeRateにより示されるデータがタイムレートデータである。タイムレートデータの「1.0」は通常速度での再生を表し、「1.0」より大きい場合は通常速度より速い速度での再生を表し、「1.0」より小さい場合は通常速度より遅い速度での再生を表す。また、タイムレートデータの「0」は再生の進行停止を表している。ENDは、演奏データの最後を示すデータである。そのほか、オーディオ波形の音質を制御するフォルマントデータ、オーディオ波形の音量を制御するレベルデータなどが演奏データとして存在する。
【0034】
フラグ55は、自動演奏処理中に、そのデータを出力するか否かを示すデータ(フラグ)である。フラグ55の値が「0」のデータは出力され、「1」のデータは出力されない。
【0035】
また、図1に示すように、自動演奏プログラム8a,9aの実行時には、RAM4内に、ポインタ4aと、PTDClock4bと、PClock4cと、P値4dとの各メモリが設けられる。ポインタ4aは、編集位置または自動演奏位置を示すポインタ形式のメモリであり、図3のタイムレート編集処理および図6の自動演奏処理において使用される。編集処理毎または自動演奏処理毎に1ずつ加算され、加算後のポインタの値がENDデータを示すと、編集処理または自動演奏処理が終了される。
【0036】
PTDClock4bは、タイムレート編集処理において、編集範囲の開始点に位置するタイムレートデータのDClock52(図7(a)参照)を記憶するメモリである。また、PClock4c及びP値4dは演奏データの種類毎に設けられているメモリであり、タイムレート編集処理において着目している演奏データの直前の同じ種類の演奏データのClock及びタイムレートの値(タイムレートデータ)がそれそれ記憶される。
【0037】
なお、PClock4cまたはP値4dにおいて、特定種類のデータに対応したPClock4cまたはP値4dを表す場合には、[]を付して表記する。例えば、タイムレート編集処理においてタイムレートデータのClockは「PClock[タイムレート]」として、また、同じくタイムレートデータのP値は「P値[タイムレート]」として表記される。
【0038】
タイムレート編集処理において演奏データのClock51及びDClock52は、これらのPTDClock4b、PClock4c及びP値4dに記憶されたデータを前述の(式1)及び(式2)に適用することによって求めることができる。具体的には、次の計算により求める。
【0039】
【数3】
Figure 0004108487
【0040】
【数4】
Figure 0004108487
図3は、タイムレート編集処理を示したフローチャートである。マウス7bを操作し、カーソル71をLCD7cの「タイムレート編集」アイコン74上に移動してクリックすると(図2参照)、タイムレート編集モードとなる。このタイムレート編集モードにおいて、カーソル71をタイムレートデータ表示領域78内に移動し、編集すべきタイムレートデータの開始Clockから終了Clockまでをドラッグして編集範囲を指定する。次に、指定した編集範囲内の破線で表示されるタイムレートデータを上下にドラッグすることにより、タイムレートデータが変更され、それに応じて、図3に示すタイムレート編集処理として、Clock変更とデータ間隔適正化をする処理が実行される。
【0041】
なお、前述した通り、本実施例のタイムレートデータ表示領域78の縦軸スケールは、上端がタイムレートデータの「2.0」を示し、中央が「1.0」、下端が「0」を示しており、タイムレートデータの変更は0<タイムレートデータ≦2の範囲で行われる。タイムレートデータ=0の編集処理(挿入処理または削除処理)は、後述する図4又は図5の処理で行われる。
【0042】
タイムレート編集処理では、まず、編集処理の開始時に、ポインタ4a、PTDClock4b、PClock4c、P値4dの各値の初期値を設定する(S102)。具体的には、第1に、編集位置を示すポインタ4aへ、編集範囲内で且つ最初のタイムレートデータを示す位置(値)を設定(ポイント)する。第2に、PTDClock4bへ、編集範囲直前のフラグが「0」のタイムレートデータのDClockの値を設定する。第3に、PClock[データの種類]4cへ、編集範囲直前のフラグが「0」の演奏データのClockの値を、演奏データの種類毎にそれぞれ設定する。第4に、P値[データの種類]4dへ、編集範囲直前のフラグが「0」の演奏データの値54を、演奏データの種類毎にそれぞれ設定する。
【0043】
S104の処理では、ポインタ4aの示すデータを判断し、それがタイムレートデータで且つその値が「0」であれば(S104:Yes)、S128によって、タイムレートデータが0である区間(値が「0」であるタイムレートデータから値が「0」でないタイムレートデータまでの区間。以下、「タイムレート0区間」と称す)について、データ更新処理を行う。具体的には、まず、ポインタ4aが示すデータのClockを式1(式1´(ダッシュ))より算出し、タイムレート編集後のデータとして記憶する。次に、その算出したClockからポインタ4aが示すデータの元のClockの値を減算し、その差をタイムレート0区間のすべての演奏データのClockの値にそれぞれ加算する。これにより、タイムレート0区間のすべての演奏データのClockの値が算出されるので、算出された各値により、各Clockの値をそれぞれ更新して記憶する。更に、タイムレート0区間のすべてのデータが自動演奏処理(図6参照)の際に出力されるように、その区間のすべてのフラグの値を「0」として、タイムレート編集に伴うタイムレート0区間のデータ更新を完了する。
【0044】
その後は、次のデータ更新のために、タイムレート0区間の最後のタイムレートデータを示す位置にポインタ4aを更新し、そのポインタ4aが示すデータのClockをPClock[同種のデータ]4cへ設定し、更に、ポインタ4aが示すデータの値をP値[同種のデータ]4dへ設定する。併せて、ポインタ4aが示すデータのDClockをPTDClockに設定する。(以上S128) これらの処理により、次のデータ更新のための準備が完了するので、処理をS124へ移行する。
【0045】
一方、S104の処理において、ポインタ4aの示すデータを判断し、それがタイムレートデータで且つその値が「0」でなければ(S104:No)、そのポインタ4aが示すデータのClockを式1(式1´)より算出し、タイムレート編集後のデータとして記憶する(S106)。
【0046】
次に、S106の処理で算出したClockと、PClock[同種のデータ]4cとの差が5以上あるか否かを判断する(S108)。差が5未満で、かつポインタ4aが示すデータがピッチデータ或いはタイムレートデータであれば(S108:Yes)、直前の同種のデータとの出力間隔が短すぎるので、自動演奏処理の際に、そのデータが出力されないように、フラグの値を「1」に設定する(S110)。一方、S106の処理で算出したClockと、PClock[同種のデータ]4cとの差が5以上であれば(S108:No)、更にその差が20より大きいか否かを判断する(S112)。20より大きい差があり、かつポインタ4aが示すデータがピッチデータ或いはタイムレートデータあれば(S112:Yes)、直前の同種のデータとの出力間隔は長すぎるので、S114の処理によって新たなデータを挿入する。
【0047】
S114の処理は、タイムレート編集の結果、データの出力間隔が長すぎるようになった部分にポインタ4aが示すデータと同種の新たなデータを挿入して、自動演奏処理におけるデータの出力間隔を適正な間隔に保つ処理である。挿入するデータは次のように生成される。まず、データの出力間隔を適正な間隔(本実施例では、5≦Clock≦20)にするため、Clockには、PClock[同種のデータ]4c+20を設定する。その値54には、P値[同種のデータ]4dを設定し、更に、DClockを式2(式2´)より算出する。対応するフラグには「0」を設定して、自動演奏処理における出力データとする。以上により挿入データが生成されるので、これをポインタ4aが示すデータとその次のデータとの間に演奏データとして挿入し、ポインタ4aを1つ進める。そして、PClock[同種のデータ]4cへ、生成した挿入データのClockを設定して、次の処理へ備えた後に(以上S114)、処理をS108へ移行する。
【0048】
また、S112の処理において、S106の処理で算出したClockと、PClock[同種のデータ]4cとの差が20以下であれば(S112:No)、即ち、変更後の連続するデータのClockの差が5以上20以下であれば(S108:No,S112:No)、直前の同種のデータとの出力間隔は適正なので、自動演奏処理の際に、そのデータが出力されるように、フラグの値を「0」に設定する(S116)。以上の処理により、ポインタ4aが示すデータについて、タイムレート編集に伴うデータ更新が完了する。
【0049】
その後は、次のデータ更新のために、PClock[同種のデータ]4cへ、S106の処理で算出したClockを設定し、更に、P値[同種のデータ]4dへ、ポインタ4aが示すデータの値を設定する(S118)。ポインタ4aの示すデータの種類がタイムレートデータであれば(S120:Yes)、PTDClock4bへ、ポインタ4aが示すタイムレートデータのDClockを設定する(S122)。これにより、ポインタ4aの更新を残して、次のデータ更新のための準備が完了する。
【0050】
S124の処理では、ポインタ4aの値を1加算して更新し(S124)、加算後のポインタ4aの示すデータがENDデータでなければ(S126:No)、処理をS104へ移行して、上述したS104からS126の各処理を繰り返す。一方、加算後のポインタ4aの示すデータがENDデータであれば(S126:Yes)、フラグが「0」に設定されている自動演奏処理で出力されるデータのみをLCD7cへ表示して(S130)、このタイムレート編集処理を終了する。即ち、LCD7cには、フラグが「1」に設定されている自動演奏処理で出力されないデータは非表示にしてタイムレート編集処理が終了する。
【0051】
このようにタイムレート編集処理では、タイムレートデータを遅くして演奏データの再生時刻間隔を「20」Clockより大きくした場合には、その部分に新たな演奏データが挿入され、一方、タイムレートデータを速くして演奏データの再生時刻間隔を「5」Clock未満にした場合には、その短くなった部分の演奏データが自動演奏の際に非出力のデータに変更される。よって、演奏データの再生時刻間隔を適度に保つことができるので、演奏データの編集や演奏データの再生処理(自動演奏処理)を、滑らかに行うことができる。
【0052】
図4は、タイムレート“0”挿入処理を示したフローチャートである。マウス7bを操作し、カーソル71をLCD7cの「タイムレート“0”挿入」アイコン75上に移動してクリックすると(図2参照)、タイムレート“0”挿入モードとなる。このタイムレート“0”挿入モードにおいて、カーソル71をタイムレートデータ表示領域78内に移動し、タイムレート0区間としたい開始Clockから終了Clockまでドラッグして、タイムレート0区間の開始位置および挿入範囲(長さ)を指定することにより、タイムレート“0”挿入処理(図4)が実行され、指定された開始Clockの位置に、指定された長さのタイムレート0区間が挿入される。
【0053】
タイムレート“0”挿入処理では、まず、ドラッグの終了位置のClockから開始位置のClockを減算して、指定した挿入範囲のClock数を算出する(S200)。次に、その算出したClock数を、ドラッグの開始位置より後の各データのClockへそれぞれ加算し、各Clockの値を更新して記憶する(S202)。演奏データ列のドラッグ開始Clockに対応する位置に、ドラッグ開始ClockをClockとした、値が「0」のタイムレートデータを挿入し記憶する。このデータのDClockは式2より算出し、フラグは、「0」としてそれぞれ記憶する(S204)。なお、演奏データ列のドラッグ開始Clockに対応する位置に、既にタイムレートが記憶されていた場合には、値が「0」のタイムレートデータを挿入せずに、そのタイムレートデータの値54を「0」に変更するとともに、フラグを「0」とすることにより、値が「0」のタイムレートデータの挿入に代える。
【0054】
演奏データ列のドラッグ終了Clockに対応する位置に、ドラッグ終了ClockをClockとしたタイムレートデータを挿入して記憶する。このデータの値は、ドラッグ開始Clockの直前のフラグが「0」のタイムレートデータの値と同じ値とする。このデータのDClockは式2より算出し(算出されるDClockは、S204の処理でドラッグ開始位置に挿入したデータのDClockの値と同一)、フラグは「0」として、それぞれ記憶する(S208)。
【0055】
更に、演奏データ列の、ステップS204において挿入したデータとステップS208において挿入したデータとの間に、Clock間隔「20」毎にピッチデータを挿入する。このデータの値は、ドラッグ開始Clockの直前のフラグが「0」の同種の演奏データの値と同じ値とする。このデータのDClockはS204の処理でドラッグ開始位置に挿入したデータのDClockの値とし、フラグは「0」として、それぞれ記憶する(S210)。
【0056】
以上の各処理により、ドラッグで指定した挿入範囲にタイムレートデータ0区間のデータを挿入できるので、その後は、フラグが「0」に設定されている自動演奏処理で出力されるデータのみをLCD7cへ表示して(S212)、このタイムレート“0”挿入処理を終了する。
【0057】
図5は、タイムレート“0”削除処理を示したフローチャートである。マウス7bを操作し、カーソル71をLCD7cの「タイムレート“0”削除」アイコン76上に移動してクリックすると(図2参照)、タイムレート“0”削除モードとなる。このタイムレート“0”削除モードにおいて、カーソル71をタイムレートデータ表示領域78内のタイムレートデータ=0の範囲に移動し、マウス7bをクリックすると、タイムレート“0”削除処理(図5)が実行される。このタイムレート“0”削除処理により、クリックされたタイムレート0区間のデータが削除される。
【0058】
タイムレート“0”削除処理では、まず、クリックされたClockを含む範囲のタイムレート0区間のデータのうち、区間末尾のタイムレートデータを除いた全てのデータを削除する(S300)。
【0059】
次に、削除したタイムレート0区間において、区間末尾のタイムレートデータと、区間より後のデータについて、それぞれのClockを、クリックされたタイムレート0区間の長さのClock数分だけ減算し、その差を新たなClockとしてそれぞれ記憶する(S302)。
【0060】
以上の各処理により、クリックした部分にタイムレート0区間のデータが削除されるので、その後は、削除されずに残されたデータのうち、フラグが「0」に設定されている自動演奏処理で出力されるデータのみをLCD7cへ表示して(S304)、タイムレート“0”削除処理を終了する。
【0061】
図6は、自動演奏処理を示したフローチャートである。マウス7bを操作し、カーソル71をLCD7cの「演奏開始」アイコン72上に移動してクリックすると(図2参照)、ポインタ4aおよび変数tの各値を初期化した後に、自動演奏処理(図6)が設定されているテンポに対応する所定の時間間隔で(例えば1/1000秒毎に)繰り返し実行される。
【0062】
ここで、自動演奏処理の中では、変数tが用いられる。変数tは、自動演奏処理の実行Clock、即ち現在のClockを示す変数である。よって、変数tの値とポインタ4aの示すデータのClockの値とが一致する場合に、そのデータが音源装置15へ出力される。なお、変数tの初期値は「−1」とされており、「演奏開始」アイコン72がクリックされると、「t=−1」とされた後に自動演奏処理が開始される。
【0063】
自動演奏処理では、まず、変数tの値を1加算して演奏時刻を更新する(S400)。前述した通り、変数tの初期値は「−1」なので、最初の自動演奏処理の実行時に、変数tはt=0となる。
【0064】
次に、更新後の変数tの値と、ポインタ4aが示すデータのClockの値とを比較する(S402)。両値が一致していれば(S402:Yes)、そのポインタ4aが示すデータのフラグが「1」であるか否かを調べる(S404)。
フラグが「1」でなく「0」であれば(S404:No)、ポインタ4aが示すデータは出力データなので、そのデータを音源装置15へ出力する(S406)。これにより該データに基づいて音源装置15から楽音信号が生成され、スピーカ14から楽音が出力される。一方、ポインタ4aが示すデータのフラグが「1」であれば(S404:No)、そのデータは非出力データなので、S406の処理をスキップする。
【0065】
その後、ポインタ4aの値を1加算して更新し(S408)、更新後のポインタ4aの示すデータがENDデータであるか否かを調べる(S410)。ポインタ4aの示すデータがENDデータでなければ(S410:No)、処理をS402へ移行してS402からS410の各処理を繰り返す。同じ値のClockをもつ複数のデータが存し得るからであり、それらのデータは、かかる繰り返し処理により、その回の自動演奏処理によって音源装置15へ出力される。
【0066】
一方、更新後のポインタ4aの示すデータがENDデータであれば(S410:Yes)、自動演奏処理のこの回以降の定期的な実行を終了する(S412)。また、S402の処理において、変数tの値とポインタ4aが示すデータのClockの値とが一致しなければ(S402:No)、この回の自動演奏処理を終了する。
【0067】
次に、タイムレートデータの編集(変更)を行った場合に、前述した図3から図5に示すタイムレートデータ編集処理(タイムレート編集処理、タイムレート“0”挿入処理、タイムレート“0”削除処理)によって、演奏データ(タイムレートデータを含む)の構成がどのように変更されるかについて、図7から図11を参照して説明する。
【0068】
各図(a)は、編集対象(自動演奏の対象)となっている演奏データの構成図であり、各図(b)は、その構成図に示される演奏データのうち、ピッチデータとタイムレートデータとを横軸をClock51にして示したグラフである。特に、各図(b)の上段の図は、LCD7cのピッチデータ表示領域77に表示されるグラフであり、各図(b)の下段の図は、LCD7cのタイムレートデータ表示領域78に表示されるグラフである。なお、本実施例の各図(a)では、説明の簡略化のために、Clock51の値が「0」以外の部分では、ピッチデータとタイムレートデータのみを記載している。
【0069】
図7(a)は、タイムレートデータの編集前の演奏データの構成図であり、図7(b)は、そのピッチデータとタイムレートデータとを横軸をClock51にして示したグラフである。なお、以降の各図(b)の説明は同様なので、その説明は省略する。図7(a)は、タイムレートデータの編集前のデータなので、Clock51の値とDClock52の値とが一致している。
【0070】
図8(a)は、図7(a)の演奏データについて、Clock51が「20より大きく40未満」の範囲のタイムレートデータを「1.00」から「0.25」に変更した後の演奏データの構成図である。このタイムレートデータの変更に伴って、DClock52が「20」のデータとDClock52が「40」のデータとのClock51の間隔が「20より大きい」となるので、Clock51の「20」単位毎にデータが挿入される(図3のS108:No,S112:Yes,S114)。即ち、編集開始位置であるClock51が「20」のデータから、そのデータと同一の値のタイムレートデータ及びピッチデータが、Clock51の「20」単位毎であるClock51の「40」,「60」,「80」にそれぞれ挿入される。
【0071】
図9(a)は、図8(a)の演奏データについて、Clock51が「20より大きく100未満」の範囲のピッチデータをそれぞれ変更した後の演奏データの構成図である。よって、図9(a)に示す通り、Clock51の「20」,「40」,「60」,「80」のピッチデータがそれぞれ変更される。
【0072】
図10(a)は、図9(a)の演奏データについて、Clock51が「20より大きく100未満(DClock52では「20より大きく40未満」)」の範囲のタイムレートデータを「0.25」から「1.25」に変更した後の演奏データの構成図である。このタイムレートデータの変更により、DClock52が「25」のデータのClock51は「40」から「24」に変更され、DClock52が「30」のデータのClock51は「60」から「28」に変更され、更にDClock52が「35」のデータのClock51は「80」から「32」に変更される。この結果、各データのClock51の間隔が短く(狭く)なり、その間隔が「5未満」のデータは非出力かつ非表示のデータとなって、そのフラグ55が「1」とされる(S108:Yes,S110)。
【0073】
具体的には、Clock51が「24」のデータは、直前の同種で且つフラグ55が「0」のデータのClock51が「20」なので、そのClock51の間隔は「4」で「5未満」である。よって、Clock51が「24」のデータは、非出力かつ非表示のデータとなり、そのフラグ55は「1」とされる。次に、Clock51が「28」のデータは、直前の同種で且つフラグ55が「0」のデータのClock51が「20」なので、そのClock51の間隔は「8」で「5以上」である。よって、Clock51が「28」のデータは、出力データとなり、そのフラグ55は「0」とされる。更に、Clock51が「32」のデータは、直前の同種で且つフラグ55が「0」のデータのClock51が「28」なので、そのClock51の間隔は「4」で「5未満」である。
よって、Clock51が「32」のデータは、非出力かつ非表示のデータとなり、そのフラグ55は「1」とされる。
【0074】
なお、Clock51が「36」のデータは、直前の同種で且つフラグ55が「0」のデータのClock51が「28」なので、そのClock51の間隔は「8」で「5以上」である。よって、Clock51が「36」のデータは、出力データとなるので、そのフラグ55は「0」とされる。
【0075】
図11(a)は、図10(a)の演奏データについて、Clock51の長さ(幅)が「58」のタイムレート“0”区間を、Clock51が「32」の位置へ挿入した後の演奏データの構成図である。
【0076】
このタイムレート“0”区間の挿入に伴って、Clock51が「32」より後のデータの各Clock51に、挿入されたタイムレート“0”区間の長さ(幅)分の「58」がそれぞれ加算され、各Clock51の値が更新される(図4のS200,S202)。具体的には、図11(a)に、Clock51が「90」以降のデータとして示される。
【0077】
タイムレート“0”区間の挿入開始位置(ドラッグ開始位置)のClock51が「32」の位置には、値54が「0」のタイムレートデータがフラグ55を「0」として挿入される(S204)。ただし、この場合、Clock「32」の位置には既にタイムレートデータが存在するため、実際には、既に存在するタイムレートデータの値を「0」に変更するとともに、フラグ55を「0」に変更することでデータの挿入に代える。図11(a)に、Clock51が「32」のデータとして示される。
【0078】
挿入終了位置(ドラッグ終了位置)のClock51が「90」の位置には、タイムレート“0”区間の挿入開始位置の直前のタイムレートデータであってフラグ55が「0」のタイムレートデータが、即ち「28」のClock51のタイムレートデータ「1.25」が挿入される(S208)。図11(a)に、Clock51が「90」のデータとして示される。
【0079】
更に、ピッチデータのClock51の間隔が広がり過ぎないように、挿入開始位置のClock51が「32」の位置から挿入終了位置のClock51が「90」の位置まで、Clock51の間隔「20」毎に、挿入位置の直前のフラグ55が「0」でないピッチデータ「5364」が挿入される(S210)。
これにより、Clock51の「52」,「72」の位置に、該ピッチデータが挿入される。
【0080】
以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【0081】
本実施例は、PC1にインストールされ或いはCD−ROM8aにて供給される自動演奏プログラム8a,9aに内蔵された編集プログラムを例にして説明した。しかし、必ずしもこれに限られるものではなく、例えば、自動演奏装置にロードされて使用される演奏データを編集する編集プログラムに本発明を適用しても良い。また、編集プログラム(図3から図5)は、自動演奏処理(図6)を実行するコンピュータと別のコンピュータで実行されるものであっても良い。
【0082】
また、本実施例では、タイムレートデータの値を小さく編集した場合、演奏データの出力間隔が長くなり過ぎるので、Clockで「20」間隔毎に新たなデータを挿入している(図3のS114,図8)。ここで、挿入するデータは、挿入直前の同種のデータとしたが、必ずしもこれに限られるものではなく、例えば、挿入直前および挿入直後の同種のデータの値を補間したものでも良い。例えば、挿入直前および挿入直後の同種のデータの値の平均値を、挿入するデータの値としても良い。このように挿入するデータの値を、挿入前後の同種のデータの値を補間した値とすることにより、より滑らかに変化する演奏データを挿入することができる。なお、補間の方式は、平均値方式に限られるものではなく、他の方式を用いるようにしても良い。
【0083】
本実施例では、タイムレートデータの値を大きく編集した場合、演奏データの出力間隔が短くなり過ぎるので、かかる場合には、対応する演奏データのフラグを「1」に設定して、そのデータを非出力且つ非表示にしている(図3のS110,S130,図6のS404:Yes)。しかし、このフラグの設定に代えて、かかるデータ自体を削除するように構成しても良い。即ち、S110の処理おいて、対応する演奏データを削除するのである。この構成によれば、演奏データのフラグが不要となるので、その分、データ容量を圧縮できると共にフラグの判定に伴う各処理を簡略化することができる。
【0084】
演奏データ(タイムレートデータを含む)の編集は、マウス7bにより行われたが、マウス7bに代えて或いはマウス7bと共に、キーボード7aを用いて、該編集を行うように構成しても良い。また、タイムレートデータやピッチデータ以外の他の演奏データ、例えば、オーディオ波形の音質を制御するフォルマントデータや、オーディオ波形の音量を制御するレベルデータなどに、本発明を適用するようにしても良い。
【0085】
タイムレートデータおよびピッチデータは、ともに、直前の同種のデータとのClockの間隔が「5未満」の場合に非出力データとされ、「20より大」の場合に新たなデータが挿入された。しかし、非出力とするデータの間隔と、新たなデータを挿入するデータの間隔とを、同一の間隔としても良い。
【0086】
再生時刻を示すClockは、本実施例では、演奏開始からの経過時間を示すデータとされたが、これに代えて、Clockを、直前或いは直後のデータとの時間間隔を示すものとして構成しても良い。また、タイムレートデータ=0は、「0」の値で直接示したが、これに代えて、タイムレートデータ=0をフラグやコード等によって示すように構成しても良い。かかる場合、タイムレート0区間の開始位置では、タイムレートデータの値は変更せずに、タイムレート0区間の開始を示すフラグやコード等を付加する。同様に、タイムレート0区間の終了位置では、タイムレート0区間の終了を示すフラグやコード等を付加するのである。
【図面の簡単な説明】
【図1】本発明の一実施例である編集プログラムが実行されるパーソナル・コンピュータと音源装置との電気的構成を示したブロック図である。
【図2】自動演奏プログラムが実行されている場合の液晶表示装置の表示画面の様子を示した図である。
【図3】タイムレート編集処理を示したフローチャートである。
【図4】タイムレート“0”挿入処理を示したフローチャートである。
【図5】タイムレート“0”削除処理を示したフローチャートである。
【図6】自動演奏処理を示したフローチャートである。
【図7】(a)は、タイムレートデータの編集前の演奏データの構成図であり、(b)は、そのピッチデータとタイムレートデータとを横軸をClock51にして示したグラフである。
【図8】(a)は、図7(a)の演奏データについて、Clock51が「20より大きく40未満」の範囲のタイムレートデータを「1.00」から「0.25」に変更した後の演奏データの構成図であり、(b)は、そのピッチデータとタイムレートデータとを横軸をClock51にして示したグラフである。
【図9】(a)は、図8(a)の演奏データについて、Clock51が「20より大きく100未満」の範囲のピッチデータをそれぞれ変更した後の演奏データの構成図であり、(b)は、そのピッチデータとタイムレートデータとを横軸をClock51にして示したグラフである。
【図10】(a)は、図9(a)の演奏データについて、Clock51が「20より大きく100未満(DClock52では「20より大きく40未満」)」の範囲のタイムレートデータを「0.25」から「1.25」に変更した後の演奏データの構成図であり、(b)は、そのピッチデータとタイムレートデータとを横軸をClock51にして示したグラフである。
【図11】(a)は、図10(a)の演奏データについて、Clock51の長さ(幅)が「58」のタイムレート0区間を、Clock51が「32」の位置へ挿入した後の演奏データの構成図であり、(b)は、そのピッチデータとタイムレートデータとを横軸をClock51にして示したグラフである。
【符号の説明】
1 パーソナル・コンピュータ(PC)(コンピュータ)
4 RAM(記憶手段)
4a ポインタ
4b PTDClock
4c PClock
4d P値
7 ユーザーインターフェイス
7a キーボード
7b マウス
7c 液晶表示装置(LCD)
9 ハードディスドライブ(記憶手段)
10 記憶装置(記憶手段)
15 音源装置
51 Clock
52 DClock
53 データの種類
55 フラグ
77 ピッチデータ表示領域
78 タイムレートデータ表示領域[0001]
BACKGROUND OF THE INVENTION
The present invention is a computer.InPerformance dataProgram to execute editing, Performance data is edited by inputting the time rateEditIt is about the program.
[0002]
[Prior art]
Japanese Patent Laid-Open No. 2001-147691 (Patent Document 1) discloses a technique for editing performance data including a time rate. That is, when the time rate is changed, the reproduction time of performance data reproduced after the changed data is changed. For example, when the time rate is doubled, the performance data output interval after that is shortened by one half (narrowed), and conversely when the time rate data is slowed by one tenth. Then, the output interval of the performance data thereafter is lengthened (expanded) 10 times. Japanese Patent Application Laid-Open No. 10-260685 (Patent Document 2) discloses a technique in which, when a stored waveform is reproduced in a sound source, when a time rate is designated, the waveform reproduction speed changes accordingly. It is disclosed.
[0003]
[Patent Document 1]
Japanese Patent Laid-Open No. 2001-147691
[0004]
[Patent Document 2]
Japanese Patent Laid-Open No. 10-260685
[0005]
[Problems to be solved by the invention]
However, as disclosed in Patent Document 1, there is the following problem only by shortening the output interval of performance data in accordance with the changed time rate data. In other words, if the time rate is slowed down and the performance data output interval is lengthened, the subsequent performance data can only be edited at coarse intervals, and cannot be edited into smooth performance data. There is. Conversely, if you shorten the performance data output interval by increasing the time rate, the performance data output interval will be shortened, resulting in more playback data per unit time during playback, resulting in smooth playback processing. There is a problem that it cannot be done.
[0006]
  The present invention has been made in order to solve the above-described problems, and is a computer capable of maintaining an appropriate reproduction time interval (time information interval) of performance data after changing time rate data.InPerformance dataTo perform editing ofThe purpose is to provide an editing program.
[0007]
[Means for Solving the Problems]
A computer according to claim 1 to achieve this object.InPerformance dataTo perform editing ofThe editing program includes an input step for inputting a time rate, a time information changing step for changing time information of performance data stored in the storage means based on the time rate data input by the input step, and the time information In the part where the interval of time information changed by the change step is longer than the predetermined time,The same kind of performance data immediately before or after the lengthened partAn insertion step for inserting performance data. Here, “input” includes not only a case of newly inputting a time rate value but also a case of changing an existing time rate value..
[0008]
  According to the editing program of the first aspect, when the time rate is input in the input step, the time information of the performance data stored in the storage means is changed based on the input time rate in the time information changing step. The The input of the time rate by this input step includes real-time input. When the interval of the time information changed by this time information change step becomes longer than a predetermined time, the longer part is inserted by the insertion step,The same kind of performance data immediately before or after the lengthened partPerformance data is inserted.
[0009]
  The editing program according to claim 2 is:2. The editing program according to claim 1, wherein the inserting step includes a portion where the time interval of the performance data indicated by the time information changed by the time information changing step is longer than a predetermined time, immediately before the longer portion and The performance data obtained by interpolating the same kind of performance data immediately after is inserted.
[0010]
  According to the editing program of claim 2,Performance data obtained by interpolating the same kind of performance data immediately before and immediately after the extended portion in the portion where the time interval of the performance data indicated by the time information changed by the time information changing step is longer than the predetermined time by the insertion step Is inserted.
[0011]
[0012]
[0013]
[0014]
【The invention's effect】
Claim 1HenAccording to the collection program, when the time rate is reduced and the playback time interval of the performance data is increased,The same kind of performance data immediately before or after the lengthened partPerformance data is inserted. Therefore, since the reproduction time interval of the performance data can be kept moderate, there is an effect that the subsequent performance data can be edited smoothly.
[0015]
  Claim 2HenAccording to the collection programIn addition to the effect produced by the editing program according to claim 1, when the time rate is reduced and the reproduction time interval of the performance data is lengthened, the same kind immediately before or immediately after the lengthened portion is added to the lengthened portion. Since the performance data for interpolating the performance data is inserted, it is possible to keep the playback time interval of the performance data moderate and insert the performance data that changes smoothly.
[0016]
[0017]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. FIG. 1 shows a personal computer (hereinafter referred to as “PC”) in which automatic performance programs 8a and 9a incorporating an editing program (FIGS. 3 to 5) according to an embodiment of the present invention are installed or supplied by a CD-ROM 8a. 1 is a block diagram showing an electrical configuration of a sound source device 15 that generates an analog musical tone signal (audio signal) based on performance data output from the PC 1 and outputs the analog musical tone signal (audio signal) to the speaker 14. .
[0018]
  The PC 1 is a CPU 2 that is an arithmetic device, a ROM 3 that stores various control programs and fixed value data executed by the CPU 2, and temporarily stores various data and the like upon execution of the control program stored in the ROM 3. It has RAM4 which is a memory for memorizing. The RAM 4 is provided with memories of a pointer 4a, PTDClock 4b, PClock 4c, and P value 4d when the automatic performance programs 8a and 9a are executed. These memories 4a to 4d will be described later. The CPU 2, ROM 3 and RAM 4 are connected to each other by a bus line 5 constituted by an address bus and a data bus. The bus line 5 is connected to various I / O devices 7, 10, 10 through an input / output interface 6. 15 is connected.
[0019]
  The input / output interface 6 includes a keyboard 7a for inputting numerical values and characters, a mouse 7b as a pointing device, and a liquid crystal display device (hereinafter referred to as “LCD”) 7c as a display device. It is connected as an interface 7. Further, a CD-ROM drive 8 and a hard disk drive (hereinafter abbreviated as “HD drive”) 9 are connected to the input / output interface 6 as storage devices. The automatic performance programs 8a and 9a of this embodiment are stored in the CD-ROM 8a together with performance data and audio waveform data, and are supplied to the PC 1 via the CD-ROM drive 8 for execution, or the CD. What is supplied from the ROM 8a to the PC 1 via the CD-ROM drive 8 is stored in the HD drive 9 (9a), read from the HD drive 9 and executed.
[0020]
  Further, a sound source device 15 that generates a musical sound signal (audio signal) is connected to the input / output interface 6. The tone generator 15 includes a DSP (Digital Signal Processor) 11 that performs waveform data reproduction processing by digital processing, and the DSP 11 is connected to the input / output interface 6. The DSP 11 is connected to a D / A converter 12 that converts a digital musical tone signal output from the DSP 11 into an analog musical tone signal, and the D / A converter 12 converts the digital musical tone signal to the D / A converter 12. An amplifier 13 for amplifying the analog signal is connected, and a speaker 14 for outputting sound of the amplified analog signal is connected to the amplifier 13.
[0021]
  When the automatic performance programs 8a and 9a are executed in accordance with a user instruction, the automatic performance programs 8a and 9a are loaded into the RAM 4 via the input / output interface 6 and the bus line 5 and executed by the CPU 2. Further, the audio waveform data is supplied to the sound source device 15 via the input / output interface 6 and stored in the sound source device 15 in accordance with a user instruction. Thereafter, the performance data (including time rate data) is edited and reproduced in accordance with the user's instruction, and the reproduced data is supplied to the sound source device 15 via the input / output interface 6 and the sound source. An audio waveform is reproduced by the device 15, an audio signal is output, the speaker 14 rings and a musical sound is output from the speaker 14.
[0022]
  The sound source device 15 reproduces the audio waveform data while controlling the reproduction speed based on the time rate indicated by the time rate data supplied from the PC 1. That is, when a fast time rate is instructed, the audio waveform data is skipped in some places to shorten the reproduction time to increase the reproduction speed, and when a slow time rate is instructed, the audio waveform data is By repeatedly reading from place to place, the playback time is extended to slow down the playback speed. Further, when “0” is designated as the time rate, the playback time is stopped by repeatedly reading out a part of the audio waveform data.
[0023]
  FIG. 2 is a diagram showing the state of the display screen of the LCD 7c when the automatic performance programs 8a and 9a are being executed. A display screen of the LCD 7c is provided with a cursor 71 as a mouse pointer, icons 72 to 76 for performing various operation instructions, a pitch data display area 77, and a time rate data display area 78.
[0024]
  The “start performance” icon 72 is an icon for instructing the start of automatic performance. When the cursor 71 is clicked on the icon 72 and clicked, the automatic performance is started. The “stop performance” icon 73 is an icon for instructing to stop the automatic performance. When the cursor 71 is clicked on the icon 73 and clicked, the automatic performance is stopped. Similarly, the “time rate edit” icon 74 is an icon for switching the operation mode to the time rate edit mode, and the “term rate“ 0 ”insertion” icon 75 is the operation mode to the time rate “0” insertion mode. It is an icon for switching. Further, the “term rate“ 0 ”deletion” icon 76 is an icon for switching the operation mode to the mode for deleting the time rate “0” section. When the cursor 71 is clicked on each icon 74 to 76 and clicked, the instruction assigned to the icon is executed by the CPU 2.
[0025]
  The pitch data display area 77 is a display area showing changes in pitch data of performance data to be played or edited. Pitch data is displayed in this area 77 as a graph with the clock indicating the data reproduction time on the horizontal axis and the pitch data value on the vertical axis. The upper diagram shown in FIGS. 7 to 11B is a graph displayed in the pitch data display area 77. The pitch data can be changed by moving the cursor 71 in the display area 77 and dragging the solid line portion indicating the pitch data. In the scale of the vertical axis, the upper end indicates “7000” of pitch data, the center indicates “0”, and the lower end indicates “−7000”. The pitch data is “7000”, which is the pitch of one octave.
[0026]
  The time rate data display area 78 is a display area showing a change in time rate data to be played or edited. The time rate data is displayed in this area 78 as a graph with the clock indicating the data reproduction time on the horizontal axis and the value of the time rate data on the vertical axis. The lower graphs shown in FIGS. 7 to 11B are graphs displayed in the time rate data display area 78. FIG. The time rate data can be changed by moving the cursor 71 in the display area 78 and dragging the broken line portion indicating the time rate data. In the scale of the vertical axis, the upper end indicates “2.0” of the time rate data, the center indicates “1.0”, and the lower end indicates “0”.
[0027]
  Next, each process executed by the automatic performance programs 8a and 9a of this embodiment will be described with reference to the flowcharts of FIGS. Prior to this description, each data used in the flowchart of each process will be described with reference to FIG. 7A and FIG.
[0028]
  FIG. 7A shows performance data. Clock 51 is data indicating playback time (elapsed time from the start of performance). The data sequence of performance data is arranged in the order of Clock. When the time rate data is changed in the time rate editing mode, the time rate “0” insertion mode, or the time rate “0” deletion mode, the value of Clock 51 of the performance data after the changed time rate is changed. The DClock 52 is data indicating the reproduction time when “time rate data = 1.0”, and is used when obtaining a clock based on the time rate data.
Even if the time rate data is changed, the value of DClock 52 does not change.
[0029]
  Clock 51 of each performance data can be obtained according to the following (Equation 1) based on DClock 52 of the performance data and time rate data immediately before the performance data in the data string.
[0030]
[Expression 1]
Figure 0004108487
Conversely, the DClock 52 of each performance data can be obtained according to the following (Equation 2) based on the clock of the performance data and the time rate data immediately before the performance data in the data string.
[0031]
[Expression 2]
Figure 0004108487
Since the time rate data is also a kind of performance data, Clock 51 and Clock 52 of the time rate data can also be obtained according to Equations 1 and 2 based on the time rate data immediately before the time rate data. By sequentially applying Equations 1 and 2 from the first piece of performance data for which Clock 51 or Clock 52 is to be obtained to the subsequent performance data in the performance data string, Clock 51 and Clock 52 of all the performance data can be obtained.
[0032]
  The data type 53 includes data such as NoteOn, NoteOff, Pitch, TimeRate, and END. Each of “NoteOn” is data representing a sound generation instruction to the sound source of the electronic musical instrument including data instructing the start of reproduction of the audio waveform, and the value indicates the pitch. For example, a value of “60” indicates a pitch of “C4”. NoteOn also has velocity information, but its description is omitted in this embodiment. NoteOff is data for instructing to stop reproduction of the audio waveform.
[0033]
  Pitch is data indicating the control amount of the relative pitch with respect to the pitch specified by NoteOn, and its value is “7000”, which is the pitch of an octave.
Data indicated by Pitch is pitch data. TimeRate is data for controlling a relative playback speed (time rate) with respect to a set tempo when performing automatically based on time information set in performance data. Data indicated by TimeRate is time rate data. “1.0” in the time rate data represents reproduction at a normal speed. When it is larger than “1.0”, it represents reproduction at a speed faster than the normal speed. Represents slow playback. In addition, “0” in the time rate data represents the progress stop of reproduction. END is data indicating the end of the performance data. In addition, formant data for controlling the sound quality of the audio waveform, level data for controlling the volume of the audio waveform, and the like exist as performance data.
[0034]
  The flag 55 is data (flag) indicating whether or not to output the data during the automatic performance process. Data whose flag 55 is “0” is output, and data “1” is not output.
[0035]
  As shown in FIG. 1, when the automatic performance programs 8a and 9a are executed, the RAM 4 is provided with memories of pointer 4a, PTDClock 4b, PClock 4c, and P value 4d. The pointer 4a is a pointer-type memory indicating an editing position or an automatic performance position, and is used in the time rate editing process of FIG. 3 and the automatic performance process of FIG. One is added for each editing process or each automatic performance process. When the value of the pointer after the addition indicates END data, the editing process or the automatic performance process is terminated.
[0036]
  The PTDClock 4b is a memory for storing DClock 52 (see FIG. 7A) of time rate data located at the start point of the editing range in the time rate editing process. The PClock 4c and the P value 4d are memories provided for each type of performance data, and the clock and time rate values (time values) of the same type of performance data immediately before the performance data of interest in the time rate editing process. Rate data) is stored accordingly.
[0037]
  In addition, when the PClock 4c or the P value 4d corresponding to a specific type of data is represented in the PClock 4c or the P value 4d, it is indicated with []. For example, in the time rate editing process, the clock of the time rate data is expressed as “PClock [time rate]”, and the P value of the time rate data is also expressed as “P value [time rate]”.
[0038]
  In the time rate editing process, the performance data Clock 51 and DC lock 52 can be obtained by applying the data stored in the PTDC lock 4b, the PC lock 4c, and the P value 4d to the above-described (Expression 1) and (Expression 2). Specifically, it is obtained by the following calculation.
[0039]
[Equation 3]
Figure 0004108487
[0040]
[Expression 4]
Figure 0004108487
  FIG. 3 is a flowchart showing the time rate editing process. When the mouse 7b is operated and the cursor 71 is moved onto the “time rate edit” icon 74 on the LCD 7c and clicked (see FIG. 2), the time rate edit mode is set. In this time rate edit mode, the cursor 71 is moved into the time rate data display area 78, and the edit range is specified by dragging from the start clock to the end clock of the time rate data to be edited. Next, the time rate data is changed by dragging up and down the time rate data displayed by a broken line within the designated editing range, and accordingly, the clock rate change and data are changed as time rate editing processing shown in FIG. Processing for optimizing the interval is executed.
[0041]
  As described above, in the vertical scale of the time rate data display area 78 of this embodiment, the upper end indicates “2.0” of the time rate data, the center is “1.0”, and the lower end is “0”. The time rate data is changed in the range of 0 <time rate data ≦ 2. The editing process (insertion process or deletion process) with time rate data = 0 is performed in the process of FIG. 4 or FIG.
[0042]
  In the time rate editing process, first, initial values of the pointer 4a, PTDClock 4b, PClock 4c, and P value 4d are set at the start of the editing process (S102). Specifically, first, a position (value) indicating the first time rate data within the editing range is set (pointed) to the pointer 4a indicating the editing position. Second, the DClock value of the time rate data whose flag immediately before the editing range is “0” is set in PTDClock4b. Thirdly, the value of Clock of performance data whose flag immediately before the editing range is “0” is set for each type of performance data in PClock [data type] 4c. Fourth, a performance data value 54 having a flag “0” immediately before the editing range is set for each type of performance data in the P value [data type] 4d.
[0043]
  In the process of S104, the data indicated by the pointer 4a is determined. If the data is the time rate data and the value is “0” (S104: Yes), the section (value is 0) in which the time rate data is 0 by S128. Data update processing is performed for the section from the time rate data of “0” to the time rate data whose value is not “0” (hereinafter referred to as “time rate 0 section”). Specifically, first, the clock of the data indicated by the pointer 4a is calculated from Equation 1 (Equation 1 ′ (dash)) and stored as data after editing the time rate. Next, the original clock value of the data indicated by the pointer 4a is subtracted from the calculated clock, and the difference is added to the clock values of all performance data in the time rate 0 section. Thereby, since the value of Clock of all performance data in the time rate 0 section is calculated, the value of each Clock is updated and stored with each calculated value. Further, the value of all the flags in the section is set to “0” so that all data in the section with the time rate of 0 is output during the automatic performance processing (see FIG. 6). Complete the data update for the section.
[0044]
  After that, for the next data update, the pointer 4a is updated to the position indicating the last time rate data in the time rate 0 section, and the clock of the data indicated by the pointer 4a is set to PClock [same kind of data] 4c. Further, the value of the data indicated by the pointer 4a is set to a P value [same kind of data] 4d. At the same time, the DClock of the data indicated by the pointer 4a is set to PTDClock. (S128 above) With these processes, preparation for the next data update is completed, so the process proceeds to S124.
[0045]
  On the other hand, in the process of S104, the data indicated by the pointer 4a is determined. If the data is time rate data and the value is not "0" (S104: No), the Clock of the data indicated by the pointer 4a is expressed by Equation 1 ( Calculated from Equation 1 ′) and stored as data after time rate editing (S106).
[0046]
  Next, it is determined whether or not there is a difference of 5 or more between the Clock calculated in the process of S106 and PClock [same kind of data] 4c (S108). If the difference is less than 5 and the data indicated by the pointer 4a is pitch data or time rate data (S108: Yes), the output interval with the immediately preceding same type of data is too short. The flag value is set to “1” so that data is not output (S110). On the other hand, if the difference between the Clock calculated in the process of S106 and PClock [same kind of data] 4c is 5 or more (S108: No), it is further determined whether or not the difference is greater than 20 (S112). If there is a difference greater than 20, and the data indicated by the pointer 4a is pitch data or time rate data (S112: Yes), the output interval with the immediately preceding same type of data is too long. insert.
[0047]
  In the process of S114, new data of the same type as the data indicated by the pointer 4a is inserted into the portion where the data output interval has become too long as a result of the time rate editing, and the data output interval in the automatic performance processing is set appropriately. This is a process that keeps the gap at a certain interval. The data to be inserted is generated as follows. First, in order to set the data output interval to an appropriate interval (5 ≦ Clock ≦ 20 in this embodiment), PClock [same type of data] 4c + 20 is set in Clock. A P value [same kind of data] 4d is set as the value 54, and DClock is calculated from Equation 2 (Equation 2 ′). The corresponding flag is set to “0” to be output data in automatic performance processing. Insertion data is generated as described above, and this is inserted as performance data between the data indicated by the pointer 4a and the next data, and the pointer 4a is advanced by one. Then, after setting the clock of the generated insertion data in the PClock [same type of data] 4c and preparing for the next process (S114), the process proceeds to S108.
[0048]
  In the process of S112, if the difference between the Clock calculated in the process of S106 and the PClock [same kind of data] 4c is 20 or less (S112: No), that is, the difference in the clocks of the continuous data after the change. Is 5 or more and 20 or less (S108: No, S112: No), the output interval with the immediately preceding same type of data is appropriate, so that the value of the flag is set so that the data is output during automatic performance processing. Is set to "0" (S116). With the above processing, the data update accompanying the time rate editing is completed for the data indicated by the pointer 4a.
[0049]
  After that, for the next data update, the Clock calculated in the process of S106 is set in the PClock [same kind of data] 4c, and further, the value of the data indicated by the pointer 4a is set in the P value [same kind of data] 4d. Is set (S118). If the type of data indicated by the pointer 4a is time rate data (S120: Yes), the DC rate of the time rate data indicated by the pointer 4a is set in the PTDClock 4b (S122). As a result, the preparation for the next data update is completed, leaving the pointer 4a updated.
[0050]
  In the process of S124, the value of the pointer 4a is updated by adding 1 (S124). If the data indicated by the pointer 4a after the addition is not END data (S126: No), the process proceeds to S104, and the above-described process is performed. The processes from S104 to S126 are repeated. On the other hand, if the data indicated by the pointer 4a after the addition is END data (S126: Yes), only the data output in the automatic performance process with the flag set to “0” is displayed on the LCD 7c (S130). This time rate editing process is terminated. That is, on the LCD 7c, the data that is not output in the automatic performance process with the flag set to “1” is not displayed, and the time rate editing process ends.
[0051]
  As described above, in the time rate editing process, when the time rate data is slowed down and the reproduction time interval of the performance data is made larger than “20” Clock, new performance data is inserted in that portion, while the time rate data If the playback time interval of the performance data is set to less than “5” Clock, the performance data of the shortened portion is changed to non-output data during automatic performance. Therefore, since the performance data reproduction time interval can be kept moderate, performance data editing and performance data reproduction processing (automatic performance processing) can be performed smoothly.
[0052]
  FIG. 4 is a flowchart showing time rate “0” insertion processing. When the mouse 7b is operated to move the cursor 71 onto the “insert time rate“ 0 ”” icon 75 on the LCD 7c and click (see FIG. 2), the time rate “0” insertion mode is set. In this time rate “0” insertion mode, the cursor 71 is moved into the time rate data display area 78 and dragged from the start clock to the end clock to be set to the time rate 0 section, and the start position and insertion range of the time rate 0 section By specifying (length), the time rate “0” insertion process (FIG. 4) is executed, and a time rate 0 section of the specified length is inserted at the position of the specified start clock.
[0053]
  In the time rate “0” insertion process, first, the clock at the start position is subtracted from the clock at the drag end position to calculate the number of clocks in the specified insertion range (S200). Next, the calculated number of clocks is added to the clock of each data after the drag start position, and the value of each clock is updated and stored (S202). At the position corresponding to the drag start clock in the performance data string, time rate data having a value of “0” with the drag start clock as the clock is inserted and stored. The DClock of this data is calculated from Equation 2, and the flag is stored as “0” (S204). If the time rate has already been stored at the position corresponding to the drag start clock in the performance data string, the time rate data value 54 is not inserted without inserting the time rate data having the value “0”. By changing to “0” and setting the flag to “0”, the time rate data with the value “0” is inserted.
[0054]
  At the position corresponding to the drag end clock in the performance data string, time rate data with the drag end clock as the clock is inserted and stored. The value of this data is the same as the value of the time rate data in which the flag immediately before the drag start clock is “0”. The DClock of this data is calculated from Equation 2 (the calculated DClock is the same as the DClock value of the data inserted at the drag start position in S204), and the flag is stored as “0” (S208).
[0055]
  Further, pitch data is inserted every clock interval “20” between the data inserted in step S204 and the data inserted in step S208 in the performance data string. The value of this data is the same as the value of the same kind of performance data in which the flag immediately before the drag start clock is “0”. The DClock of this data is the value of DClock of the data inserted at the drag start position in the process of S204, and the flag is stored as “0” (S210).
[0056]
  Through the above processes, the data of the time rate data 0 section can be inserted into the insertion range designated by dragging. Thereafter, only the data output in the automatic performance process with the flag set to “0” is sent to the LCD 7c. (S212), and the time rate “0” insertion process is terminated.
[0057]
  FIG. 5 is a flowchart showing the time rate “0” deletion process. When the mouse 7b is operated and the cursor 71 is moved onto the “time rate“ 0 ”deletion” icon 76 on the LCD 7c and clicked (see FIG. 2), the time rate “0” deletion mode is set. In the time rate “0” deletion mode, when the cursor 71 is moved to the range of time rate data = 0 in the time rate data display area 78 and the mouse 7b is clicked, the time rate “0” deletion process (FIG. 5) is performed. Executed. By this time rate “0” deletion processing, the data of the clicked time rate 0 section is deleted.
[0058]
  In the time rate “0” deletion process, first, all data except the time rate data at the end of the section is deleted from the data of the section of the time rate 0 including the clicked clock (S300).
[0059]
  Next, in the deleted time rate 0 section, the time rate data at the end of the section and the data after the section are subtracted by the number of Clocks of the length of the clicked time rate 0 section, Each difference is stored as a new Clock (S302).
[0060]
  As a result of the above processes, the data of the time rate 0 section is deleted at the clicked portion, and thereafter, the automatic performance process in which the flag is set to “0” among the remaining data without being deleted. Only the output data is displayed on the LCD 7c (S304), and the time rate “0” deletion processing is terminated.
[0061]
  FIG. 6 is a flowchart showing the automatic performance process. When the mouse 7b is operated and the cursor 71 is moved to and clicked on the "start performance" icon 72 on the LCD 7c (see FIG. 2), the pointer 4a and the variable t are initialized, and then the automatic performance processing (FIG. 6) is performed. ) Is repeatedly executed at a predetermined time interval corresponding to the set tempo (for example, every 1/1000 second).
[0062]
  Here, the variable t is used in the automatic performance process. The variable t is a variable indicating the execution clock of the automatic performance process, that is, the current Clock. Therefore, when the value of the variable t matches the value of the clock indicated by the pointer 4a, the data is output to the sound source device 15. Note that the initial value of the variable t is “−1”, and when the “performance start” icon 72 is clicked, the automatic performance processing is started after “t = −1”.
[0063]
  In the automatic performance process, first, the value of the variable t is incremented by 1 to update the performance time (S400). As described above, since the initial value of the variable t is “−1”, the variable t becomes t = 0 when the first automatic performance process is executed.
[0064]
  Next, the updated value of the variable t is compared with the value of the clock of the data indicated by the pointer 4a (S402). If the two values match (S402: Yes), it is checked whether the data flag indicated by the pointer 4a is “1” (S404).
If the flag is not “1” but “0” (S404: No), since the data indicated by the pointer 4a is output data, the data is output to the sound source device 15 (S406). Thus, a musical tone signal is generated from the sound source device 15 based on the data, and a musical tone is output from the speaker 14. On the other hand, if the data flag indicated by the pointer 4a is “1” (S404: No), the data is non-output data, so the process of S406 is skipped.
[0065]
  Thereafter, the value of the pointer 4a is incremented by 1 (S408), and it is checked whether or not the data indicated by the updated pointer 4a is END data (S410). If the data indicated by the pointer 4a is not END data (S410: No), the process proceeds to S402, and the processes from S402 to S410 are repeated. This is because a plurality of data having the same value of Clock can exist, and these data are output to the sound source device 15 by the automatic performance processing of the time by such repeated processing.
[0066]
  On the other hand, if the data indicated by the updated pointer 4a is END data (S410: Yes), the periodic execution of the automatic performance processing after this time is terminated (S412). In the process of S402, if the value of the variable t does not match the value of the data indicated by the pointer 4a (S402: No), this automatic performance process is terminated.
[0067]
  Next, when the time rate data is edited (changed), the time rate data editing process (time rate editing process, time rate “0” insertion process, time rate “0”) shown in FIGS. How the configuration of the performance data (including time rate data) is changed by the deletion process will be described with reference to FIGS.
[0068]
  Each figure (a) is a configuration diagram of performance data to be edited (target for automatic performance), and each figure (b) shows pitch data and time rate among the performance data shown in the configuration diagram. It is the graph which showed the data as Clock51 on the horizontal axis. In particular, the upper part of each figure (b) is a graph displayed in the pitch data display area 77 of the LCD 7c, and the lower part of each figure (b) is displayed in the time rate data display area 78 of the LCD 7c. It is a graph. In each drawing (a) of the present embodiment, only the pitch data and time rate data are shown in the portion where the value of Clock 51 is other than “0” for the sake of simplicity of explanation.
[0069]
  FIG. 7A is a configuration diagram of performance data before editing of time rate data, and FIG. 7B is a graph showing the pitch data and time rate data with Clock 51 as the horizontal axis. In addition, since description of each following figure (b) is the same, the description is abbreviate | omitted. Since FIG. 7A is data before editing of the time rate data, the value of Clock 51 and the value of DC lock 52 are the same.
[0070]
  FIG. 8A shows the performance data of FIG. 7A after the time rate data in the range where Clock 51 is “greater than 20 and less than 40” is changed from “1.00” to “0.25”. It is a data block diagram. With the change of the time rate data, the interval of the clock 51 between the data with the DClock 52 of “20” and the data with the DClock 52 of “40” becomes “greater than 20”, so that the data for every “20” unit of the clock 51 It is inserted (S108: No, S112: Yes, S114 in FIG. 3). That is, from the data with the clock 51 being the editing start position “20”, the time rate data and the pitch data having the same value as the data are “40”, “60”, Each is inserted into “80”.
[0071]
  FIG. 9A is a configuration diagram of the performance data after the pitch data in the range where Clock 51 is “greater than 20 and less than 100” is changed for the performance data of FIG. 8A. Therefore, as shown in FIG. 9A, the pitch data “20”, “40”, “60”, and “80” of Clock 51 are changed.
[0072]
  FIG. 10A shows the time rate data in the range of “clock greater than 20 and less than 100 (DC lock 52 is greater than 20 and less than 40”) for the performance data in FIG. 9A from “0.25”. It is a block diagram of the performance data after changing to "1.25". Due to the change of the time rate data, the clock 51 of the data with the DClock 52 of “25” is changed from “40” to “24”, the clock 51 of the data with the DClock 52 of “30” is changed from “60” to “28”, Further, the clock 51 of the data whose DClock 52 is “35” is changed from “80” to “32”. As a result, the interval of the clock 51 of each data is shortened (narrow), the data whose interval is “less than 5” becomes non-output and non-display data, and the flag 55 is set to “1” (S108: Yes, S110).
[0073]
  Specifically, the data of which the clock 51 is “24” is the same type as before and the clock 51 of the data whose flag 55 is “0” is “20”, so the interval between the clocks 51 is “4” and “less than 5”. . Therefore, data whose Clock 51 is “24” is non-output and non-display data, and its flag 55 is set to “1”. Next, since the clock 51 of the data having the clock 51 of “28” is the same type as before and the clock 51 of the data having the flag 55 of “0” is “20”, the interval of the clock 51 is “8” and “5 or more”. Therefore, data with Clock 51 of “28” is output data, and its flag 55 is set to “0”. Further, since the data of which the clock 51 is “32” is the same type as before and the clock 51 of the data whose flag 55 is “0” is “28”, the interval of the clock 51 is “4” and “less than 5”.
Therefore, data with Clock 51 of “32” is non-output and non-display data, and its flag 55 is set to “1”.
[0074]
  Note that the data with the clock 51 of “36” is the same type as before and the clock 51 of the data with the flag 55 of “0” is “28”, so the interval of the clock 51 is “8” and “5 or more”. Therefore, data whose Clock 51 is “36” becomes output data, and its flag 55 is set to “0”.
[0075]
  FIG. 11A shows the performance data after inserting the time rate “0” section in which the length (width) of the Clock 51 is “58” into the position where the Clock 51 is “32” for the performance data in FIG. It is a data block diagram.
[0076]
As the time rate “0” section is inserted, “58” corresponding to the length (width) of the inserted time rate “0” section is added to each Clock 51 of the data after the clock 51 is “32”. Then, the value of each Clock 51 is updated (S200, S202 in FIG. 4). Specifically, in FIG. 11A, Clock 51 is shown as data after “90”.
[0077]
  At the position where the clock 51 of the insertion start position (drag start position) of the time rate “0” section is “32”, the time rate data whose value 54 is “0” is inserted with the flag 55 set to “0” (S204). . However, in this case, since the time rate data already exists at the position of Clock “32”, the value of the existing time rate data is actually changed to “0” and the flag 55 is set to “0”. Change to replace data insertion. In FIG. 11A, Clock 51 is shown as data “32”.
[0078]
  At the position where the clock 51 of the insertion end position (drag end position) is “90”, the time rate data immediately before the insertion start position of the time rate “0” section and the flag 55 is “0” That is, the time rate data “1.25” of Clock 51 of “28” is inserted (S208). In FIG. 11A, Clock 51 is shown as “90” data.
[0079]
  Further, in order to prevent the pitch 51 interval of the pitch data from being excessively widened, insertion is performed at every interval “20” of the clock 51 from the position where the clock 51 of the insertion start position is “32” to the position where the clock 51 of the insertion end position is “90”. Pitch data “5364” in which the flag 55 immediately before the position is not “0” is inserted (S210).
As a result, the pitch data is inserted into the positions of “52” and “72” of Clock 51.
[0080]
  The present invention has been described based on the embodiments. However, the present invention is not limited to the above-described embodiments, and various improvements and modifications can be easily made without departing from the spirit of the present invention. It can be guessed.
[0081]
  In the present embodiment, the editing program installed in the automatic performance programs 8a and 9a installed in the PC 1 or supplied by the CD-ROM 8a has been described as an example. However, the present invention is not necessarily limited to this. For example, the present invention may be applied to an editing program for editing performance data loaded and used in an automatic performance device. The editing program (FIGS. 3 to 5) may be executed by a computer different from the computer that executes the automatic performance process (FIG. 6).
[0082]
  Further, in this embodiment, when the value of the time rate data is edited to be small, the performance data output interval becomes too long, so new data is inserted every “20” intervals in the clock (S114 in FIG. 3). , FIG. 8). Here, the data to be inserted is the same kind of data immediately before the insertion, but is not necessarily limited to this. For example, the value of the same kind of data immediately before and after the insertion may be interpolated. For example, the average value of the same kind of data immediately before and after the insertion may be used as the value of the data to be inserted. By setting the value of the data to be inserted as a value obtained by interpolating the value of the same kind of data before and after the insertion, performance data that changes more smoothly can be inserted. Note that the interpolation method is not limited to the average value method, and other methods may be used.
[0083]
  In this embodiment, when the value of the time rate data is greatly edited, the performance data output interval becomes too short. In this case, the corresponding performance data flag is set to “1” and the data is stored. Non-output and non-display (S110 and S130 in FIG. 3, S404 in FIG. 6: Yes). However, instead of setting this flag, the data itself may be deleted. That is, in the process of S110, the corresponding performance data is deleted. According to this configuration, since the performance data flag is not required, the data capacity can be reduced correspondingly, and each process associated with the flag determination can be simplified.
[0084]
  Editing of performance data (including time rate data) is performed by the mouse 7b. However, the editing may be performed by using the keyboard 7a instead of the mouse 7b or together with the mouse 7b. Further, the present invention may be applied to performance data other than time rate data and pitch data, for example, formant data for controlling the sound quality of the audio waveform, level data for controlling the volume of the audio waveform, and the like. .
[0085]
  The time rate data and the pitch data are both non-output data when the clock interval with the immediately preceding same type of data is “less than 5”, and new data is inserted when the interval is “greater than 20”. However, the interval between the non-output data and the interval between the data for inserting new data may be the same interval.
[0086]
  In this embodiment, the clock indicating the reproduction time is data indicating the elapsed time from the start of the performance. Instead, the clock is configured to indicate a time interval with the immediately preceding or immediately following data. Also good. Although time rate data = 0 is directly indicated by a value of “0”, it may be configured such that time rate data = 0 is indicated by a flag, a code, or the like instead. In such a case, a flag or code indicating the start of the time rate 0 section is added at the start position of the time rate 0 section without changing the value of the time rate data. Similarly, a flag or code indicating the end of the time rate 0 section is added at the end position of the time rate 0 section.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an electrical configuration of a personal computer on which an editing program according to an embodiment of the present invention is executed and a tone generator.
FIG. 2 is a diagram showing a state of a display screen of a liquid crystal display device when an automatic performance program is executed.
FIG. 3 is a flowchart showing a time rate editing process.
FIG. 4 is a flowchart showing time rate “0” insertion processing;
FIG. 5 is a flowchart showing time rate “0” deletion processing;
FIG. 6 is a flowchart showing an automatic performance process.
7A is a configuration diagram of performance data before editing of time rate data, and FIG. 7B is a graph showing the pitch data and time rate data with Clock 51 as the horizontal axis.
FIG. 8A shows the performance data of FIG. 7A after the time rate data in the range where Clock 51 is “greater than 20 and less than 40” is changed from “1.00” to “0.25”. (B) is a graph showing the pitch data and time rate data with the horizontal axis as Clock51.
9A is a configuration diagram of performance data after the pitch data in the range where Clock 51 is “greater than 20 and less than 100” is changed for the performance data in FIG. 8A; FIG. These are the graph which showed the pitch data and time rate data by making Clock51 into a horizontal axis.
10A shows time rate data in a range where Clock 51 is “greater than 20 and less than 100 (“ greater than 20 and less than 40 ”in DClock 52)” with respect to the performance data shown in FIG. 9A. Is a configuration diagram of performance data after being changed from “1.25” to “1.25”, and FIG. 5B is a graph showing the pitch data and the time rate data with the horizontal axis as Clock 51.
FIG. 11A shows the performance data of FIG. 10A after insertion of a time rate 0 section in which the length (width) of the Clock 51 is “58” at the position where the Clock 51 is “32”. It is a data block diagram, (b) is a graph showing the pitch data and time rate data with the horizontal axis as Clock51.
[Explanation of symbols]
1 Personal computer (PC) (computer)
4 RAM (storage means)
4a pointer
4b PTDClock
4c PClock
4d P value
7 User interface
7a keyboard
7b mouse
7c Liquid crystal display (LCD)
9 Hard disk drive (memory means)
10 Storage device (storage means)
15 Sound source device
51 Clock
52 DClock
53 Data types
55 flags
77 Pitch data display area
78 Time rate data display area

Claims (2)

コンピュータ演奏データの編集を実行させるための編集プログラムにおいて、
タイムレートを入力する入力ステップと、
その入力ステップにより入力されたタイムレートに基づいて記憶手段に記憶される演奏データの時間情報を変更する時間情報変更ステップと、
前記時間情報変更ステップにより変更された時間情報が示す演奏データの時間間隔が所定時間より長くなった部分に、その長くなった部分の直前または直後の演奏データと同種の演奏データを挿入する挿入ステップとを備えていることを特徴とする集プログラム。
In an editing program for causing a computer to edit performance data,
An input step for entering the time rate;
A time information changing step for changing time information of performance data stored in the storage means based on the time rate input in the input step;
Insertion step of inserting performance data of the same type as the performance data immediately before or immediately after the long portion into the portion where the time interval of the performance data indicated by the time information changed by the time information changing step is longer than a predetermined time editing program which is characterized in that it comprises a door.
前記挿入ステップは、前記時間情報変更ステップにより変更された時間情報が示す演奏データの時間間隔が所定時間より長くなった部分に、その長くなった部分の直前および直後の同種の演奏データを補間した演奏データを挿入するものであることを特徴とする請求項1記載の編集プログラム。The insertion step interpolates the same kind of performance data immediately before and immediately after the extended portion in the portion where the time interval of the performance data indicated by the time information changed by the time information changing step is longer than a predetermined time. 2. The editing program according to claim 1, wherein performance data is inserted.
JP2003005461A 2003-01-14 2003-01-14 Editing program Expired - Fee Related JP4108487B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003005461A JP4108487B2 (en) 2003-01-14 2003-01-14 Editing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003005461A JP4108487B2 (en) 2003-01-14 2003-01-14 Editing program

Publications (2)

Publication Number Publication Date
JP2004219615A JP2004219615A (en) 2004-08-05
JP4108487B2 true JP4108487B2 (en) 2008-06-25

Family

ID=32896110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003005461A Expired - Fee Related JP4108487B2 (en) 2003-01-14 2003-01-14 Editing program

Country Status (1)

Country Link
JP (1) JP4108487B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5742777B2 (en) * 2012-04-18 2015-07-01 ブラザー工業株式会社 Music playback device, music playback method, and music playback program

Also Published As

Publication number Publication date
JP2004219615A (en) 2004-08-05

Similar Documents

Publication Publication Date Title
JP3632523B2 (en) Performance data editing apparatus, method and recording medium
JP3632522B2 (en) Performance data editing apparatus, method and recording medium
JP6187132B2 (en) Score alignment apparatus and score alignment program
JP4274152B2 (en) Music synthesizer
US6150597A (en) Method of arranging music with selectable templates of music notation
US6635816B2 (en) Editor for musical performance data
JP4108487B2 (en) Editing program
JP3933156B2 (en) PERFORMANCE INFORMATION EDITING DEVICE, PERFORMANCE INFORMATION EDITING METHOD, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING A PERFORMANCE INFORMATION EDITING PROGRAM
JP2007248518A (en) Waveform editing device
JP3794299B2 (en) Performance information editing apparatus and performance information editing program
JP3972899B2 (en) Music score display device
JP2007248519A (en) Waveform editing device
JP4101067B2 (en) Sequence data display program
JP3587133B2 (en) Method and apparatus for determining pronunciation length and recording medium
JP4305315B2 (en) Automatic performance data characteristic changing device and program thereof
JP6127549B2 (en) Music data editing method, program for realizing the music data editing method, and music data editing apparatus
JP4134870B2 (en) Effect setting device and effect setting program
JP4046615B2 (en) Waveform display program
JP3794303B2 (en) Performance information editing apparatus and performance information editing program
JP3671417B2 (en) Waveform editing method and apparatus
JP3460562B2 (en) Input / editing device and storage medium
JP2006267173A (en) Device and program to edit performance data
JP4042669B2 (en) Waveform data editing apparatus and waveform data editing program
JP3736188B2 (en) Performance information editing device
JP2001272974A (en) Device and method for displaying information and medium with recorded program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051220

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071023

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071221

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: 20080401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080402

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

Free format text: PAYMENT UNTIL: 20110411

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees