JPH10254447A - リズム楽音制御装置 - Google Patents

リズム楽音制御装置

Info

Publication number
JPH10254447A
JPH10254447A JP10094113A JP9411398A JPH10254447A JP H10254447 A JPH10254447 A JP H10254447A JP 10094113 A JP10094113 A JP 10094113A JP 9411398 A JP9411398 A JP 9411398A JP H10254447 A JPH10254447 A JP H10254447A
Authority
JP
Japan
Prior art keywords
rhythm
rhythm sound
information
channel
sound
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
JP10094113A
Other languages
English (en)
Other versions
JP3013836B2 (ja
Inventor
Mikio Ito
幹生 伊藤
Masao Kondo
昌夫 近藤
Yasunao Abe
泰直 阿部
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.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP10094113A priority Critical patent/JP3013836B2/ja
Publication of JPH10254447A publication Critical patent/JPH10254447A/ja
Application granted granted Critical
Publication of JP3013836B2 publication Critical patent/JP3013836B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】 複数のリズム音源チャンネルを有するリズム
楽音制御装置において、空きチャンネルなしでもリズム
音種類の割当てを可能にしたり、リズム音種類毎に音量
の表情付けを可能にしたりして少ないチャンネル数で変
化に富んだリズム演奏を可能にする。 【解決手段】 リズム用TG(トーンジェネレータ)3
0は、8つのリズム音源チャンネルを有し、ROM18
には、8つより多い16のリズム音種類を用いるリズム
パターンを記憶すると共に各リズム音種類毎に音量制御
情報を記憶する。リズムパターンに基づいてリズム音種
類指定情報をいずれかのリズム音源チャンネルに割当て
る際に空きチャンネルがあれば空きチャンネルに、空き
チャンネルがなければリズム音信号の減衰が最も進んだ
チャンネルに割当てを行なう。割当てに係るチャンネル
では、リズム音種類指定情報に対応したリズム音信号を
対応する音量制御情報に応じた音量で発生させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、複数のリズム音
源チャンネルを有するリズム楽音制御装置に関し、特に
リズム音種類指定情報をいずれかのリズム音源チャンネ
ルに割当てる際に空きチャンネルがなければリズム音信
号の減衰が最も進んだチャンネルに割当てを行なうこと
により少ないチャンネル数で変化に富んだリズム演奏を
可能にしたものである。
【0002】
【従来の技術】従来、複数のリズム音源チャンネルを有
すると共にチャンネル数より多い複数のリズム音種類
(例えばバスドラム等)を処理可能なリズム演奏装置と
しては、発音指示に応じてリズム音種類を空きチャンネ
ルに割当てることによりリズム音信号を発生させるもの
が知られている。
【0003】
【発明が解決しようとする課題】上記した従来技術によ
ると、発音指示に応じてリズム音種類をいずれかのチャ
ンネルに割当てる際に空きチャンネルがあれば割当てが
可能であるが、空きチャンネルがなければ割当てが不可
能になるおそれがあった。
【0004】また、アコースティック楽器では、例えば
カスタネットとバスドラムとでは音量が異なるように楽
器固有の音量の大小があるが、上記した従来技術では、
このような音量の表情付けを行なうことができなかっ
た。
【0005】この発明の目的は、空きチャンネルなしで
もリズム音種類の割当てを可能にしたり、リズム音種類
毎に音量の表情付けを可能にしたりすることにより少な
いチャンネル数で変化に富んだリズム演奏を可能にする
ことにある。
【0006】
【課題を解決するための手段】この発明に係る第1のリ
ズム楽音制御装置は、複数のリズム音源チャンネルを有
する音源手段であって、各リズム音源チャンネルは割当
てられるリズム音種類指定情報に対応したリズム音信号
を発生するものと、演奏すべきリズムに関して前記リズ
ム音源チャンネルの数より多い複数のリズム音種類にそ
れぞれ対応した複数のリズム音種類指定情報を発生する
情報発生手段と、この情報発生手段から発生される各リ
ズム音種類指定情報毎に前記複数のリズム音源チャンネ
ルにおける空き状態及びリズム音信号の減衰状態を判断
する判断手段と、前記情報発生手段から発生される各リ
ズム音種類指定情報毎に該リズム音種類指定情報を前記
判断手段での判断結果に応じて前記複数のリズム音源チ
ャンネルのいずれかに割当てることにより該リズム音種
類指定情報に対応したリズム音信号を発生させる割当手
段であって、前記判断手段での判断結果が空き状態のリ
ズム音源チャンネルありを示すときは該空き状態のリズ
ム音源チャンネルに判断に係るリズム音種類指定情報を
割当て、前記判断手段での判断結果が空き状態のリズム
音源チャンネルなしを示すときはリズム音信号の減衰が
最も進んだリズム音源チャンネルに判断に係るリズム音
種類指定情報を割当てるものとを備えたものである。
【0007】第1のリズム楽音制御装置によれば、空き
状態のリズム音源チャンネルがあるときはそのチャンネ
ルにリズム音種類指定情報を割当て、空き状態のリズム
音源チャンネルがないときはリズム音信号の減衰が最も
進んだチャンネルにリズム音種類指定情報を割当てるよ
うにしたので、空きチャンネルの有無にかかわらずリズ
ム音発生が可能となる。
【0008】この発明に係る第2のリズム楽音制御装置
は、複数のリズム音源チャンネルを有する音源手段であ
って、各リズム音源チャンネルは割当てられるリズム音
種類指定情報に対応したリズム音信号を発生するもの
と、演奏すべきリズムに関して前記リズム音源チャンネ
ルの数より多い複数のリズム音種類にそれぞれ対応した
複数のリズム音種類指定情報を発生する情報発生手段
と、前記複数のリズム音種類にそれぞれ対応した複数の
音量制御情報を記憶する記憶手段であって、各リズム音
種類に対応した音量制御情報は、該リズム音種類に対応
したリズム音信号の発生時の音量を制御する情報からな
るものと、前記情報発生手段から発生される各リズム音
種類指定情報毎に該リズム音種類指定情報を前記複数の
リズム音源チャンネルのいずれかに割当てると共に該リ
ズム音種類指定情報に対応した音量制御情報を前記記憶
手段から読出すことにより割当てに係るリズム音源チャ
ンネルにおいて該リズム音種類指定情報に対応したリズ
ム音信号を読出しに係る音量制御情報に対応した音量で
発生させる割当手段とを備えたものである。
【0009】第2のリズム楽音制御装置によれば、リズ
ム音種類毎に音量制御情報を記憶しておき、リズム音種
類指定情報をいずれかのリズム音源チャンネルに割当て
る際にはリズム音種類指定情報に対応する音量制御情報
を読出すことにより割当てに係るチャンネルにおいてリ
ズム音種類指定情報に対応したリズム音信号を読出しに
係る音量制御情報に対応した音量で発生させるようにし
たので、リズム音種類毎に音量の表情付けが可能とな
り、アコースティック楽器の発音を模擬することができ
る。
【0010】
【発明の実施の形態】図1は、この発明の一実施形態に
係る電子楽器の構成を示すもので、この電子楽器では、
鍵盤操作に基づくマニアル演奏音の発生、プログラムモ
ード時におけるリズムパターン書込み並びにマニアルリ
ズム音及びオートリズム音の発生、プレイモード時にお
けるオートリズムの発生等がマイクロコンピュータによ
って制御されるようになっている。なお、図1及び図2
において、例えば図1のTDのように斜線を付した信号
線は、複数の信号線であること又は複数ビットの信号の
流れを表わす。
【0011】図1において、データバス10には、鍵盤
12、パネル装置14、中央処理装置(CPU)16、
プログラム及びデータROM(リード・オンリィ・メモ
リ)18、データ及びワーキングRAM(ランダム・ア
クセス・メモリ)20、テンポタイマ22、ロールタイ
マ24、トランケートタイマ26、鍵盤用トーンジェネ
レータ(TG)28、リズム用トーンジェネレータ(T
G)30等が接続されている。
【0012】鍵盤12は、多数の鍵を有するもので、各
鍵毎に押鍵情報が検出されるようになっている。
【0013】パネル装置14は、楽音制御用乃至演奏制
御用の各種の操作子並びに各種の表示素子が設けられた
もので、各操作子毎に操作情報が検出されるようになっ
ている。
【0014】パネル装置14において、この発明の実施
に関係する操作子としては、ハンドパーカッション用の
パッド操作子PDSと、リズム選択操作子RSSと、ロ
ール指定操作子RLSと、プログラムモード指定操作子
PMSと、スタート/ストップ操作子SPSと、テンポ
調整操作子TMNとが設けられている。
【0015】パッド操作子PDSとしては、例えばバス
ドラム、スネアドラム、シンバル…等の32種類のリズ
ム音にそれぞれ対応した32個の自己復帰型パッドスイ
ッチが設けられている。
【0016】リズム選択操作子RSSとしては、例えば
マーチ、ワルツ、ルンバ…等のN(任意の複数)種類の
ファクトリーセットされたリズムパターンにそれぞれ対
応した第1〜第Nのリズム選択スイッチと、演奏者がプ
ログラムしたリズムパターンを選択するための第Mのリ
ズム選択スイッチとが設けられている。また、各リズム
選択操作子毎に発光ダイオードからなる表示素子LDが
設けられており、所望のリズムを選択すべくリズム選択
操作子をオン操作すると、それに対応する表示素子LD
が点灯するようになっている。
【0017】ロール指定操作子RLSは、例えば自己復
帰型スイッチからなるもので、所望のパッド操作子(例
えばスネアドラムに対応するもの)と同時的にオン操作
することにより該パッド操作子に対応するリズム音のロ
ール(連打)発音を指定可能である。
【0018】プログラムモード指定操作子PMSは、例
えば自己復帰型スイッチからなるもので、操作のたびに
プログラムモードとプレイモードとを交互に指定可能で
ある。また、操作子PMSの近傍には、発光ダイオード
からなる表示素子PLDが設けられており、この表示素
子PLDは、プログラムモードの指定時に点灯するよう
になっている。
【0019】スタート/ストップ操作子SPSは、例え
ば自己復帰型スイッチからなるもので、操作のたびにス
タートとストップとを交互に指示可能である。
【0020】テンポ調整操作子TMNは、例えば回転式
のつまみからなるもので、所望のテンポを設定するため
のものである。操作子TMNの近傍には、一列状に配置
された4個の発光ダイオードからなるテンポ表示素子T
LDが設けられており、プログラムモード時及びプレイ
モード時に設定テンポに対応した速さで順次に点灯する
ことによりテンポを表示するようになっている。
【0021】CPU16は、ROM18にストアされた
プログラムに従って各種の処理を実行するもので、これ
らの処理の詳細については図6乃至図17を参照して後
述する。
【0022】ROM18は、各種処理用のプログラムの
他に、ファクトリーセットのリズムパターン等に関する
データも記憶しており、その記憶内容については図3を
参照して後述する。
【0023】RAM20は、演奏者がプログラムしたリ
ズムパターンに関するデータを記憶するための記憶部を
有するもので、この他にも、CPU16による各種処理
に際してワーキングレジスタ等として利用される記憶部
を含んでいる。RAM20の記憶内容については図5を
参照して後述する。
【0024】テンポタイマ22は、テンポデータTDに
応じた周波数を有するテンポクロック信号TCLを発生
するもので、この信号TCLの各クロックパルスは図1
3のテンポクロック割込処理を開始させるのに使用され
る。
【0025】ロールタイマ24は、ロール用クロック信
号RCLを発生するもので、この信号RCLの各クロッ
クパルスは図16のロールタイマ割込処理を開始させる
のに使用される。ロールタイマ24のクロック発生周期
は、一例として数10[ms]に設定されるが、これは
演奏者の操作又は外部信号に応じて任意に可変設定でき
るようにしてもよい。
【0026】トランケートタイマ26は、トランケート
用クロック信号KCLを発生するもので、この信号KC
Lの各クロックパルスは図17のトランケートタイマ割
込処理を開始させるのに使用される。トランケートタイ
マ26のクロック発生周期は、一例として数10[m
s]に設定される。
【0027】この実施形態では、3つのタイマ22,2
4,26をそれぞれ独立に設けたが、1つのタイマの出
力を適宜分周して必要とするクロック信号を得ることも
できる。
【0028】鍵盤用TG28は、鍵盤12から検出され
た押鍵情報に基づいて押された鍵に対応する楽音信号K
TSを発生するものである。
【0029】リズム用TG30は、パッド操作子PDS
の操作及び/又は選択されたリズムパターンに基づいて
リズム音信号RTSを発生するものであり、詳しくは図
2について後述する。
【0030】サウンドシステム32は、楽音信号KTS
及びリズム音信号RTSを音響に変換するためのもので
ある。
【0031】図2は、リズム用TG30の一構成例を示
すもので、この例にあっては、8つのリズム音源チャン
ネルを時分割的に駆動することにより最大で8種類のリ
ズム音を同時発音可能である。
【0032】データバス10に接続されたレジスタ4
0,42,44,46のうち、40はチャンネルナンバ
(CHナンバ)がストアされるもの、42はリズム音種
類を表わす楽器コードICODEがストアされるもの、
44はエンベロープ波形データEVに関して示すように
エンベロープのアタックレベルに対応したボリューム値
VLMがストアされるもの、46はリズム音の発生開始
を指示するキーオン情報KONがストアされるものであ
る。これらのレジスタ40,42,44,46への情報
転送は、各リズム音種類毎に発音すべきタイミングで同
時的に行なわれる。
【0033】書込制御回路48は、ICODE記憶回路
50に含まれている8つの時分割チャンネルのうちレジ
スタ40からのCHナンバに対応したチャンネルにレジ
スタ42からの楽器コードICODEを割当てるように
書込制御を行なうもので、記憶回路50は、割当てられ
た楽器コードを循環的に記憶し、割当てに係るチャンネ
ルのタイミングで送出するようになっている。
【0034】書込制御回路52は、VLM記憶回路54
に含まれている8つの時分割チャンネルのうちレジスタ
40からのCHナンバに対応したチャンネルにレジスタ
44からのボリューム値VLMを割当てるように書込制
御を行なうもので、記憶回路54は、割当てられたボリ
ューム値を循環的に記憶し、割当てに係るチャンネルの
タイミングで送出するようになっている。
【0035】書込制御回路56は、KON記憶回路58
に含まれている8つの時分割チャンネルのうちレジスタ
40からのCHナンバに対応したチャンネルにレジスタ
46からのキーオン情報KONを割当てるように書込制
御を行なうもので、記憶回路58は、割当てられたキー
オン情報を循環的に記憶し、割当てに係るチャンネルの
タイミングでキーオンパルスKONPとして送出するよ
うになっている。
【0036】アドレス発生器60は、8チャンネル分の
アドレス情報を時分割的に発生可能なもので、キーオン
パルスKONPを受取ると、KONPの割当チャンネル
のタイミングでアドレス情報を発生する。
【0037】リズム音波形メモリ62は、一例としてP
CM(パルス符号変調)録音方式により実際の打楽器か
ら採取したリズム音波形(立上り開始から減衰終了まで
のもの)を記憶したもので、このようなリズム音波形と
してはパッド操作子PDSで指定可能な32種類のリズ
ム音それぞれに対応したものが記憶されている。
【0038】波形メモリ62からは、各チャンネル毎に
割当てに係る楽器コードに対応したリズム音波形がアド
レス発生器60からのアドレス情報に応じて読出され
る。例えば、第1チャンネルにバスドラムが割当てられ
たものとすれば、第1チャンネルのタイミングでバスド
ラム音波形が読出される。
【0039】エンベロープ発生器64は、各チャンネル
毎に割当てに係る楽器コードに対応するリズム音のため
のエンベロープ波形データEVをキーオンパルスKON
Pに応じて発生するもので、エンベロープ波形データE
Vの示すエンベロープにおけるアタックレベルは記憶回
路54からのボリューム値VLMに応じて決定される。
【0040】波形メモリ62からのリズム音波形データ
WD及びエンベロープ発生器64からのエンベロープ波
形データEVは乗算器66に供給され、各チャンネル毎
に乗算される。そして、乗算器66の乗算出力MO(デ
ィジタル楽音信号)は、すでに知られているようにアキ
ュムレータ、D/A変換器等を介してアナログ形式のリ
ズム音信号RTSに変換されてから、サウンドシステム
32に供給される。
【0041】上記したリズム用TG30によれば、8チ
ャンネル分のリズム音信号を同時に発生可能であると共
に、各チャンネル毎に楽器コードICODEによりリズ
ム音種類を指定することで波形メモリ62の記憶波形に
対応する種々のリズム音信号を発生可能である。
【0042】図3は、ROM18の記憶内容を示すもの
で、このROM18には、(A)に示すようにリズムパ
ターンメモリとして使用される記憶部と、(B)に示す
ようにトランケート値メモリとして使用される記憶部
と、(C)に示すようにボリューム値メモリとして使用
される記憶部と、その他音色パラメータ、効果パラメー
タ等の記憶部(図示せず)とが含まれている。
【0043】(A)のリズムパターンメモリにあって
は、N種類のリズム(リズム1〜リズムN)にそれぞれ
対応するリズムパターンを記憶した記憶ブロックRPM
EM(1)〜RPMEM(N)と、これらの記憶ブロッ
クの記憶トラック数をそれぞれ記憶したトラック数記憶
領域PTNNUM(1)〜PTNNUM(N)とが設け
られている。
【0044】リズム1に対応する記憶ブロックRPME
M(1)には、16個の記憶トラックが設けられてお
り、各記憶トラック毎に楽器コード記憶領域PICOD
Eと、ロール指定情報記憶領域PRLFLGと、タイミ
ング情報記憶領域とが設けられている。このような記憶
トラック及び記憶領域の配置は他のリズム2〜リズムN
についても同様であるが、記憶トラックの数は各リズム
毎にそれに必要な数とされる。例えば、リズム1につい
てはトラック数が16(PTNNUM(1)=16)で
あり、リズム2についてはトラック数が9(PTNNU
M(2)=9)であり、リズムNについてはトラック数
が3(PTNNUM(N)=3)である。
【0045】各楽器コード記憶領域PICODEには、
リズム音種類を表わす楽器コードが記憶され、各ロール
指定情報記憶領域PRLFLGには、ロール指定の有り
又は無しをそれぞれ表わすロール指定情報1又は0が記
憶される。この場合、同一のリズム音種類であってもロ
ール指定の有るものと無いものとでは別々のリズム音種
類として扱われる。例えば、単なるスネアドラムとスネ
アドラムロールとでは別々の記憶トラックが与えられ、
これらの記憶トラックにおいてPICODEの楽器コー
ドはスネアドラム用のもので同じであるが、PRLFL
Gのロール指定情報は単なるスネアドラムでは0、スネ
アドラムロールでは1とされる。
【0046】各タイミング情報記憶領域には、テンポカ
ウンタTPCTRのカウント値0〜63(発音可能タイ
ミング)にそれぞれ対応した64個の記憶セルPTNが
設けられており、発音要のタイミングに対応する記憶セ
ルには1が、発音不要のタイミングに対応する記憶セル
には0がそれぞれ記憶される。テンポカウンタTPCT
Rは、後述するようにRAM20に属するもので、テン
ポクロック信号TCLを2小節毎に反復的に計数するも
のである。従って、各タイミング情報記憶領域の記憶情
報は2小節分の発音制御パターンを表わすものである。
【0047】図4は、一例としてバスドラム、スネアド
ラム及びスネアドラムロールに関する1小節分のタイミ
ングデータを示したものであり、これに続く1小節につ
いても図示したものと同じタイミングデータが記憶され
る。
【0048】図4において、1拍内には8つの発音可能
タイミング(例えばTPCTRの値にして0〜7)があ
り、バスドラム、スネアドラム、スネアドラムロールの
いずれについても各発音可能タイミング毎に1(発音
要)又は0(発音不要)の情報が配置される。1又は0
から右方向に延長する矢印は同じ情報が続くことを表わ
している。
【0049】図4のタイミングデータによれば、バスド
ラムは1拍目の頭と、3拍目の頭で発音開始されると共
に、スネアドラムは2拍目の頭と、4拍目の頭で発音開
始される。また、スネアドラムロールは、1拍目の頭か
ら2拍目の終りまでの期間にわたってロール発音が指示
され、この期間に相当する期間中図16のロールタイマ
割込処理によりロール音が発生される。
【0050】リズム1〜リズムNについては、予めリズ
ムコード1〜Nが定められており、RAM20内のリズ
ムコードレジスタRCODEには、選択されたリズム
(例えばマーチ)に対応するリズムコードがセットされ
る。また、RAM20内のトラックナンバレジスタTR
Nには、後述するようにトラックナンバがセットされ
る。従って、RCODE及びTRNを用いることで特定
のリズムに関する特定の記憶トラックを読出指定するこ
とができる。
【0051】例えば、図3(A)にリズム1について示
すように、RCODE=1、TRN=10とすれば、リ
ズム1の記憶トラック10を指定して記憶領域PICO
DE及びPRLFLGの情報を読出すことができ、さら
にTPCTRを用いれば記憶セルPTNを指定して1発
音可能タイミング分の発音制御情報(1又は0)を読出
可能である。
【0052】ところで、図3(B)のトランケート値メ
モリにあっては、パッド操作子PDSで指定可能な32
種類のリズム音(楽器1〜楽器32)にそれぞれ対応し
てトランケート値が記憶される。各トランケート値は、
対応するリズム音種類の発音期間(特に減衰時間)を考
慮して決定され、この例では発音期間が長いほど大きな
値となっている。図3(B)において、「楽器1」はバ
スドラム、「楽器2」はスネアドラム、「楽器32」は
コンガの例である。この例では、トランケート値を、通
常音とロール音とで区別していないが、別々に記憶させ
るようにしてもよい。
【0053】図3(C)のボリューム値メモリにあって
は、上記したトランケート値メモリの場合と同様に楽器
1〜楽器32にそれぞれ対応してボリューム値VLMが
記憶される。この場合、各リズム音種類毎に通常音とロ
ール音とで異なるボリューム値が記憶され、ロール音の
ボリューム値は通常音のそれに対して約半分の値とされ
る。これは、例えば図4に示したようにスネアドラムと
スネアドラムロールが同時に発音されるような場合に同
一音量で発音させると、スネアドラム音がスネアドラム
ロール音でマスクされてひきたたなくなり、音楽的に好
ましくないからである。
【0054】図5は、RAM20の記憶内容を示すもの
で、このRAM20には、(A)に示すようにリズムパ
ターンプログラムメモリとして使用される記憶部と、
(B)に示すようにチャンネル割当用メモリとして使用
される記憶部と、(C)に示すようにワーキングメモリ
として使用される記憶部と、その他パネル操作子、発音
割当等に関する記憶部(図示せず)とが含まれている。
【0055】(A)のリズムパターンプログラムメモリ
にあっては、リズムコードMに対応するリズムパターン
を記憶するための記憶ブロックRPMEM(M)と、こ
の記憶ブロックで使用された記憶トラックの数を記憶す
るためのトラック数記憶領域PTNNUM(M)とが設
けられている。
【0056】記憶ブロックRPMEM(M)には、16
個の記憶トラックが設けられており、各記憶トラック毎
に楽器コード記憶領域PICODEと、ロール指定情報
記憶領域PRLFLGと、タイミング情報記憶領域とが
設けられている。これらの記憶領域におけるデータフォ
ーマットは、先に図3(A)のリズムパターンメモリに
関して述べたのと同様である。
【0057】プログラムモード時にあっては、32個の
パッド操作子PDSのうち任意のものを操作すると、ま
ずトラック1の記憶領域PICODEに、操作されたパ
ッド操作子に対応するリズム音種類を表わす楽器コード
が書込まれる。このとき、ロール指定操作子RLSを同
時に操作したのであればトラック1の記憶領域PRLF
LGには1が書込まれ、操作子RLSを操作しなかった
のであればPRLFLGには0が書込まれる。また、ト
ラック1のタイミング情報記憶領域には、このときのT
PCTRの値に対応する記憶セルPTNに1が書込まれ
る。
【0058】次に、別のパッド操作子を操作すると、ト
ラック1について上記したと同様にしてトラック2の記
憶領域PICODE、PRLFLG及びタイミング情報
記憶領域にそれぞれ楽器コード、ロール指定情報及びタ
イミング情報が書込まれる。
【0059】次に、最初に操作したのと同じパッド操作
子を操作すると、トラック1について上記したと同様に
してトラック1の記憶領域PICODE、PRLFLG
及びタイミング情報記憶領域にそれぞれ楽器コード、ロ
ール指定情報及びタイミング情報が書込まれる。
【0060】このようにして、割当て済みのものとは別
の新たなパッド操作子が操作されるたびに新たなトラッ
クを割当てるようにしてパターン書込みが行なわれ、例
えば8種類のリズム音でリズムパターンが完成したので
あれば、トラック1〜8にリズムパターンが記憶される
と共に、記憶領域PTNNUM(M)の値は最終的に8
となる。
【0061】プログラムモード時及びプレイモード時に
あっては、例えばトラック8について示すように、RC
ODE及びTRNを用いて記憶領域PICODE及びP
RLFLGを指定でき、さらにTPCTRを用いること
で記憶セルPTNを指定できる。
【0062】ところで、図5(B)のチャンネル割当用
メモリにあっては、チャンネルCH1〜CH8にそれぞ
れ対応して8つの楽器コードレジスタICODE(1)
〜ICODE(8)と、8つのトランケートカウンタT
CTR(1)〜TCTR(8)と、8つのロールフラグ
RLFLG(1)〜RLFLG(8)と、8つのボリュ
ーム値レジスタVLM(1)〜VLM(8)とが設けら
れている。
【0063】各楽器コードレジスタは、対応するチャン
ネルに関して楽器コードがストアされるものである。各
トランケートカウンタは、対応するチャンネルに関して
図3(B)のトランケート値メモリから読出されたトラ
ンケート値がストアされるもので、ストアされたトラン
ケート値は図17のトランケートタイマ割込処理により
1ずつ減算(ダウンカウント)される。各ロールフラグ
は、対応するチャンネルに関してロール指定情報がスト
アされるものである。各ボリューム値レジスタは、対応
するチャンネルに関して図3(C)のボリューム値メモ
リから読出されたボリューム値VLMがストアされるも
のである。
【0064】図5(C)のワーキングメモリにあって
は、次のようなレジスタ類が設けられている。
【0065】(1)リズムコードレジスタRCODE…
これは、操作されたリズム選択操作子RSSに対応する
リズムコード(1〜N、Mのいずれか)がストアされる
ものである。
【0066】(2)パッドコードレジスタPDCODE
…これは、操作されたパッド操作子PDSに対応するリ
ズム音種類を表わす楽器コード(1〜32のいずれか)
がストアされるものである。
【0067】(3)テンポカウンタTPCTR…これ
は、テンポクロック信号TCLを2小節毎に反復的に計
数するもので、2小節内で0〜63のカウント値をと
り、64になるタイミングで0にリセットされる。
【0068】(4)プログラムモードフラグPRGFL
G…これは、1ならばプログラムモードを、0ならばプ
レイモードをそれぞれ表わすものである。
【0069】(5)スタートフラグSTART…これ
は、1ならばリズム走行を、0ならばリズム停止をそれ
ぞれ表わすものである。
【0070】(6)ロール指定情報レジスタRLSW…
これは、ロール指定操作子RLSが操作中であれば、1
が、操作中でなければ0がそれぞれセットされるもので
ある。
【0071】(7)トラックナンバレジスタTRN…こ
れは、トラックナンバ(1〜16のいずれか)がストア
されるものである。
【0072】(8)割当チャンネルナンバレジスタAC
H…これは、楽器コードを割当てるべきチャンネルに対
応するチャンネルナンバがストアされるものである。
【0073】(9)チャンネルナンバレジスタCHN…
これは、チャンネルナンバ(1〜8のいずれか)がスト
アされるものである。
【0074】(10)テンポカウント値レジスタDTP
CTR…これは、前回のテンポクロック割込時における
テンポカウント値(TPCTRの値から1を差引いた
値)がセットされるものである。
【0075】ここで、図6以降の各種処理を説明するに
先立って、リズム演奏関係のパネル操作の概要を述べ
る。
【0076】リズムパターンをプログラムしたいとき
は、プログラムモード指定操作子PMSを操作してプロ
グラムモードを選択する(表示素子PLD点灯)。そし
て、リズム選択操作子RSSのうちリズムコードMに対
応するものをオン操作して、記憶ブロックRPMEM
(M)への書込を可能とする。さらに、所望によりテン
ポ調整操作子TMNによりテンポを設定する。この後、
スタート/ストップ操作子SPSによりスタートを指令
すると、設定テンポに従って表示素子TLDが点灯する
ので、その表示テンポに合わせてパッド操作子PDSの
うちの1つを何回か操作して特定のリズム音種類(例え
ばバスドラム)に関するタイミング情報をリアルタイム
で入力する。このとき、入力操作のたびに入力に係るリ
ズム音(マニアルリズム音)が発生される。
【0077】このような入力が一通り終ったら、他のリ
ズム音種類(例えばスネアドラム)について同様にして
入力操作を行なう。このとき、先に入力されているタイ
ミング情報に基づいてオートリズム音が発生されると共
に入力中のマニアルリズム音も発生される。以下同様に
して必要数のリズム音種類について入力操作を行なうこ
とによりリズムコードMに対応するリズムパターンを完
成させることができ、入力を完了したら、スタート/ス
トップ操作子SPSによりストップを指令する。
【0078】一方、所望のリズムパターンに基づいて自
動リズム演奏を行なわせたいときは、プログラムモード
指定操作子PMSによりプレイモードを選択する(表示
素子PLD消灯)。そして、リズム選択操作子RSSの
うち所望のリズムに対応するもの(リズムコード1〜
N、Mのいずれか)をオン操作する。さらに、所望によ
りテンポ調整操作子TMNによりテンポを設定した後、
スタート/ストップ操作子SPSによりスタートを指令
する。すると、設定テンポに従って表示素子TLDが点
灯すると共に、選択されたリズムパターンに従ってオー
トリズム音が発生される。
【0079】このようなオートリズム音の発生中には、
それを伴奏として鍵盤12でマニアル演奏を行なえる一
方、所望によりパッド操作子PDSを操作することでマ
ニアルリズム音を発生させることもできる。
【0080】図6は、メインルーチンの処理の流れを示
すもので、このルーチンは電源投入等に応じてスタート
する。
【0081】まず、ステップ70では、各種レジスタを
初期セットする。例えば、START、PRGFLG、
TPCTR等には0をセットする。
【0082】次に、ステップ72では、押鍵検出・発音
割当処理を行なう。これは、鍵盤12から押鍵情報を検
出して鍵盤用TG28の適宜のチャンネルに割当てるこ
とにより押された鍵に対応する楽音信号KTSを発生さ
せるもので、これにより押鍵操作に応じたマニアル演奏
音発生が可能となる。ステップ72の後は、ステップ7
4に移る。
【0083】ステップ74では、図7について後述する
ようにリズム選択のサブルーチンを実行する。そして、
ステップ76に移り、図8について後述するようにモー
ド選択のサブルーチンを実行する。この後、ステップ7
8に移り、図9について後述するようにスタート/スト
ップのサブルーチンを実行する。ステップ78の後は、
ステップ80に移る。
【0084】ステップ80では、テンポ制御処理を行な
う。すなわち、テンポ調整操作子TMNによる設定テン
ポに対応したテンポデータTDをテンポタイマ22に送
出することによりテンポデータTDに応じてテンポクロ
ック信号TCLの周波数を設定する。そして、ステップ
82に移る。
【0085】ステップ82では、図10について後述す
るようにパッド操作のサブルーチンを実行する。そし
て、ステップ84に移る。
【0086】ステップ84では、その他のパネル操作子
(例えば音色、効果等に関するもの)の処理を行なう。
この後は、ステップ72に戻り、上記のような処理を繰
返す。
【0087】図7は、リズム選択のサブルーチンを示す
ものである。
【0088】リズム選択操作子RSSのいずれかにオン
イベントが生ずると、ステップ90において、操作され
たリズム選択操作子に対応するリズムコードをRCOD
Eにセットする。そして、ステップ92に移る。
【0089】ステップ92では、操作されたリズム選択
操作子に対応する表示素子LDを点灯させ、他の表示素
子LDを消灯させる。この後は、図6のルーチンにリタ
ーンする。なお、第7図以降に示される「RET」はリ
ターンを意味する。
【0090】図8は、モード選択のサブルーチンを示す
ものである。
【0091】プログラムモード指定操作子PMSにオン
イベントが生ずると、ステップ100において、PRG
FLGの内容を反転させる。すなわち、PRGFLGの
値が0であったときは1にし、1であったときは0にす
る。そして、ステップ102に移る。
【0092】ステップ102では、PRGFLGの値が
1か(プログラムモードか)判定する。そして、この判
定結果が肯定的(Y)であればステップ104に移る。
【0093】ステップ104では、記憶ブロックRPM
EM(M)の内容をすべてクリアすると共に、記憶領域
PTNNUM(M)もクリアする。そして、ステップ1
06に移り、図5(B)のチャンネル割当用メモリの内
容をすべてクリアする。この後、ステップ108では、
RCODEにリズムコードMをセットする。これらの処
理は、新たなリズムパターンの書込みを可能にするため
のものである。ステップ108の後は、ステップ110
に移る。
【0094】ステップ110では、表示素子PLDを点
灯し、プログラムモードであることを表示させる。この
後は、図6のルーチンにリターンする。
【0095】ステップ102の判定結果が否定的(N)
であったときは、プレイモードであり、ステップ112
で表示素子PLDを消灯してから図6のルーチンにリタ
ーンする。
【0096】図9は、スタート/ストップのサブルーチ
ンを示すものである。
【0097】スタート/ストップ操作子SPSにオンイ
ベントが生ずると、ステップ120において、STAR
Tの内容を反転させる。すなわち、STARTの値が0
であったときは1にし、0であったときは1にする。そ
して、ステップ122に移る。
【0098】ステップ122では、STARTの値が1
か(スタートか)判定する。そして、この判定結果が肯
定的(Y)であればステップ124に移り、TPCTR
に0をセットする。これは、リズムスタート時にリズム
パターンを第1小節の頭から読出すのを可能にするため
である。
【0099】ステップ124の処理が終ったとき又はス
テップ122の判定結果が否定的(N)であったとき
(ストップであったとき)は、図6のルーチンにリター
ンする。
【0100】図10は、パッド操作のサブルーチンを示
すものである。
【0101】パッド操作子PDSのいずれかにオンイベ
ントが生ずると、ステップ130において、PRGFL
Gの値が1か(プログラムモードか)判定する。この判
定結果が否定的(N)であれば、プレイモードであり、
図6のルーチンにリターンする。また、ステップ130
の判定結果が肯定的(Y)であれば、プログラムモード
であり、ステップ132に移る。
【0102】ステップ132では、操作されたパッド操
作子に対応するリズム音種類を表わす楽器コードをPD
CODEにセットする。そして、ステップ134に移
る。
【0103】ステップ134では、ロール指定操作子R
LSがオン中か判定し、この判定結果が肯定的(Y)で
あればステップ136でRLSWに1をセットし、否定
的(N)であればステップ138でRLSWに0をセッ
トする。ステップ136又はステップ138の後は、ス
テップ140に移る。
【0104】ステップ140では、TRNに0をセット
する。そして、ステップ142に移り、TRNの値を1
アップする。ステップ142の後は、ステップ144に
移る。
【0105】ステップ144では、RCODEのリズム
コードM及びRTNのトラックナンバによって指定され
る記憶領域PICODE(M、TRN)の楽器コードと
PDCODEの楽器コードとが等しく且つリズムコード
M及びTRNのトラックナンバによって指定される記憶
領域PRLFLG(M、TRN)のロール指定情報とR
LSWのロール指定情報とが等しいか(今回の操作で指
定されたリズム音種類がM及びTRN対応のトラックに
割当て済みか)判定する。例えば、プログラムモードを
指定した後最初に所望のパッド操作子を操作したとき
は、PICODE(M、1)の値は0であるので、ステ
ップ144の判定結果は否定的(N)となり、ステップ
146に移る。
【0106】ステップ146では、TRNの値がリズム
コードMによって指定される記憶領域PTNNUM
(M)の値(現在までの使用トラック数)より大か判定
する。最初のパッド操作時にあっては、PTNNUM
(M)の値が図8のステップ104で0にされており且
つTRN=1であるので、ステップ146の判定結果が
肯定的(Y)となり、ステップ148に移る。
【0107】ステップ148では、TRNの値が使用可
能な最大トラック数16より大か判定する。この判定結
果が肯定的(Y)であれば書込不能であるので、図6の
ルーチンにリターンする。
【0108】ステップ148の判定結果が否定的(N)
であったときは、書込可能であるので、ステップ150
に移る。
【0109】このステップ150では、PDCODEの
楽器コードをPICODE(M、TRN)に、RLSW
のロール指定情報をPRLFLG(M、TRN)に、T
RNのチャンネルナンバをPTNNUM(M)にそれぞ
れ書込む。そして、ステップ152に移る。
【0110】ステップ152では、リズムコードM、T
RNのチャンネルナンバ及びTPCTRのカウント値に
よって指定される記憶セルPTN(M、TRN、TPC
TR)に1を書込む。なお、TPCTRは、図13につ
いて後述するようにプレイモード中のみならずプログラ
ムモード中も計数動作を行なうようになっている。
【0111】ところで、前述例のように最初のパッド操
作子を操作した後、2回目のパッド操作を行なったもの
とすると、このとき操作されたパッド操作子が最初のも
のと同じであればステップ144の判定結果が肯定的
(Y)となり、ステップ152に移る。そして、ステッ
プ152では、前回と同じTRN=1のトラックに前回
と同様にしてタイミング情報が書込まれる。
【0112】この場合、最初のものと異なるパッド操作
子が操作されるか又は最初のものと同じパッド操作子及
びロール指定操作子が同時に操作されたものとすると、
ステップ144の判定結果が否定的(N)となり、ステ
ップ146に移る。
【0113】ステップ146では、TRN=1、PTN
NUM(M)=1であるので、判定結果が否定的(N)
となり、ステップ142に戻る。そして、ステップ14
2でTRNを2にしてからステップ144に移る。
【0114】ステップ144では、トラック2の記憶領
域PICODE(M、2)及びPRLFLG(M、2)
の情報がいずれも0(未割当)であるので、判定結果が
否定的(N)となり、ステップ146に移る。
【0115】ステップ146では、TRN=2、PTN
NUM(M)=1であるので、判定結果が肯定的(Y)
となり、ステップ148を介してステップ150に移
る。
【0116】ステップ150では、前回と異なるTR=
2のトラックに前回と同様にして楽器コード及びロール
指定情報が書込まれると共にPTNNUM(M)に2が
書込まれる。この後、ステップ152では、TRN=2
のトラックに前回と同様にしてタイミング情報が書込ま
れる。
【0117】さらに別の例として、何回かのパッド操作
によりPTNNUM(M)が5である場合に新たなパッ
ド操作に応じて第10図のルーチンに入り、ステップ1
46にきたときは、TRN=1、PTNNUM(M)=
5であるので、ステップ146の判定結果が否定的
(N)となり、ステップ142に戻る。そして、ステッ
プ142以下の処理を上記したと同様に行なう。
【0118】このようにして、TRN=5まで調べても
割当て済みのトラックがなければ、ステップ142でT
RNが6になった後ステップ144の判定結果が否定的
(N)となる。これは、トラック6に何の楽器コードも
割当てられていない(PICODE(M、6)=0であ
る)からである。
【0119】この後、ステップ146では、TRN=
6、PTNNUM(M)=5であるので、判定結果が肯
定的(Y)となり、ステップ148を介してステップ1
50に移る。そして、ステップ150及びステップ15
2では、TRN=6に関する書込処理が上記したと同様
に行なわれる。
【0120】また、上記のようにTRN=2,3,4,
5の順に順次に調べていく過程で、今回のパッド操作に
係るリズム音種類がいずれかのトラックに割当て済みで
あることが判明すれば、その時点でステップ144から
ステップ152に移り、このときのTRNのトラックナ
ンバに関してタイミング情報の書込処理が行なわれる。
例えば、TRN=4のトラックが割当て済みのトラック
と判明すれば、その時点でステップ144からステップ
152に移り、TRN=4に関してタイミング情報の書
込処理が行なわれる。この場合、さらにTRN=5のト
ラックについては調べない。
【0121】上記したステップ132〜152の処理に
よれば、リズム音種類が指定されるたびに、該リズム音
種類がいずれかのトラックに割当て済みか判定され、割
当て済みのトラックがあればそのトラックに該リズム音
種類に関連したタイミング情報が書込まれる一方、割当
て済みのトラックがなければ未割当のトラックの1つに
該リズム音種類が割当てられると共に該リズム音種類に
関連したタイミング情報が書込まれる。そして、このよ
うな処理が繰返されることにより、図5(A)のリズム
パターンプログラムメモリへの所望のリズムパターンの
書込みが可能となる。
【0122】ステップ152の後は、ステップ154に
移り、図11について後述するように割当チャンネル
(CH)検出のサブルーチンを実行する。このサブルー
チンでは、楽器コードを割当てるべきチャンネルが検出
され、そのチャンネルに対応するチャンネルナンバがA
CHにセットされる。そして、ステップ156に移る。
【0123】ステップ156では、ACHのチャンネル
ナンバに対応するレジスタICODE(ACH)にPI
CODE(M、TRN)の楽器コードをセットすると共
に、ACHのチャンネルナンバに対応するフラグRLF
LG(ACH)にPRLFLG(M、TRN)のロール
指定情報をセットする。この結果、ステップ154で検
出したチャンネルには、指定されたリズム音種類が割当
てられたことになる。RLFLG(ACH)に1がセッ
トされたときは、図16のロールタイマ割込処理により
自動的にロール音発生が行なわれる。ステップ156の
後は、ステップ158に移る。
【0124】ステップ158では、図3(B)のトラン
ケート値メモリからICODE(ACH)の楽器コード
に対応するトランケート値を読出し、ACHのチャンネ
ルナンバに対応するカウンタTCTR(ACH)にセッ
トする。このTCTR(ACH)のトランケート値は、
図17のトランケートタイマ割込処理により以後1ずつ
減算される。
【0125】次に、ステップ160では、図3(C)の
ボリューム値メモリからICODE(ACH)の楽器コ
ードとRLFLG(ACH)のロール指定情報とに対応
するボリューム値VLMを読出し、ACHのチャンネル
ナンバに対応するレジスタVLM(ACH)にセットす
る。
【0126】この後、ステップ162では、リズム用T
G30のレジスタ40,42,44,46に対して、A
CHのチャンネルナンバ、ICODE(ACH)の楽器
コード、VLM(ACH)のボリューム値、キーオン情
報KONをそれぞれ送出する。このため、リズム用TG
30にあっては、ACHのチャンネルナンバに対応する
チャンネルからICODE(ACH)の楽器コードの示
すリズム音種類に対応したリズム音信号がVLM(AC
H)のボリューム値に対応したアタックレベルで発生さ
れる。ステップ162の後は、図6のルーチンにリター
ンする。
【0127】上記したステップ154〜162の処理に
よれば、リズム音種類が指定されるたびに該リズム音種
類を適宜のチャンネルに割当てることによって該リズム
音種類に対応したリズム音が発生され、プログラムモー
ド時のマニアルリズム演奏が可能となる。従って、演奏
者は、自己の演奏するマニアルリズム音を聴きながら所
望のリズムパターンをプログラムすることができる。
【0128】図11は、割当チャンネル検出のサブルー
チンを示すものである。
【0129】ステップ170では、割当要求に係るリズ
ム音種類がチャンネル1(CH1)〜チャンネル8(C
H8)のいずれかに割当て済みか判定する。すなわち、
RCODEのリズムコード及びTRNのトラックナンバ
によって指定される記憶領域PICODE(RCOD
E、TRN)の楽器コードとチャンネルナンバX(1〜
8のいずれか)に対応するレジスタICODE(X)の
楽器コードとが一致し且つRCODEのリズムコード及
びTRNのトラックナンバにより指定される記憶領域P
RLFLG(RCODE、TRN)のロール指定情報と
チャンネルナンバXに対応するフラグRLFLG(X)
のロール指定情報とが一致するようなチャンネルXがあ
るか判定する。そして、この判定の結果が否定的(N)
であれば、ステップ172に移り、肯定的(Y)であれ
ばステップ174に移る。
【0130】ステップ172では、TCTR(1)〜T
CTR(8)のうち値が0のもの(発音が終了したも
の)があればその値0のものに対応するチャンネルナン
バ(CHナンバ)をACHに入れる。また、値0のもの
がなければTCTR(1)〜TCTR(8)のうち値が
最小のもの(減衰が最も進んだもの)に対応するCHナ
ンバをACHに入れる。
【0131】ステップ174では、すでに割当てられて
いるチャンネルのCHナンバXをACHに入れる。ステ
ップ172又は174の後は、元のルーチン(図10又
は図13)にリターンする。
【0132】上記した図11のルーチンによれば、8チ
ャンネル全部がふさがっている状態で割当て済みのもの
とは別の新たなリズム音種類の割当要求があった場合、
このリズム音種類はTCTR(1)〜TCTR(8)の
うちで値が最小のものに対応するチャンネルに割当てら
れることになり、該リズム音種類は減衰が最も進んだリ
ズム音種類に代って発音されるようになる。
【0133】図11のルーチンを図10のルーチンにて
使用する場合は、RCODEのリズムコードがMである
ため、ステップ170では、PICODE(M、TR
N)の楽器コード及びPRLFLG(M、TRN)のロ
ール指定情報に基づいて判定が行なわれる。
【0134】図10のルーチンでは、ステップ130で
プレイモードと判定されたとき何もしなかったが、プレ
イモード中にパッド操作に基づくリズム音発生を可能と
してもよく、その一例を図12に示す。
【0135】図10のステップ130でプレイモードと
判定されたときは、図12のステップ180に移る。
【0136】ステップ180では、パッド操作子PDS
のうち操作されたものに対応するリズム音種類を表わす
楽器コードをPDCODEにセットする。そして、ステ
ップ182に移る。
【0137】ステップ182では、RLSWに0をセッ
トする。このように、この例ではロール指定情報を強制
的に0としているので自動的なロール発音は行なわれな
いが、図10に関して前述したようにロール指定操作子
RLSの操作を検知して自動的なロール発音を行なわせ
るようにしてもよい。
【0138】次に、ステップ184では、指定されたリ
ズム音種類がCH1〜CH8のいずれかに割当て済みか
判定する。この判定は、PICODE(RCODE、T
RN)及びPRLFLG(RCODE、TRN)の代り
にPDCODE及びRLSWを用いる点を除き図11の
ステップ170と同様にして行なう。
【0139】ステップ184の判定結果が否定的(N)
であったときはステップ186に移り、図11のステッ
プ172と同様にしてTCTR(1)〜(8)の中で値
が0のもの又は0がなければ値が最小のものに対応する
CHナンバをACHに入れる。
【0140】ステップ184の判定結果が肯定的(Y)
であったときはステップ188に移り、すでに割当てら
れているチャンネルのCHナンバXをACHに入れる。
【0141】ステップ186又は188の後は、ステッ
プ190に移り、ICODE(ACH)及びRLFLG
(ACH)にそれぞれPDCODEの楽器コード及びR
LSWのロール指定情報(0)を書込む。そして、ステ
ップ192に移る。
【0142】ステップ192では、図10のステップ1
58と同様にしてトランケート値メモリからICODE
(ACH)に対応するトランケート値を読出してTCT
R(ACH)に入れる。そして、ステップ194に移
る。
【0143】ステップ194では、図10のステップ1
60と同様にしてボリューム値メモリからICODE
(ACH)及びRLFLG(ACH)に対応するボリュ
ーム値を読出してVLM(ACH)に入れる。そして、
ステップ196に移る。
【0144】ステップ196では、図10のステップ1
62と同様にしてACH、ICODE(ACH)及びV
LM(ACH)の内容と共にキーオン情報KONをリズ
ム用TG30に送出することによりACH対応のチャン
ネルからICODE(ACH)対応のリズム音信号をV
LM(ACH)対応のアタックレベルで発生させる。こ
の後は、図6のルーチンにリターンする。
【0145】図13は、テンポクロック割込処理の流れ
を示すもので、この割込処理は、テンポクロック信号T
CLの各クロックパルス毎に開始される。
【0146】ステップ200では、STARTの値が1
か(リズム走行か)判定する。この判定結果が否定的
(N)であればリズム停止であるので図6のルーチンに
リターンする。
【0147】ステップ200の判定結果が肯定的(Y)
であったときはステップ202に移り、TRNに1をセ
ットする。このように、ステップ202以下の処理は、
START=1である限りプログラムモード及びプレイ
モードのいずれの場合にも実行されるものである。ステ
ップ202の後は、ステップ204に移る。
【0148】ステップ204では、RCODEのリズム
コード(選択されたリズム)とTRNのトラックナンバ
とTPCTRのカウント値とで指定される記憶セルPT
N(RCODE、TRN、TPCTR)の情報が1か
(発音すべきタイミングか)判定する。この判定結果が
肯定的(Y)であればステップ206に移る。
【0149】ステップ206では、図11について前述
したように割当チャンネル検出のサブルーチンを実行す
る。すなわち、発音すべきリズム音種類を割当てるべき
チャンネルを検出し、そのチャンネルのCHナンバをA
CHに入れる。そして、ステップ208に移る。
【0150】ステップ208では、RCODEのリズム
コード及びTRNのトラックナンバで指定される記憶領
域PRLFLG(RCODE、TRN)の情報が1か
(ロール指定有りか)判定し、この判定結果が肯定的
(Y)であればステップ210に移る。
【0151】ステップ210では、TPCTRの値から
1を差引いた値(前回のテンポカウント値)をDTPC
TRに入れる。この場合、差引いた値が「−1」になっ
たときは、DTPCTRに「63」を入れる。ステップ
210の後は、ステップ212に移る。
【0152】ステップ212では、前回のテンポカウン
ト値に対応する記憶セルPTN(RCODE、TRN、
DTPCTR)の情報が1か(発音すべきタイミングで
あったか)判定する。この判定結果が否定的(N)であ
れば、選択したリズムのタイミングデータが図14に示
すように「0」から「1」に変化したことになる。
【0153】ステップ212の処理が終ったとき又はス
テップ208の判定結果が否定的(N)であったとき
(ロール指定無しで通常音であったとき)は、ステップ
214に移る。このステップ214では、ICODE
(ACH)及びRLFLG(ACH)にそれぞれPIC
ODE(RCODE、TRN)の楽器ナンバ及びPRL
FLG(RCODE、TRN)のロール指定情報をセッ
トする。ステップ212を介してステップ214にきた
ときは、RLFLG(ACH)に1がセットされる。
【0154】次に、ステップ216では、図10のステ
ップ158と同様にしてトランケート値メモリからIC
ODE(ACH)に対応するトランケート値を読出して
TCTR(ACH)に入れる。そして、ステップ218
に移る。
【0155】ステップ218では、図10のステップ1
60と同様にしてボリューム値メモリからICODE
(ACH)及びRLFLG(ACH)に対応するボリュ
ーム値を読出してVLM(ACH)に入れる。そして、
ステップ220に移る。
【0156】ステップ220では、図10のステップ1
62と同様にしてACH、ICODE(ACH)及びV
LM(ACH)の内容と共にキーオン情報KONをリズ
ム用TG30に送出することによりACH対応のチャン
ネルからICODE(ACH)対応のリズム音信号をV
LM(ACH)対応のアタックレベルで発生させる。
【0157】ステップ212を介してステップ220に
きたときは、図14に示すようにタイミングデータが
「0」から「1」に変化したときのテンポクロック信号
TCLのクロックパルスに同期してキーオンパルスKO
NPが発生され、このパルスKONPに応じてロール発
音における最初の音が発生される。そして、これ以降
は、テンポクロック信号TCLとは独立に図16のロー
ルタイマ割込処理によりロール発音における順次の音が
発生される。これらの順次の音の発生周期Tは、ロール
用クロック信号RCLの発生周期に対応するもので、一
例として数10[ms]である。
【0158】ステップ220の処理が終ったとき又はス
テップ212の判定結果が肯定的(Y)であったとき
は、ステップ232に移る。ステップ212の判定結果
が肯定的(Y)であったときにステップ232に移るの
は、図14に示すようにタイミングデータにおいて
「1」が連続していてロール発音が行なわれるので、ス
テップ214〜220の発音処理を行なう必要がないか
らである。
【0159】ところで、ステップ204の判定結果が否
定的(N)であったとき(発音すべきタイミングでなか
ったとき)は、ステップ222に移る。このステップ2
22では、ステップ208と同様にしてPRLFLG
(RCODE、TRN)の情報が1か判定する。この判
定結果が否定的(N)であれば、以下に述べるようなロ
ール発音停止処理を行なう必要がないので、ステップ2
32に移る。
【0160】ステップ222の判定結果が肯定的(Y)
であったときは、ステップ224に移り、ステップ21
0と同様にしてDTPCTRに前回のテンポカウント値
をセットする。そして、ステップ226に移る。
【0161】ステップ226では、ステップ212と同
様にしてPTN(RCODE、TRN、DTPCTR)
の値が1か判定する。この判定結果が否定的(N)であ
れば、タイミングデータにおいて「0」が連続したこと
になり、ステップ232に移る。
【0162】ステップ226の判定結果が肯定的(Y)
であったときは、タイミングデータが図14に示すよう
に「1」から「0」に変化したことになり、ステップ2
28に移る。
【0163】ステップ228では、図11のステップ1
70と同様にしてロール音の割当て済みチャンネルを検
出し、そのCHナンバをACHに入れる。そして、ステ
ップ230に移る。
【0164】ステップ230では、RLFLG(AC
H)に0をセットする。この結果、ロール音発生は、図
14に示すようにタイミングデータが「1」から「0」
に変化したときのテンポクロック信号TCLのクロック
パルスより後は停止される。ステップ230の後は、ス
テップ232に移る。
【0165】ステップ232では、TRNの値を1アッ
プする。そして、ステップ234に移り、TRNの値が
RCODEのリズムコード(選択されたリズム)に対応
する記憶領域PTNNUM(RCODE)のトラック数
より大か判定する。この判定結果が否定的(N)であれ
ばステップ204に戻り、TRN>PTNNUM(RC
ODE)となるまで上記したような処理を繰返す。例え
ば、図3(A)のリズムパターンメモリにおいて、リズ
ム1が選択された場合は、PTNNUM(1)=16で
あるので、上記のような処理が16回行なわれる。
【0166】TRN>PTNNUM(RCODE)とな
ると、ステップ234の判定結果が肯定的(Y)とな
り、ステップ236に移る。このステップ236では、
TPCTRの値に基づいてテンポ表示素子TLDを駆動
する。すなわち、TPCTRの値が0,8,16…4
8,56のいずれに該当するかにより表示素子TLD1
〜TLD4(図1のTLDにおいて最も左のものから最
も右のものまで)を図15に示すように点灯制御する。
この結果、設定テンポに応じたテンポ表示が可能とな
る。ステップ236の後は、ステップ238に移る。
【0167】ステップ238では、TPCTRの値を1
アップする。そして、ステップ240に移り、TPCT
Rの値が64か(2小節終りか)判定し、この判定結果
が否定的(N)であれば図6のルーチンにリターンす
る。
【0168】ステップ240の判定結果が肯定的(Y)
であったときは、ステップ242でTPCTRに0をセ
ットしてから、図6のルーチンにリターンする。従っ
て、2小節分のリズムパターンを反復的に使用して自動
リズム演奏を続行することができる。
【0169】図16は、ロールタイマ割込処理を示すも
ので、この割込処理はロール用クロック信号RCLの各
クロックパルス毎に開始される。
【0170】ステップ250では、STARTの値が1
か判定し、この判定結果が否定的(N)であれば第6図
のルーチンにリターンする。
【0171】ステップ250の判定結果が肯定的(Y)
であったときはステップ252に移り、CHNに1をセ
ットする。このように、ステップ252以下の処理は、
START=1である限りプログラムモード及びプレイ
モードのいずれの場合にも実行されるものである。ステ
ップ252の後は、ステップ254に移る。
【0172】ステップ254では、CHNのチャンネル
ナンバに対応するフラグRLFLG(CHN)の値が1
か(ロール指定有りか)判定する。この判定結果が肯定
的(Y)であればステップ256に移る。
【0173】ステップ256では、ロール指定有りのC
HNのチャンネルナンバとCHN対応のレジスタICO
DE(CHN)の楽器コードとCHN対応のレジスタV
LM(CHN)のボリューム値とキーオン情報KONと
を図10のステップ162と同様にしてリズム用TG3
0に送出することによりCHN対応のチャンネルからI
CODE(CHN)対応のリズム音信号をVLM(CH
N)対応のアタックレベル(通常音の約半分のレベル)
で発生させる。
【0174】ステップ256の処理が終ったとき又はス
テップ254の判定結果が否定的(N)であったとき
(ロール指定無しであったとき)はステップ258に移
る。
【0175】ステップ258では、CHNの値を1アッ
プする。そして、ステップ260に移り、CHNの値が
チャンネル数8より大か判定する。この判定結果が否定
的(N)であればステップ254に戻り、CHN>8と
なるまで上記のような処理を繰返す。このようにして各
チャンネル毎にロール指定の有無を調べ、ロール指定有
りならばリズム音を発生させる。
【0176】CHN>8となると、ステップ260の判
定結果が肯定的(Y)となり、図6のルーチンにリター
ンする。
【0177】上記したロールタイマ割込処理によれば、
テンポクロック信号TCLとは独立のロール用クロック
信号RCLに応じてロール音が発生されるので、テンポ
を変更してもロール音の発生時間間隔が変化せず、しか
もロール音の発生時間間隔をテンポに関係なく任意に可
変設定できる。
【0178】図17は、トランケートタイマ割込処理を
示すもので、この割込処理は、トランケート用クロック
信号KCLの各クロックパルス毎に開始される。
【0179】ステップ270では、STARTの値が1
か判定し、この判定結果が否定的(N)であれば図6の
ルーチンにリターンする。
【0180】ステップ270の判定結果が肯定的(Y)
であったときはステップ272に移り、CHNに1をセ
ットする。このように、ステップ272以下の処理は、
START=1である限りプログラムモード及びプレイ
モードのいずれの場合にも実行されるものである。ステ
ップ272の後は、ステップ274に移る。
【0181】ステップ274では、CHNのチャンネル
ナンバに対応するカウンタTCTR(CHN)の値が0
か(発音終了か)判定する。この判定結果が否定的
(N)であればステップ276に移り、TCTR(CH
N)の値から1を差引いた値をTCTR(CHN)にセ
ットする。
【0182】ステップ276の処理が終ったとき又はス
テップ274の判定結果が肯定的(Y)であったとき
(発音終了であったとき)はステップ278に移る。
【0183】ステップ278では、CHNの値を1アッ
プする。そして、ステップ280に移り、CHNの値が
チャンネル数8より大か判定する。この判定結果が否定
的(N)であればステップ254に戻り、CHN>8と
なるまで上記のような処理を繰返す。このようにして各
チャンネル毎にTCTR(CHN)=0か調べ、0でな
ければTCTR(CHN)の値を1減らす。
【0184】CHN>8となると、ステップ280の判
定結果が肯定的(Y)となり、図6のルーチンにリター
ンする。
【0185】トランケートの方法は、上記したものに限
らず、例えば(イ)テンポクロック割込みのたびに1減
らす(ただし、0になるまでの時間がテンポに依存す
る)、(ロ)新たな発音割当てがあるたびに1減らす、
(ハ)減衰時間が長いものほど小さなトランケート値を
セットしておき、割込みのたびに1を加え、加算結果が
最大のチャンネルに新たなリズム音種類を割当てる、等
の方法がある。
【0186】この発明は、上記した実施形態に限定され
るものではなく、種々の改変形態で実施可能なものであ
る。例えば、次のような変更が可能である。
【0187】(1)ソフトウェアにより制御する例を示
したが、専用のハードウェアで処理するようにしてもよ
い。
【0188】(2)リズム用トーンジェネレータは、P
CM波形メモリ方式の例を示したが、音源方式はこれに
限らず、FM音源方式等も適宜使用可能である。また、
複数チャンネル時分割処理でなく、複数チャンネル並列
の音源構成としてもよい。
【0189】(3)鍵盤付きの電子楽器の例を示した
が、専用のリズム演奏装置であってもよい。
【0190】(4)チャンネル割当方式は、後着優先方
式としたが、トランケートの方法は、前述した以外にも
種々のものがある。
【0191】(5)リズム用トーンジェネレータに楽器
コードを送出する例を示したが、所望の楽器音を得るた
めに必要な楽音パラメータ情報(例えばFM音源制御用
パラメータ情報)を送出するようにしてもよい。
【0192】
【発明の効果】以上のように、この発明によれば、複数
のリズム音源チャンネルを有すると共にチャンネル数よ
り多い複数のリズム音種類指定情報を発生し、各リズム
音種類指定情報をいずれかのリズム音源チャンネルに割
当ててリズム音信号を発生させるようにしたリズム楽音
制御装置において、空きチャンネルがあれば空きチャン
ネルに、空きチャンネルがなければリズム音信号の減衰
が最も進んだチャンネルにリズム音種類指定情報を割当
てる構成、あるいはリズム音種類毎に音量制御情報に応
じてリズム音信号の発生時の音量を制御する構成を採用
したので、少ないチャンネル数で変化に富んだリズム演
奏を行なえる効果が得られる。
【図面の簡単な説明】
【図1】 この発明の一実施形態に係る電子楽器の構成
を示すブロック図である。
【図2】 リズム用トーンジェネレータ30の構成を示
すブロック図である。
【図3】 ROM18の記憶内容を示す図である。
【図4】 タイミングデータの例を示す図である。
【図5】 RAM20の記憶内容を示す図である。
【図6】 メインルーチンを示すフローチャートであ
る。
【図7】 リズム選択のサブルーチンを示すフローチャ
ートである。
【図8】 モード選択のサブルーチンを示すフローチャ
ートである。
【図9】 スタート/ストップのサブルーチンを示すフ
ローチャートである。
【図10】 パッド操作のサブルーチンを示すフローチ
ャートである。
【図11】 割当チャンネル検出のサブルーチンを示す
フローチャートである。
【図12】 プレイモード中のパッド発音処理を示すフ
ローチャートである。
【図13】 テンポクロック割込処理を示すフローチャ
ートである。
【図14】 ロール発音動作を説明するための信号波形
図である。
【図15】 テンポ表示動作を説明するための図であ
る。
【図16】 ロールタイマ割込処理を示すフローチャー
トである。
【図17】 トランケートタイマ割込処理を示すフロー
チャートである。
【符号の説明】
10…データバス、14…パネル装置、16…中央処理
装置、18…プログラム及びデータROM、20…デー
タ及びワーキングRAM、22…テンポタイマ、24…
ロールタイマ、26…トランケートタイマ、30…リズ
ム用トーンジェネレータ。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】複数のリズム音源チャンネルを有する音源
    手段であって、各リズム音源チャンネルは割当てられる
    リズム音種類指定情報に対応したリズム音信号を発生す
    るものと、 演奏すべきリズムに関して前記リズム音源チャンネルの
    数より多い複数のリズム音種類にそれぞれ対応した複数
    のリズム音種類指定情報を発生する情報発生手段と、 この情報発生手段から発生される各リズム音種類指定情
    報毎に前記複数のリズム音源チャンネルにおける空き状
    態及びリズム音信号の減衰状態を判断する判断手段と、 前記情報発生手段から発生される各リズム音種類指定情
    報毎に該リズム音種類指定情報を前記判断手段での判断
    結果に応じて前記複数のリズム音源チャンネルのいずれ
    かに割当てることにより該リズム音種類指定情報に対応
    したリズム音信号を発生させる割当手段であって、前記
    判断手段での判断結果が空き状態のリズム音源チャンネ
    ルありを示すときは該空き状態のリズム音源チャンネル
    に判断に係るリズム音種類指定情報を割当て、前記判断
    手段での判断結果が空き状態のリズム音源チャンネルな
    しを示すときはリズム音信号の減衰が最も進んだリズム
    音源チャンネルに判断に係るリズム音種類指定情報を割
    当てるものとを備えたリズム楽音制御装置。
  2. 【請求項2】複数のリズム音源チャンネルを有する音源
    手段であって、各リズム音源チャンネルは割当てられる
    リズム音種類指定情報に対応したリズム音信号を発生す
    るものと、 演奏すべきリズムに関して前記リズム音源チャンネルの
    数より多い複数のリズム音種類にそれぞれ対応した複数
    のリズム音種類指定情報を発生する情報発生手段と、 前記複数のリズム音種類にそれぞれ対応した複数の音量
    制御情報を記憶する記憶手段であって、各リズム音種類
    に対応した音量制御情報は、該リズム音種類に対応した
    リズム音信号の発生時の音量を制御する情報からなるも
    のと、 前記情報発生手段から発生される各リズム音種類指定情
    報毎に該リズム音種類指定情報を前記複数のリズム音源
    チャンネルのいずれかに割当てると共に該リズム音種類
    指定情報に対応した音量制御情報を前記記憶手段から読
    出すことにより割当てに係るリズム音源チャンネルにお
    いて該リズム音種類指定情報に対応したリズム音信号を
    読出しに係る音量制御情報に対応した音量で発生させる
    割当手段とを備えたリズム楽音制御装置。
JP10094113A 1998-03-23 1998-03-23 リズム楽音制御装置 Expired - Lifetime JP3013836B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10094113A JP3013836B2 (ja) 1998-03-23 1998-03-23 リズム楽音制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10094113A JP3013836B2 (ja) 1998-03-23 1998-03-23 リズム楽音制御装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP62332648A Division JPH0646355B2 (ja) 1987-12-30 1987-12-30 リズム演奏装置

Publications (2)

Publication Number Publication Date
JPH10254447A true JPH10254447A (ja) 1998-09-25
JP3013836B2 JP3013836B2 (ja) 2000-02-28

Family

ID=14101393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10094113A Expired - Lifetime JP3013836B2 (ja) 1998-03-23 1998-03-23 リズム楽音制御装置

Country Status (1)

Country Link
JP (1) JP3013836B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010119541A1 (ja) * 2009-04-16 2010-10-21 パイオニア株式会社 音発生装置、音発生方法、音発生プログラム、及び記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010119541A1 (ja) * 2009-04-16 2010-10-21 パイオニア株式会社 音発生装置、音発生方法、音発生プログラム、及び記録媒体

Also Published As

Publication number Publication date
JP3013836B2 (ja) 2000-02-28

Similar Documents

Publication Publication Date Title
JP2546097B2 (ja) 電子楽器
JP2655905B2 (ja) 電子楽器のチャンネル割り当て装置
US5281756A (en) Electronic musical instrument capable of assigning desired tones to a performance operator
KR920005713B1 (ko) 리듬 연주기능을 가지는 전자악기
JPH10254447A (ja) リズム楽音制御装置
JP2001013965A (ja) リズム演奏装置
JP3013796B2 (ja) リズム演奏装置
JP3104705B2 (ja) リズム楽音制御装置
JP2600741B2 (ja) リズムパターンプログラム装置
JP2000099025A (ja) リズム演奏装置
JPH11327556A (ja) リズム楽音制御装置
JP2668691B2 (ja) リズム演奏装置
JPH0646355B2 (ja) リズム演奏装置
JPH0721718B2 (ja) 電子楽器
JP2513014B2 (ja) 電子楽器の自動演奏装置
JP2630268B2 (ja) リズム音発生装置
JP2005049497A (ja) 音源回路の制御プログラムおよび音源回路の制御装置
JP2531040B2 (ja) 電子楽器
JP3389609B2 (ja) 電子楽器
JP2685419B2 (ja) 電子楽器のチャンネル割り当て装置及びチャンネル割り当て方法
JP2649916B2 (ja) 楽音信号発生装置
JPH073639B2 (ja) オ−トリズム装置
JP2002318582A (ja) 楽音情報割当操作子を有する電子音楽装置
JPH07107638B2 (ja) 電子楽器の自動リズム演奏装置
JP2002297140A (ja) 電子楽器、音源制御装置、midiシステム、音源制御方法、記憶媒体

Legal Events

Date Code Title Description
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: 20081217

Year of fee payment: 9

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081217

Year of fee payment: 9