JPS6336518B2 - - Google Patents
Info
- Publication number
- JPS6336518B2 JPS6336518B2 JP54155372A JP15537279A JPS6336518B2 JP S6336518 B2 JPS6336518 B2 JP S6336518B2 JP 54155372 A JP54155372 A JP 54155372A JP 15537279 A JP15537279 A JP 15537279A JP S6336518 B2 JPS6336518 B2 JP S6336518B2
- Authority
- JP
- Japan
- Prior art keywords
- note length
- note
- value
- length data
- cumulative
- 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
Links
- 230000001186 cumulative effect Effects 0.000 claims description 24
- 238000009825 accumulation Methods 0.000 claims description 7
- 239000011295 pitch Substances 0.000 claims 6
- 238000010586 diagram Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 3
- 230000033764 rhythmic process Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】
本発明は電子楽器の自動演奏装置に関し、特
に、複数のパートをもつ曲の自動演奏に最適な自
動演奏装置に関するものである。
に、複数のパートをもつ曲の自動演奏に最適な自
動演奏装置に関するものである。
自動演奏装置の多くは、楽譜の音符情報を半導
体メモリに記憶させておき、コンピユータ、特に
マイクロ・コンピユータで時系列的に音符情報を
読出し、その内容に基づいて楽音発生装置を駆動
することによつて自動演奏を行なうものが多い このとき、音符長を実時間に変換するのに、テ
ンポクロツク信号を音符長に対応した数だけカウ
ントする方法が一般的に採られる方法である。単
音の連続した音符を自動演奏するとき、ある音符
の音符長をカウントした後、次の音符をメモリか
ら読出し、音符長を知つてからカウントの準備す
るまでの処理時間をかけてからカウント開始する
という手続きを繰り返して実行する。この処理時
間が各音符の間に1つずつ必要であるから、長時
間演奏するとこの処理時間が累積して、演奏時間
がずれてきて非常に都合が悪いことになる。これ
が複音の自動演奏となると、演奏曲の全パートの
音符情報をメモリから読出し、この読出した複数
の音符情報に基づいて適切な処理をしなければな
らないため、さらにこの処理時間が多くなり、さ
らに具合が悪い。
体メモリに記憶させておき、コンピユータ、特に
マイクロ・コンピユータで時系列的に音符情報を
読出し、その内容に基づいて楽音発生装置を駆動
することによつて自動演奏を行なうものが多い このとき、音符長を実時間に変換するのに、テ
ンポクロツク信号を音符長に対応した数だけカウ
ントする方法が一般的に採られる方法である。単
音の連続した音符を自動演奏するとき、ある音符
の音符長をカウントした後、次の音符をメモリか
ら読出し、音符長を知つてからカウントの準備す
るまでの処理時間をかけてからカウント開始する
という手続きを繰り返して実行する。この処理時
間が各音符の間に1つずつ必要であるから、長時
間演奏するとこの処理時間が累積して、演奏時間
がずれてきて非常に都合が悪いことになる。これ
が複音の自動演奏となると、演奏曲の全パートの
音符情報をメモリから読出し、この読出した複数
の音符情報に基づいて適切な処理をしなければな
らないため、さらにこの処理時間が多くなり、さ
らに具合が悪い。
本発明は、上記の欠点を除去するため成された
もので、自動演奏の演奏時間が極めて正確で、長
時間演奏してもテンポが狂うことのないように構
成するとともに、テンポカウンタの最大カウント
数の設定を可変にすることにより、どのような曲
の自動演奏でも簡単に行えるようにした自動演奏
装置を提供するものである。
もので、自動演奏の演奏時間が極めて正確で、長
時間演奏してもテンポが狂うことのないように構
成するとともに、テンポカウンタの最大カウント
数の設定を可変にすることにより、どのような曲
の自動演奏でも簡単に行えるようにした自動演奏
装置を提供するものである。
以下、図面を参照して本発明を説明する。
第1図に本発明の実施例の回路図を示す。
1は自動演奏処理を実行する発音制御手段とし
てのCPU(中央演奏処理装置)であり、具体的に
は、ザイログ社のZ80などのマイクロ・コンピユ
ータのCPUで実現できる。2はテンポカウンタ
であり、後述するテンポクロツク発生器5から供
給されるテンポクロツク信号をカウントする2進
8ビツトカウンタであり、トライ・ステート・バ
ツフア7でカウント数がCPU1に読み込まれる。
16は8ビツトのラツチであり、テンポカウンタ
2の最大カウント数に対応したデータが、CPU
1によりラツチされる。15はテンポカウンタ2
のカウント数と、ラツチ16のデータと比較する
コンパレータであり、両者が一致すると、「A=
B」の一致出力信号が出され、オアゲート17を
介してテンポカウンタ2をクリアする。テンポカ
ウンタ2とコンパレータ15とラツチ16とは公
知のプログラマブル・カウンタを構成している。
例えば、ラツチ16に「128」が2進データでラ
ツチされたときは、テンポカウンタ2は128クロ
ツクを一周期とするカウンタとなる。3は、自動
演奏実行プログラムの記憶されているROM(読
出し専用メモリ)と、CPU1のワークエリアと
自動演奏用の音符データ・エリアとから成る
RAM(ランダム・アクセス・メモリ)とで構成
されたメモリ回路である。4−1〜4−4は音高
データ(7ビツト)と発音ゲート信号を供給さ
れ、音高データに対応した音高の楽音を発音ゲー
ト信号に同期して発生する発音チヤネルであり、
それぞれ自動演奏曲の各パートに対応している。
5は自動演奏のテンポを決めるテンポクロツク信
号を発生するテンポクロツク発生器であり、クロ
ツク信号周波数は自由に設定できるものである。
8−1〜8−4は、発音チヤネル4−1〜4−4
に対応して設けられ、曲の各パートの音符の音高
データをそれぞれラツチするためのラツチであ
る。9は各ビツトの出力信号が発音チヤネル4−
1〜4−4に対して供給される4ビツトのラツチ
であり、発音ゲート信号がラツチされるものであ
る。6は自動演奏のスタート/ストツプスイツチ
であり、スイツチの状態はトライステートバツフ
ア10でCPU1に読み込まれる。11はCPU1
のアドレスをデコードして各制御信号を出力する
アドレス・デコーダである。12は発音チヤネル
4−1〜4−4から出力された楽音信号を混合処
理するミキシング回路であり、その出力信号にア
ンプ13、スピーカ14を経て、楽音に変換され
る。
てのCPU(中央演奏処理装置)であり、具体的に
は、ザイログ社のZ80などのマイクロ・コンピユ
ータのCPUで実現できる。2はテンポカウンタ
であり、後述するテンポクロツク発生器5から供
給されるテンポクロツク信号をカウントする2進
8ビツトカウンタであり、トライ・ステート・バ
ツフア7でカウント数がCPU1に読み込まれる。
16は8ビツトのラツチであり、テンポカウンタ
2の最大カウント数に対応したデータが、CPU
1によりラツチされる。15はテンポカウンタ2
のカウント数と、ラツチ16のデータと比較する
コンパレータであり、両者が一致すると、「A=
B」の一致出力信号が出され、オアゲート17を
介してテンポカウンタ2をクリアする。テンポカ
ウンタ2とコンパレータ15とラツチ16とは公
知のプログラマブル・カウンタを構成している。
例えば、ラツチ16に「128」が2進データでラ
ツチされたときは、テンポカウンタ2は128クロ
ツクを一周期とするカウンタとなる。3は、自動
演奏実行プログラムの記憶されているROM(読
出し専用メモリ)と、CPU1のワークエリアと
自動演奏用の音符データ・エリアとから成る
RAM(ランダム・アクセス・メモリ)とで構成
されたメモリ回路である。4−1〜4−4は音高
データ(7ビツト)と発音ゲート信号を供給さ
れ、音高データに対応した音高の楽音を発音ゲー
ト信号に同期して発生する発音チヤネルであり、
それぞれ自動演奏曲の各パートに対応している。
5は自動演奏のテンポを決めるテンポクロツク信
号を発生するテンポクロツク発生器であり、クロ
ツク信号周波数は自由に設定できるものである。
8−1〜8−4は、発音チヤネル4−1〜4−4
に対応して設けられ、曲の各パートの音符の音高
データをそれぞれラツチするためのラツチであ
る。9は各ビツトの出力信号が発音チヤネル4−
1〜4−4に対して供給される4ビツトのラツチ
であり、発音ゲート信号がラツチされるものであ
る。6は自動演奏のスタート/ストツプスイツチ
であり、スイツチの状態はトライステートバツフ
ア10でCPU1に読み込まれる。11はCPU1
のアドレスをデコードして各制御信号を出力する
アドレス・デコーダである。12は発音チヤネル
4−1〜4−4から出力された楽音信号を混合処
理するミキシング回路であり、その出力信号にア
ンプ13、スピーカ14を経て、楽音に変換され
る。
次に本実施例の動作について設明する。実施例
では、第1から第4までの4パートから成る曲を
自動演奏するものとし、それぞれのパートの音符
を発音チヤネル4−1〜4−4でそれぞれ演奏す
るものとする。演奏曲の一例として、第4図に示
すような4パート構成の4/4拍子の曲を演奏させ
る。
では、第1から第4までの4パートから成る曲を
自動演奏するものとし、それぞれのパートの音符
を発音チヤネル4−1〜4−4でそれぞれ演奏す
るものとする。演奏曲の一例として、第4図に示
すような4パート構成の4/4拍子の曲を演奏させ
る。
各音符情報の具体例を第6図に示す。実施例で
は、音符情報は、8ビツトの音符長データと、7
ビツトの音高データ、1ビツトのタイの有無の情
報(第6図において「1」のときはタイあり、
「0」のときはタイなし)として、合計16ビツト
で表わされ、演奏される順番にメモリ3内の自動
演奏用音符データ・エリアにメモリされている。
7ビツトの音高データは上位3ビツトでオクター
ブ情報を、下位4ビツトでノート(1オクターブ
内のC、C#、D、…Bの12音)情報を表わす。
例えば、第6図に示すように、「C3」の音高デー
タは「0110001」で表わされる。この音高データ
はまた音符か休符かを区別する情報をもつてい
る。すなわち音高を表わすデータのときは、この
7ビツトのうち1つ以上が“1”であつて全て
“0”になることはない。従つて、音高データが
「0000000」のときは休符であり、それ以外のとき
音符であることをそれぞれ表わすものである。
は、音符情報は、8ビツトの音符長データと、7
ビツトの音高データ、1ビツトのタイの有無の情
報(第6図において「1」のときはタイあり、
「0」のときはタイなし)として、合計16ビツト
で表わされ、演奏される順番にメモリ3内の自動
演奏用音符データ・エリアにメモリされている。
7ビツトの音高データは上位3ビツトでオクター
ブ情報を、下位4ビツトでノート(1オクターブ
内のC、C#、D、…Bの12音)情報を表わす。
例えば、第6図に示すように、「C3」の音高デー
タは「0110001」で表わされる。この音高データ
はまた音符か休符かを区別する情報をもつてい
る。すなわち音高を表わすデータのときは、この
7ビツトのうち1つ以上が“1”であつて全て
“0”になることはない。従つて、音高データが
「0000000」のときは休符であり、それ以外のとき
音符であることをそれぞれ表わすものである。
なお、音符情報は上記のもの以外に、音の強さ
や音色、立ち上がりの速さなどいろいろ考えられ
るが、本発明とは直接に関係ないため、その他の
情報は省略している。
や音色、立ち上がりの速さなどいろいろ考えられ
るが、本発明とは直接に関係ないため、その他の
情報は省略している。
第3図に、メモリ回路3のRAMエリアマツプ
構成の一例を示す。16進数の1000H〜10FFH番
地に一般処理のためのワークエリアと、自動演奏
曲が何分の何拍子であるか、即ち、1小節の音符
長データがいくらであるかを示す情報とが格納さ
れている。ちなみに、4/4拍子であれば、四分音
符の音符長が「32」であるから、「128」が、3/4
拍子、6/4拍子であれば、それぞれ「96」、「192」
が1小節の音符長データとして格納されている。
このデータは自動演奏の開始直前にラツチ16
(第1図)にラツチされるものである。即ち、自
動演奏曲が3/4拍子であれ、4/4拍子であれ、テン
ポカウンタ2は、常に1小節を周期とするカウン
タにプリセツトされることになる。
構成の一例を示す。16進数の1000H〜10FFH番
地に一般処理のためのワークエリアと、自動演奏
曲が何分の何拍子であるか、即ち、1小節の音符
長データがいくらであるかを示す情報とが格納さ
れている。ちなみに、4/4拍子であれば、四分音
符の音符長が「32」であるから、「128」が、3/4
拍子、6/4拍子であれば、それぞれ「96」、「192」
が1小節の音符長データとして格納されている。
このデータは自動演奏の開始直前にラツチ16
(第1図)にラツチされるものである。即ち、自
動演奏曲が3/4拍子であれ、4/4拍子であれ、テン
ポカウンタ2は、常に1小節を周期とするカウン
タにプリセツトされることになる。
次に1100H〜1103H番地に音符長累積エリア
(LACC)、1104H番地に最小値格納エリア
(MINV)、1105H〜3FFFH番地に自動演奏用音
符データエリアがそれぞれとつてある。自動演奏
用音符データエリアは第5図に図示してあるよう
に、4つの各パート別に、演奏される順番に第6
図に示すような音符データがメモリされている。
(LACC)、1104H番地に最小値格納エリア
(MINV)、1105H〜3FFFH番地に自動演奏用音
符データエリアがそれぞれとつてある。自動演奏
用音符データエリアは第5図に図示してあるよう
に、4つの各パート別に、演奏される順番に第6
図に示すような音符データがメモリされている。
第3図の音符長累積エリア(LACC)は、自動
演奏スタート時点で、自動演奏曲の各パートの最
初の音符の音符長データを対応するエリアに格納
し、その後は、この最初の音符から、現在演奏を
実行している音符の次に奏すべき音符までの音符
長データを加算累積するためのものである。最小
値格納エリア(MINV)は音符長累積エリア
(LACC)の各パートに対応する音符長データの
累積値のうち最小の値(最小累積音符長データ
値)を格納しておくためのエリアである。
演奏スタート時点で、自動演奏曲の各パートの最
初の音符の音符長データを対応するエリアに格納
し、その後は、この最初の音符から、現在演奏を
実行している音符の次に奏すべき音符までの音符
長データを加算累積するためのものである。最小
値格納エリア(MINV)は音符長累積エリア
(LACC)の各パートに対応する音符長データの
累積値のうち最小の値(最小累積音符長データ
値)を格納しておくためのエリアである。
音符長データは8ビツトで表わされ、、全音符、
二分音符、四分音符、八分音符、十六分音符のデ
ータはそれぞれ、「128」、「164」、「32」、「16」、
「8」である。
二分音符、四分音符、八分音符、十六分音符のデ
ータはそれぞれ、「128」、「164」、「32」、「16」、
「8」である。
さて、基本的な動作は、第2図に示す動作フロ
ーチヤートに解り易く記述してある。第4図にお
いて、*を付したステツプでは、音符長データな
らびに音符長累積データが曲の1小節分の音符長
データに等しい場合にはこれを「0」とするもの
とする。自動演奏の実行経過に従つて、音符長累
積エリア(LACC)と最小値格納エリア
(MINV)内のデータの変化の模様を、楽譜に対
応させて、第4図に示しておく。第4図のLACC
エリアの「 *0」は、その曲の1小節分の音符長
データ「128」を示している。第4図に示される
如く、テンポカウンタのカウンタ数は「128」で
オーバー・フローする。即ち1小節を一周期とす
るカウントを行なつている。ここの部分をもう少
し詳しく説明しておく。第4図に示した曲は4/4
拍子のものであり、1小節分の長さが四分音符4
つ、つまりテンポクロツクの128カウント分の長
さである。一般に、複数のパートから成る楽曲
は、4/4拍子であれ、3/4拍子の曲であれ、1小節
分の長さは、どのパートについても等しいため、
どのパートについても「小節」を繰り返し周期と
考えることができる。自動演奏曲が第4図の例の
ように4/4拍子の曲であれば、テンポカウンタ2
を、128クロツクを周期とするカウンタとしてセ
ツトとしておき、音符長累積エリア(LACC)内
のデータが、4/4拍子の1小節分の長さである
「128」になると、これを「0」に変換する操作を
行なうことにより、LACCエリアを「128」を一
周期とするカウンタとする。このプログラム操作
により、何小節演奏してもテンポの狂うことのな
い自動演奏が実現できる。ちなみに、3/4拍子の
曲であれば、テンポカウンタ2を96クロツクを周
期とするカウンタとしてセツトし、LACC内のデ
ータが「96」になるとこれを「0」に変換すれば
よく、6/4拍子の曲の場合は、テンポカウンタ2
を192クロツクを周期とするカウンタとしてセツ
トし、LACC内のデータが「196」になるとこれ
を「0」に変換すればよい。従つて、テンポカウ
ンタ2の最大カウント数を、自動演奏曲の1小節
分の音符長データの最大値以上にとつておけば、
どんな曲でも演奏できる。第1図の実施例では、
テンポカウンタ2は最大256クロツクカウントで
きるから、1小節の長さを最大四分音符8拍子ま
でとることができる。さて、第4図の曲の具体例
を見ながら本発明の動作をわかり易く説明する。
ーチヤートに解り易く記述してある。第4図にお
いて、*を付したステツプでは、音符長データな
らびに音符長累積データが曲の1小節分の音符長
データに等しい場合にはこれを「0」とするもの
とする。自動演奏の実行経過に従つて、音符長累
積エリア(LACC)と最小値格納エリア
(MINV)内のデータの変化の模様を、楽譜に対
応させて、第4図に示しておく。第4図のLACC
エリアの「 *0」は、その曲の1小節分の音符長
データ「128」を示している。第4図に示される
如く、テンポカウンタのカウンタ数は「128」で
オーバー・フローする。即ち1小節を一周期とす
るカウントを行なつている。ここの部分をもう少
し詳しく説明しておく。第4図に示した曲は4/4
拍子のものであり、1小節分の長さが四分音符4
つ、つまりテンポクロツクの128カウント分の長
さである。一般に、複数のパートから成る楽曲
は、4/4拍子であれ、3/4拍子の曲であれ、1小節
分の長さは、どのパートについても等しいため、
どのパートについても「小節」を繰り返し周期と
考えることができる。自動演奏曲が第4図の例の
ように4/4拍子の曲であれば、テンポカウンタ2
を、128クロツクを周期とするカウンタとしてセ
ツトとしておき、音符長累積エリア(LACC)内
のデータが、4/4拍子の1小節分の長さである
「128」になると、これを「0」に変換する操作を
行なうことにより、LACCエリアを「128」を一
周期とするカウンタとする。このプログラム操作
により、何小節演奏してもテンポの狂うことのな
い自動演奏が実現できる。ちなみに、3/4拍子の
曲であれば、テンポカウンタ2を96クロツクを周
期とするカウンタとしてセツトし、LACC内のデ
ータが「96」になるとこれを「0」に変換すれば
よく、6/4拍子の曲の場合は、テンポカウンタ2
を192クロツクを周期とするカウンタとしてセツ
トし、LACC内のデータが「196」になるとこれ
を「0」に変換すればよい。従つて、テンポカウ
ンタ2の最大カウント数を、自動演奏曲の1小節
分の音符長データの最大値以上にとつておけば、
どんな曲でも演奏できる。第1図の実施例では、
テンポカウンタ2は最大256クロツクカウントで
きるから、1小節の長さを最大四分音符8拍子ま
でとることができる。さて、第4図の曲の具体例
を見ながら本発明の動作をわかり易く説明する。
この曲は第1パートから第4パートまでの4つ
のパートで構成されている。曲の最初の音符は第
1パートから第4パートまで、それぞれ音符長デ
ータが64(二分音符)、16(八分休符)、16(八分休
符)、32(四分音符)であるから、これらの情報を
メモリ回路3中の自動演奏用音符データ・エリア
から読み出して、これらを音符長累エリア
(LACC)の各パートの部分に書き込む。次いで
上の4つのパートの音符長データ以外の音符デー
タ、すなわち、音高データとタイ情報(第6図参
照)をメモリ回路3から読み出し、各発音チヤネ
ルの前のラツチ8−1〜8−4にラツチし、これ
ら音符情報に基づく発音ゲート信号をラツチ9に
ラツチして発音を開始させる。これで音が出始め
るが、これと同時にテンポ・カウンタ2をクリア
する。次に、上で書き込んだ音符長累エリア
(LACC)の各パートの音符長データの値を比較
し、これらのうち、最も小さい値(最小累積音符
長データ値)を最小値格納エリア(MINV)に
書き込む。第4図の場合、第2パートと第3パー
トの「16」が最小であるから、MINVには16が
書き込まれる。この状態でテンポ・カウンタ2の
計数値を常に繰り返し読み取り、この「16」と比
較する。
のパートで構成されている。曲の最初の音符は第
1パートから第4パートまで、それぞれ音符長デ
ータが64(二分音符)、16(八分休符)、16(八分休
符)、32(四分音符)であるから、これらの情報を
メモリ回路3中の自動演奏用音符データ・エリア
から読み出して、これらを音符長累エリア
(LACC)の各パートの部分に書き込む。次いで
上の4つのパートの音符長データ以外の音符デー
タ、すなわち、音高データとタイ情報(第6図参
照)をメモリ回路3から読み出し、各発音チヤネ
ルの前のラツチ8−1〜8−4にラツチし、これ
ら音符情報に基づく発音ゲート信号をラツチ9に
ラツチして発音を開始させる。これで音が出始め
るが、これと同時にテンポ・カウンタ2をクリア
する。次に、上で書き込んだ音符長累エリア
(LACC)の各パートの音符長データの値を比較
し、これらのうち、最も小さい値(最小累積音符
長データ値)を最小値格納エリア(MINV)に
書き込む。第4図の場合、第2パートと第3パー
トの「16」が最小であるから、MINVには16が
書き込まれる。この状態でテンポ・カウンタ2の
計数値を常に繰り返し読み取り、この「16」と比
較する。
この第4図の例では、テンポ・クロツクの周期
(音符長データの値「1」に対応する)はだいた
い1msec〜数msecがその下限であるから、テン
ポ・カウンタ2が「1」だけカウント・アツプす
る前に、最抵10回程度はテンポ・カウンタ2のカ
ウント値を読み取ることができる。
(音符長データの値「1」に対応する)はだいた
い1msec〜数msecがその下限であるから、テン
ポ・カウンタ2が「1」だけカウント・アツプす
る前に、最抵10回程度はテンポ・カウンタ2のカ
ウント値を読み取ることができる。
さて、このカウント値が16になつたとき(ある
いは、16を越えたとき(越えても17は越えな
い))、上の最小累積音符長データ値である16の入
つていた第2パートと第3パートの次の音符であ
るそれぞれ四分音高(32)、四分音符(32)の音
符データを読み取つて、これらに基づく音高デー
タをラツチ8−2,8−3にそれぞれラツチし、
発音ゲート信号をラツチ9にラツチしてCH2と
CH3の発音を開始させる。次に、これらの音符の
音符長データの値「32」前回の最小累積音符長デ
ータ値であつた「16」に加算した「48」を音符長
累エリア(LACC)の第2パートと第3パートの
エリアに書き込む(加算累積)。ここで音符長累
エリア(LACC)の各パートの音符長データの値
を比較し、これらのうち、最も小さい値(最小累
積音符長データ値)を最小値格納エリア
(MINV)に書き込む。この場合、第4パートの
「32」が最小であるから、MINVには32が書き込
まれる。この状態でテンポ・カウンタ2の計数値
を常に繰り返し読み取り、この「32」と比較す
る。従つて、次の発音制御対象は、テンポ・カウ
ンタ2の計数値が32の時に起こり、最小累積音符
長データ値「32」の入つている第4パートの四分
休符である。以下この繰り返しで自動演奏が実行
される。
いは、16を越えたとき(越えても17は越えな
い))、上の最小累積音符長データ値である16の入
つていた第2パートと第3パートの次の音符であ
るそれぞれ四分音高(32)、四分音符(32)の音
符データを読み取つて、これらに基づく音高デー
タをラツチ8−2,8−3にそれぞれラツチし、
発音ゲート信号をラツチ9にラツチしてCH2と
CH3の発音を開始させる。次に、これらの音符の
音符長データの値「32」前回の最小累積音符長デ
ータ値であつた「16」に加算した「48」を音符長
累エリア(LACC)の第2パートと第3パートの
エリアに書き込む(加算累積)。ここで音符長累
エリア(LACC)の各パートの音符長データの値
を比較し、これらのうち、最も小さい値(最小累
積音符長データ値)を最小値格納エリア
(MINV)に書き込む。この場合、第4パートの
「32」が最小であるから、MINVには32が書き込
まれる。この状態でテンポ・カウンタ2の計数値
を常に繰り返し読み取り、この「32」と比較す
る。従つて、次の発音制御対象は、テンポ・カウ
ンタ2の計数値が32の時に起こり、最小累積音符
長データ値「32」の入つている第4パートの四分
休符である。以下この繰り返しで自動演奏が実行
される。
このとき、各音符の発音開始と停止のタイミン
グはテンポ・カウンタ2のカウンタ数(第4図参
照)が16、32、48、64、80、96、…のときに一致
(1クロツク程度の遅れがあるかも知れないが)
しているため、たとえ長時間、自動演奏したとし
てもテンポ・クロツクに完全に追従して、ずれて
しまうことはない。
グはテンポ・カウンタ2のカウンタ数(第4図参
照)が16、32、48、64、80、96、…のときに一致
(1クロツク程度の遅れがあるかも知れないが)
しているため、たとえ長時間、自動演奏したとし
てもテンポ・クロツクに完全に追従して、ずれて
しまうことはない。
以上の動作から解かるように、自動演奏は完全
にテンポクロツクに同期し、長期間演奏してもテ
ンポが狂つてしまうことは全くない。従つて、自
動リズム・マシンと同期してリズム付きの自動演
奏を行うときなども、リズムとの周期が完全にと
れて、ずれることがないため、非常に都合がよ
い。
にテンポクロツクに同期し、長期間演奏してもテ
ンポが狂つてしまうことは全くない。従つて、自
動リズム・マシンと同期してリズム付きの自動演
奏を行うときなども、リズムとの周期が完全にと
れて、ずれることがないため、非常に都合がよ
い。
なお、第1図の実施例では、マイクロ・コンピ
ユータを採用した回路を示したが、もちろんデイ
ジタル論理ICで構成するなどハードウエアのみ
でも実現できる。又、同実施例中の各ビツト数や
発音チヤネルの数、音符情報データの種類や構成
についても、全く制限なく実現できるものであ
る。
ユータを採用した回路を示したが、もちろんデイ
ジタル論理ICで構成するなどハードウエアのみ
でも実現できる。又、同実施例中の各ビツト数や
発音チヤネルの数、音符情報データの種類や構成
についても、全く制限なく実現できるものであ
る。
以上、説明したように本発明によれば、多数の
パートから成る複音自動演奏を長期間実行して
も、絶対にテンポが狂うことのない自動演奏装置
が実現することができ、しかもテンポカウンタの
最大カウント数の設定を可変にしているから、ど
のような曲の自動演奏にも簡単に適用できるとい
う優れた効果が得られる。
パートから成る複音自動演奏を長期間実行して
も、絶対にテンポが狂うことのない自動演奏装置
が実現することができ、しかもテンポカウンタの
最大カウント数の設定を可変にしているから、ど
のような曲の自動演奏にも簡単に適用できるとい
う優れた効果が得られる。
第1図は本発明の実施例の回路構成図、第2図
は実施例の動作を説明する動作フローチヤートを
示す図、第3図はメモリ回路3のRAMエリアマ
ツプ例を示す図、第4図は自動演奏曲とメモリエ
リアLACC、MINVの内容変化を示す図、第5図
はメモリ回路3中の自動演奏用音符データ・エリ
ア例を示す図、第6図は音符データの具体例を示
す図である。 1……CPU、2……テンポ・カウンタ、3…
…メモリ回路、4−1,4−4……発音チヤネ
ル、5……テンポクロツク発生器、6……スター
ト/ストツプスイツチ。
は実施例の動作を説明する動作フローチヤートを
示す図、第3図はメモリ回路3のRAMエリアマ
ツプ例を示す図、第4図は自動演奏曲とメモリエ
リアLACC、MINVの内容変化を示す図、第5図
はメモリ回路3中の自動演奏用音符データ・エリ
ア例を示す図、第6図は音符データの具体例を示
す図である。 1……CPU、2……テンポ・カウンタ、3…
…メモリ回路、4−1,4−4……発音チヤネ
ル、5……テンポクロツク発生器、6……スター
ト/ストツプスイツチ。
Claims (1)
- 【特許請求の範囲】 1 複数のパートから成る曲の音符の音符長デー
タと音高データとを含む音符情報が記憶されてい
るメモリと、 音高データ信号と発音ゲート信号とを供給され
て、上記音高データ信号に基づいた音高の楽音
を、上記発音ゲート信号に同期して発生する上記
複数のパートに1対1対応した複数個の発音チヤ
ネルと、 自動演奏のテンポを決定するテンポクロツク信
号を計数し、その最大カウント数が設定可変のプ
ログラマブル・カウンタで構成したテンポカウン
タと、 曲のそれぞれのパートに1対1対応して設けら
れ、それぞれのパートの音符長データ値を加算累
積した累積音符長データを書き込んでおくための
複数個の音符長累積レジスタと、 上記複数個の音符長累積レジスタの累積音符長
データを読み出し、これらの累積音符長データを
比較して、これらのうち最小の値である最小累積
音符長データ値を検出し、上記テンポカウンタの
計数値を読み出り、該計数値と上記最小累積音符
長データ値とを比較して、上記計数値が上記最小
累積音符長データ値と一致するか、又はこれを越
えた時に、上記最小累積音符長データ値の入つて
いる全ての音符長累積レジスタに該当するパート
のそれぞれ次の音符の音符長データと音高データ
とを上記メモリから読み出して、これらに対応す
る発音ゲート信号と音高データ信号とをそれぞれ
対応する上記発音チヤネルに供給して発音制御す
ると共に、これら発音制御の対象となつた音符の
音符長データ値と上記最小累積音符長データ値と
を加算した値をそれぞれ対応する上記最小累積音
符長データ値の入つていた音符長累積レジスタに
書き込む発音制御手段とを具備したことを特徴と
する自動演奏装置。 2 特許請求の範囲第1項において、テンポカウ
ンタを、その最大カウント数を自動演奏曲の1小
節分の音符長データに対応した数に設定したプロ
グラマブル・カウンタで構成したことを特徴とす
る自動演奏装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15537279A JPS5677894A (en) | 1979-11-29 | 1979-11-29 | Automatic player |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15537279A JPS5677894A (en) | 1979-11-29 | 1979-11-29 | Automatic player |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5677894A JPS5677894A (en) | 1981-06-26 |
| JPS6336518B2 true JPS6336518B2 (ja) | 1988-07-20 |
Family
ID=15604484
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP15537279A Granted JPS5677894A (en) | 1979-11-29 | 1979-11-29 | Automatic player |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5677894A (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2522343B2 (ja) * | 1988-03-08 | 1996-08-07 | ヤマハ株式会社 | 自動演奏装置 |
-
1979
- 1979-11-29 JP JP15537279A patent/JPS5677894A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5677894A (en) | 1981-06-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0823746B2 (ja) | 自動楽音発生装置 | |
| US5009145A (en) | Automatic performance apparatus having automatic synchronizing function | |
| JPS6364799B2 (ja) | ||
| US4542675A (en) | Automatic tempo set | |
| JPS6336518B2 (ja) | ||
| JPS6336517B2 (ja) | ||
| JP2587737B2 (ja) | 自動伴奏装置 | |
| JPH0631977B2 (ja) | 電子楽器 | |
| JPH0331273B2 (ja) | ||
| JPH0375874B2 (ja) | ||
| JPH04360199A (ja) | 自動演奏装置 | |
| JPH07325578A (ja) | 自動伴奏装置 | |
| JP3143039B2 (ja) | 自動演奏装置 | |
| JPS6253839B2 (ja) | ||
| JP2636393B2 (ja) | 自動演奏装置 | |
| JPH05188961A (ja) | 自動伴奏装置 | |
| JPS59195690A (ja) | 電子楽器 | |
| JPH08314456A (ja) | 自動伴奏装置 | |
| JPH0531680Y2 (ja) | ||
| JPH0437440B2 (ja) | ||
| JPH0451838B2 (ja) | ||
| JPS62183496A (ja) | 自動リズム演奏装置 | |
| JPS648834B2 (ja) | ||
| JPS61141494A (ja) | 自動演奏装置 | |
| JPH0421199B2 (ja) |