JP2621727B2 - 自動演奏装置 - Google Patents

自動演奏装置

Info

Publication number
JP2621727B2
JP2621727B2 JP4025721A JP2572192A JP2621727B2 JP 2621727 B2 JP2621727 B2 JP 2621727B2 JP 4025721 A JP4025721 A JP 4025721A JP 2572192 A JP2572192 A JP 2572192A JP 2621727 B2 JP2621727 B2 JP 2621727B2
Authority
JP
Japan
Prior art keywords
data
performance
switch
address
performance data
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
JP4025721A
Other languages
English (en)
Other versions
JPH05188945A (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.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP4025721A priority Critical patent/JP2621727B2/ja
Publication of JPH05188945A publication Critical patent/JPH05188945A/ja
Application granted granted Critical
Publication of JP2621727B2 publication Critical patent/JP2621727B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はシーケンサや自動伴奏
装置あるいは自動リズム演奏装置等の自動演奏装置に関
し、特に演奏データの途中に新たな演奏データを挿入で
きるものに関する。
【0002】
【従来の技術】電子楽器のキーボードやコンピュータ等
から入力される演奏情報をメモリ等に予め記憶してお
き、記憶された演奏情報を読み出して演奏音を自動的に
再生するシーケンサタイプの自動演奏装置として、特開
昭58−211191号や特開昭63−193192号
公報に示されるようなものがある。
【0003】この種の自動演奏装置においては、演奏情
報の最初の部分(ヘッダ)に自動演奏時の音色、音量、
効果等を設定するための初期設定データが記憶されてお
り、これに続けて演奏データが記憶されている。従っ
て、自動演奏装置は自動演奏に際してまずヘッダに記憶
されている設定データを読み出し、その設定データに基
づいて自動演奏時の音色、音量、効果等を設定し、次に
演奏データを読み出し、その演奏データに基づいた演奏
音を設定データの音色、音量、効果等に応じて再生して
いる。
【0004】ヘッダには、音色、音量、効果等の各種の
設定データが記憶されているので、この設定データを書
き換えるか又は自動演奏装置内に一旦読み込まれた設定
データを変更することによって演奏時の音色、音量、効
果等を所望のものに自由に変化させることができる。ヘ
ッダに記憶されている設定データを書き換えるには、自
動演奏装置を再生演奏モードから例えばエディットモー
ドや録音待機状態に切り換えてから行っていた。また、
自動演奏装置内に一旦読み込まれた設定データは演奏中
であってもパネルスイッチ等の操作によって自由に変更
することができ、ヘッダに記憶されている設定データと
は異なったものに自由に変更することができた。
【0005】ところが、演奏データの場合には、その書
き換え又は変更は容易ではなかった。例えば数小節分を
抜かして演奏データを記録してしまったため、既に記憶
された演奏データの途中に新たに演奏データを挿入した
いような場合には、従来の自動演奏装置では次のように
して、新たな演奏データの挿入を行っていた。
【0006】まず、はじめに、自動演奏装置の処理状態
をエディットモードに変更してから、新たに演奏データ
を挿入したいトラックに、挿入したい長さに対応するだ
けの小節(演奏データの何も入っていない空白の小節)
を挿入する。この空白小節の挿入は挿入開始小節と挿入
終了小節とを指定することによって行う。
【0007】そして、次に録音開始小節と録音終了小節
とを指定することによって、録音開始小節から自動的に
リアルタイム録音を開始し(パンチイン録音)、次々と
演奏データを記録していき、録音終了小節に達した時点
で自動的に録音を終了する(パンチアウト録音)。従っ
て、予め挿入された空白小節を含むように録音開始小節
と録音終了小節とを指定する必要がある。
【0008】
【発明が解決しようとする課題】このように、従来は、
演奏データを挿入するのに、最低2つの動作(空白小節
の挿入動作とパンチイン録音動作)を行わなければなら
ず、非常に面倒であった。また、空白小節挿入時の挿入
開始小節と挿入終了小節と、パンチイン録音時の録音開
始小節と録音終了小節とを合わせ間違えてしまうことに
よって、思わぬ録音ミスをする場合があった。また、従
来は、予め挿入した空白小節数分だけしか挿入できない
ので、更に追加挿入しようとする場合には、上述の2つ
の動作を再び繰り返さなければならず、面倒であった。
【0009】本発明は上述の点に鑑みてなされたもので
あり、予め記憶された演奏データに新たな演奏データを
挿入する場合に任意の長さの演奏データを任意位置に容
易に挿入できるような自動演奏装置を提供することを目
的とする。
【0010】
【課題を解決するための手段】 この発明に係る自動演
奏装置は、演奏データを入力する入力手段と、前記演奏
データを記憶する記憶手段と、この記憶手段に記憶され
ている前記演奏データに対して新たな演奏データを挿入
する場合に記憶済みの前記演奏データにおける挿入開始
位置を指示する挿入位置指示手段と、前記挿入位置指示
手段によって指示された挿入開始位置が前記演奏データ
における小節開始位置に該当するかどうかを判定し、小
節開始位置に該当していない場合は該指示された挿入開
始位置を小節開始位置に該当する位置に修正し、小節開
始位置に該当する位置を挿入開始位置として指定する挿
入位置修正手段と、前記入力手段によって次々と入力さ
れる前記演奏データを前記指定された挿入開始位置から
後に挿入演奏データとして前記記憶手段に順次記憶して
いき、前記入力手段による前記挿入演奏データの入力終
了後に前記指定された挿入開始位置よりも後に存在した
前記演奏データを前記挿入演奏データの後に接続する演
奏データ挿入手段とを具えたものである。
【0011】
【作用】 演奏データは自動演奏音の音高、発音タイミ
ング等を示すデータである。入力手段は操作者の操作に
応じて次々と演奏データを入力するものであり、記憶手
段はこの演奏データを記憶するものである。挿入位置指
示手段は予め記憶手段に記憶されている演奏データ上に
おける挿入開始位置を指示するものである。操作者はこ
の挿入位置指示手段によって新たな演奏データを挿入し
ようとする所望の箇所を指示する。挿入位置修正手段
は、操作者によって指示された挿入開始位置が演奏デー
タにおける小節開始位置に該当するかどうかを判定し、
小節開始位置に該当していない場合は該指示された挿入
開始位置を小節開始位置に該当する位置に修正し、こう
して、小節開始位置に該当する位置が挿入開始位置とし
て指定されるように、自動的に修正する。演奏データ挿
入手段は、入力手段から次々と入力されてくる演奏デー
タを前記指定された挿入開始位置から後に挿入演奏デー
タとして記憶手段に順次記憶していき、該指定された挿
入開始位置よりも前に存在した演奏データと挿入演奏デ
ータとを接続する。そして、演奏データ挿入手段は、入
力手段による挿入演奏データの入力終了後に該指定され
た挿入開始位置よりも後に存在した演奏データを挿入演
奏データの後に接続し、全体として1つの演奏データを
構成するようにデータの並び替えを行っている。これに
よって、入力手段から次々と入力される挿入演奏データ
の長さに関係なく、予め記憶された演奏データ上の任意
位置に任意長の挿入演奏データを容易に挿入し、全体と
して新たな演奏データを構成することができる。また、
操作者が小節開始位置(小節線位置)からずれた位置を
挿入開始位置として指示した場合であっても、自動的に
最寄りの小節線位置を挿入開始位置として指定するよう
に修正が施されるので、小節単位での演奏データ挿入編
集作業を容易に行うことができる、という優れた効果を
奏する。
【0012】
【実施例】以下、この発明の実施例を添付図面に従って
詳細に説明する。図1は電子楽器の全体構成を示すハー
ドブロック図である。マイクロプロセッサユニット(C
PU)10は、この電子楽器全体の動作を制御するもの
である。このCPU10に対して、データ及びアドレス
バス18を介してプログラムROM11、データ及びワ
ーキングRAM12、押鍵検出回路13、スイッチ検出
回路14、表示回路15、音源回路16及びタイマ17
が接続されている。
【0013】この実施例では1つのCPU10によって
押鍵検出処理や自動演奏処理等を行う電子楽器について
説明するが、自動演奏処理を行うシーケンサモジュール
と、押鍵検出回路13や音源回路16からなるモジュー
ルとがそれぞれ別々に構成され、各モジュール間のデー
タの授受を周知のMIDI規格で行うように構成された
ものにも同様に適用できる。
【0014】プログラムROM11はCPU10の各種
プログラムや各種データを格納するものであり、リード
オンリーメモリ(ROM)で構成されている。データ及
びワーキングRAM12は、演奏情報やCPU10がプ
ログラムを実行する際に発生する各種データを一時的に
記憶するものであり、ランダムアクセスメモリ(RA
M)の所定のアドレス領域がそれぞれ割り当てられ、レ
ジスタ及びフラグとして利用される。
【0015】図2にデータ及びワーキングRAM12に
記憶されている演奏情報の概念を示す。図2の(a)は
スタート前(リセット時)の状態を、(b)は再生時の
状態を、(c)は演奏データインサート(挿入)録音時
の状態をそれぞれ示す。演奏情報は主にヘッダ部とシー
ケンスデータ部とから構成され、演奏情報の最後尾には
演奏の終了を示すエンドデータENDが記憶されてい
る。ヘッダ部には音色データ、音量データ、効果デー
タ、テンポデータ、ライトアドレス、リードアドレス等
が順番に記憶され、シーケンスデータ部には複数の演奏
音データ部と、小節の区切りを示す小節線データとが演
奏曲に応じてイベント方式で順番に記憶されている。
【0016】演奏音データ部はタイミングデータ、ノー
トナンバデータ、ベロシティデータ及びゲートタイムデ
ータから構成されている。タイミングデータには小節線
からのキーオンイベントの発生時間を示すデータが、ノ
ートナンバデータにはそのキーオンイベントの音高を示
すデータが、ベロシティデータにはその時の強さ(ベロ
シティ)を示すデータが、ゲートタイムデータにはその
キーオンイベントの発音時間(キーオンからキーオフま
での時間)を示すデータがそれぞれ格納されている。
【0017】これらの演奏音データは記録モード時にお
いて演奏者の実際の演奏手順に従って順次記憶されたも
のであり、プレイモード時においては所定のテンポクロ
ックに従ってその記憶内容が順次読み出される。なお、
この実施例では、1つのデータ及びワーキングRAMで
演奏音データの挿入を可能とするために、ヘッダ部とシ
ーケンスデータ部との間には何のデータも存在しない空
きエリアが設けてある。この空きエリアに新たな演奏音
データが挿入される。この空きエリアを利用した演奏音
データの挿入動作については後述する。
【0018】鍵盤19は、発音すべき楽音の音高を選択
するための複数の鍵を備えており、各鍵に対応してキー
スイッチを有しており、また必要に応じて押圧力検出装
置等のタッチ検出手段を有している。鍵盤19は音楽演
奏のための基本的な操作子であり、これ以外の演奏操作
子でもよいことはいうまでもない。
【0019】押鍵検出回路13は、発生すべき楽音の音
高を指定する鍵盤19のそれぞれの鍵に対応して設けら
れた複数のキースイッチからなる回路を含んで構成され
ており、新たな鍵が押圧されたときはキーオンイベント
情報を出力し、鍵が新たに離鍵されたときはキーオフイ
ベント情報を出力する。また、鍵押し下げ時の押鍵操作
速度又は押圧力等を判別してタッチデータを生成する処
理を行い、生成したタッチデータをベロシティデータと
して出力する。このようにキーオン、キーオフイベント
情報及びベロシティ情報はMIDI規格で表現されてお
りキーコードと割当てチャンネルを示すデータをも含ん
でいる。押鍵検出回路13及び鍵盤19の代わりにコン
ピュータ等を接続し、所望の演奏情報を入力してもよ
い。
【0020】表示回路15はCPU10の制御状態、設
定データの内容等の各種の情報を表示部21に表示する
ものである。表示部21は液晶表示パネル(LCD)か
らなり、表示回路15によってその表示動作を制御され
る。パネルスイッチ20は、音色、音量、効果等を選択
・設定・制御するための各種操作子を含むものであり、
例えば図に示すように、演奏状態制御スイッチ(リセッ
トスイッチ2A、ストップスイッチ2B、プレイスイッ
チ2C、レコードスイッチ2D)を有する。パネルスイ
ッチ20にはこの他にも色々なものが存在するが、説明
の便宜上それらについては省略する。
【0021】リセットスイッチ2Aは演奏情報を図2の
(a)のような初期状態に設定し直すスイッチであり、
プレイスイッチ2Bは自動演奏を開始するためのスイッ
チであり、ストップスイッチ2Cは自動演奏の再生状態
や録音状態を強制的に停止するためのスイッチであり、
レコードスイッチ2Dは演奏者の実際の演奏手順に従っ
て演奏音データを順次記憶するためのスイッチである。
【0022】音源回路16は、複数のチャンネルで楽音
信号の同時発生が可能であり、データ及びアドレスバス
18を経由して与えられた演奏情報(MIDI規格に準
拠したデータ)を入力し、このデータに基づき楽音信号
を発生する。音源回路16における楽音信号発生方式は
いかなるものを用いてもよい。例えば、発生すべき楽音
の音高に対応して変化するアドレスデータに応じて波形
メモリに記憶した楽音波形サンプル値データを順次読み
出すメモリ読み出し方式、又は上記アドレスデータを位
相角パラメータデータとして所定の周波数変調演算を実
行して楽音波形サンプル値データを求めるFM方式、あ
るいは上記アドレスデータを位相角パラメータデータと
して所定の振幅変調演算を実行して楽音波形サンプル値
データを求めるAM方式等の公知の方式を適宜採用して
もよい。
【0023】音源回路16から発生された楽音信号は、
図示しないアンプ及びスピーカからなるサウンドシステ
ム22を介して発音される。タイマ17は時間間隔を計
数したり、自動演奏のテンポを設定したりするためのテ
ンポクロックパルスを発生するものであり、このテンポ
クロックパルスの周波数はパネルスイッチ上のテンポス
イッチ(図示していない)によって調整される。発生し
たテンポクロックパルスはCPU10に対してインタラ
プト命令として与えられ、CPU10はインタラプト処
理により自動演奏の各種処理を実行する。
【0024】次に、CPU10によって実行される図1
の自動演奏装置の処理の一例を図3から図11に示した
フローチャートに基づいて説明する。その前に、各処理
で使用されるワーキングレジスタ及びフラグの内容につ
いて説明する。データ及びワーキングRAM12には次
のようなレジスタ及びフラグ群がそれぞれ設定される。
【0025】・RUN:自動演奏の再生モードを示すラ
ンフラグである。このランフラグRUNが『1』のとき
自動演奏の再生中を示し、『0』のとき非演奏モードを
示す。 ・REC:自動演奏の録音モードを示すレコードフラグ
である。このレコードフラグRECが『1』のとき録音
中を示し、『0』のとき非録音モードを示す。 ・TIME:図2の演奏音データのタイミングデータを
格納するタイミングレジスタである。
【0026】・CLOCK:再生モード中又は録音モー
ド中における小節内のタイミングを表すクロックレジス
タである。 ・WA:演奏音データ等の書込みアドレスを示すライト
アドレスレジスタである。図2のような演奏情報の場合
には、空きエリアの最初の部分のアドレスがこのライト
アドレスレジスタWAに格納されている。 ・RA:演奏音データ等の読み出しアドレスを示すリー
ドアドレスレジスタである。図2のような演奏情報の場
合には、空きエリアの次の演奏音データの最初のアドレ
スがこのリードアドレスレジスタRAに格納されてい
る。
【0027】図3はCPU10が処理するメインルーチ
ンの一例を示す図である。まず、電源が投入されると、
CPU10はプログラムROM11に格納されている制
御プログラムに応じた処理を開始する。「イニシャライ
ズ」処理では、データ及びワーキングRAM12内の各
種レジスタ及びフラグを初期化する。その後に、「スイ
ッチ処理」、「押鍵処理」及び「その他の処理」を各イ
ベントの発生に応じて繰り返し実行する。
【0028】「スイッチ処理」は、パネルスイッチ20
上の各スイッチが操作されたときに行われる処理であ
り、この処理の一例は図4〜図8に示されている。「押
鍵処理」は鍵盤19の各鍵が操作された時に行われる処
理であり、この処理の一例は図11に示されている。
「その他の処理」では、パネルスイッチ20におけるそ
の他の操作子の操作に基づく処理や、その他の種々の処
理が行われる。図9及び図10はタイマ17からCPU
10にテンポクロックが与えられる毎に実行されるタイ
マインタラプト処理である。これらの処理の詳細は後述
する。
【0029】図4〜図8に従って図3の「スイッチ処
理」の内容を順に説明する。図4は図3の「スイッチ処
理」の概略を示す図である。まず、このスイッチ処理で
は、最初にパネルスイッチ20上のいずれかのスイッチ
がオンされたかどうかを判定し、オンされた場合にはそ
のオンされたスイッチに対応した処理を実行し、オンさ
れていない場合には図3のメインルーチンにリターンす
る。オンされたスイッチに対応する処理として、図1の
パネルスイッチ20に示すリセットスイッチ2A、スト
ップスイッチ2B、プレイスイッチ2C及びレコードス
イッチ2Dがそれぞれ操作(オン)された場合につい
て、図5〜図8を用いて説明する。
【0030】図5はパネルスイッチ20上のリセットス
イッチ2Aがオンされた場合の処理の詳細を示す図であ
る。このリセットスイッチ2Aがオンされると、CPU
10は演奏情報の内容を図2の(a)のように設定す
る。以下、リセットスイッチ処理の詳細を各ステップ毎
に説明する。 ステップ51:ランフラグRUNが『0』であるかどう
かを判定し、『0』(YES)の場合には再生中ではな
いので次のステップ52に進み、『1』(NO)の場合
は自動演奏の再生中なので、リターンしてリセットスイ
ッチ2Aの操作を無視する。
【0031】ステップ52:レコードフラグRECが
『0』であるかどうかを判定し、『0』(YES)の場
合には録音中ではないので以下のステップ53〜56の
処理を実行し、『1』の場合は自動演奏録音中なので、
リターンしてリセットスイッチ2Aの操作を無視する。
すなわち、自動演奏の再生中又は録音中にリセットスイ
ッチ2Aがオンされた場合には、このステップ51及び
52によって、そのスイッチイベントは無視されること
となる。
【0032】ステップ53:前述のステップ51及び5
2で、自動演奏の再生中でも録音中でもないと判定され
たので、このステップでは、ライトアドレスレジスタW
Aが図2の(a)のようにヘッダ部の次のアドレスに位
置しているかどうかを判定し、位置している(YES)
場合にはステップ56に進み、それ以外のアドレスに位
置している(NO)場合にはステップ54に進む。
【0033】ステップ54:前のステップ53でライト
アドレスレジスタWAがヘッダ部の次のアドレスに位置
していないと判定されたので、演奏情報を図2の(a)
のような初期状態に戻すために、まずライトアドレスレ
ジスタWA及びリードアドレスレジスタRAのアドレス
を1つ戻す。すなわち、各アドレスを1アドレス分だけ
デクリメント処理する。 ステップ55:前のステップ54でデクリメント処理さ
れたライトアドレスレジスタWAのアドレス位置に格納
されているシーケンスデータを同じくデクリメント処理
されたリードアドレスレジスタRAのアドレス位置に移
動し、ステップ53にリターンする。このステップ54
及び55の処理によって、図2の空きエリアのアドレス
位置が1つだけ上方に移動する。そして、ライトアドレ
スレジスタWAのアドレスがヘッダ部の次のアドレスと
一致するまで、ステップ54及び55の処理が繰り返し
実行される。
【0034】ステップ56:前のステップ53でライト
アドレスレジスタWAのアドレスがヘッダ部の次のアド
レスに一致していると判定されたということは、演奏情
報は図2の(a)のような初期状態になったいうことで
あるから、このステップではリードアドレスレジスタR
Aに格納されているアドレスをヘッダ部に書き込み、リ
ターンする。従って、再生時には、ヘッダ部からリード
アドレスレジスタRAのアドレス位置からシーケンスデ
ータを読み出すことによって自動演奏処理を実行するこ
とが可能となる。
【0035】図6はパネルスイッチ20上のストップス
イッチ2Bがオンされた場合の処理の詳細を示す図であ
る。以下、ストップスイッチ処理の詳細を各ステップ毎
に説明する。 ステップ61:ランフラグRUNが『1』であるかどう
かを判定し、『1』(YES)の場合には自動演奏再生
中なのでステップ65以下に進み、『0』(NO)の場
合は再生中ではないので、次のステップ62に進む。
【0036】ステップ62:レコードフラグRECが
『1』であるかどうかを判定し、『1』(YES)の場
合には自動演奏録音中なので次のステップ63及び64
の処理を実行し、『0』(NO)の場合は録音中ではな
いので、リターンする。すなわち、このストップスイッ
チ処理も自動演奏の再生中又は録音中にのみ有効となる
スイッチイベントである。
【0037】ステップ63:ステップ61及び62の判
定の結果、自動演奏録音中にストップスイッチ2Bがオ
ンされたので、ライトアドレスレジスタWAのアドレス
に小節線データを書込み、ライトアドレスレジスタWA
のアドレスを1アドレス分だけインクリメント処理す
る。 ステップ64:レコードフラグRECをリセットする。
【0038】ステップ65〜69は、ステップ61の判
定の結果、自動演奏再生中にストップスイッチ2Bがオ
ンされた場合に行われる処理であり、次の再生処理又は
録音処理の時にライトアドレスレジスタWAのアドレス
を小節線データの直後に位置させるための処理である。
以下、このステップ65〜69の処理について説明す
る。
【0039】ステップ65:ライトアドレスレジスタW
Aのアドレスを1アドレス分だけ戻してそのアドレス位
置のデータを読み出す。 ステップ66:前のステップ65で読み出したデータが
小節線データかどうかを判定し、小節線データでない
(NO)場合はステップ67に進み、小節線データ(Y
ES)の場合はステップ68に進む。
【0040】ステップ67:前のステップ66で小節線
データでないと判定されたので、空きエリアのアドレス
位置を1アドレス分だけ上方に移動するために、リード
アドレスレジスタRAのアドレスを1アドレス分だけ戻
して、ステップ65で読み出したデータをそのアドレス
位置に移動する。 ステップ68:前のステップ66で小節線データと判定
されたので、空きエリアの上方移動を停止し、ライトア
ドレスレジスタWAのアドレスを小節線データの次のア
ドレスに戻すために、ライトアドレスレジスタWAの値
を1アドレス分だけインクリメント処理する。 ステップ69:ランフラグRUNをリセットして、リタ
ーンする。
【0041】図7はパネルスイッチ20上のプレイスイ
ッチ2Cがオンされた場合の処理の詳細を示す図であ
る。以下、プレイスイッチ処理の詳細を各ステップ毎に
説明する。 ステップ71:ランフラグRUNが『0』であるかどう
かを判定し、『0』(YES)の場合には自動演奏再生
中ではないので次のステップに進み、『1』(NO)の
場合は再生中なので、プレイスイッチ2Cのオンイベン
トを無視するためにリターンする。
【0042】ステップ72:レコードフラグRECが
『0』であるかどうかを判定し、『0』(YES)の場
合には自動演奏録音中ではないので以下のステップ53
〜56の処理を実行し、『1』(NO)の場合は録音中
なので、プレイスイッチ2Cのオンイベントを無視する
ためにリターンする。すなわち、自動演奏の再生中又は
録音中にプレイスイッチ2Cがオンされた場合には、こ
のステップ71及び72によって、そのスイッチオンイ
ベントは無視されることとなる。
【0043】ステップ73:前述のステップ71及び7
2で、自動演奏の再生中でも録音中でもないと判定され
たので、このステップでは、自動演奏の再生処理を行う
ために、まずヘッダ部のデータを読み出して各種の設定
を行う。 ステップ74:図6のステップ65〜68の処理によっ
て、リードアドレスレジスタRAのアドレス位置は必ず
演奏音データの最初の位置、すなわち小節線データの次
のタイミングデータの位置にあるので、このリードアド
レスレジスタRAのアドレスのデータを読み出し、それ
をタイミングレジスタTIMEに格納する。
【0044】ステップ75:シーケンスデータ部の空き
エリアを1アドレス分だけ下方に移動するために、リー
ドアドレスレジスタRAのアドレス位置のデータをライ
トアドレスレジスタWAのアドレス位置に移動し、リー
ドアドレスレジスタRA及びライトアドレスレジスタW
Aのアドレスをそれぞれ1アドレス分だけインクリメン
ト処理する。 ステップ76:ランフラグRUNに『1』をセットし、
クロックレジスタCLOCKをリセットする。この処理
の後に、図9及び図10のタイマインタラプト処理に
て、自動演奏の再生処理が実行されるようになる。
【0045】図8はパネルスイッチ20上のレコードス
イッチ2Dがオンされた場合の処理の詳細を示す図であ
る。以下、このレコードスイッチ処理の詳細を各ステッ
プ毎に説明する。 ステップ81:ランフラグRUNが『0』であるかどう
かを判定し、『0』(YES)の場合には自動演奏再生
中ではないので次のステップに進み、『1』(NO)の
場合は再生中なので、レコードスイッチ2Dのオンイベ
ントを無視するためにリターンする。
【0046】ステップ82:レコードフラグRECが
『0』であるかどうかを判定し、『0』(YES)の場
合には自動演奏録音中ではないので以下のステップ53
〜56の処理を実行し、『1』(NO)の場合は録音中
なので、レコードスイッチ2Dのオンイベントを無視す
るためにリターンする。すなわち、自動演奏の再生中又
は録音中にレコードスイッチ2Dがオンされた場合に
は、このステップ81及び82によって、そのスイッチ
オンイベントは無視されることとなる。 ステップ83:レコードフラグRECに『1』をセット
し、クロックレジスタCLOCKをリセットする。この
処理の後に、図9及び図10のタイマインタラプト処理
及び図11の押鍵処理にて、自動演奏の録音処理が実行
されるようになる。
【0047】図9及び図10は、タイマ17からのイン
タラプト命令(テンポクロック)によってCPU10が
実行する「タイマインタラプト処理」の詳細を示す図で
ある。以下、各ステップの内容について説明する。 ステップ91:ランフラグRUNが『1』であるかどう
かを判定し、『1』(YES)の場合には自動演奏再生
中なのでステップ83に進み、『0』(NO)の場合は
再生中ではないので、ステップ92に進む。
【0048】ステップ92:レコードフラグRECが
『1』であるかどうかを判定し、『1』(YES)の場
合には自動演奏録音中なので結合子Aを介して図10の
ステップ101に進み、『0』(NO)の場合は録音中
ではないので、リターンする。すなわち、このタイマイ
ンタラプト処理もランフラグRUN又はレコードフラグ
RECがセットされている場合のみ有効である。
【0049】ステップ93:前のステップ91で自動演
奏再生中であると判定されたので、現在の割込時点で発
音処理を行うのかどうかを判定するために、クロックレ
ジスタCLOCKの値とタイミングレジスタTIMEの
値とが等しいかどうか判定し、等しい(YES)場合は
ステップ94に進み、等しくない(NO)場合は結合子
Aを介して図10のステップ101に進む。すなわち、
クロックレジスタCLOCKの値とタイミングレジスタ
TIMEの値が共に等しい場合には今回の割込時点で発
音処理を行わなければならないので、ステップ94〜9
Eの処理を実行する。逆に、両者が等しくない場合に
は、発音処理する必要はないので、図10のステップ1
01に進む。
【0050】ステップ94:前のステップ93で現在の
割込時点で発音処理を実行すると判定されたので、この
ステップでは変数iをリセットする。この変数iは演奏
音データの中のノートナンバデータ、ベロシティデータ
及びゲートタイムデータを順番に読み出すために使用さ
れる。 ステップ95:リードアドレスレジスタRAのアドレス
に位置するデータを読み出して、音源回路16に出力す
る。ここで、リードアドレスレジスタRAのアドレスに
位置するデータは変数iが『0』の場合はノートナンバ
データであり、『1』の場合はベロシティデータであ
り、『2』の場合はゲートタイムデータである。
【0051】ステップ96:リードアドレスレジスタR
Aのアドレス位置のデータをライトアドレスレジスタW
Aに移動し、リードアドレスレジスタRAとライトアド
レスレジスタWAをそれぞれ1アドレス分だけインクリ
メント処理する。このステップの処理によって、空きエ
リアは1アドレス分だけ下方へ移動する。
【0052】ステップ97:変数iを1だけインクリメ
ント処理する。 ステップ98:変数iが『3』であるかどうか、すなわ
ちノートナンバデータ、ベロシティデータ及びゲートタ
イムデータの3つのデータを音源回路16に出力したか
どうかを判定し、出力していない(NO)場合はステッ
プ95にリターンし、出力している場合は次のステップ
99に進む。
【0053】ステップ99〜9E:ステップ95〜98
の処理によって演奏音データ部の全てのデータ(ノート
ナンバデータ、ベロシティデータ及びゲートタイムデー
タ)が音源回路に出力されたので、リードアドレスレジ
スタRAのアドレス位置は次の演奏音データの先頭アド
レスか、小節線データか、又はエンドデータENDに位
置しているはずである。従って、このステップ99〜9
EではリードアドレスレジスタRAのアドレスに位置す
るデータに応じた処理を実行する。 ステップ99:リードアドレスレジスタRAのアドレス
位置のデータを読み出す。
【0054】ステップ9A:前のステップ99で読み出
されたデータがエンドデータENDであるかどうかを判
定し、エンドデータEND(YES)の場合にはステッ
プ9Bに進み、そうでない(NO)場合にはステップ9
Cに進む。 ステップ9B:ステップ9Aでリードアドレスレジスタ
RAのアドレス位置のデータがエンドデータENDであ
ると判定されたので、自動演奏の再生処理を終了するた
めに、ランフラグRUNをリセットしてリターンする。
【0055】ステップ9C:前のステップ9Aの判定の
結果、リードアドレスレジスタRAのアドレス位置のデ
ータはエンドデータENDではなかったので、今度は小
節線データであるかどうかを判定し、小節線データ(Y
ES)の場合にはステップ9Eに進み、そうでない(N
O)場合にはステップ9Dに進む。 ステップ9D:ステップ9A及び9Cによって、ステッ
プ99で読み出されたデータがエンドデータでもなく、
小節線データでもないと判定されたということは、ステ
ップ99で読み出されたデータは演奏音データの先頭に
位置するタイミングデータなので、タイミングレジスタ
TIMEにそのタイミングデータを格納する。
【0056】ステップ9E:空きエリアを1アドレス分
だけ下方へ移動するために、リードアドレスレジスタR
Aのアドレス位置のデータをライトアドレスレジスタW
Aに移動し、リードアドレスレジスタRAとライトアド
レスレジスタWAのアドレスをそれぞれ1アドレス分だ
けインクリメント処理する。
【0057】ステップ101:クロックレジスタCLO
CKの値が一小節分の時間に対応する最大値maxと等
しいかどうか、すなわち演奏曲の拍子が4/4の場合に
はクロックレジスタCLOCKの値が最大値max=9
5であるかどうか、また拍子が3/4の場合にはクロッ
クレジスタCLOCKの値が最大値max=71である
かどうかを判定し、両者が等しくない(NO)場合はス
テップ102に進み、等しい(YES)場合はステップ
103に進む。前のステップ9Cで読み出したデータが
小節線データである場合でも、このステップでクロック
レジスタCLOCKが最大値に達したかどうかを判定し
ているのは、小節線データには演奏音データのようなゲ
ートタイムデータが存在しないので、このステップ10
1でクロックレジスタCLOCKの値が一小節分の時間
に対応する最大値maxと等しくなった場合に、小節線
の実際のタイミング位置が分かるようにするためであ
る。
【0058】ステップ102:前のステップ101でク
ロックレジスタCLOCKの値が一小節分の時間に対応
する最大値maxに等しくないと判定されたので、クロ
ックレジスタCLOCKの値を1だけインクリメント処
理してリターンする。 ステップ102:前のステップ102でクロックレジス
タCLOCKの値が一小節分の時間に対応する最大値m
axに等しいと判定されたので、クロックレジスタCL
OCKの値をリセットし、次の一小節分の時間のカウン
トを開始する。
【0059】ステップ104:レコードフラグRECが
『1』であるかどうかを判定し、『1』(YES)の場
合には自動演奏録音中なので次のステップ105に進
み、『0』(NO)の場合は録音中ではないのでステッ
プ106に進む。 ステップ105:ステップ101でクロックレジスタC
LOCKの値が一小節分の時間に対応した最大値max
に等しいと判定され、さらにステップ104で録音中と
判定されたので、このステップではライトアドレスレジ
スタWAのアドレスに小節線データを書込み、ライトア
ドレスレジスタWAのアドレスを1だけインクリメント
処理してリターンする。
【0060】ステップ106:ステップ101でクロッ
クレジスタCLOCKの値が一小節分の時間に対応した
最大値maxに等しいと判定され、さらに前のステップ
104で現在のモードが録音中でない(再生中である)
と判定されたので、このステップではリードアドレスレ
ジスタRAのアドレスに位置するデータを読み出し、そ
れをタイミングレジスタTIMEに格納する。
【0061】ステップ107:空きエリアを1アドレス
分だけ下方へ移動するために、リードアドレスレジスタ
RAのアドレス位置のデータをライトアドレスレジスタ
WAに移動し、リードアドレスレジスタRAとライトア
ドレスレジスタWAのアドレスをそれぞれ1アドレス分
だけインクリメント処理してリターンする。
【0062】図11は図1の鍵盤19が操作された場合
における図3の「押鍵処理」の詳細を示す図である。以
下、押鍵処理の詳細を各ステップ毎に説明する。 ステップ111:鍵盤19の操作によって押鍵検出回路
13から出力された信号がキーオン信号であるかどうか
を判定し、キーオン信号(YES)の場合には次のステ
ップ112に進み、そうでない(NO)場合にはステッ
プ115に進む。
【0063】ステップ112:そのキーオンに対応する
発音処理を行う。 ステップ113:レコードレジスタRECが『1』かど
うかを判定し、『1』(YES)の場合はステップ11
4に進み、そうでない場合はステップ115に進む。
【0064】ステップ114:前のステップ113で現
在録音中であると判定されたので、キーオンのタイミン
グ、そのキーオンのノートナンバ及びそのキーオンのベ
ロシティを演奏音データとしてメモリに書き込む。この
ステップを詳しく説明すると、まずキーオンと判定され
た時点のクロックレジスタCLOCKの値をタイミング
データとして書込み、ライトアドレスレジスタWAを1
アドレス分だけ進める。そして、そのキーオンのノート
ナンバを書込み、ライトアドレスレジスタWAを1アド
レス分だけ進める。さらに、そのキーオンのベロシティ
データを書込み、ライトアドレスレジスタWAを2アド
レス分だけ進める。ここで、ライトアドレスレジスタW
Aを2アドレス分進めるのは、演奏音データのゲートタ
イムを書き込む領域を確保するためである。
【0065】このステップには記載していないが、ライ
トアドレスレジスタWAの値とリードアドレスレジスタ
RAの値との差が所定値以下になった場合には、ライト
アドレスレジスタWAに小節線を書込み、ライトアドレ
スレジスタWAを1アドレス分だけ進めて、レコードレ
ジスタRECをリセットする。このときのゲートタイム
は対応するキーがオフされた時点で書込み。なお、この
時には既にレコードレジスタRECが『0』となってい
るが、例外的にゲートタイムの書込み処理を行うように
する。
【0066】ステップ115:鍵盤19の操作によって
押鍵検出回路13から出力された信号がキーオフ信号で
あるかどうかを判定し、キーオフ信号(YES)の場合
には次のステップ116に進み、そうでない(NO)場
合にはリターンする。 ステップ116:そのキーオフに対応した消音処理を行
う。 ステップ117:レコードレジスタRECが『1』かど
うかを判定し、『1』(YES)の場合はステップ11
8に進み、そうでない(NO)場合はリターンする。
【0067】ステップ118:前のステップ117で現
在録音中であると判定されたので、キーオフされたノー
トナンバに対応する演奏音データをサーチし、その演奏
音データのタイミングデータと、現在のクロックレジス
タCLOCKの値と、サーチする際に存在した小節線と
に基づいてゲートタイムを計算し、それを演奏音データ
のゲートタイムとして書込んでリターンする。
【0068】以上がこの実施例に係る自動演奏装置の動
作である。以下、図2の演奏情報の概念図を用いて演奏
音データが挿入される様子を説明する。まず、演奏情報
は図5のリセットスイッチ処理によって図2の(a)の
ようにスタート前(リセット時)の状態にある。リセッ
トされた状態の演奏情報は図から明らかなように、演奏
音データの挿入可能な空きエリアがヘッダ部の直ぐ後に
接するように位置している。空きエリアの先頭アドレス
がライトアドレスレジスタWAに格納され、シーケンス
データ部の先頭アドレス(演奏音データのタイミングデ
ータ)がリードアドレスレジスタRAに格納されてい
る。
【0069】まず、操作者はシーケンスデータ部のどの
位置に演奏音データを挿入したいのかをサーチするため
に、図1のパネルスイッチ20のプレイスイッチ2Cを
操作する。すると、図7のプレイスイッチ処理が行わ
れ、ランフラグRUNに『1』がセットされ、図9及び
図10のタイマインタラプト処理によって次々とシーケ
ンスデータ部の演奏音データが読み出され、発音処理が
行われる。この一連の処理によって、演奏情報は図2の
(b)のようになる。すなわち、空きエリアがそのアド
レス領域を保持しながら発音処理と共に下方向に移動し
ていく。この空きエリアの上側の演奏音データが既に発
音処理の終了したものであり、下側のものがこれから発
音処理の行われるものである。
【0070】図2の(b)の位置で演奏音データを挿入
しようとする場合、操作者はパネルスイッチ20のスト
ップスイッチ2Bを操作する。すると、図6のストップ
スイッチ処理が実行され、このストップスイッチ処理の
ステップ65〜69によって、図2の(b)の空きエリ
アが小節線データの直後に位置するように並び替えられ
る。
【0071】次に操作者は、レコードスイッチ2Dを操
作してから鍵盤19を用いて演奏を開始する。すると、
図8のレコードスイッチ処理が実行され、レコードフラ
グRECに『1』がセットされ、図9及び図10のタイ
マインタラプト処理及び図11の押鍵処理によって、空
きエリアの部分に次々と挿入データ(演奏音データ)が
書き込まれていく。この一連の処理によって、演奏情報
は図2の(c)のようになる。すなわち、空きエリアに
挿入データが次々と挿入されていくと共に、ライトアド
レスレジスタWAのアドレスが下方向に移動していく。
【0072】演奏情報の挿入が終了した時点で、再び操
作者はパネルスイッチ20のストップスイッチ2Bを操
作する。すると、図6のストップスイッチ処理が実行さ
れ、このストップスイッチ処理のステップ63,64に
よって、挿入データの直後に小節線が書き込まれ、レコ
ードレジスタRECがリセットされる。以上のようにし
て演奏音データの挿入が行われる。
【0073】この実施例によれば、演奏情報を記憶して
いるデータ及びワーキングRAMの同一領域に空き領域
という演奏音データの挿入可能領域を設け、演奏音デー
タの挿入動作を行ってているので、メモリを節約できな
がら演奏音データの挿入動作が容易に行えるという効果
がある。
【0074】なお、上述の実施例では、メモリの同一領
域を使用する場合について説明したが、これに限らず、
別途演奏情報メモリと同じメモリ容量の作業用メモリを
用いて演奏音データの挿入動作を行ってもよい。また、
上述の実施例では、演奏音データを小節単位で挿入録音
する場合について説明したが、これに限らず、もっと細
かい単位、例えば拍単位やクロック単位などで挿入して
もよい。この場合、挿入を開始した拍やクロックで挿入
動作を終了すればよい。
【0075】さらに、上述の実施例では、一旦挿入した
い箇所まで再生し、そこで停止させてから挿入録音を開
始する場合について説明したが、パネルスイッチ上の操
作子で挿入したい箇所の小節ナンバを指定することによ
って、そこから挿入録音を行うようにしてもよい。ま
た、上述の実施例のデータフォーマットに限らず、その
他のデータフォーマット(例えば、イベントデータとデ
ュレーションデータなどからなるもの)の場合でも同様
に適用できることはいうまでもない。また、上述の実施
例では、レコードスイッチ処理の後にすぐタイマインタ
ラプト処理が実行され、カウントアップ処理が行われる
ようになっているが、レコードスイッチ処理の後、最初
の押鍵があるまでタイマインタラプト処理を実行しない
ようにしてもよい。
【0076】上述の実施例では、シーケンサを適用した
電子楽器を例に説明したが、この発明は、シーケンサに
限らず、自動リズム装置や自動伴奏装置等のその他の自
動演奏装置においても適用することができる。また、楽
音発生機能を持たない自動演奏装置をモジュールあるい
は自動演奏ソフトウェアプログラム等においてもこの発
明が適用できることはいうまでもない。
【0077】
【発明の効果】 以上のようにこの発明によれば、予め
記憶された演奏データに新たな演奏データを挿入する場
合に任意の長さの演奏データを任意位置に容易に挿入で
きるという効果がある。また、操作者が小節開始位置
(小節線位置)からずれた位置を挿入開始位置として指
示した場合であっても、自動的に最寄りの小節線位置を
挿入開始位置として指定するように修正が施されるの
で、小節単位での演奏データ挿入編集作業を容易に行う
ことができる、という優れた効果を奏する。
【図面の簡単な説明】
【図1】 この発明に係る自動演奏装置を内蔵した電子
楽器の全体構成を示すハードブロック図である。
【図2】 データ及びワーキングRAMに記憶されてい
る演奏情報の概念を示す図である。
【図3】 CPUが処理するメインルーチンの一例を示
す図である。
【図4】 図3のスイッチ処理の概略を示す図である。
【図5】 図4のスイッチ処理の中の一例であるリセッ
トスイッチ処理の詳細例を示す図である。
【図6】 図4のスイッチ処理の中の一例であるストッ
プスイッチ処理の詳細例を示す図である。
【図7】 図4のスイッチ処理の中の一例であるプレイ
スイッチ処理の詳細例を示す図である。
【図8】 図4のスイッチ処理の中の一例であるレコー
ドスイッチ処理の詳細例を示す図である。
【図9】 タイマからCPUにテンポクロックが与えら
れる毎に実行されるタイマンタラプト処理の詳細例の前
半部分を示す図である。
【図10】 タイマからCPUにテンポクロックが与え
られる毎に実行されるタイマンタラプト処理の詳細例の
後半部分を示す図である。
【図11】 図3の押鍵処理の一例を示す図である。
【符号の説明】
10…CPU、11…プログラムROM、12…データ
及びワーキングRAM、13…押鍵検出回路、14…ス
イッチ検出回路、15…表示回路、16…音源回路、1
7…タイマ、18…データ及びアドレスバス、19…鍵
盤、20…パネルスイッチ、21…表示部、22…サウ
ンドシステム、2A…リセットスイッチ、2B…ストッ
プスイッチ、2C…プレイスイッチ、2D…レコードス
イッチ

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 演奏データを入力する入力手段と、 前記演奏データを記憶する記憶手段と、 この記憶手段に記憶されている前記演奏データに対して
    新たな演奏データを挿入する場合に記憶済みの前記演奏
    データにおける挿入開始位置を指示する挿入位置指示
    段と、前記挿入位置指示手段によって指示された挿入開始位置
    が前記演奏データにおける小節開始位置に該当するかど
    うかを判定し、小節開始位置に該当していない場合は該
    指示された挿入開始位置を小節開始位置に該当する位置
    に修正し、小節開始位置に該当する位置を挿入開始位置
    として指定する挿入位置修正手段と、 前記入力手段によって次々と入力される前記演奏データ
    を前記指定された挿入開始位置から後に挿入演奏データ
    として前記記憶手段に順次記憶していき、前記入力手段
    による前記挿入演奏データの入力終了後に前記指定され
    挿入開始位置よりも後に存在した前記演奏データを前
    記挿入演奏データの後に接続する演奏データ挿入手段と
    を具えたことを特徴とする自動演奏装置。
JP4025721A 1992-01-16 1992-01-16 自動演奏装置 Expired - Fee Related JP2621727B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4025721A JP2621727B2 (ja) 1992-01-16 1992-01-16 自動演奏装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4025721A JP2621727B2 (ja) 1992-01-16 1992-01-16 自動演奏装置

Publications (2)

Publication Number Publication Date
JPH05188945A JPH05188945A (ja) 1993-07-30
JP2621727B2 true JP2621727B2 (ja) 1997-06-18

Family

ID=12173670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4025721A Expired - Fee Related JP2621727B2 (ja) 1992-01-16 1992-01-16 自動演奏装置

Country Status (1)

Country Link
JP (1) JP2621727B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60258592A (ja) * 1985-03-20 1985-12-20 株式会社日立製作所 音楽演奏装置

Also Published As

Publication number Publication date
JPH05188945A (ja) 1993-07-30

Similar Documents

Publication Publication Date Title
JP2896716B2 (ja) 自動演奏装置
US5369216A (en) Electronic musical instrument having composing function
JP2621727B2 (ja) 自動演奏装置
JPH0766265B2 (ja) 演奏情報処理装置の割込処理制御部
JPH0640270B2 (ja) 和音進行記憶再生装置
JPH07109553B2 (ja) 自動演奏装置
JP2556040B2 (ja) 自動演奏装置
JP2625800B2 (ja) 自動演奏装置
JP3717651B2 (ja) 歌詞表示装置、同装置に適用されるコンピュータ読み取り可能な記録媒体及び歌詞表示方法
JP2660462B2 (ja) 自動演奏装置
JP2001154670A (ja) 曲データ再生装置、方法及び記録媒体
JP2770767B2 (ja) 自動演奏装置
JP3098352B2 (ja) 自動演奏装置
JP2616752B2 (ja) 自動演奏装置
JP2551193B2 (ja) 自動演奏装置
JP2676754B2 (ja) 自動演奏記録装置
JP2641851B2 (ja) 自動演奏装置
JP3407375B2 (ja) 自動編曲装置
JP3147111B2 (ja) 自動演奏記録再生装置
JPH0511593Y2 (ja)
JP2713107B2 (ja) 自動演奏装置
JP2536272B2 (ja) 電子楽器
JP2650580B2 (ja) 自動演奏装置
JP3303754B2 (ja) 楽音制御データ生成装置、楽音制御データを生成するプログラムを記録した記録媒体及び楽音制御データ生成方法
JP3407489B2 (ja) 自動演奏装置

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090404

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees