JP3018821B2 - 自動演奏装置 - Google Patents
自動演奏装置Info
- Publication number
- JP3018821B2 JP3018821B2 JP5060710A JP6071093A JP3018821B2 JP 3018821 B2 JP3018821 B2 JP 3018821B2 JP 5060710 A JP5060710 A JP 5060710A JP 6071093 A JP6071093 A JP 6071093A JP 3018821 B2 JP3018821 B2 JP 3018821B2
- Authority
- JP
- Japan
- Prior art keywords
- trigger
- automatic performance
- data
- reading
- processing
- 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
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/18—Selecting circuits
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/36—Accompaniment arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S84/00—Music
- Y10S84/12—Side; rhythm and percussion devices
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Description
て演奏データを順次読み出し、この演奏データに基づい
て楽音を発生させて自動演奏を行なう自動演奏装置に関
する。
演奏装置が種々開発されている。その中である種の自動
演奏装置においては、予め、発生すべき楽音に基づく演
奏データをメモリ等に記憶しており、これらのデータを
トリガーによって順次読み出して、楽音を発生するもの
がある。この際に、メモリに記憶されるデータの読出ア
ドレスは、トリガーがかかる毎に、1つずつ順次後方へ
移動する。
ある特定のキーに割り当てておき、このキーが押下され
ることによって、発生するようになっている。また、楽
音の発生する長さは、このキーが押下されている期間に
等しくなっている。これによって、演奏者は、正確な音
高を指定しなくても、特定のキーを押下するだけで、演
奏することが可能となる。このとき、テンポや各一音一
音の発音長さは、演奏者の嗜好によって自由に調節され
る。さらに、演奏者は、自動演奏と組み合わせて使うこ
とによって、合奏することを楽しむことができる。
た従来の自動演奏装置にあっては、一旦、トリガーをか
けるタイミングを失うと、演奏が中断して完結しない、
という問題とともに、曲の途中から演奏することができ
ない、という問題があった。また、演奏者が、音符の一
つ一つの長さを覚えていない場合、すなわち、曲を知ら
ない場合には、正確な演奏ができない、という問題があ
った。さらに、従来の自動演奏装置にあっては、トリガ
ーによる発音が、単音にしか対応しておらず、和音や複
音の自動演奏を簡単な操作で実現することができなかっ
た。
もので、その目的とするところは、簡単な操作で、単音
のみならず複音の自動演奏を行なうことができるととも
に、演奏タイミングを逸しても、容易に演奏を再開する
ことができ、曲の途中からでも演奏することが可能な自
動演奏装置を提供することにある。
ために請求項1記載の発明は、自動演奏データを記憶す
る記憶手段と、操作者の操作により、この操作の操作強
度情報を含むトリガー信号を発生するトリガー信号発生
手段と、前記自動演奏データの読出し位置を所定のテン
ポに従って移動させる読出し位置移動手段と、前記トリ
ガー信号が発生したとき、前記読出し位置移動手段によ
って移動された位置に対応する自動演奏データを読み出
す読出手段と、前記読み出された自動演奏データに基づ
いて、前記操作強度情報が反映された楽音を発生する楽
音発生手段とを具備することを特徴としている。請求項
2記載の発明は、第1の演奏パートと第2の演奏パート
からなる自動演奏データを記憶する記憶手段と、操作者
の操作により、この操作の操作強度情報を含むトリガー
信号を発生するトリガー信号発生手段と、前記第1の演
奏パートの自動演奏データを所定のテンポに従って読み
出す第1の読出手段と、前記第2の演奏パートの自動演
奏データの読出し位置を、前記所定のテンポに従って移
動させる読出し位置移動手段と、前記トリガー信号が発
生したとき、前記読出し位置移動手段によって移動され
た位置に対応する前記第2の演奏パートの自動演奏デー
タを読み出す第2の読出手段と、前記第1の読出手段に
よって読み出された第1の演奏パートの自動演奏データ
に基づいて、自動演奏における楽音を発生し、第2の読
出手段によって読み出された第2の演奏パートの自動演
奏データに基づいて、前記操作強度情報が反映された楽
音を発生する楽音発生手段とを具備することを特徴とし
ている。請求項3記載の発明は、複数の区間に分けられ
た自動演奏データを記憶する記憶手段と、操作者の操作
によりトリガー信号を発生するトリガー信号発生手段
と、前記自動演奏データの読出し区間を、演奏の進行に
従って移動させる読出し区間移動手段と、前記トリガー
信号が発生したとき、前記読出し区間移動手段によって
移動された前記読出し区間の先頭から、該読出し区間の
自動演奏データを読み出す読出手段と、前記読出手段に
よって読み出された自動演奏データに基づいて楽音を発
生する楽音発生手段とを具備することを特徴としてい
る。請求項4記載の発明は、複数の音符からなる自動演
奏データを記憶する記憶手段と、操作者の操作によりト
リガー信号を発生するトリガー信号発生手段と、前記自
動演奏データの読み出し位置を、所定のテンポに従って
移動させる読出し位置移動手段と、前記読出し位置移動
手段によって移動された位置に対応した自動演奏データ
を読み出す読出手段と、前記トリガー信号の発生に応じ
て、前記読出手段によって読み出された自動演奏データ
に、発音開始を示すキーデータが含まれる場合、この自
動演奏データに基づいて1音符分の楽音を発生する楽音
発生手段とを具備することを特徴としている。
の読出し位置が所定のテンポに従って移動させられ、操
作者の操作により、前記操作強度情報を含むトリガー信
号が発生したとき、移動された位置に対応する自動演奏
データが記憶手段から読み出される。そして、読み出さ
れた自動演奏データに基づいて、前記操作強度情報が反
映された楽音が発生される。請求項2記載の発明によれ
ば、第1の演奏パートの自動演奏データが所定のテンポ
に従って読み出され、第2の演奏パートの自動演奏デー
タの読み出し位置が所定のテンポに従って移動させられ
る。第1の読出手段によって読み出された第1の演奏パ
ートの自動演奏データに基づいて、自動演奏における楽
音が発生される。そして、トリガー信号が発生したと
き、移動された位置に対応する第2の演奏パートの自動
演奏データが読み出され、読み出された第2の演奏パー
トの自動演奏データに基づいて、前記操作強度情報が反
映された楽音が形成される。請求項3記載の発明によれ
ば、記憶手段によって複数の区間に分けられた自動演奏
データが記憶され、読出し区間移動手段によって自動演
奏データの読出し区間が演奏の進行に従って移動させら
れる。そしてトリガー信号が発生したとき、読出手段に
よって、移動された読出し区間の先頭から、該読出し区
間の自動演奏データが読み出され、楽音発生手段によっ
て、読み出された自動演奏データに基づいて楽音が発生
される。請求項4記載の発明によれば、記憶手段によっ
て複数の音符からなる自動演奏データが記憶され、読出
し位置移動手段によって自動演奏データの読出し位置
が、所定のテンポに従って移動させられる。そして、移
動された位置に対応した自動演奏データが読み出され、
トリガー信号が発生すると、読み出された自動演奏デー
タに、発音開始を示すキーデータが含まれる場合、この
自動演奏データに基づいて1音符分の楽音が発生され
る。
る。 <第1実施例> A :第1実施例の概要 この発明による第1の実施例は、自動演奏の複数のトラ
ックのうちの少なくとも一つのトラック(後述する実施
例の説明では、「トリガー駆動トラック」と呼ぶ。)を
トリガーによってコントロールする一方、他のトラック
(後述する実施例の説明では、「ノーマルトラック」と
呼ぶ。)を周知の自動演奏の処理を用いて再生する。
聴きながら、演奏曲における各小節の先頭付近でのタイ
ミングにてトリガーをかける。トリガーが出力される
と、この実施例では、直ちにトリガー駆動トラックから
当該小節の一小節分の演奏データを読み出して再生す
る。この際に、ノーマルトラックにおける小節の先頭タ
イミングとトリガーの出力タイミングとはズレる場合が
あるが、これにかまわず再生がなされる。つまり、演奏
者は、演奏に慣れていない(あるいは演奏曲を良く知ら
ない)ほどズレ量を大きくしてしまい、ノーマルトラッ
クによる演奏とトリガー駆動トラックによる演奏とがズ
レて再生されて、いわゆる下手な演奏になる。しかしな
がら、演奏者は、演奏に慣れるにしたがって(あるいは
演奏曲を覚えるにしたがって)ズレ量を小さくすること
ができるので、本来の演奏に近くなり、いわゆる上手な
演奏になる。したがって、演奏者は、練習効果を演奏に
反映することができる。この第1実施例は、複音楽器を
トリガー駆動する場合に適している。
明する。図1は、この発明の実施例による自動演奏装置
の電気的構成を示すブロック図である。この図におい
て、1はトリガー発生器であり、読み出し動作を進行さ
せるトリガーを発生させる。なお、トリガー発生器1の
詳細については後述する。トリガー発生器1によって発
生したトリガーはトリガーI/F(インターフェイス)
2によって検出され、その検出信号がデータ・バスを介
してCPU3に供給されるようになっている。
込信号INTをCPU3に供給する。この割込信号IN
Tが供給されると、CPU3は後述するタイマ割込処理
を実行するようになっている。なお、タイマ割込処理の
起動周期は、4分音符について96回の割合であり、例
えば、4/4拍子の場合には、一小節につき384回と
なる。ここで、説明の便宜上、この起動周期をこの実施
例のクロックとする。5はROMであり、CPU3にお
いて用いられるプログラム等が記憶されている。6はR
AMであり、後述する種々のレジスタや自動演奏に用い
られる演奏データ等が記憶されている。
を参照して説明する。この図に示すように、演奏データ
は、曲の演奏パート(例えば、ピアノ、ベース、ドラ
ム、トランペット)に対応するトラックの数だけ設定さ
れており、一つのトラックに対してイベントデータとデ
ュレーションデータとが曲の進行にしたがって配置され
ている。この図において、EDはイベントデータであ
り、発生すべき楽音のイベント(発音オン、発音オフ、
コード変更等)内容を示している。このイベントデータ
には、例えば、発音開始を示すキーオンデータや、発音
終了を示すキーオフデータ等がある。さらに、キーオン
データには、発音すべき楽音の音高を示すノートデータ
や音の強弱を示すベロシティデータ等が付随する。この
ようなイベントデータは、曲中のイベントの数だけ順次
記憶されている。DDはデュレーションデータであり、
イベントから次のイベントまでの間隔(拍数)を示して
おり、その間隔はクロック数で示される。さらに、トラ
ックには、図19に示すように、RAM6内に設定され
る小節サイズテーブルが対応しており、これには、各小
節の長さ(サイズ)を示すクロック数が、曲の開始から
終了まで順次記憶されている。
とに楽音信号を発生させる。この楽音信号は、図示せぬ
D/A変換部によってアナログ信号に変換された後に、
アンプおよびスピーカ等から成るサウンド・システム8
を介して発音される。9はパネル操作子であり、曲のテ
ンポ設定やトリガー駆動トラックの選択等を行なうため
の、種々のスイッチより構成される。各スイッチのオン
・オフ状態は、パネルI/F10によって検出され、そ
の検出信号が、データ・バスを介してCPU3に供給さ
れるようになっている。11はディスプレイであり、デ
ィスプレイI/F12およびバスを介したCPU3の制
御のもとに、種々の表示を行なうようになっている。
て図2を参照して説明する。同図(a)は、トリガーの
発生源として、アナログ楽器を用いた例である。この図
において、101は、マイクが取り付けられたアナログ
楽器であり、その出力をレベル比較器102に供給す
る。アナログ楽器101には、例えば、ベースギター
や、ドラム等が用いられ、制御すべき演奏パートに応じ
て選択される。また、レベル比較器102には、マイク
の出力レベルと比較するためのしきい値が供給される。
レベル比較器102は、マイクの出力レベルがしきい値
レベルを上回った場合に、その旨の信号をパルス発生器
103に供給する。これによって、パルス発生器103
はトリガーを生成し、トリガーI/F2を介してCPU
3(図1参照)に供給する。これによって、演奏者が実
際に弾くあるいは叩くという行為によって発生した楽音
が、しきい値レベルを上回った場合に、トリガーが発生
するようになっている。
して、キーボードを用いた例である。この図において、
104は、複数のキーから成るキーボードであり、キー
の押鍵状態に応じたMIDI信号をキーオンイベント検
出器105に供給する。そして、キーオンイベント検出
器105は、MIDI信号からキーの押鍵に対応するキ
ーオンイベントを検出し、トリガーとしてトリガーI/
F2を介してCPU3(図1参照)に供給する。この構
成により、演奏者によるキーの押鍵行為によって、トリ
ガーが発生するようになっている。なお、このトリガー
には、必要に応じてタッチ情報、すなわち、トリガーの
発生強度に関する情報も含まれている。
〜図11を参照して順次説明する。なお、この動作説明
では、CPU3において実行される各ルーチン毎に分け
て説明する。
メインルーチンが起動される。まず、ステップSa1に
おいて、RAM6(図1参照)内の各種レジスタのゼロ
リセットや、各種フラグに初期設定値の書き込み等の初
期設定処理が行われ、例えば、自動演奏のオン/オフを
指定するフラグSTART等がクリアにされる。この初
期設定処理が終了すると、処理は次のステップSa2に
進む。
パネル処理が行われ、パネル操作子9(図1参照)の各
スイッチの設定に応じた値が、対応するレジスタおよび
フラグにセットされる。この後、処理は次のステップS
a3に進み、フラグSTARTの値が「1」であるか否
かが判別される。ここで、フラグSTARTの値が
「1」である場合には、自動演奏オンの指定となるの
で、この判別結果が「NO」である場合には、次のステ
ップSa4〜Sa6の処理が行われずに、処理は直ちに
ステップSa7に進む。この処理は、自動演奏の指示が
なされていない場合には、ステップSa4〜Sa6の処
理が不要だからである。一方、ステップSa3の判別結
果が「YES」である場合には、ステップSa4〜Sa
6の処理、すなわち、読出し許可処理、トリガー処理お
よび自動演奏処理が順次行なわれる。なお、これらの各
処理の詳細については後述する。
が「NO」の場合、あるいはステップSa6の自動演奏
処理が終了した場合には、ステップSa7において、そ
の他の処理、例えば、図示しない鍵盤の処理や押鍵され
た鍵に対応する楽音発生処理等が行われる。該処理終了
後にはステップSa2に戻り、以後電源が切断されるま
で、ステップSa2〜Sa7の処理が繰り返し実行され
る。
チンとは別に、図4に示すタイマ割込処理が行なわれ
る。この割込処理は、後述するパネル設定処理によっ
て、その実行が許可/禁止されるものであり、許可され
た場合には、タイマ4(図1参照)の割込信号INTの
供給によって起動され、メインルーチンにおける自動演
奏処理(図3におけるステップSa6参照)の実行タイ
ミングを指示する。前述したように、タイマ割込処理
は、曲のテンポに対応して起動される。この割り込み処
理が起動すると、ステップSb1においてタイマインタ
ラプトフラグTMIFが「1」に立ち上がる。
2に至ると、図5に示すパネル処理が実行される。ま
ず、この処理が起動されると、ステップSc1におい
て、テンポ設定処理が行われ、パネル操作子9(図1参
照)のスイッチにより設定されたテンポに応じて、タイ
マ4(図1参照)による割込信号INTの供給周期が設
定される。すなわち、ここでは、タイマ割込処理(図4
参照)の起動周期が設定される。引き続き、ステップS
c2において、パネル操作子9の設定によってトリガー
駆動トラックが選択される。ここで、トリガー駆動トラ
ックとは、演奏者が受け持つ演奏パートであり、合奏曲
における複数の演奏パートの中から選択可能となってい
る。具体的には、図18における演奏パートの中から、
ピアノ、ベース、ドラム、トランペットの所望のパート
が選択される。
9における自動演奏のスタートを指示をするスイッチ
の、状態変化(イベント)の有無が検出される。状態変
化が検出されない場合には、判別結果が「NO」とな
り、処理は後述するステップSc6に進む一方、状態変
化が検出された場合には、すなわち、自動演奏のスター
ト指示がなされた場合には、判別結果が「YES」とな
り、処理は次のステップSc4に進む。ステップSc4
では、前述のタイマ割込処理の起動が許可され、引き続
き、ステップSc5において、フラグSTARTに
「1」がセットされて、処理はステップSc6に進む。
9における自動演奏のストップを指示するスイッチの、
イベントの有無が検出される。状態変化が検出されない
場合には、判別結果が「NO」となって、このパネル処
理は終了する一方、状態変化が検出された場合には、す
なわち、自動演奏のストップ指示がなされた場合には、
判別結果が「YES」となり、処理は次のステップSc
7に進む。
(図4参照)の起動が禁止され、引き続き、ステップS
c8において、CPU3は、すべての発音を停止させる
信号(オールノートオフ信号)を音源回路7(図1参
照)に供給して、楽音の発生をすべて停止(消音)さ
せ、さらに、ステップSc9において、フラグSTAR
Tに「0」がセットされて、このパネル処理は終了し、
処理はメインルーチン(図3参照)に戻る。
演奏のテンポ設定と、駆動トラックの選択とが行われ、
次に自動演奏のスタート指示あるいはストップ指示の検
出が行なわれ、これに対応して、タイマ割込処理の許可
/禁止とフラグSTARTへの値設定とが行なわれる。
4に至ると、図6に示す読出し許可処理が実行される。
この処理では、おもに、自動演奏の進行位置がトリガー
を許可するタイミングであるか否かが判別されるととも
に、そのタイミングに応じてデータの処理がなされる。
まず、この処理が起動すると、ステップSd1におい
て、レジスタNTCTに格納されている値が、 S1≦NTCT(≦383) あるいは、 (0≦)NTCT≦S2 のどちらか一方を満足しているか否かが判別される。
ラックのクロックをカウントするレジスタであり、その
値は、現時点におけるノーマルトラックでの自動演奏の
小節内タイミングを示し、演奏進行とともに「0」から
「383」の各整数値を順次とりながら循環する(4拍
子の場合)。ここで、ノーマルトラックが複数ある場合
においても、レジスタNTCTは一つで構わない。ま
た、S1,S2は、後述するトリガーイベント(トリガ
ーの発生)の有効範囲を設定するものであり、クロック
数で示され、これらには、次のような関係がある。 0≦S2<S1≦383(4拍子の場合) なお、S1,S2の値は、例えば、パネル操作子9(図
1参照)にて演奏者の所望値に設定される。すなわち、
ステップSd1では、ノーマルトラックの演奏進行位置
が、NTCT=0に相当する各小節線を中心にして、S
1の示すタイミングからS2の示すタイミングまでの範
囲に到達したか否かが判別される。
ば、処理はステップSd7に進んで、さらに、フラグR
EFの値が「0」でないか否かが判別される。ここで、
フラグREFは読出許可フラグであり、その値が「0」
の場合には、トリガーイベントを無効にしてトリガー駆
動トラックから演奏データの読出を禁止する。この判別
結果が「NO」であるならば、すなわち、フラグREF
の値が、「0」であるならば、この読出し許可処理は終
了する一方、この判別結果が「YES」であるならば、
すなわち、フラグREFの値が「1」あるいは「2」で
あるならば、ステップSd8において、フラグREFお
よびフラグRYF(後述する)に「0」がそれぞれセッ
トされた後に、この読出し許可処理は終了する。すなわ
ち、ステップSd1における判別結果が「NO」なら
ば、トリガーイベントを無効にするべく、フラグREF
には「0」が強制的にセットされて、この読出し許可処
理は終了するようになっている。
S」ならば、処理は次のステップSd2に進む。ステッ
プSd2では、フラグREFの値が「0」であるか否か
が判別される。このフラグの値が「0」であるならば、
ステップSd2の判別結果が「YES」となり、次のス
テップSd3においてフラグREFに「1」がセットし
直されて、処理はステップSd4に進む一方、フラグR
EFの値が「0」でないならば、ステップSd2の判別
結果が「NO」となり、処理はステップSd4に直接進
む。
が「1」であるか否かが判別される。ここで、フラグE
XEFとは、トリガーによる自動演奏が実行中であるか
否かを示すフラグであり、その値が「1」の場合に、後
述するトリガー駆動トラック処理の実行を許可するよう
になっている。このフラグEXEFの値が「1」である
ならば、以降の処理を行なう必要がないので、直ちに、
この読出し許可処理が終了する。一方、このフラグの値
が「0」であるならば、処理は次のステップSd5に進
んで、さらに、フラグRYFの値が「0」であるか否か
が判別される。このフラグの値が「0」でないならば、
この読出し許可処理は直ちに終了する一方、フラグRY
Eの値が「0」であるならば、処理は次のステップSd
6に進む。ここで、フラグRYFとは、初期設定(図
3、ステップSa1参照)でクリアされるものであっ
て、トリガー駆動トラックの読み出し準備完了を示すフ
ラグである。トリガー駆動トラックの読み出し準備は、
後述するステップSd9〜Sd20の実行によって完了
するが、処理の便宜上、このフラグは、ステップSd6
において立ち上げられる(「1」がセットされる)。し
たがって、ステップSd20のあとにステップSd6の
処理を実行しても良い。このステップSd6の後、処理
は次のステップSd9に進む。
CTの値とレジスタDTtの値との和が、レジスタMS
tの値よりも小さいか否かが判別される。ここで、レジ
スタTTCTとは、トリガー駆動トラックのテンポクロ
ックをカウントするレジスタであり、レジスタNTCT
と同様に、その値は、現時点におけるトリガー駆動トラ
ックの小節内タイミングを示し、演奏進行とともに
「0」から「383」の各整数値をとりながら循環する
(4拍子の場合)。また、レジスタDTtには、トリガ
ー駆動トラックにおけるデュレーションデータが書き込
まれ、レジスタMStには、トリガートラックの現時点
における演奏小節のサイズ(クロック数)の値が、レジ
スタTTCTに対応して書き込まれている。該レジスタ
には、例えば、4拍子の場合、値「383」がセットさ
れている。
駆動トラックにおける現時点での演奏進行位置におい
て、次のイベントデータが次の小節線を越えて存在して
いないか否かが判別される。次のイベントデータが次の
小節線を越えている場合には、ステップSd9の判別結
果が「NO」となり、処理は後述するステップSd17
に進む一方、次のイベントデータが次の小節線を越えて
いない場合には、ここでの判別結果は「YES」とな
り、処理は次のステップSd10に進む。
の値とレジスタDTtの値との和が、新たにレジスタT
TCTにセットされる。これにより、トリガー駆動トラ
ックの現時点における自動演奏の進行位置が、次のイベ
ントを発生するべきタイミングまで強制的に進められ
る。ステップSd10では、自動演奏の進行位置が時間
的に移動するが、トリガー駆動トラックにおける読み出
しポインタは移動していない。したがって、この進行位
置の移動に合わせて読み出しポインタを移動させなけれ
ばならないし、また、この際にキーオンデータ以外のデ
ータ処理を行なう必要がある。このため、次の処理が実
行される。
演奏データの読出しポインタを示すレジスタPTtが1
だけインクリメントされ(ステップSd11)、このポ
インタの示すアドレスで演奏データが読み出され(ステ
ップSd12)、この読み出されたデータがデュレーシ
ョンデータであるか否かが判別され(ステップSd1
3)、この判別結果が「YES」ならば、レジスタDT
tにデュレーションデータがセットし直される(ステッ
プSd14)。一方、ステップSd12において読み出
されたデータがイベントデータであるならば、ステップ
Sd13の判別結果が「NO」となり、読み出されたデ
ータがキーオン以外のイベントデータであるか否かがさ
らに判別され(ステップSd15)、該イベントデータ
がキーオンデータでない場合には、該イベントデータに
対応する処理(例えば、音色変化や、消音処理など)が
実行された後に、処理が前述したステップSd11に戻
る一方、読み出されたイベントデータがキーオンデータ
である場合には、該キーオンデータを無効にするべく、
処理は直ちにステップSd11に戻る。
により、トリガー駆動トラックにおける現時点での演奏
進行位置において、次のイベントデータが次の小節線を
越えるまで、キーオン以外の演奏データすべてが強制的
に処理されるようになっている。これは、トリガーが発
生せずに演奏が進行した場合において、イベントデータ
のうちの音色の変化や効果回路の制御などの処理が行な
われないならば、ある時点でのトリガーの発生により再
生が開始されたときに本来の演奏とは異なる演奏になる
ことを防止するために行なわれる。例えば、トリガーが
発生せずに演奏が進行した場合において、キーオフデー
タに対応するキーオフ処理が行われならば、楽音が鳴り
っぱなしとなってしまうが、上記ループ処理によりキー
オフ処理が行なわれるので、楽音の鳴りっぱなしが防止
される。
「YES」である場合、すなわち、現時点におけるトリ
ガー駆動トラックの演奏進行位置において、次のイベン
トデータが次の小節線を越えている場合には、処理はス
テップSd17に進む。ステップSd17では、レジス
タTTCT+レジスタDTt−レジスタMStの値、す
なわち、小節線を越えた分だけのデュレーションデータ
が、新たにレジスタDTtにセットし直される。ステッ
プSd18では、トリガー駆動トラックの小節番号を示
すレジスタTTMNが1だけインクリメントされて、ト
リガー駆動トラックにおける演奏の進行位置が次小節へ
と強制的に進められる。次に、ステップSd19では、
レジスタTTCTには値「0」がセットされて(クリア
にされる)、トリガー駆動トラックの自動演奏における
小節内タイミングが次小節の先頭に進むことを示してい
る。そして、ステップSd20では、インクリメントさ
れたレジスタTTMNの値の小節番号に対応する小節サ
イズが、ROM5における小節サイズテーブル(図19
参照)から読み出され、レジスタMStにセットされ
て、この読出し許可処理は終了し、処理はメインルーチ
ン(図3参照)に戻る。
奏の進行位置がトリガーイベントを許可すべき地点に到
達したか否かが判別され(ステップSd1)、この判別
結果に応じた値が各種レジスタあるいはフラグにセット
される(ステップSd2〜Sd8)。さらに、自動演奏
の進行位置がトリガーイベントを許可すべき地点に達し
た場合には、駆動トラックの現時点における演奏の進行
位置から次の小節線までのデータを強制的に処理するべ
く、処理が循環する(ステップSd9〜Sd16)。こ
れによって、イベントデータの内のキーオンデータは無
視され、それ以外のイベントデータは、本来のタイミン
グではないが実行される。そして、データを強制的に処
理したら、次小節に備えるための値が各種レジスタにセ
ットされる(ステップSd17〜Sd20)。
ると、図7に示すトリガー処理が実行される。この処理
では、トリガーイベントがあった場合に、これに対応す
る各種レジスタへのセットが行なわれる。なお、このト
リガーイベントに対応する発音処理は、このトリガーイ
ベントが発音タイミングであるとき(レジスタDTtの
値が「0」)以外では、後述する自動演奏処理における
トリガー駆動トラック処理で行われる。
いて、トリガーイベントの有無が検出される。すなわ
ち、トリガー発生器1(図1参照)からトリガーが供給
されたか否かが検出される。この判別結果が「NO」の
場合には、この処理は直ちに終了する一方、トリガーが
検出された場合には、この判別結果は「YES」とな
り、さらに、ステップSe2において、フラグREFの
値が「1」であるか否かが判別される。このフラグが
「0」である場合には、このトリガー処理は直ちに終了
する。このトリガー処理は、トリガーイベントがない場
合、あるいは、トリガーイベントがあっても、許可され
ていない地点で発生した場合では、不要だからである。
一方、フラグREFの値が「1」であるならば、ステッ
プSe2での判別結果が「YES」となり、次のステッ
プSe3においてフラグREFに値「2」がセットし直
される。すなわち、フラグREFの値が「2」となる場
合は、フラグREFの値が「1」のときにトリガーが発
生した場合である。
グEXEFの値が「1」であるか否かが判別される。こ
の時点において、フラグEXEFの値が「1」であるな
らば、後述するステップSe13〜Se24の処理が実
行される。
XEFの値が「1」でないならば、ここでの判別結果は
「NO」となり、該フラグに「1」が新たにセットされ
(ステップSe5)、フラグRYFに「0」がセットさ
れて(ステップSe6)、処理は次のステップSe7に
進む。次のステップSe7では、レジスタDTtの値が
「0」であるか否かが判別される。この判別結果が「N
O」である場合には、このトリガー処理は終了して、処
理がメインルーチン(図3参照)に戻る。一方、ステッ
プSe7の判別結果が「YES」である場合には、トリ
ガーイベントに対応して、直ちにイベントデータを処理
すべく、次のステップSe8〜Se12が実行される。
PTtが1だけインクリメントされ(ステップSe
8)、このレジスタにセットされている値をアドレスと
して演奏データが読み出され(ステップSe9)、この
際に読み出されたデータがデュレーションデータである
か否かが判別され(ステップSe10)、この判別結果
が「YES」ならば、レジスタDTtにデュレーション
データがセットし直されて(ステップSe11)、この
トリガー処理は終了する。一方、ステップSe9におい
て読み出されたデータがイベントデータであるならば、
ステップSe9の判別結果が「NO」となり、読み出さ
れたイベントデータに対応する処理(例えば、発音処理
や消音処理等)が実行されて、処理は再びステップSe
8に戻る。これによって、次のイベントまでのデュレー
ションが、レジスタDTtにセットされて、このトリガ
ー処理は終了する。そして、処理はメインルーチン(図
3参照)に戻る。
がステップSe10に至った場合とは、ステップSe7
を経由してレジスタDTtの値が「0」と判別された場
合であり、何らかのイベントを発生すべきタイミングで
あることを示す。したがって、この場合、ステップSe
9において読み出されるデータは、デュレーションデー
タではないので、ステップSe11の処理が少なくとも
一回は実行されることになる。
果が「YES」の場合とは、前回のトリガーイベントに
よる演奏データの読出しが完了していない(フラグEX
EFが「1」)にもかかわらず、次のトリガーイベント
が発生した場合である。この場合には、次のトリガーイ
ベントを優先させる必要から、読出しの完了していない
イベントデータの内のキーオンデータを無視し、同キー
オンデータ以外のイベントを強制的に処理する必要があ
る。このような処理は、図6に示した読出し許可処理の
ステップSd9〜Sd20でも行われるが、演奏データ
の読出し中にはフラグEXEFの値が「1」となるの
で、読出し許可処理では実行されない。そこで、演奏デ
ータの読出し中で、トリガーイベントが発生した場合に
は、すなわち、フラグREFの値が「1」であって、フ
ラグEXEFの値が「1」の場合には、図8に示すステ
ップSe13〜Se24の処理が行われるようになって
いる。なお、これらの処理は、図6におけるステップS
d9〜Sd20と全く同一であるので、その説明を省略
する。
リガーイベントが発生したか否か、さらに、このトリガ
ーイベントが、図6におけるステップSd1の条件を満
足させる地点でなされたものであるか否かが判別され、
双方の条件を満たす場合のみ、次処理に備えて各種レジ
スタおよびフラグがセットされる。この際、演奏データ
が読み出し中であれば、残りの演奏データを直ちに処理
すべくステップSe13〜Se24が実行され、また、
トリガーイベントが発生したとき、レジスタDTtの値
が「0」ならば、後述するトリガー駆動トラック処理に
よらないで、ステップSe8〜Se11の処理が直ちに
実行されるようになっている。
ると、図9に示す自動演奏処理が実行される。この処理
は、タイマ割込処理のタイミング指示によって起動され
るものであり、図19に示される演奏データを各トラッ
ク毎について読み出して、読み出したデータの内容に応
じた処理が行なわれる。
テップSf1において、フラグTMIFの値が「1」で
あるか否かが判別される。すなわち、現時点における、
自動演奏処理の起動タイミングが、図4に示すタイマ割
込処理に基づいたタイミングであるか否かが判別され
る。この判別結果が「NO」であるならば、この自動演
奏処理を実行するタイミングではないので、この処理は
直ちに終了する一方、この判別結果が「YES」である
ならば、この自動演奏処理を実行するタイミングである
ので、次の処理が行われる。
ングで自動演奏処理が起動するように、フラグTMIF
がクリアにされ(ステップSf2)、次にノーマルトラ
ックにおける発音処理が行われ(ステップSf3)、引
き続きトリガー駆動トラックにおける発音処理が行われ
て(ステップSf4)、この自動演奏処理は終了し、処
理はメインルーチン(図3参照)に戻る。次に、これら
ノーマルトラック処理およびトリガー駆動トラック処理
の各々について詳細に説明する。
(ステップSf3) 処理が、図9に示す自動演奏処理におけるステップSf
3に進むと、図10に示すノーマルトラック処理が実行
される。この処理では、トリガーイベントに依らない通
常の自動演奏、すなわち、ノーマルトラックにおける発
音処理が行われる。
Sg1において、ノーマルトラックにおける現時点の演
奏進行位置を1つ進めるべく、レジスタNTCTが
「1」だけインクリメントされる。次のステップSg2
では、このレジスタNTCTの値がレジスタMSnの値
に一致しているか否かが、すなわち、現時点の演奏進行
位置が、当該小節の最後であるか否かが判別される。こ
の判別結果が「NO」であるならば、処理は後述するス
テップSg6に進む一方、判別結果が「YES」である
ならば、次小節の演奏に備えるべく、次のステップSg
3〜Sg5の処理が実行される。
小節を次に移すべく、演奏小節の番号を示すレジスタN
TMNが「1」だけインクリメントされ(ステップSg
3)、次に、ノーマルトラックの演奏小節内タイミング
を小節先頭に戻すべく、レジスタNTCTがクリアにさ
れ(ステップSg4)、そして、ノーマルトラックにお
ける小次節のサイズが、レジスタNTMNを参照して小
節サイズテーブル(図19参照)から読み出されてレジ
スタMSにセットされる(ステップSg5)。この後、
処理はステップSg6に進む。
合、あるいはステップSg5の処理が終了した場合に
は、処理はステップSg6に進む。このステップSg6
では、レジスタNTCTのインクリメントに対応して、
レジスタDTnが「1」だけデクリメントされる。そし
て、次のステップSg7では、このレジスタDTnの値
が「0」であるか否かが判別される。この判別結果が
「NO」である場合には、イベントを発生するべきタイ
ミングではないので、処理は後述するステップSg13
に進む一方、ステップSg7の判別結果が「YES」の
場合には、次のステップSe8〜Se11の処理が実行
される。
スを示すレジスタPTnが「1」だけインクリメントさ
れ(ステップSg8)、該レジスタPTnの値をアドレ
スとしてノーマルトラックに対応する演奏データが読み
込まれ(ステップSg9)、この読み込まれた演奏デー
タがデュレーションデータであるか否かが判別される
(ステップSg10)。ところで、このノーマルトラッ
ク処理が起動され、ステップSg10の処理が初めて実
行された場合とは、ステップSg7を経由してレジスタ
DTnの値が「0」と判別された場合である。したがっ
て、この場合、ステップSg9において読み出されるデ
ータは、デュレーションデータではなく、イベントデー
タであるので、ステップSg10の判別結果が「NO」
となり、処理はステップSg11に進む。ステップSg
11において、読み出されたイベントデータに対応する
処理、例えば、発音処理や、消音処理、音色変化処理等
が行われ、処理が再びステップSg8に戻る。
と、ステップSg9において読み出されるデータは、次
回イベントまでのデュレーションデータである。したが
って、ステップSg10における今度の判別結果は「Y
ES」となり、次のステップSg12において、該デュ
レーションデータがレジスタDTnにセットされる。そ
して、処理は次のステップSg13に進む。
ルトラックが存在するか否かが判別される。他のノーマ
ルトラックが存在する場合には、この判別結果が「あ
り」となり、ステップSg14にて、次に処理すべきノ
ーマルトラックの番号が[n]にセットされ、処理はステ
ップSg6に再び戻る。これによって、他のノーマルト
ラックに対しても、ステップSg6〜Sg12の処理が
同様に順次行われる。一方、他のノーマルトラックが存
在しない場合、あるいは、すべてのノーマルトラックに
対してSg6〜Sg12の処理が行われた場合には、ス
テップSg13での判別結果が「なし」となり、このノ
ーマルトラック処理は終了する。なお、すべてのノーマ
ルトラックに対してSg6〜Sg12の処理が行われた
場合には、次の起動に備えて、[n]がはじめのノーマル
トラックの番号に戻されてから、ノーマルトラック処理
が終了するようになっている(図示せず)。
各ノーマルトラックの演奏進行位置が小節の最後である
か否かが判別され、小節の最後である場合には、次小節
に備えた値が各種レジスタにセットされるとともに、各
ノーマルトラックに対してそれぞれ次の処理が行われ
る。すなわち、各ノーマルトラックにおける演奏進行位
置が、イベントデータに対応するタイミングに到達した
場合には、そのイベントに対応する処理が行われた後
に、次のイベントまでのデュレーションがセットされ
る。
理(ステップSf4) 次に、このトリガー駆動トラック処理について詳細に説
明する。処理が、図9に示す自動演奏処理におけるステ
ップSf4に進むと、図11に示すトリガー駆動トラッ
ク処理が実行される。この処理では、トリガーイベント
に依る発音処理が行われる。
Sh1において、フラグEXEFの値が「1」であるか
否かが判別される。この判別結果が「NO」である場合
には、このトリガー駆動トラック処理は直ちに終了す
る。フラグEXEFの値が「1」でない場合とは、トリ
ガーイベントが発生していない状態を示すので(図7に
おけるステップSe4参照)、このトリガー駆動トラッ
ク処理を実行する必要がないからである。一方、ステッ
プSh1での判別結果が「YES」である場合には、処
理は次のステップSh2に進んで、トリガー駆動トラッ
クにおける現時点の演奏進行位置を1つ進めるべく、レ
ジスタTTCTが「1」だけインクリメントされる。
CTの値がレジスタMStの値に一致しているか否か
が、すなわち、現時点の演奏進行位置が、当該小節の最
後であるか否かが判別される。この判別結果が「YE
S」であるならば、次小節の演奏に備えるべく、処理は
後述するステップSh11に進む一方、判別結果が「N
O」であるならば、トリガーイベントによる小節内自動
演奏を行うべく、次のステップSh4〜Sh10が実行
される。
は、図10に示したノーマルトラック処理におけるステ
ップSg6〜Sg12とほぼ同様である。すなわち、ス
テップSh4にて、レジスタTTCTのインクリメント
に対応して、レジスタDTtが「1」だけデクリメント
され、次のステップSh5では、このレジスタDTtの
値が「0」であるか否かが判別される。この判別結果が
「NO」である場合には、イベントを発生するべきタイ
ミングではないので、このトリガー駆動トラック処理は
終了する一方、ステップSh5の判別結果が「YES」
の場合には、イベントデータの読出しアドレスを示すレ
ジスタPTtが「1」だけインクリメントされ(ステッ
プSh6)、該レジスタPTtの値をアドレスとして演
奏データが読み込まれ(ステップSh7)、この読み込
まれた演奏データがデュレーションデータであるか否か
が判別される(ステップSh8)。
行された場合とは、ノーマルトラック処理におけるステ
ップSg10と同様に、ステップSh5を経由してレジ
スタDTtの値が「0」と判別された場合である。した
がって、このトリガー駆動トラック処理においても、レ
ジスタDTtの値が「0」と判別された場合には、ステ
ップSh10によってそのイベントに対応する処理、例
えば、発音処理や、消音処理、音色変化処理等が行わ
れ、次回イベントまでのデュレーションデータが新たに
セットされてから、処理はメインルーチン(図3参照)
に戻る。
演奏進行位置が、当該小節の最後に位置する場合には、
次小節の演奏データ読出しに備えるべく、次のステップ
Sh11〜Sh15の処理が実行される。すなわち、ト
リガー駆動トラックにおける演奏小節を次に移すべく、
その小節番号を示すレジスタTTMNが「1」だけイン
クリメントされ(ステップSh11)、次に、トリガー
駆動トラックの演奏小節内タイミングを小節先頭に戻す
べく、レジスタTTCTがクリアにされ(ステップSh
12)、トリガー駆動トラックにおける次小節のサイズ
が、レジスタTTMNを参照して小節サイズテーブル
(図19参照)から読み出されてレジスタMStにセッ
トされる(ステップSh13)。そして、トリガーイベ
ントによる小節内自動演奏が、次小節まで進行するのを
防止するべく、フラグEXEFがクリアにされる(ステ
ップSh14)。次に、小節内のイベントデータ読出し
が完了した旨を示して、次回のトリガーイベントを許可
するべく、フラグRYFに値「1」がセットされて、こ
のトリガー駆動トラック処理は終了する。
クでは、図10に示すノーマルトラック処理によって、
トリガーイベントの有無にかかわらず、曲の進行にした
がった発音が順次行なわれる。一方、トリガー駆動トラ
ックでは、ノーマルトラックの演奏進行位置が、図12
に示すように、NTCT=0に相当する各小節線を中心
にして、S1の示すタイミングからS2の示すタイミン
グまでの範囲に到達すると、まず、図6に示す読出し許
可処理によって、レジスタRFFの値が「1」となり、
トリガーイベントの発生が許可される。この後、次の
、の場合によって異なった処理が行われる。
だ読出し中(フラグEXEFの値が「1」)の場合、あ
るいは、 以外の場合、 である。
る。 −1 トリガーイベントが発生した場合 この場合には、図8に示すステップSe13〜Se24
の処理が行われて、当該小節線までのキーオンデータは
無視され、同キーオンデータ以外のデータは強制的に実
行される。そして、図9に示す自動演奏処理によって、
ノーマルトラックでは、曲の進行にしたがった発音が行
われる一方、トリガー駆動トラックでは、トリガーイベ
ントが発生した時点がトリガー駆動トラックの当該小節
線とみなされて、当該小節の一小節分の発音が、ノーマ
ルトラックに対して同テンポで行われる。
が、ノーマルトラックに対して同テンポで行われて完了
する。トリガートラックにおける当該小節の発音は行わ
れない。また、自動演奏の進行位置が、地点S2を過ぎ
るとフラグREFの値が「0」に一旦書き換えられる。
が、トリガーイベントの発生にかかわらず、フラグRE
Fの値が「1」になった場合(図6、ステップSd
3)、次の処理が行なわれる。すなわち、トリガー駆動
トラックにおける演奏データの読出し位置を、当該小節
の先頭に移動するべく、図6に示すステップSd9〜S
d20の処理が行われる。この結果、−1の場合と同
様に、当該小節線までのキーオンデータは無視される一
方、同キーオンデータ以外のデータは強制的に実行され
る。 −1 トリガーイベントが発生した場合 ノーマルトラックでは、図9に示す自動演奏処理によっ
て、曲の進行にしたがった発音が行われる一方、トリガ
ー駆動トラックでは、トリガーイベントが発生した時点
がトリガー駆動トラックの当該小節線とみなされて、当
該小節の一小節分の発音が、ノーマルトラックに対して
同テンポで行われる。 −2 トリガーイベントが発生しない場合 トリガー駆動トラックにおける当該小節の発音は行われ
ない。また、自動演奏の進行位置が、地点S2を過ぎる
とフラグREFの値が「0」に一旦書き換えられる。
ルトラックによる自動演奏の進行位置が予め決められた
小節線付近に到達したときに、トリガーが発生すると、
トリガーイベントが発生した時点を疑似的に小節線位置
とみなして、当該小節の一小節分の自動演奏が行われ
る。一方、小節線範囲付近外でトリガーを発生させても
自動演奏は行われない。また、トリガーが発生しなとき
には、トリガー駆動トラックにおけるキーオン以外の演
奏データは、強制的に実行される。
わち、小節線付近でトリガーを発生させるだけの操作に
よって、当該小節の一小節分のトリガートラック自動演
奏を行なうことができ、さらに、自動演奏の途中におい
てトリガーを発生させても、そこまでのトリガー駆動ト
ラックにおける自動演奏が、発音処理を除いて強制的に
実行されるので、途中からでも自動演奏に参加すること
ができる。
単音楽器のパートの演奏を行なう。第1実施例と第2実
施例との相違は、第1実施例では演奏曲を一定期間(一
小節)毎に区切ってトリガーを受け付けていたのに対
し、第2実施例ではトリガーを受け付ける毎に1つの音
符を再生する、という点である。具体的にはこの第2実
施例では、トリガー駆動トラックから音符(後述する実
施例の説明では、キーオンデータ)が検索されてイベン
トバッファに記憶される。トリガーが発生すると、この
イベントバッファからキーオンデータが読み出されて発
音が行なわれる。トリガー駆動トラックから音符を探す
検索ポインタは、ノーマルトラックにおける読み出しポ
インタに比べて所定時間だけ先行させておくことによっ
て、トリガーのタイミングが本来の演奏すべき音符のタ
イミングよりも早くても、再生できるようにした。イベ
ントバッファは、トリガーの発生の有無にかかわらず、
検索ポインタがキーオンデータをサーチした場合に書き
換えられる。したがって、トリガーの受け付ける期間
は、時間的には発音すべき音符の有する長さと等しい
が、タイミング的には所定期間だけ発音すべき音符より
ズレている。この第2の実施例は、単音楽器をトリガー
駆動する場合に適している。
は、小節線付近でのトリガー発生によって、当該小節の
一小節分の自動演奏を行なうものであったが、この第2
実施例は、発音タイミング付近でのトリガー発生によっ
て、該タイミングで発生すべき音(単音)を発生するも
のである。なお、この実施例の構成は、図1に示す第1
の実施例と同一であるので、その説明を省略する。
照して順次説明する。なお、この動作説明でも、CPU
3において実行される各ルーチン毎に分けて説明する。
すメインルーチンが起動される。まず、ステップSm1
において、RAM6内の各種レジスタのゼロリセット
や、各種フラグに初期設定値の書き込み等の初期設定処
理が行われ、自動演奏のオン/オフを指定するフラグS
TARTや、自動演奏の開始を許可するレジスタST
E、後述するレジスタOFCT等がクリアにされる一
方、この実施例では、レジスタDTkおよびレジスタD
Ttに「1」がセットされる。この初期設定処理が終了
すると、処理は次のステップSm2に進む。
と同様なパネル処理が行われる。すなわち、初めに自動
演奏のテンポ設定と、トリガー駆動トラックの設定とが
行われ、次に自動演奏のスタート指示あるいはストップ
指示の検出が行なわれ、これに対応して、タイマ割込処
理の許可・禁止とフラグSTARTへの値設定とが行な
われる。なお、このパネル処理は、図5に示すパネル処
理と同一なのでその説明を省略する。
RTの値が「1」であるか否かが判別される。ここで、
フラグSTARTは、自動演奏をオンにするか否かを指
定するフラグであり、該フラグの値が「1」である場合
に、自動演奏オンの指定となる。この判別結果が「N
O」である場合には、次のステップSm4およびSm5
の処理が行われずに、処理は直ちにステップSm6に進
む。自動演奏の指示がなされていない場合には、ステッ
プSm4およびSm5の処理が不要だからである。一
方、ステップSm3の判別結果が「YES」である場合
には、ステップSm4における自動演奏処理およびステ
ップSm5におけるトリガー処理が順次行なわれる。な
お、これらの各処理の詳細については後述する。
「NO」の場合、あるいはステップSm5におけるトリ
ガー処理が終了した場合には、Sm6において、その他
の処理、例えば、図示しない鍵盤の処理や押鍵された鍵
に対応する楽音発生処理等が行われる。該処理終了後に
はステップSm2に戻り、以後電源が切断されるまで、
ステップSm2〜ステップSm6の処理が繰り返し実行
される。
マ割込処理が、図13に示すメインルーチンとは別に行
なわれる。この割込処理は、パネル設定処理(図13に
おけるステップSm2参照)によって、その実行が許可
あるいは禁止されるものであり、許可された場合には、
図1におけるタイマ4の割込信号INTの供給によって
起動され、自動演奏処理(図13におけるステップSm
4参照)の実行タイミングを指示する。このタイマ割込
処理は、第1の実施例と同様に、割込信号INTの供給
周期が曲のテンポに応じて可変制御されるので、曲のテ
ンポに対応して起動することになる。なお、その起動周
期は、4分音符について96回の割合である。
テップSn1においてタイマインタラプトフラグTMI
Fが「1」に立ち上がり、次のステップSn2において
レジスタSTEの値が「0」であるか否かが判別され
る。レジスタSTEの値が「0」でなければ、このタイ
マ割込処理は直ちに終了する。しかしながら、前述した
ように、このレジスタSTEの値は初期状態では「0」
であるので、この場合の判別結果は「YES」となり、
次のステップSn3に進む。
値が「1」だけインクリメントされ、引き続き、ステッ
プSn4において、レジスタOFCTの値が先行クロッ
クサイズに一致するか否かが判別される。ここで、先行
クロックサイズは、ノーマルトラックによる演奏位置に
対して、キーオンデータの検索をどれだけ先行させるか
を示している。そして、その大きさは、トリガー駆動ト
ラックにおける音符(キーオンデータからキーオフデー
タまでのデュレーションに相当する)のうちの最も小さ
い音符に相当するクロックの、半分のクロック数以下で
あるならば、所望の大きさで良い。ステップSn4にお
ける判別結果が「YES」の場合には、次のステップS
n5においてレジスタSTEに「1」がセットされて、
自動演奏の開始が許可される一方、この判別結果が「N
O」の場合には、このタイマ割込処理は終了する。
のスタート指示がなされてから、レジスタOFCTが起
動毎にインクリメントされ、この値が先行クロックサイ
ズに一致して初めて、レジスタSTEに「1」がセット
される。以後、このタイマ割込処理では、その起動毎に
タイマインタラプトフラグが「1」に立ち上がるのみで
ある。
至ると、図15に示す自動演奏処理が実行される。この
自動演奏処理は、図14に示すタイマ割込処理のタイミ
ング指示によって起動されるものであり、主に、次の処
理が行われる。すなわち、これらの処理は、 キーオンデータが、現時点におけるノーマルトラッ
クによる自動演奏の進行位置より先行クロックサイズで
設定されたクロック数だけ先行した時点に存在した場合
における、該キーオンデータのイベントバッファへの格
納処理と、 ノーマルトラックにおける自動演奏の小節内タイミ
ングと演奏データの読み出すべきタイミングとが一致し
た場合の発音処理と、 トリガートラック処理と である。
テップSp1において、フラグTMIFの値が「1」で
あるか否かが判別される。すなわち、現時点における自
動演奏処理の起動タイミングが、図14に示すタイマ割
込処理に基づいたタイミングであるか否かが判別され
る。この判別結果が「NO」であるならば、この自動演
奏処理を実行するタイミングではないので、この自動演
奏処理は直ちに終了する一方、この判別結果が「YE
S」であるならば、この自動演奏処理を実行すべきタイ
ミングであるので、処理は次のステップSp2へ進む。
みのタイミングで自動演奏処理が起動するように、フラ
グTMIFが「0」にされる。次のステップSp3で
は、レジスタDTkの値が「1」だけデクリメントされ
る。このレジスタDTkには、レジスタDTtと同様に
トリガー駆動トラックにおける演奏データのうちのデュ
レーションデータが格納され、キーオンデータ検索用と
して用いられる。なお、このレジスタDTkの初期値は
「1」に設定される。また、この実施例では、レジスタ
DTtのデクリメント処理を行うトリガートラック処理
(後述するステップSp14)は、レジスタSTEが
「1」に立ち上がってから開始されるようになってい
る。したがって、レジスタDTkに格納されるデュレー
ションデータは、実際の自動演奏の進行に対して先行ク
ロックサイズのクロック数だけ疑似的に先行することに
なる。
スタDTkの値が「0」であるか否かが判別される。こ
の判別結果が「NO」ならば、処理は後述するステップ
Sp12にスキップする一方、判別結果が「YES」な
らば、次のステップSp5に進む。
演奏データの読出しポインタを示すレジスタPTkが1
だけインクリメントされ(ステップSp5)、このポイ
ンタの値をアドレスとして演奏データが読み出され(ス
テップSp6)、この読み出された演奏データがデュレ
ーションデータであるか否かが判別される(ステップS
p7)。なお、レジスタPTkは、レジスタDTkと同
様に、キーオンデータの検索用として使用される。
O」の場合には、ステップSp6において読み出された
データは、イベントデータであるので、次のステップS
p8において、該イベントデータがキーオンデータであ
るか否かが判別される。この判別結果が「YES」なら
ば、該キーオンデータが、RAM6内に設定されたイベ
ントバッファにストアされ(ステップSp9)、後述す
るトリガーイベントを許可するべく、フラグREが
「1」に立ち上げられる(ステップSp10)。そし
て、この後、処理はステップSp5に戻る。
「NO」であるならば、読み出したキーオン以外のイベ
ントデータに対しては何ら処理する必要がないので、前
述のステップSp5に直ちに戻る。なお、ステップSp
8において、イベントバッファ内にストアされていた前
のキーオンデータは、消去されるようになっている。す
なわち、キーオンデータはイベントバッファ内に上書き
されるようになっている。また、ステップSp7におけ
る判別結果が「YES」の場合には、次のステップSp
11において該デュレーションデータがレジスタDTk
にセットされる。
になった場合には、処理が、ステップSp5〜Sp8
(Sp10)のループを一巡し、新たにデュレーション
データがレジスタDTkにセットされてから、次のステ
ップSp12に進むようになっている。
TEの値が「1」であるか否かが、すなわち、自動演奏
のスタート指示がなされてから、先行クロックサイズで
指定されたクロック数が経過したか否かが判別される
(図14に示すタイマ割込処理のステップSn5参
照)。この判別結果が「NO」ならば、この自動演奏処
理は直ちに終了する一方、この判別結果が「YES」な
らば、次のノーマルトラック処理およびトリガートラッ
ク処理が順次実行される。
ク処理は、第1実施例のそれと同一である。すなわち、
ノーマルトラック処理では、トリガー駆動トラック以外
のノーマルトラックのそれぞれにおいて、現時点におけ
る自動演奏の進行位置に対応した処理が行われる。この
実施例では、ノーマルトラック処理の後には、次のステ
ップSp14においてトリガートラック処理が行われ
て、メインルーチン(図13参照)に戻るようになって
いる。
(ステップSp14) 処理が、自動演奏処理(図15参照)におけるステップ
Sp14に進むと、図16に示すトリガートラック処理
が実行される。このトリガートラック処理は、演奏者の
演奏パートであるトリガー駆動トラックの演奏データの
うち、キーオン以外のデータを自動演奏の進行に対応し
て処理するものである。
ると、ステップSq1において、レジスタDTtの値が
「1」だけデクリメントされる。このレジスタDTtに
は、第1実施例と同様に、トリガー駆動トラックにおけ
る発生イベントの間隔を示すデュレーションデータが格
納されている。
スタDTtの値が「0」であるか否かが判別される。す
なわち、自動演奏の進行位置が、実際に発生すべきイベ
ントのタイミングに到達したか否かが判別される。この
判別結果が「NO」ならば、イベントを発生するべきタ
イミングではないので、この処理は直ちに終了する。一
方、この判別結果が「YES」ならば、トリガー駆動ト
ラックにおける演奏データの読出しポインタを示すレジ
スタPTtが1だけインクリメントされ(ステップSq
3)、このポインタの値をアドレスとして演奏データが
読み出され(ステップSq4)、この読み出された演奏
データがデュレーションデータであるか否かが判別され
る(ステップSq5)。すなわち、この実施例では、ト
リガー駆動トラックにおける同一の演奏データが、それ
ぞれ相異なるレジスタPTtおよびPTkの示すポイン
タによって読み出されることになる。
が「YES」となって、このステップSq5に処理がは
じめて進んだ場合には、ステップSq4において読み出
される演奏データは、デュレーションデータではなく、
イベントデータのはずである。
における判別結果は「NO」となる。そして、次のステ
ップSq6において読み出されたデータがキーオン以外
のイベントデータであるか否かが判別される。該イベン
トデータがキーオンデータであるならば、この判別結果
が「NO」なって、処理は直ちにステップSp3に戻
る。なぜならば、該キーオンデータは、すでに、自動演
奏処理(図15参照)においてイベントバッファにスト
アされており、不要だからである。一方、ステップSp
6における判別結果が「YES」である場合には、該イ
ベントデータに対応する処理(例えば、消音処理や音色
チェンジなど)が行われた後に、処理はステップSp3
に戻る。
テップSq4において読み出されたデータが、ステップ
Sp5にて判断される。ステップSq5での判別結果が
「YES」のときは、次のステップSq8において該デ
ュレーションデータがレジスタDTtにセットされる。
この後、このトリガートラック処理は終了して、処理は
メインルーチン(図13参照)に戻る。
タイマ割込処理の起動に合わせてレジスタDTtの値が
デクリメントされ、該レジスタDTtの値が「0」であ
るか否かが判別される。そして、この判別結果が「YE
S」である場合には、イベントを発生すべきタイミング
であるので、キーオン以外のイベントデータが実行さ
れ、次回イベントまでのデュレーションデータがレジス
タDTtにセットされる。そして、キーオンデータに基
づく発音処理は次のトリガー処理によって行われる。
に進むと、図17に示すトリガー処理が実行される。こ
のトリガー処理は、図15に示す自動演奏処理におい
て、イベントバッファに記憶されたキーオンデータをト
リガーの発生によって読み出す処理である。すなわち、
トリガーイベントに依る発音処理である。
Sr1において、トリガーイベントの有無が判別され
る。この判別結果が「NO」である場合には、このトリ
ガー処理は直ちに終了する。トリガーイベントが発生し
ていない状態では、このトリガー処理を実行する必要が
ないからである。一方、ステップSr1での判別結果が
「YES」である場合には、処理は次のステップSr2
に進んで、フラグREの値が「1」に立ち上がっている
か否かが判別される。この判別結果が「NO」である場
合には、このトリガーイベントを無効にするべく、この
トリガー処理は直ちに終了する。現時点においてフラグ
REの値が「1」でない場合とは、トリガーイベントに
よる発音直後であって、かつ次回のキーオンデータがイ
ベントバッファにストアされていない状態を示すからで
ある。一方、ステップSr2における判別結果が「YE
S」である場合には、次の処理が行われる。
グREが「1」に立ち上がっている場合には、まず、イ
ベントバッファにストアされているキーオンデータが読
み出され(ステップSr3)、次に、キーオンデータに
付随するベロシティデータが、タッチ情報(すなわちト
リガーの発生強度)に応じて修正され(ステップSr
4)、そして、修正されたキーオンデータがデータ・バ
スを介して音源回路7(図1参照)に供給され(ステッ
プSr5;キーオン処理)、フラグREの値が「0」に
立ち下がる(ステップSr6)。この後、トリガー処理
は終了する。
イベントが発生し、さらに、フラグREの値が「1」で
ある場合に、イベントバッファ内にストアされたキーオ
ンデータに基づく楽音の発音処理が行われる。これによ
る発音は、トリガーイベントの強度に応じて発生するよ
うになっている。
る。まず、演奏者が、パネル操作子9(図1参照)によ
って自動演奏のスタート指示を行なうと、タイマ割込が
許可される。すると直ちに、設定されているテンポに応
じた間隔で割り込みが発生する。この割り込みの発生に
よって、トリガー駆動トラックにおけるキーオンデータ
の検索が開始される。この時点では、ノーマルトラック
での演奏データの読み出しは行なわれない。ノーマルト
ラックにおける演奏データと、トリガー駆動トラックに
おけるキーオンデータ以外のイベントデータとの読み出
しは、キーオンデータの検索が開始されてから先行クロ
ックサイズで示されるクロック数の時間経過後に開始さ
れる。検索が開始され、キーオンデータがサーチされた
ならば、該キーオンデータとこれに付随するベロシティ
データとが、イベントバッファに記憶される。
ック数だけ時間が経過すると、ノーマルトラックの自動
演奏が開始される。演奏者は、この演奏を聴きながら自
分のパートにおいて発音すべきタイミングにてトリガー
を発生させる。トリガーが発生すると、イベントバッフ
ァからキーオンデータが読み出されて発音処理が行なわ
れる。トリガー駆動トラックにおける、キーオンデータ
以外のイベントデータの処理は、ノーマルトラックにお
ける処理タイミングに合わせて行なわれる。すなわち、
トリガー駆動トラックにおけるキーオン以外の処理は、
ノーマルトラックによる演奏に合わせて自動的に行なわ
れる。このような動作が自動演奏が終了するまで、ある
いは自動演奏のストップ指示がなされるまで、繰り返し
行なわれる。
ミングに対して多少早く発生しても、キーオンデータ
は、時間的に先行して検索されてイベントバッファに記
憶されている。また、トリガーが本来の演奏のタイミン
グに対して遅く発生した場合でも、次のキーオンデータ
が検索されるまでの期間においては、イベントバッファ
が書き換えられない。この直後にトリガーが発生して
も、新たな(次の)キーオンデータがイベントバッファ
に記憶されない限り、該トリガーの発生は無効にされ
る。一方、トリガーが発生しなくても、ノーマルトラッ
クの自動演奏の進行に合わせてイベントバッファが常に
書き換えられている。
際には、ノーマルトラックの自動演奏の進行位置に対し
て最も近いタイミングの音符の楽音発生が行なわれる。
すなわち、チャッタリングや、演奏ミス等によって短時
間のうちに複数回トリガーが発生しても、影響がないよ
うになっている。これによって、演奏者は、とりあえず
トリガーを発生させることにより、自動演奏の進行位置
に対して、タイミングを大きくはずさない程度の楽音発
生を行うことはできる。したがって、演奏者は、曲をあ
まり知らない場合でも、また、演奏の途中でも、トリガ
ー駆動トラックを自分の演奏パートとして合奏に参加す
ることができる。第2実施例は、単音楽器をトリガー駆
動する場合に適しており、原理的にトリガーの有効期間
が音符に対応しているので複雑な演奏も可能となってい
る。
ちの1つをトリガー駆動トラックとしたが、複数のトリ
ガー発生器を用意し、これに対応して複数のトリガー駆
動トラックを駆動するようにしても良い。これによっ
て、複数の演奏者がそれぞれ異なるトリガー駆動トラッ
クを受け持つ、あるいは、同一の演奏者が複数のトリガ
ー駆動トラックを受け持つことができる。
イミングを記憶・再生する装置を付加する。これによっ
て、演奏者は、トリガーを発生させたタイミングが演奏
の進行に対してどれだけズレていたかを、聴感的に繰り
返し知ることができる。さらに、ディスプレイに楽譜を
表示させ、そこにトリガーを発生させたタイミングを表
示させるようにすれば、トリガーを発生させたタイミン
グが演奏の進行に対してどれだけズレていたかを、視覚
的にも知ることができる。あるいは、ディスプレイに楽
譜を表示させ、そこに自動演奏の進行位置を表示させる
ようにすれば、演奏者、特に初心者にとっては、トリガ
ーを発生させるべきタイミングを視覚的に知ることもで
きるので、全く演奏曲を知らない場合でも演奏に参加す
ることができる。
クの演奏単位を一小節としているが、1/2小節、1/
4小節などに設定しても良い。さらに、この演奏単位を
演奏者によって選択できるようにしても良い。 第2実施例では、イベントバッファに記憶されるデ
ータは、キーオンデータのみであったが、これに限らず
他のイベントデータを記憶するようにしても良い。さら
に、キーオンデータ以外のイベントデータを別のイベン
トバッファに記憶させ、該イベントデータに基づく処理
を別のトリガーによって開始する構成としても良い。す
なわち、イベントデータの種類毎に対応する、複数のト
リガー発生手段で制御しても良い。
奏データの読出し位置が所定のテンポに従って移動させ
られ、操作者の操作により、前記操作強度情報を含むト
リガー信号が発生したときに、移動された位置に対応す
る自動演奏データが記憶手段から読み出され、前記操作
強度情報が反映された楽音が発生されるので、演奏タイ
ミングを逸しても容易に演奏を再開することができるよ
うになり、演奏者は、楽音の途中においても、また、楽
曲をよく知らなくても演奏に参加することができる。
の構成を示すブロック図である。
リガー発生器1の構成例を示すブロック図である。
すフローチャートである。
すフローチャートである。
ローチャートである。
すフローチャートである。
フローチャートである。
フローチャートである。
フローチャートである。
マルトラック処理の動作を示すフローチャートである。
処理の動作を示すフローチャートである。
グチャートである。
ルーチンの動作を示すフローチャートである。
示すフローチャートである。
すフローチャートである。
動作を示すフローチャートである。
すフローチャートである。
記憶される演奏データの内容を示すメモリマップであ
る。
記憶される小節番号とクロック数との関係を示す小節サ
イズテーブルである。
5……ROM、6……RAM、7……音源回路。
Claims (4)
- 【請求項1】 自動演奏データを記憶する記憶手段と、 操作者の操作により、この操作の操作強度情報を含むト
リガー信号を発生するトリガー信号発生手段と、 前記自動演奏データの読出し位置を所定のテンポに従っ
て移動させる読出し位置移動手段と、 前記トリガー信号が発生したとき、前記読出し位置移動
手段によって移動された位置に対応する自動演奏データ
を読み出す読出手段と、 前記読み出された自動演奏データに基づいて、前記操作
強度情報が反映された楽音を発生する楽音発生手段とを
具備することを特徴とする自動演奏装置。 - 【請求項2】 第1の演奏パートと第2の演奏パートか
らなる自動演奏データを記憶する記憶手段と、 操作者の操作により、この操作の操作強度情報を含むト
リガー信号を発生するトリガー信号発生手段と、 前記第1の演奏パートの自動演奏データを所定のテンポ
に従って読み出す第1の読出手段と、 前記第2の演奏パートの自動演奏データの読出し位置
を、前記所定のテンポに従って移動させる読出し位置移
動手段と、 前記トリガー信号が発生したとき、前記読出し位置移動
手段によって移動された位置に対応する前記第2の演奏
パートの自動演奏データを読み出す第2の読出手段と、 前記第1の読出手段によって読み出された第1の演奏パ
ートの自動演奏データに基づいて、自動演奏における楽
音を発生し、第2の読出手段によって読み出された第2
の演奏パートの自動演奏データに基づいて、前記操作強
度情報が反映された楽音を発生する楽音発生手段とを具
備することを特徴とする自動演奏装置。 - 【請求項3】 複数の区間に分けられた自動演奏データ
を記憶する記憶手段と、 操作者の操作によりトリガー信号を発生するトリガー信
号発生手段と、 前記自動演奏データの読出し区間を、演奏の進行に従っ
て移動させる読出し区間移動手段と、 前記トリガー信号が発生したとき、前記読出し区間移動
手段によって移動された前記読出し区間の先頭から、該
読出し区間の自動演奏データを読み出す読出手段と、 前記読出手段によって読み出された自動演奏データに基
づいて楽音を発生する楽音発生手段とを具備することを
特徴とする自動演奏装置。 - 【請求項4】 複数の音符からなる自動演奏データを記
憶する記憶手段と、 操作者の操作によりトリガー信号を発生するトリガー信
号発生手段と、 前記自動演奏データの読み出し位置を、所定のテンポに
従って移動させる読出し位置移動手段と、 前記読出し位置移動手段によって移動された位置に対応
した自動演奏データを読み出す読出手段と、前記トリガー信号の発生に応じて、 前記読出手段によっ
て読み出された自動演奏データに、発音開始を示すキー
データが含まれる場合、この自動演奏データに基づいて
1音符分の楽音を発生する楽音発生手段とを具備するこ
とを特徴とする自動演奏装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5060710A JP3018821B2 (ja) | 1993-03-19 | 1993-03-19 | 自動演奏装置 |
US08/589,788 US5565640A (en) | 1993-03-19 | 1996-01-22 | Automatic performance device capable of starting an automatic performance in response to a trigger signal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5060710A JP3018821B2 (ja) | 1993-03-19 | 1993-03-19 | 自動演奏装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06274160A JPH06274160A (ja) | 1994-09-30 |
JP3018821B2 true JP3018821B2 (ja) | 2000-03-13 |
Family
ID=13150123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5060710A Expired - Fee Related JP3018821B2 (ja) | 1993-03-19 | 1993-03-19 | 自動演奏装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5565640A (ja) |
JP (1) | JP3018821B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5760324A (en) * | 1995-07-28 | 1998-06-02 | Kawai Musical Instruments Manufacturing Co., Ltd. | Automatic performance device with sound stopping feature |
JP3309687B2 (ja) * | 1995-12-07 | 2002-07-29 | ヤマハ株式会社 | 電子楽器 |
JP3303713B2 (ja) * | 1997-02-21 | 2002-07-22 | ヤマハ株式会社 | 自動演奏装置 |
US6103964A (en) * | 1998-01-28 | 2000-08-15 | Kay; Stephen R. | Method and apparatus for generating algorithmic musical effects |
US6121533A (en) * | 1998-01-28 | 2000-09-19 | Kay; Stephen | Method and apparatus for generating random weighted musical choices |
US6121532A (en) * | 1998-01-28 | 2000-09-19 | Kay; Stephen R. | Method and apparatus for creating a melodic repeated effect |
JP3600001B2 (ja) * | 1998-03-02 | 2004-12-08 | 沖電気工業株式会社 | 割り込み処理回路 |
US6087578A (en) * | 1999-01-28 | 2000-07-11 | Kay; Stephen R. | Method and apparatus for generating and controlling automatic pitch bending effects |
JP2001083968A (ja) * | 1999-09-16 | 2001-03-30 | Sanyo Electric Co Ltd | 演奏情報採点装置 |
JP3614061B2 (ja) | 1999-12-06 | 2005-01-26 | ヤマハ株式会社 | 自動演奏装置及び自動演奏プログラムを記録したコンピュータ読取り可能な記録媒体 |
GB2364161B (en) * | 1999-12-06 | 2002-02-27 | Yamaha Corp | Automatic play apparatus and function expansion device |
JP5560574B2 (ja) * | 2009-03-13 | 2014-07-30 | カシオ計算機株式会社 | 電子楽器および自動演奏プログラム |
JP5879996B2 (ja) * | 2010-12-09 | 2016-03-08 | ヤマハ株式会社 | 音信号生成装置及びプログラム |
GB2597265A (en) * | 2020-07-17 | 2022-01-26 | Wejam Ltd | Method of performing a piece of music |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57105788A (en) * | 1980-12-24 | 1982-07-01 | Casio Computer Co Ltd | Musical sound information memory system |
US5326930A (en) * | 1989-10-11 | 1994-07-05 | Yamaha Corporation | Musical playing data processor |
JPH0746272B2 (ja) * | 1989-12-26 | 1995-05-17 | ヤマハ株式会社 | 電子楽器 |
-
1993
- 1993-03-19 JP JP5060710A patent/JP3018821B2/ja not_active Expired - Fee Related
-
1996
- 1996-01-22 US US08/589,788 patent/US5565640A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5565640A (en) | 1996-10-15 |
JPH06274160A (ja) | 1994-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3018821B2 (ja) | 自動演奏装置 | |
JPH11161271A (ja) | 楽音信号生成方法、楽音信号生成装置及びプログラムを記録した媒体 | |
JP6402878B2 (ja) | 演奏装置、演奏方法およびプログラム | |
JP3684774B2 (ja) | 演奏指示装置及びプログラムを記録した媒体 | |
JP3528230B2 (ja) | 自動演奏装置 | |
JP3632606B2 (ja) | 自動演奏装置 | |
JP2712851B2 (ja) | 電子楽器 | |
JP2500492B2 (ja) | 自動伴奏装置 | |
JPH1185153A (ja) | 演奏装置 | |
JP3887957B2 (ja) | カラオケ装置 | |
JP2674452B2 (ja) | 楽曲再生装置 | |
JP2643277B2 (ja) | 自動演奏装置 | |
JP4016333B2 (ja) | 演奏練習装置および演奏練習プログラム | |
JP3931551B2 (ja) | 演奏装置および演奏方法 | |
JP3812729B2 (ja) | 演奏案内装置および演奏案内方法 | |
JP2842440B2 (ja) | 自動伴奏装置 | |
JP2848092B2 (ja) | 自動伴奏装置 | |
JP3870964B2 (ja) | 楽音信号生成方法、楽音信号生成装置及びプログラムを記録した媒体 | |
JP3918308B2 (ja) | カラオケ装置 | |
JP2722880B2 (ja) | 電子楽器 | |
JPH07152372A (ja) | 演奏装置 | |
JP4345433B2 (ja) | 演奏装置および演奏処理プログラム | |
JPH08185169A (ja) | 楽音発生装置 | |
JPH10333674A (ja) | 演奏装置 | |
JP2639380B2 (ja) | 自動演奏装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19991130 |
|
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: 20090107 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100107 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110107 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120107 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130107 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |