JPH0756569A - 自動演奏装置 - Google Patents

自動演奏装置

Info

Publication number
JPH0756569A
JPH0756569A JP5228119A JP22811993A JPH0756569A JP H0756569 A JPH0756569 A JP H0756569A JP 5228119 A JP5228119 A JP 5228119A JP 22811993 A JP22811993 A JP 22811993A JP H0756569 A JPH0756569 A JP H0756569A
Authority
JP
Japan
Prior art keywords
data
stored
performance
address
ram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP5228119A
Other languages
English (en)
Other versions
JP3404818B2 (ja
Inventor
Hiroshi Tomita
尋 富田
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)

Abstract

(57)【要約】 【目的】アウフタクトの曲でもメモリ内のデータの編集
作業を効率的に行える自動演奏装置を提供することを目
的とする。 【構成】録音モードで、RAM5にアウフタクトデータ
領域AFと通常演奏データ領域BFとに分けて演奏デー
タを格納する。編集モードで、「−1」の小節番号が指
定されると、RAM5のアウフタクトデータ領域AFの
先頭アドレスから最終データEND1までのデータをR
AM5から読み出して、正規化した後、楽譜表示する
(ステップS46〜S49、S65、S66)。また、
「−1」以外の小節番号が指定されると、指定された小
節の先頭の音長と最後の音長に対応するRAM5の通常
演奏データ領域BFのアドレスを算出し、算出した小節
の先頭アドレスから最終アドレスまでのデータをRAM
5から読み出して(ステップS50〜S64)、正規化
した後、楽譜表示する(ステップS65、S66)。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、自動演奏装置に関し、
詳しくは、演奏時に記憶された演奏データを自動演奏す
るに際し、アウフタクトを考慮した自動演奏を行える自
動演奏装置に関する。
【0002】
【従来の技術】自動演奏装置、特に、鍵盤による演奏を
メモリに記憶させ、このメモリに記憶させた演奏データ
を自動演奏させる自動演奏装置においては、従来、録音
開始スイッチが投入された後、入力タイミングをとるた
めに、数小節分のカウントを行って、鍵盤からの入力デ
ータをメモリに記憶する。
【0003】そして、自動演奏時、このメモリに記憶さ
れた入力データの先頭を第1小節として自動演奏する。
【0004】すなわち、録音開始スイッチが投入された
後、一定時間経過後の入力データから記憶を開始し、そ
の先頭データを演奏曲の第1小節目のデータとして管理
する。
【0005】
【発明が解決しようとする課題】しかしながら、このよ
うな従来の自動演奏装置にあっては、録音開始スイッチ
が投入された後、一定時間経過後の入力データから記憶
を開始し、その先頭データを演奏曲の第1小節目のデー
タとして管理するようになっていたため、楽曲やテーマ
などが小節の最強拍(第1拍)よりも前の部分から始ま
るアウフタクト(弱起)の曲である場合には、第1小節
目の数拍目から曲が始まるようなデータ管理がなされる
結果となり、アウフタクトの曲では、メモリ管理上の小
節数及び小節番号が、楽譜上の小節数及び小節番号とず
れが生じ、メモリに記憶されたデータを小節を指定して
編集する場合に、表示部に表示されるメモリのデータ内
容と楽譜上の内容が異なる。その結果、アウフタクトの
曲を編集作業を行う上で、不便であるという問題があっ
た。
【0006】そこで、本発明の目的は、アウフタクトの
曲であっても、楽譜上の小節数及び小節番号とメモリ内
のデータの小節数及び小節番号が一致するようにメモリ
管理して、メモリ内のデータの編集作業を効率的に行う
ことのできる自動演奏装置を提供することを目的として
いる。
【0007】
【課題を解決するための手段】本発明の自動演奏装置
は、音高を指定する演奏操作子と、前記演奏操作子で指
定された音高データ及び演奏操作子の操作間隔のデータ
からなる曲のデータを記憶する記憶手段と、前記記憶手
段に記憶されているデータを表示する表示手段と、前記
記憶手段に記憶されている曲データの特定小節内に含ま
れるデータを指定して前記表示手段への表示を指示する
表示指示手段と、前記演奏操作子によって入力されるデ
ータの前記記憶手段への記憶開始を異なるタイミングで
指示する第1タイミング信号と第2タイミング信号を発
生させるタイミング発生手段と、前記タイミング発生手
段の発生する第1タイミング信号から第2タイミング信
号までの間に前記演奏操作子により入力された第1のデ
ータと、第2タイミング信号以降に前記演奏操作子によ
り入力された第2のデータと、を前記記憶手段に異なる
データとして記憶させ、前記表示指示手段により指示さ
れた小節内に含まれるデータが該第1のデータであるか
第2のデータであるかを判断して、指定された小節内に
含まれるデータを前記表示手段に表示させるデータ管理
手段と、を備えることにより、上記目的を達成してい
る。
【0008】この場合、前記データ管理手段は、例え
ば、請求項2に記載するように、前記第1のデータと第
2のデータとを前記記憶手段の異なる記憶領域に記憶さ
せ、前記表示指示手段により指示された小節内に含まれ
るデータを、指定された小節までの全ての音長総計を前
記記憶手段に記憶されたデータの音長を累算することに
より算出して、表示手段に表示させるものであってもよ
い。
【0009】
【作用】本発明によれば、演奏操作子で指定された音高
データ及び演奏操作子の操作間隔のデータからなる曲の
データを記憶する記憶手段に記憶するが、このデータ
を、タイミング発生手段から発生される該記憶手段への
記憶開始を異なるタイミングで指示する第1タイミング
信号と第2タイミング信号に基づいて、データ管理手段
が管理している。
【0010】すなわち、データ管理手段は、第1タイミ
ング信号から第2タイミング信号までの間に前記演奏操
作子により入力された第1のデータと、第2タイミング
信号以降に前記演奏操作子により入力された第2のデー
タと、を異なるデータとして前記記憶手段に記憶させ、
特定小節内に含まれるデータを指定して表示手段への表
示が指示されると、該データ管理手段が、該指示された
小節が該第1のデータであるか第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、通常演奏データの録音
の開始を示すメインスタートフラグMSTF、通常演奏
データ領域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を走査して、鍵変化
があったかどうかチェックする(ステップS10)。
【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で、鍵変化があると、アウ
フタクトの曲であると判断して、鍵操作に対応するステ
ータス、音高及びTLをRAM5のアドレスカウンタA
Dの値の番地にストアし(ステップS11)、音符長カ
ウンタTLCを「0」にセットして(ステップS1
2)、アウフタクトフラグAFTを「1」にセットする
(ステップS13)。
【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で、鍵変化があると、鍵入
力に対応するステータス、音高及び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で、鍵変化があると、上記
同様に、鍵入力に対応するストップスイッチ、音高及び
TLをアドレスカウンタADをアドレスとしてRAM5
にストアし(ステップS27)、音符長カウンタ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にストアする(ステップS39)。
【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」でないときには、累積音符長レジスタST
Lに「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】すなわち、エディットの対象となる小節の
先頭までの累積音長を指定小節開始累積音長カウンタB
TL1にセットし、エディットの対象となる小節の最後
までの累積音長を指定小節終了累積音長カウンタBTL
2にセットしている。
【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の値に音符長カウンタTLCの値を加算
して、その加算結果を累積音符長レジスタSTLにセッ
トする(ステップS60)。
【0113】次に、この累積音符長レジスタSTLの値
が指定小節終了累積音長カウンタ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で、累積音符長レジスタS
TLの値が指定小節開始累積音長カウンタBTL1の値
以上になると、指定小節開始累積音長カウンタBTL1
に「1」をセットし(ステップS56)、アドレスカウ
ンタADの値を編集対象の小節の先頭アドレスを格納す
るアドレスレジスタBAD1にセットする(ステップS
57)。
【0118】次に、上記同様に、アドレスレジスタAD
2の値をアドレスとしてRAM5からTLデータを読み
出して、音符長カウンタTLCにストアし(ステップS
58)、データが最終データ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にストアする(ステップS5
8)。
【0122】以降、同様に累積音符長レジスタSTLの
累算、アドレスレジスタAD2のインクリメントを行う
(ステップS60、S63)。
【0123】そして、ステップS61で、累算した累積
音符長レジスタSTLの値が指定小節終了累積音長カウ
ンタBTL2の値に達すると、アドレスレジスタAD2
の値に「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 スピーカ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】音高を指定する演奏操作子と、 前記演奏操作子で指定された音高データ及び演奏操作子
    の操作間隔のデータからなる曲のデータを記憶する記憶
    手段と、 前記記憶手段に記憶されているデータを表示する表示手
    段と、 前記記憶手段に記憶されている曲データの特定小節内に
    含まれるデータを指定して前記表示手段への表示を指示
    する表示指示手段と、 前記演奏操作子によって入力されるデータの前記記憶手
    段への記憶開始を異なるタイミングで指示する第1タイ
    ミング信号と第2タイミング信号を発生させるタイミン
    グ発生手段と、 前記タイミング発生手段の発生する第1タイミング信号
    から第2タイミング信号までの間に前記演奏操作子によ
    り入力された第1のデータと、第2タイミング信号以降
    に前記演奏操作子により入力された第2のデータと、を
    前記記憶手段に異なるデータとして記憶させ、前記表示
    指示手段により指示された小節内に含まれるデータが該
    第1のデータであるか第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 true JPH0756569A (ja) 1995-03-03
JP3404818B2 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)

Cited By (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 オーディオデータ編集装置

Cited By (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
JP3404818B2 (ja) 2003-05-12

Similar Documents

Publication Publication Date Title
JP6019803B2 (ja) 自動演奏装置及びプログラム
JP3239411B2 (ja) 自動演奏機能付電子楽器
JP2005092178A (ja) 自動演奏装置及びプログラム
JP3404818B2 (ja) 自動演奏装置
JP2001022350A (ja) 波形再生装置
JP3022022B2 (ja) 自動演奏装置
JP3873782B2 (ja) 自動演奏装置、自動演奏プログラムおよび自動演奏データのデータ構造
JP2819966B2 (ja) 自動演奏装置
JP3770227B2 (ja) 楽音発生装置及びプログラムを記録した媒体
JP3173704B2 (ja) 自動演奏装置
JP2001154670A (ja) 曲データ再生装置、方法及び記録媒体
JP2985379B2 (ja) 自動演奏装置
JP3603587B2 (ja) 自動伴奏装置および記憶媒体
JP3407563B2 (ja) 自動演奏装置及び自動演奏方法
JP3637782B2 (ja) データ生成装置と記録媒体
JP3455786B2 (ja) 自動演奏装置
JP3770226B2 (ja) 楽音発生装置及びプログラムを記録した媒体
JP2650580B2 (ja) 自動演奏装置
JP3385545B2 (ja) 自動演奏装置
JP3649117B2 (ja) 楽音再生装置及び方法並びに記憶媒体
JPH08106285A (ja) 自動演奏装置
JP2550826B2 (ja) 電子楽器
JP2626440B2 (ja) 自動伴奏装置
JP2665854B2 (ja) 自動演奏装置
JPH11184466A (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