JP3404818B2 - 自動演奏装置 - Google Patents

自動演奏装置

Info

Publication number
JP3404818B2
JP3404818B2 JP22811993A JP22811993A JP3404818B2 JP 3404818 B2 JP3404818 B2 JP 3404818B2 JP 22811993 A JP22811993 A JP 22811993A JP 22811993 A JP22811993 A JP 22811993A JP 3404818 B2 JP3404818 B2 JP 3404818B2
Authority
JP
Japan
Prior art keywords
data
measure
performance
timing
recording
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
JP22811993A
Other languages
English (en)
Other versions
JPH0756569A (ja
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 JP22811993A priority Critical patent/JP3404818B2/ja
Publication of JPH0756569A publication Critical patent/JPH0756569A/ja
Application granted granted Critical
Publication of JP3404818B2 publication Critical patent/JP3404818B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、自動演奏装置に関し、
詳しくは、演奏時に記憶された演奏データを自動演奏す
るに際し、アウフタクトを考慮した自動演奏を行える自
動演奏装置に関する。
【0002】
【従来の技術】自動演奏装置、特に、鍵盤による演奏を
メモリに記憶させ、このメモリに記憶させた演奏データ
を自動演奏させる自動演奏装置においては、従来、録音
開始スイッチが投入された後、入力タイミングをとるた
めに、数小節分のカウントを行って、鍵盤からの入力デ
ータをメモリに記憶する。
【0003】そして、自動演奏時、このメモリに記憶さ
れた入力データの先頭を第1小節として自動演奏する。
【0004】すなわち、録音開始スイッチが投入された
後、一定時間経過後の入力データから記憶を開始し、そ
の先頭データを演奏曲の第1小節目のデータとして管理
する。
【0005】
【発明が解決しようとする課題】しかしながら、このよ
うな従来の自動演奏装置にあっては、録音開始スイッチ
が投入された後、一定時間経過後の入力データから記憶
を開始し、その先頭データを演奏曲の第1小節目のデー
タとして管理するようになっていたため、楽曲やテーマ
などが小節の最強拍(第1拍)よりも前の部分から始ま
るアウフタクト(弱起)の曲である場合には、第1小節
目の数拍目から曲が始まるようなデータ管理がなされる
結果となり、アウフタクトの曲では、メモリ管理上の小
節数及び小節番号が、楽譜上の小節数及び小節番号とず
れが生じ、メモリに記憶されたデータを小節を指定して
編集する場合に、表示部に表示されるメモリのデータ内
容と楽譜上の内容が異なる。その結果、アウフタクトの
曲を編集作業を行う上で、不便であるという問題があっ
た。
【0006】そこで、本発明の目的は、アウフタクトの
曲であっても、楽譜上の小節数及び小節番号とメモリ内
のデータの小節数及び小節番号が一致するようにメモリ
管理して、メモリ内のデータの編集作業を効率的に行う
ことのできる自動演奏装置を提供することを目的として
いる。
【0007】
【課題を解決するための手段】本発明の自動演奏装置
は、音高を指定する演奏操作子と、前記演奏操作子で指
定された音高データ及び演奏操作子の操作間隔のデータ
からなる曲のデータを記憶する記憶手段と、前記演奏操
作子によって入力されるデータの前記記憶手段への記憶
開始を異なるタイミングで指示する第1タイミング信号
と第2タイミング信号を発生させるタイミング発生手段
と、 前記タイミング発生手段の発生する第1タイミング
信号から第2タイミング信号までの間に前記演奏操作子
により入力された第1のデータと、第2タイミング信号
以降に前記演奏操作子により入力された第2のデータ
と、を前記記憶手段に異なるデータとして記憶させる記
憶制御手段と、 前記記憶制御手段により前記記憶手段に
記憶された曲データの特定小節を示す小節番号を指定す
る小節指定手段と、 前記小節指定手段により指定された
小節番号に対応する小節内に含まれるデータが該第1の
データであるかあるいは第2のデータに含まれるかを判
断し、第1のデータである場合は当該第1のデータを選
択するとともに、第2のデータに含まれる場合は、当該
第2のデータのうち前記指定された小節内に含まれるデ
ータを選択するデータ選択手段と、 前記データ選択手段
により選択されたデータを表示する表示手段と、を備え
ることにより、上記目的を達成している。
【0008】この場合、前記データ選択手段は、例え
ば、請求項2に記載するように、前記第1のデータと第
2のデータとを前記記憶手段の異なる領域に記憶させ、
前記小節指定手段により指された小節番号に対応する
小節内に含まれるデータの開始位置は指定された小節直
前までの、所定タイミング毎に行われる全てのカウント
を累算することにより算出し、終了位置は該指定された
小節終了までの、所定タイミング毎に行われる全てのカ
ウントを累算することにより算出するものであってもよ
い。
【0009】
【作用】本発明によれば、演奏操作子で指定された音高
データ及び演奏操作子の操作間隔のデータからなる曲の
データを記憶する記憶手段に記憶するが、このデータ
を、タイミング発生手段から発生される該記憶手段への
記憶開始を異なるタイミングで指示する第1タイミング
信号と第2タイミング信号に基づいて、記憶制御手段
管理している。
【0010】そして、データ選択手段が、小節指定手段
により指定された小節番号に対応する小節内に含まれる
データが該第1のデータであるかあるいは第2のデータ
に含まれるかを判断し、第1のデータである場合は当該
第1のデータを選択するとともに、第2のデータに含ま
れる場合は、当該第2のデータのうち前記指定された小
節内に含まれるデータを選択し、この選択されたデータ
を表示手段に表示する。
【0011】したがって、アウフタクトの曲であって
も、楽譜上の小節数及び小節番号と記憶手段内のデータ
の小節数及び小節番号が一致するようにメモリ管理する
ことができ、記憶手段内のデータの編集作業を効率的に
行うことができる。
【0012】
【実施例】以下、本発明の自動演奏装置を実施例に基づ
いて具体的に説明する。
【0013】図1から図9は、本発明の自動演奏装置の
一実施例を示す図である。
【0014】図1は、自動演奏装置1のブロック構成図
であり、自動演奏装置1は、鍵盤2、スイッチ部3、テ
ンポ設定部4、RAM(Random Access Memory)5、C
PU(Central Processing Unit) 6、ワークRAM
7、表示部9、カウント発生部10、D/Aコンバータ
11、アンプ12及びスピーカ13等を備えている。
【0015】鍵盤2は、複数の鍵、例えば、36鍵を備
え、自動演奏装置1の使用者は、この鍵盤2の鍵を押鍵
することにより、自動演奏させる曲を演奏する。鍵盤2
は、押鍵された鍵の鍵情報、例えば、鍵のキーナンバー
やベロシティ値等をCPU6に出力する。
【0016】スイッチ部3は、自動演奏装置1の操作を
行うのに必要な各種スイッチを備えており、特に、自動
演奏装置1のモード(録音モード、再生モード及び編集
モード等)を切り換えるモードスイッチ、自動演奏を行
わせる曲データの録音開始を指示する録音開始スイッチ
や録音終了を指示する録音終了スイッチ及び自動演奏を
開始させるスタートスイッチ等を備えている。CPU6
は、このスイッチ部3を走査し、スイッチ部3の各種ス
イッチの操作状態に応じた処理を行う。
【0017】テンポ設定部4は、テンポ設定用のスイッ
チを備え、演奏時のテンポの設定を行う。CPU6は、
このテンポ設定部4で設定されたテンポに基づいて演奏
処理を行う。
【0018】RAM5は、鍵盤2で演奏された演奏デー
タを記憶し、自動演奏装置1は、このRAM5に記憶さ
れた演奏データに基づいて自動演奏を行う。
【0019】すなわち、後で詳しく説明するように、ス
イッチ部3でモードスイッチが録音モードに設定される
と、録音モードに設定され所定時間経過した後に、鍵盤
2で演奏された演奏データをRAM5に記憶する。その
後、スイッチ部3のモードスイッチが再生モードに切り
換えられると、RAM5に格納された演奏データを読み
出して、自動演奏を行う。
【0020】このRAM5は、図2に示すように、アウ
フタクトの曲の最初の小節の演奏データを記憶するため
のアウフタクトデータ領域AFと、通常の小節部分の演
奏データを記憶するための通常演奏データ領域BFと、
を有しており、これらの各領域に記憶される演奏データ
は、発音のオン/オフを示すステータス、音高及びTL
(音符長)で構成されている。各領域に格納される演奏
データの最後には、それぞれエンドデータEND1、E
ND2が格納されている。
【0021】CPU6は、内部ROM(Read Only Memo
ry)に自動演奏装置1としてのプログラムやシステムデ
ータを格納しており、このプログラムに従って自動演奏
装置1の各部を制御して、RAM5への演奏データの録
音処理やRAM5内の演奏データによる自動演奏処理及
びRAM5内の演奏データの編集処理等を行う。
【0022】ワークRAM7は、CPU6が各種処理を
行う上でのワークメモリとして使用され、ワークRAM
7内には、図3に示すように、タイマー時間を格納する
ためのタイマー時間レジスタT、プレレコーディングの
有無をセットするプレレコーディングフラグPRF、プ
レスタートの有無をセットするプレスタートフラグPS
TF、RAM5の読み出しアドレスをカウントするアド
レスカウンタAD、RAM5のアウフタクトデータ領域
AFの読出アドレスをセットするためのアドレスレジス
タAD1、操作間隔時間をカウントするための操作間隔
時間カウンタTLC、アウフタクトの有無をセットする
ためのアウフタクトフラグAFT、通常演奏データの録
音を示すメインレコーディングフラグMRF、通常演奏
データの録音の開始を示すメインスタートフラグMST
F、通常演奏データ領域BFの読出アドレスをセットす
るためのアドレスレジスタAD2、編集時にセットされ
る小節を格納するための小節レジスタB、小節をカウン
トするのに使用する累積操作間隔時間をセットするため
の累積操作間隔時間レジスタSTL、累積操作間隔時間
に基づいてカウントする拍をセットするための拍レジス
タHA、拍子をセットするための拍子レジスタHY、
定小節開始位置までの、所定タイミング毎に行われる全
てのカウントの累積を算出する指定小節開始時間カウン
タBTL1、同様に指定小節終了位置までの、所定タイ
ミング毎に行われる全てのカウントの累積を算出する
定小節終了累積時間カウンタBTL2、小節を管理する
ための小節フラグBF1と小節フラグBF2及び自動演
奏の開始を示すスタートフラグSTF等が形成されてお
り、CPU6は、これらのレジスタやカウンタ及びフラ
グを用いて演奏データの録音、再生及び編集処理を行
う。
【0023】なお、上記各レジスタやカウンタ及びフラ
グは、CPU6に形成されていてもよい。
【0024】波形メモリ8は、各種音高に対応した楽音
の波形データを記憶しており、CPU6は、発生させる
音に対応する波形データを波形メモリ8から読み出し
て、楽音を発生する。
【0025】すなわち、CPU6は、発生させる音色に
対応する波形データを波形メモリ8から読み出して、当
該波形データを楽音信号として、D/Aコンバータ11
に出力し、また、カウント発生部10から入力されるカ
ウントタイミング信号に基づいてカウント音を生成し
て、D/Aコンバータ11に出力する。
【0026】表示部9は、例えば、液晶表示装置が使用
されており、自動演奏装置1の操作に必要な各種情報、
特に、RAM5に格納された演奏データを当該演奏デー
タの編集に適した形態、例えば、音符形式で表示する。
【0027】カウント発生部10は、発振器と分周器等
を備え、各種タイミング信号、特に、アウフタクトとそ
れ以外の曲のRAM5への記憶タイミングを示す異なる
タイミングの2つのタイミング信号T1、T2をCPU
6に出力するとともに、D/Aコンバータ11に楽音を
発生させるタイミングに対応したタイミング信号を出力
する。
【0028】D/Aコンバータ11には、CPU6から
ディジタルの楽音信号が入力され、D/Aコンバータ1
1は、入力されるディジタルの楽音信号をカウント発生
部10からのタイミング信号に同期してアナログ信号に
変換して、アンプ12に出力する。
【0029】アンプ12は、D/Aコンバータ11から
入力されるアナログの楽音信号を増幅して、スピーカ1
3に出力し、スピーカ13は、この楽音信号を外部に拡
声出力する。
【0030】次に、作用を説明する。
【0031】自動演奏装置1は、スイッチ部3の操作に
より、録音(REC)モード、再生(PLAY)モー
ド、編集(EDIT)モード等に切り換えることがで
き、録音モードにおいて鍵盤2で演奏した演奏データを
RAM5に記憶し、編集モードで、RAM5に記憶した
演奏データのうち適宜指定した小節の演奏データを表示
部9に表示出力させて、スイッチ部3の操作により編集
することができる。また、RAM5に記憶させた演奏結
果や編集結果の演奏データを、再生モードで、自動演奏
させることができる。
【0032】この自動演奏装置1の各モードの処理、特
に、録音モードと再生モードの処理は、インタラプト処
理に基づいて行われる。
【0033】〈インタラプト処理〉まず、インタラプト
処理について、図4に基づいて説明する。このインタラ
プト処理は、所定タイミング毎に行われる。
【0034】インタラプト処理では、まず、録音(RE
C)モードかどうかチェックし(ステップT1)、録音
モードでないときには、再生(PLAY)モードかどう
かチェックする(ステップT2)。
【0035】ステップT2で、再生モードでないときに
は、そのままインタラプト処理を終了し、再生モードの
ときには、操作間隔時間カウンタTLCを「1」だけデ
ィクリメントして(ステップT3)、インタラプト処理
を終了する。
【0036】また、ステップT1で、録音モードのとき
には、タイマー時間レジスタTの値を「1」だけインク
リメントし(ステップT4)、インクリメントしたタイ
マー時間レジスタTの値が予め設定されているプレレコ
ーディング開始タイミングT1以下かどうかチェックす
る(ステップT5)。
【0037】このプレレコーディング開始タイミングT
1は、モードスイッチが録音モードにセットされた後、
所定小節分経過する時間として設定されており、演奏曲
がアウフタクトの曲の場合に、このプレレコーディング
開始タイミングT1のタイミングから演奏データの録音
を開始する。
【0038】ステップT5で、YESのとき、すなわち
プレレコーディング開始タイミングT1に達していない
ときには、プレレコーディングフラグPRFを「0」に
して(ステップT6)、タイマー時間レジスタTの値が
予め設定されているメインレコーディング開始タイミン
グT2以下かどうかチェックする(ステップT8)。
【0039】このメインレコーディング開始タイミング
T2は、モードスイッチが録音モードにセットされた
後、プレレコーディング開始タイミングT1を過ぎて、
さらに所定時間経過した時間として設定されており、ア
ウフタクトでない通常の曲の1小節目の演奏データの録
音を開始するタイミングである。
【0040】ステップT8で、YESのときには、メイ
ンレコーディングフラグMRFを「0」にセットして
(ステップT9)、操作間隔時間カウンタTLCの値を
「1」だけインクリメントする(ステップT11)。
【0041】次に、拍毎にカウント音を発生するための
拍カウンタCTを「1」だけインクリメントし(ステッ
プT12)、インクリメントした拍カウンタCTの値
が、当該演奏曲の拍数のセットされる拍レジスタHAの
値に一致したかどうかチェックする(ステップT1
3)。
【0042】ステップT13で一致しないときには、そ
のままインクリメント処理を終了し、ステップT13
で、一致するときには、カウント音の発生を指示して、
カウント音を発生させる(ステップT14)。そして、
拍カウンタCTを「0」にリセットして(ステップT1
5)、インタラプト処理を終了する。
【0043】このように、録音モードにセットされる
と、拍毎に、カウント音を発生させつつプレレコーディ
ング開始タイミングT1になるのを待つ。
【0044】そして、上記処理を所定タイミング毎に繰
り返し、ステップT5で、プレレコーディング開始タイ
ミングT1になると、プレレコーディングフラグPRF
を「1」にセットし(ステップT7)、メインレコーデ
ィング開始タイミングT2になったかどうかチェックす
る(ステップT8)。
【0045】このプレレコーディング開始タイミングT
1とメインレコーディング開始タイミングT2との間
で、鍵盤2で演奏されたときには、後述するように、ア
ウフタクトの曲であると判断して、RAM5のアウフタ
クトデータ領域AFに演奏データを記憶する。
【0046】さらに、上記処理を所定タイミング毎に繰
り返し、ステップT8で、メインレコーディング開始タ
イミングT2になると、メインレコーディングフラグM
RFに「1」をセットし(ステップT10)、以降上記
同様の処理を行う(ステップT11〜T15)。
【0047】このメインレコーディング開始タイミング
T2以降において鍵盤2で演奏された演奏データを、後
述するように、RAM5の通常演奏データ領域BFに記
憶する。
【0048】このように、インタラプト処理では、録音
モードにおいては、拍毎のカウント音の発生を行わせる
とともに、プレレコーディング開始タイミングT1とメ
インレコーディング開始タイミングT2を計時して、R
AM5への演奏データの記憶領域の振り分けを行い、ま
た、再生モードにおいては、操作間隔時間をカウントす
るための処理を行う。
【0049】〈メイン処理〉自動演奏装置1は、上記イ
ンタラプト処理を行うとともに、図5から図8に示すメ
イン処理を行う。
【0050】すなわち、自動演奏装置1は、電源が投入
されると、まず、各種レジスタやカウンタ等の初期設定
等を行うイニシャライズ処理を行い(ステップS1)、
スイッチ部3を走査して、モードスイッチが切り換えら
れたかどうかチェックする(ステップS2)。
【0051】ステップS2で、モードスイッチが切り換
えられると、新たなモードの処理を行うのであるから、
タイマー時間レジスタTを「0」にセットし(ステップ
S3)、切り換えられたモードが、録音(REC)モー
ド、再生(PLAY)モード及び編集(EDIT)モー
ドのいずれであるかをチェックする(ステップS4)。
【0052】なお、ステップS2で、モードスイッチが
切り換えられていないときには、タイマー時間レジスタ
Tをリセットすることなく、現在のモードをチェックす
る(ステップS4)。
【0053】〈録音モード処理〉モードが録音モードの
ときには、上記インタラプト処理でセットされるプレレ
コーディングフラグPRFが「1」で、かつ、メインレ
コーディングフラグMRFが「0」かどうかチェックす
る(ステップS5)。
【0054】すなわち、自動演奏装置1では、図9に示
すように、録音スイッチがオンされてから、プレレコー
ディング開始タイミングT1が経過してプレレコーディ
ングフラグPRFに「1」がセットされ、アウフタクト
の曲の演奏データを記憶するプレレコーディングを開始
するまでに、1小節分の時間だけ、プレレコーディング
開始待ち時間があり、さらに、メインレコーディング開
始タイミングT2が経過してメインレコーディングフラ
グMRFに「1」がセットされ、通常の演奏データを記
憶するメインレコーディングを開始するまでに、1小節
分の時間だけ、メインレコーディング開始待ち時間があ
る。
【0055】そして、上記ステップS5で、プレレコー
ディングフラグPRFが「0」であると、図4のインタ
ラプト処理で説明したように、まだ、図9に示したプレ
レコーディング開始タイミングT1が経過していないと
判断して、図6に示すステップS19に移行し、メイン
レコーディングフラグMRFが「1」かどうかチェック
する(ステップS19)。
【0056】また、ステップS5で、プレレコーディン
グフラグPRFが「1」であっても、メインレコーディ
ングフラグMRFが「1」のときには、図4のインタラ
プト処理で説明したように、プレレコーディング開始タ
イミングT1及びメインレコーディング開始タイミング
T2に到達したと判断して、図6のステップS19に移
行して、再度、メインレコーディングフラグMRFが
「1」かどうかチェックする。
【0057】ステップS19で、メインレコーディング
フラグMRFが「0」のときには、図4のインタラプト
処理で説明したように、図9に示したメインレコーディ
ング開始タイミングT2になっていないと判断して、図
5のステップS2に戻り、モードスイッチが切り換えら
れたかどうかのチェックから上記同様に処理する。
【0058】上記処理を順次繰り返し、プレレコーディ
ング開始タイミングT1となって、図4のインタラプト
処理で、プレレコーディングフラグPRFが「1」にセ
ットされると、図5のステップS5での判断がYESと
なり、ステップS6に移行して、プレスタートフラグP
STFが「1」かどうかチェックする(ステップS
6)。
【0059】いま、プレレコーディング開始タイミング
T1となって、最初の処理であるので、プレスタートフ
ラグPSTFは「0」である。
【0060】したがって、ステップS7に移行して、プ
レスタートフラグPSTFを「1」にセットし、アウフ
タクトデータ領域AFの先頭アドレスが格納されている
アドレスレジスタAD1の値をアドレスカウンタADに
セットする(ステップS8)。
【0061】そして、操作間隔時間カウンタTLCを
「0」にセットし(ステップS9)、鍵盤2を走査し
て、鍵変化があったかどうかチェックする(ステップS
10)。
【0062】ステップS10で、鍵変化がないと判断さ
れたときには、スイッチ部3のストップスイッチ(ST
OP SW)がONされたかどうか、すなわち、録音モ
ードの終了がスイッチ入力されたかどうかチェックする
(ステップS15)。
【0063】ステップS15で、ストップスイッチがO
Nされないときには、録音モードが終了していないと判
断して、ステップS2に戻って、モードスイッチが切り
換えられたかどうかチェックし(ステップS2)、モー
ドスイッチが切り換えられていないときには、ステップ
S4に移行して、モードをチェックする(ステップS
4)。
【0064】ステップS4で、録音モードのままである
と、プレレコーディングフラグPRFとメインレコーデ
ィングフラグMRFをチェックし(ステップS5)、判
断がYESであると、プレスタートフラグPSTFをチ
ェックするが、いま、前の処理で、プレスタートフラグ
PSTFを「1」にセットしているので、ステップS1
0に移行して、鍵変化をチェックする(ステップS1
0)。
【0065】ステップS10で、鍵変化があると、アウ
フタクトの曲であると判断して、鍵操作に対応するステ
ータス、操作された鍵に割り当てられた音高及びこの時
点での操作間隔時間カウンタTLCの内容をTLとして
RAM5のアドレスカウンタADの値の番地にストアし
(ステップS11)、操作間隔時間カウンタTLCを
「0」にセットして(ステップS12)、アウフタクト
フラグAFTを「1」にセットする(ステップS1
3)。
【0066】いま、アドレスカウンタADには、上記ス
テップS8の処理により、RAM5のアウフタクトデー
タ領域AFの先頭アドレスがセットされているので、鍵
入力された演奏データは、アウフタクトデータ領域AF
に格納される。
【0067】そして、アドレスカウンタADを「1」だ
けインクリメントして(ステップS14)、ストップス
イッチがONされたかどうかチェックする(ステップS
15)。
【0068】ステップS15で、ストップスイッチがO
Nされていないと、ステップS2に戻って、上記同様の
処理を繰り返し、鍵入力された演奏データをアドレスカ
ウンタADをインクリメントしつつ、アウフタクトデー
タ領域AFに順次格納する(ステップS2〜ステップS
15)。
【0069】上記処理を行っているときに、ステップS
15で、ストップスイッチがONされると、録音モード
が終了したと判断して、プレスタートフラグPSTFを
「0」に戻し(ステップS16)、録音モードを終了し
て、エディットモードに移行するとともに(ステップS
17)、アドレスカウンタADの値をアドレスにして、
最終データEND1をRAM5にストアして(ステップ
S18)、ステップS2に戻る。
【0070】また、上記処理を行っているときに、スト
ップスイッチが投入されることなく、ステップS5で、
メインレコーディングフラグMRFが「1」になると、
メインレコーディング開始タイミングT2になったと判
断して、図6のステップS19に移行し、メインレコー
ディングフラグMRFが「1」であることを確認して、
メインスタートフラグMSTFが「1」かどうかチェッ
クする(ステップS20)。
【0071】いま、メインレコーディング開始タイミン
グT2に到達して最初の処理であり、メインスタートフ
ラグMSTFは「0」であるので、プレスタートフラグ
PSTFを「0」にセットして(ステップS21)、ア
ドレスカウンタADをアドレスとしてアウフタクトの終
了を示す最終データEND1をRAM5にストアする
(ステップS22)。
【0072】そして、メインスタートフラグMSTFを
「1」にセットし(ステップS23)、アドレスカウン
タADに通常演奏データ領域BFの先頭アドレスの格納
されているアドレスレジスタAD2の値を格納する(ス
テップS24)。
【0073】次に、操作間隔時間カウンタTLCに
「0」をセットし(ステップS25)、鍵変化をチェッ
クする(ステップS26)。
【0074】ステップS26で、鍵変化があると、鍵
に対応するステータス、操作された鍵に割り当てられ
音高及びこの時点での操作間隔時間カウンタTLCの
内容をTLとしてアドレスカウンタADの値をアドレス
としてRAM5にストアし(ステップS27)、操作間
隔時間カウンタTLCを「0」にセットして(ステップ
S28)、アドレスカウンタADを「1」だけインクリ
メントする(ステップS29)。
【0075】そして、ストップスイッチがONされたか
どうかチェックし(ステップS30)、ONされない
と、録音モードが終了していないと判断して、ステップ
S2に戻り、上記同様に処理を行う。
【0076】図4のインタラプト処理で説明したよう
に、メインレコーディング開始タイミングT2に達し
て、一旦メインレコーディングフラグMRFが「1」に
なると、メインレコーディングフラグMRFは、録音モ
ードが終了するまで、「1」の状態を保持されるので、
以降、録音モードでは、上記ステップS19では、YE
Sとなり、メインスタートフラグMSTFをチェックす
る(ステップS20)。
【0077】このメインスタートフラグMSTFは、い
ま、上記ステップS23の処理で「1」にセットされて
いるので、ステップS26に移行し、鍵変化をチェック
する(ステップS26)。
【0078】ステップS26で、鍵変化があると、上記
同様に、この鍵操作に対応するステータス操作された
鍵に割り当てられた音高及びこの時点での操作時間間隔
カウンタTLCの内容をTLとしてアドレスカウンタA
DをアドレスとしてRAM5にストアし(ステップS2
7)、操作時間間隔カウンタTLCを「0」にセットし
て(ステップS28)、アドレスカウンタADをインク
リメントする(ステップS29)。
【0079】一方、ステップS26で、鍵変化がない
と、そのままステップS30に移行し、ストップスイッ
チがONされたかどうかチェックする(ステップS3
0)。
【0080】ステップS30で、ストップスイッチがO
Nされていないときには、ステップS2に戻って上記処
理を順次繰り返し、鍵入力された演奏データをRAM5
の通常演奏データ領域BFに順次格納する(ステップS
26〜S29)。
【0081】そして、ステップS30で、ストップスイ
ッチが投入されると、録音モードの終了であると判断し
て、メインスタートフラグMSTFを「0」にセットし
(ステップS31)、エディットモードに切り換える
(ステップS32)。
【0082】次に、アドレスカウンタADをアドレスと
して通常の演奏データの終了を意味する最終データEN
D2をRAM5にストアし(ステップS33)、ステッ
プS2に戻る。
【0083】〈再生モード処理〉そして、図5のステッ
プS4で、再生(PLAY)モードであると、図7の処
理に移行し、スタートフラグSTFが「1」かどうかチ
ェックする(ステップS34)。
【0084】いま、再生モードで最初の処理であり、ス
タートフラグSTFは「0」であるので、スタートフラ
グSTFに「1」をセットし(ステップS35)、アウ
フタクトフラグAFTが「1」かどうか、すなわち、ア
ウフタクトデータ領域AFにデータが格納されているか
どうかチェックする(ステップS36)。
【0085】アウフタクトフラグAFTが「1」のとき
には、アウフタクトの曲であると判断して、アドレスレ
ジスタAD1の値、すなわち、アウフタクトデータ領域
AFの先頭アドレスをアドレスカウンタADにセットし
(ステップS37)、RAM5のアドレスカウンタAD
に記憶されているデータを読み出すとともに、読み出し
たデータのTLを操作間隔時間カウンタTLCにストア
する(ステップS39)。
【0086】また、ステップS36で、アウフタクトフ
ラグAFTが「0」のときには、アウフタクトではな
く、通常の曲であると判断して、アドレスレジスタAD
2の値、すなわち、RAM5の通常演奏データ領域BF
の先頭アドレスをアドレスカウンタADにセットし(ス
テップS38)、RAM5のアドレスカウンタADに記
憶されているデータを読み出すとともに、読み出したデ
ータのTLを操作間隔時間カウンタTLCにストアする
(ステップS39)。
【0087】このように、アウフタクトの曲のときに
は、アウフタクトデータ領域AFに記憶されている演奏
データ、すなわち、−1小節目の演奏データを読み出す
ことができ、また、アウフタクトでない通常の曲のとき
には、通常演奏データ領域BFに記憶されている演奏デ
ータ、すなわち、1小節目の演奏データを読み出すこと
ができる。
【0088】次に、読み出したデータがアウフタクトデ
ータ領域AFの最終データEND1であるかどうかチェ
ックし(ステップS40)、NOのときには、通常演奏
データ領域BFの最終データEND2であるかどうかチ
ェックする(ステップS42)。
【0089】ステップS42で、NOのときには、操作
時間間隔カウンタTLCが「0」かどうかチェックし
(ステップS43)、操作時間間隔カウンタTLCが
「0」のときには、読み出されている音高に基づいて波
形メモリ8から対応する音高の波形データを読み出し
て、発音を指示する(ステップS44)。
【0090】そして、アドレスカウンタADを「1」だ
けインクリメントして(ステップS45)、ステップS
2に戻り、上記同様の処理を行う。
【0091】ステップS43で、操作間隔時間カウンタ
TLCが「0」でないときには、発音タイミングではな
いと判断して、そのままステップS2に戻り、上記同様
の処理を行う。
【0092】再生モードにおいては、一旦処理を開始
し、ステップS35で、スタートフラグSTFを「1」
にセットすると、次回の処理からは、ステップS34で
の判断がYESとなり、ステップS39に移行して、ス
テップS45でインクリメントしたアドレスカウンタA
Dの値のアドレスに記憶されているRAM5のデータを
読み出し、読み出したデータのうちTLを操作間隔時間
カウンタTLCにストアする(ステップS39)。
【0093】そして、いま、アウフタクトデータ領域A
Fのデータを読み出して再生処理し、アウフタクトデー
タ領域AFの最終データまで再生処理が進んだとする
と、ステップS40で、読み出したデータが最終データ
END1となり、ステップS41に移行して、アドレス
カウンタADにアドレスレジスタAD2の値をセットし
(ステップS41)、ステップS34に戻る。
【0094】すなわち、アウフタクトの曲のときには、
アウフタクトデータ領域AFのデータを順次再生処理
し、最終データEND1まで再生処理すると、RAM5
の読出アドレスを通常演奏データ領域BFの先頭アドレ
スにセットして、次に、通常演奏データ領域BFの演奏
データの再生処理に移行する。
【0095】そして、通常演奏データ領域BFの再生処
理に移行すると、ステップS34からステップS39に
進み、RAM5からアドレスカウンタADのアドレスの
データを読み出して、読み出したデータのうちTLを操
作間隔時間カウンタTLCにストアする(ステップS3
9)。
【0096】ステップS40では、NOとなるので、ス
テップS42に移行して、読み出したデータが通常演奏
データ領域BFの最終データEND2かどうかチェック
し(ステップS42)、最終データEND2でないとき
には、操作間隔時間カウンタTLCが「0」かどうかチ
ェックする(ステップS43)。
【0097】ステップS43で、操作間隔時間カウンタ
TLCが「0」のときには、読み出されている音高に基
づいて発音指示し(ステップS44)、アドレスカウン
タADをインクリメントして、ステップS2に戻る。ま
た、ステップS43で、操作間隔時間カウンタTLCが
「0」でないときには、そのままステップS2に戻る。
【0098】上記処理を順次繰り返し、ステップS42
で、データが通常演奏データ領域BFの最終データEN
D2であると、スタートフラグSTFを「0」にリセッ
トし(ステップS46)、編集モードに切り換えて(ス
テップS47)、ステップS2に戻る。
【0099】なお、上記再生モードの途中で、モードス
イッチが切り換えられると、図5のステップS2で、Y
ESとなり、タイマーTを「0」にセットした後(ステ
ップS3)、切り換えられたモードをチェックし(ステ
ップS4)、切り換えられたモードに対応した処理を行
う。
【0100】〈編集モード処理〉いま、モードが編集モ
ードに切り換えられると、図5のステップS4から図8
の編集モード処理に移行する。
【0101】編集モード処理では、まず、スイッチ部3
により小節番号が指定されたかどうかチェックし(ステ
ップS46)、指定されていないときには、ステップS
2に戻ってモードスイッチのチェックから同様に処理す
る。
【0102】ステップS46で、小節番号が指定されて
いると、指定された小節番号を小節レジスタBに格納し
(ステップS47)、小節番号を格納した小節レジスタ
Bの値が、「−1」かどうか、すなわち、アウフタクト
の曲の先頭の小節が指定されているかどうかチェックす
る(ステップS48)。
【0103】ステップS48で、YESのときには、ア
ドレスレジスタAD1の値、すなわち、アウフタクトデ
ータ領域AFの先頭アドレスをアドレスとして、RAM
5から順次データを最終データEND1が読み出される
まで読み出し(ステップS49)、読み出したデータを
正規化して(ステップS65)、表示部9に楽譜表示し
た後(ステップS66)、ステップS2に戻る。
【0104】すなわち、RAM5に格納されている演奏
データは、録音モードで取り込んで格納したデータであ
るため、操作間隔時間やテンポ等が正規の値とは異なる
ことが多く、そのままのデータを楽譜表示することがで
きないため、まず、正規化処理した後、楽譜表示してい
る。
【0105】したがって、アウフタクトの曲であって
も、小節番号として、「−1」を指定することにより、
アウフタクトの曲の先頭小節の演奏データを楽譜表示し
て、エディットすることができる。
【0106】上記ステップS48で、小節レジスタBの
値が「−1」でないときには、累積操作間隔時間レジス
タSTLに「0」をセットし(ステップS50)、アド
レスカウンタADにアドレスレジスタAD2をセットす
る(ステップS51)。
【0107】次に、拍レジスタHAの値と、拍子レジス
タHYの値と、小節レジスタBの値から「−1」を減算
した値と、を乗算し、その乗算結果(HA×HY×(B
−1))を指定小節開始時間カウンタBTL1に格納す
るとともに、小節フラグBF1に「0」をセットする
(ステップS52)。
【0108】また、拍レジスタHAの値と、拍子レジス
タHYの値と、小節レジスタBの値と、を乗算し、その
乗算結果(HA×HY×B)を指定小節終了時間カウン
タBTL2に格納するとともに、小節フラグBF2に
「0」をセットする(ステップS53)。
【0109】すなわち、エディットの対象となる小節の
先頭までの所定タイミング毎に行われるカウントの累積
を指定小節開始時間カウンタBTL1にセットし、エデ
ィットの対象となる小節の最後までの所定タイミング毎
に行われるカウントの累積を指定小節終了時間カウンタ
BTL2にセットしている。
【0110】次に、小節フラグBF1が「1」かどうか
チェックし(ステップS54)、いま、ステップS52
で「0」がセットされているので、累積操作間隔時間
ジスタSTLの値が指定小節開始時間カウンタBTL1
にセットされた所定タイミング毎に行われるカウントの
累積以上の値になったかどうかチェックする(ステップ
S55)。
【0111】いま、ステップS50で、累積操作間隔時
レジスタSTLに「0」がセットされているので、ス
テップS58に移行して、アドレスレジスタAD2をア
ドレスとしてRAM5からデータ、特に、TLを読み出
し、読み出したTLを操作間隔時間カウンタTLCにス
トアする(ステップS58)。
【0112】そして、このデータが通常演奏データ領域
BFの最終データEND2であるかどうかチェックし
(ステップS59)、最終データでないと、累積操作間
隔時間レジスタSTLの値に操作間隔時間カウンタTL
Cの値を加算して、その加算結果を累積操作間隔時間
ジスタSTLにセットする(ステップS60)。
【0113】次に、この累積操作間隔時間レジスタST
Lの値が指定小節終了時間カウンタBTL2にセットさ
れた所定タイミング毎に行われるカウントの累積以上で
あるかどうかチェックする(ステップS61)。
【0114】いま、処理を開始したところであるので、
ステップS61の判断は、NOとなり、ステップS63
に移行して、アドレスレジスタAD2を「1」だけイン
クリメントし(ステップS63)、ステップS54に移
行して、小節フラグBF1をチェックする(ステップS
54)。
【0115】ステップS54で、小節フラグBF1はス
テップS52で「0」にセットされたままであるので、
累積操作間隔時間レジスタSTLの値が指定小節開始
カウンタBTL1の値以上になったかどうかチェック
する(ステップS55)。
【0116】すなわち、通常演奏データ領域BFのデー
タについては、指定小節開始時間カウンタBTL1に指
定小節の先頭アドレス位置まで所定タイミング毎に行
われるカウントの累積をセットするとともに、指定小節
終了時間カウンタBTL2に指定小節の最終アドレス位
まで所定タイミング毎に行われるカウントの累積
セットし、累積操作間隔時間レジスタSTLに「0」を
セットする。そして、通常演奏データ領域BFの演奏デ
ータを順次読み出して、その演奏データの操作間隔時間
データ(TL)を累算し、累算した累積操作間隔時間
ジスタSTLの値が、指定小節の先頭アドレス位置の
定タイミング毎に行われるカウントの累積がセットされ
ている指定小節開始時間カウンタBTL1の値になった
かどうかをステップS55でチェックしている。
【0117】ステップS55で、累積操作間隔時間レジ
スタSTLの値が指定小節開始時間カウンタBTL1の
値以上になると、小節フラグBF1に「1」をセットし
(ステップS56)、アドレスカウンタADの値を編集
対象の小節の先頭アドレスを格納するアドレスレジスタ
BAD1にセットする(ステップS57)。
【0118】次に、上記同様に、アドレスレジスタAD
2の値をアドレスとしてRAM5からTLデータを読み
出して、操作間隔時間カウンタTLCにストアし(ステ
ップS58)、データが最終データEND2かどうかチ
ェックする(ステップS59)。
【0119】いま、最終データEND2まで処理が進ん
でいないので、累積操作間隔時間レジスタSTLの値に
操作間隔時間カウンタTLCの値を加算して、その加算
結果を累積操作間隔時間レジスタSTLに格納し(ステ
ップS60)、累積操作間隔時間レジスタSTLの値が
指定小節終了時間カウンタBTL2の値以上になったか
どうかチェックする(ステップS61)。
【0120】ステップS61で、NOのときには、アド
レスレジスタAD2をインクリメントして(ステップS
63)、ステップS54に戻り、小節フラグBF1が
「1」かどうかチェックする(ステップS54)。
【0121】いま、上記ステップS56で、小節フラグ
BF1を「1」にセットしているので、ステップS58
に移行し、アドレスレジスタAD2の値をアドレスとし
てRAM5からデータを読み出して、そのデータのTL
操作間隔時間カウンタTLCにストアする(ステップ
S58)。
【0122】以降、同様に累積操作間隔時間レジスタS
TLの累算、アドレスレジスタAD2のインクリメント
を行う(ステップS60、S63)。
【0123】そして、ステップS61で、累算した累積
操作間隔時間レジスタSTLの値が指定小節終了時間
ウンタBTL2の値に達すると、アドレスレジスタAD
2の値に「1」を加算し、その加算結果を編集対象の小
節の終了アドレスを格納するアドレスレジスタBAD2
にセットする(ステップS62)。
【0124】このステップS62の処理により、編集対
象の先頭アドレスから終了アドレスまでが、それぞれア
ドレスレジスタBAD1とアドレスレジスタBAD2に
格納されたことになる。
【0125】そこで、RAM5のアドレスレジスタBA
D1のアドレスからアドレスレジスタBAD2のアドレ
スの間に記憶されているデータを読み出し(ステップS
64)、正規化を行った後(ステップS65)、表示部
9に楽譜を表示出力する(ステップS66)。
【0126】このように、RAM5の記憶領域をアウフ
タクトの最初の小節の演奏データを記憶するためのアウ
フタクトデータ領域AFと通常の演奏データを記憶する
ための通常演奏データ領域BFとに分けて、データ管理
しているので、アウフタクトの曲であっても、編集対象
の小節を楽譜上の小節数及び小節番号とRAM5内のデ
ータの小節数及び小節番号が一致するようにメモリ管理
することができ、RAM5内のデータの編集作業を効率
的に行うことができる。
【0127】
【発明の効果】本発明によれば、アウフタクトの曲であ
っても、楽譜上の小節数及び小節番号と記憶手段内のデ
ータの小節数及び小節番号が一致するようにメモリ管理
することができ、記憶手段内のデータの編集作業を効率
的に行うことができる。
【図面の簡単な説明】
【図1】本発明の自動演奏装置の一実施例のブロック構
成図。
【図2】図1のRAMの演奏データの記憶状態を示す
図。
【図3】ワークRAMに形成される各種フラグ、レジス
タ及びカウンタを示す図。
【図4】図1の自動演奏装置によるインタラプト処理を
示すフローチャート。
【図5】図1の自動演奏装置による自動演奏処理を示す
フローチャート。
【図6】図5の続きの処理を示すフローチャート。
【図7】図5のさらに続きの処理を示すフローチャー
ト。
【図8】図5のさらに続きの処理を示すフローチャー
ト。
【図9】図1のRAMへのデータの記憶タイミングの説
明図。
【符号の説明】
1 自動演奏装置 2 鍵盤 3 スイッチ部 4 テンポ設定部 5 RAM 6 CPU 7 ワークRAM 8 波形メモリ 9 表示部 10 カウント発生部 11 D/Aコンバータ 12 アンプ 13 スピーカ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 - 7/12 G10G 3/04

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】音高を指定する演奏操作子と、 前記演奏操作子で指定された音高データ及び演奏操作子
    の操作間隔のデータからなる曲のデータを記憶する記憶
    手段と、前記演奏操作子によって入力されるデータの前記記憶手
    段への記憶開始を異なるタイミングで指示する第1タイ
    ミング信号と第2タイミング信号を発生させるタイミン
    グ発生手段と、 前記タイミング発生手段の発生する第1タイミング信号
    から第2タイミング信号までの間に前記演奏操作子によ
    り入力された第1のデータと、第2タイミング信号以降
    に前記演奏操作子により入力された第2のデータと、を
    前記記憶手段に異なるデータとして記憶させる記憶制御
    手段と、 前記記憶制御手段により前記記憶手段に記憶された曲デ
    ータの特定小節を示す小節番号を指定する小節指定手段
    と、 前記小節指定手段により指定された小節番号に対応する
    小節内に含まれるデータが該第1のデータであるかある
    いは第2のデータに含まれるかを判断し、第1のデータ
    である場合は当該第1のデータを選択するとともに、第
    2のデータに含まれる場合は、当該第2のデータのうち
    前記指定された小節内に含まれるデータを選択するデー
    タ選択手段と、 前記データ選択手段により選択されたデータを表示する
    表示手段と、 を備えたことを特徴とする自動演奏装置。
  2. 【請求項2】前記データ選択手段は、前記第1のデータ
    と第2のデータとを前記記憶手段の異なる領域に記憶さ
    せ、前記小節指定手段により指された小節番号に対応
    する小節内に含まれるデータの開始位置は指定された小
    節直前までの、所定タイミング毎に行われる全てのカウ
    ントを累算することにより算出し、終了位置は該指定さ
    れた小節終了までの、所定タイミング毎に行われる全て
    のカウントを累算することにより算出することを特徴と
    する請求項1記載の自動演奏装置。
JP22811993A 1993-08-20 1993-08-20 自動演奏装置 Expired - Fee Related JP3404818B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22811993A JP3404818B2 (ja) 1993-08-20 1993-08-20 自動演奏装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22811993A JP3404818B2 (ja) 1993-08-20 1993-08-20 自動演奏装置

Publications (2)

Publication Number Publication Date
JPH0756569A JPH0756569A (ja) 1995-03-03
JP3404818B2 true JP3404818B2 (ja) 2003-05-12

Family

ID=16871512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22811993A Expired - Fee Related JP3404818B2 (ja) 1993-08-20 1993-08-20 自動演奏装置

Country Status (1)

Country Link
JP (1) JP3404818B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09222885A (ja) * 1996-02-16 1997-08-26 Matsushita Electric Ind Co Ltd オーディオデータ編集装置

Also Published As

Publication number Publication date
JPH0756569A (ja) 1995-03-03

Similar Documents

Publication Publication Date Title
JP2003302984A (ja) 歌詞表示方法、歌詞表示プログラムおよび歌詞表示装置
JP3404818B2 (ja) 自動演奏装置
JP2005092178A (ja) 自動演奏装置及びプログラム
JP2004317819A (ja) 自動演奏装置
JP2001022350A (ja) 波形再生装置
JP3022022B2 (ja) 自動演奏装置
JP3171759B2 (ja) 自動演奏装置
JP3873782B2 (ja) 自動演奏装置、自動演奏プログラムおよび自動演奏データのデータ構造
JP3480327B2 (ja) 演奏データ編集装置及びそのための記憶媒体
JP3173704B2 (ja) 自動演奏装置
JP2985379B2 (ja) 自動演奏装置
JP2819966B2 (ja) 自動演奏装置
JP3770227B2 (ja) 楽音発生装置及びプログラムを記録した媒体
JP3872186B2 (ja) 自動演奏装置
JP3320568B2 (ja) カラオケ装置
JP3460562B2 (ja) 入力・編集装置および記憶媒体
JP2007264034A (ja) 演奏記録装置及びプログラム
JP3603587B2 (ja) 自動伴奏装置および記憶媒体
JP3455786B2 (ja) 自動演奏装置
JP2001154670A (ja) 曲データ再生装置、方法及び記録媒体
JP3480001B2 (ja) 自動演奏データ編集装置
JP3649117B2 (ja) 楽音再生装置及び方法並びに記憶媒体
JP2626440B2 (ja) 自動伴奏装置
JP3770226B2 (ja) 楽音発生装置及びプログラムを記録した媒体
JP2650580B2 (ja) 自動演奏装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090307

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090307

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100307

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees