JPH1039862A - Playing data editor - Google Patents

Playing data editor

Info

Publication number
JPH1039862A
JPH1039862A JP8190231A JP19023196A JPH1039862A JP H1039862 A JPH1039862 A JP H1039862A JP 8190231 A JP8190231 A JP 8190231A JP 19023196 A JP19023196 A JP 19023196A JP H1039862 A JPH1039862 A JP H1039862A
Authority
JP
Japan
Prior art keywords
record
range
note
performance data
destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP8190231A
Other languages
Japanese (ja)
Other versions
JP3604513B2 (en
Inventor
Tatsuya Senoo
達也 妹尾
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 JP19023196A priority Critical patent/JP3604513B2/en
Publication of JPH1039862A publication Critical patent/JPH1039862A/en
Application granted granted Critical
Publication of JP3604513B2 publication Critical patent/JP3604513B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

PROBLEM TO BE SOLVED: To arbitrarily shift playing patterns and to obtain the playing patterns of a variety of motif by cyclically shifting the time positions over the entire part of the playing data in the range set by a range setting means within the range set by the shift quantity set by a shift quantity setting means, thereby editing the playing data. SOLUTION: The range of the playing data (a) is set by the range setting means as the range to be processed. When the respective notes of the playing data are desired to be shifted, for example, in a forward direction by one beat over the entire part, this one beat is assigned as the shift quantity by the shift quantity setting means. The setting of the shift quantity may be executed by a note length, by the number of clocks or by the time as well. The editing means edits the playing data by shifting the playing data in the forward direction by one beat (b) and bringing the note protruding from this range, 'Do', in this example, to the last of the playing data (c) to rotate as a result of such shift.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、自動演奏装置で用
いる演奏データを編集する演奏データ編集装置に係り、
さらに詳しくは演奏データの演奏タイミングを時間的に
前後にずらすように編集する演奏データ編集装置に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a performance data editing device for editing performance data used in an automatic performance device.
More specifically, the present invention relates to a performance data editing device that edits the performance timing of performance data so as to be shifted back and forth in time.

【0002】[0002]

【従来の技術】従来、自動演奏装置では、2〜4小節程
度の演奏パターン(シーケンス・データ)を複数作成し
ておいて、これらを適宜組み合わせて所望の曲想の演奏
を行うことが行われている。これらの演奏パターンが繰
返しパターンからなる場合などには、そのパターンの位
相をずらすことで、曲想の違った演奏パターンにするこ
とができる。これは「クロック・シフト」と称される、
指定した範囲のデータを前後どちらかにずらすという機
能であるが、ずらした結果、はみ出した区間のデータは
通常廃棄されてしまう。
2. Description of the Related Art Conventionally, in an automatic performance apparatus, a plurality of performance patterns (sequence data) of about 2 to 4 bars are created, and these are appropriately combined to perform a desired tune. I have. In the case where these performance patterns are composed of repetitive patterns, by shifting the phases of the patterns, it is possible to obtain performance patterns with different musical ideas. This is called a "clock shift"
This function shifts the data in the specified range to the front or back, but as a result, the data in the protruding section is usually discarded.

【0003】例えば図9(a)に示されるように、演奏
パターンとして「ド,ミ,ソ,ミ,ド,ミ、ソ,ミ」と
いう2小節のシーケンス・データに対して手前側に1拍
分クロックシフトを行うと、図9(b)に示されるよう
に、先頭の「ド」が範囲外にはみ出してしまうため廃棄
されて音が消え、また第2小節の第4拍は空白となって
しまう。
For example, as shown in FIG. 9A, a two-measure sequence data of "do, mi, so, mi, do, mi, so, mi" as a performance pattern is one beat forward. When the minute clock shift is performed, as shown in FIG. 9 (b), the leading “do” protrudes out of the range and is discarded, the sound disappears, and the fourth beat of the second bar becomes blank. Would.

【0004】本発明はかかる問題点に鑑みてなされたも
のであり、その目的とするところは、一つの演奏パター
ンを任意にシフトさせることで種々の曲想の演奏パター
ンを得ることができるようにすることにある。
SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned problems, and an object of the present invention is to make it possible to obtain a variety of musical performance patterns by arbitrarily shifting one performance pattern. It is in.

【0005】[0005]

【課題を解決するための手段】上述の課題を解決するた
めに、本発明に係る演奏データ編集装置は、演奏データ
を記憶する記憶手段と、該記憶手段の演奏データのうち
の処理対象とする範囲を設定する範囲設定手段と、演奏
データが演奏される時の時間的位置をずらすシフト量を
設定するシフト量設定手段と、該範囲設定手段で設定さ
れた範囲の演奏データの全体を、該シフト量設定手段で
設定されたシフト量だけ該設定された範囲のなかで時間
的位置を循環的にシフトさせて演奏データを編集する編
集手段とを備える。
In order to solve the above-mentioned problems, a performance data editing apparatus according to the present invention has a storage means for storing performance data, and a processing target among the performance data in the storage means. Range setting means for setting a range, shift amount setting means for setting a shift amount for shifting a time position when performance data is played, and entire performance data in the range set by the range setting means. Editing means for editing the performance data by cyclically shifting the temporal position within the set range by the shift amount set by the shift amount setting means.

【0006】上記の編集手段は、該範囲設定手段で設定
された範囲にある演奏データの各ノートに対して該シフ
ト量設定手段で指定されたシフト量だけシフトさせた移
動先を計算する第1の移動先計算手段と、該第1の移動
先計算手段で計算した移動先が該範囲設定手段で設定し
た範囲の外に出たノートに対して、該範囲から外れた量
に基づき該移動先が該範囲に入るよう該移動先を計算し
直す第2の移動先計算手段とを備え、該第1の移動先計
算手段の計算結果と該第2の移動先計算手段の計算結果
に基づいて演奏データを編集するように構成することが
できる。
[0006] The editing means calculates a destination to which each note of the performance data in the range set by the range setting means is shifted by the shift amount designated by the shift amount setting means. Destination calculating means, and for a note whose moving destination calculated by the first moving destination calculating means is out of the range set by the range setting means, based on the amount out of the range, Comprises a second destination calculation means for recalculating the destination so that the value falls within the range, based on a calculation result of the first destination calculation means and a calculation result of the second destination calculation means. It can be configured to edit performance data.

【0007】[0007]

【作用】例えば図1(a)のような演奏データがあると
き、この演奏データの範囲を処理対象の範囲として範囲
設定手段で設定する。そして演奏データの各ノートを全
体に例えば1拍分前方向にシフトさせたいときには、シ
フト量設定手段でシフト量としてこの1拍を指定する。
このシフト量の設定は音符長によっても、クロック数に
よっても、あるいは時間によってもよい。編集手段は、
演奏データ図1(b)に示されるように演奏データを1
拍分前方向にシフトさせるとともに、そのシフトの結
果、範囲からはみ出したノート、この例では「ド」につ
いては図1(c)に示されるように演奏データの最後尾
にもっていくようローテートさせて演奏データを編集す
る。なお、後ろ方向にシフトさせた場合には後ろ側から
はみ出したノートは演奏データの先頭にもっていく。
When there is performance data, for example, as shown in FIG. 1A, the range of the performance data is set by the range setting means as the range to be processed. Then, when it is desired to shift each note of the performance data by, for example, one beat forward in the whole, the one beat is designated as the shift amount by the shift amount setting means.
The setting of the shift amount may be based on the note length, the number of clocks, or the time. Editing means
Performance data As shown in FIG.
A note shifted out of the range as a result of the shift is shifted forward by a beat, and in this example, "do" is rotated so as to be brought to the end of the performance data as shown in FIG. 1 (c). Edit performance data. Note that when shifted backward, notes that run off the rear side are brought to the beginning of the performance data.

【0008】[0008]

【発明の実施の形態】以下、図面を参照して本発明の実
施例を説明する。図2は本発明の一実施例としての演奏
データ編集装置が搭載された自動演奏装置の構成を示す
図である。図2において、CPU1は装置全体の制御を
司る中央処理装置であり、ROM3に記憶されたプログ
ラムに従って音源6を制御したり、RAM2に記憶され
たシーケンス・データを編集したりする。RAM2は鍵
盤7などにより入力される演奏情報をシーケンス・デー
タとして記憶するランダム・アクセス・メモリである。
ROM3はCPU1が実行するプログラムが格納されて
いるリード・オンリー・メモリである。MIDI I/
F4は外部の鍵盤、音源などとMIDIメッセージをや
り取りするためのインタフェース部である。操作パネル
5は本装置の動作を切り換えるモードスイッチ、シーケ
ンス・データの編集に使用される各種スイッチ、そして
シーケンス・データなどを表示する表示器などからな
る。音源6はCPU1の制御により発音指令、音色指定
を受けて楽音を発生する回路である。鍵盤7は演奏情報
を入力する装置である。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 2 is a diagram showing a configuration of an automatic performance device equipped with a performance data editing device as one embodiment of the present invention. In FIG. 2, a CPU 1 is a central processing unit that controls the entire apparatus, and controls a sound source 6 according to a program stored in a ROM 3 and edits sequence data stored in a RAM 2. The RAM 2 is a random access memory that stores performance information input from the keyboard 7 or the like as sequence data.
The ROM 3 is a read-only memory in which a program executed by the CPU 1 is stored. MIDI I /
F4 is an interface for exchanging MIDI messages with external keyboards, sound sources, and the like. The operation panel 5 includes a mode switch for switching the operation of the apparatus, various switches used for editing sequence data, and a display for displaying sequence data and the like. The sound source 6 is a circuit for generating a musical tone upon receiving a sound generation command and a tone color designation under the control of the CPU 1. The keyboard 7 is a device for inputting performance information.

【0009】上記の操作パネル5の詳細な例が図3に示
される。この図3にはエディット時の表示器の表示画面
とエディット操作に係わる操作子が示されている。表示
画面51は演奏データ(シーケンス・データ)のエディ
ット、特に、演奏データの時間情報を指定範囲(何小節
目〜何小節目という範囲)内で循環的にシフトする「ロ
ーテートシフト」を行う際に表示される画面の例であ
る。同画面中、表示領域51aにはエディットの種類が
表示される。表示領域51b,51cはエディットする
範囲を小節単位で指定する部分で、図3の例では1小節
目から5小節目、すなわち1小節目から5小節目の範囲
が指定されている。表示領域51dはシフト(移動)す
る時間をクロック単位で指定する部分であり、表示領域
51eはカーソルであって、どの値を入力するかを示
す。
A detailed example of the operation panel 5 is shown in FIG. FIG. 3 shows the display screen of the display unit at the time of editing and the controls related to the editing operation. The display screen 51 is used for editing performance data (sequence data), in particular, when performing “rotate shift” in which time information of performance data is cyclically shifted within a specified range (a range from a measure to a measure). It is an example of the screen displayed. In the screen, the type of edit is displayed in the display area 51a. The display areas 51b and 51c are portions for specifying a range to be edited in bar units. In the example of FIG. 3, the range from the first bar to the fifth bar, that is, the range from the first bar to the fifth bar is specified. The display area 51d is a part for specifying a shift (moving) time in clock units, and the display area 51e is a cursor and indicates which value is to be input.

【0010】ダイアル52は数値変更のダイアルであ
り、現在のカーソル位置のデータを修正するときに用い
る。カーソル移動キー53は表示画面に表示されたカー
ソル51eを移動させるのに用いる。実行キー54は指
定された各値に基づいて実際のシーケンス・データの修
正を行うのに用いる。
A dial 52 is a dial for changing a numerical value, and is used to correct data at the current cursor position. The cursor movement key 53 is used to move the cursor 51e displayed on the display screen. The execute key 54 is used to correct the actual sequence data based on each specified value.

【0011】次に、この実施例の自動演奏装置で用いる
シーケンス・データ中のレコードのデータ・フォーマッ
トについて説明する。図4はノート・レコード、すなわ
ち一つの音を発音するためのレコードのフォーマットの
一例を示す図である。この実施例で使用するシーケンス
・データは、1レコードが8バイトで構成されるレコー
ドの集合(レコード列)である。レコードの第1バイト
(step)はステップと称されるもので、次のレコードまで
のクロック数を表し、これで時間間隔を表現する。第2
バイト(opcode)はオペ・コードと称されるもので、レコ
ードそのものが何であるかを表し、例えばノート, ピッ
チ・ベンドなどそれぞれを表すコードが決められてい
る。第3バイト(ch)はMIDIチャンネルを表し、第4
バイト(flags) はエディット処理を行う際に一時的に用
いるフラグ群であり、この中には当該レコードの処理を
終えたか否かを表す処理済フラグが含まれる。
Next, the data format of a record in the sequence data used in the automatic performance device of this embodiment will be described. FIG. 4 is a diagram showing an example of the format of a note record, that is, a record for generating one sound. The sequence data used in this embodiment is a set (record sequence) of records in which one record is composed of 8 bytes. First byte of record
(step) is called a step, and represents the number of clocks up to the next record, and represents a time interval. Second
The byte (opcode) is called an operation code, and represents what the record itself is, for example, a code representing each of a note, a pitch bend, and the like. The third byte (ch) represents the MIDI channel, and the fourth byte (ch)
The bytes (flags) are a group of flags that are temporarily used when performing the edit processing, and include a processed flag indicating whether or not the processing of the record has been completed.

【0012】第5バイトから第8バイトは第2バイトの
コードによって意味が異なる。ここでは、第2バイトが
ノートの場合のみを説明する。ノートを表すレコードで
ある場合、第5バイト(on-vel)はオン・ベロシティー、
第6バイト(off-vel) はオフ・ベロシティー、第7およ
び第8バイト(gate time) は2バイトでこのノートの長
さ、つまりゲート・タイムを表す。このように、ここで
用いるノート・レコードは、ノート・オンとノート・オ
フとが一つのレコードで表されるタイプのものである。
従って、あるノートを削除したり移動させたりする処理
を行う場合、対象の1レコードについてのみ処理すれば
良く、ノート・オンとノート・オフとを別個に処理する
必要がない。
The meaning of the fifth to eighth bytes differs depending on the code of the second byte. Here, only the case where the second byte is a note will be described. If the record represents a note, the fifth byte (on-vel) is on velocity,
The sixth byte (off-vel) is off-velocity, and the seventh and eighth bytes (gate time) are two bytes indicating the length of this note, that is, the gate time. Thus, the note record used here is of a type in which note-on and note-off are represented by one record.
Therefore, when performing a process of deleting or moving a certain note, it is sufficient to process only one target record, and it is not necessary to separately process note-on and note-off.

【0013】以下、本実施例装置の動作を図5と図6を
参照して説明する。この図5と図6は実施例装置で実行
されるローテートシフトに係わるエディット処理を示す
フローチャートである。本実施例装置では、このエディ
ット処理を行うために、データ・メモリ管理システムを
用いる。このデータ・メモリ管理システムは、上記のフ
ォーマットのデータを管理するシステムの上に構築す
る。これは、データの挿入・削除などが容易に行えるよ
うに作られたシステムで、レコードの挿入や削除に伴っ
て起こるレコードの順序管理や、ステップ(step)の書換
えなどの時間管理をしたり、指定したクロック位置に読
出し・書込みポインタを移動するなどの機能を備えてい
る。
The operation of this embodiment will be described below with reference to FIGS. FIGS. 5 and 6 are flowcharts showing the edit processing related to the rotate shift executed in the apparatus of the embodiment. In the present embodiment, a data memory management system is used to perform this editing process. This data memory management system is built on a system that manages data in the above format. This is a system designed to make it easy to insert and delete data.It manages the order of records that occurs with the insertion and deletion of records, and manages time such as rewriting steps, It has functions such as moving a read / write pointer to a designated clock position.

【0014】以下、このデータ・メモリ管理システムに
おけるシステム・コールについて詳細に説明する。
Hereinafter, a system call in the data memory management system will be described in detail.

【0015】ポインタ移動コール シーケンス・データ中のレコードの列の先頭から、各レ
コードのステップ(step)の値を順次に加算しながら読み
進め、指定したクロック位置に達すると、そこで処理を
やめ、結果的にポインタが、指定したクロック位置のレ
コードを指すように移動する。
Pointer move call [0015] From the beginning of the row of records in the sequence data, reading is performed while sequentially adding the value of the step of each record. When the specified clock position is reached, processing is stopped there. The pointer moves to point to the record at the specified clock position.

【0016】なお、指定したクロック位置に対応するレ
コードがない場合、そのクロック位置以降で最寄りのレ
コードを指すようにポインタを移動する。そして、移動
後のポインタが指すレコードのクロック位置を取得す
る。
If there is no record corresponding to the specified clock position, the pointer is moved so as to point to the nearest record after the clock position. Then, the clock position of the record indicated by the moved pointer is obtained.

【0017】レコード読出しコール 現在、ポインタが指しているレコードの内容を読み出
す。
Record read call Reads the contents of the record currently pointed to by the pointer.

【0018】レコード挿入コール 指定したクロック位置に新しい8バイトのレコードを挿
入する。挿入する時、前後のレコードのステップ(step)
および自身のレコードのステップ(step)を調整し、シー
ケンス・データ全体のステップ(step)の総和が変わらな
いようにする。
Record Insert Call Inserts a new 8-byte record at a specified clock position. When inserting, step before and after the record (step)
And the step of the own record is adjusted so that the total sum of the steps of the entire sequence data does not change.

【0019】例えば、図7(a)に示すようなレコード
列があったときに、図7(b)に示すように、第115
0クロック目を指定して新たなレコード(.. xx xx xx
xx xx xx xx)を挿入する。具体的には、第1120クロ
ック目と第1220クロック目の間にこの新たなレコー
ドを挿入し、第1120クロック目のレコードのステッ
プ(step)の値を新たに挿入したレコードが第1120ク
ロック目から30クロック離れていることを示す「3
0」にし、新たに挿入したレコードのステップ(step)の
値を次の第1220クロック目のレコードが第1150
クロック目から70クロック離れていることを示す「7
0」にする。また、図7(c)に示すように、既に第1
150クロックにレコードが存在するときは、同一クロ
ック上のレコードの最後のレコードの次に挿入され、そ
れに応じてステップ(step)の値が書き直される。
For example, when there is a record sequence as shown in FIG. 7A, as shown in FIG.
Specify a 0th clock and specify a new record (.. xx xx xx
xx xx xx xx). Specifically, this new record is inserted between the 1120th clock and the 1220th clock, and the record into which the value of the step of the record at the 1120th clock is newly inserted starts from the 1120th clock. "3" indicating that the clock is 30 clocks away
0 ", and the value of the step of the newly inserted record is set to 1150
"7" indicating that it is 70 clocks away from the clock
0 ". In addition, as shown in FIG.
If a record exists at 150 clocks, it is inserted next to the last record on the same clock, and the value of the step is rewritten accordingly.

【0020】なお、このレコード挿入コールにより挿入
されたレコード以降のレコードが後ろにずれ、ポインタ
が指すレコードが従来指していたレコードと異なる場合
があるが、この場合は、従来指していたレコードを指す
ようポインタを移動する。
Note that the record after the record inserted by this record insertion call may be shifted backward, and the record pointed to by the pointer may be different from the record pointed to in the past. In this case, the record pointed to in the past is indicated. So move the pointer.

【0021】レコード削除コール ポインタ移動コールや後述のポインタ歩進コールなど
で、ポインタを所望の位置に移動させた後、このコール
を使う。現在、ポインタが指しているレコードのオペ・
コード (opcode) をNOP(NO Operation)に書き換え
る。この書換えにより当該レコードを無効にする。な
お、オペ・コードをNOPに書き換えられたレコード
は、後述のレコード消去コールにてレコードそのものが
消去される。
Record delete call This call is used after the pointer is moved to a desired position by a pointer move call or a pointer increment call which will be described later. Currently, the operation of the record pointed to by the pointer
Rewrite the code (opcode) to NOP (NO Operation). This rewrite invalidates the record. The record in which the operation code is rewritten to NOP is deleted by a record deletion call described later.

【0022】ポインタ歩進コール ポインタを、次のレコードを指すように進めるととも
に、新しく指すことになったレコードのクロック位置を
取得する。例えば、従来、ポインタが指していたレコー
ドのクロック位置が第1000クロックで、そのレコー
ドのステップ(step)の値が120クロックの場合、ポ
インタが新しく指すことになったレコードのクロック位
置として第1120クロックを取得する。
The pointer increment call pointer is advanced to point to the next record, and the clock position of the record to be newly pointed is acquired. For example, conventionally, when the clock position of the record pointed to by the pointer is the 1000th clock and the value of the step of the record is 120 clocks, the clock position of the record newly pointed to by the pointer is the 1120th clock. To get.

【0023】レコード消去コール レコード削除コールによりオペ・コードをNOPに書き
換えられたレコードをレコード列から順次に検出し、全
て消去する。レコードを消去するとき、消去後のレコー
ド列のステップの総和が変わらないように、前後のステ
ップ (step) を調節する。例えば、図7(d)に示すレ
コード列があったとき、オペ・コードがNOPである第
1120クロック目のレコードを検出し、図7(e)に
示すように、このレコードを消去するとともに、第10
00クロック目のレコードのステップ (step) の値を、
第1220クロック目のレコードが第1000クロック
目のレコードから220クロック離れていることを示す
「220」にする。このような処理を繰り返すことで、
オペ・コードがNOPであるレコードを全て消去する。
Record Delete Call Records whose operation code has been rewritten to NOP by the record delete call are sequentially detected from the record sequence and all are deleted. When deleting records, adjust the steps before and after so that the total sum of the steps in the deleted record sequence does not change. For example, when there is a record sequence shown in FIG. 7D, a record at the 1120th clock whose operation code is NOP is detected, and as shown in FIG. Tenth
The value of the step (step) of the record of the 00th clock is
The record at the 1220th clock is set to “220” indicating that it is 220 clocks away from the record at the 1000th clock. By repeating such processing,
Erase all records whose operation code is NOP.

【0024】次に、上記のデータ・フォーマットとデー
タ・メモリ管理システムのシステム・コールを使用し
て、図5と図6に示すエディット処理の具体的な処理手
順を説明する。
Next, a specific processing procedure of the edit processing shown in FIGS. 5 and 6 will be described using the data format and the system call of the data memory management system.

【0025】まず、これから処理しようとする演奏パタ
ーンのレコード列(シーケンス・データ)を、データ・
メモリ管理システムに格納する。このレコード列はフロ
ッピィ・ディスク装置から読み込んでもよいし、リアル
タイム・レコーディング機能やステップ・レコーディン
グ機能で入力してもよい。
First, a record sequence (sequence data) of a performance pattern to be processed is stored in a data
Store in the memory management system. This record sequence may be read from a floppy disk device, or may be input by a real-time recording function or a step recording function.

【0026】このエディット処理を行うためのパラメー
タは、処理範囲の先頭クロック位置CSTART 、処理範囲
の終端クロック位置CEND (但し、CEND そのものは処
理範囲外にある)、ローテート(移動)するクロック数
BIAS(正の数なら小節中の各ノートを小節の後ろ方向
へ、負の数なら手前方向へ動かすという意味となる)、
処理対象のデータ絞り込み条件(ノート範囲、オペ・コ
ードの種類の制限あるいはチャンネルの指定など)の4
種類であり、これらは図3に示す操作パネルでのパネル
操作により、ユーザにより設定される(ステップS
0)。
The parameters for performing this editing process are the start clock position C START of the processing range, the end clock position C END of the processing range (however, C END itself is outside the processing range), and the rotating clock. The number C BIAS (a positive number means move each note in the bar backwards, a negative number means a forward move)
4 of conditions for narrowing down the data to be processed (note range, restrictions on the type of operation code, or designation of channel)
These are set by the user through a panel operation on the operation panel shown in FIG. 3 (step S
0).

【0027】パネル操作によって処理の実行が指示され
ると、まず各レコードに含まれる処理済フラグをすべて
クリアすることにより初期化する(ステップS1)。こ
の処理済フラグは、当該レコードが既にシフト処理を施
されたか否かを表すものであり、同じレコードが重複し
て処理されることを防ぐためにある。そして、現在処理
中のクロックを表す変数である処理中クロック位置C
SRC に先頭クロック位置CSTART を代入し(ステップS
2)、この処理中クロック位置CSRC を与えてポインタ
移動コールを行って、ポインタを、処理中クロック位置
SRC (=CSTAR T )のレコードもしくは処理中クロッ
ク位置CSRC 以降の先頭のレコードを指すように移動さ
せるとともに、そのレコードのクロック位置に処理中ク
ロック位置CSRC を取得することで処理中クロック位置
SRC を更新する(ステップS3)。これは、図1の例
でいえば、演奏パターン「ド,ミ,ソ,ミ,ド,ミ,
ソ,ミ」の先頭の「ド」をローテートシフトする場合
に、先頭の「ド」の位置にポインタを移動させる処理に
なる。
When the execution of the processing is instructed by the panel operation, the processing is initialized by first clearing all the processed flags included in each record (step S1). This processed flag indicates whether or not the record has already been subjected to the shift processing, and is to prevent the same record from being processed redundantly. Then, the processing clock position C which is a variable representing the clock currently being processed.
Substitute the start clock position C START for SRC (step S
2), a pointer move call is performed by giving the processing clock position C SRC and the pointer is moved to the record of the processing clock position C SRC (= C STAR T ) or the first record after the processing clock position C SRC. It is moved to point, to update the processing in the clock position C SRC by acquiring processing in the clock position C SRC clock position of the record (step S3). This corresponds to the performance pattern “do, mi, so, mi, do, mi,
In the case where the first "do" of "so, mi" is rotated and shifted, the pointer is moved to the position of the first "do".

【0028】ここから先の処理は、処理中クロック位置
SRC が終端クロック位置CEND に達するか超えるまで
繰り返すので、CSRC <CEND の判定を行い(ステップ
S4)、YESであればステップS5以降に、NOであ
れば後述するレコード消去コールを行った後(ステップ
S16)、処理を終了する。これは図1の例では、先頭
の「ド」以降のノートに対してステップS5以降の処理
を順次に行うことに相当する。
Since the subsequent processing is repeated until the processing clock position C SRC reaches or exceeds the terminal clock position C END , it is determined that C SRC <C END (step S4), and if YES, step S5 is performed. Thereafter, if NO, a record erasure call described later is performed (step S16), and the process ends. In the example of FIG. 1, this corresponds to sequentially performing the processing of step S5 and subsequent steps on the note after the leading “do”.

【0029】まず、データ読出コールを使って、現在ポ
インタが指しているレコードを読み出す(ステップS
5)。読み出したデータは手元レコードとして保持して
おく。これは、図1の例では最初の処理ループで先頭の
「ド」のレコード(以降、処理ループが繰り返される毎
に「ド」以降のノートのレコード)を読み出し保持して
おく処理に相当する。
First, the record currently pointed to by the pointer is read using the data read call (step S).
5). The read data is stored as a record at hand. In the example of FIG. 1, this corresponds to a process of reading out and holding the record of the first "do" in the first processing loop (hereinafter, the record of the note after the "do" every time the processing loop is repeated).

【0030】この読み出したレコードのオペ・コード(o
pcode)および処理済フラグを調べて、このレコードが処
理対象であるかどうかを判断し (ステップS6) 、処理
対象であればレコード削除コールを使ってデータ・メモ
リ管理システム内の当該レコードを削除する (ステップ
S7) 。これは、図1の例では、演奏パターンのレコー
ド列から先頭の「ド」のレコードを削除する処理にな
る。処理対象でなければ以下のローテートシフト処理は
行わずにステップS15に飛ぶ。この処理対象でないレ
コードには、指定されたノート範囲外のもの、オペ・コ
ードが違うもの、チャンネルが違うものの他、後述する
ようにローテートシフト処理が既に行われてしまったレ
コード(処理済フラグがセットされたレコード)が含ま
れる。
The operation code (o
By examining the pcode) and the processed flag, it is determined whether or not this record is to be processed (step S6). If the record is to be processed, the record in the data memory management system is deleted using a record delete call. (Step S7). In the example of FIG. 1, this is a process of deleting the record of the leading "do" from the record sequence of the performance pattern. If not, the process jumps to step S15 without performing the following rotate shift process. Records that are not subject to this processing include those that are outside the specified note range, those that have different opcodes, those that have different channels, and those that have already undergone rotate shift processing (the processing completion flag Set records).

【0031】その後、手元に読み出しているレコードの
移動先を求める(ステップS8)。移動先のクロック位
置CDST はCDST =CSRC +CBIASで求めることができ
る。これは、例えば図1の例では、演奏パターンを1拍
分前方向にローテートシフトする場合には、CBIASはこ
の1拍に相当するクロック数である。
Thereafter, the destination of the record that has been read at hand is obtained (step S8). The destination clock position C DST can be obtained by C DST = C SRC + C BIAS . For example, in the example of FIG. 1, when the performance pattern is rotated and shifted forward by one beat, CBIAS is the number of clocks corresponding to this one beat.

【0032】ここで、上記のようにして求めた移動先ク
ロック位置が、 (1)CDST <CSTART であれば、CDST =CEND
(CSTART −CDST )と計算し直す(ステップS9、S
10)。これは、図1の例でいえば、演奏パターンのロ
ーテートシフトを小節の前方向に1拍分した場合に、先
頭の「ド」の移動先が第1小節の前に出てしまったの
で、第2小節の第4拍目になるよう計算し直す処理に相
当する。
Here, the destination clock position obtained as described above is: (1) If C DST <C START , C DST = C END
(C START -C DST ) and recalculate (steps S9, S
10). This is because, in the example of FIG. 1, when the rotate shift of the performance pattern is shifted by one beat in the forward direction of the measure, the moving destination of the leading "do" comes out before the first measure. This corresponds to a process of recalculating the fourth beat of the second bar.

【0033】(2)CDST ≧CEND であれば、CDST
START +(CDST −CEND )を計算し直す(ステップ
S11、S12)。これは、図1の例でいえば、演奏パ
ターンのローテートシフトを小節の後ろ方向に1拍分し
た場合に、最後尾の「ミ」の移動先が第2小節の後ろ外
側に出てしまったので、第1小節の第1拍目になるよう
計算し直す処理に相当する。
(2) If C DST ≧ C END , C DST =
C START + (C DST −C END ) is recalculated (steps S11 and S12). In the example of FIG. 1, when the rotate shift of the performance pattern is shifted by one beat in the backward direction of the measure, the moving destination of the last “mi” appears outside the second measure. Therefore, this corresponds to the process of recalculating the first beat of the first bar.

【0034】そして、これまでに求めた移動先クロック
位置CDST と手元に読み出しているレコードとを与え
て、データ挿入コール(ma-ins)を行う(ステップS1
4)。これは、図1の例でいえば、先頭の「ド」を第2
小節の第4拍に、あるいは2番目以降のノートをそれぞ
れ1拍前の拍位置に挿入する処理に相当する。なお、デ
ータ挿入コール(ma-ins)で挿入する際には、手元に読み
出しているレコードの処理済フラグをセットすることに
より処理済マークを付けてから挿入し(ステップS1
3)、ステップS6においてこのレコードが再び処理対
象とならないようにする。
Then, the data insertion call (ma-ins) is performed by giving the destination clock position C DST obtained so far and the record that is being read at hand (step S1).
4). This means that, in the example of FIG.
This corresponds to a process of inserting the note on the fourth beat of the measure or the note after the second at the beat position one beat before. When the data is inserted by the data insertion call (ma-ins), the processed flag is set by setting the processed flag of the record being read, and then the record is inserted (step S1).
3) In step S6, this record is not processed again.

【0035】次に、ポインタ歩進コールを行い、ポイン
タを、次のレコードを指すよう歩進させるとともに、新
しく示すことになったレコードのクロック位置を処理中
クロック位置CSRC に取得して、処理中クロック位置C
SRC を更新する(ステップS15)。これは次に処理す
るレコードの読出しの準備のためである。ここまでの処
理を、処理中クロック位置CSRC が終端クロック位置C
END に達するか超えるまで繰り返す(ステップS4)。
ステップS4にて、CSRC <CEND がNOと判定される
と、レコード消去コールを行い、レコード削除コールに
より無効にされたレコード(オペ・コードがNOPに書
き換えられたレコード)を一斉に消去する(ステップS
16)。
Next, a pointer increment call is performed, the pointer is incremented to point to the next record, and the clock position of the record to be newly indicated is acquired in the processing clock position C SRC , and the processing is performed. Middle clock position C
The SRC is updated (step S15). This is to prepare for reading out the record to be processed next. The processing up to this point is performed by setting the processing clock position C SRC to the terminal clock position C.
Repeat until END is reached or exceeded (step S4).
If it is determined in step S4 that C SRC <C END is NO, a record delete call is made, and records invalidated by the record delete call (records whose operation code has been rewritten to NOP) are deleted all at once. (Step S
16).

【0036】本発明の実施にあたっては種々の変形形態
が可能である。例えば上述の実施例では、処理対象のシ
ーケンス・データのレコードを、一つのレコードで一つ
のノートのノートオンとノートオフの情報を共に含むフ
ォーマットのものとしたが、本発明はこれに限られるも
のではなく、例えば図8に示されるように、MIDIデ
ータのようにノートオンとノートオフがそれぞれ別々の
レコードとなっているものであってもよい。この場合に
は、ノートオンのレコードについて処理をするときに
は、必ず対応するノートオフのレコードも見つけて一緒
に処理すればよい。消去する場合やトランスポーズの場
合も同様である。クロックローテートの処理において
は、処理対象のノートオンのレコードを見つけたときに
行う処理を行った後、対応するノートオフのレコードを
探してそれについても同じ処理を施す。つまりノートオ
ンもノートオフも同じルールで移動させればよい。対応
するノートオフのレコードの見つけ方は、ノート番号、
チャンネルの全て若しくは一部がノートオンのレコード
と同じものであることを手掛かりとすればよい。
In implementing the present invention, various modifications are possible. For example, in the above-described embodiment, the record of the sequence data to be processed is in a format including both note-on and note-off information of one note in one record, but the present invention is not limited to this. Instead, for example, as shown in FIG. 8, note-on and note-off may be separate records like MIDI data. In this case, when processing a note-on record, the corresponding note-off record may always be found and processed together. The same applies to erasing and transposing. In the clock rotation process, after performing a process performed when a note-on record to be processed is found, a corresponding note-off record is searched for, and the same process is performed on the record. In other words, note-on and note-off may be moved according to the same rule. To find the corresponding note-off record, note number,
The clue may be that all or part of the channel is the same as the note-on record.

【0037】[0037]

【発明の効果】以上に発明したように、本発明によれ
ば、一つの演奏パターンを任意にシフトさせることで種
々の曲想の演奏パターンを容易に得ることができるよう
になる。
As described above, according to the present invention, it is possible to easily obtain performance patterns of various musical ideas by arbitrarily shifting one performance pattern.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の基本的な原理を説明する図である。FIG. 1 is a diagram illustrating a basic principle of the present invention.

【図2】本発明の一実施例としての演奏データ編集装置
を搭載した自動演奏装置の構成を示す図である。
FIG. 2 is a diagram showing a configuration of an automatic performance device equipped with a performance data editing device as one embodiment of the present invention.

【図3】実施例装置の操作パネルの例を示す図である。FIG. 3 is a diagram illustrating an example of an operation panel of the embodiment device.

【図4】実施例装置で用いるレコードのデータ・フォー
マットの例を示す図である。
FIG. 4 is a diagram illustrating an example of a data format of a record used in the embodiment device.

【図5】実施例装置で行うローテートシフトに係わるエ
ディット処理(1/2)の手順を示すフローチャートで
ある。
FIG. 5 is a flowchart illustrating a procedure of an edit process (1/2) related to a rotate shift performed by the apparatus according to the embodiment.

【図6】実施例装置で行うローテートシフトに係わるエ
ディット処理(2/2)の手順を示すフローチャートで
ある。
FIG. 6 is a flowchart illustrating a procedure of an edit process (2/2) related to a rotate shift performed by the apparatus according to the embodiment.

【図7】実施例装置における新たなレコードの挿入処理
を説明する図である。
FIG. 7 is a diagram illustrating a process of inserting a new record in the apparatus according to the embodiment.

【図8】取り扱うレコードの他の形式を説明する図であ
る。
FIG. 8 is a diagram illustrating another format of a record to be handled.

【図9】従来方式を説明する図である。FIG. 9 is a diagram illustrating a conventional method.

【符号の説明】[Explanation of symbols]

1 CPU 2 RAM 3 ROM 4 MIDI I/
F 5 操作パネル 6 音源 7 鍵盤 51 表示画面 52 ダイヤル 53 カーソル移動
キー 54 実行キー
1 CPU 2 RAM 3 ROM 4 MIDI I /
F 5 Operation panel 6 Sound source 7 Keyboard 51 Display screen 52 Dial 53 Cursor movement key 54 Execution key

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】演奏データを記憶する記憶手段と、 該記憶手段の演奏データのうちの処理対象とする範囲を
設定する範囲設定手段と、 演奏データが演奏される時の時間的位置を前後にずらす
シフト量を設定するシフト量設定手段と、 該範囲指定手段で設定された範囲の演奏データの全体
を、該シフト量設定手段で設定されたシフト量だけ該設
定された範囲のなかで時間的位置を循環的にシフトさせ
て演奏データを編集する編集手段とを備えた演奏データ
編集装置。
1. A storage means for storing performance data, a range setting means for setting a range to be processed among the performance data in the storage means, and a time position when the performance data is played back and forth. Shift amount setting means for setting a shift amount to be shifted; and the entire performance data in the range set by the range designating means is temporally shifted within the set range by the shift amount set by the shift amount setting means. Editing means for editing performance data by cyclically shifting the position.
【請求項2】該編集手段は、 該範囲設定手段で設定された範囲にある演奏データの各
ノートに対して該シフト量設定手段で設定されたシフト
量だけシフトさせた移動先を計算する第1の移動先計算
手段と、 該第1の移動先計算手段で計算した移動先が該範囲設定
手段で設定した範囲の外に出たノートに対して、該範囲
から外れた量に基づき該移動先が該範囲に入るよう該移
動先を計算し直す第2の移動先計算手段とを備え、 該第1の移動先計算手段の計算結果と該第2の移動先計
算手段の計算結果に基づいて演奏データを編集するよう
に構成された請求項1記載の演奏データ編集装置。
2. The method according to claim 1, wherein said editing means calculates a destination which is shifted by a shift amount set by said shift amount setting means with respect to each note of the performance data in the range set by said range setting means. (1) a destination calculation means, and for a note whose destination calculated by the first destination calculation means is out of the range set by the range setting means, based on an amount out of the range. Second destination calculation means for recalculating the destination so that the destination falls within the range, based on a calculation result of the first destination calculation means and a calculation result of the second destination calculation means. 2. The performance data editing device according to claim 1, wherein the performance data editing device is configured to edit the performance data.
JP19023196A 1996-07-19 1996-07-19 Performance data editing device Expired - Fee Related JP3604513B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19023196A JP3604513B2 (en) 1996-07-19 1996-07-19 Performance data editing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19023196A JP3604513B2 (en) 1996-07-19 1996-07-19 Performance data editing device

Publications (2)

Publication Number Publication Date
JPH1039862A true JPH1039862A (en) 1998-02-13
JP3604513B2 JP3604513B2 (en) 2004-12-22

Family

ID=16254679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19023196A Expired - Fee Related JP3604513B2 (en) 1996-07-19 1996-07-19 Performance data editing device

Country Status (1)

Country Link
JP (1) JP3604513B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140524A (en) * 2000-08-20 2002-05-17 Quants Research Kk Bond information providing system and stock investment game system
JP2010191102A (en) * 2009-02-17 2010-09-02 Kawai Musical Instr Mfg Co Ltd Tie editing device, method, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140524A (en) * 2000-08-20 2002-05-17 Quants Research Kk Bond information providing system and stock investment game system
JP2010191102A (en) * 2009-02-17 2010-09-02 Kawai Musical Instr Mfg Co Ltd Tie editing device, method, and program

Also Published As

Publication number Publication date
JP3604513B2 (en) 2004-12-22

Similar Documents

Publication Publication Date Title
JP2580720B2 (en) Automatic performance device
US6635816B2 (en) Editor for musical performance data
JP3593900B2 (en) Performance data editing device and recording medium
US4924745A (en) Automatic performance recording apparatus
JP3448928B2 (en) Music score recognition device
US5495072A (en) Automatic performance apparatus
JP3604513B2 (en) Performance data editing device
JPH0820872B2 (en) Waveform generator
US5220119A (en) Electronic musical instrument with playback and edit functions of performance data
US6414231B1 (en) Music score display apparatus with controlled exhibit of connective sign
JP3933156B2 (en) PERFORMANCE INFORMATION EDITING DEVICE, PERFORMANCE INFORMATION EDITING METHOD, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING A PERFORMANCE INFORMATION EDITING PROGRAM
US5756915A (en) Electronic musical instrument having a search function and a replace function
JP2940129B2 (en) Rhythm playing device
JP2776045B2 (en) Tone generator
JP3346187B2 (en) Performance data editing device and medium storing performance data editing program
JP3671417B2 (en) Waveform editing method and apparatus
JP2641851B2 (en) Automatic performance device
JP3533481B2 (en) Sequence data insertion processor
JPH07199927A (en) Automatic player
JP3794299B2 (en) Performance information editing apparatus and performance information editing program
JP2623054B2 (en) Performance information recording device
JP3489236B2 (en) Apparatus / method for sorting sequence data
JP2976942B2 (en) Karaoke apparatus, lyrics color changing data creating method, and karaoke data storage medium
JPS63192097A (en) Automatic performer
JP2643508B2 (en) Automatic instrument for electronic musical instruments

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040906

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040929

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20071008

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101008

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111008

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees