JP4108487B2 - Editing program - Google Patents
Editing program Download PDFInfo
- 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
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】
逆に、各演奏データのDClock52は、その演奏データのClock及びデータ列中のその演奏データの直前のタイムレートデータに基づいて次の(式2)に従って求めることができる。
【0031】
【数2】
タイムレートデータも演奏データの一種であるため、タイムレートデータの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】
【0040】
【数4】
図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
[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
[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
[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
[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
[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
[0019]
The input /
[0020]
Further, a sound source device 15 that generates a musical sound signal (audio signal) is connected to the input /
[0021]
When the
[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
[0023]
FIG. 2 is a diagram showing the state of the display screen of the
[0024]
The “start performance”
[0025]
The pitch
[0026]
The time rate data display
[0027]
Next, each process executed by the
[0028]
FIG. 7A shows performance data.
Even if the time rate data is changed, the value of
[0029]
[0030]
[Expression 1]
Conversely, the
[0031]
[Expression 2]
Since the time rate data is also a kind of performance data,
[0032]
The
[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
[0035]
As shown in FIG. 1, when the
[0036]
The
[0037]
In addition, when the
[0038]
In the time rate editing process, the
[0039]
[Equation 3]
[0040]
[Expression 4]
FIG. 3 is a flowchart showing the time rate editing process. When the
[0041]
As described above, in the vertical scale of the time rate data display
[0042]
In the time rate editing process, first, initial values of the pointer 4a,
[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 “
[0044]
After that, for the next data update, the pointer 4a is updated to the position indicating the last time rate data in the
[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
[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
[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
[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
[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
[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
[0057]
FIG. 5 is a flowchart showing the time rate “0” deletion process. When the
[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
[0059]
Next, in the deleted
[0060]
As a result of the above processes, the data of the
[0061]
FIG. 6 is a flowchart showing the automatic performance process. When the
[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”
[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
[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
[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
[0070]
FIG. 8A shows the performance data of FIG. 7A after the time rate data in the range where
[0071]
FIG. 9A is a configuration diagram of the performance data after the pitch data in the range where
[0072]
FIG. 10A shows the time rate data in the range of “clock greater than 20 and less than 100 (
[0073]
Specifically, the data of which the
Therefore, data with
[0074]
Note that the data with the
[0075]
FIG. 11A shows the performance data after inserting the time rate “0” section in which the length (width) of the
[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
[0077]
At the position where the
[0078]
At the position where the
[0079]
Further, in order to prevent the
As a result, the pitch data is inserted into the positions of “52” and “72” of
[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
[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
[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
[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
FIG. 8A shows the performance data of FIG. 7A after the time rate data in the range where
9A is a configuration diagram of performance data after the pitch data in the range where
10A shows time rate data in a range where
FIG. 11A shows the performance data of FIG. 10A after insertion of a
[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.
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)
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 |
-
2003
- 2003-01-14 JP JP2003005461A patent/JP4108487B2/en not_active Expired - Fee Related
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 |