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
Application number
JP7241056A
Other languages
English (en)
Other versions
JP3625914B2 (ja
Inventor
Tetsushi Kishimoto
哲史 岸本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Roland Corp
Original Assignee
Roland Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Roland Corp filed Critical Roland Corp
Priority to JP24105695A priority Critical patent/JP3625914B2/ja
Priority to US08/652,368 priority patent/US5714705A/en
Publication of JPH0990953A publication Critical patent/JPH0990953A/ja
Application granted granted Critical
Publication of JP3625914B2 publication Critical patent/JP3625914B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】本発明は、押鍵情報を走査しその走査結果に従
って複数の演奏情報を順次生成するアルペジエータに関
し、より音楽的なアルペジオ演奏を簡単な操作で行な
う。 【解決手段】各ステップ毎に、リズムの時間間隔、発音
持続時間、発音の強さ係数が記憶されたリズムパターン
テーブルを備え、そのリズムパターンテーブルに従って
アルペジオ演奏を行なう。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、押鍵情報を走査し
その走査結果に従って複数の演奏情報を順次生成するア
ルペジエータに関する。
【0002】
【従来の技術】従来の電子楽器には、いわゆるアルペジ
エータと呼ばれる機能が搭載されているものがある。こ
のアルペジエータとは、時間の経過毎に、押鍵情報を、
例えば音高の低い方から高い方へと順番に走査し、その
結果に従って演奏情報を順次出力する機能である。
【0003】この機能によって、演奏者にとって本来演
奏の困難なアルペジオ演奏を、単に複数の鍵を同時に押
鍵するだけの簡単な演奏操作によって実現することがで
きる。
【0004】
【発明が解決しようとする課題】しかしながら、従来の
アルペジエータは、ある決まった一定の時間間隔で押鍵
情報を走査してその一定の時間間隔で演奏情報を順次出
力するものであり、このため発音タイミングは完全に均
等になり、人間らしさがなく、音楽的に味気ないものと
なってしまう傾向があった。
【0005】また、楽音の発音持続時間や楽音の音量等
の楽音の特質も均等であり、この点からも人間らしさが
なく、音楽的に味気ないアルペジオ演奏となってしまっ
ていた。本発明は、従来のアルペジエータでは不可能で
あった、より音楽的なアルペジオ演奏を簡単な操作で行
なうことのできるアルペジエータを提供することを目的
とする。
【0006】
【課題を解決するための手段】上記目的を達成する本発
明の第1のアルペジエータは、 (1−1)複数の鍵それぞれに対応する記憶領域を有
し、鍵が押鍵されたことを表わす押鍵情報を、押鍵され
た鍵に対応する記憶領域に、消去自在に書き込む押鍵情
報記憶手段 (1−2)リズムの1ステップ毎に、あるステップと、
そのステップに続く次のステップとの間の時間間隔が、
1つのステップもしくは複数のステップそれぞれに記録
されて成るリズムパターンテーブルを記憶するリズムパ
ターンテーブル記憶手段 (1−3)上記リズムパターンテーブルの各ステップを
順次参照するとともに、その各ステップに対応して上記
記憶領域を走査し、その走査により検出された押鍵情報
に基づく楽音を表わす演奏情報を、リズムパターンテー
ブルの、その走査に対応するステップに記録された時間
間隔に従ったタイミングで生成する演奏情報生成手段を
備えたことを特徴とする。
【0007】本発明の第1のアルペジエータによれば、
リズムパターンテーブルの各ステップ毎にリズムの時間
間隔が記録されており、その時間間隔に従ったタイミン
グで演奏情報が生成されるので、時間的に等分された単
純なアルペジオ演奏だけでなく、さまざまなリズムのア
ルペジオ演奏が可能になる。また、上記目的を達成する
本発明の第2のアルペジエータは、 (2−1)複数の鍵それぞれに対応する記憶領域を有
し、鍵が押鍵されたことを表わす押鍵情報を、押鍵され
た鍵に対応する記憶領域に、消去自在に書き込む押鍵情
報記憶手段 (2−2)リズムの1ステップ毎に、そのステップにお
ける楽音の特質を規定する情報が、1つのステップもし
くは複数のステップそれぞれに記録されて成るリズムパ
ターンテーブルを記憶するリズムパターンテーブル記憶
手段 (2−3)上記リズムパターンテーブルの各ステップを
順次参照するとともに、その各ステップに対応して上記
記憶領域を走査し、その走査により検出された押鍵情
報、および上記リズムパターンテーブルの、その走査に
対応するステップに記録された情報との双方に基づく楽
音を表わす演奏情報を生成する演奏情報生成手段を備え
たことを特徴とする。
【0008】ここで、上記本発明の第2のアルペジエー
タにおいて、上記楽音の特質を規定する情報としては、
例えば楽音の発音持続時間を規定する情報が採用され
る。この場合、スタッカートやテヌートの効果を、アル
ペジオ演奏の各楽音毎に独立して付加できるので、リズ
ムの多彩なニュアンスやアーティキュレーションを付け
ることができる。
【0009】あるいは、上記本発明の第2のアルペジエ
ータにおいて、上記楽音の特質を規定する情報として、
楽音の発音の強さを規定する情報を採用してもよい。こ
の場合、各楽音毎に強弱を付けることができ、さまざま
なアクセントのアルペジオ演奏が実現する。上記本発明
の第1のアルペジエータないし第2のアルペジエータに
おいて、上記押鍵情報記憶手段が、鍵が押鍵されたこと
を表わすとともに押鍵の強さの情報を含む押鍵情報を、
押鍵された鍵に対応する記憶領域に、消去自在に書き込
むものであって、上記演奏情報生成手段が、前記走査に
より検出された押鍵情報に含まれた押鍵の強さの情報に
対応する発音の強さの情報を含む演奏情報を生成するも
のであることが好ましい。
【0010】この場合、押鍵の強さにより示した演奏者
の意図を楽音の発音の強さに反映させることができる。
また、上記本発明の第2のアルペジエータにおいて、上
記の楽音の特質を規定する情報として、楽音の発音の強
さを規定する情報を採用した場合に、上記押鍵情報記憶
手段が、鍵が押鍵されたことを表わすとともに押鍵の強
さの情報を含む押鍵情報を、押鍵された鍵に対応する記
憶領域に、消去自在に書き込むものであって、上記演奏
情報生成手段が、上記走査により検出された押鍵情報に
含まれた押鍵の強さの情報、および、上記リズムパター
ンテーブルの、その走査に対応するステップに記録され
た楽音の発音の強さを規定する情報の双方に基づいて定
められた発音の強さの情報を含む演奏情報を生成するも
のであることも好ましい態様である。
【0011】この場合、リズムパターンテーブルに記録
された楽音の発音の強さを規定する情報を生かしつつ、
演奏者の意図も楽音の発音の強さに反映させることがで
きる。また、上記本発明の第1のアルペジエータないし
第2のアルペジエータにおいて、上記リズムパターンテ
ーブル記憶手段が、複数のリズムパターンテーブルを記
憶するものであり、上記演奏情報生成手段が、複数のリ
ズムパターンテーブルの中から選択された1つのリズム
パターンテーブルを参照するものであることが好まし
い。
【0012】このようにリズムパターンテーブルを複数
記憶しておくことにより、演奏者の選択の幅が広がり、
演奏者の好みやニュアンスに合ったアルペジオ演奏を行
なうことができる。複数のリズムパターンテーブルを記
憶する場合に、上記リズムパターンテーブル記憶手段
が、それら複数のリズムパターンテーブルのうちの少な
くとも一部のリズムパターンテーブルを書換え自在に、
もしくは新たなリズムパターンテーブルを追加自在に記
憶するものであることが好ましい。
【0013】少なくとも一部のリズムパターンテーブル
を書換え自在もしくは追加自在としておくことにより、
演奏者の好みに一層適合したアルペジオ演奏のリズムパ
ターンを生成することができるとともに、書換え自在も
しくは追加自在とすることに代えて演奏者の微妙な好み
の相違それぞれに適合した多数のリズムパターンテーブ
ルを用意しておく場合と比べ、メモリ容量の節約にもな
る。
【0014】さらに、上記本発明の第1のアルペジエー
タないし第2のアルペジエータにおいて、上記演奏情報
生成手段が、楽音の特質の変更深さを規定する情報に基
づいて変更された楽音を表わす演奏情報を生成するもの
であることも好ましい態様である。上記の楽音の特質の
変更深さを規定する情報としては、例えば、楽音の発音
持続時間の変更の程度を規定する情報や、あるいは楽音
の発音の強さの変更の程度を規定する情報が採用され
る。
【0015】この場合、リズムパターンテーブル全体を
書き換えたり、異なるリズムパターンのテーブルを追加
したりすることなく、アルペジオ演奏におけるスタッカ
ートやテヌートの効果、あるいはアクセントの効果など
の微妙な調整が可能となる。上記の楽音の特質の変更深
さを規定する情報は外部から入力されるものであっても
よいが、楽音の特質の変更深さを規定する情報であっ
て、その変更深さが操作の度合に応じて定められてなる
情報を生成する操作子を備えると、その操作子を操作す
ることで、上記の効果をリアルタイムで変更することが
でき、より音楽的なアルペジオ演奏が可能となる。
【0016】また、上記本発明の第2のアルペジエータ
において、リズムパターンテーブルに記録された楽音の
特質を規定する情報として楽音の発音の強さを規定する
情報を採用した場合に、上記押鍵情報記憶手段が、鍵が
押鍵されたことを表わすとともに押鍵の強さの情報を含
む押鍵情報を、押鍵された鍵に対応する記憶領域に、消
去自在に書き込むものであって、上記演奏情報生成手段
が、上記走査により検出された押鍵情報に含まれた押鍵
の強さの情報、上記リズムパターンテーブルの、その走
査に対応するステップに記録された楽音の発音の強さを
規定する情報、および楽音の発音の強さの変更の度合を
規定する情報の三者に基づいて定められた発音の強さの
情報を含む演奏情報を生成するものであることも好まし
い態様である。
【0017】この場合、リズムパターンテーブルに記録
された楽音の発音の強さを規定する情報を生かしつつ、
演奏者の意図も楽音の発音の強さに反映させることがで
き、しかも、リズムパターンテーブル全体を書き換えた
り、異なるリズムパターンのテーブルを追加したりする
ことなく、アルペジオ演奏におけるアクセントの効果の
微妙な調整が可能となる。
【0018】また、本発明の第3のアルペジエータは、 (3−1)複数の鍵それぞれに対応する記憶領域を有
し、鍵が押鍵されたことを表わす押鍵情報を、押鍵され
た鍵に対応する記憶領域に、消去自在に書き込む押鍵情
報記憶手段 (3−2)リズムの1ステップ毎に、あるステップと、
そのステップに続く次のステップとの間の時間間隔が、
1つのステップもしくは複数のステップそれぞれに記録
されて成るリズムパターンテーブルを記憶するリズムパ
ターンテーブル記憶手段 (3−3)上記記憶領域を走査する方式を規定する複数
種類のスキャン方式の中から選択された1つのスキャン
方式、もしくは同一種類のスキャン方式の重複が許容さ
れた複数のスキャン方式それぞれが、1つのステップ、
もしくは複数のステップそれぞれに記録されて成るスキ
ャンモードテーブルを記憶するスキャンモードテーブル
記憶手段 (3−4)上記リズムパターンテーブルの各ステップお
よび上記スキャンモードテーブルの各ステップを順次参
照し、上記スキャンモードテーブルの各ステップに記録
されたスキャン方式に従って上記記憶領域を走査し、そ
のにより検出された押鍵情報に基づく楽音を表わす演奏
情報を、リズムパターンテーブルの、該走査に対応する
ステップに記録された時間間隔に従ったタイミングで生
成する演奏情報生成手段を備えたことを特徴とする。
【0019】さらに、本発明の第4のアルペジエータ
は、 (4−1)複数の鍵それぞれに対応する記憶領域を有
し、鍵が押鍵されたことを表わす押鍵情報を、押鍵され
た鍵に対応する記憶領域に、消去自在に書き込む押鍵情
報記憶手段 (4−2)リズムの1ステップ毎に、そのステップにお
ける楽音の特質を規定する情報が、1つのステップもし
くは複数のステップそれぞれに記録されて成るリズムパ
ターンテーブルを記憶するリズムパターンテーブル記憶
手段 (4−3)上記記憶領域を走査する方式を規定する複数
種類のスキャン方式の中から選択された1つのスキャン
方式、もしくは同一種類のスキャン方式の重複が許容さ
れた複数のスキャン方式それぞれが、1つのステップ、
もしくは複数のステップそれぞれに記録されて成るスキ
ャンモードテーブルを記憶するスキャンモードテーブル
記憶手段 (4−4)上記リズムパターンテーブルの各ステップお
よび上記スキャンモードテーブルの各ステップを順次参
照し、スキャンモードテーブルの各ステップに記録され
たスキャン方式に従って上記記憶領域を走査し、その走
査により検出された押鍵情報、およびリズムパターンテ
ーブルの、その走査に対応するステップに記録された、
楽音の特質を規定する情報の双方に基づく楽音を表わす
演奏情報を生成する演奏情報情報生成手段を備えたこと
を特徴とする。
【0020】本発明の上記第3のアルペジエータおよび
第4のアルペジエータは、それぞれ、本発明の第1のア
ルペジエータおよび第2のアルペジエータの構成に加
え、さらに、上記スキャンモードテーブル記憶手段を備
え、複数のスキャン方式、例えば上昇スキャン方式、下
降スキャン方式等の中から選択された1つもしくは複数
の、スキャン方式をスキャンモードテーブルに記録して
おいて、実際のアルペジオ演奏にあたってはそのスキャ
ンモードテーブルの各ステップに記録されたスキャン方
式を順次参照しながら、参照したスキャン方式に応じて
押鍵情報を走査して演奏情報を生成するものであるた
め、上述した、それぞれ、本発明の第1のアルペジエー
タおよび第2のアルペジエータの利点に加え、さらに、
従来と同様の複数の鍵を同時に押える等の簡単な操作
で、スキャンモードテーブルに記録されたスキャン方式
のパターンに応じ極めて複雑な、あるいは音楽的な意味
のあるアルペジオ演奏が実現する。
【0021】ここで、上記本発明の第3のアルペジエー
タないし第4のアルペジエータにおいて、上記リズムパ
ターンテーブル記憶手段および上記スキャンモードテー
ブル記憶手段が、それぞれ、複数のリズムパターンテー
ブルおよび複数のスキャンモードテーブルを記憶するも
のであり、このアルペジエータが、上記複数のリズムパ
ターンテーブルのうちのいずれか1つのリズムパターン
テーブルと上記複数のスキャンモードテーブルのうちの
いずれか1つのスキャンモードテーブルとが対応づけら
れて成るスタイルを複数種類記憶するスタイル記憶手段
を備え、上記演奏情報生成手段が、所定のスタイル選択
情報により選択されたスタイルにより対応づけられたリ
ズムパターンテーブルおよびスキャンモードテーブルを
参照するものであることが好ましい。
【0022】この場合、演奏者は、リズムパターンとス
キャンモードとの組合せをいちいち意識することなく、
スタイルを選ぶことで自分の好みのリズムパターンとス
キャンモードが選択され、使い勝手の良いアルペジエー
タが実現する。
【0023】
【発明の実施の形態】以下、本発明の実施形態について
説明する。図1は、本発明のアルペジエータの一実施形
態の回路構成図である。ここには、CPU10、アドレ
スバス11およびデータバス12でそのCPU10と接
続された、RAM13,ROM14,パネル15、およ
びCPU10にクロックの発生を通知するクロックタイ
マ16、MIDI規格に準拠したデータを入力するデー
タ入力端子(MIDI IN)17、MIDI規格に準
拠したデータを出力するデータ出力端子(MIDI O
UT)18が備えられている。
【0024】ROM14は、読出し専用のメモリエリア
であり、ここには、CPU10で実行されるプログラム
や、そのプログラムで参照される各種テーブルが格納さ
れている。プログラムやテーブルの詳細については後述
する。RAM13は、CPU10で実行されるプログラ
ムのワーキングエリアとして使用される。ここでは、こ
のRAM13は電池でバックアップされており、電源を
切ってもそのときのメモリ内容は保存される。メモリの
内容について後述する。
【0025】パネル15は、操作スイッチと表示器を持
ち、パラメータを独立して選択しそのパラメータに値を
設定することができる。設定された値はRAM13内の
メモリに記憶される。図2は、パネル15を示した図で
ある。このパネルでは、リズムパターン番号(Rhyt
hem Pattern#)、スキャンモード番号(S
can Mode#)、およびグルーブレート(Gro
ove Rate)を設定することができる。
【0026】リズムパターンは、本実施形態では、発音
タイミング、デュレーション、ベロシティ係数のパター
ンを組み合わせたものである。リズムパターン設定用操
作子151は、値をインクリメントする操作ボタン15
1aと値をデクリメントする操作ボタン151bとのペ
アから成り、それらの操作ボタン151a,151bで
設定した値は表示器151cに表示されるとともに、上
述したように、RAM13に格納される。
【0027】スキャンモードは押鍵情報をどのように走
査するかというスキャン方式のセットをいう。スキャン
モード設定用操作子152は、上記リズムパターン設定
用操作子151と同様に、値をインクリメントする操作
ボタン152aと値をデクリメントする操作ボタン15
1bとのペアから成り、それらの操作ボタン151a,
151bで設定した値は、表示器152cに表示される
とともに、RAM13に格納される。
【0028】グルーブレートは、いわゆる‘ノリ’の程
度を定めるものであり、グルーブレート設定用操作子1
53はスライダから成り、そのスライドボタン153a
を一番下に動かすとグルーブレートパラメータに値
‘0’が設定され、一番上に動かすとグルーブレートパ
ラメータに値‘100’が設定され、それらの中間に設
定すると設定された位置に応じた、0〜100の間の値
が設定される。この設定された値は、RAM13に格納
される。
【0029】各パラメータの詳細については後述する。
図1に戻って説明を続行する。クロックタイマ16は、
一定の周期でクロックを発生し、クロック発生のたび
に、CPUに対し、クロックの発生を通知する。本実施
形態では、96クロック分の時間が4分音符の発音時間
と定めれており、このクロック周期によってアルベジオ
のテンポが決定される。
【0030】データ入力端子(MIDI IN)17に
は、例えば図示のように鍵盤20が接続され、鍵盤20
の演奏により生成された押鍵(ノートオン)情報、離鍵
(ノートオフ)情報が入力される。また、その鍵盤20
には、ホールドペダル21が接続されており、そのホー
ルドペダル21の操作により生成されたホールドオン情
報、ホールドオフ情報(これらを合わせてホールド情報
と称する。)も、MIDIデータの一種として、データ
入力端子17を経由して入力される。
【0031】CPU10は、データ入力端子17から入
力される押鍵情報、離鍵情報を受信してアルペジオ演奏
用の演奏情報を順次生成し、その演奏情報をデータ出力
端子18から外部に向けて出力する。データ出力端子1
8には、例えば図示のように音源30が接続されてお
り、その音源30では受信した演奏情報に基づいて楽音
信号が生成される。その楽音信号は、例えば音源30に
内蔵された、あるいは音源30に接続されたアンプ、ス
ピーカ等から成るサウンドシステムにより、楽音として
空間に放音される。
【0032】以下、先ず後述するプログラムで参照され
る、ROM内に記憶された各種テーブルについて説明
し、次いで、RAM内に確保された各種メモリについて
説明し、その後、それらのテーブルやメモリを用いたプ
ログラムについて説明する。図3は、リズムパターンテ
ーブルの基本パターンを示す図である。リズムパターン
テーブルは、その各ステップがリズムの各ステップに対
応しており、各ステップには、そのステップとそのステ
ップに続く次のステップとの間の時間間隔(ステップタ
イム;Step Time)、そのステップのリズム音
の持続時間(デュレーション;Duration)、そ
のステップのリズム音の発音の強さを規定するベロシテ
ィ係数(Velo.Coef.)が記録されており、最
後にそのリズムパターンテーブルのサイズ(ステップ
数;Step Size)が記録されている。1ステッ
プ分のメモリ容量は、ステップタイムが2バイト、デュ
レーションが2バイト、ベロシテイ係数が1バイトの合
計5バイトであり、ステップ数は、1バイトである。ス
テップタイム、デュレーションの欄は、前述したクロッ
ク(4分音符=96クロック)を単位とした数値が記録
されている。
【0033】このリズムパターンテーブルはROM内に
複数種類記録されており、各リズムパターンテーブルに
は番号が付されている。図2に示すリズムパターン設定
用操作子151を操作してそのリズムパターン番号を設
定することにより、演奏者が任意のリズムパターンテー
ブルを選択することができる。ここでは、リズムパター
ンテーブル、およびそのステップ数は、それぞれ、RH
Y_XXX_TBL[n]、RHY_XXX_SIZE
と表記される。XXXはそのリズムパターンテーブルの
名称を表わし、[n]のnは、そのリズムパターンテー
ブル内部のステップ番号(0≦n<RHY_XXX_S
IZE)である。
【0034】またリズムパターンテーブル名XXXの第
nステップに記録されたステップタイム、デュレーショ
ン、ベロシティ係数は、それぞれ、 RHY_XXX_TBL[n].stepTime RHY_XXX_TBL[n].duration RHY_XXX_TBL[n].veloCoef と表記される。
【0035】次にリズムパターンテーブルの各例につい
て説明する。図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’である。
【0036】このリズムパターンテーブルRHY_4_
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が付されている。これらの構造につ
いては上述の説明から明らかであるため、詳細説明は省
略する。
【0037】図10は、スキャンモードテーブルの基本
パターンを示す図である。スキャンモードテーブルの各
ステップには、押鍵情報を走査する方式(スキャン方
式)の番号(スキャンファンクション番号;Scan
Function#)が記録されている。このスキャン
モードテーブル1ステップ分のメモリ容量は1バイトで
あり、ステップ数も1バイトである。
【0038】このスキャンモードテーブルは、ROM1
4に複数種類記憶されており、図2に示すスキャンモー
ド設定用操作子152を操作することにより、演奏者が
任意のスキャンモードテーブルを選択することができ
る。ここで、スキャンモードテーブル、およびそのステ
ップ数は、それぞれSMODE_XXX_TBL
[n]、SMODE_XXX_SIZEと表記される。
XXXはそのスキャンモードテーブルの名称を表わし、
[n]のnは、そのスキャンモードテーブル内部のステ
ップ番号(0≦n<SMODE_XXX_SIZE)で
ある。
【0039】本実施形態における各スキャン方式(Sc
an Fuction)は以下のとおりである。 (1)上昇スキャン方式 押鍵情報を、音高の低い方から高い方へと走査する。こ
こでは、これを、SCAN_Uと表記する。
【0040】(2)下降スキャン方式 音高の高い方から低い方へと走査する。ここではこれ
を、SCAN_Dと表記する。 (3)上昇下降スキャン方式 音高の低い方から高い方へと走査し、最高音に達した
ら、今度は音高の高い方から低い方へと走査する。ここ
では、これをはSCAN_UDと表記する。
【0041】(4)ランダムスキャン方式 ランダムに走査する。ここではこれを、SCAN_Rと
表記する。 (5)押鍵順スキャン方式 押鍵情報の入力順に走査する。ここではこれを、SCA
N_Oと表記する。 (6)和音スキャン方式 現在押鍵されているものすべてを走査する。ここではこ
れを、SCAN_Cと表記する。
【0042】(7)最低音スキャン方式 現在押鍵されているもののうちノートナンバのもっとも
小さなもの(最低音)だけを走査する。ここではこれ
を、SCAN_Bと表記する。 (8)最高音スキャン方式 現在押鍵されているもののうちノートナンバのもっとも
大きなもの(最高音)だけを走査する。ここではこれ
を、SCAN_Tと表記する。
【0043】(9)最低音抜き上昇スキャン方式 最低音を除いて、音高の低い方から高い方へと走査す
る。ここでは、これをSCAN_U_WO_B(Sca
m up without bass)と表記する。 (10)最低音抜きランダムスキャン方式 最低音を除いて、ランダムに走査する。ここでは、これ
をSCAN_R_WO_Bと表記する。
【0044】(11)最低音抜き和音スキャン方式 最低音を除いて、現在押鍵されているものをすべて走査
する。ここでは、これをSCAN_C_WO_Bと表記
する。 (12)最高音抜き上昇スキャン方式 最高音を除いて、音高の低い方から高い方へと走査す
る。ここでは、これをSCAN_U_WO_Tと表記す
る。
【0045】次にスキャンモードテーブルの各例を示
す。図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’である。
【0046】図12,図13,図14,図15,図1
6,図17,図18,図19は、それぞれ下降スキャン
用(DOWN)、上昇下降スキャン用(UP_DW),
ランダムスキャン用(RANDOM)、和音スキャン用
(CHORD)、押鍵順スキャン用(ORDER)、ワ
ルツ用(WALTZ)、レゲエ用(REGGAE)、三
味線用(SHAMI)のスキャンモードテーブルおよび
そのステップを示した図である。
【0047】スキャンモード番号は、この順に、1,
2,3,4,5,6,7,8が付されている。これらの
構造については、上述の説明から明らかであるため、詳
細説明は省略する。次に各種パラメータ値等が格納され
るRAM内のメモリにつてい説明する。図20はリズム
パターンパラメータを示す図である。このリズムパター
ンパラメータは1バイトのメモリであり、このメモリに
は、図2に示すパネル15のリズムパターン設定用操作
子151の操作により設定されたリズムパターン番号が
格納される。ここではこれを、PRM_RHYTHMと
表記する。
【0048】図21は、スキャンモードパラメータを示
す図である。このスキャンモードパラメータも、1バイ
トのメモリであり、このメモリには、図2に示すパネル
15のスキャンモード設定用操作子152の操作により
設定されたスキャンモード番号が格納される。ここで
は、これを、PRM_SMODEと表記する。図22
は、グルーブレートパラメータを示す図である。このグ
ルーブレートパラメータも1バイトのメモリであり、こ
のメモリには図2に示すパネル15のグルーブレード設
定用操作子の操作により設定されたブルーブレートの値
が格納される。この値の範囲は、前述したように、0〜
100である。ここではこれを、PRM_GROOVE
と表記する。
【0049】図23は、ノートバッファを示す図であ
る。このノートバッファは、128バイトの配列であ
り、各1バイトは、鍵盤20(図1参照)の各鍵(ノー
トナンバ)に対応しており、押鍵情報を受信すると、そ
の押鍵情報中の押鍵強さを表わす情報(ノートオンベロ
シティ)が、その押鍵情報中のノートナンバに対応する
領域に格納される。対応する鍵が離鍵(ノートオフ)さ
れている場合、あるいはそれまで押鍵されていて離鍵さ
れた場合は、その領域には‘−1’が格納される。
【0050】ここでは、このノートバッファの各領域を
NOTEBUF[n]と表記する。nはノートナンバを
表わす。図24は、プレイバッファを示す図である。こ
のプレイバッファは、図23に示すノートバッファと同
様128バイトの配列であり、各1バイトは、各ノート
ナンバに対応している。ただし、このプレイバッファに
は、図23に示すノートバッファとは異なり、ホールド
情報を加味したノートオンベロシティが記憶される。す
なわち、図1に示す鍵盤20に接続されたホールドペダ
ル21が踏まれると、データ入力端子17を経由してホ
ールドオン情報が入力され、ホールドペダル21が離さ
れるとデータ入力端子17を経由してホールドオフ情報
が入力されるが、ホールドオン情報を受信すると、ホー
ルドオフ情報を受信する迄の間、この図24に示すプレ
イバッファに格納された押鍵情報の消去が禁止される。
ホールドオフ情報が入力されると、プレイバッファには
そのときのノートバッファの内容がコピーされ、以後、
次にホールドオン情報が入力されない限り、プレイバッ
ファは常にノートバッファと同一の内容を維持する。ア
ルペジオ演奏を行なうにあたっては、ホールド情報が加
味されたベロシティが配列された、このプレイバッファ
が走査される。ここでは、このプレイバッファの領域
を、PLAYBUF[n]と表記する。nはノートナン
バを表わす。
【0051】図25は、カレントプレイノートナンババ
ッファを示す図である。このカレントプレイノートナン
ババッファは1バイトのメモリであり、このメモリに
は、アルペシオ演奏中の現在のステップのノートナンバ
が格納される。ここではこれを、CUR_NOTEと表
記する。図26は、ホールドバッファを示す図である。
このホールドバッファは1バイトのメモリであり、ここ
には0〜127の数値のホールド情報が格納される。図
1に示すホールドペダル21を操作すると、データ入力
端子17からは、その操作量に応じた0〜127の数値
で表わされるホールド情報が入力され、そのホールド情
報がこのホールドバッファに格納される。ここでは、こ
の数値が64以上であればホールドオン情報、64未満
であれはホールドオフ情報とみなされる。ここではこれ
を、HOLDと表記する。
【0052】図27は、オーダバッファを示す図であ
る。このオーダバッファは、1ステップが2バイトから
なる16ステップの配列であり、各ステップには、ノー
トナンバとそのノートナンバのベロシティが格納され
る。このオーダバッファには、押鍵された鍵のノートナ
ンバとその押鍵時のベロシティが押鍵順に格納され、離
鍵されたときは、その鍵のノートナンバおよびベロシテ
ィが抹消され先頭詰めに並べ直される。ここではこれ
を、ORDER[n]と表記する。nは、ステップ番号
(n=0〜15)である。特に、第nステップのノート
ナンバのみ、ベロシティのみを指すときは、それぞれO
RDER[n].note、ORDER[n].vel
oと表記される。
【0053】図28は、オーダライトカウンタを示す図
である。このオーダライトカウンタは1バイトのメモリ
であり、このメモリには、押鍵情報を次に受信した場合
に、その受信した押鍵情報を、図27に示すオーダバッ
ファORDER[]の何番目のステップに格納するかを
示す値が格納される。このオーダライトカウンタのとり
得る値は0〜16である。0〜15は、オーダバッファ
ORDER[]の各ステップに対応し、16は、オーダ
バッファORDER[]が満杯であることを意味する。
ここではこれを、ORDER_WRと表記する。
【0054】図29は、オーダポジションカウンタを示
す図である。このオーダポジションカウンタは1バイト
のメモリであり、このメモリには、アルペジオ演奏中の
現在のステップの楽音が図27に示すオーダバッファO
RDER[]の何番めのステップに対応する楽音である
かを示す値が格納される。このオーダポジションカウン
タのとり得る値は−1〜15である。0〜15は、図2
7に示すオーダバッファORDER[]の各ステップに
対応し、−1はアルペジオ演奏の一連のステップをこれ
から開始するタイミング(前回の一連のステップが終了
したタイミング)であることを意味している。ここでは
これを、CUR_ORDERと表記する。
【0055】図30は、リズムパターンテーブルポジシ
ョンカウンタを示す図である。このリズムパターンテー
ブルポジションカウンタは1バイトのメモリであり、こ
のメモリは、現在選択されているリズムパターンテーブ
ル(図3、および図4〜図9の各例を参照)中のステッ
プを指し示すポインタである。このポインタはアルペジ
オ演奏中の現在のリズムステップに対応している。この
リズムパターンテーブルポジションカウンタのとり得る
値は0以上、かつ現在選択されているリズムパターンテ
ーブルのステップ数RHY_XXX_SIZE未満であ
る。ここではこれを、CUR_RHYと表記する。
【0056】図31は、スキャンモードテーブルポジシ
ョンカウンタを示す図である。このスキャンモードテー
ブルポジションカウンタは1バイトのメモリであり、現
在選択されているスキャンモードテーブル(図10、お
よび図11〜図19の各例を参照)中のステップを指し
示すポインタである。このポインタも、アルペジオ演奏
中の現在のリズムステップに対応している。スキャンモ
ードテーブルポジションカウンタのとり得る値は、0以
上、かつ現在選択されているスキャンモードテーブルの
ステップ数SMODE_XXX_SIZE未満である。
ここでは、これをCUR_SMODEと表記する。
【0057】図32は、クロックカウンタを示す図であ
る。このクロックカウンタは2バイト(16ビット)の
メモリであり、図1に示すクロックタイマ16がクロッ
クを1つ発生するたびにこのクロックカウンタの値が
‘1’ずつ増加する。このクロックカウンタの値の範囲
は、0000h〜FFFFhであり、FFFFhの次は
0000hに戻り、電源がオンである間、無限に巡回す
る。このクロックの値の増加に基づいてアルペジオが進
行する。ここではこれを、CLOCKと表記する。
【0058】図33は、ネクストクロックバッファを示
す図である。このネクストクロックバッファは2バイト
(16ビット)のメモリであり、このメモリには、アル
ペジオ演奏の次のステップの時刻が格納される。すなわ
ち、図32に示すCLOCKが増加して、このネクスト
クロックバッファに格納されている値に達すると、押鍵
情報を走査してノートオンデータを送信する。1回のス
テップの処理が終了すると、このネクストクロックバッ
ファの値は次のステップの時刻に更新される。このネク
ストクロックバッファのとり得る値の範囲は0000h
〜FFFFhである。ここではこれを、NEXTCLK
と表記する。
【0059】図34は、ノートオフリザベーションバッ
ファを示す図である。このノートオフリザベーションバ
ッファは3バイト×16の配列であり、このノートオフ
リザベーションバッファには、ノートオフすべきノート
ナンバと、それをノートオフデータとして実際に送信す
べきタイミングとがペアで格納される。この送信タイミ
ングは図32のCLOCKの値で表わされる。CLOC
Kが順次増加していってこのノートオフリザベーション
バッファに格納されている送信タイミングのうちのいず
れかの送信タイミングに到達すると、その送信タイミン
グとペアで格納されているノートナンバについてノート
オフデータが送信される。このノートオフリザベーショ
ンバッファ中の有効なデータが格納されていない領域、
あるいはノートオフデータを送信し終わった領域には
‘−1’が格納される。
【0060】ここではこれを、OFFRSV[n]と表
記する。nは、ノートナンバとその送信タイミングとの
ペアのn番目の格納領域を意味する。特にOFFRSV
[n]の中ノートナンバ、送信タイミングを指し示すと
きは、それぞれ、OFFRSV[n].note,OF
FRSV[n].clockと表記される。図35は、
エンドフラグを示す図である。このエンドフラグは、こ
こでは1バイトのメモリで構成されているが、フラグの
性質上1ビットで構成してもよい。このエンドフラグは
‘0’と‘1’との2値をとり、‘0’は、アルペジオ
演奏中の1回のステップの発音のための走査が未了であ
ることを示し、‘1’は、1回のステップの発音のため
の走査が終了したことを示している。ここではこれを、
END_FLGと表記する。
【0061】図36は、ベースノートバッファを示す図
である。このベースノートバッファは1バイトのメモリ
であり、このメモリには、ホールド情報を加味した押鍵
中の鍵のうちの最低音の鍵のノートナンバが格納され
る。ここではこれを、LOと表記する。図37は、トッ
プノートバッファを示す図である。このトップノートバ
ッファは1バイトのメモリであり、このメモリにはホー
ルド情報を加味した押鍵中の鍵のうちの最高音の鍵のノ
ートナンバが格納される。ここではこれを、HIと表記
する。
【0062】以上説明した各メモリの他にも作業領域と
して使用するメモリもあるが、後述するプログラムの説
明で足りるため、ここでは、ここに説明した以外のメモ
リについて1つずつ取りあげた説明は省略する。以下
に、これまで説明したテーブルやメモリを用いてCPU
で実行されるプログラムについて説明する。
【0063】図38は、電源オン時に動作を開始し、電
源オフ時まで動作し続けるゼネラルプログラムのフロー
チャートである。電源が投入されると、先ず所定の初期
化が行なわれ(ステップ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)が行なわ
れる。
【0064】ホールドデータ処理では、先ずHOLD
(図26参照)にホールド値が格納され(ステップ38
_11)、そのホールド値が、ホールドオンを表わす6
4以上であるか否かが判定され(ステップ38_1
2)、ホールドオフを表わす63以下の場合、ホールド
オフ処理が行なわれる(ステップ38_13)。図39
は、初期化処理ルーチンのフローチャートである。この
初期化処理ルーチンは、図38に示すゼネラルプログラ
ムのステップ38_1で実行される。
【0065】この初期化処理では、先ず、押鍵時のベロ
シティが押鍵順に格納されるオーダバッファORDER
[](図27参照)がクリアされ、そのオーダバッファ
ORDER[]の格納ポインタORDER_WR(図2
8参照)が‘0’(ORDER[]の先頭)に初期化さ
れ、さらに、オーダポジションカウンタCUR_ORD
ER(図29)が、アルペジオ演奏の一連のステップを
これから開始するタイミングであることを表わす‘−
1’に初期化される(ステップ39_1)。
【0066】次いで、クロックタイマ16(図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)。
【0067】図40は、リセットスキャナルーチンのフ
ローチャートである。リセットスキャナルーチンは、図
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を越えてしまい、その発音が行なわ
れないことが生じる可能性をなくすためである。
【0068】図40に示すリセットスキャナルーチンで
は、さらに、演奏中のアルペジオ演奏の1回ステップの
発音のための操作が未了か終了かを示すエンドフラグE
ND_FLGに、未了を示す‘0’が格納される。図4
1は、クロック処理ルーチンのフローチャートである。
このクロック処理ルーチンは、図38に示すゼネラルプ
ログラムのステップ38_3で実行される。
【0069】このクロック処理ルーチンでは、先ずCL
OCK(図32参照)がインクリメントされる(ステプ
41_1)。次に、OFFRSV[](図34参照)を
サーチし、そこに現在のタイミングで送信すべきノート
オフデータが存在するかどうかを調べ、現在のタイミン
グで送信すべきノートオフデータが存在する場合にその
ノートオフデータを送信する(ステップ41_2〜41
_8)。
【0070】具体的には、先ずiに‘0’を置いて(ス
テップ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)。
【0071】ノートオフデータのサーチが終了すると、
今度は送信すべきノートオンデータを見つけに行く処理
を行なう(ステップ41_9〜41_17)。具体的に
は、先ず現在のCLOCKがNEXTCLKに達したか
否か、すなわちノートオンデータを送信すべきタイミン
グに達したか否かが判定され(ステップ41_9)、未
だそのタイミングに達していないときはそのまま終了す
る。
【0072】NEXTCLK=CLOCKのときは、ス
テップ41_10に進み、押鍵情報を走査するスキャン
ノートオンルーチンが実行される(ステップ41_1
0)。このスキャンノートオンルーチンの詳細は後述す
るが、このスキャンノートオンルーチンでは、送信すべ
きノートナンバのうちの1つがNTに格納される。NT
=−1は、送信すべきノートが存在しないことを意味し
ている。ステップ41_11においてNT=−1ではな
い、すなわち送信すべきノートが存在すると判定される
と、ステップ41_12に進み、ノートオフ予約ルーチ
ンが実行される。このノートオフ予約ルーチンの詳細に
ついても後述するが、このノートオフ予約ルーチンで
は、これから送信しようとするノートオンデータに対応
するノートオフデータをOFFRSV[](図34参
照)に格納することにより、ノートオフ予約を行なう。
OFFRSV[]が満杯のときは、NTに、ノートオフ
予約ができないことを示す‘−1’が格納される。
【0073】ステップ41_13ではNT=−1かどう
かを調べることによりノートオフ予約が行なわれたか否
かを知り、ノートオフ予約不能であったときはノートオ
ンデータを送信せずにステップ41_10に戻り、送信
すべき次のノートオンデータのサーチを行なう。ステッ
プ41_13でNT≠−1であったとき、すなわち正常
にノートオフ予約が行なわれたときは、ステップ41_
14に進み、ベロシティ生成ルーチンが実行される。こ
のベロシティ生成ルーチンの詳細についても後述する。
このベロシティ生成ルーチンでは、後述する演算により
送信しようとするノートオンデータのベロシティが生成
される。その後ステップ41_15においてそのノート
オンデータが送信され、ステップ41_10に戻り、現
在のタイミングでさらに送信すべきノートオンデータが
存在するかどうかのサーチが行なわれる。
【0074】ステップ41_10でNTに‘−1’が格
納された場合、すなわち現在のタイミングで送信すべき
ノートオンデータが存在しない(もしくは、現在のタイ
ミングで送信すべきノートオンデータは全て送信してし
まった)場合、ステップ41_11を経由してステップ
41_16に進む。ステップ41_16では、ネクスト
クロック更新ルーチンが実行される。このネクストクロ
ック更新ルーチンの詳細は後述するが、ここでは、ノー
トオンデータ送信の次のタイミングがNEXTCLKに
格納される。
【0075】その後、ステップ41_17に進み、スキ
ャナ更新ルーチンが実行される。このスキャナ更新ルー
チンでスキャナの更新が行なわれる。このスキャナ更新
ルーチンの詳細についても後述する。図42は、スキャ
ンノートオンルーチンのフローチャートである。このス
キャンノートオンルーチンは、図41のクロック処理ル
ーチンのステップ41_10で実行される。
【0076】このスキャンノートオンルーチンでは、先
ずスキャンモード番号が格納されている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)が実行される。
【0077】以下では、代表的なものとして、スキャン
アップルーチン(ステップ42_4)、スキャンオーダ
ルーチン(ステップ42_8)、スキャンコードルーチ
ン(ステップ42_9)、スキャンベースルーチン(ス
テップ42_10)、スキャンコードウィズアウトベー
ス(ステップ42_14)について説明する。図43
は、スキャンアップルーチンのフローチャートである。
このスキャンアップルーチンは、前述した上昇スキャン
方式を実現するルーチンである。
【0078】ここでは、先ず、END_FLG(図35
参照)が‘1’か‘0’か、すなわち、今回の1ステッ
プ分の発音のための走査が既に終了しているか否かが判
定され(ステップ43_1)、END_FLG=1の場
合、すなわち、今回の走査が既に終了している場合は、
ステップ43_2に進み、NTに‘−1’が格納されて
終了する。ただし、今回のステップで最初にこのスキャ
ンアップルーチンが実行される際はEND_FLG=0
である。
【0079】ステップ43_1でEND_FLGが
‘1’でなかったときは、ステップ43_3に進み、P
LAYBUF[](図24参照)に1つでもノートオン
データが存在するか否かが判定され、ノートオンデータ
が1つも存在しないときは、発音しようがないので、ス
テップ43_2に進み、NTに‘−1’が格納されて終
了する。
【0080】PLAYBUF[]にノートオン情報が存
在することが認識されると、次に、上昇スキャン方式に
従って、次に送信すべきノートオンデータが走査される
(ステップ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[]の有効なベロシティが格
納されている領域を見い出すべく、音高の低い方から高
い方へと走査される。
【0081】このようにして、有効なベロシティデータ
が格納されているPLAYBUF[]が見い出される
と、そのときのCUR_NOTEがNTに格納され(ス
テップ43_8)、PLAYBUF[NT]に格納され
ている、CUR_NOTEのベロシティデータがVLに
格納され(ステップ43_9)、上昇スキャン方式では
1つのステップでは1つのノートオンデータしか送信し
ないためEND_FLGに走査の終了を示す‘1’が格
納される(ステップ43_10)。
【0082】図44は、スキャンオーダルーチンのフロ
ーチャートである。このスキャンオーダルーチンは、前
述した押鍵順スキャン方式を実現するルーチンである。
ステップ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’が格納されて終了す
る。
【0083】ステップ44_3でORDER_WR=0
ではない、すなわち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)。
【0084】図45は、スキャンコードルーチンのプロ
グラムである。このスキャンコードルーチンは、前述し
た和音スキャン方式を実現するルーチンである。ステッ
プ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)、このル
ーチンを一旦抜ける。
【0085】和音スキャン方式では、PLAYBU
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’が格納される。
【0086】図46は、スキャンベースルーチンのプロ
グラムである。このスキャンベースルーチンは、前述し
た最低音スキャン方式を実現するルーチンである。ステ
ップ46_1,46_2,46_3は、図43に示すス
キャンアップルーチンのステップ43_1,43_2,
43_3と同様であり、説明は省略する。ステップ46
_4では、最低音LO(図36参照)がNTに格納され
る。LOへの最低音の格納処理については後述する。
【0087】ステップ46_5では、その最低音LOの
ベロシティPLAYBUF[NT]がVLに格納され
る。さらにステップ46_6において、END_FLG
に‘1’が格納される。最低音は1つしか存在しないか
らである。図47は、スキャンコードウィズアウトベー
スルーチンのプログラムである。このルーチンは、前述
した最低音抜き和音スキャン方式を実現するルーチンで
ある。
【0088】ステップ47_1,47_2,47_3
は、図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)。
【0089】ステップ47_4においてノートオンの数
が複数存在することが確認されるとステップ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に最低音を格
納する処理については後述する。
【0090】以上では、図42に示すスキャンノートオ
ンルーチン中で実行される、スキャンアップルーチン
(ステップ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)から自明であるため、ここではそれらについ
ての図示および説明は省略する。
【0091】図48は、ノートオフ予約ルーチンのプロ
グラムである。このノートオフ予約ルーチンは、図41
に示すクロック処理ルーチンのステップ41_12で実
行される。このノートオフ予約ルーチンでは、ノートオ
フ予約に用いられるOFFRSV[](図34参照)を
サーチしてその空いている領域を見つけ、一方、リズム
パターンテーブルから読み出したデュレーションと、ス
テップタイムと、グルーブレート設定用操作子153
(図2参照)の操作により設定されたグルーブレートP
RM_GROOVEとに従ってデュレーションを計算
し、そのデュレーションに基づいてノートオフのタイミ
ングを求めて、そのノートオフのタイミングをOFFR
SV[]の空き領域に設定することにより、ノートオフ
予約を行なう。
【0092】すなわち、先ずステップ48_1において
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’を格納して終了する。
【0093】ステップ48_2においてOFFRSV
[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)。
【0094】ステップ48_9では、デュレーションD
1,ステップタイムD2、およびグルーブレートPRM
_GROOVE(図22参照)に基づいて、そのノート
ナンバのデュレーションDURATIONが、 DURATION=(D1−D2)×PRM_GROO
VE/100+D2 の計算により求められる。
【0095】この計算結果は、PRM_GROOVE=
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)。
【0096】図49は、ベロシティ生成ルーチンのフロ
ーチャートで、図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に格納される。
【0097】ここでは、図50に示すように、図2に示
すグルーブレート設定用操作子153の操作により設定
されたグルーブレートPRM_GROOVEがPRM_
GROOVE=0の時、リズムパターンテーブルRHY
_XXX_TBL[]に格納されたベロシティにかかわ
らず、押鍵ベロシティがそのまま採用され、PRM_G
ROOVE=100のときは、(押鍵ベロシティ×ベロ
シティ係数)が採用され、グルーブレード設定用操作子
153をその中間に設定すると、その位置に応じて、押
鍵ベロシティと、(押鍵ベロシティ×ベロシティ係数)
との間で連続的に変化するベロシティが採用される。
【0098】このようにグルーブレートを変えることに
より、いわゆる‘ノリ’の程度を変化させることができ
る。図41のクロック処理ルーチンのステップ41_1
4では、上記のようにしてベロシティが求められ、ステ
ップ41_15では、このようにして求められたベロシ
ティデータを伴ったノートオンデータが送信される。
【0099】図51は、ネクストクロック更新ルーチン
のフローチャートである。このネクストックロック更新
ルーチンは、図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に設定される。
【0100】図52、53は、それぞれ、スキャナ更新
ルーチンのフローチャートの前半部分、後半部分であ
る。このスキャナ更新ルーチンは、図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に
進む。
【0101】ステップ52_7〜52_11では、スキ
ャンモードテーブルの現在のステップ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)。
【0102】次に図53に示すステップ53_1に進
み、スキャンモード番号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で実行さ
れる。
【0103】ステップ54_1では、リズムパターンが
変更されたか否かが判定される。リズムパターンの変更
は、図2に示すリズムパターン設定用操作子151を操
作することにより行われる。リズムパターン設定用操作
子151を操作することによりリズムパターンが変更さ
れる。ステップ54_2において、PRM_RHYTH
M(図20参照)に、変更後の新たなリズムパターン番
号が格納され、ステップ52_3に進み、リセットスキ
ャナルーチン(図40参照)が実行されてスキャナのリ
セットが行われる。
【0104】ステップ54_4では、スキャンモードが
変更されたか否かが判定される。スキャンモードの変更
は、図2に示すスキャンモード設定用操作子152を操
作することにより行われる。スキャンモード設定用操作
子152が操作されることによりスキャンモードが変更
されると、ステップ54_5において、PRM_SMD
E(図21参照)に変更後の新たなスキャンモード番号
が格納され、ステップ52_3でスキャナのリセットが
行われる。
【0105】ステップ54_6では、グルーブレートが
変更されたか否かが判定される。グルーブレートの変更
は、図2に示すグルーブレート設定用操作子153の操
作により行われる。グルーブレート設定用操作子153
の操作によりグルーブレートが変更されると、ステップ
54_7に進み、PRM_GROOVE(図22参照)
にグルーブレートの新たな値が格納される。
【0106】図55は、ノートオン処理ルーチンのフロ
ーチャートである。このノートオン処理分は、ノートオ
ンデータを受信した際に、図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)。
【0107】図56は、ノートオフ処理ルーチンのフロ
ーチャートである。このノートオフ処理ルーチンは、ノ
ートオフデータを受信した際に、図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が更新される。
【0108】図57は、デリートオーダルーチンのフロ
ーチャートである。このデリートオーダルーチンは、図
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’が格納される。
【0109】図58は、パックオーダルーチンのフロー
チャートである。このパックオーダルーチンは、図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’か否か
調べられる。
【0110】ORDER[]のポインタORDER_W
R(図28参照)もORDER[]の前詰めに伴って変
更する必要があり、ステップ58_9では、ORDER
_WRにjが格納される。図59は、ホールドオフ処理
ルーチンのフローチャートである。このホールドオフ処
理ルーチンはホールドデータを受信した際に、図38に
示すゼネラルプログラムのステップ38_13で実行さ
れる。このホールドオフ処理ルーチンが実行されるとき
は、図38のステップ38_12の判定により、HOL
Dが64未満(ホールドオフ)であることがわかってい
る。
【0111】図59に示すホールドオフ処理ルーチンが
実行されると、押鍵,離鍵をそのまま反映したNOTE
BUF[](図23参照)が、その全域にわたって、ホ
ールド情報を加味した押鍵情報を格納するPLAYBU
F[](図24参照)に転記される(ステップ59_1
〜59_4)。次いで、押鍵順バッファORDER[]
(図27参照)の再構築を行うリメークオーダルーチン
が実行される(ステップ59_5)。ORDER[]が
再構築された後、ステップ59_6,59_7では、P
LAYBUF[]がサーチされて最低音LO,最高音H
Iの更新が行われる。
【0112】図60は、リメークオーダルーチンのフロ
ーチャートである。このリメークオーダルーチンは図5
9に示すホールドオフ処理ルーチンのステップ59_5
で実行される。ここでは、PLAYBUF[]を音高の
低い方から高い方と順にサーチするために、NTに、先
ず初期値‘0’が格納される(ステップ60_1)。
【0113】次いで、PLAYBUF[NT]が読み出
されて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]が読み出される。
【0114】このようにして、PLAYBUF[]の全
域がサーチされ、ORDER[]から、VL=−1が格
納されているPLAYBUF[NT]に対応するノート
ナンバNTが全て削除される。その後、ステップ60_
7において、パックオーダルーチン(図29参照)が実
行されて、ORDER[]の‘−1’が格納された領域
をなくすようにORDER[]が前詰めされる。これに
より、ORDER[]は、現在押鍵中の鍵のみについ
て、押鍵順に押鍵情報が並んだ状態となる。
【0115】本実施形態におけるアルペジエータは、以
上説明したように構成されており、図2に示すリズムパ
ターン設定用操作子151およびスキャンモード設定操
作子152により設定された、リズムパターンテーブル
(図3、および図4〜図9の各例参照)およびスキャン
モードテーブル(図10および図11〜図19の各例参
照)を用いて、複数の鍵を同時に押鍵し、あるいは順次
に押鍵して押鍵したままとし、あるいはホールドペダル
を踏んで押鍵を記憶させておくという簡単な動作で、音
楽的に意味の深い、種々のアルペジオ演奏を行うことが
できる。また、図2に示すグルーブレート操作子151
を操作することにより、‘ノリ’の程度を簡単に変更す
ることができる。
【0116】次に、本発明のアルペジエータの他の実施
形態について説明する。ただし、これ以降では、上述し
た実施形態と共通的な部分については図示および説明は
省略し、上述の実施形態との相違点のみ、図示および説
明を行う。図61は、図2のパネルに付加されるベロシ
ティボリウムを示した図、図62は、図2に示すパネル
に図61に示したベロシティボリウムが付加された構成
において、図49に示すベロシティ生成ルーチンに代え
て採用されるベロシティ生成ルーチンのフローチャート
である。
【0117】この実施形態では、図61に示すようなベ
ロシティボリウム154がパネル15(図2参照)に付
加される。このベロシティボリウム154は、手でつま
んで回転させることができ、反時計まわりにいっぱいに
回転させると‘0’、時計まわりにいっぱいに回転させ
ると‘127’、それらの中間位置ではその位置に応じ
た値が出力され、RAM13(図1参照)中のVELO
CITY_VOLUMEに格納される。このVELOC
ITY_VOLUMEは、図62のフローチャートで説
明するように、アルペジオ演奏におけるベロシティデー
タの生成にかかわっている。
【0118】図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)。
【0119】その後、図49に示すベロシティ生成ルー
チンと異なり、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に格納される。
【0120】一方、ステップ62_3において、VEL
OCITY_VOLUMEが‘0’ではないと判定され
ると、ステップ62_4に進み、そのVELOCITY
_VOLUMEがVLに格納される。すなわち、この場
合は、押鍵により生成されたベロシティは無視され、そ
の押鍵により生成されたベロシティに代わり、図61に
示すベロシティボリウム154により設定されたVEL
OCITY_VOLUMEが採用される。
【0121】このように、押鍵ベロシティの代わりに固
定のベロシティを用いるようにすると、押鍵強さに関係
なく、一定の強さを持つアルベジオ演奏が実現できる。
すなわち、演奏状態に左右されず安定した再現性のある
アルペジオ演奏を行うことができる。図63は、図2の
パネルに付加されるスタイルスイッチを示した図、図6
4は、図2に示すパネルに図63に示したスタイルスイ
ッチが付加された構成において、図54に示すエディッ
トルーチンに代えて採用されるエディットルーチンのフ
ローチャートである。
【0122】図63に示すスタイルスイッチ155は、
ジャンル毎に複数(この例では3個)のボタン155
a,155b,155cから成り、各ボタン155a,
155b,155cを押すと、それぞれワルツ(WAL
TZ)、レゲエ(REGGAE)、三味線(SHAMI
SEN)のイメージに合致した、リズムパターン番号と
スキャンモード番号とのセットが選択されるようになっ
ている。
【0123】図64に示すエディットルーチンでは、先
ず、ステップ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と同様であるため、説明は省略する。
【0124】このように、本実施形態では、例えばワル
ツのボタン154aを押したときには、ワルツに最もふ
さわしいと一般的に考えられるリズムパターンとスキャ
ンモードが同時に選択されて設定される。したがって演
奏者は、リズムパターンとスキャンモードとの組合せを
いちいち考えることなく、自分の選びたいスタイルをワ
ンタッチで選ぶことができる。
【0125】なお、上記実施形態ではアルペジオ演奏に
使用する音色に関しては特に触れなかったが、選択され
たスタイルに対応してそのスタイルの演奏に適した音色
を自動的に選択するようにしてもよい。例えば、ワル
ツ、レゲエのスタイルが選択された場合にはワルツ、レ
ゲエの楽曲を演奏する際によく用いられる楽器の音色を
それぞれ選択し、三味線のスタイルが選択された場合に
は三味線の音色を選択するようにしてもよい。尚、上記
各実施形態では、ホールド情報はデータ入力端子17
(図1参照)を経由して入力されるが、パネル15にホ
ールドオン情報とホールドオフ情報とを切換え入力する
スイッチを設けてもよく、あるいはアルペジエータ自体
にホールド情報生成用ペダル、ないしそのペダル接続用
のジャックを備えてもよい。また、上記各実施形態で
は、鍵盤および音源が外部に接続されているが、鍵盤も
しくは音源のうちの一方もしくは双方を内蔵し、あるい
は一体的に構成してもよく、それに加え、さらに外部と
送受信できるようにしてもよい。
【0126】また、上記各実施形態では、グルーブレー
ト設定用操作子153を1個のみ備え、その1個のグル
ーブレート設定用操作子153で設定したグルーブレー
トPRM_GROOVEによってアルペジオ演奏の各ス
テップのデュレーションとベロシティとの双方を変更し
ているが、それらの双方を変更できる構成になっている
必要はなく、それらのうちの一方のみ変更できても、音
楽的に十分意味のある変更が可能である。あるいは、よ
り微妙な調整を演奏者に委ねるために、その1個のグル
ーブレート設定用操作子153を、デュレーション変更
用とベロシティ変更用とに切換えて操作できるように構
成したり、デュレーション変更用とベロシティ変更用と
に役割が分担された2つの操作子を備えてもよい。
【0127】また、上記各実施形態では、リズムパター
ンテーブルの各ステップに、ステップタイム、デュレー
ション、ベロシティ係数の三者がセットになって記録さ
れているが、ステップタイムのみ、デュレーションの
み、あるいはベロシティのみのいずれかのリズムパター
ンテーブルを持ち、他の二者は固定値を用いるようにし
てもよい。リズムパターンテーブルとして、デェレーシ
ョンのみのテーブルを持った場合であっても、時間的に
等分された単純なアルペジオ演奏だけでなくさまざまな
リズムのアルペジオ演奏が可能となり、ステップタイム
のみのテーブルを持った場合であっても、スタッカート
やテヌートの効果を、アルペジオ演奏の各ステップ毎に
独立して付加できるので、リズムの多彩なニュアンスや
アーティキュレーションを付けることができ、ベロシテ
ィ係数のみのテーブルを持った場合であっても、アルペ
ジオ演奏の各ステップ毎に強弱を付けることができさま
ざまなアクセントのアルペジオ演奏が実現するなど、そ
れぞれ音楽的に意味のあるアルペジオ演奏を実現でき
る。もちろん、上記三者のうちのいずれか二者のリズム
パターンテーブルを持ってもよい。
【0128】また、リズムパターンテーブルに関し、上
記二者ないし三者のリズムパターンテーブルを持つにあ
たり、それら二者ないし三者のリズムパターンテーブル
をそれぞれ独立して持ち(例えばステップタイムのみの
テーブルとデュレーションのみのテーブルとベロシティ
のみのテーブルとに分けて持ち)、演奏者の好みや、演
奏スタイルに応じてそれらを組合せて用いるようにして
もよい。
【0129】なお、リズムパターンテーブルに記憶する
データの種類としてステップタイム、デュレーション、
ベロシティー係数以外の種類のデータを記憶するように
してもよい。例えば、各ステップ毎に音色指定データを
記憶すれば各ステップ毎に音色を切り換えることがで
き、より一層高度なアルペジオ演奏が可能となる。この
場合、この音色が、本発明にいう楽音の特質として観念
される。さらに、上記各実施形態においては、リズムパ
ターンテーブル、およびスキャンモードテーブルはRO
M14(図1参照)に固定的に記憶されている旨説明し
たが、ROM14に代わり、あるいはROM14ととも
に、RAM13にリズムパターンテーブルないしスキャ
ンモードテーブルを置いてもよい。その場合、外部から
新たなリズムパターンテーブルないしスキャンモードテ
ーブルをロードして、あるいは、パネル15にリズムパ
ターンテーブルないしスキャンモードテーブルを設定で
きるような操作子を配置しておいて演奏者がその操作子
を操作することにより新たなリズムパターンテーブルな
いしスキャンモードテーブルを定義して、自分の好みに
一層適合したアルペジオ演奏を行うことができる。
【0130】
【発明の効果】以上説明したように、本発明のアルペジ
エータによれば、より音楽的なアルペジオ演奏を簡単な
操作で行うことができる。
【図面の簡単な説明】
【図1】本発明のアルペジエータの一実施形態の回路構
成図である。
【図2】パネルの構成を示した図である。
【図3】リズムパターンテーブルの基本パターンを示す
図である。
【図4】4分音符用のリズムパターンテーブルおよびそ
のステップ数を示した図である。
【図5】16分音符用のリズムパターンテーブルおよび
そのステップ数を示した図である。
【図6】ワルツ用のリズムパターンテーブルおよびその
ステップ数を示した図である。
【図7】シャッフル用のリズムパターンテーブルおよび
そのステップ数を示した図である。
【図8】ディミニッシュ用のリズムパターンテーブルお
よびそのステップ数を示した図である。
【図9】レゲエ用のリズムパターンテーブルおよびその
ステップ数を示した図である。
【図10】スキャンモードテーブルの基本パターンを示
す図である。
【図11】上昇スキャン用のスキャンモードテーブルお
よびそのステップ数を示した図である。
【図12】下降スキャン用のスキャンモードテーブルお
よびそのステップを示した図である。
【図13】上昇下降スキャン用のスキャンモードテーブ
ルおよびそのステップを示した図である。
【図14】ランダムスキャン用のスキャンモードテーブ
ルおよびそのステップを示した図である。
【図15】和音スキャン用のスキャンモードテーブルお
よびそのステップを示した図である。
【図16】押鍵順スキャン用のスキャンモードテーブル
およびそのステップを示した図である。
【図17】ワルツ用のスキャンモードテーブルおよびそ
のステップを示した図である。
【図18】レゲエ用のスキャンモードテーブルおよびそ
のステップを示した図である。
【図19】三味線用のスキャンモードテーブルおよびそ
のステップを示した図である。
【図20】リズムパターンパラメータを示す図である。
【図21】スキャンモードパラメータを示す図である。
【図22】グルーブレートパラメータを示す図である。
【図23】ノートバッファを示す図である。
【図24】プレイバッファを示す図である。
【図25】カレントプレイノートナンババッファを示す
図である。
【図26】ホールドバッファを示す図である。
【図27】オーダバッファを示す図である。
【図28】オーダライトカウンタを示す図である。
【図29】オーダポジションカウンタを示す図である。
【図30】リズムパターンテーブルポジションカウンタ
を示す図である。
【図31】スキャンモードテーブルポジションカウンタ
を示す図である。
【図32】クロックカウンタを示す図である。
【図33】ネクストクロックバッファを示す図である。
【図34】ノートオフリザベーションバッファを示す図
である。
【図35】エンドフラグを示す図である。
【図36】ベースノートバッファを示す図である。
【図37】トップノートバッファを示す図である。
【図38】ゼネラルプログラムのフローチャートであ
る。
【図39】初期化処理ルーチンのフローチャートであ
る。
【図40】リセットスキャナルーチンのフローチャート
である。
【図41】クロック処理ルーチンのフローチャートであ
る。
【図42】スキャンノートオンルーチンのフローチャー
トである。
【図43】スキャンアップルーチンのフローチャートで
ある。
【図44】スキャンオーダルーチンのフローチャートで
ある。
【図45】スキャンコードルーチンのプログラムであ
る。
【図46】スキャンベースルーチンのプログラムであ
る。
【図47】スキャンコードウィズアウトベースルーチン
のプログラムである。
【図48】ノートオフ予約ルーチンのプログラムであ
る。
【図49】ベロシティ生成ルーチンのフローチャートで
ある。
【図50】図49に示すベロシティ生成ルーチンで生成
されるベロシティの説明図である。
【図51】ネクストクロック更新ルーチンのフローチャ
ートである。
【図52】スキャナ更新ルーチンのフローチャートの前
半部分である。
【図53】スキャナ更新ルーチンのフローチャートの後
半部分である。
【図54】エディットルーチンのフローチャートであ
る。
【図55】ノートオン処理ルーチンのフローチャートで
ある。
【図56】ノートオフ処理ルーチンのフローチャートで
ある。
【図57】デリートオーダルーチンのフローチャートで
ある。
【図58】パックオーダルーチンのフローチャートであ
る。
【図59】ホールドオフ処理ルーチンのフローチャート
である。
【図60】リメークオーダルーチンのフローチャートで
ある。
【図61】図2のパネルに付加されるベロシティボリウ
ムを示した図である。
【図62】図49に示すベロシティ生成ルーチンに代え
て採用されるベロシティ生成ルーチンのフローチャート
である。
【図63】図2のパネルに付加されるスタイルスイッチ
を示した図である。
【図64】図54に示すエディットルーチンに代えて採
用されるエディットルーチンのフローチャートである。
【符号の説明】
10 CPU 11 アドレスバス 12 データバス 13 RAM 14 ROM 15 パネル 16 クロックタイマ 17 データ入力端子 18 データ出力端子 20 鍵盤 21 ペダル 30 音源 151 リズムパターン設定用操作子 152 スキャンモード設定用操作子 153 グルーブレート設定用操作子 154 ベロシティボリウム 155 スタイルスイッチ

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 複数の鍵それぞれに対応する記憶領域を
    有し、鍵が押鍵されたことを表わす押鍵情報を、押鍵さ
    れた鍵に対応する記憶領域に、消去自在に書き込む押鍵
    情報記憶手段と、 リズムの1ステップ毎に、あるステップと、そのステッ
    プに続く次のステップとの間の時間間隔が、1つのステ
    ップもしくは複数のステップそれぞれに記録されて成る
    リズムパターンテーブルを記憶するリズムパターンテー
    ブル記憶手段と、 前記リズムパターンテーブルの各ステップを順次参照す
    るとともに、該各ステップに対応して前記記憶領域を走
    査し、該走査により検出された押鍵情報に基づく楽音を
    表わす演奏情報を、前記リズムパターンテーブルの、該
    走査に対応するステップに記録された時間間隔に従った
    タイミングで生成する演奏情報生成手段とを備えたこと
    を特徴とするアルペジエータ。
  2. 【請求項2】 複数の鍵それぞれに対応する記憶領域を
    有し、鍵が押鍵されたことを表わす押鍵情報を、押鍵さ
    れた鍵に対応する記憶領域に、消去自在に書き込む押鍵
    情報記憶手段と、 リズムの1ステップ毎に、そのステップにおける楽音の
    特質を規定する情報が、1つのステップもしくは複数の
    ステップそれぞれに記録されて成るリズムパターンテー
    ブルを記憶するリズムパターンテーブル記憶手段と、 前記リズムパターンテーブルの各ステップを順次参照す
    るとともに、該各ステップに対応して前記記憶領域を走
    査し、該走査により検出された押鍵情報、および前記リ
    ズムパターンテーブルの、該走査に対応するステップに
    記録された、楽音の特質を規定する情報との双方に基づ
    く楽音を表わす演奏情報を生成する演奏情報生成手段と
    を備えたことを特徴とするアルペジエータ。
  3. 【請求項3】 前記楽音の特質を規定する情報が、楽音
    の発音持続時間を規定する情報であることを特徴とする
    請求項2記載のアルペジエータ。
  4. 【請求項4】 前記楽音の特質を規定する情報が、楽音
    の発音の強さを規定する情報であることを特徴とする請
    求項2記載のアルペジエータ。
  5. 【請求項5】 前記押鍵情報記憶手段が、鍵が押鍵され
    たことを表わすとともに押鍵の強さの情報を含む押鍵情
    報を、押鍵された鍵に対応する記憶領域に、消去自在に
    書き込むものであって、 前記演奏情報生成手段が、前記走査により検出された押
    鍵情報に含まれた押鍵の強さの情報に対応する発音の強
    さの情報を含む演奏情報を生成するものであることを特
    徴とする請求項1又は2記載のアルペジエータ。
  6. 【請求項6】 前記押鍵情報記憶手段が、鍵が押鍵され
    たことを表わすとともに押鍵の強さの情報を含む押鍵情
    報を、押鍵された鍵に対応する記憶領域に、消去自在に
    書き込むものであって、 前記演奏情報生成手段が、前記走査により検出された押
    鍵情報に含まれた押鍵の強さの情報、および、前記リズ
    ムパターンテーブルの、該走査に対応するステップに記
    録された楽音の発音の強さを規定する情報の双方に基づ
    いて定められた発音の強さの情報を含む演奏情報を生成
    するものであることを特徴とする請求項4記載のアルペ
    ジエータ。
  7. 【請求項7】 前記リズムパターンテーブル記憶手段
    が、複数のリズムパターンテーブルを記憶するものであ
    り、 前記演奏情報生成手段が、前記複数のリズムパターンテ
    ーブルの中から選択された1つのリズムパターンテーブ
    ルを参照するものであることを特徴とする請求項1又は
    2記載のアルペジエータ。
  8. 【請求項8】 前記リズムパターンテーブル記憶手段
    が、前記複数のリズムパターンテーブルのうちの少なく
    とも一部のリズムパターンテーブルを書換え自在に、も
    しくは新たなリズムパターンテーブルを追加自在に記憶
    するものであることを特徴とする請求項7記載のアルペ
    ジエータ。
  9. 【請求項9】 前記演奏情報生成手段が、楽音の特質の
    変更深さを規定する情報に基づいて変更された楽音を表
    わす演奏情報を生成するものであることを特徴とする請
    求項1又は2記載のアルペジエータ。
  10. 【請求項10】 前記楽音の特質の変更深さを規定する
    情報であって、該変更深さが操作の度合に応じて定めら
    れてなる情報を生成する操作子を備えたことを特徴とす
    る請求項9記載のアルペジエータ。
  11. 【請求項11】 前記楽音の特質の変更深さを規定する
    情報が、楽音の発音持続時間の変更の度合を規定する情
    報であることを特徴とする請求項9記載のアルペジエー
    タ。
  12. 【請求項12】 前記楽音の特質の変更深さを規定する
    情報が、楽音の発音の強さの変更の度合を規定する情報
    であることを特徴とする請求項9記載のアルペジエー
    タ。
  13. 【請求項13】 前記押鍵情報記憶手段が、鍵が押鍵さ
    れたことを表わすとともに押鍵の強さの情報を含む押鍵
    情報を、押鍵された鍵に対応する記憶領域に、消去自在
    に書き込むものであって、 前記演奏情報生成手段が、前記走査により検出された押
    鍵情報に含まれた押鍵の強さの情報、前記リズムパター
    ンテーブルの、該走査に対応するステップに記録された
    楽音の発音の強さを規定する情報、および楽音の発音の
    強さの変更の度合を規定する情報に基づいて定められた
    発音の強さの情報を含む演奏情報を生成するものである
    ことを特徴とする請求項4記載のアルペジエータ。
  14. 【請求項14】 複数の鍵それぞれに対応する記憶領域
    を有し、鍵が押鍵されたことを表わす押鍵情報を、押鍵
    された鍵に対応する記憶領域に、消去自在に書き込む押
    鍵情報記憶手段と、 リズムの1ステップ毎に、あるステップと、そのステッ
    プに続く次のステップとの間の時間間隔が、1つのステ
    ップもしくは複数のステップそれぞれに記録されて成る
    リズムパターンテーブルを記憶するリズムパターンテー
    ブル記憶手段と、 前記記憶領域を走査する方式を規定する複数種類のスキ
    ャン方式の中から選択された1つのスキャン方式、もし
    くは同一種類のスキャン方式の重複が許容された複数の
    スキャン方式それぞれが、1つのステップ、もしくは複
    数のステップそれぞれに記録されて成るスキャンモード
    テーブルを記憶するスキャンモードテーブル記憶手段
    と、 前記リズムパターンテーブルの各ステップおよび前記ス
    キャンモードテーブルの各ステップを順次参照し、前記
    スキャンモードテーブルの各ステップに記録されたスキ
    ャン方式に従って前記記憶領域を走査し、該走査により
    検出された押鍵情報に基づく楽音を表わす演奏情報を、
    前記リズムパターンテーブルの、該走査に対応するステ
    ップに記録された時間間隔に従ったタイミングで生成す
    る演奏情報生成手段とを備えたことを特徴とするアルペ
    ジエータ。
  15. 【請求項15】 複数の鍵それぞれに対応する記憶領域
    を有し、鍵が押鍵されたことを表わす押鍵情報を、押鍵
    された鍵に対応する記憶領域に、消去自在に書き込む押
    鍵情報記憶手段と、 リズムの1ステップ毎に、そのステップにおける楽音の
    特質を規定する情報が、1つのステップもしくは複数の
    ステップそれぞれに記録されて成るリズムパターンテー
    ブルを記憶するリズムパターンテーブル記憶手段と、 前記記憶領域を走査する方式を規定する複数種類のスキ
    ャン方式の中から選択された1つのスキャン方式、もし
    くは同一種類のスキャン方式の重複が許容された複数の
    スキャン方式それぞれが、1つのステップ、もしくは複
    数のステップそれぞれに記録されて成るスキャンモード
    テーブルを記憶するスキャンモードテーブル記憶手段
    と、 前記リズムパターンテーブルの各ステップおよび前記ス
    キャンモードテーブルの各ステップを順次参照し、前記
    スキャンモードテーブルの各ステップに記録されたスキ
    ャン方式に従って前記記憶領域を走査し、該走査により
    検出された押鍵情報、および前記リズムパターンテーブ
    ルの、該走査に対応するステップに記録された、楽音の
    特質を規定する情報との双方に基づく楽音を表わす演奏
    情報を生成する演奏情報情報生成手段とを備えたことを
    特徴とするアルペジエータ。
  16. 【請求項16】 前記リズムパターンテーブル記憶手段
    および前記スキャンモードテーブル記憶手段が、それぞ
    れ、複数のリズムパターンテーブルおよび複数のスキャ
    ンモードテーブルを記憶するものであり、 前記複数のリズムパターンテーブルのうちのいずれか1
    つのリズムパターンテーブルと前記複数のスキャンモー
    ドテーブルのうちのいずれか1つのスキャンモードテー
    ブルとが対応づけられて成るスタイルを複数種類記憶す
    るスタイル記憶手段を備え、 前記演奏情報生成手段が、所定のスタイル選択情報によ
    り選択されたスタイルにより対応づけられたリズムパタ
    ーンテーブルおよびスキャンモードテーブルを参照する
    ものであることを特徴とする請求項14又は15記載の
    アルペジエータ。
JP24105695A 1995-09-19 1995-09-20 アルペジエータ Expired - Fee Related JP3625914B2 (ja)

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)

* Cited by examiner, † Cited by third party
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 ヤマハ株式会社 電子音響装置および音色設定方法

Cited By (6)

* Cited by examiner, † Cited by third party
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