JP3528230B2 - 自動演奏装置 - Google Patents
自動演奏装置Info
- Publication number
- JP3528230B2 JP3528230B2 JP07402194A JP7402194A JP3528230B2 JP 3528230 B2 JP3528230 B2 JP 3528230B2 JP 07402194 A JP07402194 A JP 07402194A JP 7402194 A JP7402194 A JP 7402194A JP 3528230 B2 JP3528230 B2 JP 3528230B2
- Authority
- JP
- Japan
- Prior art keywords
- trigger
- automatic performance
- phrase
- data
- automatic
- 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
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
ておいた演奏データを順次読み出し、この演奏データに
基づいて楽音を発生させて自動演奏を行う自動演奏装置
に関する。
発されている。そのなかで、ある種の自動演奏装置にお
いては、あらかじめ発生すべき楽音に基づく演奏データ
をあらかじめメモリ等に記憶しており、これらのデータ
をトリガーによって順次読み出して、楽音を発生するも
のがある。この際に、メモリに記憶されているデータの
読出アドレスは、トリガーがかかる毎に、1つずつ順次
後方へ移動する。
ある特定のキーに割り当てておき、このキーが押下され
ることによって、発生するようになっている。また、楽
音の発生する長さは、このキーが押下されている期間に
等しくなっている。
定しなくても、特定のキーを押下するだけで、演奏する
ことが可能となる。このとき、テンポや各一音一音の発
音長さは、演奏者の嗜好によって自由に調節される。
た従来の自動演奏装置にあっては、、一旦、トリガーを
かけるタイミングを失うと、演奏が中断して完結しな
い、という問題とともに、曲の途中から演奏することが
できない、という問題があった。
覚えていない場合、すなわち、曲を知らない場合には、
正確な演奏ができないという問題があった。また、速い
フレーズを演奏するときは、トリガーをタイミングよく
速く発生させる必要がある。しかしながら、初心者や曲
を知らない者にとっては演奏できず、楽しめないという
問題がある。さらに、従来の自動演奏装置にあっては、
トリガーによる発音が、単音にしか対応していないた
め、和音を含むものやアルペジオ、レガート奏法を含む
ものなどは弾くことができない。
トリガーの発生に対してフレーズ単位で自動演奏行うこ
とが望ましい。複雑な奏法を用いるものはその奏法を含
んだフレーズとして演奏データを用意することで解決す
る。そこでこの発明の目的とするところは、簡単な操作
で、フレーズ単位の自動演奏を行うことができるととも
に、演奏タイミングを逸しても、容易に演奏を再開する
ことができ、曲の途中からでも演奏することが可能な自
動演奏装置を提供することにある。
ために、請求項1記載の自動演奏装置は、トリガーを発
生するトリガー発生手段と、トリガーによって読み出す
べきフレーズに対応した複数の識別データを記憶するフ
レーズ識別データ記憶手段と、前記識別データに対応し
たフレーズを複数記憶したフレーズ記憶手段と、自動演
奏の開始を指示する指示手段と、前記指示手段の指示に
応じて前記フレーズ識別データ記憶手段の読出しに必要
なアドレスの進行を開始し、時間の経過によって該アド
レスの進行を制御する制御手段とを備え、前記トリガー
発生手段によって発生したトリガーの発生したタイミン
グで、前記アドレスに応じてフレーズ識別データ記憶手
段からフレーズ識別データを読出し、該フレーズ識別デ
ータに対応するフレーズを自動演奏することを特徴とし
ている。
前記フレーズ識別データ記憶手段に、フレーズ識別デー
タと交互に記憶される時間間隔データをさらに記憶し、
前記フレーズ記憶手段からフレーズを読み出すべき期間
を設定することを特徴としている。
前記フレーズ識別データ記憶手段に、フレーズの読出し
を禁止することを表すフレーズ読出禁止データをさらに
記憶し、前記時間間隔データとの組み合わせによってフ
レーズ読出しを禁止する期間を設定することを特徴とし
ている。
前記フレーズ記憶手段からフレーズを読み出すべき期間
中に少なくとも2回、前記トリガー発生手段からトリガ
ーを受け付けた時には、2回目以降のトリガーに関して
はフレーズ読出しを行わないことを特徴としている。
前記フレーズ記憶手段に記憶される複数のフレーズは、
それぞれ少なくとも発音指示データと時間間隔データか
ら構成され、前記トリガー受け付け期間内に前記トリガ
ー発生手段によってトリガーが発生しなかった場合に
は、該トリガー受け付け期間にトリガーが発生したとき
に自動演奏されるフレーズの少なくとも発音指示データ
と時間間隔データを無視して実行することを特徴として
いる。
第1のフレーズの自動演奏中に第2のフレーズの自動演
奏指示があった場合には、第1のフレーズの自動演奏を
少なくとも発音指示データ、時間間隔データを無視して
実行することを特徴としている。
1記載の構成にさらに、トリガーを受け付ける期間を操
作者に表示するための表示手段を備えることを特徴とし
ている。請求項8記載の自動演奏装置では、請求項1記
載の構成にさらに、通常の自動演奏を行うための自動演
奏データを記憶する自動演奏データ記憶手段を備え、前
記制御手段は、前記指示手段の指示に応じて前記フレー
ズ識別データ記憶手段の読出しに必要なアドレスの進行
を開始し、時間の経過によって該アドレスの進行を制御
するとともに、前記自動演奏データ記憶手段から自動演
奏データを読み出し、通常の自動演奏を行うことを特徴
としている。
1記載の構成にさらに、前記トリガー発生手段は複数用
意され、これに対応して複数のフレーズ識別データ記憶
手段及び自動演奏データ記憶手段をそれぞれ駆動するこ
とを特徴としている。 請求項10記載の自動演奏装置で
は、請求項1記載の構成にさらに、前記表示手段は、操
作者の演奏によりトリガーを発生させたタイミングが本
来の自動演奏タイミングからどれだけずれているかを確
認することができるように操作者の演奏及び自動演奏の
進行状況を表示することを特徴としている。 請求項11
記載の自動演奏装置では、請求項1記載の構成にさら
に、前記フレーズ記憶手段に記憶される複数のフレーズ
は、複数のトラックから選択可能な何れかのトラックの
自動演奏データに対応することを特徴としている。 請求
項12記載の自動演奏装置では、請求項1記載の構成に
さらに、自動演奏のテンポが設定可能であることを特徴
とする請求項1記載の自動演奏装置。 請求項13記載の
自動演奏装置では、請求項1記載の構成にさらに、トリ
ガー受け付け期間内に前記トリガー発生手段によってト
リガーが発生しなかった場合には、当該トリガーが無視
され自動演奏をしないことを特徴としている。 請求項1
4記載の自動演奏装置では、請求項1記載の構成にさら
に、トリガーを受け付けない期間が操作者により設定可
能であることを特徴としている。 請求項15記載の自動
演奏装置では、請求項1記載の構成にさらに、トリガー
の発生の有無に関わらず、自動演奏されるフレーズの音
色変更などを実行することを特徴としている。 請求項1
6記載の自動演奏装置では、請求項1記載の構成にさら
に、トリガー受け付け期間内に前記トリガー発生手段に
よって何回かのトリガーが発生しても1回のトリガーの
みに基づいて自動演奏を開始し、当該自動演奏の間は、
当該フレーズのイベントデータに対応する処理を行うこ
とを特徴としている。
よって自動演奏の開始が指示されると、制御手段によっ
てフレーズ識別データ記憶手段の読出しに必要なアドレ
スの進行が開始し、時間の経過によって該アドレスの進
行が制御される。そのためトリガー発生手段によって発
生するトリガーによって読み出されるフレーズが、時間
経過、すなわち曲の進行に応じた適切なフレーズが自動
演奏される。
レーズ識別データ記憶手段に、さらにフレーズ識別デー
タと交互に記憶される時間間隔データが記憶され、前記
フレーズ記憶手段からフレーズを読出すべき期間が設定
される。
2記載の構成に加えさらに、前記フレーズ識別データ記
憶手段にフレーズの読出しを禁止することを表すフレー
ズ読出禁止データを記憶しているので、前記時間間隔デ
ータと組み合わせることでフレーズ読出禁止期間が設定
され、この期間中に発生したトリガーは受け付けられな
い。
2記載の構成に加えて、前記フレーズ記憶手段からフレ
ーズを読出す期間中に少なくとも2回、前記トリガー発
生手段からトリガーを受け付けた時には、2回目以降の
トリガーに関してはフレーズ読出しを行わない。
1記載の構成に加えて、前記フレーズ記憶手段に記憶さ
れる複数のフレーズは、それぞれ少なくとも発音指示デ
ータと時間間隔データから構成され、前記トリガー受け
付け期間内に前記トリガー発生手段によってトリガーが
発生しなかった場合には、該トリガー受け付け期間にト
リガーが発生したときに自動演奏されるフレーズの少な
くとも発音指示データと時間間隔データを無視して実行
する。
1記載の構成に加えて、第1のフレーズの自動演奏中に
第2のフレーズの自動演奏指示があった場合には、第1
のフレーズの自動演奏を少なくとも発音指示データ、時
間間隔データを無視して実行する。
1記載の構成に加えて、トリガーを受け付ける期間を操
作者に表示するための表示手段を備えている。請求項8
記載の自動演奏装置では、請求項1記載の構成に加え
て、さらに通常の自動演奏を行うための自動演奏データ
を記憶する自動演奏データ記憶手段を備え、前記制御手
段は、前記指示手段の指示に応じて前記フレーズ識別デ
ータ記憶手段の読出しに必要なアドレスの進行を開始
し、時間の経過によって該アドレスの進行を制御すると
ともに、前記自動演奏データ記憶手段から自動演奏デー
タを読み出し、通常の自動演奏を行う。
1記載の構成に加えて、前記トリガー発生手段は複数用
意され、これに対応して複数のフレーズ識別データ記憶
手段及び自動演奏データ記憶手段がそれぞれ駆動され
る。 請求項10記載の自動演奏装置では、請求項1記載
の構成に加えて、前記表示手段は、操作者の演奏により
トリガーを発生させたタイミングが本来の自動演奏タイ
ミングからどれだけずれているかを確認することができ
るように操作者の演奏及び自動演奏の進行状況が表示さ
れる。 請求項11記載の自動演奏装置では、請求項1記
載の構成に加えて、前記フレーズ記憶手段に記憶される
複数のフレーズは、複数のトラックから選択可能な何れ
かのトラックの自動演奏データに対応している。 請求項
12記載の自動演奏装置では、請求項1記載の構成に加
えて、自動演奏のテンポを設定することができる。 請求
項13記載の自動演奏装置では、請求項1記載の構成に
加えて、トリガー受け付け期間内に前記トリガー発生手
段によってトリガーが発生しなかった場合には、当該ト
リガーが無視されて自動演奏がなされない。 請求項14
記載の自動演奏装置では、請求項1記載の構成に加え
て、トリガーを受け付けない期間を操作者により設定す
ることができる。 請求項15記載の自動演奏装置では、
請求項1記載の構成に加えて、トリガーの発生の有無に
関わらず、自動演奏されるフレーズの音色変更などが実
行される。 請求項16記載の自動演奏装置では、請求項
1記載の構成に加えて、トリガー受け付け期間内に前記
トリガー発生手段によって何回かのトリガーが発生して
も1回のトリガーに基づいてのみ自動演奏が開始され、
当該自動演奏の間は、当該フレーズのイベントデータに
対応する処理が行われる。
を説明する。実施例は3つあるが、まず共通する部分を
説明する。この発明による実施例は、自動演奏の複数の
トラックのうちの少なくとも一つのトラック(「トリガ
ー駆動トラック」と呼ぶ。)をトリガーによってコント
ロールする一方、トリガーでコントロールしない他のト
ラック(「ノーマルトラック」と呼ぶ。)を周知の自動
演奏の処理を用いて再生する。
聞きながら、演奏曲におけるトリガーをかけるべきタイ
ミングでトリガーをかける。トリガーが出力されると、
直ちにトリガー駆動トラックから所定の限られた自動演
奏演奏データの読み出しを開始し、読み出されたデータ
に従って、自動演奏を行う。
ングと、演奏者による実際のトリガーのタイミングとは
ズレる場合がほとんどであるが、これにかまわずノーマ
ルトラックのテンポと同一のテンポで再生される。その
ため、演奏者は、演奏に慣れていない、あるいはリズム
感が悪いほどズレ量を大きくしてしまい、ノーマルトラ
ックによる演奏とトリガー駆動トラックによる演奏とが
ズレて再生されて、いわゆる下手な演奏になる。
も、ノーマルトラックの進行に応じて、トリガーが発生
したときの再生開始位置(アドレス)を移動させておく
ので、演奏者が演奏に慣れていなくて、演奏が中断して
も、トリガーによる自動演奏はノーマルトラックの進行
に応じた、適切な自動演奏をするので、演奏者は、途中
から復帰できる。
ってズレ量を小さくすることができるので、本来の演奏
に近くなり、いわゆる上手な演奏になる。従って、演奏
者は、練習効果を演奏に反映することができる。
による自動演奏を行う。演奏者は、ノーマルトラックの
演奏を聞きながら、各小節の先頭付近でトリガーをかけ
る。トリガーが発生したことを装置が認識すると、トリ
ガー駆動トラックの読み出しを開始し、トリガーのタイ
ミングによって読み出しを開始してから一小節分のデー
タを読み出したところで停止する。
場合は、以上の動作を繰り返すので、演奏が途切れるこ
とがない。ところが、演奏者がトリガーを発生させるこ
とを途中でやめた場合は、ノーマルトラックの進行に応
じて、読み出し位置を移動する。そして演奏者がトリガ
ーの発生を再開した場合は、ノーマルトラックの進行に
応じた読み出し位置から読み出しを開始して、自動演奏
を行う。これによって、途中から演奏に参加する場合
や、演奏が途中で中断しても、復帰することができる。
この第1の実施例は、複音楽器をトリガー駆動する場合
に適している。
を参照して説明する。図1は、この発明の実施例による
自動演奏装置を示す、ブロック図である。この図におい
て、1はトリガー発生器であり、読み出し動作を開始さ
せる”きっかけ”を発生するものである。なお、トリガ
ー発生器1の詳細については後述する。トリガー発生器
1によって発生したトリガーはトリガーI/F(インタ
ーフェース)2によって検出され、その検出信号がアド
レス・データバス13を介してCPU3に供給される。
CPU3に供給する。この割り込み信号INTが供給さ
れると、CPU3は後述するタイマ割込処理を実行す
る。この実施例では、割込信号INTの発生する時間間
隔は曲のテンポに応じて変化し、発生する回数は、4分
音符について96回の割合であり、例えば4/4拍子の
場合には、1小節について384回となる。
れるプログラムや自動演奏に用いられる演奏データ等が
記憶されている。6はRAMであり、後述する種々のレ
ジスタ等に使用する。7は音源回路であり、CPU3の
制御によって楽音信号を発生させ、サウンドシステム8
に供給する。サウンドシステム8は、DAコンバータ、
アンプ、スピーカから構成されていて、音源回路7から
のデジタル楽音信号をアナログ信号に変換した後、増幅
されて、音響信号として放音される。
定やトリガー駆動トラックの選択等を行うための、種々
の操作子より構成される。各操作子の操作状態は、パネ
ルI/F10によって検出され、その検出信号が、アド
レス・データバス13を介してCPU3に供給される。
11はディスプレイであり、ディスプレイI/F12お
よびアドレス・データバス13を介したCPU3の制御
によって種々の表示を行う。
奏データが格納されている。この実施例では、ピアノ、
ベース、ドラム、トランペットの4つのパートの自動演
奏データが別々のトラックに記憶されている。自動演奏
データは、イベントデータEDと、イベントデータとイ
ベントデータの時間間隔を表す、デュレーションデータ
DDからなる。イベントデータEDはキーオンデータ、
キーオフデータ、プログラムチェンジ、コントロールチ
ェンジなどの種類があり、デュレーションデータの時間
が経過する毎に、イベントデータEDを読出し、データ
の種類に応じた処理を行うことで、自動演奏が行われ
る。
いが、実際に楽器を演奏している気にさせるため、本物
の楽器を使うことが好ましい。図2(a)の101はア
ナログ信号を出力するアナログ楽器であり、エレクトリ
ックギターや、エレクトリックベースギター、電子ドラ
ム等がよい。自然楽器にマイクロホンをとりつけてもよ
いが、生音が大きいものはふさわしくない。アナログ楽
器101からのアナログ信号(ADコンバーターを通し
てデジタル信号にしてもよい)はレベル比較器102で
しきい値と比較され、しきい値レベルを越えるとパルス
発生器103にてトリガー信号を発生し、トリガーI/
F2を介してCPU3に伝えられる。
を出力する電子楽器を用いてもよく、図2(b)にはM
IDIキーボードを使用した例が示されている。キーボ
ード104は複数の鍵からなるキーボードであり、様々
なMIDI信号を出力するが、キーオンイベント検出器
105にてキーオンイベントしか検出せず、キーオンイ
ベントがあったときだけ、それをトリガーとしてトリガ
ーI/F2を介してCPU3に伝える。これによって演
奏者は、何らかの音高の音を演奏するだけで、トリガー
を発生することができる。
ムに従って、第1の実施例に係る自動演奏装置が動作す
る。以下、その動作を図3〜11を参照して説明する。
演奏者が、この装置の電源を投入すると、図3に示すメ
インルーチンが起動される。まず、Sa1において、R
AM6に記憶する、各種レジスタや各種フラグを初期設
定値にする処理や、その他の初期設定に必要な処理を行
う。次にパネル処理(Sa2)が行われるが、CPU3
がパネル処理(Sa2)を実行するときは、図5に示す
サブルーチンを起動する。
れは、演奏者が、パネル操作子9のテンポ設定操作子に
てテンポ設定操作を行ったときに、設定されたテンポに
応じた時間間隔で割込信号INTが発生するように設定
する処理である。しかし、この実施例では、自動演奏を
行うのであるから、あらかじめテンポは、その自動演奏
する曲にあわせて、あらかじめ設定されているので、割
込信号INTが発生する時間間隔も設定されているもの
とする。ただし、演奏者が、変更したいときは変更でき
る。ここでは、あらかじめ決められたテンポのままにし
ておき、Sc2に進む。
する自動演奏トラックが演奏者によって選択された時、
選択された自動演奏トラックを識別するデータをRAM
6に記憶する。この実施例では、演奏者は、ピアノ、ベ
ース、ドラム、トランペットのなかから選択する。ここ
では、ピアノをトリガー駆動トラックとして選択したと
して説明を進める。その結果、他のベース、ドラム、ト
ランペットのパートはノーマルトラックとなる。
奏スタートスイッチを押すと、自動演奏スタートイベン
トがあったとみなされるので、Sc3の判断が「ye
s」となり、タイマ割込を許可し(Sc4)、自動演奏
を開始していることを示す、スタートフラグSTART
を1にする(Sc5)。もし、演奏者が自動演奏スター
トスイッチを押さない場合は、Sc3での判断が、「n
o」となるので、Sc4〜Sc5の処理を行わない。
奏ストップスイッチを押すと、ストップイベントがあっ
たとみなされるので、Sc6の判断が「yes」とな
り、タイマ割込を禁止し(Sc7)、オールノートオフ
を音源回路7に指示して、自動演奏によって発音中の全
ての楽音を強制的にキーオフし(Sc8)、START
を0にする(Sc9)。演奏者が自動演奏ストップスイ
ッチを押さない場合は、Sc6の判断が「no」となる
ので、Sc7〜Sc9の処理を行わない。その後メイン
ルーチンにリターンする。
ポ設定した場合のテンポ設定処理、トリガー駆動トラッ
クの選択操作をした場合の処理、自動演奏のスタート/
ストップの指示をしたときに、タイマ割込許可/禁止、
STARTの設定が行われる。
c4でタイマ割込が許可されるので、設定されているテ
ンポに応じた時間間隔で割込信号INTが発生する。割
り込み信号INTが発生すると、CPU3は、発生した
時点で実行していた処理を中断し、図4に示す処理を行
う。すなわちタイマインタラプトフラグTMIFを1に
設定し(Sb1)、すぐに中断していた処理に戻る。こ
の実施例では、タイマ割込の処理はフラグTMIFを1
に設定するという最小のプログラムで終了している。こ
れは、もしタイマ割込処理に時間がかかると、他の優先
度の高い割込があった場合に、その処理を優先できない
ことがあるからである。このタイマ割込に関する具体的
処理は、メインルーチンの自動演奏処理(Sa6)で行
う。メインルーチンはSa2〜Sa7を高速で実行して
いるため、タイマ割込があってから、自動演奏処理(S
a6)を実行するまでの時間差は自動演奏のテンポ遅れ
として認識できるほどはない。
トフラグSTARTが1かどうか判断するが、演奏者が
スタートスイッチを押した場合は、START=1なの
で、読出し許可処理(Sa4)、トリガー処理(Sa
5)、自動演奏処理(Sa6)を行う。START=0
のときは、これらの処理(Sa4〜Sa6)を行わな
い。その後、本実施例に関係のない、その他の処理(S
a7)を行い、パネル処理(Sa2)の処理に戻る。以
後Sa2〜Sa7の処理を繰り返す。
リガーを受け付ける期間と、受け付けない期間を自動演
奏の進行に応じて設定する。演奏者が、トリガーを受け
付ける期間内で自動演奏が進行しているときに、トリガ
ーをかけると、それに対応して、トリガー駆動トラック
として選択したトラックの1小節分の自動演奏データが
読み出され、演奏されるが、トリガーを受け付けない期
間では、トリガーをかけても無視される。
受け付け期間は、ノーマルトラックの進行とともに設定
され、小節線をはさむS1〜S2の間をノーマルトラッ
クが演奏しているときが、受け付け期間になる。S2を
越えて次のS1まではトリガーを受け付けない期間であ
る。ノーマルトラックのある時点での進行位置は、レジ
スタNTCT(ノーマルトラックカウンタ)の数値で表
す。
位置がノーマルトラックの進行位置である。NTCTは
タイマ割込があるたびに、1インクリメントされる(図
10のSg1)。時間が経過して、次の小節線に達する
と0になる。この実施例では4分音符=96クロックで
あるので、1小節の大きさは4拍子の場合、384クロ
ックである(1クロックはタイマ割込があってから次の
タイマ割込までの周期を表す)。
じめ決められた設定値になっているが、パネル操作子9
(図1参照)によって、演奏者が変更するようにしても
よい。S1は小節線から左方向のクロック数、S2は同
じ小節線の右方向のクロック数に対応する進行位置で定
義される。
サイズに左右されるので、小節サイズが変動するような
曲であると、S1の位置も変動する。小節サイズは図1
9に示すように、ROM5に小節サイズテーブルとして
記憶されているので、これを読み出してS1の位置を決
定する。例えば、小節線から左に48クロックの位置に
S1があるとすると、小節サイズが383の場合は、3
83―48=335がS1の位置である。また小節サイ
ズが191のときは、191―48=143がS1の位
置である。またS2の位置は小節サイズに左右されず、
小節線から右に96クロックとすると、S2の位置も9
6である。
処理(Sa4)を実行するときは、図6に示すサブルー
チンを呼び出し、実行する。このサブルーチンは、ノー
マルトラックによる自動演奏がトリガーを受け付ける期
間に達したとき、トリガー駆動トラックの自動演奏デー
タの読出しを許可することを示す読出し許可フラグRE
Fを1にし、受け付け期間を過ぎるとREFを0にす
る。またトリガーが、トリガー受け付け期間内に発生し
なかったとき、トリガー駆動トラックの読出し開始のア
ドレス(ポインタ)を移動させる処理を行う。
TがS1〜S2のトリガー受け付け期間内であるか判断
し、期間内である時は(「yes」と判断される)、R
EFが0のときは1にし、すでに1のときはそのままに
する(Sd2、Sd3)。一方、トリガー受け付け期間
を過ぎた時は(Sd1で「no」と判断されたとき)、
REFが0以外のときは0にするとともに、トリガー駆
動トラックの読出し準備が完了したことを示す、読出し
準備完了フラグRYFも0に設定し、REFがすでに0
のときはそのままにする(Sd7、Sd8)。その後、
メインルーチンに戻る。
ックが演奏中であることを示す実行フラグEXEFが1
であるときは(Sd4で「yes」)、メインルーチン
に戻る。Sd4で「no」と判断されたときは、Sd5
でRYFが0かどうか判断する。RYFが1のときは
(Sd5で「no」)、読出しの準備が完了しているの
で、メインルーチンに戻る。RYFが0のときは(Sd
5で「yes」)、トリガー駆動トラックの読出しの準
備が完了していないので、ポインタ移動処理(Sd9)
を行う。ポインタ移動処理を行うことによって読出し準
備が完了するので、前もってRYFを1にしておく(S
d6)。Sd6はSd9の後で実行してもよい。
受け付け期間中にトリガーが無かったとき、次のトリガ
ー受け付け期間に入ってトリガーを受けたときに、読み
出される自動演奏データが古く無いように、常にノーマ
ルトラックの進行位置に応じた自動演奏データが読み出
されるように、ポインタ(アドレス)を次の小節の先頭
に移動させる処理である。CPU3がこの処理を行うと
きは、図8に示すサブルーチンを実行する。
詳細に説明する。もし、あらたな小節の始まり(小節線
のある位置)が、イベントデータであるならば、そのイ
ベントデータが格納されているアドレスが小節の開始位
置となるが、演奏者が演奏した演奏データを記憶した自
動演奏データは多くの場合、小節線の位置にイベントデ
ータはなく、ずれている。したがって小節線はあるイベ
ントデータとあるイベントデータの間にあると考えられ
るので、正確な小節の先頭位置を求めるため、その小節
線から最初のイベントデータまでのデュレーションを算
出する処理を行う。そして、トリガーが発生して、その
小節の再生を開始するときは、算出されたデュレーショ
ンデータを減算することから始まる。
ガー駆動演奏が行われた時間を計測するトリガー駆動ト
ラックカウンタTTCTとトリガー駆動トラックの各デ
ュレーションデータDDがセットされ、トリガー駆動演
奏の進行とともにその数値DTtが低減される(図11
のSh4参照)。デュレーションレジスタDTtに格納
された値DTtの和が、現在演奏中のトリガー駆動トラ
ックの小節サイズMStより小さいかを比較する。和が
小さいときは、次の小節線までに、何らかのイベントデ
ータがあるので、Si2〜Si8の処理を行う。
カウンタ値を進め(Si2)、さらにポインタPTtを
1進めて(Si3)、自動演奏データを読み(Si
4)、そのデータがイベントデータのときは(Si5で
「no」)、キーオン以外のイベントデータを対応処理
し(Si7、Si8)、Si3に戻る。イベントデータ
がキーオンの場合はキーオン処理せず、Si3に戻る。
この処理はキーオンを処理しないことによって、発音さ
せず、キーオフやプログラムチェンジなど、キーオン以
外のイベントは処理することによって、楽音の鳴りっぱ
なしを防止し、音色などの変更を行うことによって、ト
リガーによる次の小節の演奏が始まっても、本来の演奏
と異なる状態になることを防ぐものである。
ョンデータならば(Si5で「yes」)、レジスタD
Ttに格納し(Si6)、Si1に戻り、判断が「n
o」になるまでSi2〜Si8の動作を繰り返す。これ
によって、まだ実行していない現在の小節のイベントデ
ータをキーオンを除いて、迅速に実行する事ができる。
なお、場合によってはキーオンも処理した方がよい場合
があるので、キーオンも処理するようにしてもよい。
t以上のときは、デュレーションレジスタDTtに格納
されているデュレーションデータが小節線をまたいでい
ることになるので、その和からMStを減算すると、小
節線から次のイベントデータまでのデュレーションが求
められることになる。ここで求められたデュレーション
データはDTtに格納される(Si9)。
ータを読出す準備ができたので、トリガー駆動トラック
の小節番号を表すレジスタTTMNを1進め(Si1
0)、トリガー駆動トラックカウンタTTCTを0にし
(Si11)、次の小節のサイズを図19に示す、小節
サイズテーブルから、TTMNを参照して読み、MSt
レジスタに格納する(Si12)。その後、読出し許可
処理(図6)にもどり、さらにメインルーチンにもど
る。
理(Sa5)を実行するときは、図7に示す、サブルー
チンを呼び出し、実行する。読出し許可フラグREFが
1の状態で、演奏者がトリガー発生器1にてトリガーを
発生させると、Se1、Se2にて判断が「yes」と
なり、REFを2にする(Se3)。REFを2に設定
するのは、同じトリガー受け付け期間でトリガーが2回
以上発生しても、2回目からは、Se2で「no」とな
るので、Se3〜Se13の処理は行われない。トリガ
ーイベント(トリガーの発生)がない場合(Se1で
「no」)や、読出し許可フラグREFが1以外のとき
(Se2で「no」)はすぐにメインルーチンに戻る。
5にてEXEFを1にし、読出し準備完了フラグRYF
を0にする(Se6)。RYFを0にするのは、トリガ
ーによってトリガー駆動トラックの読出しを開始するこ
とで、読出し準備の完了状態が解除されるからである。
インタ移動処理(Se13)を実行する。この処理が行
われるときは、トリガー駆動トラックの前の小節の自動
演奏が終了していないうちに、読出し許可期間となり、
トリガーが発生した場合である。具体的には演奏者のト
リガーをかけるタイミングが小節線よりも前、すなわち
早すぎた場合や、前の小節のトリガータイミングが遅す
ぎた場合であり、自動演奏が一部オーバーラップしてし
まう場合である。この場合は、トリガーをかけたタイミ
ングでトリガー駆動トラックだけは次の小節の演奏を開
始しなければならないので、現在の小節の演奏を中止
し、速やかにトリガー駆動トラックのポインタPTtを
次の小節の先頭に移動するという処理を行う。この処理
は図8のサブルーチンを呼び出すが、詳細説明はすでに
述べているので省略する。
理(Se13)でポインタPTtを移動させた結果、新
たな小節の先頭がイベントデータの場合は、DTtが0
になっているので、Se8〜Se12の処理を行う。ま
た、デュレーションデータが小節線をまたいでいる場合
は、DTt>0なので、メインルーチンに戻る。
トラックのデュレーションレジスタDTtが0のときに
(Se7で「yes」)、ポインタPTtを1進めて
(Se8)、PTtをアドレスとしてトリガー駆動トラ
ックの自動演奏データを読み(Se9)、そのデータが
イベントデータの場合には(Se10で「no」)、そ
のイベントに対応する処理を行い(Se11)、Se8
に戻る。Se8〜Se11の処理は、Se9で読み込ま
れたデータがデュレーションデータだと判断されるまで
つづけられ、デュレーションデータと判断されたときは
(Se10で「yes])、DTtにそのデュレーショ
ンデータを格納し(Se12)、メインルーチンに戻
る。
ガーが発生した場合のトリガー駆動トラックの自動演奏
処理であり、1つのトリガー受け付け期間のうちの1つ
のトリガーに対してだけ実行されるプログラムである
理(Sa6)を実行するときは、図9に示すサブルーチ
ンを呼び出し、実行する。Sf1では、タイマインタラ
プトフラグTMIFをみて、1のときは(「ye
s」)、タイマインタラプトがあったことを意味するの
で、Sf2〜Sf4の処理を行うが、0のときは(「n
o」)、その処理のタイミングでないので、メインルー
チンにもどる。Sf2では、TMIFを0にして次のタ
イマ割込まで、Sf3、Sf4の処理を行えないように
する。
に示すようなサブルーチンになっていて、ノーマルトラ
ックの自動演奏処理を行う。Sg1ではノーマルトラッ
クカウンタNTCTを1進めて、その結果、小節の終わ
りに来たかどうか判断する(Sg2)。これは、現在演
奏中の小節のサイズMSと比較する事で行われる。NT
CTがMSに等しいときは(Sg2で「yes」)、ノ
ーマルトラックの演奏進行位置が小節の終わりに達した
ことになるので、ノーマルトラック小節番号NTMNを
1進め(Sg3)、NTCTを0にし(Sg4)、新た
なNTMNに基づいて、図19に示す小節サイズテーブ
ルから小節サイズを読出し、MSレジスタに格納する
(Sg5)。Sg2にて、まだ小節の終わりに達してい
ないと判断されたときは(「no」)、Sg3〜Sg5
の処理をスキップしてSg6に進む。
ルトラックの処理をトラック毎に個別に行う。これらの
処理において使用される、デュレーションデータレジス
タDTn、ポインタPTnのnは処理するトラック番号
を表している。この実施例では、ピアノ、ベース、ドラ
ム、トランペットの4つのトラックがあり、順番にトラ
ック番号をつけられているとする。いま、ピアノはトリ
ガー駆動トラックとして選択されているので、ノーマル
トラックであるベース、ドラム、トランペットの処理を
行う。
ノーマルトラックのうち一つのトラックの自動演奏処理
を行い、未処理のノーマルトラックがある場合は(Sg
13)、次に処理するトラック番号nを入れて(Sg1
4)、Sg6に戻り、トラック毎に自動演奏処理を行
う。ここでは、ノーマルトラックのベース、ドラム、ト
ランペットのトラック番号nを2、3、4として処理す
る。
e7〜Se12と全く同じであるので説明を省略する。
トランペットのパートが終わると処理すべきノーマルト
ラックはもうないので、図9の自動演奏処理に戻る(S
g13)。
るときは、図11に示すサブルーチンを実行する。この
処理は、トリガーによるトリガー駆動トラックの自動演
奏処理を行うプログラムである。
のとき)に、トリガー発生器1にてトリガーを発生させ
ると、実行フラグEXEFは1になるので(図7のSe
5)、Sh1での判断は「yes」となって、トリガー
駆動トラックカウンタTTCTを1進めて(Sh2)、
トリガー駆動トラックが実行中の小節における小節サイ
ズMStと比較する(Sh3)。トリガー駆動トラック
の演奏進行位置が小節の最後でないときは(Sh3で
「no」)、Sh4でデュレーションレジスタDTtの
数値を1デクリメントし、次に、Sh5〜Sh10にて
トリガー駆動トラックの自動演奏処理を行う。処理の内
容自体は図7のSe7〜Se12と全く同じであるので
説明を省略する。Sh4〜Sh10の処理が終了する
と、自動演奏処理(図9)に戻り、さらにメインルーチ
ン(図3)に戻る。
h1で[no」)、自動演奏処理(図9)に戻り、さら
にメインルーチン(図3)に戻る。
動演奏位置が小節の最後であると判断されたときは(S
h3で「yes」)、トリガー駆動トラックの小節番号
TTMNを1進め(Sh11)、TTCTを0にし(S
h12)、新たなTTMNに基づいて、小節サイズテー
ブル(図19)から小節サイズを読出し、MStレジス
タに格納する(Sh13)。
最後に達したときは、トリガー駆動トラックの自動演奏
を止めるため、実行フラグEXEFを0にする(Sh1
4)。また小節の最後まで演奏位置が進んだということ
は、次の小節の読出しの準備が完了していることになる
ので、読出し準備完了フラグRYFを1にする(Sh1
5)。その後、自動演奏処理(図9)に戻り、さらにメ
インルーチン(図3)に戻る。
(Sh4〜Sh10)はノーマルトラックのそれと何ら
変わるところはない。割込信号INTは1つしかないの
で、必然的にテンポも同一である。ただし、トリガー駆
動トラックの自動演奏は開始するタイミングが小節ごと
に異なるので、本来の自動演奏(トリガー駆動トラック
をノーマルトラックとして処理した場合)に比べて、小
節単位で前にずれたり、後ろにずれたりするのである。
これが演奏者がトリガー駆動トラックを制御していると
感じるところであり、演奏に参加していると実感すると
ころである。
例の説明をする。なお説明を簡潔にするため第1の実施
例と共通の部分は説明を省略し、異なる部分を詳細に説
明する。
発生によって単音楽器のパートの演奏を行う。第1実施
例と第2実施例との相違は、第1実施例では演奏曲を一
定期間(1小節)に区切ってトリガーを受け付けていた
のに対し、第2実施例ではトリガーを受け付ける毎に1
つの音符を再生する、という点である。
駆動トラックからキーオンデータが検索されてイベント
バッファに記憶される。トリガーが発生すると、このイ
ベントバッファからキーオンデータが読み出されて発音
が行われる。トリガー駆動トラックから音符を探す検索
ポインタは、ノーマルトラックにおける読出しポインタ
に比べて所定時間(実施例では先行クロックサイズに対
応する時間)だけ先行させておくことによって、トリガ
ーのタイミングが本来の演奏すべき音符のタイミングよ
りも早くても、再生できるようにした。
にかかわらず、検索ポインタがキーオンデータをサーチ
した場合に書き換えられる。トリガーの受け付ける期間
は、時間的には発音すべき音符の有する長さと等しい
が、タイミング的には検索ポインタを先行させる所定時
間だけ発音すべき音符よりずれている。
リガーによって演奏する場合に適している。第1の実施
例は、小節線付近でのトリガー発生によって、その小節
の自動演奏を行うものであったが、この第2の実施例
は、発音タイミング付近でのトリガー発生によって、そ
のタイミングで発生すべき音(単音)を発生するもので
ある。
ド的な構成は図1に示す、第1の実施例と同一であるの
で説明を省略する。
図17を参照して説明する。図13はメインルーチンで
あり、演奏者によって電源が投入されると、RAM6内
の各種レジスタやフラグに初期設定値が書き込まれる等
の初期設定処理(Sm1)が行なわれる。特に、フラグ
STEを0、レジスタOFCTを0に設定し、レジスタ
DTk、DTtに1が設定される。
ネル処理は図5に示すサブルーチンを読出す。このサブ
ルーチンは第1の実施例と共通なので、説明を省略す
る。第2の実施例は単音楽器の自動演奏をトリガー駆動
する場合に適しているので、Sc2(図5)のトリガー
トラック選択では、第1の実施例ではピアノを選択した
が、ここでは、ベースまたはトランペットを選択するの
がよい。
1かどうか判断する。CPU3はSTARTが1のとき
はSm4の自動演奏処理、Sm5のトリガー処理を行
い、STARTが1でないときはSm4、Sm5の処理
を行わない。その後、その他の処理(Sm6)を行い、
Sm2にもどる。以後、Sm2〜Sm6の処理を繰り返
し行う。
と、タイマ割込が許可されるので(図5のSc4)、設
定されているテンポに応じた時間間隔で割込信号INT
が発生する。割り込み信号INTが発生すると、CPU
3は、発生した時点で実行していた処理を中断し、図1
4に示す処理を行う。
Fを1に設定し(Sn1)、スタート許可フラグSTE
が0かどうか判断する(Sn2)。STEが0のとき
は、自動演奏は行われず、1になったことを確認して、
自動演奏が行われる。STEが0である期間は、自動演
奏スタートスイッチが押されてから、タイマ割込がある
毎にカウントするカウンタ値が、あらかじめ設定されて
いる先行クロックサイズに等しくなるまでの期間に一致
する。タイマ割込の間隔は、テンポ設定値によって変化
するので、STEが0である期間も変化する。STEは
自動演奏がストップしているときは0でなくてはいけな
いので、初期設定(Sm1)や、自動演奏ストップスイ
ッチが押されたときに、0に設定される。従って、自動
演奏スタートスイッチが押された直後はSTEは0のま
まである。
s」)、レジスタOFCTを1進め(Sn3)、先行ク
ロックサイズに等しくなったとき(Sn4で「ye
s」)、STEを1にする(Sn5)。Sn2でSTE
が1のとき(判断が「no」)、Sn4でOFCTが先
行クロックサイズに達していないとき(判断が「n
o」)、Sn5の処理が終了したときは、タイマ割込が
起こった時点の処理にもどる。レジスタOFTCは初期
設定(Sm1)のときの他、自動演奏ストップスイッチ
が押されたときも0にリセットされる。
トラックに記憶されている自動演奏データ内の最小の音
符の半分のサイズ以下に設定されることが望ましい。も
し先行クロックサイズが大きい場合は、最適な位置でト
リガーが発生しても、イベントバッファがすでに書き変
わっていて本来の自動演奏ができないこともあり得る。
また、演奏者が上達するにつれて先行クロックサイズを
変更して、条件を厳しくすることもできる。
(Sm4)をCPU3が実行するときは、図15に示す
サブルーチンを実行する。この処理はトリガー駆動トラ
ックのキーオンデータを検索してイベントバッファに格
納する処理と、ノーマルトラック処理、トリガートラッ
クのキーオン処理を除いた処理を行うプログラムであ
る。
タイマインタラプトフラグTMIFが1かどうか判断
し、1でないときはすぐにメインルーチンにもどる(S
p1で「no」)が、1のときは(Sp1で「ye
s」)Sp2〜Sp14の処理を行う。すなわち、TM
IFを0に設定し(Sp2)、キーオンデータ検索用の
デュレーションレジスタDTkを1減じて(SP3)、
0になったかどうか判断する(Sp4)。この判断が
「yes」となったときには、キーオンデータ検索用の
ポインタPTkを1進め(Sp5)、PTkをアドレス
としてトリガー駆動トラックの自動演奏データを読み
(Sp6)、そのデータがデュレーションデータかどう
か判断し(Sp7)、判断が「yes」のときはデュレ
ーションデータをキーオンデータ検索用のデュレーショ
ンレジスタDTkに格納し(Sp11)、Sp12に進
む。
ータがキーオンデータかどうか判断し(Sp8)、キー
オンデータの場合はRAM6に設定されているイベント
バッファに記憶し(Sp9)、イベントバッファからの
読出しを許可するフラグREを1に設定する(Sp1
0)。その後、Sp5にもどる。Sp8にて、読み出さ
れたデータがキーオンデータでないと判断されたときは
(「no」)、Sp5にもどる。Sp4にて、DTkが
0でないと判断したときは(「no」)、Sp12に進
む。Sp12ではSTEが1かどうか判断し、1のとき
は(「yes」)、ノーマルトラック処理(Sp1
3)、トリガートラック処理(Sp14)を行って、メ
インルーチンに戻る。
13、Sp14の処理を行わず、メインルーチンに戻
る。したがってSTE=0のあいだは、通常のノーマル
トラックの自動演奏は行われず、Sp5〜Sp11の処
理によって、トリガー駆動トラックのキーオンデータ検
索が先行して行われる。
については、第1の実施例(図10)と同様であるので
説明を省略する。トリガートラック処理(Sp14)を
実行するときには、図16に示すサブルーチンを実行す
る。この処理はキーオンデータを処理しないということ
を除いては、ノーマルトラックの処理と同じである。す
なわち、キーオンを除いた、キーオフ、プログラムチェ
ンジ、コントロールチェンジなどのデータは、本来の自
動演奏(トリガー駆動トラックをノーマルトラックとし
て自動演奏した場合)で処理するタイミングと同じであ
る。
レーションレジスタDTtを1減じて、0になったかど
うか判断し(Sq2)、0の場合は(「yes」)、S
q3〜Sq8の処理を行い、0でない場合は(「n
o」)、これらの処理を行わず、リターンする。
奏データ読出しのためのポインタPTtを1進め、PT
tをアドレスとしてトリガー駆動トラックの自動演奏デ
ータを読み(Sq4)、そのデータがデュレーションデ
ータの場合は(Sq5で「yes」)、DTtにそのデ
ュレーションデータを格納し(Sq8)、リターンす
る。またSq5で「no」と判断されたときは、読み込
まれたデータがキーオン以外のイベントデータの場合は
(Sq6で「yes」)、そのイベントデータに対応す
る処理を行い(Sq7)、Sq3にもどる。Sq6での
判断が「no」のときは、読み込まれたデータはキーオ
ンデータなので、対応する処理を行わず、Sq3にもど
る。
を行うときは、図17に示すサブルーチンを実行する。
この処理にて、演奏者によって発生されたトリガーに応
じて、イベントバッファに格納されているキーオンデー
タを読出し、キーオン処理する。
Sr1の判断が「yes」となり、Sr2にてフラグR
Eが1かどうか判断する。トリガーが発生しないとき
(Sr1で「no」)やREが1でないとき(Sr2で
「no」)はメインルーチンに戻る。Sr2でREが1
と判断されるときは(「yes」)、イベントバッファ
にキーオンデータが格納されていることをしめしている
ので、Sr3にてそのデータを読出し、トリガーの発生
とともに発生するタッチ情報にて、キーオンデータに含
まれているタッチデータを変更し(Sr4)、それらの
データを用いてキーオン処理(Sr5)を行い、音源回
路7に発音指示する。
たなキーオンデータがイベントバッファに格納されるま
で、Sr3〜Sr5の処理を行わないようにして、メイ
ンルーチンに戻る。Sr6の処理はトリガー発生器1で
チャタリングや、演奏者が誤って、短い時間内に何回か
トリガーを発生したばあいでも、同じキーオンデータを
読出すことを防ぐ。
み先行して検索し、イベントバッファを書き換えていく
ので、演奏者がトリガーを発生を中断し、途中から再開
した場合でも、ノーマルトラックの進行位置に応じたキ
ーオンデータがイベントバッファから読み出されるの
で、いつでも最適な合奏を楽しむことができる。またキ
ーオン以外のイベントデータは、ノーマルトラックと同
様に処理されるので、トリガーの発生の有無に関わら
ず、キーオフ、音色変更等が行われるので、音が消音さ
れなかったり、音色が変更されない等の不都合を回避す
ることができる。
3の実施例は、トリガーの発生によって自動演奏を行う
自動演奏データを複数のフレーズに分けて、1回のトリ
ガーの発生について1つのフレーズを再生するようにす
る。第1、第2の実施例では、トリガー駆動トラックは
ノーマルトラックと同じものを利用したが、第3の実施
例ではトリガー駆動専用のトラックを持っている。トリ
ガー駆動専用トラックのデータフォーマットは図20に
示すように、フレーズ番号データPh1、デュレーショ
ンデータD1、読出し禁止データNR、デュレーション
データD2、フレーズ番号データPh2・・・というデ
ータのならびになっている。
み出されてから、読出し禁止データNRが読み出される
までのデュレーションデータに対応する期間がトリガー
受け付け期間に相当し、読出し禁止データNRが読み出
されてから、次のフレーズ番号データが読み出されるま
でのデュレーションデータに対応する期間がトリガー受
け付け禁止期間である。
奏がスタートしてから最初のデュレーションデータD1
に相当する期間がトリガー受け付け期間に相当し、この
期間内に、演奏者によってトリガーが発生すると、フレ
ーズ1(Ph1)の自動演奏データの読出しを開始する
ように指示される。図21のデュレーションデータD2
の期間はトリガー受け付け禁止期間であり、ノーマルト
ラックの自動演奏位置が、この期間内にあるときは、ト
リガーは受け付けられない。この期間中イベントバッフ
ァにはNRというデータが格納されている。
入り、この期間中にトリガーが発生するとフレーズ2
(Ph2)の自動演奏の開始が指示される。このよう
に、自動演奏のスタートが指示されてから交互にトリガ
ーの受け付け期間と受け付け禁止期間がデュレーション
データD1、D2、D3、D4の時間間隔で繰り返され
る。
トラックの自動演奏データを複数に分割したものと考え
てよく、図22に示すように、ROM5に記憶されてい
る。それぞれのフレーズは区切りのよいところで分割さ
れているため、各フレーズの演奏時間は同一でなくてよ
い。フレーズの自動演奏処理自体はノーマルトラックに
おける自動演奏処理と同じである。フレーズの自動演奏
は、そのフレーズの最後を表すEOFデータを読み込ん
だところで停止する。
説明する。なお、メインルーチンは第2の実施例の図1
3と共用する。またタイマ割込処理は第1の実施例の図
4と共用し、説明は省略する。すなわちメインルーチン
の自動演奏処理(Sm4)、トリガー処理(Sm5)の
み第1、第2の実施例と異なるので、図23〜図26を
用いて説明する。
を実行するときは、図23のサブルーチンを呼び出す。
このサブルーチンではノーマルトラック処理、フレーズ
番号データやNRデータをイベントバッファに格納する
処理やフレーズ自動演奏処理を行う。
「yes」と判断されたときは、TMIFを0に設定し
(Ss2)、ノーマルトラック処理(Ss3)を行う。
ノーマルトラック処理はトリガーで制御しないトラック
の自動演奏を行う。トリガー駆動専用トラック処理(S
s4)を実行するときは、図24に示すサブルーチンを
実行する。このサブルーチンはトリガー受け付け期間に
なったときにフレーズ番号データをイベントバッファに
格納する処理や、トリガー受け付け禁止期間になったと
きにNRデータをイベントバッファに格納するなどの処
理を行う。またトリガーの受け付けや禁止期間になった
ことを演奏者に伝えるために表示処理等を行う。
を1減算し、St2で0になったかどうか判断し、判断
が「yes」のときは、St3にてポインタPTtを1
進め、PTtをアドレスとしてデータを読む(St
4)。そのデータがNRかどうか判断し(St5)、判
断が「yes」のときは、St10に進む。St10で
は、イベントバッファにフレーズ番号データが格納され
ているときは、対応するフレーズの自動演奏データのう
ち、キーオン、キーオフ、デュレーションデータを無視
して実行し、音色変更などの指示だけを実行する。その
後、NRをイベントバッファに格納し(St11)、ト
リガー受け付け禁止になったことを識別する表示を行う
(St12)。その後、自動演奏処理ルーチン(図2
3)に戻る。St2での判断が「no」の場合は、リタ
ーンする。
ないと判断されたときは、St6にて、さらにフレーズ
番号データかどうか判断される。そのデータがフレーズ
番号データの場合には、「yes」となるので、St7
にて、そのフレーズ番号データをイベントバッファに格
納する。そして、トリガー受け付け期間を表す表示をデ
ィスプレイに指示する(St8)。その後、リターンす
る。
は、そのデータはデュレーションデータなので、レジス
タDTtにそのデュレーション値を格納する(St
9)。その後、リターンする。
奏処理(Ss5)を実行するときは、図25に示すサブ
ルーチンを実行する。このサブルーチンはフレーズの自
動演奏処理を行うもので、処理自体はノーマルトラック
の自動演奏処理と変わらない。Su1では、トリガーに
よってフレーズの再生が行われているかどうかを示すフ
ラグPEFが1かどうか判断し、1でないときは、すぐ
に自動演奏処理(図23)にもどる。また1のときは、
デュレーションレジスタDTpを1減じて(Su2)、
0になったかどうか判断し(Su3)、0でないとき
は、リターンし、0のときは、ポインタPTpを1進め
て(Su4)、そのPTpをアドレスとしてデータを読
む(Su5)。
デュレーションデータ、ファイルエンドを示すEOFデ
ータかどうか判断し、その結果によって処理を振り分け
る。そのデータがイベントデータの場合は、そのイベン
トデータに対応した処理を行い(Su7)、Su4に戻
る。そのデータがデュレーションデータの場合は、DT
pにそのデュレーションデータを格納し(Su8)、リ
ターンする。また、そのデータがEOFの場合は、フラ
グPEFを0にして(Su9)、リターンする。
処理(Sm5)を実行するときは、図26に示す、サブ
ルーチンを実行する。このサブルーチンはトリガーがあ
ったときに、イベントバッファからフレーズ番号データ
を読出し、そのフレーズに対応するアドレスを設定する
処理等を行う。
判断し、「no」のときは、メインルーチンにリターン
する。判断が「yes」の場合は、イベントバッファか
らデータを読出し(Sv2)、そのデータがフレーズ番
号データかどうか判断する(Sv3)。判断が「no」
の場合は、リターンする。判断が「yes」の場合は、
フラグPEFが1かどうか判断し(Sv4)、「ye
s」のときは、フレーズの再生中にトリガーが発生した
ことになるので、現在実行中のフレーズをすぐに終了さ
せるため、キーオン、デュレーションデータを無視して
実行し(Sv6)、Sv7に進む。
を1にして(Sv5)、Sv7に進む。Sv7では、ポ
インタPTpをSv2で読み出した、フレーズ番号デー
タに対応したフレーズの先頭アドレスに設定し、デュレ
ーションレジスタDTpを初期値である1に設定する
(SV8)。そして、NRをイベントバッファに格納し
(Sv9)同じトリガー受け付け期間内に2回以上トリ
ガーが発生した場合に、Sv4〜Sv9の処理が複数回
行われることのないようにする。その後、メインルーチ
ンに戻る。
あらかじめ決められているため、第1、第2の実施例に
比べて処理が簡単になるという利点がある。ディスプレ
イにトリガー受け付け期間を表示するので、演奏者は、
トリガー受け付け期間に入ってからの大きな拍のタイミ
ングでトリガーを発生させればよいので、演奏しやすく
なる。
ある。各実施例では、複数の演奏パート(トラック)の
うちの1つをトリガー駆動トラックとしたが、複数の演
奏者が演奏できるように、複数のトリガー発生器を用意
し、これに対応して複数のトリガー駆動トラックを駆動
するようにすれば、合奏が楽しめる。
タイミングを記憶・再生する装置を付加することによ
り、自分の演奏が、ノーマルトラックの演奏ととどれだ
けズレていたかを聴感的に確認することができる。さら
にディスプレイに楽譜を表示させ、そこにトリガーを発
生させたタイミングを表示させるようにすれば、演奏者
はトリガーを発生させたタイミングが本来のタイミング
とどれだけズレているかを視覚的に確認できる。
間だけを表示したが、さらにディスプレイに楽譜を表示
させ、自動演奏の進行状況とあわせて、トリガーをかけ
るべきタイミングを表示するようにすれば、初心者でも
簡単に演奏が可能となる。
ックのデータをイベントバッファに記憶させるようにし
たが、イベントバッファを備えず、トリガーの発生する
毎に、トリガー駆動専用トラックのトリガーが発生した
時点のアドレスのデータを読み、読み出されたデータに
よってフレーズ再生処理を行うようにしてもよい。
再生単位が小節単位だったが、1/2小節、1/3小
節、あるいは2小節等の単位でもよい。またそれらを選
択できるようにしてもよい。
ントバッファに格納したが、キーオンとキーオフ、その
デュレーションデータを一組としてイベントバッファに
格納してもよい。
にフレーズ番号を記憶して、これをもとに演奏すべきフ
レーズのアドレスを求めていたが、これに限らず、演奏
すべきフレーズのアドレスをそのまま記憶してもよい。
手段によって自動演奏の開始が指示されると、制御手段
によってフレーズ識別データ記憶手段の読出しに必要な
アドレスの進行が開始し、時間の経過によって該アドレ
スの進行が制御される。そのためトリガー発生手段によ
って発生するトリガーによって読み出されるフレーズ
が、時間経過、すなわち曲の進行に応じた適切なフレー
ズが自動演奏される。
応じた適切なフレーズを再生すべくアドレスを移動させ
ておくので、演奏が中断して途中から復帰しても、トリ
ガーによる自動演奏は曲の進行に合った適切な自動演奏
をするので演奏者は曲を終わりまで演奏する事ができ
る。
ば、フレーズを読出すべき期間を設定することができる
ので、本来のタイミングに対して前後にある程度ずれた
範囲でのトリガーの受け付けができることになる。この
ため演奏者が意図的に本来のタイミングをずらして、い
わゆる前ノリ、後ノリを表現したりして演奏に変化をつ
けることも可能である。また、本来のタイミングを逸す
ることがあってもずれたタイミングを保持したまま演奏
されるので、演奏者の失敗が反映され、失敗を認識して
演奏技量を向上させることができる。
と、フレーズ読出しを禁止する期間を設定することがで
きるので、トリガーを発生するタイミングが本来のタイ
ミングに対して大幅にずれた場合は、フレーズが読み出
されないので曲の進行に自動演奏されるフレーズが合わ
ないという不都合を回避できる。
と、2回目以降のトリガーに関してはフレーズ読出しを
行わないので、同じフレーズが重複して演奏されること
がないので違和感のない演奏が楽しめる。
と、トリガー受け付け期間内にトリガー発生手段によっ
てトリガーが発生しなかった場合には、該トリガー受け
付け期間にトリガーが発生したときに自動演奏されるフ
レーズの少なくとも発音指示データと時間間隔データを
無視して実行するので、音色変更や操作子の情報などの
情報を無視されることがない。そのためこれらの情報に
応じた処理をしないために後の自動演奏に影響がでると
いう不都合を回避できる。
と、第1のフレーズの自動演奏中に第2のフレーズの自
動演奏指示があった場合には、第1のフレーズの自動演
奏を少なくとも発音指示データ、時間間隔データを無視
して実行するので、後の演奏の影響がでるような処理は
行いつつ、第1のフレーズの残りの自動演奏データを発
音せずに迅速に実行する。聴感上は、トリガーを発生さ
せた瞬間に第1のフレーズの演奏が中断し、第2のフレ
ーズの演奏が開始されたように聞こえる。このためトリ
ガーの発生とフレーズの演奏と応答が悪くなることはな
い。
ば、トリガーを受け付ける期間を操作者に表示するため
の表示手段を備えているので、演奏者はトリガーを発生
させるタイミングを視覚的に認識することができる。請
求項8記載の自動演奏装置の構成によれば、通常の自動
演奏データも自動演奏するので演奏者は他のパートの演
奏を聞きながら合奏に参加できる。
と、前記トリガー発生手段は複数用意され、これに対応
して複数のフレーズ識別データ記憶手段及び自動演奏デ
ータ記憶手段がそれぞれ駆動されるので、合奏を楽しむ
ことができる。 請求項10記載の自動演奏装置の構成に
よると、前記表示手段は、操作者の演奏によりトリガー
を発生させたタイミングが本来の自動演奏タイミングか
らどれだけずれているかを確認することができるように
操作者の演奏(トリガー発生タイミング)及び自動演奏
の進行状況(楽譜)が表示されるので、操作者は、トリ
ガーを発生させたタイミングが本来のタイミングとどれ
だけずれているかを視覚的に確認することができる。 請
求項11記載の自動演奏装置の構成によると、前記フレ
ーズ記憶手段に記憶される複数のフレーズは、複数のト
ラックから選択可能な何れかのトラックの自動演奏デー
タに対応しているので、トリガーで演奏したいトラック
(楽器)を選択することができる。請求項12記載の自
動演奏装置の構成によると、自動演奏のテンポが設定可
能になっているので、演奏者の手によりテンポを任意に
調節することができる。 請求項13記載の自動演奏装置
の構成によると、トリガー受け付け期間内に前記トリガ
ー発生手段によってトリガーが発生しなかった場合に
は、当該トリガーが無視されて自動演奏がなされない。
請求項14記載の自動演奏装置の構成によると、トリガ
ーを受け付けない期間を操作者により設定することがで
きる。 請求項15記載の自動演奏装置の構成によると、
トリガーの発生の有無に関わらず、自動演奏されるフレ
ーズの音色などの情報を変更していくこと(プログラム
チェンジやコントロールチェンジに基づく処理)ができ
る。 請求項16記載の自動演奏装置の構成によると、ト
リガー受け付け期間内に前記トリガー発生手段によって
何回かのトリガーが発生しても1回のトリガーに基づい
てのみ自動演奏が開始され、当該自動演奏の間は、当該
フレーズのイベントデータに対応する処理が行われる。
ロック図である。
ック図である。
すブロック図である。
ートである。
すフローチャートである。
ローチャートである。
示すフローチャートである。
フローチャートである。
示すフローチャートである。
フローチャートである。
チンを示すフローチャートである。
ルーチンを示すフローチャートである。
付け期間を説明するためのタイムチャートである。
チンを示すフローチャートである。
チンを示すフローチャートである。
ンを示すフローチャートである。
ブルーチンを示すフローチャートである。
ンを示すフローチャートである。
される演奏データの内容を示すメモリマップである。
される小節番号とクロック数の関係を示す小節サイズテ
ーブルである。
データフォーマットを示す図である。
受け付け禁止期間の交互の生起を示す図である。
のフレーズデータのフォーマットを示す図である。
すフローチャートである。
サブルーチンを示すフローチャートである。
チンを示すフローチャートである。
すフローチャートである。
ェース)、3:CPU(中央処理装置)、4:タイマ、
5:ROM(読出専用メモリ)、6:RAM(ランダム
-アクセス-メモリ)、7:音源回路、8:サウンドシス
テム、9:パネル操作子、10:パネルI/F(インタ
ーフェース)、11:ディスプレイ、12:ディスプレ
イI/F(インターフェース)、13:アドレス・デー
タバス
Claims (16)
- 【請求項1】トリガーを発生するトリガー発生手段と、 トリガーによって読み出すべきフレーズに対応した複数
の識別データを記憶するフレーズ識別データ記憶手段
と、 前記識別データに対応したフレーズを複数記憶したフレ
ーズ記憶手段と、 自動演奏の開始を指示する指示手段と、 前記指示手段の指示に応じて前記フレーズ識別データ記
憶手段の読出しに必要なアドレスの進行を開始し、時間
の経過によって該アドレスの進行を制御する制御手段と
を備え、 前記トリガー発生手段によって発生したトリガーの発生
したタイミングで、前記アドレスに応じてフレーズ識別
データ記憶手段からフレーズ識別データを読出し、該フ
レーズ識別データに対応するフレーズを自動演奏するこ
とを特徴とする自動演奏装置。 - 【請求項2】前記フレーズ識別データ記憶手段には、さ
らにフレーズ識別データと交互に記憶される時間間隔デ
ータが記憶され、前記フレーズ記憶手段からフレーズを
読出すべき期間を表すことを特徴とする請求項1記載の
自動演奏装置。 - 【請求項3】前記フレーズ識別データ記憶手段には、さ
らにフレーズの読出しを禁止することを表すフレーズ読
出禁止データが記憶され、前記時間間隔データとの組み
合わせによってフレーズ読出しを禁止する期間を設定す
ることを特徴とする請求項2記載の自動演奏装置。 - 【請求項4】前記フレーズ記憶手段からフレーズを読出
す期間中に少なくとも2回、前記トリガー発生手段から
トリガーを受け付けた時には、2回目以降のトリガーに
関してはフレーズ読出しを行わないことを特徴とする請
求項2記載の自動演奏装置。 - 【請求項5】前記フレーズ記憶手段に記憶される複数の
フレーズはそれぞれすくなくとも発音指示データと時間
間隔データから構成され、トリガー受け付け期間内に前
記トリガー発生手段によってトリガーが発生しなかった
場合には、該トリガー受け付け期間にトリガーが発生し
たときに自動演奏されるフレーズの少なくとも発音指示
データと時間間隔データを無視して実行することを特徴
とする請求項1記載の自動演奏装置。 - 【請求項6】第1のフレーズの自動演奏中に第2のフレ
ーズの自動演奏指示があった場合には、第1のフレーズ
の自動演奏を少なくとも発音指示データ、時間間隔デー
タを無視して実行することを特徴とする請求項1記載の
自動演奏装置。 - 【請求項7】トリガーを受け付ける期間を操作者に表示
するための表示手段を備える請求項1記載の自動演奏装
置。 - 【請求項8】さらに、 通常の自動演奏を行うための自動演奏データを記憶する
自動演奏データ記憶手段を備え、 前記制御手段は、前記指示手段の指示に応じて前記フレ
ーズ識別データ記憶手段の読出しに必要なアドレスの進
行を開始し、時間の経過によって該アドレスの進行を制
御するとともに、前記自動演奏データ記憶手段から自動
演奏データを読み出し、通常の自動演奏を行うことを特
徴とする請求項1記載の自動演奏装置。 - 【請求項9】前記トリガー発生手段は複数用意され、こ
れに対応して複数のフレーズ識別データ記憶手段及び自
動演奏データ記憶手段をそれぞれ駆動することを特徴と
する請求項1記載の自動演奏装置。 - 【請求項10】前記表示手段は、操作者の演奏によりト
リガーを発生させたタイミングが本来 の自動演奏タイミ
ングからどれだけずれているかを確認することができる
ように操作者の演奏及び自動演奏の進行状況を表示する
ことを特徴とする請求項1記載の自動演奏装置。 - 【請求項11】前記フレーズ記憶手段に記憶される複数
のフレーズは、複数のトラックから選択可能な何れかの
トラックの自動演奏データに対応することを特徴とする
請求項1記載の自動演奏装置。 - 【請求項12】自動演奏のテンポが設定可能であること
を特徴とする請求項1記載の自動演奏装置。 - 【請求項13】トリガー受け付け期間内に前記トリガー
発生手段によってトリガーが発生しなかった場合には、
当該トリガーが無視され自動演奏をしないことを特徴と
する請求項1記載の自動演奏装置。 - 【請求項14】トリガーを受け付けない期間が操作者に
より設定可能であることを特徴とする請求項1記載の自
動演奏装置。 - 【請求項15】トリガーの発生の有無に関わらず、自動
演奏されるフレーズの音色変更などを実行することを特
徴とする請求項1記載の自動演奏装置。 - 【請求項16】トリガー受け付け期間内に前記トリガー
発生手段によって何回かのトリガーが発生しても1回の
トリガーのみに基づいて自動演奏を開始し、当該自動演
奏の間は、当該フレーズのイベントデータに対応する処
理を行うことを特徴とする請求項1記載の自動演奏装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07402194A JP3528230B2 (ja) | 1994-03-18 | 1994-03-18 | 自動演奏装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07402194A JP3528230B2 (ja) | 1994-03-18 | 1994-03-18 | 自動演奏装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001075139A Division JP3632606B2 (ja) | 2001-03-16 | 2001-03-16 | 自動演奏装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07261757A JPH07261757A (ja) | 1995-10-13 |
JP3528230B2 true JP3528230B2 (ja) | 2004-05-17 |
Family
ID=13535055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07402194A Expired - Fee Related JP3528230B2 (ja) | 1994-03-18 | 1994-03-18 | 自動演奏装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3528230B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001067070A (ja) * | 1999-08-24 | 2001-03-16 | Kids:Kk | 電子楽器玩具 |
JP4797523B2 (ja) | 2005-09-12 | 2011-10-19 | ヤマハ株式会社 | 合奏システム |
JP4692189B2 (ja) * | 2005-09-28 | 2011-06-01 | ヤマハ株式会社 | 合奏システム |
JP4752425B2 (ja) | 2005-09-28 | 2011-08-17 | ヤマハ株式会社 | 合奏システム |
JP4513738B2 (ja) * | 2005-12-21 | 2010-07-28 | カシオ計算機株式会社 | 演奏装置および演奏処理のプログラム |
-
1994
- 1994-03-18 JP JP07402194A patent/JP3528230B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH07261757A (ja) | 1995-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3598598B2 (ja) | カラオケ装置 | |
JP2927229B2 (ja) | メドレー演奏装置 | |
US5565640A (en) | Automatic performance device capable of starting an automatic performance in response to a trigger signal | |
JP3237455B2 (ja) | 演奏指示装置 | |
JP3528230B2 (ja) | 自動演奏装置 | |
US6376760B1 (en) | Parameter setting technique for use in music performance apparatus | |
JP3632606B2 (ja) | 自動演奏装置 | |
JP3239411B2 (ja) | 自動演奏機能付電子楽器 | |
US20220084490A1 (en) | Electronic musical apparatus, storage medium storing recording/reproduction program, and recording/reproduction method | |
JPH09281970A (ja) | 電子楽器 | |
JP3800778B2 (ja) | 演奏装置及び記録媒体 | |
JP3887957B2 (ja) | カラオケ装置 | |
JP2674452B2 (ja) | 楽曲再生装置 | |
JP3834963B2 (ja) | 音声入力装置及び方法並びに記憶媒体 | |
JPH1057635A (ja) | 曲再生制御装置 | |
JP3918308B2 (ja) | カラオケ装置 | |
JPH10143177A (ja) | カラオケ装置 | |
JP2000010572A (ja) | 歌声発生装置およびカラオケ装置 | |
JP3637782B2 (ja) | データ生成装置と記録媒体 | |
JP3546602B2 (ja) | 自動演奏装置 | |
JPH08185169A (ja) | 楽音発生装置 | |
JPH07239693A (ja) | ゲーム装置 | |
JP3931551B2 (ja) | 演奏装置および演奏方法 | |
JP4222257B2 (ja) | 伴奏付加装置 | |
JP3859139B2 (ja) | 編曲装置および編曲方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040126 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040216 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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: 20090305 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090305 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100305 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110305 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110305 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120305 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |