JP3632806B2 - Performance information storage device and medium on which performance information storage program is recorded - Google Patents

Performance information storage device and medium on which performance information storage program is recorded Download PDF

Info

Publication number
JP3632806B2
JP3632806B2 JP32596996A JP32596996A JP3632806B2 JP 3632806 B2 JP3632806 B2 JP 3632806B2 JP 32596996 A JP32596996 A JP 32596996A JP 32596996 A JP32596996 A JP 32596996A JP 3632806 B2 JP3632806 B2 JP 3632806B2
Authority
JP
Japan
Prior art keywords
performance information
performance
stored
bank
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP32596996A
Other languages
Japanese (ja)
Other versions
JPH10149162A (en
Inventor
公洋 名越
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP32596996A priority Critical patent/JP3632806B2/en
Publication of JPH10149162A publication Critical patent/JPH10149162A/en
Application granted granted Critical
Publication of JP3632806B2 publication Critical patent/JP3632806B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、例えば、シーケンサ等の演奏記録再生装置に用いて好適な演奏情報記憶装置および演奏情報記憶方法並びに演奏情報記憶プログラムを記録した媒体に関する。
【0002】
【従来の技術】
従来より、所望の楽曲の各音符について、その音符の音高や発音タイミング等からなる演奏情報を記憶しておき、これを演奏したテンポあるいは指定テンポで再生するシーケンサ(演奏記録再生装置)が知られている。このシーケンサでは、音高や符長などを表わす演奏情報を一音づつ入力するステップ入力や、実際の演奏操作(例えば、鍵盤操作)に応じて発生する演奏情報をリアルタイム入力する方式によって記憶保持する演奏情報記憶装置を備えている。
【0003】
【発明が解決しようとする課題】
さて、このような演奏情報記憶装置において、リアルタイム入力により演奏情報を記憶するには、記憶する曲番号を指定してから記憶開始を指示するスタートスイッチを操作し、記憶を終了する際にはストップスイッチを操作する等の各種スイッチ操作が必要となる。
【0004】
このため、例えば、作曲演奏中に思い浮かんだ断片的なフレーズをすぐさま書き留めておきたい場合などでは不向きな操作となってしまう。つまり、心に描いたフレーズを演奏によって表現している最中では”演奏を記録する”という意識が無く、そのような状態で上述の各種スイッチ操作を行うと、創作中にある思考の流れが阻害されてしまい、操作が煩わしくなるという問題がある。
【0005】
そこで本発明は、上述した事情に鑑みてなされたもので、演奏入力したフレーズをワンタッチで記憶保存したり、何等スイッチ操作せずとも自動的に記憶保存することができる演奏情報記憶装置および演奏情報記憶方法並びに演奏情報記憶プログラムを記録した媒体を提供することにある。
【0009】
【課題を解決するための手段】
上記目的を達成するため、請求項に記載の演奏情報記憶装置では、演奏操作に対応して発生する演奏情報を一時記憶するバッファ領域と当該演奏情報を記憶保存するバンク領域とを備える記憶手段と、この記憶手段のバッファ領域に演奏情報を順次一時記憶して行き、先の演奏操作から一定時間以上経過した後に新たな演奏操作がなされた場合には、当該バッファ領域に格納済みの前記先の演奏操作までの演奏情報を前記バンク領域に転送して記憶保存する記憶制御手段と、前記バッファ領域に格納済みの演奏情報が前記バンク領域へ転送記憶されないように指示する手段であって、当該指示された状態においては、先の演奏操作から一定時間以上経過した後に新たな演奏操作がなされた場合であっても、前記バッファ領域に格納済みの演奏情報を前記バンク領域へ転送記憶しないように前記記憶制御手段を制御する転送防止手段とを具備することを特徴としている。
【0011】
請求項に記載の演奏情報記憶プログラムを記録した媒体では、演奏操作に対応して発生する演奏情報を記憶手段のバッファ領域に順次一時記憶する一時記憶手順と、先の演奏操作から一定時間以上経過した後に新たな演奏操作がなされた時には、前記バッファ領域に格納済みの前記先の演奏操作までの演奏情報を前記記憶手段のバンク領域に転送して記憶保存する転送記憶手順と、前記バッファ領域に格納済みの演奏情報が前記バンク領域へ転送記憶されないように指示された状態においては、先の演奏操作から一定時間以上経過した後に新たな演奏操作がなされた場合であっても、前記バッファ領域に格納済みの演奏情報を前記バンク領域へ転送記憶しないように制御する転送防止手順とをコンピュータが読み取り実行可能に記録されていることを特徴としている。
【0013】
発明では、演奏操作が完了してから一定時間以上経過後に再度の演奏操作がなされると、記憶手段のバッファ領域に格納済みの先の演奏操作に対応した演奏情報を自動的にバンク領域に転送して記憶保存し、一方、転送防止が指示されているときには、一定時間以上経過した後に再度の演奏操作がなされても、バッファ領域に格納済みの演奏情報をバンク領域に転送せずに破棄する。これにより、演奏入力したフレーズを何等操作せずとも自動的に記憶保存することが可能となる。
【0014】
【発明の実施の形態】
本発明による演奏情報記憶装置および演奏情報記憶方法並びに演奏情報記憶プログラムを記録した媒体は、シーケンサの他、電子楽器やパーソナルコンピュータを用いたコンピュータミュージック機器にも適用可能である。以下では、本発明の実施の形態である電子楽器を実施例として図面を参照して説明する。
【0015】
A.第1実施例
(1)全体構成
図1は、本発明の第1実施例による電子楽器の構成を示すブロック図である。この図において、1は鍵盤であり、押離鍵操作(演奏操作)に応じたキーオン/キーオフ信号、キーコードおよび押鍵速度(強度)に対応したベロシティ情報等の演奏情報を発生する。
【0016】
2は楽器パネル前面に配設されるパネルスイッチ群である。このパネルスイッチ群2には、電源投入用のオンオフスイッチや音色選択スイッチの他、演奏入力されたフレーズの演奏情報を記録する際に操作されるバンクスイッチBS、フレーズバンク(後述する)を選択するバンクセレクトスイッチBSEL等が設けられている。3はLCDパネル等から構成される表示部であり、後述するCPU4から供給される表示制御信号に応じて楽器全体の動作モードや各種設定状態を表示する。
【0017】
CPU4は、鍵盤1から出力される演奏情報に応じて後述する音源7に楽音発生を指示する他、その演奏情報を記憶したり再生させる機能を備える。なお、本発明の要旨に係わるCPU4の動作については追って述べる。5はROMであり、上記CPU4にロードされる各種制御プログラムの他、楽音制御用の各種パラメータやテーブルが記憶される。
【0018】
なお、ROM5に記憶されるプログラムやデータ類は、記録媒体を備える記憶装置10に記憶しておく態様としても良く、記録媒体としては固定的あるいは着脱自在な媒体に磁気記録、光磁気記録、光学的記録する他、ICカードのようにフラッシュメモリ等の書き換え可能な不揮発性の半導体メモリを用いても良い。
また、ROM5に記憶されるプログラムやデータ類は、通信回線等を介して接続された他の機器から受信して上述の記録媒体に記憶する態様にすることも可能であるし、後述するRAM4や、ROM3の代りに設けたフラッシュメモリ等の書き換え可能な不揮発性メモリにダウンロードする構成にしても良い。
【0019】
6はCPU4のワークエリアとして用いられるRAMであり、各種演算結果やレジスタ・フラグの他、上述のバンクスイッチBSのオン操作に応じて演奏情報を記憶保持するフレーズエリアを備える。なお、このフレーズエリアの構成については後述するが、当該フレーズエリアは、RAM6に限らず、電気的に書き換え可能な不揮発性メモリを別途に設け、このメモリにアサインする態様としても良い。
【0020】
音源7は、周知の波形メモリ読み出し方式によって構成され、時分割動作する複数の発音チャンネルを備える。この音源7は、各種音色の波形データを記憶しており、予め指定された音色の波形データを、CPU4から供給される演奏情報に応じて読み出して楽音波形Wを発生する。
8はD/A変換回路であり、上記音源7から出力される楽音波形Wをアナログ波形信号に変換して次段のサウンドシステム9に供給する。サウンドシステム9は、例えば、前段から供給されるアナログ波形信号に対して不要ノイズを除去する等のフィルタリングを施した後、これを増幅してスピーカから発音する。
【0021】
(2)RAM6の構成
次に、図2〜図3を参照してRAM6に設けられるフレーズエリアの構成について説明する。
図2において、Rpはリードポインタであり、後述するテンポラリバッファTBの読み出しアドレスを指定する。Wpはライトポインタであり、テンポラリバッファPBの書込みアドレスを指定する。つまり、リードポインタRpおよびライトポインタWpは、テンポラリバッファTBの読み出し/書込み位置を管理する。
【0022】
テンポラリバッファTBは、鍵盤1の押離鍵操作に応じて発生する演奏情報を一時記憶する。PBはフレーズバンクPB(0)〜P(n)から形成されるフレーズバンクエリアである。各フレーズバンクPB(0)〜PB(n)は、前述したバンクセレクトスイッチBSELの操作に応じて選択される他、演奏情報を記憶保持する際に更新指定されるものであり、選択指定あるいは更新指定されるフレーズバンクPB(0)〜PB(n)に対してテンポラリバッファTBに一時記憶される演奏情報が記憶保存される。
【0023】
DIRはディレクトリエリアであり、各フレーズバンクPB(0)〜PB(n)の先頭アドレスおよびデータサイズを管理するデータが記憶される。すなわち、図3に示す通り、ディレクトリエリアDIRは、フレーズアドレスPADとフレーズデータサイズPDSとから構成されている。
フレーズアドレスPADは、各フレーズバンクPB(0)〜PB(n)毎の先頭アドレスを記憶するアドレスエリアPAD(0)〜PAD(n)からなる。一方、フレーズデータサイズPDSは、各フレーズバンクPB(0)〜PB(n)毎のデータサイズを記憶するサイズエリアPDS(0)〜PDS(n)から形成されている。
【0024】
(3)動作
次に、図4〜図7を参照して上記構成による第1実施例の動作について説明する。なお、ここでは特に、鍵盤1の押離鍵操作により生成される演奏情報を、バンクスイッチBSのオン操作に応じて記憶保存する動作について言及する。
【0025】
▲1▼全体動作(メインルーチン)
まず、本実施例による電子楽器に電源が投入されると、CPU4はROM5に記憶された制御プログラムをロードした後、図4に示すメインルーチンを実行してステップSA1に処理を進め、各種レジスタ・フラグ類をゼロリセットしたり、あるいは初期値セットするイニシャライズを行う。この後、CPU4はステップSA2に処理を進め、パネルスイッチ群2のスイッチ操作に応じた各種のスイッチ処理を行う。このスイッチ処理では、後述するように、バンクスイッチBSのオン操作に対応してテンポラリバッファTBに一時記憶される演奏情報を、自動的にフレーズバンクPBへ退避格納して保存する。
【0026】
そして、ステップSA3では、鍵盤1の押離鍵操作に応じて演奏情報を発生させたり、この演奏情報をテンポラリバッファTBに一時記憶する鍵盤処理を行う。次いで、ステップSA4では、上記鍵盤処理にて生成した演奏情報に対応して音源7に発音指示する発音処理を行い、そして、続くステップSA5では、上記スイッチ処理に対応して動作状態等を表示する表示処理等、その他の処理を実行する。これ以後、CPU4はステップSA2〜SA5の各処理を繰り返す。
【0027】
▲2▼タイマインタラプト処理
CPU4では、演奏操作(押離鍵操作)が行われない空白時間を計測すべく、一定周期毎に図5に示すタイマインタラプト処理を実行している。割込みタイミングになると、CPU4は図5に示すステップSB1に処理を進め、レジスタBCに格納されるカウンタ値を1インクリメントして歩進させる。そして、次のステップSB2では、歩進されたカウンタ値が最大値MAXに達したか否かを判断する。ここで、最大値MAXに達していない時には、判断結果が「NO」となり、この処理を一旦終了させてメインルーチンへ復帰する。
一方、カウンタ値が最大値MAXに達した時には、判断結果が「YES」となり、次のステップSB3に処理を進め、その値を1デクリメントしてカウンタ値を最大値MAXでクリップさせて本処理を終了する。
【0028】
▲3▼鍵盤処理ルーチンの動作
上述したステップSA3を介して図6に示す鍵盤処理ルーチンが実行されると、CPU4はステップSC1に処理を進め、キーオンイベントの有無を判別する。ここで、押鍵操作に応じてキーオンイベントが発生すると、ステップSC1の判断結果が「YES」となり、次のステップSC2に処理を進める。ステップSC2では、押鍵された鍵のキーコードやベロシティを表わす演奏情報を生成し、これを音源7へ送出するキーオン処理を行う。
【0029】
一方、離鍵操作に応じてキーオフイベントが発生すると、上記ステップSC1を介してステップSC3に進み、ここでの判断結果が「YES」となってステップSC4に処理を進める。ステップSC4では、音源7に対して離鍵された鍵のキーコードに対応する楽音の消音を指示するキーオン処理を行う。
なお、押離鍵操作がなされない場合には、上記ステップSC1,SC2の判断結果がいずれも「NO」となり、何も処理せずに本ルーチンを完了する。
【0030】
さて、作曲者が断片的なフレーズを弾いた場合、その押鍵操作に対応して上記ステップSC2のキーオン処理が行われた後、CPU4はステップSC5に処理を進める一方、離鍵操作に対応してステップSC8に処理を進める。
まず、押鍵操作に対応してステップSC5に進むと、CPU4は上述のタイマインタラプト処理(図5参照)にて歩進されるレジスタBCのカウンタ値が一定値BTIME以上であるか否かを判断する。ここで、一定値BTIME以上であると、判断結果が「YES」となり、次のステップSC6に進む。ステップSC6では、現在、キーオン中の鍵の数が「0」であるか否かを判断する。そして、キーオン中の鍵が無ければ、判断結果が「YES」となり、ステップSC7に処理を進めてリードポインタRpの値をライトポインタWpに書き換える。
【0031】
このように、ステップSC5〜SC7では、今回のキーオンイベントが発生する迄の間に、押鍵操作されない空白時間があったかどうかを判断しており、一定値BTIMEで表わされる空白時間が存在した時には、テンポラリバッファTBをクリアすべくリードポインタRpの値をライトポインタWpに書き換え、両ポインタRp,Wpが指し示すアドレスを一致させる。
なお、空白時間が存在しない時には、上記ステップSC5、SC6の判断結果が「NO」となり、ステップSC8に処理を進めるので、この場合にはテンポラリバッファTBはクリアされない。
【0032】
そして、ステップSC8に進むと、CPU4はライトポインタWpが指し示す書込みアドレスに従ってテンポラリバッファTBに演奏情報を順次書き込んで行く。書き込まれる演奏情報は、キーオン/キーオフイベントの間隔(イベント時間差)、キーコードおよびベロシティからなる。
こうして演奏情報がテンポラリバッファTBに書き込まれると、ステップSC9に処理を進めてライトポインタWpを更新し、続くステップSC10ではレジスタBCのカウンタ値をゼロクリアして本ルーチンを完了する。
【0033】
このように、鍵盤処理ルーチンでは、押離鍵操作に対応して発生する演奏情報(イベント時間差、キーコードおよびベロシティ)を順次テンポラリバッファTBに書き込んで行き、一定時間以上の間、押鍵操作されない場合にはテンポラリバッファTBをクリアすべくリードポインタRpとライトポインタWpとを一致させている。
【0034】
▲4▼スイッチ処理(バンクスイッチBSがオン操作された時の動作)
以上のようにして、演奏した断片的なフレーズがテンポラリバッファTBに一時記憶されている状態で、バンクスイッチBSがオン操作されたとする。
そして、CPU4が前述のステップSA2を介して図6に示すスイッチ処理ルーチンを実行してステップSD1に処理を進めると、先ずステップSD1においてパネルスイッチ群2を形成する各種スイッチを走査して設定状態を検出する。
【0035】
次いで、ステップSD2では、バンクスイッチBSがオン設定されているか否を判断する。この場合、当該スイッチBSがオン操作されるから、判断結果が「YES」となり、次のステップSD3に処理を進める。なお、バンクスイッチBSがオン操作されない時には、判断結果が「NO」となり、ステップSD8に進み、その他のスイッチ処理を行う。
【0036】
ステップSD3では、リードポインタRpとライトポインタWpとが異なるアドレスを指し示しているか否か、つまり、テンポラリバッファTBに演奏情報が一時記憶されている状態であるかどうかを判断する。ここで、リードポインタRpとライトポインタWpとが同一のアドレスを指定する場合、すなわち、テンポラリバッファTBが空の時には判断結果が「NO」となり、本ルーチンを完了する。
【0037】
一方、前述した鍵盤処理ルーチンによって、テンポラリバッファTBに演奏情報が一時記憶されていると、判断結果が「YES」となり、ステップSD4に処理を進める。ステップSD4では、リードポインタRpが指し示す読み出し開始アドレスを、アドレスエリアPAD[BNUM]にセットする。なお、BNUMは、前述のバンクセレクトスイッチBSELの操作によって指定されるバンク番号である。次いで、ステップSD5では、ライトポインタWpとリードポインタRpとの差で表わされる演奏情報のデータサイズを、サイズエリアPDS[BNUM]にセットする。
【0038】
そして、次のステップSD6に進むと、CPU4はアドレスエリアPAD[BNUM]にセットされた読み出し開始アドレスに基づき、サイズエリアPDS[BNUM]にセットされたデータサイズ分の演奏情報をテンポラリバッファTBから読み出し、これをフレーズバンクPB[BNUM]に書込み保存する。
次いで、ステップSD7では、ライトポインタWpのアドレス値をリードポインタRpにストアし、テンポラリバッファTBを再びクリアすると共に、バンク番号BNUMの重複を避けるべく、レジスタBNUMにストアされるバンク番号BNUMを歩進させて本ルーチンを完了する。
【0039】
以上のように、第1実施例によれば、作曲者がフレーズを弾き始めると、その押離鍵操作に対応して発生する演奏情報(イベント時間差、キーコードおよびベロシティ)が順次テンポラリバッファTBに書き込まれ、弾き終わりから一定時間経過する前にバンクスイッチBSがオン操作された場合、テンポラリバッファTBに書き込まれた演奏情報列が、フレーズバンクPBに自動的に書き込まれて保存されるので、演奏入力したフレーズをワンタッチで記録することが可能になる。
一方、弾いてみたフレーズが気に入らず、バンク保存しない時には、そのまま放置しておけば、弾き終わりから一定時間経過後に自動的にテンポラリバッファTBがクリアされる。
【0040】
B.第2実施例
上述の第1実施例では、フレーズを弾き終わってから一定時間経過する迄の間にバンクスイッチBSをオン操作すると、テンポラリバッファTBに一時記憶されたフレーズの演奏情報列がフレーズバンクPBに自動的に保存され、バンクスイッチBSがオン操作されない時には自動的にテンポラリバッファTBに一時記憶されたフレーズの演奏情報列がクリアされるようにした。
【0041】
これに対して、第2実施例では、後述するように、フレーズを弾き終わってから一定時間以上経過してから再び押鍵がなされると、テンポラリバッファTBに既に一時記憶されている演奏情報列がフレーズバンクPBに自動的に保存されるようにし、消去指示するキャンセルスイッチCS(後述する)をオン操作した時にはテンポラリバッファTBをクリアして自動保存を回避する態様となっている。
【0042】
したがって、第2実施例と上述の第1実施例との構成上の差異は、バンクスイッチBSに替えて不要フレーズの保存を防止する際に操作されるキャンセルスイッチCSを設けたことにあり、これ以外は第1実施例と同一構成だから、構成の説明については省略する。
また、第2実施例では、鍵盤処理ルーチンおよびスイッチ処理ルーチンのみが第1実施例と相違するので、以下、これらルーチンの動作について説明する。
【0043】
▲1▼鍵盤処理ルーチンの動作
上述した第1実施例と同様、ステップSA3を介して図8に示す鍵盤処理ルーチンが実行されると、CPU4はステップSE1に処理を進め、キーオンイベントの有無を判別する。ここで、押鍵操作に応じてキーオンイベントが発生すると、ステップSE1の判断結果が「YES」となり、次のステップSE2に処理を進める。ステップSE2では、押鍵された鍵のキーコードやベロシティを表わす演奏情報を生成し、これを音源7へ送出するキーオン処理を行う。
【0044】
一方、離鍵操作に応じてキーオフイベントが発生すると、上記ステップSE1を介してステップSE3に進み、ここでの判断結果が「YES」となってステップSE4に処理を進める。ステップSE4では、音源7に対して離鍵された鍵のキーコードに対応する楽音の消音を指示するキーオン処理を行う。
なお、押離鍵操作がなされない場合には、上記ステップSE1,SE2の判断結果がいずれも「NO」となり、何も処理せずに本ルーチンを完了する。
【0045】
さて、作曲者が断片的なフレーズを弾いた場合、その押鍵操作に対応して上記ステップSE2のキーオン処理が行われた後、CPU4はステップSE5に処理を進める一方、離鍵操作に対応してステップSE11に処理を進める。
まず、押鍵操作に対応してステップSE5に進むと、CPU4は前述したタイマインタラプト処理(図5参照)にて歩進されるレジスタBCのカウンタ値が一定値BTIME以上であるか否かを判断する。ここで、一定値BTIME以上であると、判断結果が「YES」となり、次のステップSE6に進む。ステップSE6では、現在、キーオン中の鍵の数が「0」であるか否かを判断する。そして、キーオン中の鍵が無ければ、判断結果が「YES」となり、ステップSE7に処理を進める。
【0046】
ステップSE7では、リードポインタRpとライトポインタWpとが異なるアドレスを指し示しているか否か、つまり、テンポラリバッファTBに演奏情報が一時記憶されている状態であるかどうかを判断する。ここで、リードポインタRpとライトポインタWpとが同一のアドレスを指定する場合、すなわち、テンポラリバッファTBが空の時には判断結果が「NO」となり、後述するステップSE11に処理を進める。
【0047】
一方、テンポラリバッファTBに既に演奏情報が一時記憶されている場合には、ここでの判断結果が「YES」となり、ステップSE8に処理を進める。ステップSE8では、リードポインタRpが指し示す読み出し開始アドレスを、アドレスエリアPAD[BNUM]にセットすると共に、ライトポインタWpとリードポインタRpとの差で表わされる演奏情報のデータサイズを、サイズエリアPDS[BNUM]にセットする。なお、BNUMは、前述のバンクセレクトスイッチBSELの操作によって指定されるバンク番号である。
【0048】
次いで、ステップSE9に進むと、CPU4はアドレスエリアPAD[BNUM]にセットされた読み出し開始アドレスと、サイズエリアPDS[BNUM]にセットされたデータサイズとに応じてテンポラリバッファTBから演奏情報列を読み出してフレーズバンクPB[BNUM]に書込み保存する。この後、ステップSE10に進み、ライトポインタWpのアドレス値をリードポインタRpにストアし、テンポラリバッファTBをクリアする。
【0049】
このように、ステップSE5〜SE10においては、先の演奏操作が完了してから一定時間以上経過してから次の演奏操作による押鍵があると、先の演奏操作に対応してテンポラリバッファTBに一時記憶されている演奏情報列がフレーズバンクPBに自動的に保存される。このようにすることで、演奏入力されたフレーズを自動的に記憶保存でき、保存し忘れを防止することが可能になっている。
【0050】
なお、一定時間以上の空白時間が存在しない時、あるいはテンポラリバッファTBが空の場合には、上記ステップSE5、SE6およびSE7の判断結果がいずれも「NO」となり、これらの場合にはステップSE11に処理を進めるので、上述の自動保存は実行されない。
【0051】
そして、ステップSE11に進むと、CPU4はライトポインタWpが指し示す書込みアドレスに従ってテンポラリバッファTBに演奏情報を順次書き込んで行く。書き込まれる演奏情報は、キーオン/キーオフイベントの間隔(イベント時間差)、キーコードおよびベロシティからなる。
こうして演奏情報がテンポラリバッファTBに書き込まれると、ステップSE12に処理を進め、レジスタBCのカウンタ値をゼロクリアして本ルーチンを完了する。
【0052】
このように、鍵盤処理ルーチンでは、先の演奏操作が完了してから一定時間以上経過後に次の演奏操作による押鍵があると、先の演奏操作に対応してテンポラリバッファTBに一時記憶されている演奏情報列がフレーズバンクPBに自動的に保存され、一方、先の演奏操作がなされていない時には、現在行われている演奏操作に対応して発生する演奏情報(イベント時間差、キーコードおよびベロシティ)を順次テンポラリバッファTBに書き込んで行く。
【0053】
▲4▼スイッチ処理(キャンセルスイッチCSがオン操作された時の動作)
こうして演奏したフレーズがテンポラリバッファTBに一時記憶されている状態で、キャンセルスイッチCSがオン操作されると、CPU4は図9に示すスイッチ処理ルーチンを実行してステップSF1に処理を進めてスイッチ走査し、続くステップSF2においてスイッチ走査結果に基づき、キャンセルスイッチCSがオン設定されているか否を判断する。
【0054】
この場合、当該スイッチCSがオン操作されるから、判断結果が「YES」となり、次のステップSF3に処理を進める。なお、キャンセルスイッチCSがオン操作されていない時には、判断結果が「NO」となり、ステップSF4に進み、その他のスイッチ処理を行う。
そして、ステップSF3では、リードポインタRpの値をライトポインタWpにセットし直してテンポラリバッファTBをクリアする。これにより、テンポラリバッファTBに一時記憶されている不要なフレーズの演奏情報列を自動保存するのを防止している訳である。
【0055】
以上説明したように、第2実施例によれば、先の演奏操作がなされてから一定時間以上経過後に再び演奏操作を行うと、テンポラリバッファTBに格納済みとなっている先の演奏操作による演奏情報列がフレーズバンクPBに自動的に保存され、それ以前に消去指示するキャンセルスイッチCS(後述する)をオン操作すれば、テンポラリバッファTBがクリアされて自動保存を回避するので、演奏入力したフレーズを、何等スイッチ操作せずとも自動的に記憶保存でき、保存不要なフレーズは消去し得るようになっている。
【0056】
なお、上述した第1および第2実施例では、鍵盤1の押離鍵操作に応じて生成される演奏情報を記憶保存対象としているが、本発明の要旨はこれに限定されるものではなく、他の演奏形態により生じる演奏情報の記憶保存にも勿論適用可能である。
また、上述の各実施例では、押鍵操作されない空白時間の存在の有無を、固定的な値BTIMEに基づいて判定しているが、これに替えて、演奏者が任意可変に設定する態様としても良い。つまり、フレーズの区切りが認識し得るように、所望のインターバル時間をセット可能にすれば良い。
【0057】
さらに、上述の各実施例では、記憶保存するためのフレーズバンクPBをスイッチ操作によって選択する態様としているが、これに替えて、空いているフレーズバンクPBを自動的に選択したり、全フレーズバンクPBが占有されている場合には最も古いフレーズが記憶保存されているバンクに最新のフレーズを上書きして保存する態様にしても良い。あるいは上書き禁止のフラグを設けておき、当該フラグがセットされていないバンクに新たなフレーズを上書き保存することもできる。
【0058】
【発明の効果】
発明によれば、演奏操作が完了してから一定時間以上経過後に再度の演奏操作がなされると、記憶手段のバッファ領域に格納済みの先の演奏操作に対応した演奏情報を自動的にバンク領域に転送して記憶保存し、一方、転送防止が指示されているときには、一定時間以上経過した後に再度の演奏操作がなされても、バッファ領域に格納済みの演奏情報をバンク領域に転送せずに破棄するので、演奏入力したフレーズを何等操作せずとも自動的に記憶保存することができる。
【図面の簡単な説明】
【図1】本発明による第1実施例の構成を示すブロック図である。
【図2】RAM6のメモリ構成を示すメモリマップである。
【図3】RAM6のメモリ構成を示すメモリマップである。
【図4】第1実施例におけるメインルーチンの動作を示すすフローチャートである。
【図5】第1実施例におけるタイマインタラプト処理ルーチンの動作を示すフローチャートである。
【図6】第1実施例における鍵盤処理ルーチンの動作を示すフローチャートである。
【図7】第1実施例におけるスイッチ処理ルーチンの動作を示すフローチャートである。
【図8】第2実施例における鍵盤処理ルーチンの動作を示すフローチャートである。
【図9】第2実施例におけるスイッチ処理ルーチンの動作を示すフローチャートである。
【符号の説明】
1 鍵盤
2 パネルスイッチ群(指示手段)
3 表示部
4 CPU(指示手段、記憶制御手段)
5 ROM
6 RAM(記憶手段)
7 音源
8 D/A変換回路
9 サウンドシステム
10 記憶装置
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a performance information storage device, a performance information storage method, and a medium recording a performance information storage program suitable for use in a performance recording / playback device such as a sequencer.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, a sequencer (performance recording / playback device) is known that stores performance information including the pitch of each note and the sounding timing for each note of a desired music piece and plays it at the tempo at which it was played or at a specified tempo. It has been. In this sequencer, step information for inputting performance information representing pitches, note lengths, etc., one step at a time, and performance information generated in response to actual performance operation (for example, keyboard operation) are stored and held in real time. A performance information storage device is provided.
[0003]
[Problems to be solved by the invention]
In such a performance information storage device, in order to store performance information by real-time input, the start switch for instructing the storage start is operated after specifying the song number to be stored, and when the storage is finished, the stop is stopped. Various switch operations such as operating switches are required.
[0004]
For this reason, for example, when it is desired to immediately write down a fragmentary phrase that comes to mind during composition performance, the operation becomes unsuitable. In other words, there is no consciousness of “recording a performance” in the middle of expressing the phrase drawn in the mind, and if the various switch operations described above are performed in such a state, the flow of thought in the creation process There is a problem that the operation is obstructed and the operation becomes troublesome.
[0005]
Accordingly, the present invention has been made in view of the above-described circumstances, and a performance information storage device and performance information that can be stored and stored with one touch of a phrase that has been input for performance or that can be automatically stored and stored without any switch operation. It is an object to provide a storage method and a medium on which a performance information storage program is recorded.
[0009]
[Means for Solving the Problems]
To achieve the above objective,Claim1In the performance information storage device described in 1), a storage means comprising a buffer area for temporarily storing performance information generated in response to a performance operation, and a bank area for storing and storing the performance information;thisThe performance information is sequentially temporarily stored in the buffer area of the storage means,Previous performance operationMore than a certain time sincedidlaterNewWhen a performance operation is performed, the data stored in the buffer areaSaidPrevious performance operationFor up toStorage control means for transferring performance information to the bank area for storage and storage;Means for instructing performance information stored in the buffer area not to be transferred to and stored in the bank area, and in the designated state, a new performance operation is performed after a predetermined time has elapsed since the previous performance operation. Transfer prevention means for controlling the storage control means so as not to transfer and store the performance information stored in the buffer area to the bank area even ifIt is characterized by comprising.
[0011]
Claim2In the medium recorded with the performance information storage program described in 1., the performance information generated in response to the performance operation is stored.,Buffer area of storage meansIn orderNext temporary storageTemporary storage procedure and previous performance operationMore than a certain time sincedidlaterNewWhen a performance operation is performed, the data stored in the buffer areaSaidPrevious performance operationFor up toPerformance information,SaidStorage meansTransfer to bank area and saveIn a state where the transfer storage procedure and the performance information stored in the buffer area are instructed not to be transferred and stored in the bank area, a new performance operation is performed after a predetermined time has elapsed since the previous performance operation. Even so, the transfer prevention procedure for controlling the performance information stored in the buffer area so as not to be transferred and stored in the bank area is recorded so as to be readable and executable by the computer.It is characterized by that.
[0013]
BookAccording to the invention, when a performance operation is performed again after a predetermined time has elapsed after completion of the performance operation, the performance information corresponding to the previous performance operation stored in the buffer area of the storage means is automatically transferred to the bank area. And saveOn the other hand, when transfer prevention is instructed, the performance information stored in the buffer area is discarded without being transferred to the bank area even if a performance operation is performed again after a certain period of time has elapsed.To do. As a result, it is possible to automatically store and save a phrase that has been input without performing any operation.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
The medium storing the performance information storage device, performance information storage method, and performance information storage program according to the present invention can be applied to a computer music device using an electronic musical instrument or a personal computer in addition to a sequencer. Hereinafter, an electronic musical instrument according to an embodiment of the present invention will be described as an example with reference to the drawings.
[0015]
A. First embodiment
(1) Overall configuration
FIG. 1 is a block diagram showing a configuration of an electronic musical instrument according to a first embodiment of the present invention. In this figure, reference numeral 1 denotes a keyboard, which generates performance information such as a key-on / key-off signal corresponding to a pressed / released key operation (performance operation), a key code, and velocity information corresponding to a key pressing speed (strength).
[0016]
Reference numeral 2 denotes a panel switch group disposed on the front surface of the musical instrument panel. For this panel switch group 2, in addition to an on / off switch for turning on the power and a tone color selection switch, a bank switch BS and a phrase bank (to be described later) which are operated when recording performance information of the phrase inputted by the performance are selected. A bank select switch BSEL and the like are provided. Reference numeral 3 denotes a display unit composed of an LCD panel or the like, which displays an operation mode and various setting states of the entire musical instrument in accordance with a display control signal supplied from a CPU 4 described later.
[0017]
The CPU 4 has a function of storing and reproducing the performance information in addition to instructing the tone generator 7 (described later) to generate a musical sound according to the performance information output from the keyboard 1. The operation of the CPU 4 according to the gist of the present invention will be described later. Reference numeral 5 denotes a ROM that stores various parameters and tables for tone control in addition to various control programs loaded into the CPU 4.
[0018]
The program and data stored in the ROM 5 may be stored in the storage device 10 including a recording medium. The recording medium may be a magnetic recording, magneto-optical recording, optical recording on a fixed or removable medium. In addition to recording, it is also possible to use a rewritable nonvolatile semiconductor memory such as a flash memory such as an IC card.
The program and data stored in the ROM 5 can be received from other devices connected via a communication line or the like and stored in the recording medium described above. A configuration may be adopted in which the data is downloaded to a rewritable nonvolatile memory such as a flash memory provided in place of the ROM 3.
[0019]
A RAM 6 is used as a work area for the CPU 4 and includes a phrase area for storing and holding performance information in accordance with the on operation of the bank switch BS, in addition to various calculation results and registers / flags. Although the configuration of the phrase area will be described later, the phrase area is not limited to the RAM 6, and an electrically rewritable nonvolatile memory may be separately provided and assigned to the memory.
[0020]
The sound source 7 is configured by a well-known waveform memory reading method and includes a plurality of sound generation channels that perform time-division operation. The sound source 7 stores waveform data of various timbres, and reads waveform data of timbres designated in advance according to performance information supplied from the CPU 4 to generate a musical sound waveform W.
A D / A conversion circuit 8 converts the musical sound waveform W output from the sound source 7 into an analog waveform signal and supplies the analog waveform signal to the next sound system 9. For example, the sound system 9 performs filtering, such as removing unnecessary noise, on the analog waveform signal supplied from the previous stage, and then amplifies this to generate sound from the speaker.
[0021]
(2) Configuration of RAM 6
Next, the configuration of the phrase area provided in the RAM 6 will be described with reference to FIGS.
In FIG. 2, Rp is a read pointer that designates a read address of a temporary buffer TB described later. Wp is a write pointer that designates a write address of the temporary buffer PB. That is, the read pointer Rp and the write pointer Wp manage the read / write position of the temporary buffer TB.
[0022]
The temporary buffer TB temporarily stores performance information generated in response to key pressing / release operations on the keyboard 1. PB is a phrase bank area formed from the phrase banks PB (0) to P (n). Each of the phrase banks PB (0) to PB (n) is selected in response to the operation of the bank select switch BSEL described above, and is updated and specified when storing and holding performance information. The performance information temporarily stored in the temporary buffer TB is stored and saved for the designated phrase banks PB (0) to PB (n).
[0023]
DIR is a directory area that stores data for managing the head addresses and data sizes of the phrase banks PB (0) to PB (n). That is, as shown in FIG. 3, the directory area DIR includes a phrase address PAD and a phrase data size PDS.
The phrase address PAD is composed of address areas PAD (0) to PAD (n) for storing the head addresses of the respective phrase banks PB (0) to PB (n). On the other hand, the phrase data size PDS is formed from size areas PDS (0) to PDS (n) for storing data sizes for the respective phrase banks PB (0) to PB (n).
[0024]
(3) Operation
Next, the operation of the first embodiment having the above configuration will be described with reference to FIGS. Here, in particular, an operation for storing and saving performance information generated by a key release operation of the keyboard 1 in accordance with an ON operation of the bank switch BS will be referred to.
[0025]
(1) Overall operation (main routine)
First, when the electronic musical instrument according to the present embodiment is turned on, the CPU 4 loads the control program stored in the ROM 5 and then executes the main routine shown in FIG. Performs initialization to reset flags or set initial values. Thereafter, the CPU 4 advances the process to step SA2 to perform various switch processes according to the switch operation of the panel switch group 2. In this switch process, as will be described later, the performance information temporarily stored in the temporary buffer TB in response to the ON operation of the bank switch BS is automatically saved and saved in the phrase bank PB.
[0026]
In step SA3, performance information is generated in response to a key release operation on the keyboard 1, or a keyboard process is performed to temporarily store the performance information in the temporary buffer TB. Next, in step SA4, a sound generation process for instructing sound generation to the sound source 7 is performed in accordance with the performance information generated by the keyboard process, and in step SA5, an operation state or the like is displayed in response to the switch process. Other processing such as display processing is executed. Thereafter, the CPU 4 repeats the processes at steps SA2 to SA5.
[0027]
(2) Timer interrupt processing
The CPU 4 executes the timer interrupt process shown in FIG. 5 at regular intervals in order to measure the blank time during which the performance operation (press / release key operation) is not performed. When the interrupt timing comes, the CPU 4 advances the process to step SB1 shown in FIG. 5, and increments the counter value stored in the register BC by one. In the next step SB2, it is determined whether or not the incremented counter value has reached the maximum value MAX. Here, when the maximum value MAX has not been reached, the determination result is “NO”, and this process is temporarily terminated and the process returns to the main routine.
On the other hand, when the counter value reaches the maximum value MAX, the determination result is “YES”, the process proceeds to the next step SB3, the value is decremented by 1, and the counter value is clipped at the maximum value MAX. finish.
[0028]
(3) Keyboard processing routine operation
When the keyboard processing routine shown in FIG. 6 is executed via step SA3 described above, the CPU 4 advances the process to step SC1, and determines whether or not there is a key-on event. Here, when a key-on event occurs in response to a key pressing operation, the determination result in step SC1 is “YES”, and the process proceeds to the next step SC2. In step SC2, performance information representing the key code and velocity of the depressed key is generated, and key-on processing is performed to send this to the sound source 7.
[0029]
On the other hand, when a key-off event occurs in response to the key release operation, the process proceeds to step SC3 via step SC1, and the determination result here is “YES”, and the process proceeds to step SC4. In step SC4, a key-on process for instructing the sound source 7 to mute corresponding to the key code of the key released from the sound source 7 is performed.
If no key release operation is performed, the determination results in steps SC1 and SC2 are both “NO”, and this routine is completed without performing any processing.
[0030]
When the composer plays a fragmented phrase, after the key-on process of step SC2 is performed in response to the key pressing operation, the CPU 4 proceeds to step SC5, while corresponding to the key release operation. Then, the process proceeds to step SC8.
First, when the process proceeds to step SC5 in response to the key depression operation, the CPU 4 determines whether or not the counter value of the register BC that is advanced in the above-described timer interrupt process (see FIG. 5) is equal to or greater than a certain value BTIME. To do. Here, if the value is equal to or greater than the predetermined value BTIME, the determination result is “YES”, and the flow proceeds to the next Step SC6. In step SC6, it is determined whether or not the number of keys currently on is “0”. If there is no key being keyed on, the determination result is “YES”, the process proceeds to step SC7, and the value of the read pointer Rp is rewritten to the write pointer Wp.
[0031]
As described above, in steps SC5 to SC7, it is determined whether or not there is a blank time during which no key pressing operation is performed until the current key-on event occurs, and when there is a blank time represented by a constant value BTIME, In order to clear the temporary buffer TB, the value of the read pointer Rp is rewritten to the write pointer Wp, and the addresses indicated by both pointers Rp and Wp are made coincident.
When there is no blank time, the determination result in steps SC5 and SC6 is “NO”, and the process proceeds to step SC8. In this case, the temporary buffer TB is not cleared.
[0032]
In step SC8, the CPU 4 sequentially writes performance information in the temporary buffer TB in accordance with the write address indicated by the write pointer Wp. The performance information to be written includes a key-on / key-off event interval (event time difference), a key code, and a velocity.
When the performance information is written in the temporary buffer TB in this way, the process proceeds to step SC9 to update the write pointer Wp, and in the subsequent step SC10, the counter value of the register BC is cleared to zero and this routine is completed.
[0033]
As described above, in the keyboard processing routine, performance information (event time difference, key code, and velocity) generated in response to the key pressing operation is sequentially written in the temporary buffer TB, and the key pressing operation is not performed for a certain time or more. In this case, the read pointer Rp and the write pointer Wp are matched to clear the temporary buffer TB.
[0034]
(4) Switch processing (operation when bank switch BS is turned on)
Assume that the bank switch BS is turned on in a state where the piece of the phrase that has been played is temporarily stored in the temporary buffer TB as described above.
When the CPU 4 executes the switch processing routine shown in FIG. 6 through step SA2 and proceeds to step SD1, the CPU 4 first scans various switches forming the panel switch group 2 in step SD1 to change the setting state. To detect.
[0035]
Next, in step SD2, it is determined whether or not the bank switch BS is set to ON. In this case, since the switch BS is turned on, the determination result is “YES”, and the process proceeds to the next step SD3. When the bank switch BS is not turned on, the determination result is “NO”, and the process proceeds to step SD8 to perform other switch processing.
[0036]
In step SD3, it is determined whether or not the read pointer Rp and the write pointer Wp indicate different addresses, that is, whether or not performance information is temporarily stored in the temporary buffer TB. Here, when the read pointer Rp and the write pointer Wp specify the same address, that is, when the temporary buffer TB is empty, the determination result is “NO”, and this routine is completed.
[0037]
On the other hand, if performance information is temporarily stored in the temporary buffer TB by the keyboard processing routine described above, the determination result is “YES”, and the process proceeds to step SD4. In step SD4, the read start address indicated by the read pointer Rp is set in the address area PAD [BNUM]. BNUM is a bank number designated by the operation of the bank select switch BSEL described above. Next, at step SD5, the data size of the performance information represented by the difference between the write pointer Wp and the read pointer Rp is set in the size area PDS [BNUM].
[0038]
Then, when proceeding to the next step SD6, the CPU 4 reads the performance information for the data size set in the size area PDS [BNUM] from the temporary buffer TB based on the read start address set in the address area PAD [BNUM]. This is written and saved in the phrase bank PB [BNUM].
Next, in step SD7, the address value of the write pointer Wp is stored in the read pointer Rp, the temporary buffer TB is cleared again, and the bank number BNUM stored in the register BNUM is incremented to avoid duplication of the bank number BNUM. To complete this routine.
[0039]
As described above, according to the first embodiment, when the composer starts to play a phrase, the performance information (event time difference, key code, and velocity) generated in response to the key press / release operation is sequentially stored in the temporary buffer TB. If the bank switch BS is turned on before a certain time has elapsed since the end of playing, the performance information sequence written in the temporary buffer TB is automatically written and saved in the phrase bank PB. The entered phrase can be recorded with one touch.
On the other hand, if you don't like the phrase you played and you don't want to save it in the bank, if you leave it as it is, the temporary buffer TB is automatically cleared after a certain period of time has elapsed since you finished playing.
[0040]
B. Second embodiment
In the first embodiment described above, when the bank switch BS is turned on after the phrase has been played and until a predetermined time has elapsed, the phrase performance information string temporarily stored in the temporary buffer TB is automatically stored in the phrase bank PB. When the bank switch BS is not turned on, the performance information string of the phrase temporarily stored in the temporary buffer TB is automatically cleared.
[0041]
On the other hand, in the second embodiment, as will be described later, when a key is pressed again after a certain time has elapsed since the end of playing a phrase, the performance information sequence already stored in the temporary buffer TB is stored. Is automatically stored in the phrase bank PB, and when a cancel switch CS (described later) for instructing deletion is turned on, the temporary buffer TB is cleared to avoid automatic storage.
[0042]
Therefore, the difference in configuration between the second embodiment and the first embodiment described above is that a cancel switch CS that is operated when preventing the saving of unnecessary phrases is provided in place of the bank switch BS. Since the configuration other than the above is the same as that of the first embodiment, the description of the configuration is omitted.
In the second embodiment, only the keyboard processing routine and the switch processing routine are different from those in the first embodiment. Therefore, the operations of these routines will be described below.
[0043]
(1) Keyboard processing routine operation
As in the first embodiment described above, when the keyboard processing routine shown in FIG. 8 is executed via step SA3, the CPU 4 advances the process to step SE1 to determine whether there is a key-on event. Here, when a key-on event occurs in response to a key pressing operation, the determination result in step SE1 is “YES”, and the process proceeds to the next step SE2. In step SE2, performance information representing the key code and velocity of the depressed key is generated, and a key-on process is performed to send it to the sound source 7.
[0044]
On the other hand, when a key-off event occurs in response to the key release operation, the process proceeds to step SE3 via step SE1, and the determination result here is “YES”, and the process proceeds to step SE4. In step SE4, a key-on process is performed to instruct the sound source 7 to mute the musical sound corresponding to the key code of the key released.
If no key release operation is performed, the determination results in steps SE1 and SE2 are both “NO”, and this routine is completed without performing any processing.
[0045]
When the composer plays a fragmented phrase, after the key-on process of step SE2 is performed in response to the key pressing operation, the CPU 4 advances the process to step SE5, while corresponding to the key release operation. Then, the process proceeds to step SE11.
First, when the process proceeds to step SE5 in response to the key depression operation, the CPU 4 determines whether or not the counter value of the register BC advanced by the above-described timer interrupt process (see FIG. 5) is equal to or greater than a certain value BTIME. To do. Here, if it is greater than or equal to the constant value BTIME, the determination result is “YES”, and the flow proceeds to the next Step SE6. In step SE6, it is determined whether or not the number of keys currently on is “0”. If there is no key being turned on, the determination result is “YES”, and the process proceeds to step SE7.
[0046]
In step SE7, it is determined whether or not the read pointer Rp and the write pointer Wp indicate different addresses, that is, whether or not the performance information is temporarily stored in the temporary buffer TB. Here, when the read pointer Rp and the write pointer Wp specify the same address, that is, when the temporary buffer TB is empty, the determination result is “NO”, and the process proceeds to step SE11 described later.
[0047]
On the other hand, if the performance information has already been temporarily stored in the temporary buffer TB, the determination result here is “YES”, and the process proceeds to step SE8. In step SE8, the read start address indicated by the read pointer Rp is set in the address area PAD [BNUM], and the performance information data size represented by the difference between the write pointer Wp and the read pointer Rp is set in the size area PDS [BNUM]. ] Is set. BNUM is a bank number designated by the operation of the bank select switch BSEL described above.
[0048]
Next, when proceeding to step SE9, the CPU 4 reads the performance information sequence from the temporary buffer TB according to the read start address set in the address area PAD [BNUM] and the data size set in the size area PDS [BNUM]. To the phrase bank PB [BNUM]. Thereafter, the process proceeds to step SE10, where the address value of the write pointer Wp is stored in the read pointer Rp, and the temporary buffer TB is cleared.
[0049]
As described above, in steps SE5 to SE10, if a key is pressed by the next performance operation after a predetermined time has elapsed since the completion of the previous performance operation, the temporary buffer TB corresponding to the previous performance operation is stored. The performance information sequence temporarily stored is automatically saved in the phrase bank PB. By doing so, it is possible to automatically store and save phrases that have been input for performance, and prevent forgetting to save them.
[0050]
When there is no blank time longer than a certain time, or when the temporary buffer TB is empty, the determination results of the above steps SE5, SE6, and SE7 are all “NO”. In these cases, the process returns to step SE11. Since the process proceeds, the above-described automatic saving is not executed.
[0051]
In step SE11, the CPU 4 sequentially writes performance information in the temporary buffer TB according to the write address indicated by the write pointer Wp. The performance information to be written includes a key-on / key-off event interval (event time difference), a key code, and a velocity.
When the performance information is thus written to the temporary buffer TB, the process proceeds to step SE12, the counter value of the register BC is cleared to zero, and this routine is completed.
[0052]
As described above, in the keyboard processing routine, when a key is pressed by the next performance operation after a predetermined time has elapsed since the completion of the previous performance operation, the key is temporarily stored in the temporary buffer TB corresponding to the previous performance operation. On the other hand, when the previous performance operation is not performed, performance information (event time difference, key code and velocity) generated corresponding to the current performance operation is automatically stored in the phrase bank PB. ) Are sequentially written in the temporary buffer TB.
[0053]
(4) Switch processing (operation when cancel switch CS is turned on)
When the cancel switch CS is turned on while the phrase played in this manner is temporarily stored in the temporary buffer TB, the CPU 4 executes a switch processing routine shown in FIG. 9 and proceeds to step SF1 to scan the switch. In subsequent step SF2, based on the switch scanning result, it is determined whether or not the cancel switch CS is set to ON.
[0054]
In this case, since the switch CS is turned on, the determination result is “YES”, and the process proceeds to the next step SF3. When the cancel switch CS is not turned on, the determination result is “NO”, the process proceeds to step SF4, and other switch processing is performed.
In step SF3, the value of the read pointer Rp is reset to the write pointer Wp to clear the temporary buffer TB. This prevents the performance information string of unnecessary phrases temporarily stored in the temporary buffer TB from being automatically saved.
[0055]
As described above, according to the second embodiment, when a performance operation is performed again after a predetermined time has elapsed since the previous performance operation was performed, the performance by the previous performance operation stored in the temporary buffer TB is performed. The information string is automatically saved in the phrase bank PB, and if a cancel switch CS (described later) for instructing the deletion is turned on before that, the temporary buffer TB is cleared and automatic saving is avoided. Can be automatically stored and saved without any switch operation, and phrases that do not need to be saved can be deleted.
[0056]
In the first and second embodiments described above, performance information generated in response to the key release operation of the keyboard 1 is stored and stored, but the gist of the present invention is not limited to this. Of course, the present invention is also applicable to storing and storing performance information generated by other performance forms.
In each of the above-described embodiments, the presence / absence of a blank time during which no key pressing operation is performed is determined based on a fixed value BTIME. Also good. In other words, a desired interval time may be set so that phrase breaks can be recognized.
[0057]
Further, in each of the above-described embodiments, the phrase bank PB for storing and saving is selected by a switch operation. Instead, an empty phrase bank PB is automatically selected or all phrase banks are selected. When the PB is occupied, the latest phrase may be overwritten and saved in the bank where the oldest phrase is stored and saved. Alternatively, an overwrite prohibition flag can be provided, and a new phrase can be overwritten and stored in a bank in which the flag is not set.
[0058]
【The invention's effect】
BookAccording to the invention, when a performance operation is performed again after a predetermined time has elapsed after completion of the performance operation, performance information corresponding to the previous performance operation stored in the buffer area of the storage means is automatically stored in the bank area. Transfer to and saveOn the other hand, when transfer prevention is instructed, the performance information stored in the buffer area is discarded without being transferred to the bank area even if a performance operation is performed again after a certain period of time has elapsed.Therefore, it is possible to automatically store and save a phrase that has been input without performing any operation.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a first embodiment according to the present invention.
FIG. 2 is a memory map showing a memory configuration of a RAM 6;
FIG. 3 is a memory map showing a memory configuration of a RAM 6;
FIG. 4 is a flowchart showing an operation of a main routine in the first embodiment.
FIG. 5 is a flowchart showing the operation of a timer interrupt processing routine in the first embodiment.
FIG. 6 is a flowchart showing the operation of a keyboard processing routine in the first embodiment.
FIG. 7 is a flowchart showing an operation of a switch processing routine in the first embodiment.
FIG. 8 is a flowchart showing the operation of a keyboard processing routine in the second embodiment.
FIG. 9 is a flowchart showing an operation of a switch processing routine in the second embodiment.
[Explanation of symbols]
1 keyboard
2 Panel switch group (instruction means)
3 Display section
4 CPU (instruction means, storage control means)
5 ROM
6 RAM (storage means)
7 Sound source
8 D / A converter circuit
9 Sound system
10 Storage device

Claims (2)

演奏操作に対応して発生する演奏情報を一時記憶するバッファ領域と当該演奏情報を記憶保存するバンク領域とを備える記憶手段と、
この記憶手段のバッファ領域に演奏情報を順次一時記憶して行き、先の演奏操作から一定時間以上経過した後に新たな演奏操作がなされた場合には、当該バッファ領域に格納済みの前記先の演奏操作までの演奏情報を前記バンク領域に転送して記憶保存する記憶制御手段と
前記バッファ領域に格納済みの演奏情報が前記バンク領域へ転送記憶されないように指示する手段であって、当該指示された状態においては、先の演奏操作から一定時間以上経過した後に新たな演奏操作がなされた場合であっても、前記バッファ領域に格納済みの演奏情報を前記バンク領域へ転送記憶しないように前記記憶制御手段を制御する転送防止手段と
を具備することを特徴とする演奏情報記憶装置。
A storage means comprising a bank area for storing storage buffer area and the performance information for temporarily storing performance information generated in response to a performance operation,
Continue to sequentially temporarily stores the performance information in the buffer area of the storage means, when a new performance operation after a lapse from a previous performance operation a predetermined time or more is situations, Stored the destination to the buffer area a storage control unit that Sons storage coercive transfers the performance data to the performance operation to the bank areas,
Means for instructing performance information stored in the buffer area not to be transferred to and stored in the bank area, and in the instructed state, a new performance operation is performed after a predetermined time has elapsed since the previous performance operation; A transfer preventing means for controlling the storage control means so as not to transfer and store the performance information stored in the buffer area to the bank area even if it is made. Performance information storage device.
コンピュータに、
演奏操作に対応して発生する演奏情報を記憶手段のバッファ領域に順次一時記憶する一時記憶手順と、
先の演奏操作から一定時間以上経過した後に新たな演奏操作がなされたには、前記バッファ領域に格納済みの前記先の演奏操作までの演奏情報を前記記憶手段のバンク領域に転送して記憶保存する転送記憶手順と、
前記バッファ領域に格納済みの演奏情報が前記バンク領域へ転送記憶されないように指示された状態においては、先の演奏操作から一定時間以上経過した後に新たな演奏操作がなされた場合であっても、前記バッファ領域に格納済みの演奏情報を前記バンク領域へ転送記憶しないように制御する転送防止手順と
を実行させるための演奏情報記憶プログラムを記録したコンピュータ読み取り可能な記録媒体
On the computer,
The performance information generated in response to the performance operation, and temporary storage procedure for storing at sequential one in the buffer area of the storage means,
When new performance operation after a lapse from a previous performance operation a predetermined time or more is situations, the performance information to the stored said previous performance operation in the buffer area is transferred to the bank area of the storage means Transfer storage procedure to store and save,
In the state in which the performance information stored in the buffer area is instructed not to be transferred and stored in the bank area, even if a new performance operation is performed after a predetermined time or more has elapsed since the previous performance operation, A transfer prevention procedure for controlling performance information stored in the buffer area so as not to be transferred and stored in the bank area;
The computer-readable recording medium which recorded the performance information storage program for performing this.
JP32596996A 1996-11-20 1996-11-20 Performance information storage device and medium on which performance information storage program is recorded Expired - Fee Related JP3632806B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32596996A JP3632806B2 (en) 1996-11-20 1996-11-20 Performance information storage device and medium on which performance information storage program is recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32596996A JP3632806B2 (en) 1996-11-20 1996-11-20 Performance information storage device and medium on which performance information storage program is recorded

Publications (2)

Publication Number Publication Date
JPH10149162A JPH10149162A (en) 1998-06-02
JP3632806B2 true JP3632806B2 (en) 2005-03-23

Family

ID=18182624

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32596996A Expired - Fee Related JP3632806B2 (en) 1996-11-20 1996-11-20 Performance information storage device and medium on which performance information storage program is recorded

Country Status (1)

Country Link
JP (1) JP3632806B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6801687B2 (en) 2018-03-30 2020-12-16 カシオ計算機株式会社 Electronic musical instruments, control methods for electronic musical instruments, and programs
JP7047887B2 (en) * 2020-11-24 2022-04-05 カシオ計算機株式会社 Electronic musical instruments, control methods and programs for electronic musical instruments

Also Published As

Publication number Publication date
JPH10149162A (en) 1998-06-02

Similar Documents

Publication Publication Date Title
US5231239A (en) Music reproduction device for restarting a song at selected positions
JP3237455B2 (en) Performance instruction device
JP3632806B2 (en) Performance information storage device and medium on which performance information storage program is recorded
JP2003330464A (en) Automatic player and automatic playing method
JP2008015315A (en) Musical sound generating apparatus and musical sound generating program
JP4228494B2 (en) Control apparatus and control method
JP4117596B2 (en) Automatic performance device and automatic performance method
JP2641851B2 (en) Automatic performance device
JPH1185153A (en) Playing device
US5376751A (en) Autoplay apparatus and method preventing continued operation of sound operation/controlling means during pause
JP3388532B2 (en) Fingering indicating device
JP2842440B2 (en) Automatic accompaniment device
JP3885708B2 (en) Performance information editing apparatus, performance information editing method, and performance information editing program
JP2848092B2 (en) Automatic accompaniment device
JP3744667B2 (en) Automatic accompaniment device and automatic accompaniment method
JP3870964B2 (en) Music signal generation method, music signal generation device, and medium recording program
JP4345433B2 (en) Performance device and performance processing program
JP3110510B2 (en) Automatic performance weekly program timer
JP3543126B2 (en) Automatic performance device
JP3384060B2 (en) Electronic musical instrument
JP2002169548A (en) Instrument and method for rhythm playing
JPH08185169A (en) Musical tone generator
JP3675043B2 (en) Note information input device
JP2583377B2 (en) Automatic performance device
JP3548810B2 (en) Music data recording device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041215

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

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090107

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100107

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110107

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110107

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120107

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130107

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130107

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees