JP2508858C - - Google Patents

Info

Publication number
JP2508858C
JP2508858C JP2508858C JP 2508858 C JP2508858 C JP 2508858C JP 2508858 C JP2508858 C JP 2508858C
Authority
JP
Japan
Prior art keywords
tempo
data
switch
punch
song
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 - Lifetime
Application number
Other languages
Japanese (ja)
Publication date

Links

Description

【発明の詳細な説明】 (a)産業上の利用分野 この発明は、電子楽器等の演奏手順等の演奏データを時系列に記録し、これを
読み出すことができる演奏データ処理装置に関する。 (b)従来の技術 現在、演奏データの記録/再生装置であるシーケンサが実用化されている。シ
ーケンサには実際の演奏時に発生するような演奏データをそのまま記録すること
ができ、たとえば、テンポの変更等もそのまま記録することができる。これによ
って、記録された演奏データを再生した場合、実際と同じような演奏を再生する
ことができる。したがって、曲頭のみならず曲の途中にもテンポデータが記録さ
れることになるが、従来は、曲頭,曲途中にかかわらずそのテンポ値を直接デー
タとして記録するようにしていた(特開昭63−193194号等)。 (c)発明が解決しようとする課題 しかし、曲のテンポは全体としての統一が必要であるため、曲のテンポを早く
したり遅くしたりしようとする場合、全体のテンポを増減しなければならない。
この場合、上記従来のシーケンサでは曲中全てのテンポデータを書き換えなけれ
ばならなず、極めて手間が掛かり、どの程度増減するかの換算も面倒である欠点
があった。 そこで、それまでテンポから新たなテンポへ程度増減させるかの変更値を記憶
する方式も考えられるが、この方式では、曲が早送り等によって所定量の演奏デ
ータをジャンプしそこから再生する際に、その所定量の演奏データの中に所定量
ジャンプしたために読みだされないテンポデータも含まれていた場合にはテンポ
設定が全く不適切なものになってしまう欠点があった。 この発明は、曲頭からのテンポ増減率で記憶したことにより上記課題を解決し
た演奏データ処理装置を提供することを目的とする。 (d)課題を解決するための手段 この発明は、テンポデータを含む演奏データを記録し、記録された演奏データ
をそのテンポデータに基づく速度で読み出す演奏データ処理装置において、 現在のテンポ値に対するテンポの増加又は減少が自動演奏中に指定されたとき
に曲途中に記録されるテンポデータを、曲の最初のテンポデータである初期テン
ポ値からの増減率として算出し、これを自動演奏中にリアルタイムで記録する手
段を設けたことを特徴とする。 (e)発明の作用 この発明の演奏データ処理装置では、曲途中のテンポデータを曲頭のテンポ値
である初期テンポ値からの増減率で記憶するようにした。初期テンポ値からの増
減率(テンポデータ)の算出は、 増減率:DTMP 初期テンポ値:ITMP 変更されたテンポ値:TMP とすると、 で計算することができる。 曲頭の初期テンポ値はその曲をRUNさせるとき(たとえジャンプする場合で
あっても)必ず読み出されるため、これをバッファリングしておけば曲途中のい
つでもこれを参照することができる。これによって、初期テンポ値のみを変更す
れば常にこれが参照されるため曲全体のテンポの変更が容易になり、また、曲が 早送り等でジャンプしても初期テンポ値に基づいてテンポが設定されるためテン
ポ設定が不適切にならない。 (f)実施例 第12図はこの発明の実施例であるシーケンサの制御部のブロック図(同図(A
))および操作パネルの概略図(同図(B))である。 同図(A)においてこの装置の動作を制御するCPUはバス2を介して各動作
部と接続されている。バス2にはプログラムメモリ3レジスタ群4,自動演奏メ
モリ5およびテンポクロック発振器6,操作パネル7,入出力回路8が接続され
ている。プログラムメモリ3はROMで構成され、レジスタ群4はRAMで構成
されている。また自動演奏メモリ5はバッテリバックアップされたRAMまたは
フロッピィディスク装置で構成されている。入出力回路8はMIDIインターフ
ェイスであり、演奏データをMIDIコードデータとして鍵盤などの演奏装置か
ら取り込むとともに、記録している演奏データ(ソングデータ)を音源装置に対
して出力する。 同図(B)においてこの装置の操作パネル7には各種のスイッチ群および表示
器が設けられている。設けられているスイッチ群はスタート/ストップスイッチ
11,ポーズスイッチ12,巻戻しスイッチ13,速送りスイッチ14,レコー
ドスイッチ(RECスイッチ)15,フレーズスイッチ16,パンチイン/アウ
トスイッチ17,ソングスイッチ18,テンポスイッチ19,ファンクションス
イッチ20,テンポアップスイッチ21,テンポダウンスイッチ22、トラック
No.スイッチ群23およびテンキー24である。また、RUN中(記録/再生中
)のソングデータ(複数トラックからなる1曲分の演奏データ)の小節数や拍数
を表示する表示器25が設けられているとともにパンチイン/アウトスイッチ1
7に付随してLED26が設けられている。 第13図は前記自動演奏メモリ5の構成を説明するための図である。この自動
演奏メモリ5には99曲分のソングデータ(ソングNo.1〜99)を記録するこ
とができる。各ソングデータ記憶エリアには初期テンポ値記憶エリアおよび10
個のトラック(パートデータ記憶エリア:トラックNo.1〜10)が設けられて
いる。各トラックにはそれぞれ独立したパートの演奏データを記録することがで
き、 RUN時には同時進行する。各トラックは演奏データ記憶エリアと付随的なデー
タを記憶する空領域およびパンチ領域から構成されている。パンチ領域はパンチ
インレコードによって書き込まれた新たな演奏データを一時バッファリングする
ためのエリアである。以後、本実施例においては、各トラックをPAT(i)(i=1
〜10)で識別される記憶エリア群で表現し、読み出すべき演奏データを曲の進行
に従って指し示すポインタをPNT(i)(i=1〜10)で表現する。 第14図(A)〜(G)は上記トラックに記録される演奏データのフォーマッ
トを示す図である。同図(A),(B),(E),(F)は、それぞれキーオン,キーオ
フ,テンポアップ,テンポダウンのイベントデータのフォーマットであり、同図
(C),(D)は連続するイベントとイベントの間隔(クロック数)のデータ(デュ
レーションデータ:クロックデータ)のフォーマットである。同図(D)のロン
グデュレーションデータは1小節を超える間隔を記憶するとき用いられる。通常
はイベントデータとデュレーションデータとが交互に記録されるが、キーボード
における和音の同時押下等の場合には同時発生イベントデータがデュレーション
データを挟まずに記録される。なお、テンポアップ,テンポダウンイベントデー
タは第10トラックにのみ記録可能である。すなわち、一般的に第10トラックはリ
ズムパート用に使用され、リズム・テンポをこのトラックの演奏データでコント
ロールするようになっているからである。 ここで、操作パネル8の各スイッチの機能とともにこのシーケンサの機能を説
明する。 スタート/ストップスイッチ11は、RUN、すなわち、自動演奏メモリ5の
書き込み/読み出しを開始/停止するためのスイッチである。 RUNがスタートしたとき、選択されていたソングNo.のソングデータが読み
出される。このソングデータのうちレコードモード(REC(i)=1:後述)が
設定されていたトラック(i)には演奏データの書き込みが行われ、プレイモード
(PLY(i)=1:後述)が設定されていたトラック(i)からは記録されている演
奏データの読み出しが行われる。 ポーズスイッチ12はソングデータの読み出し中に一時停止させたり、この一
時停止を解除して読み出しを再開したりするためのスイッチである。 巻き戻しスイッチ13,速送りスイッチ14はソングデータの読み出しを速送
りしたり巻き戻ししたりするときに使用される。実際にはテンポクロックの周波
数を上げることによって行われる。上記ポーズスイッチ12,巻戻しスイッチ1
3,速送りスイッチ14は、何れかのトラックが書き込み中(REC(i)=1 and
PNT(i)≠-1:後述)のときには機能しない。 レコードスイッチ15は、後述のトラックNo.スイッチと同時押下され、その
トラックにレコードモード(REC(i)=1:後述)をセットするとき使用され
る。 フレーズスイッチ16は曲の途中にフレーズポイントをセットしたり、セット
されているフレーズポイントから読み出しを開始させたりするためのスイッチで
ある。 ソングデータの読み出し中(曲の自動演奏中)にフレーズスイッチ16とファ
ンクションスイッチとを同時押下するとそのタイミングにフレーズポイントがセ
ットされ、ソングデータの読み出し前にフレーズスイッチ→テンキー(1〜9)
→ポーズキーの順でキー押下をするとテンキーで示されたフレーズポイントから
次のフレーズポイントまでの間のソングデータの読み出しを繰り返し行う。 パンチイン/アウトスイッチ17は、すでに記録されている演奏データの一部
を新たな演奏データに差し換えるとき(パンチインレコードモード)に用いられ
るスイッチであり、ソングデータの読み出し中にこのスイッチをオンすると、パ
ンチインタイミングが設定され、そののちソングデータの読み出し中に再びオン
するとパンチアウトタイミングが設定される。パンチインタイミングとパンチア
ウトタイミングとの聞がパンチイン区間となる。このようにパンチイン区間を設
定したのち演奏データを差し換えたいトラックにレコードモードをセットしてR
UNさせれば、ソングデータの読み出し中に、この区間のみレコードモードのト
ラックが書き込み中になる。 このスイッチに付随して設けられているLED26はパンチインレコードモー
ドの各段階を表示するための表示器である。通常は消灯しているが、パンチイン
タイミングがセットされると点滅し、パンチアウトタイミングがセットされると
点灯する。こののち曲がスタートし、パンチインレコード時に再度点滅する。パ ンチイン区間が解除されると(パンチイン/アウトスイッチの3回目のオンで解
除される。)、消灯する。 ソングスイッチ18はソングNo.を選択するためのスイッチである。このスイ
ッチをオンしたのちテンキーから2桁の数値を入力すればそのソングNo.のソン
グを選択したことになる。 テンポスイッチ19はテンキーからテンポデータを入力するためのスイッチで
ある。このスイッチをオンしたのちテンキーから数値(20〜300)を入力す
るとこの数値のテンポがセットされる。 また、テンポアップスイッチ21またはテンポダウンスイッチ22をオンする
と、初期に設定されたテンポに基づいて所望の値にテンポを設定することができ
る。 トラックNo.スイッチ23は1〜10の数値が付された10個のキースイッチ
からなっており、選択されたソングデータの各トラックに対する、プレイモード
/レコードモードの設定/解除をするために用いられる。上述したようにレコー
ドスイッチ15と同時押下すればそのトラックにレコードモードがセットされ、
このスイッチのみを単独押下すればプレイモードのセット/リセットの反転動作
が行われる。 また、表示器25は再生/録音中の小節数やクロック数などを表示するために
用いられる。 第15図はレジスタ群14に設けられるレジスタを示す図である。これらのレ
ジスタは以下の用途に用いられる。なお、第16図〜第18図に各レジスタにど
のような値が記憶されるかを模式的に示している。 SONG:ソングNo.レジスタ=選択されたソングNo.(=1〜99)を記憶す
る。 RUN:RUNフラグ=ソングデータの読み出し/書き込みが行われていると
きセットする。 PDE:ポーズフラグ=RUN中にクロックが一時停止したとき(ソングデー
タの読み出し/書き込みが一時停止したとき)セットする。 STP:進行方向レジスタ=読み出しが順方向へ行われているときは“1”, 逆方向に行われているとき(巻き戻し時)には“−1”がセットされる。この数
値に基づいてジェネラルクロックカウンタGCLK(後述)がカウントされる。 FR:早送りフラグ=早送りスイッチ14または巻き戻しスイッチ13によっ
て順方向または逆方向に高速に送られているときこのフラグがセットされる。 TMP:テンポ値レジスタ=RUN中のテンポを記憶するレジスタである。こ
のデータに基づいてテンポクロック発振器が制御される。 TMPI:初期テンポ値レジスタ=ソングが選択されたときそのソングデータ
の先頭に記憶されている初期テンポ値データを代入記憶する。 DTMP:テンポ増減率レジスタ=ソングデータ中に新たなテンポ値がセット
されたとき計算された前記初期テンポ値に対する増減率を記憶するレジスタであ
る。このテンポ増減率が第10トラックにテンポアップイベントデータ,テンポ
ダウンイベントデータとして記録される。 PRS:フレーズモードフラグ=フレーズモード(指定されたフレーズ区間を
繰り返し再生するモード)のときセットするフラグ PNC:パンチモードフラグ=0/1/−1の値をとるスリーステートフラグ
であり、0のときにはパンチイン区間がセットされていないノーマル状態である
ことを示し、1のときにはパンチイン区間が設定済であるがパンチインレコード
中でないことを示し、−1のときにはそのパンチインレコード中であることを示
している。 GCLK:ジェネラルテンポクロックカウンタ=ソングデータの先頭からのテ
ンポクロックを積算するカウンタ(第16図参照) PICLK,POCLK:パンチインタイミングクロックレジスタ,パンチア
ウトタイミングクロックカウンタ=パンチインタイミングおよびパンチアウトタ
イミングのクロック値を記憶するレジスタである(第17図参照)。 PNTPI(i),PNTPO(i)(i=1〜10):パンチインタイミングポインタ,
パンチアウトタイミングポインタ=パンチインタイミング,パンチアウトタイミ
ングにおけるポインタPNT(i)(第13図参照)の位置(アドレス)を記憶す
る。なお、ポインタPNT(i)は必ずデュレーションデータを指しているため、
このP NTPI(i),PNTPO(i)はパンチインタイミング,パンチアウトタイミング
のクロック値が属するデュレーションデータを指すことになる(第17図参照)
。 TMPI(i):パンチインイベントずれレジスタ=パンチインタイミングの直
前のイベントからのクロック数を記憶するレジスタ(第17図参照)TMPO(i
):パンチアウトイベントずれレジスタ=パンチアウトタイミング直後のイベン
トまでのクロック数を記憶するレジスタ(第17図参照)これらTMPI(i),T
MPO(i)は、パンチインレコードモード時にパンチイン区間を判断するために
用いられる。 EVCLK(i):イベントクロックレジスタ=RUN時に次のイベントのクロ
ック値を記憶するレジスタ。この値がGCLKと一致したとき次のイベントを実
行する(第16図参照)。 REC(i),PLY(i):レコードモードレジスタ,プレイモードレジスタ=ソ
ングデータがRUNしているときREC=1(セット)のトラックには書き込み
が行われ(PNC=1の場合を除く)、PLY=1のトラックからは読み出しが
行われる。このモードを組み合わせることにより、あるトラックの演奏データを
再生しながらキーボード等を演奏し他のトラックに演奏データを書き込んでゆく
こと(多重録音)もできる。 PRSBUF(n)(n=1〜9):フレーズレジスタ=フレーズNo.1〜9に対
応するクロック値(GCLK値)を記憶するレジスタである。RUN中にフレー
ズスイッチ16がオンされるとそのタイミングに対応するクロック値がフレーズ
ポイントとしてこのレジスタに記憶される。フレーズポイントは1〜9の9か所
記憶することができ、記憶ののちクロック値が小さいものから1〜9の順にソー
トされる。 PRSST,PRSEND:フレーズ開始クロック値レジスタ,フレーズ終了
クロック値レジスタ=フレーズモードがセットされたとき指定されたフレーズの
開始クロック値,終了クロック値を記憶する。開始クロック値は指定されたフレ
ーズnのPRSBUF(n)に記憶されているクロック値であり、終了クロック値
はPRSBUF(n+1)に記憶されているクロック値である(第18図参照)。 STPNT(n,i):フレーズ開始ポインタ=フレーズポイントにおけるポインタ
PNT(i)(第13図参照)の位置(アドレス)を記憶する(第18図参照)。 STCLK(n,i):フレーズ開始イベントずれレジスタ=フレーズポイント直前
のイベントからのクロック数を記憶するレジスタ(第18図参照)なお、STP
NT(n,i),STCLK(n,i):は各フレーズポイント毎に全トラックについて設定
されている。 第1図〜第11図のフローチャートを参照してこのシーケンサの動作を説明す
る。 第1図はメイン処理動作である。このシーケンサの電源がオンされると、先ず
n1で初期設定動作を行う。この初期設定動作において各レジスタ群はクリアさ
れフラグには全て0がセットされる。この状態で各スイッチ群のオンオフイベン
トを判断する(n2〜n11)、この動作においていずれかのスイッチのオンイ
ベント(早送りスイッチ/巻き戻しスイッチのみオンオフイベント)を判断した
ときそれぞれ対応するサブルーチンを実行する。すなわちスタート/ストップス
イッチのオンイベントを判断したとき(n2)スタート/スイッチサブルーチン
(n12:第4図参照)を実行し、入出力回路8からのキー入力があったときに
は(n3)キー入力サブルーチン(n13:第9図参照)を実行する。また、R
UNフラグが0のときすなわちソングデータの書き込み/読み出しが行われてい
ないときに(n4)、ソングスイッチオンイベント(n5)またはトラックNo.
スイッチオンイベント(n6)があったときにはソングセレクトサブルーチン(
n14:第2図参照)トラックセレクトサブルーチン(n15:第3図参照)を
実行する。 また、全トラックにおいて現在書き込み中でない場合、すなわち、何れのiに
おいても、REC(i)=1 and PNC≠1でない場合には(n7)、ポーズスイ
ッチオンイベント(n8)または早送りスイッチ,巻き戻しスイッチのオン/オ
フイベント(n9)を判断する。ポーズスイッチオンイベントが判断されたとき
にはポーズサブルーチン(n16:第5図参照)を実行し、早送りスイッチ,巻
き戻しスイッチのオン/オフが判断されたときには早送り/巻き戻し(n15:
第8図参照)を実行する。ところで、REC(i)=1でPNC≠1とはパンチイ
ンレ コードモードでパンチイン区間外であることを意味しており、PNCが1以外で
あれば、書き込み中であることから早送りやポーズを掛けないようにしている。 一方、全トラックのREC(i)がリセットしている場合のみフレーズスイッチ
のオンイベントを受付ける(n10,n11)。フレーズスイッチのオンイベン
トを受け付けたときにはフレーズサブルーチン(n18:第7図参照)を実行す
る。 こののち全ての場合においてテンポ設定サブルーチン(n19:第10図参照
)を実行しメインボリューム制御などのその他処理を行ったのち(n20)n2
に戻り同様の動作を繰り返し実行する。 第2図はソングセレクトサブルーチンである。この動作では先ずテンキーから
入力された2桁のソングNo.をSONGレジスタに格納する(n21)。次に、
このソングNo.で指定されるソングデータを自動演奏メモリ5から読み出しその
データの先頭に記憶されている初期テンポ値をTMPレジスタに記憶するととも
にそのテンポでテンポクロック発振器6を制御する(n22)。 第3図はトラックセレクトサブルーチンである。まず、オンされたトラックNo
.スイッチ(トラックNo.)を検出してトラックポインタiに格納する(n23)
。次にこのトラックNo.スイッチがレコードスイッチと同時にオンされたもので
あるか否かを判断し(n24)、そうであればこのトラックをレコードモードに
するためレコードフラグREC(i)をセットする(n25)。一方トラックNo.ス
イッチのみが単独でオンされた場合にはこのトラックNo.のREC(i)フラグおよ
びプレイフラグPLY(i)を判断し、何れかがセットされている場合にはその双
方をリセットして(n27)リターンする。両方ともリセットされているときは
PLY(i)をセットして(n28)リターンする。すなわちトラックNo.スイッチ
のみのオンを繰り返すとプレイ/無指定のモードが繰り返しセットされる。 第
4図はスタート/ストップサブルーチンである。スタート/ストップスイッチが
オンされると先ずRUNフラグを反転する(n30)。この反転の結果RUNが
セット(=1)されればn32以下の動作を実行し、RUNフラグがリセット(
=0)されればn37以下の動作を実行する(n31)。 反転の結果RUNフラグが1になっということは書き込み/読み出しがスター
トしたということであるためまずジェネラルテンポクロックカウンタGCLKを
クリアし(n32)、ポインタPNT(i)(i=1〜10)に指定されているソ
ングナンバの各トラックiの先頭アドレスを代入する(n33)。次にREC(1
0)がセットしているか否かを判断し(n34)、セットしていればテンポの変更
設定が行われるため、TMPレジスタの内容(このときは初期テンポ値が記憶さ
れている。)をこのトラックの先頭に書き込むとともに初期テンポ値レジスタI
TMPに代入する(n35)。こののちフレーズモードフラグPRSをリセット
して(n35)リターンする。n34においてREC(10)がリセットしている場
合にはn34から直接n36に進む。 一方n30において反転した結果RUNフラグがリセットした場合にはn31
→n37に進み、動作終了処理を行う。n37ではREC(i)=1且つPNC(i)
=0となるトラック(i)の最後、すなわち、PAT(i)(PNT(i))(トラック=パー
トデータ記憶エリアPAT(i)のうち、ポインタPNT(i)が指し示すアドレスエ
リア)にエンドコードであるFFHを書き込む。次にパンチインレコードが終了
したトラックを検索し(n38,n39,n41,n42)、パンチインレコー
ドが終了したトラックがあれば先に記録されていた演奏データとの連結を行う(
n40)。パンチインレコードが終了しているとはパンチインレコードモード(
REC(i)=1且つPNC(i)=1)であり、ジェネラルクロックカウンタのカウ
ント値がパンチアウトタイミングクロック値を通過している(POCLK≦GC
LK)ことである。また、連結動作とは先に記録されているパンチインタイミン
グ直前までの演奏データにパンチインで書き込まれた演奏データを接続し、それ
に続けて先に記録されているパンチアウトタイミング以降の演奏データを接続し
たのち、新たな一貫したアドレスを付加しなおす動作である。こののちn36に
進む。 第5図はポーズサブルーチンである。ポーズスイッチがオンされるとPSEフ
ラグを反転する(n43)。反転の結果PSEがセットすれば(n44)キーオ
ン中のキーに対応するキーオフ信号を送出して(n45)リターンする。反転の
結果PSEがリセットされればそのままりターンする。キーオフ信号を送出する
のは、ポーズ中は発音中のキーに対するキーオフイベントが発生しないため、鳴 りっぱなしにならないようにである。 第6図はパンチイン/アウトサブルーチンである。パンチイン/アウトスイッ
チは通常曲の再生(プレイモードにしてソングデータを読み出すこと)中にオン
される。パンチイン/アウトスイッチがオンされると先ず現在書き込み中である
か否かを判断する(n46,n57)。すなわちレコードモードでPNC≠1で
あれば現在演奏データの書き込み中であるためこのパンチイン/アウトスイッチ
のオンは無視してそのままりターンする。また、PNC=1のときすなわちパン
チイン区間設定時にこのスイッチがオンされると(n46→n47,n46→n47→n
52)、パンチインレコードモードを解除する。すなわち、PNCフラグに0をセ
ットし、LEDを消灯して(n59)。リターンする。 一方、REC(i)=1のトラックがなく(読み出し中)PNC=0のときには
(n46,n47)、パンチインタイミングの設定であるため、パンチイン区間
に入ったことを意味する−1をPNCにセットし(n48)、パンチインタイミ
ングクロックレジスタPICLKにその時のジェネラルテンポクロックカウンタ
GCLKの値を代入する(n49)。次にLEDを点滅状態にし(n50)、全
トラックのパンチインタイミングポインタPNTPI(i)にそのときのポインタ
PNT(i)の値を代入し、パンチインイベントずれレジスタTMPI(i)に直前の
イベントからのずれクロック数(=GCLK−(EVCLK(i)−PAT(i)(PNT(i
)))を記憶して(n51)リターンする。 一方、REC(i)=1のトラックがなく(読み出し中)PNC=−1のときに
は(n46,n52)、パンチアウトタイミングの設定であるため、パンチイン
区間設定完了を意味する1をPNCにセットし(n53)、パンチアウトタイミ
ングクロックレジスタPOCLKにその時のジェネラルテンポクロックカウンタ
GCLKの値を代入する(n54)。次にLEDを点灯状態にし(n55)、全
トラックのパンチアウトタイミングポインタPNTPO(i)にそのときのポイン
タPNT(i)の値を代入し、パンチアウトイベントずれレジスタTMPO(i)に直
後のイベントまでのずれクロック数(=EVCLK(i)−GCLK)を記憶して
(n56)リターンする。 第7図はフレーズサブルーチンである。フレーズスイッチがオンされるとそれ がファンクションスイッチと同時押下であるか否かを判断する(n60)。同時
押下であればフレーズポイント設定動作であるため空いているPRSBUF(n)
にそのときのGCLKの値を代入する(n68)。代入ののちPRSBUF(n)
の内容を小さいものから順に並び換えて(n69)リターンする。 フレーズスイッチの単独押下であればフレーズモードのセットであるため、R
UNフラグのセット/リセットを判断する(n61)。RUNフラグがセットし
ていれば既にデータの書き込み/読み出しが行われていることであるため、フレ
ーズモードをセットしないでそのままりターンする。RUNフラグがリセットし
ていればn62でテンキーからフレーズ番号nの入力を受け付け、入力されれば
そのキーが0キーであるか否かを判断する(n63)。0が入力されればそれま
でセットされていたフレーズバッファPRSBUFを全てクリアする動作である
ためn70においてこの処理を実行してリターンする。 n=0以外の値が入力された場合にはPRSBUF(n)の値をGCLKおよび
フレーズ開始レジスタPRSSTに代入する(n64)。PRSBUF(n+1)値
をフレーズ終了レジスタPRSENDに代入する(n65)。次に各トラックに
おけるフレーズ最初のデュレーションデータのアドレスをPNT(i)およびST
PNT(i)に代入する(n66)。これは最初からデュルーションデータを読み
出してゆきPRSSTを超えたときのデータをアドレスである。こののち、フレ
ーズモードフラグPRS,ポーズモードフラグPSEともにセットして(n67
)リターンする。 フレーズモードの読み出しを開始するためにはポーズスイッチをオンしてポー
ズを解除すればよい。このときスタート/ストップスイッチをオンするとこのフ
レーズサブルーチンによってセットされたアドレスを無視して曲の先頭から再生
が開始される。 第8図は早送り/巻戻しサブルーチンである。この動作は早送りスイッチまた
は巻戻しスイッチのオン/オフイベントがあったとき行われる動作である。n7
0〜n73でどちらのスイッチのオン/オフがあったかを判断する。早送りスイ
ッチのオンイベントがあった場合にはn70→n74に進みFRフラグがリセッ
トしているか否かを判断する。FRフラグがセットしていればすでに巻戻しが行 われているということであるためこの早送りスイッチのオンは無視してリターン
する。FRフラグがリセットしていればクロック制御サブルーチン(同図(B)
参照)を実行する(n75)。 ここで、クロック制御サブルーチン同図(B))は、まずRUNフラグを判断し
(n86)、セットしているときには読み出し中であるため、聞き取り可能な程
度の速度で早送り/巻き戻しするためクロック周波数を正常周波数の8倍にセッ
トして(n87)リターンし、RUNフラグがリセットしているときは読み出し
中でないためクロック周波数を最高速にセットして(n88)リターンする。 このクロック制御サブルーチンののちFRフラグをセットするとともにSTP
レジスターに1を代入して(n76)リターンする。 巻戻しスイッチのオンイベントが発生したときにはn71→n77に進み、F
Rフラグがリセットしているか否かを判断する。FRフラグがセットしていると
きにはすでに早送り動作が行われていることを意味するためこの巻戻しスイッチ
のオンイベントは無視して直接リターンする。FRフラグがリセットしている場
合にはn78においてクロック制御サブルーチンを行い、イベントデータを逆向
きに読み出していくために全てのトラック(i)のイベントクロックレジスタEV
CLKに直前のイベント発生のクロック値をセットする(n79)。すなわち、
それまでEVCLK(i)は次のイベントのクロックタイミングを記憶していたた
め、PAT(i)(PNT(i))を引いて直前のイベントのクロックタイミングにする。
次にFRフラグをセットし、STPレジスタに−1を代入して(n80)リター
ンする。 一方、巻戻しスイッチのオフイベントが発生した場合にはn71→n81に進
み、STPが−1であるか否かを判断する。STPが−1でなければ現在巻戻し
中でないためこのオフイベントを無視してリターンする。STPレジスタが−1
であれば巻戻し中でありこれを解除するためn82以下の動作を実行する。まず
イベントクロックに(順方向の)次のイベントのクロック値をセットするため全
てのEVCLK(i)に現在のPAT(i)(PNT(i))を加算し(n82)、クロック周
波数を正規の値に戻して通常のテンポで読み出しを再開する(n83)。このの
ち、FRフラグをリセットし、STPに1を代入して(n84)リターンする。 早送りスイッチのオフイベントが発生すると、n73→n85に進みSTPが
1であるか否かを判断する。STPレジスタが1であれば早送り中でありこれを
解除するためn83に進んで通常の読み出し動作に戻す処理を実行する。STP
レジスタが1でなければ(−1であれば)巻戻し動作中であるためこのオフイベ
ントを無視してリターンする。 第9図はキー入力サブルーチンである。この動作は演奏データの修正のため入
出力回路8を介して鍵盤などの演奏装置から演奏データが入力されたときに実行
される動作である。演奏データはMIBIフォーマットに基づいて入力されるた
めこのデータにはトラックNo.(チャンネルNo.)などが含まれている。このデー
タが入力されると先ずn91で入力されたデータ中のトラックNo.をトラックポ
インタiにセットする。このトラックが現在書き込み中(REC=1且つPNC
≠1)であればn93以下の動作を実行する。書き込み中でなければそのままリ
ターンする(n92)。n93ではEVCLK(i)と現在のGCLKが等しいか
否かを判断する。等しければn96においてPAT(i)(PNT(i))に入力されたキ
ー情報を書き込み、EVCLK(i)にGCLKをセットし(n96)、PNT(i)
を歩進して(n97)リターンする。EVCLK(i)と現在のGCLKが等しく
なければn94においてPAT(i)(PNT(i))にイベント間のデュレーションデー
タとしてGCLK−EVCLK(i)をセットし(n94)、ポインタPNT(i)を
歩進したのち(n95)n96に進む。 第10図はテンポ設定サブルーチンである。この動作ではn100においてT
MPレジスタの値に基づいてテンポクロック発振器を制御するが、このときテン
ポアップキー21,テンポダウンキー22またはテンポスイッチ19→テンキー
からのテンポ値入力によるTMPの書き換えも実行する。トラック(10)が現在書
き込み中(REC(10)=1且つPNC≠1)であればこののちn102以下の動
作を実行し、書き込み中でなければこのままりターンする(n101)。n10
2ではEVCLK(10)=GCLKを判断し、一致した場合にはこのソングデータ
の初期テンポ値ITMPに対する今回のテンポの増減率を計算してDTMPレジ
スタに記憶する(n105)。増減率は、 で計算される。DTMPの値が0より大きい場合にはテンポアップであるため
PAT(10)(PNT(10)にテンポアップイベントデータであるD0H,DTMP(第
14図(E)参照)を書き込んだのち(n107)、ポインタPNT(10)を歩進
させて(n109)リターンする。また、DTMPが負であった場合にはテンポ
ダウンであるためテンポダウンデータであるC0H,−DTMPをPAT(10)(PN
T(10))に書き込んだのち、PNT(10)を歩進させて(n109)リターンする。 n102においてEVCLK(10)とGCLKとが一致しなかった場合にはデュ
レーションデータとしてGCLK−EVCLK(10)をセットし(n103)、ポ
インタPNT(10)を歩進したのち(n104)n105に進む。 第11図はクロック割込みサブルーチンである。この動作はテンポクロック発
振器6の割り込みによって所定タイミング毎に実行される。この動作では先ずク
ロック信号に基づく読み出し/書き込み等が行われていること、すなわち、RU
N=1且つPSE=0またはFR=1であることを判断する(n121)。この
条件が満たされていなければクロック割り込みによる処理動作が不要であるため
そのままリターンする。条件が満たされていればn122以下の動作を実行する
。 n122以下では、まずジェネラルクロックレジスタGCLKにSTPの値を
加えてクロックを更新する(n122)。STPは通常の読み出し/書き込み時
および早送り時には+1であるためGCLKは1づつ増加し、巻戻し時には−1
であるためGCLKは1づつ滅少する。こののちn123,n126,n131
において、フレーズモードにおける繰り返しポイントであるか否か、パンチイン
タイミングであるか否か、およびパンチアウトタイミングであるか否かを判断す
る。これ以外の場合にはn136以下の通常のイベントクロック歩進,イベント
データ処理動作に進む。 n123でフレーズ繰り返しポイントグであることを判断した場合にはn12
4以下の動作に進む。なお、フレーズ繰り返しポイントはフレーズモードフラグ
PRS=1かつGCLK=PRSEND(フレーズ終了レジスタ)で判断するこ とができる。n124では発音中の楽音を消音するためそのときキーオン中のキ
ーに対応するキーオフ信号を音源装置に向けて送出し、フレーズの最初から繰り
返すためGCLK←PRSSTをセットし、全てのPNT(i)←STPNT(i),
EVCLK(i)←STCLK(i)をセットして(n125)n150に進む。 n126でパンチインタイミングであると判断した場合にはn127以下の動
作を実行する。なおパンチインタイミングは何れかのトラックにおけるREC(i
)=1,PNC(i)=1且つGCLK=PICLKであることによって判断するこ
とができる。n127においてはPNCにパンチインレコード中であることを示
す−1をセットし、LEDを点滅状態にする(n128)。こののちREC(i)
=1であるトラックiにおけるEVCLK(i)にPICLK−TMPI(i)をセッ
トし、PNT(i)にパンチイン区間の先頭のアドレスをセットしたのち(n12
9)、このPNT(i)で指し示されるPAT(i)(PNT(i))に現在キーオン中のキー
に対応するキーオフ情報を書き込んだのち(n130)、n150に進む。 一方、n131でパンチアウトタイミングであることを判断した場合にはn1
32以下の動作を実行する。n132ではPNCに1をセットする。パンチアウ
トタイミングであることは何れかのトラックにおいてREC=1,PNC=−1
且つGCLK=POCLKであることによって判断することができる。次にn1
33においてLEDを点灯状態にし、上記の条件を満たすトラックiにおいてP
NT(i)が示すPAT(i)(PNT(i))にGCLK−EVCLK(i)のデータを記憶し
(n134)、EVCLK(i)にGCLK+TMPO(i)を書き込みPNT(i)に
PNTPO(i)を書き込んだのち(n135)n150に進む。 n136以下は通常の各トラック毎のイベントクロック歩進,イベントデータ
処理動作である。まずn136においてトラックポインタiに1をセットし、n
137,n138においてこのトラックが演奏データ読み出し中(PLY(i)=
1)であるかパンチインレコード中(REC(i)=1且つPNC=−1)である
か、および、EVCLK(i)=GCLKであるか否かを判断する。この条件がみ
たされた場合にはn139以下の動作を実行する。この条件が満たされない場合
には以下の動作を行う必要がないため145にジャンプしてiに1を加算し(n
145)、iが10を越えるまでn137以下の動作を繰り返す(n146)。 n139ではSTPを参照してクロックの進行方向の次のクロック情報(デュ
レーションデータ)までポインタPNT(i)をジャンプする(n139)。この
ジャンプ動作において次のクロック情報が存在しなければ曲は終了しているとし
てn140→n141に進む。次のクロック情報が存在する場合には早送り/巻
戻しの場合を除き(n142)、このときのイベント情報(キーオン・キーオフ
等)の処理を行う(n143)。この処理において順方向再生(STP=1)の
場合にはその内容通りの処理を実行し、逆送り再生(STP=−1)の場合には
逆の内容を持つ処理を実行する。逆の内容を持つ処理はたとえばキーオンイベン
トの場合にはキーオフ処理を行いテンポアップイベントの場合にはテンポダウン
処理を行うなどである。次にn144においてEVCLK(i)にクロック情報で
あるPAT(i)(PNT(i))にSTPを掛けて加算する。これにより巻戻しの場合に
はPAT(i)(PNT(i))が減算されることになる。こののちn145に進む。 次のクロック情報がなく動作がn141に進んだ場合においてフレーズモード
の場合にはn141→n147に進み、フレーズの最初から繰り返すためGCL
K←PRSSTをセットし、全てのPNT(i)←STPNT(i),EVCLK(i)
←STCLK(i)をセットしてn150に進む。これ以外の場合には演奏を終了
のためRUNフラグをリセットし(n148)リターンする。 n150においては表示器にその時の書き込み/読み出し中の小節数およびク
ロック数を表示する。表示される小節数はGCCK/32で計算され、クロック
数はGCLK.MOD.32で計算される。この表示ののちリターンする。 (g)発明の効果 以上のようにこの発明の演奏データ処理装置では、曲途中のテンポデータを初
期テンポ値からの増減率で記録するようにしたことにより、曲全体のテンポを変
更する場合には初期テンポ値を増滅するのみで全体のテンポを増減することがで
き、また、早送りや巻戻しによって曲がジャンプした場合でも、常に初期テンポ
値が参照されるためテンポ設定を正確に保つことができる。 【図面の簡単な説明】 第1図〜第11図はこの発明の実施例であるシーケンサの動作を示すフローチ ャートであり、第1図はメイン処理動作を示し、第2図〜第10図は各キースイ
ッチのオンオフ動作に伴って実行されるサブルーチンを示し、第11図はクロッ
ク割り込み動作を示す。第12図は同シーケンサの制御部のブロック図および操
作パネルを示す図、第13図は同シーケンサの自動演奏メモリの構成を示す図、
第14図(A)〜(G)は自動演奏メモリに記憶される各種データのフォーマッ
トを示す図、第15図は同シーケンサのレジスタ群の構成を示す図、第16図〜
第18図は各種モード時におけるポインタ,クロック各種レジスタにセットされ
るデータの内容を説明するための図である。
DETAILED DESCRIPTION OF THE INVENTION (a) Industrial application field The present invention records performance data such as performance procedures of an electronic musical instrument or the like in chronological order, and
The present invention relates to a performance data processing device that can be read. (b) Conventional technology At present, a sequencer, which is a recording / reproducing apparatus for performance data, has been put to practical use. Shi
-Record performance data as it occurs during actual performance
For example, a change in tempo or the like can be recorded as it is. This
Therefore, when the recorded performance data is played, the same performance as the actual performance is played.
be able to. Therefore, tempo data is recorded not only at the beginning of the song but also in the middle of the song.
However, in the past, the tempo value was directly recorded regardless of the beginning or middle of the song.
(For example, JP-A-63-193194). (c) Problems to be solved by the invention However, since the tempo of the song needs to be unified as a whole, the tempo of the song
If you want to slow down or slow down, you have to increase or decrease the overall tempo.
In this case, the conventional sequencer must rewrite all tempo data in the song.
The disadvantage is that it must be extremely time-consuming, and the conversion of how much
was there. Therefore, memorize the change value to increase or decrease the tempo from the tempo to the new tempo
However, in this method, the music is played in a predetermined amount by fast-forwarding or the like.
When jumping and playing back data from the
If tempo data that cannot be read because of a jump is included,
There was a disadvantage that the settings would be completely inappropriate. This invention solves the above problem by storing the tempo change rate from the beginning of the song.
It is an object of the present invention to provide a performance data processing device. (d) Means for Solving the Problems The present invention records performance data including tempo data, and records the recorded performance data.
When the tempo increase or decrease relative to the current tempo value is specified during automatic performance,
The tempo data recorded in the middle of the song is stored in the initial tempo data, which is the first tempo data of the song.
Calculate the rate of change from the Po value and record this in real time during automatic performance.
A step is provided. (e) Effects of the Invention In the performance data processing device of the present invention, the tempo data in the middle of the music is converted to the tempo value at the beginning of the music.
Is stored at the rate of change from the initial tempo value. Increase from initial tempo value
The deceleration rate (tempo data) is calculated as follows: change rate: DTMP initial tempo value: ITMP changed tempo value: TMP Can be calculated by The initial tempo value of the beginning of the song is set when the song is run (for example, when jumping).
Even if there is), it is always read, so if you buffer this,
You can refer to this at any time. This changes only the initial tempo value.
This makes it easier to change the tempo of the entire song because it is always referred to.
The port setting does not become inappropriate. (f) Embodiment FIG. 12 is a block diagram of a control unit of a sequencer according to an embodiment of the present invention (see FIG.
)) And a schematic diagram of the operation panel (FIG. 2B). In FIG. 1A, a CPU for controlling the operation of this device performs each operation via a bus 2.
Connected to the department. The bus 2 has a program memory 3 register group 4 and an automatic performance menu.
The memory 5, the tempo clock oscillator 6, the operation panel 7, and the input / output circuit 8 are connected.
ing. The program memory 3 is composed of a ROM, and the register group 4 is composed of a RAM.
Have been. The automatic performance memory 5 may be a battery-backed RAM or
It is composed of a floppy disk device. The input / output circuit 8 is a MIDI interface
Performance data as MIDI code data, such as a keyboard or other performance device.
And import the recorded performance data (song data) to the tone generator.
And output. In FIG. 2B, an operation panel 7 of the apparatus has various switch groups and displays.
A vessel is provided. The provided switches are start / stop switches
11, pause switch 12, rewind switch 13, fast-forward switch 14, record
Switch (REC switch) 15, phrase switch 16, punch-in / out
Switch 17, song switch 18, tempo switch 19, functions
Switch 20, tempo up switch 21, tempo down switch 22, track
No. switch group 23 and numeric keypad 24. Also, during RUN (recording / reproducing
), The number of measures and beats in the song data (performance data for one song consisting of multiple tracks)
Is displayed, and a punch-in / out switch 1 is provided.
7 is provided with an LED 26. FIG. 13 is a diagram for explaining the configuration of the automatic performance memory 5. This automatic
The performance memory 5 can store 99 song data (song Nos. 1 to 99).
Can be. Each song data storage area has an initial tempo value storage area and 10
Tracks (part data storage area: track Nos. 1 to 10)
I have. Each track can record performance data for independent parts.
RUN at the same time. Each track has a performance data storage area and additional data.
A blank area for storing data and a punch area. Punch area is punch
Temporarily buffer new performance data written by in-record
It is an area for. Thereafter, in this embodiment, each track is set to PAT (i) (i = 1
The performance data to be read out is expressed in the storage area group identified by
Is represented by PNT (i) (i = 1 to 10). FIGS. 14A to 14G show the format of performance data recorded on the track.
FIG. FIGS. 3A, 3B, 3E, and 3F show key-on and key-on, respectively.
This is the format of the event data for the tempo up, tempo up, and tempo down.
(C) and (D) show data (duplication) of the interval (number of clocks) between successive events.
(Data: clock data). Ron of the same figure (D)
The duration data is used when storing intervals exceeding one measure. Normal
Records event data and duration data alternately.
In the event of simultaneous depression of chords in, simultaneous event data
It is recorded without interposing data. In addition, tempo up, tempo down event day
Data can be recorded only on the tenth track. That is, generally, track 10 is
Rhythm tempo is controlled by the performance data of this track.
This is because they roll. Here, the function of this sequencer together with the function of each switch on the operation panel 8 will be described.
I will tell. The start / stop switch 11 is set to RUN, that is, the automatic performance memory 5
This is a switch for starting / stopping writing / reading. When RUN starts, the song data of the selected song No. is read.
Will be issued. The record mode (REC (i) = 1: described later) of this song data
Performance data is written to the set track (i), and the play mode
(PLY (i) = 1: described later) is recorded from track (i).
Reading of performance data is performed. The pause switch 12 is used to pause during reading of song data,
This is a switch for releasing the time stop and restarting the reading. The rewind switch 13 and the fast-forward switch 14 are used for fast-forwarding the reading of song data.
Used when rewinding or rewinding. Actually the frequency of the tempo clock
This is done by increasing the number. The pause switch 12 and the rewind switch 1
3. The fast feed switch 14 determines that any track is being written (REC (i) = 1 and
It does not function in the case of PNT (i) ≠ -1: described later). The record switch 15 is pressed at the same time as a track number switch to be described later.
Used when setting the record mode (REC (i) = 1: described later) to the track
You. The phrase switch 16 is used to set a phrase point in the middle of a song,
Switch to start reading from the specified phrase point.
is there. While reading the song data (during automatic performance of the song), the phrase switch 16
When the switch is pressed at the same time, the phrase point
Before reading the song data, the phrase switch → numeric keypad (1-9)
→ If you press the key in the order of the pause key, from the phrase point indicated by the numeric keypad
The reading of the song data up to the next phrase point is repeated. The punch-in / out switch 17 is a part of the previously recorded performance data.
Is used when replacing with new performance data (punch-in record mode).
If this switch is turned on while reading song data,
Timing is set and then turned on again during reading of song data.
Then, punch-out timing is set. Punch-in timing and punch-a
The out timing is the punch-in section. The punch-in section is set in this way.
After setting the record mode, set the record mode to the track whose performance data
If it is set to UN, during the reading of song data, the record mode
The rack is writing. The LED 26 attached to this switch has a punch-in record mode.
It is a display for displaying each stage of the command. Normally off, but punch-in
Flashes when the timing is set, and when the punchout timing is set
Light. Then the song starts and blinks again during punch-in record. When the punch-in section is released (canceled when the punch-in / out switch is turned on for the third time).
Is excluded. ), Turn off the light. The song switch 18 is a switch for selecting a song number. This sui
After turning on the switch, enter a two-digit number from the numeric keypad.
You have selected The tempo switch 19 is a switch for inputting tempo data from a numeric keypad.
is there. After turning on this switch, enter a numerical value (20 to 300) from the numeric keypad.
Then the tempo of this numerical value is set. Further, the tempo up switch 21 or the tempo down switch 22 is turned on.
And you can set the tempo to the desired value based on the initially set tempo
You. Track No. switch 23 is 10 key switches numbered from 1 to 10.
Play mode for each track of the selected song data
/ Used to set / cancel record mode. Record as described above
If the track switch is pressed at the same time, the record mode is set for that track
Pressing this switch alone will reverse the play mode set / reset operation.
Is performed. The display 25 is used to display the number of measures and the number of clocks during playback / recording.
Used. FIG. 15 is a diagram showing registers provided in the register group 14. These records
The register is used for the following applications. 16 to 18 show the registers.
Is schematically shown whether a value such as is stored. SONG: Song No. register = Stores the selected song No. (= 1 to 99)
You. RUN: RUN flag = when reading / writing of song data is performed
Set. PDE: When the clock is paused while the pause flag = RUN (Song data
(When reading / writing of data is paused). STP: traveling direction register = “1” is set when reading is performed in the forward direction, and “−1” is set when reading is performed in the reverse direction (during rewinding). This number
A general clock counter GCLK (described later) is counted based on the value. FR: fast-forward flag = set by fast-forward switch 14 or rewind switch 13
This flag is set when data is sent at high speed in the forward or reverse direction. TMP: tempo value register = register for storing the tempo in RUN. This
The tempo clock oscillator is controlled based on this data. TMPI: Initial tempo value register = Song data when a song is selected
Is substituted for the initial tempo value data stored at the beginning. DTMP: Tempo change rate register = new tempo value set in song data
A register for storing an increase / decrease rate with respect to the initial tempo value calculated when the
You. The tempo increase / decrease rate is the tempo-up event data and tempo
Recorded as down event data. PRS: Phrase mode flag = Phrase mode (specified phrase section
Flag to be set in the case of (repeated playback mode) PNC: Punch mode flag = Three-state flag taking a value of 0/1 / -1
When 0, the punch-in interval is not set and the normal state is set.
In the case of 1, the punch-in section has been set but the punch-in record
Indicates that it is not in the middle, and -1 indicates that it is in the punch-in record.
doing. GCLK: General tempo clock counter = text from the beginning of song data
PICLK, POCLK: punch-in timing clock register, puncher
Out timing clock counter = punch-in timing and punch-out timing
This is a register for storing the clock value of the imaging (see FIG. 17). PNTPI (i), PNTPO (i) (i = 1 to 10): punch-in timing pointer,
Punch out timing pointer = punch in timing, punch out timing
(Address) of the pointer PNT (i) (see FIG. 13) in the memory
You. Since the pointer PNT (i) always points to the duration data,
PNTPI (i) and PNTPO (i) are punch-in timing and punch-out timing
Indicates the duration data to which the clock value belongs (see FIG. 17).
. TMPI (i): punch-in event shift register = punch-in timing
A register for storing the number of clocks from the previous event (see FIG. 17) TMPO (i
): Punch-out event shift register = event immediately after punch-out timing
Register for storing the number of clocks up to the clock (see FIG. 17).
MPO (i) is used to determine the punch-in section in the punch-in record mode.
Used. EVCLK (i): Clock of the next event when event clock register = RUN
A register that stores the clock value. When this value matches GCLK, the next event is executed.
(See FIG. 16). REC (i), PLY (i): record mode register, play mode register = S
Write to track with REC = 1 (set) when running data is RUN
(Except when PNC = 1), and reading is performed from the track of PLY = 1.
Done. By combining this mode, the performance data of a certain track
Play the keyboard etc. while playing and write the performance data to other tracks
You can also do things (multi-recording). PRSBUF (n) (n = 1 to 9): Phrase register = Phrase No. 1 to 9
This register stores the corresponding clock value (GCLK value). Free during RUN
When the clock switch 16 is turned on, the clock value corresponding to the timing
It is stored in this register as a point. Nine phrase points 1-9
After the storage, the clock values are sorted in ascending order from 1 to 9 after being stored.
Is PRSST, PRSEND: Phrase start clock value register, Phrase end
Clock value register = the specified phrase when phrase mode is set
The start clock value and the end clock value are stored. The starting clock value is
Clock value stored in the PRSBUF (n) of the
Is the clock value stored in PRSBUF (n + 1) (see FIG. 18). STPNT (n, i): phrase start pointer = pointer at phrase point
The position (address) of PNT (i) (see FIG. 13) is stored (see FIG. 18). STCLK (n, i): Phrase start event deviation register = immediately before phrase point
Register that stores the number of clocks from the event (see FIG. 18).
NT (n, i), STCLK (n, i): are set for all tracks for each phrase point
Have been. The operation of this sequencer will be described with reference to the flowcharts of FIGS.
You. FIG. 1 shows the main processing operation. When the power of this sequencer is turned on,
The initial setting operation is performed at n1. In this initial setting operation, each register group is cleared.
All the flags are set to 0. In this state, the on / off event of each switch group
Is determined (n2 to n11), and in this operation, any switch is turned on.
The vent (ON / OFF event for fast-forward / rewind switch only) was judged
At each time, the corresponding subroutine is executed. Ie start / stops
When switch ON event is determined (n2) Start / switch subroutine
(N12: see FIG. 4), and when there is a key input from the input / output circuit 8
Executes the (n3) key input subroutine (n13: see FIG. 9). Also, R
When the UN flag is 0, that is, song data is being written / read
When there is no song (n4), the song switch on event (n5) or track No.
When there is a switch-on event (n6), the song select subroutine (
n14: See FIG. 2) Track select subroutine (n15: see FIG. 3)
Run. Also, if writing is not currently being performed on all tracks, that is,
If REC (i) = 1 and PNCPN1 are not satisfied (n7), the pause switch
Switch on event (n8) or fast-forward / rewind switch on / off
Event (n9). When a pause switch-on event is determined
Executes a pause subroutine (n16: see FIG. 5),
When the on / off of the rewind switch is determined, fast forward / rewind (n15:
(See FIG. 8). By the way, if REC (i) = 1 and PNC ≠ 1, punch-in
In record mode, it means that it is out of the punch-in section.
If so, we are trying not to fast-forward or pause because we are writing. On the other hand, only when REC (i) of all tracks is reset, the phrase switch
(N10, n11). Phrase switch on event
When a request is received, a phrase subroutine (n18: see FIG. 7) is executed.
You. Thereafter, in all cases, the tempo setting subroutine (n19: see FIG. 10)
) To perform other processing such as main volume control (n20) n2
And the same operation is repeatedly executed. FIG. 2 shows a song select subroutine. In this operation, first from the numeric keypad
The input two-digit song number is stored in the SONG register (n21). next,
The song data specified by this song No. is read out from the automatic performance memory 5 and
The initial tempo value stored at the beginning of the data is stored in the TMP register.
Then, the tempo clock oscillator 6 is controlled at that tempo (n22). FIG. 3 shows a track select subroutine. First, turn on the track No.
Detect switch (track No.) and store it in track pointer i (n23)
. Next, this track No. switch was turned on at the same time as the record switch.
(N24), and if so, put this track in record mode.
To set the record flag REC (i) (n25). On the other hand, track No.
When only the switch is turned on alone, the REC (i) flag and
And play flag PLY (i), and if either is set,
Is reset (n27) and the routine returns. When both are reset
PLY (i) is set (n28) and the routine returns. That is, track No. switch
By repeating ON only, the play / unspecified mode is repeatedly set. No.
FIG. 4 shows a start / stop subroutine. Start / stop switch
When turned on, the RUN flag is first inverted (n30). As a result of this inversion, RUN
If set (= 1), the operation of n32 or less is executed, and the RUN flag is reset (
= 0), the operation below n37 is executed (n31). The fact that the RUN flag is set to 1 as a result of inversion means that writing / reading is started.
First, the general tempo clock counter GCLK
Clear (n32), the software specified by the pointer PNT (i) (i = 1 to 10).
Then, the head address of each track i of the moving number is substituted (n33). Next, REC (1
(0) is set or not (n34), and if set, the tempo is changed.
Since the setting is performed, the contents of the TMP register (in this case, the initial tempo value is stored
Have been. ) Is written at the beginning of this track and the initial tempo value register I
Substitute into TMP (n35). After that, the phrase mode flag PRS is reset.
(N35) and returns. When REC (10) is reset in n34
In this case, the process proceeds directly from n34 to n36. On the other hand, when the RUN flag is reset as a result of the inversion at n30, n31
→ Proceed to n37 to perform operation end processing. In n37, REC (i) = 1 and PNC (i)
= 0, ie, PAT (i) (PNT (i)) (track = par
Address data pointed by the pointer PNT (i) in the data storage area PAT (i).
Rear) FF which is the end code H Write. Then the punch-in record ends
(N38, n39, n41, n42), and punch-in
If there is a track for which playback has been completed, the track is linked with the previously recorded performance data (
n40). When the punch-in record has been completed, the punch-in record mode (
REC (i) = 1 and PNC (i) = 1).
Event value passes the punch-out timing clock value (POCLK ≦ GC
LK). Also, the connection operation is the punch-in timing recorded earlier.
The performance data written by punch-in is connected to the performance data just before
Then, connect the performance data recorded after the punch-out timing recorded earlier.
After that, it is an operation of adding a new consistent address again. Later on n36
move on. FIG. 5 shows a pause subroutine. When the pause switch is turned on, the PSE
The lag is reversed (n43). If PSE is set as a result of inversion (n44)
A key-off signal corresponding to the key being operated is transmitted (n45) and the routine returns. Inverted
If the result PSE is reset, the turn continues. Send key-off signal
This is because a key-off event does not occur for a sounding key during a pause, so that the sound does not remain. FIG. 6 shows a punch-in / out subroutine. Punch-in / out switch
Switch is turned on during normal song playback (playing the song data in play mode).
Is done. When the punch-in / out switch is turned on, first writing is in progress.
It is determined whether or not (n46, n57). That is, in record mode, PNC ≠ 1
If so, this punch-in / out switch is currently writing performance data.
Ignore ON and turn as it is. When PNC = 1, that is, when pan
When this switch is turned on at the time of setting the chain section (n46 → n47, n46 → n47 → n
52) Cancel the punch-in record mode. That is, 0 is set to the PNC flag.
To turn off the LED (n59). To return. On the other hand, when there is no track with REC (i) = 1 (during reading) and PNC = 0
(N46, n47), since the punch-in timing is set, the punch-in section
Is set to PNC (n48), indicating that the punch-in
The general tempo clock counter at that time
The value of GCLK is substituted (n49). Next, the LED is turned on and off (n50).
Pointer to the punch-in timing pointer PNTPI (i) of the track at that time
Substitute the value of PNT (i) into the punch-in event shift register TMPI (i).
The number of clocks shifted from the event (= GCLK− (EVCLK (i) −PAT (i) (PNT (i
))) Is stored (n51) and the routine returns. On the other hand, when there is no track of REC (i) = 1 (during reading) and PNC = −1,
(N46, n52) is the punch-out timing setting.
1 indicating the section setting is completed is set in the PNC (n53), and the punch-out time is set.
The general tempo clock counter at that time
The value of GCLK is substituted (n54). Next, the LED is turned on (n55).
The track punch-out timing pointer PNTPO (i)
Substitute the value of PNT (i) into the punchout event shift register TMPO (i).
Store the number of clock shifts until the subsequent event (= EVCLK (i) -GCLK)
(N56) Return. FIG. 7 shows a phrase subroutine. When the phrase switch is turned on, it is determined whether or not the phrase switch is pressed simultaneously with the function switch (n60). simultaneous
If pressed, PRSBUF (n) is empty because it is a phrase point setting operation
Is substituted for the value of GCLK at that time (n68). PRSBUF (n) after substitution
Are rearranged in ascending order (n69) and the process returns. If the phrase switch is pressed alone, the phrase mode is set.
It is determined whether the UN flag is set / reset (n61). RUN flag is set
If this is the case, it means that the data has already been written / read.
Turn without changing the mode. RUN flag resets
If it is, the input of the phrase number n is received from the numeric keypad at n62, and
It is determined whether or not the key is the 0 key (n63). If 0 is entered,
Is an operation to clear all the phrase buffers PRSBUF set in
Therefore, the process is executed at n70 and the process returns. If a value other than n = 0 is input, the value of PRSBUF (n) is changed to GCLK and
Substitute it into the phrase start register PRSST (n64). PRSBUF (n + 1) value
Is substituted into the phrase end register PRSEND (n65). Then on each track
The address of the first duration data of the phrase in PNT (i) and ST
Substitute into PNT (i) (n66). This reads the duration data from the beginning
The data when the output exceeds PRSST is the address. After that,
Mode flag PRS and pause mode flag PSE are both set (n67
) Return. Turn on the pause switch to start phrase mode reading.
Can be canceled. At this time, when the start / stop switch is turned on,
Play from the beginning of the song ignoring the address set by the laze subroutine
Is started. FIG. 8 shows a fast forward / rewind subroutine. This operation is performed by the fast-forward switch or
Is an operation performed when there is an on / off event of the rewind switch. n7
At 0 to n73, it is determined which switch has been turned on / off. Fast forward sui
Switch on event, the sequence proceeds from n70 to n74, and the FR flag is reset.
To determine whether the If the FR flag is set, it means that rewinding has already been performed, so ignore this fast-forward switch and return.
I do. If the FR flag has been reset, the clock control subroutine (FIG.
Reference) (n75). Here, the clock control subroutine (B) of the drawing first judges the RUN flag.
(N86), since it is being read when set, it is audible
Set the clock frequency to 8 times the normal frequency to fast-forward / rewind at
Return (n87) and read if the RUN flag is reset
Since it is not in the middle, the clock frequency is set to the highest speed (n88) and the routine returns. After this clock control subroutine, the FR flag is set and STP
Substitute 1 for the register (n76) and return. When an ON event of the rewind switch occurs, the process proceeds from n71 to n77, and F
It is determined whether the R flag has been reset. If the FR flag is set
This means that the fast-forward operation has already been performed.
Ignore the on event and return directly. When the FR flag is reset
In this case, the clock control subroutine is performed at n78, and the event data is reversed.
Event clock registers EV for all tracks (i)
CLK is set to the clock value of the immediately preceding event occurrence (n79). That is,
Until then, EVCLK (i) had stored the clock timing of the next event.
Therefore, PAT (i) (PNT (i)) is subtracted to set the clock timing of the immediately preceding event.
Next, the FR flag is set, and -1 is substituted into the STP register (n80).
On. On the other hand, when the rewind switch off event occurs, the process proceeds from n71 to n81.
It is determined whether or not STP is -1. If STP is not -1, rewind now
Since it is not in the middle, this off event is ignored and return is made. STP register is -1
If so, rewinding is being performed, and the operation of n82 or less is executed to cancel this. First
Set the event clock to the clock value of the next (forward) event.
The current PAT (i) (PNT (i)) is added to all EVCLK (i) (n82), and the clock cycle
The wave number is returned to a normal value, and reading is resumed at a normal tempo (n83). This
Then, the FR flag is reset, 1 is substituted for STP (n84), and the routine returns. When the fast-forward switch off event occurs, the process proceeds from n73 to n85 and the STP
It is determined whether it is 1. If the STP register is 1, fast forward is in progress.
In order to cancel, the process proceeds to n83 to execute processing for returning to normal read operation. STP
If the register is not 1 (if it is -1), the rewind operation is in progress and this off-event
Return, ignoring the event. FIG. 9 shows a key input subroutine. This operation is performed to correct performance data.
Executed when performance data is input from a performance device such as a keyboard via the output circuit 8
Operation. Performance data is input based on the MIBI format.
This data includes a track number (channel number) and the like. This day
When the data is input, the track number in the data input in n91 is
Set to interface i. This track is currently being written (REC = 1 and PNC
If ≠ 1), the operation of n93 or less is executed. Unless writing is in progress, the
Turn (n92). In n93, is EVCLK (i) equal to current GCLK?
Determine whether or not. If they are equal, the key input to PAT (i) (PNT (i)) in n96.
-Information is written, GCLK is set to EVCLK (i) (n96), and PNT (i)
(N97) and returns. EVCLK (i) is equal to current GCLK
Otherwise, the duration data between events is recorded in PAT (i) (PNT (i)) at n94.
GCLK-EVCLK (i) is set as the data (n94), and the pointer PNT (i) is set.
After stepping forward (n95), proceed to n96. FIG. 10 shows a tempo setting subroutine. In this operation, at n100, T
The tempo clock oscillator is controlled based on the value of the MP register.
Pop-up key 21, tempo down key 22, or tempo switch 19 → numeric keypad
Also, the rewriting of the TMP by the input of the tempo value from is executed. Track (10) is currently written
If recording (REC (10) = 1 and PNC ≠ 1), then the operation of n102 or less
The writing operation is executed, and if the writing is not being performed, the turn is performed as it is (n101). n10
In step 2, EVCLK (10) = GCLK is determined.
DTMP register calculates the change rate of the current tempo with respect to the initial tempo value ITMP of
(N105). The rate of change is Is calculated. If the value of DTMP is larger than 0, the tempo is up.
PAT (10) (tempo-up event data D0 H , DTMP (No.
After writing (n107), the pointer PNT (10) is incremented.
(N109), and returns. If DTMP is negative, the tempo
C0 which is tempo down data because it is down H , -DTMP to PAT (10) (PN
After writing to T (10)), PNT (10) is advanced (n109) and the process returns. If EVCLK (10) and GCLK do not match in n102,
GCLK-EVCLK (10) is set as the configuration data (n103).
After stepping through the inter PNT (10), the process proceeds to (n104) n105. FIG. 11 shows a clock interrupt subroutine. This operation is triggered by the tempo clock.
The process is executed at predetermined timing by an interrupt of the shaker 6. In this operation, first
That read / write based on the lock signal is performed, that is, RU
It is determined that N = 1 and PSE = 0 or FR = 1 (n121). this
If the conditions are not satisfied, the processing operation by the clock interrupt is unnecessary.
Return as it is. If the condition is satisfied, execute the operation of n122 or less.
. For n122 and below, the value of STP is first stored in the general clock register GCLK.
In addition, the clock is updated (n122). STP is for normal read / write
GCLK is incremented by one because it is +1 at the time of fast forward and -1 at the time of rewind.
Therefore, GCLK decreases one by one. After that, n123, n126, n131
The punch-in
Timing and punch-out timing
You. In other cases, normal event clock increments and events of n136 or less
Proceed to data processing operation. If it is determined in n123 that it is a phrase repetition point, n12
The operation proceeds to operation 4 and below. The phrase repetition point is the phrase mode flag
It can be determined by PRS = 1 and GCLK = PRSEND (phrase end register). In step n124, the key being turned on at that time is
Key-off signal to the tone generator, and repeat from the beginning of the phrase.
To return, set GCLK ← PRSST, and set all PNT (i) ← STPNT (i),
EVCLK (i) ← STCLK (i) is set, and (n125) proceeds to n150. If it is determined in n126 that the punch-in timing has been reached, the operation of n127 or less is performed.
Perform the work. Note that the punch-in timing is determined by REC (i
) = 1, PNC (i) = 1 and GCLK = PICLK.
Can be. In n127, it indicates to PNC that punch-in record is being performed.
-1 is set, and the LED is turned on and off (n128). After that, REC (i)
PICLK-TMPI (i) is set to EVCLK (i) in track i where = 1.
After setting the start address of the punch-in section in PNT (i) (n12
9) The key currently being keyed on the PAT (i) (PNT (i)) indicated by this PNT (i)
Is written (n130), and the process proceeds to n150. On the other hand, when it is determined that the punch-out timing is reached in n131, n1
Execute the operation of 32 or less. In n132, 1 is set in the PNC. Punch out
REC = 1, PNC = −1 in any track
And it can be determined by GCLK = POCLK. Then n1
At 33, the LED is turned on.
GCLK-EVCLK (i) data is stored in PAT (i) (PNT (i)) indicated by NT (i).
(N134), GCLK + TMPO (i) is written to EVCLK (i) and PNT (i)
After writing PNTPO (i) (n135), the process proceeds to n150. n136 and below are normal event clock increments and event data for each track
Processing operation. First, in n136, 1 is set to the track pointer i, and n
137, n138, this track is reading performance data (PLY (i) =
1) or in the punch-in record (REC (i) = 1 and PNC = -1)
It is determined whether or not EVCLK (i) = GCLK. This condition
When it is performed, the operation of n139 or less is executed. If this condition is not met
Does not need to perform the following operation, jumps to 145 and adds 1 to i (n
145), the operation of n137 or less is repeated until i exceeds 10. (n146) In n139, the next clock information (duplication) in the clock traveling direction is referred to the STP.
The pointer PNT (i) is jumped to (relation data) (n139). this
If the next clock information does not exist in the jump operation, it is assumed that the song has ended.
To n140 → n141. Fast forward / wind if next clock information exists
Except for the return (n142), the event information at this time (key-on / key-off)
, Etc.) (n143). In this process, forward playback (STP = 1)
In such a case, the processing according to the contents is executed, and in the case of reverse playback (STP = −1),
Execute the process with the opposite contents. Processing with the opposite content is, for example, key-on event
Key-off processing in the event of a tempo, and tempo down in the case of a tempo-up event
For example, processing is performed. Next, in n144, the clock information is added to EVCLK (i).
A certain PAT (i) (PNT (i)) is multiplied by STP and added. This allows for rewinding
Means that PAT (i) (PNT (i)) is subtracted. Thereafter, the flow advances to n145. Phrase mode when operation proceeds to n141 without next clock information
In the case of, go to n141 → n147, and repeat from the beginning of the phrase.
Set K ← PRSST and set all PNT (i) ← STPNT (i), EVCLK (i)
<-Set STCLK (i) and proceed to n150. Otherwise, stop playing
Resets the RUN flag (n148) and returns. In n150, the number of bars and the number of bars currently being written / read are displayed on the display.
Displays the number of locks. The number of measures displayed is calculated by GCCK / 32
The number is GCLK. MOD. Calculated at 32. Return after this display. (g) Effects of the Invention As described above, in the performance data processing device of the present invention, the tempo data in the middle of the music is initially
By recording at the rate of change from the initial tempo value, the tempo of the entire song changes.
If you change the tempo, you can simply increase or decrease the initial tempo value and increase or decrease the overall tempo.
When the song jumps due to fast forward or rewind, the initial tempo is always
Since the value is referenced, the tempo setting can be kept accurate. BRIEF DESCRIPTION OF THE DRAWINGS FIGS. 1 to 11 are flowcharts showing the operation of a sequencer according to an embodiment of the present invention. FIG. 1 shows a main processing operation, and FIGS. Keisui
FIG. 11 shows a subroutine executed in accordance with the on / off operation of the switch.
Indicates the interrupt operation. FIG. 12 is a block diagram of the control unit of the sequencer and its operation.
FIG. 13 is a diagram showing an operation panel, FIG. 13 is a diagram showing a configuration of an automatic performance memory of the sequencer,
FIGS. 14A to 14G show the format of various data stored in the automatic performance memory.
FIG. 15 is a diagram showing a configuration of a register group of the sequencer, and FIGS.
FIG. 18 shows pointers and clocks set in various registers in various modes.
FIG. 4 is a diagram for explaining the contents of data.

Claims (1)

【特許請求の範囲】 (1) テンポデータを含む演奏データを記録し、記録された演奏データをそのテ
ンポデータに基づく速度で読み出す演奏データ処理装置において、 現在のテンポ値に対するテンポの増加又は減少が自動演奏中に指定されたとき
に曲途中に記録されるテンポデータを、曲の最初のテンポデータである初期テン
ポ値からの増減率として算出し、これを自動演奏中にリアルタイムで記録する手
段を設けたことを特徴とする演奏データ処理装置。
(1) In a performance data processing apparatus for recording performance data including tempo data and reading out the recorded performance data at a speed based on the tempo data, an increase or decrease in tempo relative to a current tempo value is provided. A means for calculating the tempo data recorded in the middle of a song when specified during automatic performance as an increase / decrease rate from the initial tempo value which is the first tempo data of the song, and recording this in real time during automatic performance A performance data processing device characterized by being provided.

Family

ID=

Similar Documents

Publication Publication Date Title
JP2580720B2 (en) Automatic performance device
JP3099436B2 (en) Chord detection device and automatic accompaniment device
US5233521A (en) Automatic performance apparatus with display showing progress of tune
JP2508858B2 (en) Performance data processor
JP2508858C (en)
US5326930A (en) Musical playing data processor
JPH03196195A (en) Electronic musical instrument
JP2851075B2 (en) Automatic performance device
JP2720794B2 (en) Automatic performance device
JP3282605B2 (en) Automatic performance device
JP3090123B2 (en) Waveform generation method
JPH05173561A (en) Electronic musical instrument
JPH03126085A (en) Performance data processor
JP2508893B2 (en) Automatic playing device
JP3204014B2 (en) Performance instruction device and electronic musical instrument
JP2745802B2 (en) Performance data recording and playback device
JP3517953B2 (en) Automatic performance device
JP2606446B2 (en) Automatic performance device
JP3189825B2 (en) Music playback method
JP2768360B2 (en) Performance data recording and playback device
JP2555828B2 (en) Electronic musical instrument
JP2616072B2 (en) Music data processor
JP2555829B2 (en) Electronic musical instrument
JPH04186299A (en) Electronic musical instrument
JP3630097B2 (en) Performance instruction device and electronic musical instrument