JPH0990953A - アルペジエータ - Google Patents
アルペジエータInfo
- Publication number
- JPH0990953A JPH0990953A JP7241056A JP24105695A JPH0990953A JP H0990953 A JPH0990953 A JP H0990953A JP 7241056 A JP7241056 A JP 7241056A JP 24105695 A JP24105695 A JP 24105695A JP H0990953 A JPH0990953 A JP H0990953A
- Authority
- JP
- Japan
- Prior art keywords
- key
- information
- rhythm pattern
- pattern table
- scan
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
って複数の演奏情報を順次生成するアルペジエータに関
し、より音楽的なアルペジオ演奏を簡単な操作で行な
う。 【解決手段】各ステップ毎に、リズムの時間間隔、発音
持続時間、発音の強さ係数が記憶されたリズムパターン
テーブルを備え、そのリズムパターンテーブルに従って
アルペジオ演奏を行なう。
Description
その走査結果に従って複数の演奏情報を順次生成するア
ルペジエータに関する。
エータと呼ばれる機能が搭載されているものがある。こ
のアルペジエータとは、時間の経過毎に、押鍵情報を、
例えば音高の低い方から高い方へと順番に走査し、その
結果に従って演奏情報を順次出力する機能である。
奏の困難なアルペジオ演奏を、単に複数の鍵を同時に押
鍵するだけの簡単な演奏操作によって実現することがで
きる。
アルペジエータは、ある決まった一定の時間間隔で押鍵
情報を走査してその一定の時間間隔で演奏情報を順次出
力するものであり、このため発音タイミングは完全に均
等になり、人間らしさがなく、音楽的に味気ないものと
なってしまう傾向があった。
の楽音の特質も均等であり、この点からも人間らしさが
なく、音楽的に味気ないアルペジオ演奏となってしまっ
ていた。本発明は、従来のアルペジエータでは不可能で
あった、より音楽的なアルペジオ演奏を簡単な操作で行
なうことのできるアルペジエータを提供することを目的
とする。
明の第1のアルペジエータは、 (1−1)複数の鍵それぞれに対応する記憶領域を有
し、鍵が押鍵されたことを表わす押鍵情報を、押鍵され
た鍵に対応する記憶領域に、消去自在に書き込む押鍵情
報記憶手段 (1−2)リズムの1ステップ毎に、あるステップと、
そのステップに続く次のステップとの間の時間間隔が、
1つのステップもしくは複数のステップそれぞれに記録
されて成るリズムパターンテーブルを記憶するリズムパ
ターンテーブル記憶手段 (1−3)上記リズムパターンテーブルの各ステップを
順次参照するとともに、その各ステップに対応して上記
記憶領域を走査し、その走査により検出された押鍵情報
に基づく楽音を表わす演奏情報を、リズムパターンテー
ブルの、その走査に対応するステップに記録された時間
間隔に従ったタイミングで生成する演奏情報生成手段を
備えたことを特徴とする。
リズムパターンテーブルの各ステップ毎にリズムの時間
間隔が記録されており、その時間間隔に従ったタイミン
グで演奏情報が生成されるので、時間的に等分された単
純なアルペジオ演奏だけでなく、さまざまなリズムのア
ルペジオ演奏が可能になる。また、上記目的を達成する
本発明の第2のアルペジエータは、 (2−1)複数の鍵それぞれに対応する記憶領域を有
し、鍵が押鍵されたことを表わす押鍵情報を、押鍵され
た鍵に対応する記憶領域に、消去自在に書き込む押鍵情
報記憶手段 (2−2)リズムの1ステップ毎に、そのステップにお
ける楽音の特質を規定する情報が、1つのステップもし
くは複数のステップそれぞれに記録されて成るリズムパ
ターンテーブルを記憶するリズムパターンテーブル記憶
手段 (2−3)上記リズムパターンテーブルの各ステップを
順次参照するとともに、その各ステップに対応して上記
記憶領域を走査し、その走査により検出された押鍵情
報、および上記リズムパターンテーブルの、その走査に
対応するステップに記録された情報との双方に基づく楽
音を表わす演奏情報を生成する演奏情報生成手段を備え
たことを特徴とする。
タにおいて、上記楽音の特質を規定する情報としては、
例えば楽音の発音持続時間を規定する情報が採用され
る。この場合、スタッカートやテヌートの効果を、アル
ペジオ演奏の各楽音毎に独立して付加できるので、リズ
ムの多彩なニュアンスやアーティキュレーションを付け
ることができる。
ータにおいて、上記楽音の特質を規定する情報として、
楽音の発音の強さを規定する情報を採用してもよい。こ
の場合、各楽音毎に強弱を付けることができ、さまざま
なアクセントのアルペジオ演奏が実現する。上記本発明
の第1のアルペジエータないし第2のアルペジエータに
おいて、上記押鍵情報記憶手段が、鍵が押鍵されたこと
を表わすとともに押鍵の強さの情報を含む押鍵情報を、
押鍵された鍵に対応する記憶領域に、消去自在に書き込
むものであって、上記演奏情報生成手段が、前記走査に
より検出された押鍵情報に含まれた押鍵の強さの情報に
対応する発音の強さの情報を含む演奏情報を生成するも
のであることが好ましい。
の意図を楽音の発音の強さに反映させることができる。
また、上記本発明の第2のアルペジエータにおいて、上
記の楽音の特質を規定する情報として、楽音の発音の強
さを規定する情報を採用した場合に、上記押鍵情報記憶
手段が、鍵が押鍵されたことを表わすとともに押鍵の強
さの情報を含む押鍵情報を、押鍵された鍵に対応する記
憶領域に、消去自在に書き込むものであって、上記演奏
情報生成手段が、上記走査により検出された押鍵情報に
含まれた押鍵の強さの情報、および、上記リズムパター
ンテーブルの、その走査に対応するステップに記録され
た楽音の発音の強さを規定する情報の双方に基づいて定
められた発音の強さの情報を含む演奏情報を生成するも
のであることも好ましい態様である。
された楽音の発音の強さを規定する情報を生かしつつ、
演奏者の意図も楽音の発音の強さに反映させることがで
きる。また、上記本発明の第1のアルペジエータないし
第2のアルペジエータにおいて、上記リズムパターンテ
ーブル記憶手段が、複数のリズムパターンテーブルを記
憶するものであり、上記演奏情報生成手段が、複数のリ
ズムパターンテーブルの中から選択された1つのリズム
パターンテーブルを参照するものであることが好まし
い。
記憶しておくことにより、演奏者の選択の幅が広がり、
演奏者の好みやニュアンスに合ったアルペジオ演奏を行
なうことができる。複数のリズムパターンテーブルを記
憶する場合に、上記リズムパターンテーブル記憶手段
が、それら複数のリズムパターンテーブルのうちの少な
くとも一部のリズムパターンテーブルを書換え自在に、
もしくは新たなリズムパターンテーブルを追加自在に記
憶するものであることが好ましい。
を書換え自在もしくは追加自在としておくことにより、
演奏者の好みに一層適合したアルペジオ演奏のリズムパ
ターンを生成することができるとともに、書換え自在も
しくは追加自在とすることに代えて演奏者の微妙な好み
の相違それぞれに適合した多数のリズムパターンテーブ
ルを用意しておく場合と比べ、メモリ容量の節約にもな
る。
タないし第2のアルペジエータにおいて、上記演奏情報
生成手段が、楽音の特質の変更深さを規定する情報に基
づいて変更された楽音を表わす演奏情報を生成するもの
であることも好ましい態様である。上記の楽音の特質の
変更深さを規定する情報としては、例えば、楽音の発音
持続時間の変更の程度を規定する情報や、あるいは楽音
の発音の強さの変更の程度を規定する情報が採用され
る。
書き換えたり、異なるリズムパターンのテーブルを追加
したりすることなく、アルペジオ演奏におけるスタッカ
ートやテヌートの効果、あるいはアクセントの効果など
の微妙な調整が可能となる。上記の楽音の特質の変更深
さを規定する情報は外部から入力されるものであっても
よいが、楽音の特質の変更深さを規定する情報であっ
て、その変更深さが操作の度合に応じて定められてなる
情報を生成する操作子を備えると、その操作子を操作す
ることで、上記の効果をリアルタイムで変更することが
でき、より音楽的なアルペジオ演奏が可能となる。
において、リズムパターンテーブルに記録された楽音の
特質を規定する情報として楽音の発音の強さを規定する
情報を採用した場合に、上記押鍵情報記憶手段が、鍵が
押鍵されたことを表わすとともに押鍵の強さの情報を含
む押鍵情報を、押鍵された鍵に対応する記憶領域に、消
去自在に書き込むものであって、上記演奏情報生成手段
が、上記走査により検出された押鍵情報に含まれた押鍵
の強さの情報、上記リズムパターンテーブルの、その走
査に対応するステップに記録された楽音の発音の強さを
規定する情報、および楽音の発音の強さの変更の度合を
規定する情報の三者に基づいて定められた発音の強さの
情報を含む演奏情報を生成するものであることも好まし
い態様である。
された楽音の発音の強さを規定する情報を生かしつつ、
演奏者の意図も楽音の発音の強さに反映させることがで
き、しかも、リズムパターンテーブル全体を書き換えた
り、異なるリズムパターンのテーブルを追加したりする
ことなく、アルペジオ演奏におけるアクセントの効果の
微妙な調整が可能となる。
し、鍵が押鍵されたことを表わす押鍵情報を、押鍵され
た鍵に対応する記憶領域に、消去自在に書き込む押鍵情
報記憶手段 (3−2)リズムの1ステップ毎に、あるステップと、
そのステップに続く次のステップとの間の時間間隔が、
1つのステップもしくは複数のステップそれぞれに記録
されて成るリズムパターンテーブルを記憶するリズムパ
ターンテーブル記憶手段 (3−3)上記記憶領域を走査する方式を規定する複数
種類のスキャン方式の中から選択された1つのスキャン
方式、もしくは同一種類のスキャン方式の重複が許容さ
れた複数のスキャン方式それぞれが、1つのステップ、
もしくは複数のステップそれぞれに記録されて成るスキ
ャンモードテーブルを記憶するスキャンモードテーブル
記憶手段 (3−4)上記リズムパターンテーブルの各ステップお
よび上記スキャンモードテーブルの各ステップを順次参
照し、上記スキャンモードテーブルの各ステップに記録
されたスキャン方式に従って上記記憶領域を走査し、そ
のにより検出された押鍵情報に基づく楽音を表わす演奏
情報を、リズムパターンテーブルの、該走査に対応する
ステップに記録された時間間隔に従ったタイミングで生
成する演奏情報生成手段を備えたことを特徴とする。
は、 (4−1)複数の鍵それぞれに対応する記憶領域を有
し、鍵が押鍵されたことを表わす押鍵情報を、押鍵され
た鍵に対応する記憶領域に、消去自在に書き込む押鍵情
報記憶手段 (4−2)リズムの1ステップ毎に、そのステップにお
ける楽音の特質を規定する情報が、1つのステップもし
くは複数のステップそれぞれに記録されて成るリズムパ
ターンテーブルを記憶するリズムパターンテーブル記憶
手段 (4−3)上記記憶領域を走査する方式を規定する複数
種類のスキャン方式の中から選択された1つのスキャン
方式、もしくは同一種類のスキャン方式の重複が許容さ
れた複数のスキャン方式それぞれが、1つのステップ、
もしくは複数のステップそれぞれに記録されて成るスキ
ャンモードテーブルを記憶するスキャンモードテーブル
記憶手段 (4−4)上記リズムパターンテーブルの各ステップお
よび上記スキャンモードテーブルの各ステップを順次参
照し、スキャンモードテーブルの各ステップに記録され
たスキャン方式に従って上記記憶領域を走査し、その走
査により検出された押鍵情報、およびリズムパターンテ
ーブルの、その走査に対応するステップに記録された、
楽音の特質を規定する情報の双方に基づく楽音を表わす
演奏情報を生成する演奏情報情報生成手段を備えたこと
を特徴とする。
第4のアルペジエータは、それぞれ、本発明の第1のア
ルペジエータおよび第2のアルペジエータの構成に加
え、さらに、上記スキャンモードテーブル記憶手段を備
え、複数のスキャン方式、例えば上昇スキャン方式、下
降スキャン方式等の中から選択された1つもしくは複数
の、スキャン方式をスキャンモードテーブルに記録して
おいて、実際のアルペジオ演奏にあたってはそのスキャ
ンモードテーブルの各ステップに記録されたスキャン方
式を順次参照しながら、参照したスキャン方式に応じて
押鍵情報を走査して演奏情報を生成するものであるた
め、上述した、それぞれ、本発明の第1のアルペジエー
タおよび第2のアルペジエータの利点に加え、さらに、
従来と同様の複数の鍵を同時に押える等の簡単な操作
で、スキャンモードテーブルに記録されたスキャン方式
のパターンに応じ極めて複雑な、あるいは音楽的な意味
のあるアルペジオ演奏が実現する。
タないし第4のアルペジエータにおいて、上記リズムパ
ターンテーブル記憶手段および上記スキャンモードテー
ブル記憶手段が、それぞれ、複数のリズムパターンテー
ブルおよび複数のスキャンモードテーブルを記憶するも
のであり、このアルペジエータが、上記複数のリズムパ
ターンテーブルのうちのいずれか1つのリズムパターン
テーブルと上記複数のスキャンモードテーブルのうちの
いずれか1つのスキャンモードテーブルとが対応づけら
れて成るスタイルを複数種類記憶するスタイル記憶手段
を備え、上記演奏情報生成手段が、所定のスタイル選択
情報により選択されたスタイルにより対応づけられたリ
ズムパターンテーブルおよびスキャンモードテーブルを
参照するものであることが好ましい。
キャンモードとの組合せをいちいち意識することなく、
スタイルを選ぶことで自分の好みのリズムパターンとス
キャンモードが選択され、使い勝手の良いアルペジエー
タが実現する。
説明する。図1は、本発明のアルペジエータの一実施形
態の回路構成図である。ここには、CPU10、アドレ
スバス11およびデータバス12でそのCPU10と接
続された、RAM13,ROM14,パネル15、およ
びCPU10にクロックの発生を通知するクロックタイ
マ16、MIDI規格に準拠したデータを入力するデー
タ入力端子(MIDI IN)17、MIDI規格に準
拠したデータを出力するデータ出力端子(MIDI O
UT)18が備えられている。
であり、ここには、CPU10で実行されるプログラム
や、そのプログラムで参照される各種テーブルが格納さ
れている。プログラムやテーブルの詳細については後述
する。RAM13は、CPU10で実行されるプログラ
ムのワーキングエリアとして使用される。ここでは、こ
のRAM13は電池でバックアップされており、電源を
切ってもそのときのメモリ内容は保存される。メモリの
内容について後述する。
ち、パラメータを独立して選択しそのパラメータに値を
設定することができる。設定された値はRAM13内の
メモリに記憶される。図2は、パネル15を示した図で
ある。このパネルでは、リズムパターン番号(Rhyt
hem Pattern#)、スキャンモード番号(S
can Mode#)、およびグルーブレート(Gro
ove Rate)を設定することができる。
タイミング、デュレーション、ベロシティ係数のパター
ンを組み合わせたものである。リズムパターン設定用操
作子151は、値をインクリメントする操作ボタン15
1aと値をデクリメントする操作ボタン151bとのペ
アから成り、それらの操作ボタン151a,151bで
設定した値は表示器151cに表示されるとともに、上
述したように、RAM13に格納される。
査するかというスキャン方式のセットをいう。スキャン
モード設定用操作子152は、上記リズムパターン設定
用操作子151と同様に、値をインクリメントする操作
ボタン152aと値をデクリメントする操作ボタン15
1bとのペアから成り、それらの操作ボタン151a,
151bで設定した値は、表示器152cに表示される
とともに、RAM13に格納される。
度を定めるものであり、グルーブレート設定用操作子1
53はスライダから成り、そのスライドボタン153a
を一番下に動かすとグルーブレートパラメータに値
‘0’が設定され、一番上に動かすとグルーブレートパ
ラメータに値‘100’が設定され、それらの中間に設
定すると設定された位置に応じた、0〜100の間の値
が設定される。この設定された値は、RAM13に格納
される。
図1に戻って説明を続行する。クロックタイマ16は、
一定の周期でクロックを発生し、クロック発生のたび
に、CPUに対し、クロックの発生を通知する。本実施
形態では、96クロック分の時間が4分音符の発音時間
と定めれており、このクロック周期によってアルベジオ
のテンポが決定される。
は、例えば図示のように鍵盤20が接続され、鍵盤20
の演奏により生成された押鍵(ノートオン)情報、離鍵
(ノートオフ)情報が入力される。また、その鍵盤20
には、ホールドペダル21が接続されており、そのホー
ルドペダル21の操作により生成されたホールドオン情
報、ホールドオフ情報(これらを合わせてホールド情報
と称する。)も、MIDIデータの一種として、データ
入力端子17を経由して入力される。
力される押鍵情報、離鍵情報を受信してアルペジオ演奏
用の演奏情報を順次生成し、その演奏情報をデータ出力
端子18から外部に向けて出力する。データ出力端子1
8には、例えば図示のように音源30が接続されてお
り、その音源30では受信した演奏情報に基づいて楽音
信号が生成される。その楽音信号は、例えば音源30に
内蔵された、あるいは音源30に接続されたアンプ、ス
ピーカ等から成るサウンドシステムにより、楽音として
空間に放音される。
る、ROM内に記憶された各種テーブルについて説明
し、次いで、RAM内に確保された各種メモリについて
説明し、その後、それらのテーブルやメモリを用いたプ
ログラムについて説明する。図3は、リズムパターンテ
ーブルの基本パターンを示す図である。リズムパターン
テーブルは、その各ステップがリズムの各ステップに対
応しており、各ステップには、そのステップとそのステ
ップに続く次のステップとの間の時間間隔(ステップタ
イム;Step Time)、そのステップのリズム音
の持続時間(デュレーション;Duration)、そ
のステップのリズム音の発音の強さを規定するベロシテ
ィ係数(Velo.Coef.)が記録されており、最
後にそのリズムパターンテーブルのサイズ(ステップ
数;Step Size)が記録されている。1ステッ
プ分のメモリ容量は、ステップタイムが2バイト、デュ
レーションが2バイト、ベロシテイ係数が1バイトの合
計5バイトであり、ステップ数は、1バイトである。ス
テップタイム、デュレーションの欄は、前述したクロッ
ク(4分音符=96クロック)を単位とした数値が記録
されている。
複数種類記録されており、各リズムパターンテーブルに
は番号が付されている。図2に示すリズムパターン設定
用操作子151を操作してそのリズムパターン番号を設
定することにより、演奏者が任意のリズムパターンテー
ブルを選択することができる。ここでは、リズムパター
ンテーブル、およびそのステップ数は、それぞれ、RH
Y_XXX_TBL[n]、RHY_XXX_SIZE
と表記される。XXXはそのリズムパターンテーブルの
名称を表わし、[n]のnは、そのリズムパターンテー
ブル内部のステップ番号(0≦n<RHY_XXX_S
IZE)である。
nステップに記録されたステップタイム、デュレーショ
ン、ベロシティ係数は、それぞれ、 RHY_XXX_TBL[n].stepTime RHY_XXX_TBL[n].duration RHY_XXX_TBL[n].veloCoef と表記される。
て説明する。図4は、4分音符用のリズムパターンテー
ブルおよびそのステップ数を示した図である。このリズ
ムパターンテーブルは4分音符用であることを表わす
‘4’という名称を有しており、RHY_4_TBLと
表記される。RHY_4_TBL[0].stepTi
me,RHY_4_TBL[0].duration,
RHY_4_TBL[0].veloCoefは、それ
ぞれ96(4分音符のクロック数)、92、127であ
る。ステップ数はRHY_4_SIZEと表記される。
このリズムパターンテーブルRHY_4_TBLは1ス
テップのみで成り立っているため、ステップ数RHY_
4_SIZEは‘1’である。
TBL、および以下に示すリズムパターンテーブルRH
Y_XXX_TBLのそれぞれには、それぞれ異なるリ
ズムパターン番号が付されており、この図4に示すリズ
ムパターンテーブルRHY_XXX_TBLのリズムパ
ターン番号は‘0’である。図5,図6,図7,図8,
図9は、それぞれ、16分音符用(名称:16)、ワル
ツ(WALTZ)用、シャッフル(SHUFFLE)
用、ディミニッシュ(DIM)用、レゲエ(REGGA
E)用のリズムパターンテーブルおよびそのステップ数
を示した図である。リズムパターン番号はこの順に、
1,2,3,4,5が付されている。これらの構造につ
いては上述の説明から明らかであるため、詳細説明は省
略する。
パターンを示す図である。スキャンモードテーブルの各
ステップには、押鍵情報を走査する方式(スキャン方
式)の番号(スキャンファンクション番号;Scan
Function#)が記録されている。このスキャン
モードテーブル1ステップ分のメモリ容量は1バイトで
あり、ステップ数も1バイトである。
4に複数種類記憶されており、図2に示すスキャンモー
ド設定用操作子152を操作することにより、演奏者が
任意のスキャンモードテーブルを選択することができ
る。ここで、スキャンモードテーブル、およびそのステ
ップ数は、それぞれSMODE_XXX_TBL
[n]、SMODE_XXX_SIZEと表記される。
XXXはそのスキャンモードテーブルの名称を表わし、
[n]のnは、そのスキャンモードテーブル内部のステ
ップ番号(0≦n<SMODE_XXX_SIZE)で
ある。
an Fuction)は以下のとおりである。 (1)上昇スキャン方式 押鍵情報を、音高の低い方から高い方へと走査する。こ
こでは、これを、SCAN_Uと表記する。
を、SCAN_Dと表記する。 (3)上昇下降スキャン方式 音高の低い方から高い方へと走査し、最高音に達した
ら、今度は音高の高い方から低い方へと走査する。ここ
では、これをはSCAN_UDと表記する。
表記する。 (5)押鍵順スキャン方式 押鍵情報の入力順に走査する。ここではこれを、SCA
N_Oと表記する。 (6)和音スキャン方式 現在押鍵されているものすべてを走査する。ここではこ
れを、SCAN_Cと表記する。
小さなもの(最低音)だけを走査する。ここではこれ
を、SCAN_Bと表記する。 (8)最高音スキャン方式 現在押鍵されているもののうちノートナンバのもっとも
大きなもの(最高音)だけを走査する。ここではこれ
を、SCAN_Tと表記する。
る。ここでは、これをSCAN_U_WO_B(Sca
m up without bass)と表記する。 (10)最低音抜きランダムスキャン方式 最低音を除いて、ランダムに走査する。ここでは、これ
をSCAN_R_WO_Bと表記する。
する。ここでは、これをSCAN_C_WO_Bと表記
する。 (12)最高音抜き上昇スキャン方式 最高音を除いて、音高の低い方から高い方へと走査す
る。ここでは、これをSCAN_U_WO_Tと表記す
る。
す。図11は、上昇スキャン用のスキャンモードテーブ
ル、およびそのステップ数を示した図である。このスキ
ャンモードテーブルは、上昇スキャン用であることを表
わす‘UP’という名称を表わしており、SMODE_
UP_TBLと表記される。ステップ数は、SMODE
_UP_SIZEと表記される。このスキャンモードテ
ーブルSMODE_UP_TBLは、上昇スキャン方式
SCAN_Uが記録された1ステップのみで成り立って
いるため、ステップ数SMODE_UP_SIZEは
‘1’である。このスキャンモードテーブルSMODE
_UP_TBL、および以下に示す各スキャンモードテ
ーブルSMODE_XXX_TBLのそれぞれには、そ
れぞれ異なるスキャンモード番号が付されており、この
図11に示すスキャンモードテーブルSMODE_UP
_TBLのスキャンモード番号は‘0’である。
6,図17,図18,図19は、それぞれ下降スキャン
用(DOWN)、上昇下降スキャン用(UP_DW),
ランダムスキャン用(RANDOM)、和音スキャン用
(CHORD)、押鍵順スキャン用(ORDER)、ワ
ルツ用(WALTZ)、レゲエ用(REGGAE)、三
味線用(SHAMI)のスキャンモードテーブルおよび
そのステップを示した図である。
2,3,4,5,6,7,8が付されている。これらの
構造については、上述の説明から明らかであるため、詳
細説明は省略する。次に各種パラメータ値等が格納され
るRAM内のメモリにつてい説明する。図20はリズム
パターンパラメータを示す図である。このリズムパター
ンパラメータは1バイトのメモリであり、このメモリに
は、図2に示すパネル15のリズムパターン設定用操作
子151の操作により設定されたリズムパターン番号が
格納される。ここではこれを、PRM_RHYTHMと
表記する。
す図である。このスキャンモードパラメータも、1バイ
トのメモリであり、このメモリには、図2に示すパネル
15のスキャンモード設定用操作子152の操作により
設定されたスキャンモード番号が格納される。ここで
は、これを、PRM_SMODEと表記する。図22
は、グルーブレートパラメータを示す図である。このグ
ルーブレートパラメータも1バイトのメモリであり、こ
のメモリには図2に示すパネル15のグルーブレード設
定用操作子の操作により設定されたブルーブレートの値
が格納される。この値の範囲は、前述したように、0〜
100である。ここではこれを、PRM_GROOVE
と表記する。
る。このノートバッファは、128バイトの配列であ
り、各1バイトは、鍵盤20(図1参照)の各鍵(ノー
トナンバ)に対応しており、押鍵情報を受信すると、そ
の押鍵情報中の押鍵強さを表わす情報(ノートオンベロ
シティ)が、その押鍵情報中のノートナンバに対応する
領域に格納される。対応する鍵が離鍵(ノートオフ)さ
れている場合、あるいはそれまで押鍵されていて離鍵さ
れた場合は、その領域には‘−1’が格納される。
NOTEBUF[n]と表記する。nはノートナンバを
表わす。図24は、プレイバッファを示す図である。こ
のプレイバッファは、図23に示すノートバッファと同
様128バイトの配列であり、各1バイトは、各ノート
ナンバに対応している。ただし、このプレイバッファに
は、図23に示すノートバッファとは異なり、ホールド
情報を加味したノートオンベロシティが記憶される。す
なわち、図1に示す鍵盤20に接続されたホールドペダ
ル21が踏まれると、データ入力端子17を経由してホ
ールドオン情報が入力され、ホールドペダル21が離さ
れるとデータ入力端子17を経由してホールドオフ情報
が入力されるが、ホールドオン情報を受信すると、ホー
ルドオフ情報を受信する迄の間、この図24に示すプレ
イバッファに格納された押鍵情報の消去が禁止される。
ホールドオフ情報が入力されると、プレイバッファには
そのときのノートバッファの内容がコピーされ、以後、
次にホールドオン情報が入力されない限り、プレイバッ
ファは常にノートバッファと同一の内容を維持する。ア
ルペジオ演奏を行なうにあたっては、ホールド情報が加
味されたベロシティが配列された、このプレイバッファ
が走査される。ここでは、このプレイバッファの領域
を、PLAYBUF[n]と表記する。nはノートナン
バを表わす。
ッファを示す図である。このカレントプレイノートナン
ババッファは1バイトのメモリであり、このメモリに
は、アルペシオ演奏中の現在のステップのノートナンバ
が格納される。ここではこれを、CUR_NOTEと表
記する。図26は、ホールドバッファを示す図である。
このホールドバッファは1バイトのメモリであり、ここ
には0〜127の数値のホールド情報が格納される。図
1に示すホールドペダル21を操作すると、データ入力
端子17からは、その操作量に応じた0〜127の数値
で表わされるホールド情報が入力され、そのホールド情
報がこのホールドバッファに格納される。ここでは、こ
の数値が64以上であればホールドオン情報、64未満
であれはホールドオフ情報とみなされる。ここではこれ
を、HOLDと表記する。
る。このオーダバッファは、1ステップが2バイトから
なる16ステップの配列であり、各ステップには、ノー
トナンバとそのノートナンバのベロシティが格納され
る。このオーダバッファには、押鍵された鍵のノートナ
ンバとその押鍵時のベロシティが押鍵順に格納され、離
鍵されたときは、その鍵のノートナンバおよびベロシテ
ィが抹消され先頭詰めに並べ直される。ここではこれ
を、ORDER[n]と表記する。nは、ステップ番号
(n=0〜15)である。特に、第nステップのノート
ナンバのみ、ベロシティのみを指すときは、それぞれO
RDER[n].note、ORDER[n].vel
oと表記される。
である。このオーダライトカウンタは1バイトのメモリ
であり、このメモリには、押鍵情報を次に受信した場合
に、その受信した押鍵情報を、図27に示すオーダバッ
ファORDER[]の何番目のステップに格納するかを
示す値が格納される。このオーダライトカウンタのとり
得る値は0〜16である。0〜15は、オーダバッファ
ORDER[]の各ステップに対応し、16は、オーダ
バッファORDER[]が満杯であることを意味する。
ここではこれを、ORDER_WRと表記する。
す図である。このオーダポジションカウンタは1バイト
のメモリであり、このメモリには、アルペジオ演奏中の
現在のステップの楽音が図27に示すオーダバッファO
RDER[]の何番めのステップに対応する楽音である
かを示す値が格納される。このオーダポジションカウン
タのとり得る値は−1〜15である。0〜15は、図2
7に示すオーダバッファORDER[]の各ステップに
対応し、−1はアルペジオ演奏の一連のステップをこれ
から開始するタイミング(前回の一連のステップが終了
したタイミング)であることを意味している。ここでは
これを、CUR_ORDERと表記する。
ョンカウンタを示す図である。このリズムパターンテー
ブルポジションカウンタは1バイトのメモリであり、こ
のメモリは、現在選択されているリズムパターンテーブ
ル(図3、および図4〜図9の各例を参照)中のステッ
プを指し示すポインタである。このポインタはアルペジ
オ演奏中の現在のリズムステップに対応している。この
リズムパターンテーブルポジションカウンタのとり得る
値は0以上、かつ現在選択されているリズムパターンテ
ーブルのステップ数RHY_XXX_SIZE未満であ
る。ここではこれを、CUR_RHYと表記する。
ョンカウンタを示す図である。このスキャンモードテー
ブルポジションカウンタは1バイトのメモリであり、現
在選択されているスキャンモードテーブル(図10、お
よび図11〜図19の各例を参照)中のステップを指し
示すポインタである。このポインタも、アルペジオ演奏
中の現在のリズムステップに対応している。スキャンモ
ードテーブルポジションカウンタのとり得る値は、0以
上、かつ現在選択されているスキャンモードテーブルの
ステップ数SMODE_XXX_SIZE未満である。
ここでは、これをCUR_SMODEと表記する。
る。このクロックカウンタは2バイト(16ビット)の
メモリであり、図1に示すクロックタイマ16がクロッ
クを1つ発生するたびにこのクロックカウンタの値が
‘1’ずつ増加する。このクロックカウンタの値の範囲
は、0000h〜FFFFhであり、FFFFhの次は
0000hに戻り、電源がオンである間、無限に巡回す
る。このクロックの値の増加に基づいてアルペジオが進
行する。ここではこれを、CLOCKと表記する。
す図である。このネクストクロックバッファは2バイト
(16ビット)のメモリであり、このメモリには、アル
ペジオ演奏の次のステップの時刻が格納される。すなわ
ち、図32に示すCLOCKが増加して、このネクスト
クロックバッファに格納されている値に達すると、押鍵
情報を走査してノートオンデータを送信する。1回のス
テップの処理が終了すると、このネクストクロックバッ
ファの値は次のステップの時刻に更新される。このネク
ストクロックバッファのとり得る値の範囲は0000h
〜FFFFhである。ここではこれを、NEXTCLK
と表記する。
ファを示す図である。このノートオフリザベーションバ
ッファは3バイト×16の配列であり、このノートオフ
リザベーションバッファには、ノートオフすべきノート
ナンバと、それをノートオフデータとして実際に送信す
べきタイミングとがペアで格納される。この送信タイミ
ングは図32のCLOCKの値で表わされる。CLOC
Kが順次増加していってこのノートオフリザベーション
バッファに格納されている送信タイミングのうちのいず
れかの送信タイミングに到達すると、その送信タイミン
グとペアで格納されているノートナンバについてノート
オフデータが送信される。このノートオフリザベーショ
ンバッファ中の有効なデータが格納されていない領域、
あるいはノートオフデータを送信し終わった領域には
‘−1’が格納される。
記する。nは、ノートナンバとその送信タイミングとの
ペアのn番目の格納領域を意味する。特にOFFRSV
[n]の中ノートナンバ、送信タイミングを指し示すと
きは、それぞれ、OFFRSV[n].note,OF
FRSV[n].clockと表記される。図35は、
エンドフラグを示す図である。このエンドフラグは、こ
こでは1バイトのメモリで構成されているが、フラグの
性質上1ビットで構成してもよい。このエンドフラグは
‘0’と‘1’との2値をとり、‘0’は、アルペジオ
演奏中の1回のステップの発音のための走査が未了であ
ることを示し、‘1’は、1回のステップの発音のため
の走査が終了したことを示している。ここではこれを、
END_FLGと表記する。
である。このベースノートバッファは1バイトのメモリ
であり、このメモリには、ホールド情報を加味した押鍵
中の鍵のうちの最低音の鍵のノートナンバが格納され
る。ここではこれを、LOと表記する。図37は、トッ
プノートバッファを示す図である。このトップノートバ
ッファは1バイトのメモリであり、このメモリにはホー
ルド情報を加味した押鍵中の鍵のうちの最高音の鍵のノ
ートナンバが格納される。ここではこれを、HIと表記
する。
して使用するメモリもあるが、後述するプログラムの説
明で足りるため、ここでは、ここに説明した以外のメモ
リについて1つずつ取りあげた説明は省略する。以下
に、これまで説明したテーブルやメモリを用いてCPU
で実行されるプログラムについて説明する。
源オフ時まで動作し続けるゼネラルプログラムのフロー
チャートである。電源が投入されると、先ず所定の初期
化が行なわれ(ステップ38_1)、それ以後、クロッ
クタイマ16(図1参照)からクロックの発生が通知さ
れたか否か(ステップ38_2)、パネル15(図1,
図2参照)が操作されいずれかのパラメータがエディッ
トされたか否か(ステップ38_4)、ノートオンデー
タ(押鍵情報)が入力されたか否か(ステップ38_
6)、ノートオフデータ(離鍵情報)が入力されたか否
か(ステップ38_8)、ホールドデータ(ホールド情
報)が入力されたか否か(ステップ38_10)が順次
循環的にモニタされ、各ステップ38_2,38_4,
38_6,38_8,38_10で各イベントが発生し
たことが認識されると、それぞれ、クロック処理(ステ
ップ38_3)、エディット処理(ステップ38_
5)、ノートオン処理(ステップ38_7)、ノートオ
フ処理(ステップ38_9)、ホールドデータ処理(ス
テップ38_11,38_12,38_13)が行なわ
れる。
(図26参照)にホールド値が格納され(ステップ38
_11)、そのホールド値が、ホールドオンを表わす6
4以上であるか否かが判定され(ステップ38_1
2)、ホールドオフを表わす63以下の場合、ホールド
オフ処理が行なわれる(ステップ38_13)。図39
は、初期化処理ルーチンのフローチャートである。この
初期化処理ルーチンは、図38に示すゼネラルプログラ
ムのステップ38_1で実行される。
シティが押鍵順に格納されるオーダバッファORDER
[](図27参照)がクリアされ、そのオーダバッファ
ORDER[]の格納ポインタORDER_WR(図2
8参照)が‘0’(ORDER[]の先頭)に初期化さ
れ、さらに、オーダポジションカウンタCUR_ORD
ER(図29)が、アルペジオ演奏の一連のステップを
これから開始するタイミングであることを表わす‘−
1’に初期化される(ステップ39_1)。
で発生したクロックをカウントするクロックカウンタC
LOCK(図32参照)が‘0’に初期化され(ステッ
プ39_2)、次の演奏情報の生成のタイミングが格納
されるネクストクロックバッファNEXTCLK(図3
3参照)も‘0’に初期化される(ステップ39_
3)。さらに、ノートオフすべきノートナンバやそのノ
ートオフすべきタイミングが格納されるノートオフリザ
ベーションバッファOFFRSV[](図34参照)が
クリアされ(ステップ39_4)、鍵盤20(図1参
照)の鍵の配列に対応した配列を有し押鍵された鍵のベ
ロシティが格納されるノートバッファNOTEBU
F[](図23参照)がクリアされ(ステップ39_
5)、さらに、ホールド情報を加味したベロシティが格
納されるプレイバッファPLAYBUF[](図24参
照)がクリアされる(ステップ39_6)。さらにホー
ルド値が格納されるホールドバッファHOLD(図26
参照)が‘0’にクリアされ(ステップ39_7)、さ
らに、スキャナをリセットするリセットスキャナルーチ
ンが実行される(ステップ39_8)。
ローチャートである。リセットスキャナルーチンは、図
39に示す初期化ルーチンのステップ39_8で実行さ
れる。ここでは、現在アルペジオ演奏中のノートナンバ
が格納されるカレントプレイノートナンババッファCU
R_NOTE(図25参照)に空きを表わす‘−1’が
格納され、オーダバッファORDER[](図27参
照)の、現在アルペシオ演奏中のステップを指し示すオ
ーダポジションカウンタCUR_ORDER(図29参
照)にも、空きを表わす‘−1’が格納され、さらに、
スキャンモードテーブル、リズムパターンテーブルの各
ポインタであるスキャンモードテーブルポジションカウ
ンタCUR_SMODE(図31参照)、リズムパター
ンテーブルポジションカウンタCUR_RHY(図30
参照)が、先頭を指し示す‘0’に初期化される。さら
に、クロックCLOCK(図32参照)に1を加えた値
がネクストクロックNEXTCLK(図33)参照に格
納される。CLOCKに‘1’を加えた値をNEXTC
LKとする理由は、後述するようにNEXTCLK=C
LOCKのときに発音される(ノートオンデータが送信
される)が、このプログラムが動作中にCLOCKがイ
ンクリメントされてCLOCKが発音開始タイミングを
示すNEXTCLKを越えてしまい、その発音が行なわ
れないことが生じる可能性をなくすためである。
は、さらに、演奏中のアルペジオ演奏の1回ステップの
発音のための操作が未了か終了かを示すエンドフラグE
ND_FLGに、未了を示す‘0’が格納される。図4
1は、クロック処理ルーチンのフローチャートである。
このクロック処理ルーチンは、図38に示すゼネラルプ
ログラムのステップ38_3で実行される。
OCK(図32参照)がインクリメントされる(ステプ
41_1)。次に、OFFRSV[](図34参照)を
サーチし、そこに現在のタイミングで送信すべきノート
オフデータが存在するかどうかを調べ、現在のタイミン
グで送信すべきノートオフデータが存在する場合にその
ノートオフデータを送信する(ステップ41_2〜41
_8)。
テップ41_2)、OFFRSV[i].noteに有
効なノートオフデータが格納されているか(0〜12
7)否か(−1)を調べ(ステップ41_3)、‘−
1’の場合はiをインクリメントして(ステップ41_
7)、iが16に達するまで(ステップ41_8)、そ
のサーチが行なわれる。ステップ41_3で有効なノー
トオフデータの格納が確認されるとステップ41_4に
進み、OFFRSV[i].clockが現在のCLO
CKと等しいかどうかが判定され、等しい場合にそのノ
ートオフデータを演奏情報として送信し(ステップ41
_5)、そのノートオフデータが格納されていた領域の
OFFRSV[i].noteに‘−1’を書き込む
(ステップ41_6)。
今度は送信すべきノートオンデータを見つけに行く処理
を行なう(ステップ41_9〜41_17)。具体的に
は、先ず現在のCLOCKがNEXTCLKに達したか
否か、すなわちノートオンデータを送信すべきタイミン
グに達したか否かが判定され(ステップ41_9)、未
だそのタイミングに達していないときはそのまま終了す
る。
テップ41_10に進み、押鍵情報を走査するスキャン
ノートオンルーチンが実行される(ステップ41_1
0)。このスキャンノートオンルーチンの詳細は後述す
るが、このスキャンノートオンルーチンでは、送信すべ
きノートナンバのうちの1つがNTに格納される。NT
=−1は、送信すべきノートが存在しないことを意味し
ている。ステップ41_11においてNT=−1ではな
い、すなわち送信すべきノートが存在すると判定される
と、ステップ41_12に進み、ノートオフ予約ルーチ
ンが実行される。このノートオフ予約ルーチンの詳細に
ついても後述するが、このノートオフ予約ルーチンで
は、これから送信しようとするノートオンデータに対応
するノートオフデータをOFFRSV[](図34参
照)に格納することにより、ノートオフ予約を行なう。
OFFRSV[]が満杯のときは、NTに、ノートオフ
予約ができないことを示す‘−1’が格納される。
かを調べることによりノートオフ予約が行なわれたか否
かを知り、ノートオフ予約不能であったときはノートオ
ンデータを送信せずにステップ41_10に戻り、送信
すべき次のノートオンデータのサーチを行なう。ステッ
プ41_13でNT≠−1であったとき、すなわち正常
にノートオフ予約が行なわれたときは、ステップ41_
14に進み、ベロシティ生成ルーチンが実行される。こ
のベロシティ生成ルーチンの詳細についても後述する。
このベロシティ生成ルーチンでは、後述する演算により
送信しようとするノートオンデータのベロシティが生成
される。その後ステップ41_15においてそのノート
オンデータが送信され、ステップ41_10に戻り、現
在のタイミングでさらに送信すべきノートオンデータが
存在するかどうかのサーチが行なわれる。
納された場合、すなわち現在のタイミングで送信すべき
ノートオンデータが存在しない(もしくは、現在のタイ
ミングで送信すべきノートオンデータは全て送信してし
まった)場合、ステップ41_11を経由してステップ
41_16に進む。ステップ41_16では、ネクスト
クロック更新ルーチンが実行される。このネクストクロ
ック更新ルーチンの詳細は後述するが、ここでは、ノー
トオンデータ送信の次のタイミングがNEXTCLKに
格納される。
ャナ更新ルーチンが実行される。このスキャナ更新ルー
チンでスキャナの更新が行なわれる。このスキャナ更新
ルーチンの詳細についても後述する。図42は、スキャ
ンノートオンルーチンのフローチャートである。このス
キャンノートオンルーチンは、図41のクロック処理ル
ーチンのステップ41_10で実行される。
ずスキャンモード番号が格納されているPRM_SMO
DE(図21参照)が参照され(ステップ42_1)、
そのPRM_SMODEに格納されているスキャンモー
ド番号に応じたスキャンモードテーブル(図10、およ
び図11〜図19の各例参照)中の現在のステップ番号
CUR_SMODEに格納されたスキャン方式(スキャ
ンファンクション番号)SMODE_XXX_TBL
[CUR_MODE]が作業領域funcに格納される
(ステップ42_2)。次いで、そのfuncに格納さ
れたスキャンファンクション番号がSCAN_U,SC
AN_D,SCAN_UD,……,SCAN_U_WO
_Tのいずれを指しているかに応じて、それぞれ、図示
の、スキャンアップルーチン(ステップ42_4)、ス
キャンダウンルーチン(ステップ42_5)、スキャン
アップダウンルーチン(ステップ42_6)、……、ス
キャンアップウィズアウトトップルーチン(42_1
5)が実行される。
アップルーチン(ステップ42_4)、スキャンオーダ
ルーチン(ステップ42_8)、スキャンコードルーチ
ン(ステップ42_9)、スキャンベースルーチン(ス
テップ42_10)、スキャンコードウィズアウトベー
ス(ステップ42_14)について説明する。図43
は、スキャンアップルーチンのフローチャートである。
このスキャンアップルーチンは、前述した上昇スキャン
方式を実現するルーチンである。
参照)が‘1’か‘0’か、すなわち、今回の1ステッ
プ分の発音のための走査が既に終了しているか否かが判
定され(ステップ43_1)、END_FLG=1の場
合、すなわち、今回の走査が既に終了している場合は、
ステップ43_2に進み、NTに‘−1’が格納されて
終了する。ただし、今回のステップで最初にこのスキャ
ンアップルーチンが実行される際はEND_FLG=0
である。
‘1’でなかったときは、ステップ43_3に進み、P
LAYBUF[](図24参照)に1つでもノートオン
データが存在するか否かが判定され、ノートオンデータ
が1つも存在しないときは、発音しようがないので、ス
テップ43_2に進み、NTに‘−1’が格納されて終
了する。
在することが認識されると、次に、上昇スキャン方式に
従って、次に送信すべきノートオンデータが走査される
(ステップ43_4〜43_7)。具体的には、CUR
_NOTE(図25参照)は、直前に送信したノートオ
ンデータのノートナンバが格納されているため、そのC
UR_NOTEを次のノートナンバに進め(ステップ4
3_4)、そのノートナンバが128に達すると(ステ
ップ43_5)、CUR_NOTEに‘0’が格納され
る(ステップ43_6)、このようにして更新されたC
UR_NOTEを用いて、PLAYBUF[CUR_N
OTE]に有効なベロシティデータが格納されているか
否かが判定される(ステップ43_7)。PLAYBU
F[CUR_NOTE]=−1、すなわちそこには有効
なベロシティデータが格納されていないときは、ステッ
プ43_4に進み、CUR_NOTEが再度インクリメ
ントされ、PLAYBUF[]の有効なベロシティが格
納されている領域を見い出すべく、音高の低い方から高
い方へと走査される。
が格納されているPLAYBUF[]が見い出される
と、そのときのCUR_NOTEがNTに格納され(ス
テップ43_8)、PLAYBUF[NT]に格納され
ている、CUR_NOTEのベロシティデータがVLに
格納され(ステップ43_9)、上昇スキャン方式では
1つのステップでは1つのノートオンデータしか送信し
ないためEND_FLGに走査の終了を示す‘1’が格
納される(ステップ43_10)。
ーチャートである。このスキャンオーダルーチンは、前
述した押鍵順スキャン方式を実現するルーチンである。
ステップ44_1,44_2は、図43に示すスキャン
アップルーチンのステップ43_1,43_2と同様で
あり、説明は省略する。ステップ44_3では、ORD
ER_WR=0か否かが調べられる。ODER_WR
は、図28と参照して説明したように、押鍵情報を押鍵
順に格納するORDER[](図27参照)のポインタ
であり、ORDER WR=0ということは、ORDE
R[]が空であって、押鍵順アルペジオ演奏を行なうこ
とができないことを意味しており、この場合もステップ
44_2に進み、NTに‘−1’が格納されて終了す
る。
ではない、すなわちORDER[]が空ではないと判定
されると、ステップ44_4に進んでCUR_ORDE
R(図29参照)がインクリメントされ、CUR_OR
DERがORDER[]の書き込まれる最大ステップを
越えたか否かが判定されて(ステップ44_5)、越え
た場合は、CUR_ORDERに0が格納される(ステ
ップ44_6)。このようにして値が進められたCUR
_ORDERを用いて、次に発音すべきノートナンバO
RDER[CUR_ORDER].noteがNTに格
納され(ステップ44_7)、そのノートナンバのベロ
シティORDER[CUR_ORDER].veloが
VLに格納される(ステップ44_8)。この押鍵順ス
キャン方式においても、1つのステップでは1つのノー
トオンデータしか送信しないため、END_FLGに、
走査の終了を示す‘1’が格納される(ステップ44_
9)。
グラムである。このスキャンコードルーチンは、前述し
た和音スキャン方式を実現するルーチンである。ステッ
プ45_1,45_2,45_3は、図43に示すスキ
ャンアップルーチンのステップ43_1,43_2,4
3_3と同様であり、説明は省略する。今回のステップ
において、このスキャンコードルーチンが第1回目に呼
ばれたときは、CUR_NOTEには‘−1’が格納さ
れており、したがってステップ45_4,45_5,4
5_6のループでは、CUR_NOTE=0から始ま
り、CUR_NOTE=127まで走査される。その走
査の途中で、PLAYBUF[CUR_NOTE]に
‘−1’以外の値、すなわち有効なベロシティデータが
格納されていることを見出すと、ステップ45_7に進
み、NTにそのノート番号CUR_NOTEを格納し、
VLにそのノートナンバのベロシティデータPLAYB
UF[NT]を格納して(ステップ45_8)、このル
ーチンを一旦抜ける。
F[]の全域を走査し有効なベロシティデータの格納さ
れた全てのノートオンデータを送信する必要があるた
め、CUR_NOTE≧128に達する前にこのスキャ
ンコードルーチンを抜けるときはEND_FLGには
‘1’には格納しない。このスキャンコードルーチンを
抜けると、図42に示すスキャンノートオンルーチンも
抜け、図41のクロック処理ルーチンのステップ41_
10を抜けることになる。NT=−1ではないときは、
ステップ41_12,41_13,41_14,41_
15と進んで1つのノートオンデータの送信が行なわ
れ、再度ステップ41_10に戻り、図42のスキャン
ノートオンルーチンを経由して、図45のスキャンコー
ドルーチンが再度実行される。そのときには、再度実行
を開始したときの、すなわち前回このルーチンを抜けた
ときCUR_NOTEの次の値CUR_NOTEから走
査が行なわれる(ステップ45_4)。ステップ45_
5においてCUR_NOTE≧128、すなわちPLA
YBUF[]の走査が終了したことが判定されると、ス
テップ45_9に進んでNTに‘−1’が格納され、さ
らにステップ45_10に進んで、END_FLGに
‘1’が格納される。
グラムである。このスキャンベースルーチンは、前述し
た最低音スキャン方式を実現するルーチンである。ステ
ップ46_1,46_2,46_3は、図43に示すス
キャンアップルーチンのステップ43_1,43_2,
43_3と同様であり、説明は省略する。ステップ46
_4では、最低音LO(図36参照)がNTに格納され
る。LOへの最低音の格納処理については後述する。
ベロシティPLAYBUF[NT]がVLに格納され
る。さらにステップ46_6において、END_FLG
に‘1’が格納される。最低音は1つしか存在しないか
らである。図47は、スキャンコードウィズアウトベー
スルーチンのプログラムである。このルーチンは、前述
した最低音抜き和音スキャン方式を実現するルーチンで
ある。
は、図43に示すスキャンアップルーチンのステップ4
3_1,43_2,43_3と同様であり、説明は省略
する。ステップ47_4では、PLAYBUF[]にノ
ートオンの数が1つだけ存在するか、それとも複数存在
するかが判定される、ノートオンの数が1つだけの場
合、本来は最低音抜き和音スキャン方式は成立しない
が、ここでは、その唯一のノートオンのノートナンバを
送信することとし、ステップ47_5に進んで、NTに
そのノートのノートナンバを格納し、そのノートナンバ
のベロシティPLAYBUF[NT]をVLに格納し
(ステップ47_6)、END_FLGに‘1’を格納
する(ステップ47_7)。
が複数存在することが確認されるとステップ47_8に
進む。今回のステップにおいて、このスキャンコードウ
ィズアウトベースルーチンが第1回目に呼ばれたとき
は、図45に示すスキャンコードルーチンの場合と同様
に、CUR_NOTEには‘−1’が格納されている。
CUR_NOTEに‘−1’を格納する処理については
後述する。したがって、ここでは、PLAYBUF[]
の全域にわたって、音高の低い方から高い方へと順次走
査される。ここでの走査の手順(ステップ47_8〜4
7_15)は、図45に示すスキャンコードルーチンに
おける走査の手順(ステップ45_4〜45_10)と
同様であるが、ステップ47_11において、CUR_
NOTEが最低量LOであるか否かを判定し、最低音の
場合にそのノートオンを無視するようにしている点のみ
が異なる。詳細説明は省略する。尚、LOに最低音を格
納する処理については後述する。
ンルーチン中で実行される、スキャンアップルーチン
(ステップ42_4)、スキャンオーダルーチン(ステ
ップ42_8)、スキャンコードルーチン(ステップ4
2_9)、スキャンベースルーチン(42_10)、ス
キャンコードウィズアウトベースルーチン(ステップ4
2_13)について説明した。スキャンダウンルーチン
(ステップ42_5)、スキャンアップダウンルーチン
(ステップ42_6)、スキャンランダムルーチン(ス
テップ42_7)、スキャントップルーチン(ステップ
42_11)、スキャンアップウィズアウトベースルー
チン(ステップ42_12)、スキャンランダムウィズ
アウトベースルーチン(ステップ42_13)、スキャ
ンアップウィズアウトトップルーチン(42_14)
は、前述した、それぞれ、下降スキャン方式、上昇下降
スキャン方式、ランダムスキャン方式、最高音スキャン
方式、最低音抜き上昇スキャン方式、最低音抜きランダ
ムスキャン方式、最高音抜き上昇スキャン方式を実現す
るルーチンであるが、上述した各種のルーチン(図43
〜図47)から自明であるため、ここではそれらについ
ての図示および説明は省略する。
グラムである。このノートオフ予約ルーチンは、図41
に示すクロック処理ルーチンのステップ41_12で実
行される。このノートオフ予約ルーチンでは、ノートオ
フ予約に用いられるOFFRSV[](図34参照)を
サーチしてその空いている領域を見つけ、一方、リズム
パターンテーブルから読み出したデュレーションと、ス
テップタイムと、グルーブレート設定用操作子153
(図2参照)の操作により設定されたグルーブレートP
RM_GROOVEとに従ってデュレーションを計算
し、そのデュレーションに基づいてノートオフのタイミ
ングを求めて、そのノートオフのタイミングをOFFR
SV[]の空き領域に設定することにより、ノートオフ
予約を行なう。
iに‘0’を設定し、ステップ48_2においてOFF
RSV[i].note=−1であるか否か、すなわ
ち、OFFRSV[i]が空いているか否かが判定され
る。OFFRSV[i].note=−1ではないと
き、すなわちOFFRSV[i]が空いていないとき
は、iがインクリメントされ(ステップ48_3)、i
がOFFRSV[]の配列の大きさを越えたか否かが判
定され(ステップ48_4)、その配列以内であるとき
はステップ48_2に戻ってインクリメントされた新た
なiに対してOFFRSV[i].note=−1か否
かに判定される。これを繰り返し、空き領域を発見でき
ないままi=16に達すると、ステップ48_5に進
み、NTに、OFFRSV[]が満杯であることを示す
‘−1’を格納して終了する。
[i].note=−1、すなわち空き領域を見つけた
ときは、その空き領域OFFRSV[i].note
に、図41のクロック処理ルーチンのステップ41_1
0で得られたノートナンバNTが格納される(ステップ
48_6)。次いで、リズムパターン番号PRM_RH
YTHM(図20参照)に応じて(ステップ48_
7)、そのリズムパターン番号PRM_RHYTHMに
対応するリズムパターンテーブルRHY_XXX_TB
L[](図3、および図4〜図9の各例を参照)の現在
のステップ番号CUR_RHY(図30参照)のステッ
プに格納されている、デュレーションRHY_XXX_
TBL[CUR_RHY].durationおよびス
テップタイムRHY_XXX_TBL[CUR_RH
Y].stepTimeが読み出されて、それぞれD
1,D2に格納される(ステップ48_8)。
1,ステップタイムD2、およびグルーブレートPRM
_GROOVE(図22参照)に基づいて、そのノート
ナンバのデュレーションDURATIONが、 DURATION=(D1−D2)×PRM_GROO
VE/100+D2 の計算により求められる。
0のときは、DURATION=D2、すなわちステッ
プタイムと同値となり、そのアルペジオ演奏にテヌート
のような効果を与え、PRM_GROOVE=100の
ときは、DURATION=D1、すなわちリズムパタ
ーンテーブルRHY_XXX_TBL[]に格納された
デュレーションのままとなる。このリズムパターンテー
ブルRHY_XXX_TBL[]にスタッカートのよう
な短いデュレーションを格納しておくと、図2に示すグ
ルーブレード設定用操作子153の操作により、スタッ
カートのようなアルペジオ演奏からテヌートのようなア
ルペジオ演奏まで、各音のデュレーションを連続的に変
えることができる。このようにして求めたDURATI
ONは、CLOCK(図32参照)と加算されて、OF
FRSV[i].clockに格納される(ステップ4
8_10)。
ーチャートで、図50は、図49に示すベロシティ生成
ルーチンで生成されるベロシティの説明図である。図4
9に示すベロシティ生成ルーチンは、図41に示すクロ
ック処理ルーチンのステップ(41_14)で実行され
る。図49に示すベロシティ生成ルーチンでは、リズム
パターン番号PRM_RHYTHM(図20参照)が参
照され(ステップ49_1)、そのリズムパターン番号
PRM_RHYTHMに対応するリズムパターンテーブ
ルRHY_XXX_TBL(図3、および図4〜図9の
各例参照)の現在のステップCUR_RHY(図38参
照)のベロシティ係数RHY_XXX_TBL[CUR
_RHY].veloCoefが読み出されてCOEF
に格納される(ステップ49_2)。その後、ステップ
49_3において、ベロシティ係数COEFと、押鍵に
より生成されたベロシティVLとの間で、 VL2=VL×COEF/127 の計算が行なわれ、さらにステップ49_4において、 VL−(VL−VL2)×PRM_GROOVE/10
0 の計算が行なわれて、その計算の結果求められたベロシ
ティが再度VLに格納される。
すグルーブレート設定用操作子153の操作により設定
されたグルーブレートPRM_GROOVEがPRM_
GROOVE=0の時、リズムパターンテーブルRHY
_XXX_TBL[]に格納されたベロシティにかかわ
らず、押鍵ベロシティがそのまま採用され、PRM_G
ROOVE=100のときは、(押鍵ベロシティ×ベロ
シティ係数)が採用され、グルーブレード設定用操作子
153をその中間に設定すると、その位置に応じて、押
鍵ベロシティと、(押鍵ベロシティ×ベロシティ係数)
との間で連続的に変化するベロシティが採用される。
より、いわゆる‘ノリ’の程度を変化させることができ
る。図41のクロック処理ルーチンのステップ41_1
4では、上記のようにしてベロシティが求められ、ステ
ップ41_15では、このようにして求められたベロシ
ティデータを伴ったノートオンデータが送信される。
のフローチャートである。このネクストックロック更新
ルーチンは、図40に示すクロック処理ルーチンのステ
ップ41_16で実行される。このネクストクロック更
新ルーチンでは、先ずリズムパターン番号PRM_RH
YTHM(図20参照)が参照され、そこに格納された
リズムパターン番号PRM_RHYTHMに応じたリズ
ムパターンテーブルRHY_XXX_TBL[]の現在
のステップ番号CUR_RHY(図30参照)のステッ
プに格納されているステップタイムRHY_XXX_T
BL[CUR_RHY].stepTimeが読み出さ
れてSTEPに格納され(ステップ51_2)、CLO
CK(図32参照)にそのSTEPが加算されてNEX
TCLK(図33参照)に格納される(ステップ51_
3)。これにより、次の発音タイミングがNEXTCL
Kに設定される。
ルーチンのフローチャートの前半部分、後半部分であ
る。このスキャナ更新ルーチンは、図41に示すクロッ
ク処理ルーチンのステップ41_17で実行される。こ
のスキャナ更新ルーチンでは、先ず、前回のノートオン
データの走査の最後でEND_FLGに‘1’が格納さ
れたのを解除してEND_FLGに‘0’を格納し(ス
テップ52_1)、次に、リズムパターンテーブルの現
在のステップCUR_RHY(図30参照)が更新され
る(ステップ52_2〜52_6)。具体的には、ステ
ップ52_2においてCUR_RHYがインクリメント
され、次いで、リズムパターン番号PRM_RHYTH
M(図20参照)が参照されそのリズムパターン番号P
RM_RHYTHMに応じたリズムパターンテーブルの
ステップ数RHY_XXX_SIZEが読み出されてS
IZEに格納され(ステップ52_4)、CUR_RH
Y≦SIZEであるか否か、すなわち、CUR_RHY
がインクリメントされた(ステップ52_2)結果、現
在使用中のリズムパターンテーブルRHY_XXX_T
BL[]のステップ数を越えたか否かが判定され、越え
ていないときはそのままステップ52_7に進み、越え
たときは、CUR_RHYに‘0’が格納されることに
より先頭のステップに戻った上で、ステップ52_7に
進む。
ャンモードテーブルの現在のステップCUR_SMOD
E(図31参照)が更新される。すなわち、先ずステッ
プ52_7でCUR_SMODEがインクリメントさ
れ、その後スキャンモード番号PRM_SMODE(図
21参照)が参照され(ステップ52_8)、そのスキ
ャンモード番号PRM_MODEに対応するスキャンモ
ードテーブルのステップ数SMODE_XXX_SIZ
Eが読み出されてSIZEに格納され(ステップ52_
9)、CUR_SMODE≧SIZEの場合に(ステッ
プ52_10)、CUR_SMODEが先頭(ステップ
0)に戻される(ステップ52_11)。
み、スキャンモード番号PRM_SMODE(図21参
照)が参照され、そのスキャンモード番号PRM_SM
ODEに対応したスキャンモードテーブルSMODE_
XXX_TBL[]の、図52のステップ52_7〜5
2_11で更新されたステップCUR_SMODEのス
キャン方式(スキャンファンクション番号)SMODE
_XXX_TBL[CUR_SMODE]が読み出され
て、funcに格納される。ステップ53_3,53_
4では、それぞれ、funcが和音スキャン方式SCA
N_Cであるか否か、および最低音抜き和音スキャン方
式SCAN_C_WO_Bであるか否かが判定され、S
CA_CもしくはSCAN_C_WO_Bの場合は、C
UR_NOTE(図25参照)に‘−1’が格納され
る。SCAN_CもしくはSCAN_C_WO_Bの場
合、CUR_NOTEに‘−1’を格納しておくことに
よって、ノートオンデータの走査のときに音高の低い方
から高い方に向かってPLAYBUF[]の領域が走査
される(図45,図47参照)。図54は、エディット
ルーチンのフローチャートである。このエディットルー
チンは、パネル(図2参照)が操作された際に、図38
に示すゼネラルプログラムのステップ38_5で実行さ
れる。
変更されたか否かが判定される。リズムパターンの変更
は、図2に示すリズムパターン設定用操作子151を操
作することにより行われる。リズムパターン設定用操作
子151を操作することによりリズムパターンが変更さ
れる。ステップ54_2において、PRM_RHYTH
M(図20参照)に、変更後の新たなリズムパターン番
号が格納され、ステップ52_3に進み、リセットスキ
ャナルーチン(図40参照)が実行されてスキャナのリ
セットが行われる。
変更されたか否かが判定される。スキャンモードの変更
は、図2に示すスキャンモード設定用操作子152を操
作することにより行われる。スキャンモード設定用操作
子152が操作されることによりスキャンモードが変更
されると、ステップ54_5において、PRM_SMD
E(図21参照)に変更後の新たなスキャンモード番号
が格納され、ステップ52_3でスキャナのリセットが
行われる。
変更されたか否かが判定される。グルーブレートの変更
は、図2に示すグルーブレート設定用操作子153の操
作により行われる。グルーブレート設定用操作子153
の操作によりグルーブレートが変更されると、ステップ
54_7に進み、PRM_GROOVE(図22参照)
にグルーブレートの新たな値が格納される。
ーチャートである。このノートオン処理分は、ノートオ
ンデータを受信した際に、図38に示すゼネラルブロッ
クプログラムのステップ38_7で実行される。ステッ
プ55_1では、受信したノートオンデータのうちのノ
ートナンバがNTに格納され、ベロシティがVLに格納
される。このベロシティVLは、NOTEBUF[N
T](図23参照)およびPLAYBUF[NT](図
24参照)に格納される(ステップ55_2,55_
3)。次に、ORDER_WR(図28参照)が16末
端か否か判定され、16未満のときは、押鍵順バッファ
ORDER[](図27参照)に空きがあるため、OR
DER[ORDER_WR].noteにノートナンバ
NTが格納され、ORDER[ORDER_WR].v
eloにベロシティVLが格納される。ステップ55_
7では、今回入力されたノートオンデータが全て離鍵
(ノートオフ)されていた状態から最初に受信したノー
トオンデータであるか否かが判定される。すなわち、具
体的には、PLAYBUF[]に格納されている有効な
ベロシティデータは、ステップ55_3で今回格納した
ベロシティ1個のみであるか否かが検出される。最初の
ノートオンデータであった場合はステップ55_8に進
み、スキャナのリセットが実行される。その後、PLA
YBUF[]が走査されて、最低音LO,最高音HIが
更新される(ステップ55_9,55_10)。
ーチャートである。このノートオフ処理ルーチンは、ノ
ートオフデータを受信した際に、図38に示すゼネラル
プログラムのステップ38_9で実行される。ステップ
56_1では、受信したノートオフデータのノートナン
バがNTに格納され、NOTEBUF[NT](図23
参照)に、有効なデータが格納されていないことを表わ
す‘−1’が格納される(ステップ56_2)。ステッ
プ56_3では、HOLD(図26参照)が64未満
(ホールドオフ)か否かが判定され、ホールドオン(6
4以上)のときはそのまま終了する。ホールドオフ(6
4未満)のときは、PLAYBUF[NT](図24参
照)に‘−1’が格納され(ステップ56_4)、押鍵
順バッファORDER[](図27参照)から今回のノ
ートオフデータに対応するノートオンデータを削除する
デリートオーダルーチンが実行され(ステップ56_
5)、さらにデリートオーダルーチンにより削除が行わ
れた押鍵順バッファORDER[]を前詰めにするパッ
クオーダルーチンが実行される(ステップ56_6)。
ステップ56_7,56_8ではPLAYBUF[]が
サーチされて最低音LO,最高音HIが更新される。
ーチャートである。このデリートオーダルーチンは、図
56に示すノートオフ処理ルーチンのステップ56_5
で実行される。ここではORDER[](図27参照)
がサーチされ、ノートオフデータのノートナンバNTの
存在がサーチされ(ステップ57_1〜57_5)、O
RDER[i]=NTの場合、ORDER[i].no
teおよびORDER[i].veloの双方に−1が
格納される。複数のORDER[i]にNTが格納され
ていた場合、その全てについて‘−1’が格納される。
チャートである。このパックオーダルーチンは、図56
に示すノートオフ処理ルーチンのステップ56_6で実
行される。ここでは、押鍵順バッファORDER[]が
サーチされ、‘−1’が格納されている領域をなくすよ
うに前詰めされる。具体的には、ステップ58_1にお
いて、i,j双方に初期値‘0’が格納され、ステップ
58_2においてORDER[i].noteに‘−
1’が格納されているか否かが調べられる。ORDER
[i].noteに有効なデータ(すなわち‘−1’以
外)が格納されていたときは、ステップ58_3に進
み、ORDER[i].note,ORDER[i].
veloが、それぞれ、ORDER[j].note,
ORDER[j].veloに転記され、ステップ58
_4でjがインクリメントされる。ORDER[]の前
詰めに伴って、押鍵順アルペジオ演奏における現在のス
テップCUR_ORDER(図29参照)も変更する必
要があることから、ステップ58_5ではCUR_OR
DERがiか否か調べられ、CUR_ORDER=iの
ときは、CUR_ORDERにj−1が格納される(ス
テップ58_6).ステップ58_7ではiがインクリ
メントされ、ステップ58_8でiがORDER_WR
(図28参照)以下か否か判定され、i≦ORDER_
WRの場合ステップ58_2に戻って、更新されたiに
ついてのORDER[i].noteが‘−1’か否か
調べられる。
R(図28参照)もORDER[]の前詰めに伴って変
更する必要があり、ステップ58_9では、ORDER
_WRにjが格納される。図59は、ホールドオフ処理
ルーチンのフローチャートである。このホールドオフ処
理ルーチンはホールドデータを受信した際に、図38に
示すゼネラルプログラムのステップ38_13で実行さ
れる。このホールドオフ処理ルーチンが実行されるとき
は、図38のステップ38_12の判定により、HOL
Dが64未満(ホールドオフ)であることがわかってい
る。
実行されると、押鍵,離鍵をそのまま反映したNOTE
BUF[](図23参照)が、その全域にわたって、ホ
ールド情報を加味した押鍵情報を格納するPLAYBU
F[](図24参照)に転記される(ステップ59_1
〜59_4)。次いで、押鍵順バッファORDER[]
(図27参照)の再構築を行うリメークオーダルーチン
が実行される(ステップ59_5)。ORDER[]が
再構築された後、ステップ59_6,59_7では、P
LAYBUF[]がサーチされて最低音LO,最高音H
Iの更新が行われる。
ーチャートである。このリメークオーダルーチンは図5
9に示すホールドオフ処理ルーチンのステップ59_5
で実行される。ここでは、PLAYBUF[]を音高の
低い方から高い方と順にサーチするために、NTに、先
ず初期値‘0’が格納される(ステップ60_1)。
されてVLに格納され(ステップ60_2)、そのVL
が‘−1’か否か、すなわちPLAYBUF[NT]に
有効なベロシティデータが格納されていた(−1以外)
か否(−1)かが判定される。VL=−1のときは、ス
テップ60_4に進み、デリートオーダルーチン(図5
7参照)が実行され、このデリートオーダルーチンの中
で、ORDER[]にノートナンバNTのノートオンデ
ータが格納されていた場合にそれを削除する(具体的に
は‘−1’を格納する)。ステップ60_5ではNTが
インクリメントされ、ステップ60_6では、NTが1
28未満か否か判定され、NTが128未満のときはス
テップ60_2に戻って新たなNTについてPLAYB
UF[NT]が読み出される。
域がサーチされ、ORDER[]から、VL=−1が格
納されているPLAYBUF[NT]に対応するノート
ナンバNTが全て削除される。その後、ステップ60_
7において、パックオーダルーチン(図29参照)が実
行されて、ORDER[]の‘−1’が格納された領域
をなくすようにORDER[]が前詰めされる。これに
より、ORDER[]は、現在押鍵中の鍵のみについ
て、押鍵順に押鍵情報が並んだ状態となる。
上説明したように構成されており、図2に示すリズムパ
ターン設定用操作子151およびスキャンモード設定操
作子152により設定された、リズムパターンテーブル
(図3、および図4〜図9の各例参照)およびスキャン
モードテーブル(図10および図11〜図19の各例参
照)を用いて、複数の鍵を同時に押鍵し、あるいは順次
に押鍵して押鍵したままとし、あるいはホールドペダル
を踏んで押鍵を記憶させておくという簡単な動作で、音
楽的に意味の深い、種々のアルペジオ演奏を行うことが
できる。また、図2に示すグルーブレート操作子151
を操作することにより、‘ノリ’の程度を簡単に変更す
ることができる。
形態について説明する。ただし、これ以降では、上述し
た実施形態と共通的な部分については図示および説明は
省略し、上述の実施形態との相違点のみ、図示および説
明を行う。図61は、図2のパネルに付加されるベロシ
ティボリウムを示した図、図62は、図2に示すパネル
に図61に示したベロシティボリウムが付加された構成
において、図49に示すベロシティ生成ルーチンに代え
て採用されるベロシティ生成ルーチンのフローチャート
である。
ロシティボリウム154がパネル15(図2参照)に付
加される。このベロシティボリウム154は、手でつま
んで回転させることができ、反時計まわりにいっぱいに
回転させると‘0’、時計まわりにいっぱいに回転させ
ると‘127’、それらの中間位置ではその位置に応じ
た値が出力され、RAM13(図1参照)中のVELO
CITY_VOLUMEに格納される。このVELOC
ITY_VOLUMEは、図62のフローチャートで説
明するように、アルペジオ演奏におけるベロシティデー
タの生成にかかわっている。
は、図49のベロシティ生成ルーチンと同様に、リズム
パターン番号PRM_RHYTHMが参照され(ステッ
プ62_1)、そのリズムパターン番号PRM_RHY
THMに対応するリズムパターンテーブルPHY_XX
X_TBL(図3、および図4〜図9の各例参照)の現
在のステップCUR_RHY(図38参照)のベロシテ
ィ係数RHY_XXX_TBL[CUR_RHY].v
eloCoefが読み出されて、COEFに格納される
(ステップ62_2)。
チンと異なり、VELOCITY_VOLUME=0か
否かが判定される(ステップ62_3)。VELOCI
TY_VOLUME=0の場合は、図49のベロシティ
生成ルーチンと同様であり、ステップ62_5に進ん
で、ベロシティ係数COEFと、押鍵により生成された
ベロシティVLとの間で、 VL2=VL×COEF/127 の計算が行われ、さらにステップ62_6において、 VL−(VL−VL2)×PRM_GROOVE/10
0 の計算が行われて、その計算の結果求められたベロシテ
ィが再度VLに格納される。
OCITY_VOLUMEが‘0’ではないと判定され
ると、ステップ62_4に進み、そのVELOCITY
_VOLUMEがVLに格納される。すなわち、この場
合は、押鍵により生成されたベロシティは無視され、そ
の押鍵により生成されたベロシティに代わり、図61に
示すベロシティボリウム154により設定されたVEL
OCITY_VOLUMEが採用される。
定のベロシティを用いるようにすると、押鍵強さに関係
なく、一定の強さを持つアルベジオ演奏が実現できる。
すなわち、演奏状態に左右されず安定した再現性のある
アルペジオ演奏を行うことができる。図63は、図2の
パネルに付加されるスタイルスイッチを示した図、図6
4は、図2に示すパネルに図63に示したスタイルスイ
ッチが付加された構成において、図54に示すエディッ
トルーチンに代えて採用されるエディットルーチンのフ
ローチャートである。
ジャンル毎に複数(この例では3個)のボタン155
a,155b,155cから成り、各ボタン155a,
155b,155cを押すと、それぞれワルツ(WAL
TZ)、レゲエ(REGGAE)、三味線(SHAMI
SEN)のイメージに合致した、リズムパターン番号と
スキャンモード番号とのセットが選択されるようになっ
ている。
ず、ステップ64_1において、スタイルスイッチ15
5(図63参照)のいずれかのボタン155a,155
b,155cが押されることによりスタイルが変更され
たか否かが判定される。スタイルが変更されたことが認
識されると、その変更後のスタイルに応じて(ステップ
64_2)、ワルツの場合はPRM_RHYTHM(図
20参照)、PRM_SMODE(図21参照)にそれ
ぞれ‘2’(図6参照)、‘6’(図17参照)が格納
され、レゲエの場合は、PRM_RHYTHM,PRM
_SMODEにそれぞれ‘5’(図9参照)、‘7’
(図18参照)が格納され、三味線の場合はPRM_R
HYTHM,PRM_SMODEにそれぞれ‘1’(図
5参照)、‘8’(図19参照)が格納される。図64
のエディットルーチンの他のステップ64_4〜64_
10は、図54に示すエディットルーチンのステップ5
4_1〜54_7と同様であるため、説明は省略する。
ツのボタン154aを押したときには、ワルツに最もふ
さわしいと一般的に考えられるリズムパターンとスキャ
ンモードが同時に選択されて設定される。したがって演
奏者は、リズムパターンとスキャンモードとの組合せを
いちいち考えることなく、自分の選びたいスタイルをワ
ンタッチで選ぶことができる。
使用する音色に関しては特に触れなかったが、選択され
たスタイルに対応してそのスタイルの演奏に適した音色
を自動的に選択するようにしてもよい。例えば、ワル
ツ、レゲエのスタイルが選択された場合にはワルツ、レ
ゲエの楽曲を演奏する際によく用いられる楽器の音色を
それぞれ選択し、三味線のスタイルが選択された場合に
は三味線の音色を選択するようにしてもよい。尚、上記
各実施形態では、ホールド情報はデータ入力端子17
(図1参照)を経由して入力されるが、パネル15にホ
ールドオン情報とホールドオフ情報とを切換え入力する
スイッチを設けてもよく、あるいはアルペジエータ自体
にホールド情報生成用ペダル、ないしそのペダル接続用
のジャックを備えてもよい。また、上記各実施形態で
は、鍵盤および音源が外部に接続されているが、鍵盤も
しくは音源のうちの一方もしくは双方を内蔵し、あるい
は一体的に構成してもよく、それに加え、さらに外部と
送受信できるようにしてもよい。
ト設定用操作子153を1個のみ備え、その1個のグル
ーブレート設定用操作子153で設定したグルーブレー
トPRM_GROOVEによってアルペジオ演奏の各ス
テップのデュレーションとベロシティとの双方を変更し
ているが、それらの双方を変更できる構成になっている
必要はなく、それらのうちの一方のみ変更できても、音
楽的に十分意味のある変更が可能である。あるいは、よ
り微妙な調整を演奏者に委ねるために、その1個のグル
ーブレート設定用操作子153を、デュレーション変更
用とベロシティ変更用とに切換えて操作できるように構
成したり、デュレーション変更用とベロシティ変更用と
に役割が分担された2つの操作子を備えてもよい。
ンテーブルの各ステップに、ステップタイム、デュレー
ション、ベロシティ係数の三者がセットになって記録さ
れているが、ステップタイムのみ、デュレーションの
み、あるいはベロシティのみのいずれかのリズムパター
ンテーブルを持ち、他の二者は固定値を用いるようにし
てもよい。リズムパターンテーブルとして、デェレーシ
ョンのみのテーブルを持った場合であっても、時間的に
等分された単純なアルペジオ演奏だけでなくさまざまな
リズムのアルペジオ演奏が可能となり、ステップタイム
のみのテーブルを持った場合であっても、スタッカート
やテヌートの効果を、アルペジオ演奏の各ステップ毎に
独立して付加できるので、リズムの多彩なニュアンスや
アーティキュレーションを付けることができ、ベロシテ
ィ係数のみのテーブルを持った場合であっても、アルペ
ジオ演奏の各ステップ毎に強弱を付けることができさま
ざまなアクセントのアルペジオ演奏が実現するなど、そ
れぞれ音楽的に意味のあるアルペジオ演奏を実現でき
る。もちろん、上記三者のうちのいずれか二者のリズム
パターンテーブルを持ってもよい。
記二者ないし三者のリズムパターンテーブルを持つにあ
たり、それら二者ないし三者のリズムパターンテーブル
をそれぞれ独立して持ち(例えばステップタイムのみの
テーブルとデュレーションのみのテーブルとベロシティ
のみのテーブルとに分けて持ち)、演奏者の好みや、演
奏スタイルに応じてそれらを組合せて用いるようにして
もよい。
データの種類としてステップタイム、デュレーション、
ベロシティー係数以外の種類のデータを記憶するように
してもよい。例えば、各ステップ毎に音色指定データを
記憶すれば各ステップ毎に音色を切り換えることがで
き、より一層高度なアルペジオ演奏が可能となる。この
場合、この音色が、本発明にいう楽音の特質として観念
される。さらに、上記各実施形態においては、リズムパ
ターンテーブル、およびスキャンモードテーブルはRO
M14(図1参照)に固定的に記憶されている旨説明し
たが、ROM14に代わり、あるいはROM14ととも
に、RAM13にリズムパターンテーブルないしスキャ
ンモードテーブルを置いてもよい。その場合、外部から
新たなリズムパターンテーブルないしスキャンモードテ
ーブルをロードして、あるいは、パネル15にリズムパ
ターンテーブルないしスキャンモードテーブルを設定で
きるような操作子を配置しておいて演奏者がその操作子
を操作することにより新たなリズムパターンテーブルな
いしスキャンモードテーブルを定義して、自分の好みに
一層適合したアルペジオ演奏を行うことができる。
エータによれば、より音楽的なアルペジオ演奏を簡単な
操作で行うことができる。
成図である。
図である。
のステップ数を示した図である。
そのステップ数を示した図である。
ステップ数を示した図である。
そのステップ数を示した図である。
よびそのステップ数を示した図である。
ステップ数を示した図である。
す図である。
よびそのステップ数を示した図である。
よびそのステップを示した図である。
ルおよびそのステップを示した図である。
ルおよびそのステップを示した図である。
よびそのステップを示した図である。
およびそのステップを示した図である。
のステップを示した図である。
のステップを示した図である。
のステップを示した図である。
図である。
を示す図である。
を示す図である。
である。
る。
る。
である。
る。
トである。
ある。
ある。
る。
る。
のプログラムである。
る。
ある。
されるベロシティの説明図である。
ートである。
半部分である。
半部分である。
る。
ある。
ある。
ある。
る。
である。
ある。
ムを示した図である。
て採用されるベロシティ生成ルーチンのフローチャート
である。
を示した図である。
用されるエディットルーチンのフローチャートである。
Claims (16)
- 【請求項1】 複数の鍵それぞれに対応する記憶領域を
有し、鍵が押鍵されたことを表わす押鍵情報を、押鍵さ
れた鍵に対応する記憶領域に、消去自在に書き込む押鍵
情報記憶手段と、 リズムの1ステップ毎に、あるステップと、そのステッ
プに続く次のステップとの間の時間間隔が、1つのステ
ップもしくは複数のステップそれぞれに記録されて成る
リズムパターンテーブルを記憶するリズムパターンテー
ブル記憶手段と、 前記リズムパターンテーブルの各ステップを順次参照す
るとともに、該各ステップに対応して前記記憶領域を走
査し、該走査により検出された押鍵情報に基づく楽音を
表わす演奏情報を、前記リズムパターンテーブルの、該
走査に対応するステップに記録された時間間隔に従った
タイミングで生成する演奏情報生成手段とを備えたこと
を特徴とするアルペジエータ。 - 【請求項2】 複数の鍵それぞれに対応する記憶領域を
有し、鍵が押鍵されたことを表わす押鍵情報を、押鍵さ
れた鍵に対応する記憶領域に、消去自在に書き込む押鍵
情報記憶手段と、 リズムの1ステップ毎に、そのステップにおける楽音の
特質を規定する情報が、1つのステップもしくは複数の
ステップそれぞれに記録されて成るリズムパターンテー
ブルを記憶するリズムパターンテーブル記憶手段と、 前記リズムパターンテーブルの各ステップを順次参照す
るとともに、該各ステップに対応して前記記憶領域を走
査し、該走査により検出された押鍵情報、および前記リ
ズムパターンテーブルの、該走査に対応するステップに
記録された、楽音の特質を規定する情報との双方に基づ
く楽音を表わす演奏情報を生成する演奏情報生成手段と
を備えたことを特徴とするアルペジエータ。 - 【請求項3】 前記楽音の特質を規定する情報が、楽音
の発音持続時間を規定する情報であることを特徴とする
請求項2記載のアルペジエータ。 - 【請求項4】 前記楽音の特質を規定する情報が、楽音
の発音の強さを規定する情報であることを特徴とする請
求項2記載のアルペジエータ。 - 【請求項5】 前記押鍵情報記憶手段が、鍵が押鍵され
たことを表わすとともに押鍵の強さの情報を含む押鍵情
報を、押鍵された鍵に対応する記憶領域に、消去自在に
書き込むものであって、 前記演奏情報生成手段が、前記走査により検出された押
鍵情報に含まれた押鍵の強さの情報に対応する発音の強
さの情報を含む演奏情報を生成するものであることを特
徴とする請求項1又は2記載のアルペジエータ。 - 【請求項6】 前記押鍵情報記憶手段が、鍵が押鍵され
たことを表わすとともに押鍵の強さの情報を含む押鍵情
報を、押鍵された鍵に対応する記憶領域に、消去自在に
書き込むものであって、 前記演奏情報生成手段が、前記走査により検出された押
鍵情報に含まれた押鍵の強さの情報、および、前記リズ
ムパターンテーブルの、該走査に対応するステップに記
録された楽音の発音の強さを規定する情報の双方に基づ
いて定められた発音の強さの情報を含む演奏情報を生成
するものであることを特徴とする請求項4記載のアルペ
ジエータ。 - 【請求項7】 前記リズムパターンテーブル記憶手段
が、複数のリズムパターンテーブルを記憶するものであ
り、 前記演奏情報生成手段が、前記複数のリズムパターンテ
ーブルの中から選択された1つのリズムパターンテーブ
ルを参照するものであることを特徴とする請求項1又は
2記載のアルペジエータ。 - 【請求項8】 前記リズムパターンテーブル記憶手段
が、前記複数のリズムパターンテーブルのうちの少なく
とも一部のリズムパターンテーブルを書換え自在に、も
しくは新たなリズムパターンテーブルを追加自在に記憶
するものであることを特徴とする請求項7記載のアルペ
ジエータ。 - 【請求項9】 前記演奏情報生成手段が、楽音の特質の
変更深さを規定する情報に基づいて変更された楽音を表
わす演奏情報を生成するものであることを特徴とする請
求項1又は2記載のアルペジエータ。 - 【請求項10】 前記楽音の特質の変更深さを規定する
情報であって、該変更深さが操作の度合に応じて定めら
れてなる情報を生成する操作子を備えたことを特徴とす
る請求項9記載のアルペジエータ。 - 【請求項11】 前記楽音の特質の変更深さを規定する
情報が、楽音の発音持続時間の変更の度合を規定する情
報であることを特徴とする請求項9記載のアルペジエー
タ。 - 【請求項12】 前記楽音の特質の変更深さを規定する
情報が、楽音の発音の強さの変更の度合を規定する情報
であることを特徴とする請求項9記載のアルペジエー
タ。 - 【請求項13】 前記押鍵情報記憶手段が、鍵が押鍵さ
れたことを表わすとともに押鍵の強さの情報を含む押鍵
情報を、押鍵された鍵に対応する記憶領域に、消去自在
に書き込むものであって、 前記演奏情報生成手段が、前記走査により検出された押
鍵情報に含まれた押鍵の強さの情報、前記リズムパター
ンテーブルの、該走査に対応するステップに記録された
楽音の発音の強さを規定する情報、および楽音の発音の
強さの変更の度合を規定する情報に基づいて定められた
発音の強さの情報を含む演奏情報を生成するものである
ことを特徴とする請求項4記載のアルペジエータ。 - 【請求項14】 複数の鍵それぞれに対応する記憶領域
を有し、鍵が押鍵されたことを表わす押鍵情報を、押鍵
された鍵に対応する記憶領域に、消去自在に書き込む押
鍵情報記憶手段と、 リズムの1ステップ毎に、あるステップと、そのステッ
プに続く次のステップとの間の時間間隔が、1つのステ
ップもしくは複数のステップそれぞれに記録されて成る
リズムパターンテーブルを記憶するリズムパターンテー
ブル記憶手段と、 前記記憶領域を走査する方式を規定する複数種類のスキ
ャン方式の中から選択された1つのスキャン方式、もし
くは同一種類のスキャン方式の重複が許容された複数の
スキャン方式それぞれが、1つのステップ、もしくは複
数のステップそれぞれに記録されて成るスキャンモード
テーブルを記憶するスキャンモードテーブル記憶手段
と、 前記リズムパターンテーブルの各ステップおよび前記ス
キャンモードテーブルの各ステップを順次参照し、前記
スキャンモードテーブルの各ステップに記録されたスキ
ャン方式に従って前記記憶領域を走査し、該走査により
検出された押鍵情報に基づく楽音を表わす演奏情報を、
前記リズムパターンテーブルの、該走査に対応するステ
ップに記録された時間間隔に従ったタイミングで生成す
る演奏情報生成手段とを備えたことを特徴とするアルペ
ジエータ。 - 【請求項15】 複数の鍵それぞれに対応する記憶領域
を有し、鍵が押鍵されたことを表わす押鍵情報を、押鍵
された鍵に対応する記憶領域に、消去自在に書き込む押
鍵情報記憶手段と、 リズムの1ステップ毎に、そのステップにおける楽音の
特質を規定する情報が、1つのステップもしくは複数の
ステップそれぞれに記録されて成るリズムパターンテー
ブルを記憶するリズムパターンテーブル記憶手段と、 前記記憶領域を走査する方式を規定する複数種類のスキ
ャン方式の中から選択された1つのスキャン方式、もし
くは同一種類のスキャン方式の重複が許容された複数の
スキャン方式それぞれが、1つのステップ、もしくは複
数のステップそれぞれに記録されて成るスキャンモード
テーブルを記憶するスキャンモードテーブル記憶手段
と、 前記リズムパターンテーブルの各ステップおよび前記ス
キャンモードテーブルの各ステップを順次参照し、前記
スキャンモードテーブルの各ステップに記録されたスキ
ャン方式に従って前記記憶領域を走査し、該走査により
検出された押鍵情報、および前記リズムパターンテーブ
ルの、該走査に対応するステップに記録された、楽音の
特質を規定する情報との双方に基づく楽音を表わす演奏
情報を生成する演奏情報情報生成手段とを備えたことを
特徴とするアルペジエータ。 - 【請求項16】 前記リズムパターンテーブル記憶手段
および前記スキャンモードテーブル記憶手段が、それぞ
れ、複数のリズムパターンテーブルおよび複数のスキャ
ンモードテーブルを記憶するものであり、 前記複数のリズムパターンテーブルのうちのいずれか1
つのリズムパターンテーブルと前記複数のスキャンモー
ドテーブルのうちのいずれか1つのスキャンモードテー
ブルとが対応づけられて成るスタイルを複数種類記憶す
るスタイル記憶手段を備え、 前記演奏情報生成手段が、所定のスタイル選択情報によ
り選択されたスタイルにより対応づけられたリズムパタ
ーンテーブルおよびスキャンモードテーブルを参照する
ものであることを特徴とする請求項14又は15記載の
アルペジエータ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24105695A JP3625914B2 (ja) | 1995-09-20 | 1995-09-20 | アルペジエータ |
US08/652,368 US5714705A (en) | 1995-09-19 | 1996-05-23 | Arpeggiator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24105695A JP3625914B2 (ja) | 1995-09-20 | 1995-09-20 | アルペジエータ |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004323564A Division JP3902207B2 (ja) | 2004-11-08 | 2004-11-08 | アルペジエータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0990953A true JPH0990953A (ja) | 1997-04-04 |
JP3625914B2 JP3625914B2 (ja) | 2005-03-02 |
Family
ID=17068659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24105695A Expired - Fee Related JP3625914B2 (ja) | 1995-09-19 | 1995-09-20 | アルペジエータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3625914B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0911802A1 (en) * | 1997-10-22 | 1999-04-28 | Yamaha Corporation | Apparatus and method for generating arpeggio notes |
JP2003029748A (ja) * | 2001-07-17 | 2003-01-31 | Roland Corp | アルペジエータ |
JP2005128208A (ja) * | 2003-10-23 | 2005-05-19 | Yamaha Corp | 演奏再生装置及び演奏再生制御プログラム |
US6919502B1 (en) | 1999-06-02 | 2005-07-19 | Yamaha Corporation | Musical tone generation apparatus installing extension board for expansion of tone colors and effects |
WO2018159063A1 (ja) * | 2017-03-02 | 2018-09-07 | ヤマハ株式会社 | 電子音響装置および音色設定方法 |
-
1995
- 1995-09-20 JP JP24105695A patent/JP3625914B2/ja not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0911802A1 (en) * | 1997-10-22 | 1999-04-28 | Yamaha Corporation | Apparatus and method for generating arpeggio notes |
US6919502B1 (en) | 1999-06-02 | 2005-07-19 | Yamaha Corporation | Musical tone generation apparatus installing extension board for expansion of tone colors and effects |
JP2003029748A (ja) * | 2001-07-17 | 2003-01-31 | Roland Corp | アルペジエータ |
JP2005128208A (ja) * | 2003-10-23 | 2005-05-19 | Yamaha Corp | 演奏再生装置及び演奏再生制御プログラム |
JP4506147B2 (ja) * | 2003-10-23 | 2010-07-21 | ヤマハ株式会社 | 演奏再生装置及び演奏再生制御プログラム |
WO2018159063A1 (ja) * | 2017-03-02 | 2018-09-07 | ヤマハ株式会社 | 電子音響装置および音色設定方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3625914B2 (ja) | 2005-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7160068B2 (ja) | 電子楽器、電子楽器の発音方法、及びプログラム | |
JPH079586B2 (ja) | 電子楽器の自動伴奏装置 | |
US5714705A (en) | Arpeggiator | |
JPH10187157A (ja) | 自動演奏装置 | |
JPH0990953A (ja) | アルペジエータ | |
JPH09179559A (ja) | 自動伴奏装置及び自動伴奏方法 | |
JP3844286B2 (ja) | 電子楽器の自動伴奏装置 | |
JP4318194B2 (ja) | 電子楽器の自動伴奏装置及び自動伴奏方法 | |
JP3902207B2 (ja) | アルペジエータ | |
JP3640235B2 (ja) | 自動伴奏装置及び自動伴奏方法 | |
JP3625913B2 (ja) | アルペジエータ | |
JP3505292B2 (ja) | アルペジエータ | |
JP3261929B2 (ja) | 自動伴奏装置 | |
JP2640992B2 (ja) | 電子楽器の発音指示装置及び発音指示方法 | |
JP2555569B2 (ja) | 電子楽器 | |
JP2513014B2 (ja) | 電子楽器の自動演奏装置 | |
JPH0527762A (ja) | 電子楽器 | |
JP3630266B2 (ja) | 自動伴奏装置 | |
JP3275341B2 (ja) | 楽音発生装置 | |
JP2565152B2 (ja) | 自動伴奏装置 | |
JPH0863159A (ja) | 自動演奏装置 | |
JPH08106286A (ja) | 自動演奏装置 | |
JPH09305176A (ja) | 自動伴奏装置 | |
JPH07181973A (ja) | 電子楽器の自動伴奏装置 | |
JPH0827627B2 (ja) | 自動演奏装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040127 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040326 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040907 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041108 |
|
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: 20041130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041201 |
|
R150 | Certificate of patent (=grant) 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: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071210 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111210 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |