JP2600741B2 - リズムパターンプログラム装置 - Google Patents

リズムパターンプログラム装置

Info

Publication number
JP2600741B2
JP2600741B2 JP62332649A JP33264987A JP2600741B2 JP 2600741 B2 JP2600741 B2 JP 2600741B2 JP 62332649 A JP62332649 A JP 62332649A JP 33264987 A JP33264987 A JP 33264987A JP 2600741 B2 JP2600741 B2 JP 2600741B2
Authority
JP
Japan
Prior art keywords
rhythm
storage
rhythm sound
sound type
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.)
Expired - Fee Related
Application number
JP62332649A
Other languages
English (en)
Other versions
JPH01176388A (ja
Inventor
幹生 伊藤
昌夫 近藤
泰直 阿部
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 JP62332649A priority Critical patent/JP2600741B2/ja
Priority to US07/291,275 priority patent/US4991486A/en
Priority to DE3888655T priority patent/DE3888655T2/de
Priority to EP88121918A priority patent/EP0322927B1/en
Priority to KR1019880017876A priority patent/KR920005713B1/ko
Publication of JPH01176388A publication Critical patent/JPH01176388A/ja
Priority to SG165894A priority patent/SG165894G/en
Priority to HK33095A priority patent/HK33095A/xx
Application granted granted Critical
Publication of JP2600741B2 publication Critical patent/JP2600741B2/ja
Priority to US09/493,518 priority patent/USRE37459E1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、所望のリズムパターンを自動演奏等に使
用すべくメモリに記憶させるためのリズムパターンプロ
グラム装置に関し、特にメモリへのリズムパターン書込
技術の改良に関するものである。
[発明の概要] この発明は、複数の記憶トラックを有する記憶手段に
リズム音種類指定情報と発音タイミング対応のタイミン
グとを書込むにあたり、複数の記憶トラックのいずれか
にリズム音種類指定情報が割当て済みが判定し、その判
定結果に応じて書込むべき記憶トラックを指定すること
により記憶容量の低減を図ったものである。
[従来の技術] 従来、リズムパターンプログラム装置としては、複数
の種類リズム音(例えばシンバル、バスドラム、スネア
ドラム…)にそれぞれ対応した複数の記憶トラックを有
する記憶手段を設け、各リズム音種類毎に対応する記憶
トラックに発音タイミング情報を書込むようにしたもの
が知られている(例えば、特開昭54−48515号公報参
照)。
[発明が解決しようとする問題点] 上記した従来技術によると、リズム音種類の数に等し
い数の記憶トラックを設けるので、リズム音種類の数が
例えば32であれば、32個の記憶トラックを設ける必要が
ある。このようにした場合、マーチ、ワルツ、ルンバ等
の多種類のリズムのうちの任意のリズムについてリズム
パターンをプログラムすることができる。
しかしながら、リズム種類毎にリズムパターンプログ
ラムに使用するリズム音種類の数が異なるのが通例であ
り、あるリズム種類では例えば16種類のリズム音が使用
されるだけである。このような状況では、記憶トラック
も、32個のうち16種類のリズム音に対応する16個しか使
用されず、残りの16個は不使用となる。
そこで、記憶トラックの数を16個に減らすことが考え
られる。しかし、上記した従来技術では、リズム音種類
と記憶トラックとが1対1に対応しているので、記憶ト
ラック数を16個に減らすと、他のリズム種類のリズムパ
ターンをプログラムする際に必要なリズム音種類のデー
タを記憶できなくなる。すなわち、記憶トラック数を減
らすことは、使用可能なリズム音種類の数を減らすこと
につながり、ひいてはリズムパターンプログラム可能な
リズム種類の数を減らすことにつながる。従って、記憶
トラック数を減らすことはできず、記憶手段として大容
量のメモリを必要とする不都合があった。
この発明の目的は、少ない記憶容量(記憶トラック
数)で多種類のリズムについてリズムパターンプログラ
ムを可能にすることにある。
[問題点を解決するための手段] この発明に係るリズムパターンプログラム装置は、 (a)プログラムすべきリズムパターンに関して複数n
のリズム音種類のうち任意のものを選択するための選択
手段であって、選択されたリズム音種類を指定するリズ
ム音種類指定情報を発生するもの[第1図PDS、第10図1
32]と、 (b)複数m(m<n)の記憶トラックを有する記憶手
段であって、該複数mは、1つのリズムパターンをプロ
グラムする際に使用されるリズム音種類の数を考慮して
予め定められているもの[第5図(A)]と、 (c)前記選択手段から発生されるリズム音種類指定情
報毎に該リズム音種類指定情報の指定するリズム音種類
の発音タイミングを指示する指示手段[第1図22、第5
図(C)TPCTR]と、 (d)前記選択手段からリズム音種類指定情報が発生さ
れるたびに該リズム音種類指定情報が前記複数mの記憶
トラックのうちの1つに既に記憶されているか判定し、
記憶されていれば肯定的出力を、記憶されていなければ
否定的判定出力をそれぞれ送出するもの[第10図140〜1
46]と、 (e)前記判定手段から否定的判定出力が送出されたと
きは前記判定手段での判定に係るリズム音種類指定情報
を前記記憶手段における未記憶の記憶トラックの1つに
書込むと共にその書込みに係る記憶トラックには該リズ
ム音種類指定情報に関して前記指示手段で指示される発
音タイミングに対応するタイミング情報を書込み、前記
判定手段から肯定的判定出力が送出されたときは前記記
憶手段において前記判定手段での判定に係るリズム音種
類指定情報が既に記憶されている記憶トラックに該リズ
ム音種類指定情報に関して前記指示手段で指示される発
音タイミングに対応するタイミング情報を書込む書込手
段[第10図150,152]とを備えたものである。
[作用] この発明の構成によれは、選択対象となるリズム音種
類の数nを例えば32とすると、記憶トラックの数mは、
1つのリズムパターンをプログラムする際に使用される
リグム音種類の数を考慮してnより小さい範囲で例えば
16に予め定められる。
選択手段で所望のリズム音種類を選択すると、判定手
段では、該リズム音種類を指定するリズム音種類指定情
報が複数mの記憶トラックのうちの1つの既に記憶され
ているが判定される。例えば、最初にリズム音種類を選
択したときは、リズム音種類指定情報がいずれの記憶ト
ラックにも記憶されていないので、判定結果が否定的と
なり、判定に係るリズム音種類指定情報が未記憶の記憶
トラックの1つ(第1の記憶トラックという)に書込ま
れると共に第1の記憶トラックに該リズム音種類指定情
報に関連したタイミング情報が書込まれる。
次に、他のリズム音種類を選択すると、上記したと同
様に判定が行なわれ、判定結果は否定的となる。従っ
て、判定に係るリズム音種類指定情報が未記憶の記憶ト
ラックの1つ(第2の記憶トラックという)に書込まれ
ると共に第2の記憶トラックに該リズム音種類指定情報
に関連したタイミング情報が書込まれる。
さらに、最初のリズム音種類と同じリズム音種類を選
択すると、判定結果が肯定的となり、第1の記憶トラッ
クに判定に係るリズム音種類指定情報に関連したタイミ
ング情報が書込まれる。
この後、上記したと同様にしてリズム音種類の選択の
たびに判定結果に応じてリズム音種類指定情報の書込み
乃至タイミング情報の書込みが行なわれる。
上記した例では、32種類のリズム音のうちから任意の
16種類以内のリズム音を選択して所望のリズムパターン
をプログラムすることができる。この場合、記憶トラッ
ク数16を越えるリズム音種類についてはリズムパターン
プログラムを行なえないが、記憶トラック数は予め1つ
のリズムパターンのブログラムに使用するリズム音種類
の数を考慮して定めるので、使用するリズム音種類の数
に不足が生じないように記憶トラックの数を定めれば実
用上の問題はない。
[実施例] 第1図は、この発明の一実施例による電子楽器の構成
を示すもので、この電子楽器では、鍵盤操作に基づくマ
ニアル演奏音の発生、プログラムモード時におけるリズ
ムパターン書込み並びにマニアルリズム音及びオートリ
ズム音の発生、プレイモード時におけるオートリズム音
の発生等がマイクロコンピュータによって制御されるよ
うになっている。なお、第1図及び第2図において、例
えば第1図のTDのように斜線を付した信号線は、複数の
信号線であること又は複数ビットの信号の流れを表わ
す。
電子楽器の構成(第1図) 第1図において、データバス10には、鍵盤12、パネル
装置14、中央処理装置(CPU)16、プログラム及びデー
タROM(リード・オンリィ・メモリ)18、データ及びワ
ーキングRAM(ランダム・アクセス・メモリ)20、テン
ポタイマ22、ロールタイマ24、トランケートタイマ26、
鍵盤用トーンジェネレータ(TG)28、リズム用トーンジ
ェネレータ(TG)30等が接続されている。
鍵盤12は、多数の鍵を有するもので、各鍵毎に押鍵情
報が検出されるようになっている。
パネル装置14は、楽音制御用乃至演奏制御用の各種の
操作子並びに各種の表示素子が設けられたもので、各操
作子毎に操作情報が検出されるようになっている。
パネル装置14において、この発明の実施に関係する操
作子としては、ハンドパーカッション用のパッド操作子
PDSと、リズム選択操作子RSSと、ロール指定操作子RLS
と、プログラムモード指定操作子PMSと、スタート/ス
トップ操作子SPSと、テンポ調整操作子TMNとが設けられ
ている。
パッド操作子PDSとしては、例えばバスドラム、スネ
アドラム、シンバル…等の32種類のリズム音にそれぞれ
対応した32個の自己復帰型パッドスイッチが設けられて
いる。
リズム選択操作子RSSとしては、例えばマーチ、ワル
ツ、ルンバ…等のN(任意の複数)種類のファクトリー
セットされたリズムパターンにそれぞれ対応した第1〜
第Nのリズム選択スイッチと、演奏者がプログラムした
リズムパターンを選択するための第Mのリズム選択スイ
ッチとが設けられている。また、各リズム選択操作子毎
に発光ダイオードからなる表示素子LDが設けられてお
り、所望のリズムを選択すべくリズム選択操作子をオン
操作すると、それに対応する表示素子LDが点灯するよう
になっている。
ロール指定操作子RLSは、例えば自己復帰型スイッチ
からなるもので、所望のパッド操作子(例えばスネアド
ラムに対応するもの)と同時的にオン操作することによ
り該パッド操作子に対応するリズム音のロール(連打)
発音を指定可能である。
プログラムモード指定操作子PMSは、例えば自己復帰
型スイッチからなるもので、操作のたびにプログラムモ
ードとプレイモードとを交互に指定可能である。また、
操作子PMSの近傍には、発光ダイオードからなる表示素
子PLDが設けられており、この表示素子PLDは、プログラ
ムモードの指定時に点灯するようになっている。
スタート/ストップ操作子SPSは、例えば自己復帰型
スイッチからなるもので、操作のたびにスタートとスト
ップとを交互に指示可能である。
テンポ調整操作子TMNは、例えば回転式のつまみから
なるもので、所望のテンポを設定するためのものであ
る。操作子TMNの近傍には、一列状に配置された4個の
発光ダイオードからなるテンポ表示TLDが設けられてお
り、プログラムモード時及びプレイモード時に設定テン
ポに対応した速さで順次に点灯することによりテンポを
表示するようになっている。
CPU16は、ROM18にストアされたプログラムに従って各
種の処理を実行するもので、これら処理の詳細について
は第6図乃至第17図を参照して後述する。
ROM18は、各種処理用のプログラムの他に、ファクト
リーセットのリズムパターン等に関するデータも記憶し
ており、その記憶内容については第3図に参照して後述
する。
RAM20は、演奏者がプログラムしたリズムパターンに
関するデータを記憶するための記憶部を有するもので、
この他にも、CPU16による各種処理に際してワーキング
レジスタ等として利用される記憶部を含んでいる。RAM2
0の記憶内容については第5図を参照して後述する。
テンポタイマ22は、テンポデータTDに応じた周波数を有
するテンポクロック信号TCLを発生するもので、この信
号TCLの各クロックパルスは第13図のテンポクロック割
込処理を開始させるのに使用される。
ロールタイマ24は、ロール用クロック信号RCLを発生
するので、この信号RCLの各クロックパルスは第16図の
ロールタイマ割込処理を開始されるのに使用される。ロ
ールタイマ24のクロック発生周期は、一例として数10
(ms〕に設定されるが、これは演奏者の操作又は外部信
号に応じて任意に可変設定できるようにしてもよい。
トランケートタイマ26は、トランケート用クロック信
号KCLを発生するもので、この信号KCLの各クロックパル
スは第17図のトランケートタイマ割込処理を開始させる
のに使用される。トランケートタイマ26のクロック発生
周期は、一例として数10[ms]に設定される。
この実施例では、3つのタイマ22,24,26をそれぞれ独
立に設けたが、1つのタイマの出力を適宜分周して必要
とするクロック信号を得ることもできる。
鍵盤用TG28は、鍵盤12から検出された押鍵情報に基づ
いて押された鍵に対応する楽音信号KTSを発生するもの
である。
リズム用TG30は、パッド操作子PDSの操作及び/又は
選択されたリズムパターンに基づいてリズム音信号RTS
を発生するものであり、詳しくは第2図について後述す
る。
サウンドシステム32は、楽音信号KTS及びリズム音信
号RTSを音響に変換するためのものである。
リズム用TG30の構成(第2図) 第2図は、リズム用TG30の一構成例を示すもので、こ
の例にあっては、8つのリズム音源チャンネルを時分割
的に駆動することにより最大で8種類のリズム音を同時
発音可能である。
データバス10に接続されたレジスタ40,42,44,46のう
ち、40はチャンネルナンバ(CHナンバ)がストアされる
もの、42はリズム音種類を表わす楽器コードICODEがス
トアされるもの、44はエンベロープ波形データEVに関し
て示すようにエンベロープのアタックレベルに対応した
ボリューム値VLMがストアされるもの、46はリズム音の
発生開始を指示するキーオン情報KONがストアされるも
のである。これらのレジスタ40,42,44,46への情報転送
は、各リズム音種類毎に発音すべきタイミングで同時的
に行なわれる。
書込制御回路48は、ICODE記憶回路50に含まれている
8つの時分割チャンネルのうちレジスタ40からのCHナン
バに対応したチャンネルにレジスタ42からの楽器コード
ICODEを割当てるように書込制御を行なうもので、記憶
回路50は、割当てられた楽器コードを循環的に記憶し、
割当てに係るチャンネルのタイミングで送出するように
なっている。
書込制御回路52は、VLM記憶回路54に含まれている8
つの時分割チャンネルのうちレジスタ40からのCHナンバ
に対応したチャンネルにレジスタ44からのポリューム値
VTMを割当てるように書込制御を行なうもので、記憶回
路54は、割当てられたボリューム値を循環的に記憶し、
割当てに係るチャンネルのタイミングで送出するように
なっている。
書込制御回路56は、KON記憶回路58に含まれている8
つの時分割チャンネルのうちレジスタ40からのCHナンバ
に対応したチャンネルにレジスタ46からのキーオン情報
KONを割当てるように書込制御を行なうもので、記憶回
路58は、割当てられたキーオン情報を循環的に記憶し、
割当てに係るチャンネルのタイミングでキーオンパルス
KONPとして送出するようになっている。
アドレス発生器60は、8チャンネル分のアドレス情報
を時分割的に発生可能なもので、キーオンパルスKONPを
受取ると、KONPの割当チャンネルのタイミングでアドレ
ス情報を発生する。
リズム音波形メモリ62は、一例としてPCM(パルス符
号変調)録音方式により実際の打楽器から採取したリズ
ム音波形(立上り開始から減衰終了までのもの)を記憶
したもので、このようなリズム音波形としてはパッド操
作子PDSで指定可能な32種類のリズム音それぞれに対応
したものが記憶されている。
波形メモリ62からは、各チャンネル毎に割当てに係る
楽器コードに対応したリズム音波形がアドレス発生器60
からのアドレス情報に応じて読出される。例えば、第1
チャンネルにバスドラムが割当てられたものとすれば、
第1チャンネルのタイミングでバスドラム音波形が読出
される。
エンベロープ発生器64は、各チャンネル毎に割当てに
係る楽器コードに対応するリズム音のためのエンベロー
プ波形データEVをキーオンパルスKONPに応じて発生する
もので、エンベロープ波形データEVの示すエンベロープ
におけるアタックレベルは記憶回路54からのボリューム
値VLMに応じて決定される。
波形メモリ62からのリズム音波形データWD及びエンベ
ロープ発生器64からのエンベロープ波形データEVは乗算
器66に供給され、各チャンネル毎に乗算される。そし
て、乗算器66の乗算出力MO(ディジタル楽音信号)は、
すでに知られているようにアキュムレータ、D/A変換器
等を介してアナログ形式のリズム音信号RTSに変換され
てから、サウンドシステム32に供給される。
上記したリズム用TG30によれば、8チャンネル分のリ
ズム音信号を同時に発生可能であると共に、各チャンネ
ル毎に楽器コードICODEによりリズム音種類を指定する
ことで波形メモリ62の記憶波形に対応する種々のリズム
音信号を発生可能である。
ROM18の記憶内容(第3図) 第3図は、ROM18の記憶内容を示すもので、このROM18
には、(A)に示すようにリズムパターンメモリとして
使用される記憶部と、(B)に示すようにトランケート
値メモリとして使用される記憶部と、(C)に示すよう
にボリューム値メモリとして使用される記憶部と、その
他音色パラメータ、効果パラメータ等の記憶部(図示せ
ず)とが含まれている。
(A)のリズムパターンメモリにあっては、N種類の
リズム(リズム1〜リズムN)にそれぞれ対応するリズ
ムパターンを記憶した記憶ブロックRPMEM(1)〜RPMEM
(N)と、これらの記憶ブロックの記憶トラック数をそ
れぞれ記憶したトラック数記憶領域PTNNUM(1)〜PTNN
UM(N)とが設けられている。
リズム1に対応する記憶ブロックRPMEM(1)には、
各記憶ドラック毎に楽器コード記憶領域PICODEと、ロー
ル指定情報記憶領域PRLFLGと、タイミング情報記憶領域
とが設けられている。このような記憶トラック及び記憶
領域の配置は他のリズム2〜リズムNについても同様で
あるが、記憶トラックの数は各リズム毎にそれに必要な
数とされる。例えば、リズム1についてはトラック数が
16(PTNNUM(1)=16)であり、リズム2についてはト
ラック数が9(PTNNUM(2)=9)であり、リズムNに
ついてはトラック数が3(PTNNUM(N)=3)である。
各楽器コード記憶領域PICODEには、リズム音種類を表
わす楽器コードが記憶され、各ロール指定情報記憶領域
PRLFLGには、ロール指定の有り又は無しをそれぞれ表わ
すロール指定情報1又は0が記憶される。この場合、同
一のリズム音種類であってもロール指定の有るものと無
いものとでは別々のリズム音種類として扱われる。例え
ば、単なるスネアドラムとスネアドラムロールとでは別
々の記憶トラックが与えら、これらの記憶トラックにお
いてPICODEの楽器コードはスネアドラム用のもので同じ
であるが、PRLFLGのロール指定情報は単なるスネアドラ
ムでは0、スネアドラムコールでは1とされる。
各タイミング情報記憶領域には、テンポカウンタTPCT
Rのカウント値0〜63(発音可能タイミング)にそれぞ
れ対応した64個の記憶セルPTNが設けられており、発音
要のタイミングに対応する記憶セルには1が、発音不要
のタイミングに対応する記憶セルには0がそれぞれ記憶
される。テンポカウンタTPCTRは、後述するようにROM20
に属するもので、テンポクロック信号TCLを2小節毎に
反復的に計数するものである。従って、各タイミング情
報記憶領域の記憶情報は2小節分の発音制御パターンを
表わすものである。
第4図は、一例としてバスドラム、スネアドラム及び
スネアドラムロールに関する1小節分のタイミングデー
タを示したものであり、これに続く1小節についても図
示したものと同じタイミングデータが記憶される。
第4図において、1拍内には8つの発音可能タイミン
グ(例えばTPCTRの値にして0〜7)があり、バスドラ
ム、スネアドラム、スネアドラムロールのいずれについ
ても各発音可能タイミング毎に1(発音要)又は0(発
音不要)の情報が配置される。1又は0から右方向に延
長する矢印は同じ情報が続くことを表している。
第4図のタイミングデータによれば、バスドラムは1
拍目の頭と、3拍目の頭で発音開始されると共に、スネ
アドラムは2拍目の頭と、4拍目の頭で発音開始され
る。また、スネアドラムロールは1拍目の頭から2拍名
の終りまでの期間にわたってロール発音が指示され、こ
の期間に相当する期間中第16図のロールタイマ割込処理
によりロール音が発生される。
リズム1〜リズムNについては、予めリズムコード1
〜Nが定められており、RAM20内のリズムコードレジス
タRCODEには、選択されたリズム(例えばマーチ)に対
応するリズムコードがセットされる。また、RAM20内の
トラックナンバレジスタTRNには、後述するようにトラ
ックナンバがセットされる。従って、RCODE及びTRNを用
いることで特定のリズムに関する特定の記憶トラックを
読出指定することができる。
例えば、第3図(A)にリズム1について示すよう
に、RCODE=1、TRN=10とすれば、リズム1の記憶トラ
ック10を指定して記憶領域PICODE及びPRLFLGの情報を読
出すことができ、さらにTPCTRを用いれば記憶セルPTNを
規定して1発音可能タイミング分の発音制御情報(1又
は0)を読出可能である。
ところで、第3図(B)のトランケート値メモリにあ
っては、パッド操作子PDSで指定可能な32種類のリズム
音(楽器1〜楽器32)にそれぞれ対応してトランケート
値が記憶される。各トランケート値は、対応するリズム
音種類の発音期間(特に減衰時間)を考慮して決定さ
れ、この例では発音期間が長いほど大きな値となってい
る。第3図(B)において、「楽器1」はバスドラム、
「楽器2」はスネアドラム、「楽器32」はコンガーの例
である。この例では、トランケース値を、通常音とロー
ル音とで区別していないが、別々に記憶させるようにし
てもよい。
第3図(C)のボリューム値メモリにあっては、上記
したトランケート値メモリの場合と同様に楽器1〜楽器
32にそれぞれ対応してボリューム値VLMが記憶される。
この場合、各リズム音種類毎に通常音とロール音とで異
なるボリューム値が記憶され、ロール音のボリューム値
は通常音のそれに対して約半分の値とされる。これは、
例えば第4図に示したようにスネアドラムとスネアドラ
ムロールが同時に発音されるような場合に同一音量で発
音させると、スネアドラム音がスネアドラムロール音で
マスクされてひきたたなくなり、音楽的に好ましくない
からである。
RAM20の記憶内容(第5図) 第5図は、RAM20の記憶内容を示すもので、このRAM20
には、(A)に示すようにリズムパターンプログラムメ
モリとして使用される記憶部と、(B)に示すようにチ
ャンネル割当用メモリとして使用される記憶部と、
(C)に示すようにワーキングメモリとして使用される
記憶部と、その他パネル操作子、発音割当等に関する記
憶部(図示せず)とが含まれている。
(A)のリズムパターンプログラムメモリにあって
は、リズムコードMに対応するリズムパターンを記憶す
るための記憶ブロックRPMEM(M)と、この記憶ブロッ
クで使用された記憶トラックの数を記憶するためのトラ
ック数記憶領域PTNNUM(M)とが設けられている。
記憶ブロックRPMEM(M)には、16個の記憶トラック
が設けられており、各記憶トラック毎に楽器コード記憶
領域PICODEと、ロール指定情報記憶領域PRLFLGと、タイ
ミング情報記憶領域とが設けられている。これらの記憶
領域におけるデータフォーマットは、先に第3図(A)
のリズムパターンメモリに関して述べたのと同様であ
る。
プログラムモード時にあっては、32個のパッド操作子
PDSのうち任意のものを操作すると、まずトラック1の
記憶領域PICODEに、操作されたパッド操作子に対応する
リズム音種類を表わす楽器コードが書込まれる。このと
き、ロール指定操作子RLSを同時に操作したのであれば
トラック1の記憶領域PRLFLGには1が書込まれ、操作子
RLSを操作しなかったのであればPRLFLGには0が書込ま
れる。また、トラック1のタイミング情報記憶領域に
は、このときのTPCTRの値に対応する記憶セルPTNに1が
書込まれる。
次に、別のパッド操作子を操作すると、トラック1に
ついて上記したと同様にしてトラック2の記憶領域PICO
DE、PRLFLG及びタイミング情報記憶領域にそれぞれ楽器
コード、ロール指定情報及びタイミング情報が書込まれ
る。
次に、最初に操作したのと同じパッド操作子を操作す
ると、トラック1について上記したと同様にしてトラッ
ク1の記憶領域PICODE、PRLFLG及びタイミング情報記憶
領域にそれぞれ楽器コード、ロール指定情報及びタイミ
ング情報が書込まれる。
このようにして、割当て済みのものとは別の新たなパ
ッド操作子が操作されるたびに新たなトラックを割当て
るようにしてパターン書込みが行なわれ、例えば8種類
のリズム音でリズムパターンが完成したのであれば、ト
ラック1〜8にリズムパターン記憶されると共に、記憶
領域PTNNUM(M)の値は最終的に8となる。
プログラムモード時及びプレイモード時にあっては、
例えばトラック8について示すように、RCODE及びTRNを
用いて記憶領域PICODE及びPRLFLGを指定でき、さらにTP
CTRを用いることで記憶セルPTNを指定できる。
ところで、第5図(B)のチャンネル割当用メモリに
あっては、チャンネルCH1〜CH8にそれぞれ対応して8つ
の楽器コードレジスタICODE(1)〜ICODE(8)と、8
つのトランケートカウンタTCTR(1)〜TCTR(8)と、
8つのロールフラグRLFLG(1)〜RLFLG(8)と、8つ
のボリューム値レジスタVLM(1)〜VLM(8)とが設け
られている。
各楽器コードレジスタは、対応するチャンネルに関し
て楽器コードがストアされるものである。各トランケー
トカウンタは、対応するチャンネルに関して第3図
(B)のトランケート値メモリから読出されたトランケ
ート値がストアされるもので、ストアされたトランケー
ト値は第17図のトランケートタイマ割込処理により1ず
つ減算(ダウンカウント)される。各ロールフラグは、
対応するチャンネルに関してロール指定情報がストアさ
れるものである。各ボリューム値レジスタは、対応する
チャンネルに関して第3図(C)のボリューム値メモリ
から読出されたボリューム値VLMがストアされるもので
ある。
第5図(C)のワーキングメモリにあっては、次のよ
うなレジスタ類が設けられている。
(1)リズムコードレジスタRCODE…これは、操作され
たリズム選択操作子RSSに対応するリズムコード(1〜
N、Mのいずれか)がストアされるものである。
(2)パッドコードレジスタPDCODE…これは、操作され
たパッド操作子PDSに対応するリズム音種類を表わす楽
器コード(1〜32のいずれか)がストアされるものであ
る。
(3)テンポカウンタTPCTR…これは、テンポクロック
信号TCLを2小節毎に反復的に計数するもので、2小節
内で0〜63のカウント値をとり、64になるタイミングで
0にリセットされる。
(4)プログラムモードフラグPRGFLG…これは、1なら
ばプログラムモードを、0ならばプレイモードをそれぞ
れ表わすものである。
(5)スタートフラグSTART…これは、1ならばリズム
走行を、0ならばリズム停止をそれぞれ表わすものであ
る。
(6)ロール指定情報レジスタBLSW…これは、ロール指
定操作子RLSが操作中であれば、1が、操作中でなけれ
ば0がそれぞれセットされるものである。
(7)トラックナンバレジスタTRN…これは、トラック
ナンバ(1〜16のいずれか)がストアされるものであ
る。
(8)割当チャンネルナンバレジスタACH…これは、楽
器コードを割当てるべきチャンネルに対応するチャンネ
ルナンバがストアされるものである。
(9)チャンネルナンバレジスタCHN…これは、チャン
ネルナンバ(1〜8のいずれか)がストアされるもので
ある。
(10)テンポカウント値レジスタDTPCTR…これは、前回
のテンポクロック割込時におけるテンポカウント値(TP
CTRの値から1を差引いた値)がセットされるものであ
る。
リズム演奏関係のパネル操作(第1図) ここで、第6図以降の各種処理を説明するに先立っ
て、リズム演奏関係のパネル操作の概要を述べる。
リズムパターンをプログラムしたいときは、プログラ
ムモード指定操作子PMSを操作してプログラムモードを
選択する(表示素子PLD点灯)。そして、リズム選択操
作子RSSのうちリズムコードMに対応するものをオン操
作して、記憶ブロックRPMEM(M)への書込を可能とす
る。さらに、所望によりテンポ調整操作子TMNによりテ
ンポを設定する。この後、スタート/ストップ操作子SP
Sによりスタートを指令すると、設定テンポに従って表
示素子TLDが点灯するので、その表示テンポに合わせて
パッド操作子PDSのうちの1つを何回か操作して特定の
リズム音種類(例えばバスドラム)に関するタイミング
情報をリアルタイムで入力する。このとき、入力操作の
たびに入力に係るリズム音(マニアルリズム音)が発生
される。
このような入力が一通り終ったら、他のリズム音種類
(例えばスネアドラム)について同様にして入力操作を
行なう。このとき、先に入力されているタイミグ情報に
基づいてオートリズム音が発生されると共に入力中のマ
ニアルリズム音も発生される。以下同様にして必要数の
リズム音種類について入力操作を行なうことによりリズ
ムコードMに対応するリズムパターンを完成させること
ができ、入力を完了したら、スタート/ストップ操作子
SPSによりストップを指令する。
一方、所望のリズムパターンに基づいて自動リズム演
奏を行なわせたいときは、プログラムモード指定操作子
PMSによりプレイモードを選択する(表示素子PLD消
灯)。そして、リズム選択操作子RSSのうち所望のリズ
ムに対応するもの(リズムコード1〜N、Mのいずれ
か)をオン操作する。さらに、所望によりテンポ調整操
作子TMNによりテンポを設定した後、スタート/ストッ
プ操作子SPSによりスタートを指令する。すると、設定
テンポに従って表示素子TLDが点灯すると共に、選択さ
れたリズムパターンに従ってオートリズム音が発生され
る。
このようなオートリズム音の発生中には、それを伴奏
として鍵盤12でマニアル演奏を行なえる一方、所望によ
りパッド操作子PDSを操作することでマニアルリズム音
を発生させることもできる。
メインルーチン(第6図) 第6図は、メインルーチンの処理の流れを示すもの
で、このルーチンは電源投入等に応じてスタートする。
まず、ステップ70では、各種レジスタを初期セットす
る。例えば、START、PRGFLG、TPCTR等には0をセットす
る。
次に、ステップ72では、押鍵検出・発音割当処理を行
なう。これは、鍵盤12から押鍵情報を検出して鍵盤用TG
28の適宜のチャンネルに割当てることにより押された鍵
に対応する楽音信号KTSを発生させるもので、これによ
り押鍵操作に応じたマニアル演奏音発生が可能となる。
ステップ72の後は、ステップ74に移る。
ステップ74では、第7図について後述するようにリズ
ム選択のサブルーチンを実行する。そして、ステップ76
に移り、第8図について後述するようにモード選択のサ
ブルーチンを実行する。この後、ステップ78に移り、第
9図について後述するようにスタート/ストップのサブ
ルーチンを実行する。ステップ78の後は、ステップ80に
移る。
ステップ80では、テンポ制御処理を行なう。すなわ
ち、テンポ調整操作子TMNによる設定テンポに対応した
テンポデータTDをテンポタイマ22に送出することにより
テンポデータTDに応じてテンポクロック信号TCLの周波
数を設定する。そして、ステップ82に移る。
ステップ82では、第10図について後述するようにパッド
操作のサブルーチンを実行する。そして、ステップ84に
移る。
ステップ84では、その他のパネル操作子(例えば音
色、効果等に関するもの)の処理を行なう。この後は、
ステップ72に戻り、上記のような処理を繰返す。
リズム選択のサブルーチン(第7図) 第7図は、リズム選択のサブルルーチンを示すもので
ある。
リズム選択操作子RSSのいずれかにオンイベントが生
ずると、ステップ90において、操作されたリズム選択操
作子に対応するリズムコードをRCODEにセットする。そ
して、ステップ92に移る。
ステップ92では、操作されたリズム選択操作子に対応
する表示素子LDを点灯させ、他の表示素子LDを消灯させ
る。この後は、第6図のルーチンにリターンする。な
お、第7図以降に示される「RET」はリターンを意味す
る。
モード選択のサブルーチン(第8図) 第8図は、モード選択のサブルーチンを示すものであ
る。
プログラムモード指定操作子PMSにオンイベントが生
ずると、ステップ100において、PRGFLGの内容を反転さ
せる。すなわち、PRGFLGの値が0であったときは1に
し、1であったときは0にする。そして、ステップ102
に移る。
ステップ102では、PRGFLGの値が1か(プログラムモ
ードか)判定する。そして、この判定結果が肯定的
(Y)であればステップ104に移る。
ステップ104では、記憶ブロックRPMEM(M)の内容を
すべてクリアすると共に、記憶領域PTNNUM(M)もクリ
アする。そして、ステップ106に移り、第5図(B)の
チャンネル割当用メモリの内容をすべてクリアする。こ
の後、ステップ108では、RCODEにリズムコードMをセッ
トする。これらの処理は、新たなリズムパターンの書込
みを可能にするためのものである。ステップ108の後
は、ステップ110に移る。
ステップ110では、表示素子PLDを点灯し、プログラム
モードであることを表示させる。この後は、第6図のル
ーチンにリターンする。
ステップ102の判定結果が否定的(N)であったとき
は、プレイモードであり、ステップ112で表示素子PLDを
消灯してから第6図のルーチンにリターンする。
スタート/ストップのサブルーチン(第9図) 第9図はスタート/ストップのサブルーチンを示すも
のである。
スタート/ストップ操作子SPSにオンインベントが生
ずると、ステップ120において、STARTの内容を反転させ
る。すなわち、STARTの値が0であったときは1にし、
0であったときは1にする。そして、ステップ122に移
る。
ステップ122では、STARTの値が1か(スタートか)判
定する。そして、この判定結果が肯定的(Y)であれば
ステップ124に移り、TPCTRに0をセットする。これは、
リズムスタート時にリズムパターンを第1小節の頭から
読出すのを可能にするためである。
ステップ124の処理が終ったとき又はステップ122の判
定結果が否定的(N)であったとき(ストップであった
とき)は、第6図のルーチンにリターンする。
パッド操作のサブルーチン(第10図) 第10図は、パッド操作のサブルーチンを示すものであ
る。
パッド操作子PDSのいずれかにオンインベントが生ず
ると、ステップ130において、PRGFLGの値が1か(プロ
グラムモードか)判定する。この判定結果が否定的
(N)であれば、プレイモードであり、第6図のルーチ
ンにリターンする。また、ステップ130の判定結果が肯
定的(Y)であれば、プログラムモードであり、ステッ
プ132に移る。
ステップ132では、操作されたパッド操作子に対応す
るリズム音種類を表わす楽器コードをRDCODEにセットす
る。そして、ステップ134に移る。
ステップ134では、ロール指定操作子RLSがオン中か判
定し、この判定結果が肯定的(Y)であればステップ13
6でRLSWに1をセットし、否定的(N)であればステッ
プ138でRLSWに0をセットする。ステップ136又はステッ
プ138の後は、ステップ140に移る。
ステップ140では、TRNに0をセットする。そして、ス
テップ142に移り、TRNの値を1アップする。ステップ14
2の後は、ステップ144に移る。
ステップ144では、RCODEのリズムコードM及びTRNの
トラックナンバによって指定される記憶領域PICODE
(M、TRN)の楽器コードとRDCODEの楽器コードとが等
しく且つリズムコードM及びTRNのトラックナンバによ
って指定される記憶領域PRLFLG(M、TRN)のロール指
定情報とRLSWのロール指定情報とが等しいか(今回の操
作で指定されたリズム音種類がM及びTRN対応のトラッ
クに割当済みか)判定する。例えば、プログラムモード
を指定した後最初に所望のパッド操作子を操作したとき
は、PICODE(M、1)の値は0であるので、ステップ14
4の判定結果は否定的(N)となり、ステップ146に移
る。
ステップ146では、TRNの値がリズムコードMによって
指定される記憶領域PTNNUM(M)の値(現在までの使用
トラック数)より大か判定する。最初のパッド操作時に
あっては、PTNNUM(M)の値が第8図のステップ104で
0にされており且つTRN=1であるので、ステップ146の
判定結果が肯定的(Y)となり、ステップ148に移る。
ステップ148では、TRNの値が使用可能な最大トラック
数16より大か判定する。この判定結果が肯定的(Y)で
あれば書込不能であるので、第6図のルーチンにリター
ンする。
ステップ148の判定結果が否定的(N)であったとき
は、書込可能であるので、ステップ150に移る。
このステップ150では、PDCODEの楽器コードをPICODE
(M、TRN)に、RLSWのロール指定情報をPRLFG(M、TR
N)に、TRNのチャンネルナンバをPTNNUM(M)にそれぞ
れ書込む。そして、ステップ152に移る。
ステップ152では、リズムコードM、TRNのチャンネル
ナンバ及びTPCTRのカウント値によって指定される記憶
セルPTN(M、TRN、TPCTR)に1を書込む。なお、TPCTR
は、第13図について後述するようにプレイモード中のみ
ならずプログラムモード中も計数動作を行なうようにな
っている。
ところで、前述例のように最初のパッド操作子を操作
した後、2回目のパッド操作を行なったものとすると、
このとき操作されたパッド操作子が最初のものと同じで
あればステップ144の判定結果が肯定的(Y)となり、
ステップ152に移る。そして、ステップ152では、前回と
同じTRN=1のトラックに前回と同様にしてタイミング
情報が書込まれる。
この場合、最初のものと異なるパッド操作子が操作さ
れるか又は最初のものと同じパッド操作子及びロール指
定操作子が同時に操作されたものとすると、ステップ14
4の判定結果が否定的(N)となり、ステップ146に移
る。
ステップ146では、TRN=1、PTNNUM(M)=1である
ので、判定結果が否定的(N)となり、ステップ142に
戻る。そして、ステップ142でTRNを2にしてからステッ
プ144に移る。
ステップ144では、トラック2の記憶領域PICODE
(M、2)及びPRLFLG(M、2)の情報がいずれも0
(未割当)であるので、判定結果が否定的(N)とな
り、ステップ146に移る。
ステップ146では、TRN=2、PTNNUM(M)=1である
ので、判定結果が肯定的(Y)となり、ステップ148を
介してステップ150に移る。
ステップ150では、前回と異なるTRN=2のトラックに
前回と同様にして楽器コード及びロール指定情報が書込
まれると共にPTNNUM(M)に2が書込まれる。この後、
ステップ152では、TRN=2のトラックに前回と同様にし
てタイミング情報が書込まれる。
さらに別の例として、何回かのパッド操作によりPTNN
UM(M)が5である場合に新たなパッド操作に応じて第
10図のルーチンに入り、ステップ146にきたときは、TRN
=1、PTNNUM(M)=5であるので、ステップ146の判
定結果が否定的(N)となり、ステップ142に戻る。そ
して、ステップ142以下の処理を上記したと同様に行な
う。
このようにして、TRN=5まで調べても割当て済みの
トラックがなければ、ステップ142でTRNが6になった後
ステップ144の判定結果が否定的(N)となる。これ
は、トラック6に何の楽器コードも割当てられていない
(PICODE(M、6)=0である)からである。
この後、ステップ146では、TRN=6、PTNNUM(M)=
5であるので、判定結果が肯定的(Y)となり、ステッ
プ148を介してステップ150に移る。そして、ステップ15
0及びステップ152では、TRN=6に関する書込処理が上
記したと同様に行なわれる。
また、上記のようにTRN=2,3,4,5の順に順次に調べて
いく過程で、今回のパッド操作に係るリズム音種類がい
ずれかのトラックに割当て済みであることが判明すれ
ば、その時点でステップ144からステップ152に移り、こ
のときのTRNのトラックナンバに関してタイミング情報
の書込処理が行なわれる。例えば、TRN=4のトラック
が割当て済みのトラックと判明すれば、その時点でステ
ップ144からステップ152に移り、TRN=4に関してタイ
ミング情報の書込処理が行なわれる。この場合、さらに
TRN=5のトラックについては調べない。
上記したステップ132〜152の処理によれば、リズム音
種類が指定されるたびに、該リズム音種類がいずれのト
ラックに割当て済みか判定され、割当て済みのトラック
があればそのトラックに該リズム音種類に関連したタイ
ミング情報が書込まれる一方、割当て済みのトラックが
なければ未割当のトラックの1つに該リズム音種類が割
当てられると共に該リズム音種類に関連したタイミング
情報が書込まれる。そして、このような処理が繰返され
ることにより、第5図(A)のリズムパターンプログラ
ムメモリへの所望のリズムパターンの書込みが可能とな
る。
ステップ152の後は、ステップ154に移り、第11図につ
いて後述するように割当チャンネル(CH)検出のサブル
ーチンを実行する。このサブルーチンでは、楽器コード
を割当てるべきチャンネルが検出され、そのチャンネル
に対応するチャンネルナンバがACHにセットされる。そ
して、ステップ156に移る。
ステップ156では、ACHのチャンネルナンバに対応する
レジスタICODE(ACH)にPICODE(M、TRN)の楽器コー
ドをセットすると共に、ACHのチャンネルナンバに対応
するフラグRLFLG(ACH)にPRLFLG(M、TRN)のロール
指定情報をセットする。この結果、ステップ154で検出
したチャンネルには、指定されたリズム音種類が割当て
られたことになる。RLFLG(ACH)に1がセットされたと
きは、第16図のロールタイマ割込処理により自動的にロ
ール音発生が行なわれる。ステップ156の後は、ステッ
プ158に移る。
ステップ158では、第3図(B)のトランケート値メ
モリからICODE(ACH)の楽器コードに対応するトランケ
ート値を読出し、ACHのチャンネルナンバに対応するカ
ウンタTCTR(ACH)にセットする。このTCTR(ACH)のト
ランケート値は、第17図のトランケートタイマ割込処理
により以後1ずつ減算される。
次に、ステップ160では、第3図(C)のボリューム
値メモリからICODE(ACH)の楽器コードとRLFLG(ACH)
のロール指定情報とに対応するポリューム値VLMを読出
し、ACHのチャンネルナンバに対応するレジスタVLM(AC
H)にセットする。
この後、ステップ162では、リズム用TG30のレジスタ4
0,42,44,46に対して、ACHのチャンネルナンバ、ICODE
(ACH)の楽器コード、VLM(ACH)のボリューム値、キ
ーオン情報KONをそれぞれ送出する。このため、リズム
用TG30にあっては、ACHのチャンネルナンバに対応する
チャンネルからICODE(ACH)の楽器コードの示すリズム
音種類に対応したリズム音信号がVLM(ACH)のボリュー
ム値に対応したアタックレベルで発生される。ステップ
162の後は、第6図のルーチンにリターンする。
上記したステップ154〜162の処理によれば、リズム音
種類が指定されるたびに該リズム音種類を適宜のチャン
ネルに割当てることによって該リズム音種類に対応した
リズム音が発生され、プログラムモード時のマニアルリ
ズム演奏が可能となる。従って、演奏者は、自己の演奏
するマニアルリズム音を聴きながら所望のリズムパター
ンをプログラムすることができる。
割当チャンネル検出のサブルーチン(第11図) 第11図は、割当チャンネル検出のサブルーチンを示す
ものである。
ステップ170では、割当要求に係るリズム音種類がチ
ャンネル1(CH1)〜チャンネル8(CH8)のいずれかに
割当て済みか判定する。すなわち、RCODEのリズムコー
ド及びTRNのトラックナンバによって指定される記憶領
域PICODE(RCODE、TRN)の楽器コードとチャンネルナン
バX(1〜8のいずれか)に対応するレジスタICODE
(X)の楽器コードとが一致し且つRCODEのリズムコー
ド及びTRNのトラックナンバにより指定される記憶領域P
RLFLG(RCODE、TRN)のロール指定情報とチャンネルナ
ンバXに対応するフラグRLFLG(X)のロール指定情報
とが一致するようなチャンネルXがあるか判定する。そ
して、この判定の結果が否定的(N)であれば、ステッ
プ172に移り、肯定的(Y)であればステップ174に移
る。
ステップ172では、TCTR(1)〜TCTR(8)のうち値
が0のもの(発音が終了したもの)があればその値0の
ものに対応するチャンネルナンバ(CHナンバ)をACHに
入れる。また、値0のものがなければTCTR(1)〜TCTR
(8)のち値が最小のもの(減衰が最も進んだもの)に
対応するCHナンバをACHに入れる。
ステップ174では、すでに割当てられているチャンネ
ルのCHナンバXをACHに入れる。ステップ172又は174の
後は、元のルーチン(第10図又は第13図)にリターンす
る。
上記した第11図のルーチンによれば、8チャンネル全
部がふさがっている状態で割当て済みのものとは別の新
たなリズム音種類の割当要求があった場合、このリズム
音種類はTCTR(1)〜TCTR(8)のうちで値が最小のも
のに対応するチャンネルに割当てられることになり、該
リズム音種類は減衰が最も進んだリズム音種類に代って
発音されるようになる。
第11図のルーチンを第10図のルーチンにて使用する場
合は、RCODEのリズムコートがMであるため、ステップ1
70では、PICODE(M、TRN)の楽器コード及びPRLFLG
(M、TRN)のロール指定情報に基づいて判定が行なわ
れる。
プレイモード中のパッド発音処理(第12図) 第10図のルーチンでは、ステップ130でプレイモード
と判定されたとき何もしなかったが、プレイモード中に
パッド操作に基づくリズム音発生を可能としてもよく、
その一例を第12図に示す。
第10図のステップ130でプレイモードと判定されたと
きは、第12図のステップ180に移る。
ステップ180では、パッド操作子PDSのうち操作された
ものに対応するリズム音種類を表わすリズム音種類指定
情報としての楽器コードをPDCODEにセットする。そし
て、ステップ182に移る。
ステップ182では、RLSWを0をセットする。このよう
に、この例ではロール指定情報を強制的に0としている
ので自動的なロール発音は行なわれないが、第10図に関
して前述したようにロール指定操作子RLSの操作を検知
して自動的なロール発音を行なわせるようにしてもよ
い。
次に、ステップ184では、指定されたリズム音種類がC
H1〜CH8のいずれかに割当て済みか判定する。この判定
は、PICODE(RCODE、TRN)及びPRLFLG(RCODE、TRN)の
代りにPDCODE及びRLSWを用いる点を除き第11図のステッ
プ170と同様にして行なう。
ステップ184の判定結果が否定的(N)であったとき
はステップ186に移り、第11図のステップ172と同様にし
てTCTR(1)〜(8)の中で値が0のもの又は0がなけ
れば値が最小のものに対応するCHナンバをACHに入れ
る。
ステップ184の判定結果が肯定的(Y)であったとき
はステップ188に移り、すでに割当てられているチャン
ネルのCHナンバXをACHに入れる。
ステップ186又は188の後は、ステップ190に移り、ICO
DE(ACH)及びRLFLG(ACH)にそれぞれPDCODEの楽器コ
ード及びRLSWのロール指定情報(0)を書込む。そし
て、ステップ192に移る。
ステップ192では、第10図のステップ158と同様にして
トランケート値メモリからICODE(ACH)に対応するトラ
ンケート値を読出してTCTR(ACH)に入れる。そして、
ステップ194に移る。
ステップ194では、第10図のステップ160と同様にして
ボリューム値メモリからICODE(ACH)及びRLFLG(ACH)
に対応するボリューム値を読出してVLM(ACH)に入れ
る。そして、ステップ196に移る。
ステップ196では、第10図のステップ162と同様にして
ACH、ICODE(ACH)及びVLM(ACH)の内容と共にキーオ
ン情報KONをリズム用TG30に送出することによりACH対応
のチャンネルからICODE(ACH)対応のリズム音信号をVL
M(ACH)対応のアタックレベルで発生させる。この後
は、第6図のルーチンにリターンする。
テンポクロック割込処理(第13図) 第13図は、テンポクロック割込処理の流れを示すもの
で、この割込処理は、テンポクロック信号TCLの各クロ
ックパルス毎に開始される。
ステップ200では、STARTの値が1か(リズム走行か)
判定する。この判定結果が否定的(N)であればリズム
停止であるので第6図のルーチンにリターンする。
ステップ200の判定結果が肯定的(Y)であったとき
はステップ202に移り、TRNに1をセットする。このよう
に、ステップ202以下の処理は、START=1である限りプ
ログラムモード及びプレイモードのいずれの場合にも実
行されるものである。ステップ202の後は、ステップ204
に移る。
ステップ204では、RCODEのリズムコード(選択された
リズム)とTRNのトラックナンバとTPCTRのカウント値と
で指定される記憶セルPTN(RCODE、TRN、TPCTR)の情報
が1か(発音すべきタイミングか)判定する。この判定
結果が肯定的(Y)であればステップ206に移る。
ステップ206では、第11図について前述したように割
当チャンネル検出のサブルーチンを実行する。すなわ
ち、発音すべきリズム音種類を割当てるべきチャンネル
を検出し、そのチャンネルのCHナンバをACHに入れる。
そして、ステップ208に移る。
ステップ208では、RCODEのリズムコード及びTRNのト
ラックナンバで指定される記憶領域(PRLFLG(RCODE、T
RN)の情報が1か(ロール指定有りか)判定し、この判
定結果が肯定的(Y)であればステップ210に移る。
ステップ210では、TPCTRの値から1を差引いた値(前
回のテンポカウント値)をDTPCTRに入れる。この場合、
差引いた値が「−1」になったときは、DTPCTRに「63」
を入れる。ステップ210の後は、ステップ212に移る。
ステップ212では、前回のテンポカウント値に対応す
る記憶セルPTN(RCODE、TRN、DTPCTR)の情報が1か
(発音すべきタイミングであったか)判定する。この判
定結果が否定的(N)であれば、選択したリズムのタイ
ミングデータが第14図に示すように「0」から「1」に
変化したことになる。
ステップ212の処理が終ったとき又はステップ208の判
定結果が否定的(N)であったとき(ロール指定無しで
通常音であったとき)は、ステップ214に移る。このス
テップ214では、ICODE(ACH)及びRLFLG(ACH)にそれ
ぞれPICODE(RCODE、TRN)の楽器ナンバ及びPRLFLG(RC
ODE、TRN)のロール指定情報をセットする。ステップ21
2を介してステップ214にきたときは、RLFLG(ACH)に1
がセットされる。
次に、ステップ216では、第10図のステップ158と同様
にしてトランケート値メモリからICODE(ACH)に対応す
るトランケート値を読出してTCTR(ACH)に入れる。そ
して、ステップ218に移る。
ステップ218では、第10図のステップ160と同様にして
ボリューム値メモリからICODE(ACH)及びRLFLG(ACH)
に対応するボリューム値を読出してVLM(ACH)に入れ
る。そして、ステップ220に移る。
ステップ220では、第10図のステップ162と同様にして
ACH、ICODE(ACH)及びVLM(ACH)の内容と共にキーオ
ン情報KONをリズム用TG30に送出することによりACH対応
のチャンネルからICODE(ACH)対応のリズム音信号をVL
M(ACH)対応のアタックレベルで発生させる。
ステップ212を介してステップ220にきたときは、第14
図に示すようにタイミングデータが「0」から「1」に
変化したときのテンポクロック信号TCLのクロックパル
スに同期してキーオンパルスKONPが発生され、このパル
スKONPに応じてロール発音における最初の音が発生され
る。そして、これ以降は、テンポクロック信号TCLとは
独立に第16図のロールタイマ割込処理によりロール発音
における順次の音が発生される。これらの順次の音の発
生周期Tは、ロール用クロック信号RCLの発生周期に対
応するもので、一例として数10[ms]である。
ステップ220の処理が終ったとき又はステップ212の判
定結果が肯定的(Y)であったときは、ステップ232に
移る。ステップ212の判定結果が肯定的(Y)であった
ときにステップ232に移るのは、第14図に示すようにタ
イミングデータにおいて「1」が連続していてロール発
音が行なわれるので、ステップ214〜220の発音処理を行
なう必要がないからである。
ところで、ステップ204の判定結果が否定的(N)で
あったとき(発音すべきタイミングでなかったとき)
は、ステップ222に移る。このステップ222では、ステッ
プ208と同様にしてPRLFLG(RCODE、TRN)の情報が1か
判定する。この判定結果が否定的(N)であれば、以下
に述べるようなロール発音停止処理を行なう必要がない
ので、ステップ232に移る。
ステップ222の判定結果が肯定的(Y)であったとき
は、ステップ224に移り、ステップ210と同様にしてDTPC
TRに前回のテンボカウント値をセットする。そして、ス
テップ226に移る。
ステップ226では、ステップ212と同様にしてPTN(RCO
DE、TRN、DTPCTR)の値が1か判定する。この判定結果
が否定的(N)であれば、タイミングデータにおいて
「0」が連続したことになり、ステップ232に移る。
ステップ226の判定結果が肯定的(Y)であったとき
は、タイミングデータが第14図に示すように「1」から
「0」に変化したことになり、ステップ228に移る。
ステップ228では、第11図のステップ170と同様にして
ロール音の割当て済みチャンネルを検出し、そのCHナン
バをACHに入れる。そして、ステップ230に移る。
ステップ230では、RLFLG(ACH)に0をセットする。
この結果、ロール音発生は、第14図に示すようにタイミ
ングデータが「1」から「0」に変化したときのテンポ
クロック信号TCLのクロックパルスより後は停止され
る。ステップ230の後は、ステップ232に移る。
ステップ232では、TRNの値を1アップする。そして、
ステップ234に移り、TRNの値がRCODEのリズムコード
(選択されたリズム)に対応する記憶領域PTNNUM(RCOD
E)のトラック数より大か判定する。この判定結果が否
定的(N)であればステップ204に戻り、TRN>PTNNUM
(RCODE)となるまで上記したような処理を繰返す。例
えば、第3図(A)のリズムパターンメモリにおいて、
リズム1が選択された場合は、PTNNUM(1)=16である
ので、上記のような処理が16回行なわれる。
TRN>PTNNUM(RCODE)となると、ステップ234の判定
結果が肯定的(Y)となり、ステップ236に移る。この
ステップ236では、TPCTRの値に基づいてテンポ表示素子
TLDを駆動する。すなわち、TPCTRの値が0,8,16…48,56
のいずれに該当するかにより表示素子TLD1〜TLD4(第1
図のTLDにおいて最も左のものから最も右のものまで)
を第15図に示すように点灯制御する。この結果、設定テ
ンポに応じたテンポ表示が可能となる。ステップ236の
後は、ステップ238に移る。
ステップ238では、TPCTRの値を1アップする。そし
て、ステップ240に移り、TPCTRの値が64か(2小節終り
か)判定し、この判定結果が不定的(N)であれば第6
図のルーチンにリターンする。
ステップ240の判定結果が肯定的(Y)であったとき
は、ステップ242ではTPCTRに0をセットしてから、第6
図のルーチンにリターンする。従って、2小節分のリズ
ムパターンを反復的に使用して自動リズム演奏を続行す
ることができる。
ロールタイマ割込処理(第16図) 第16図は、ロールタイマ割込処理を示すもので、この
割込処理はロール用クロック信号RCLの各クロックパル
ス毎に開始される。
ステップ250では、STARTの値が1か判定し、この判定
結果が否定的(N)であれば第6図のルーチンにリター
ンする。
ステップ250の判定結果が肯定的(Y)であったとき
はステップ252に移り、CHNに1をセットする。このよう
に、ステップ252以下の処理は、START=1である限りプ
ログラムモード及びプレイモードのいずれの場合にも実
行されるものである。ステップ252の後は、ステップ254
に移る。
ステップ254では、CHNのチャンネルナンバに対応する
フラグRLFLG(CHN)の値が1か(ロール指定有りか)判
定する。この判定結果が肯定的(Y)であればステップ
256に移る。
ステップ256では、ロール指定有りのCHNのチャンネル
ナンバとのCHN対応のレジスタICODE(CHN)の楽器コー
ドとCHN対応のレジスタVLM(CHN)のボリューム値とキ
ーオン情報KONとを第10図のステップ162と同様にしてリ
ズム用TG30に送出することによりCHN対応のチャンネル
からICODE(CHN)対応のリズム音信号をVLM(CHN)対応
のアタックレベル(通常音の約半分のレベル)で発生さ
せる。
ステップ256の処理が終ったとき又はステップ254の判
定結果が否定的(N)であったときに(ロール指定無し
であったとき)はステップ258に移る。
ステップ258では、CHNの値を1アップする。そして、
ステップ260に移り、CHNの値がチャンネル数8より大か
判定する。この判定結果が否定的(N)であればステッ
プ254に戻り、CHN>8となるまで上記のような処理を繰
返す。このようにして各チャンネル毎にロール指定の有
無を調べ、ロール指定有りならばリズム音を発生させ
る。
CHN>8となると、ステップ260の判定結果が肯定的
(Y)となり、第6図のルーチンにリターンする。
上記したロールタイマ割込処理によれば、テンポクロ
ック信号TCLとは独立のロール用クロック信号RCLに応じ
てロール音が発生されるので、テンポを変更してもロー
ル音の発生時間間隔が変化せず、しかもロール音の発生
時間間隔をテンポに関係なく任意に可変設定できる。
トランケートタイマ割込処理(第17図) 第17図は、トランケートタイマ割込処理を示すもの
で、この割込処理は、トランケート用クロック信号KCL
の各クロックパルス毎に開始される。
ステップ270では、STARTの値が1か判定し、この判定
結果が不定的(N)であれば第6図のルーチンにリター
ンする。
ステップ270の判定結果が肯定的(Y)であったとき
はステップ272に移り、CHNに1をセットする。このよう
に、ステップ272以下の処理は、START=1である限りプ
ログラムモード及びプレイモードのいずれの場合にも実
行されるものである。ステップ272の後は、ステップ274
に移る。
ステップ274では、CHNのチャンネルナンバに対応する
カウンタTCTR(CHN)の値が0か(発音終了か)判定す
る。この判定結果が否定的(N)であればステップ276
に移り、TCTR(CHN)の値から1を差引いた値をTCTR(C
HN)にセットする。
ステップ276の処理が終ったとき又はステップ274の判
定結果が肯定的(Y)であったとき(発音終了であった
とき)はステップ278に移る。
ステップ278では、CHNの値を1アップする。そして、
ステップ280に移り、CHNの値がチャンネル数8より大か
判定する。この判定結果が否定的(N)であればステッ
プ254に戻り、CHN>8となるまで上記のような処理を繰
返す。このようにして各チャンネル毎にTCTR(CHN)=
0か調べ、0でなければTCTR(CHN)の値を1減らす。
CHN>8となると、ステップ280の判定結果が肯定的
(Y)となり、第6図のルーチンにリターンする。
トランケートの方法は、上記したものに限らず、例え
ば(イ)テンポクロック割込みのたびに1減らす(ただ
し、0になるまでの時間がテンポに依存する)、(ロ)
新たな発音割当てがあるたびに1減らす、(ハ)減衰時
間が長いものほど小さなトランケート値をセットしてお
き、割込みのたびに1を加え、加算結果が最大のチャン
ネルに新たなリズム音種類を割当てる、等の方法があ
る。
変形例 この発明は、上記実施例に限定されるものではなく、
種々の改変形態で実施可能なものである。例えば、次の
ような変更が可能である。
(1)ソフトウェアにより制御する例を示したが、専用
のハードウェアで処理するようにしてもよい。
(2)リズム用トーンジェネレータは、PCM波形メモリ
方式の例を示したが、音源方式はこれに限らず、FM音源
方式等も適宜使用可能である。また、複数チャンネル時
分割処理でなく、複数チャンネル並列の音源構成として
もよい。
(3)鍵盤付きの電子楽器の例を示したが、専用のリズ
ム演奏装置であってもよい。
(4)所定のテンポを表示しながら又は所定のテンポで
リズムを走らせながら所望のタイミングでパターンを書
込むリアルタイム入力の例を示したが、例えば実開昭60
−125699号公報等に示されるようにタイミング指定専用
の操作子でタイミングを指定してはパターンを書込むス
テップ入力の場合にもこの発明を適用できる。
(5)専用のパッド操作子で入力する例を示したが、プ
ログラムモード時は鍵盤の複数の鍵にそれぞれ複数種類
のリズム音を割当て、鍵を押すタイミングで入力する
(鍵盤の鍵を入力操作子とする)ようにしてもよい。ま
た、鍵盤の鍵に限らず、他の操作子を入力操作子として
流用することも可能である。
(6)パッド操作子で楽器指定とタイミング指定とを同
時に行なう例を示したが、各々の指定を別個の操作子で
行なうようにしてもよい。
(7)プログラムモード時に発音させる例を示したが、
発音を省略することもできる。また、リズムパターンを
プログラムした後、そのリズムパターンを自動リズム演
奏に用いるのが普通であるが、用途はこれに限らない。
(8)タイミングデータの記憶方式としては、前述した
ように発音可能タイミング(例えば2小節で64タイミン
グ)に対応して1又は0を書込むものに限らず、データ
を圧縮するためトラック毎にイベント種類とイベント間
の時間情報を記憶するイベント記憶方式等も適宜使用可
能である。
(9)プログラム済みのリズムパターンを部分的に消去
するなど適宜編集可能としてもよい。例えば、消去スイ
ッチを設け、このスイッチと所望のパッド操作子との同
時操作を検出したら該パッド操作子に対応する楽器の割
当トラックの情報をクリアするようにしてもよい。
(10)プログラム用の記憶部が1つである例を示した
が、これは複数設けてもよい。
[発明の効果] 以上のように、この発明によれば、リズム音種類の数
より少ない複数の記憶トラックを設けると共にリズム音
種類指定情報毎に複数の記憶トラックのうちの1つに該
リズム音種類指定情報が既に記憶されているか判定し、
判定結果が否定的であれば未記憶の記憶トラックの1つ
に判定に係るリズム音種類指定情報を書込み且つその書
込みに係る記憶トラックに発音タイミング対応のタイミ
ング情報を書込み、判定結果が肯定的であれば記憶済み
の記憶トラックに発音タイミング対応のタイミング情報
を書込むようにしたので、例えばリズム音種類が32種類
あってもリズム音種類の数を減らすことなく記憶トラッ
ク数を16に減らすことができ、少ない記憶容量(記憶ト
ラック数)で多種類のリズムについてリズムパターンプ
ログラムをなしうる効果が得られるものである。
【図面の簡単な説明】
第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……リズム用トー
ンジェネレータ。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−159189(JP,A) 特開 昭62−187895(JP,A) 実開 昭62−103093(JP,U)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】(a)プログラムすべきリズムパターンに
    関して複数nのリズム音種類のうち任意のものを選択す
    るための選択手段であって、選択されたリズム音種類を
    指定するリズム音種類指定情報を発生するものと、 (b)複数m(m<n)の記憶トラックを有する記憶手
    段であって、該複数mは、1つのリズムパターンをプロ
    グラムする際に使用されるリズム音種類の数を考慮して
    予め定められているものと、 (c)前記選択手段から発生されるリズム音種類指定情
    報毎に該リズム音種類指定情報の指定するリズム音種類
    の発音タイミングを指示する指示手段と、 (d)前記選択手段からリズム音種類指定情報が発生さ
    れるたびに該リズム音種類指定情報が前記複数mの記憶
    トラックのうちの1つに既に記憶されているか判定し、
    記憶されていれば肯定的出力を、記憶されていなければ
    否定的判定出力をそれぞれ送出するものと、 (e)前記判定手段から否定的判定出力が送出されたと
    きは前記判定手段での判定に係るリズム音種類指定情報
    を前記記憶手段における未記憶の記憶トラックの1つに
    書込むと共にその書込みに係る記憶トラックには該リズ
    ム音種類指定情報に関して前記指示手段で指示される発
    音タイミングに対応するタイミング情報を書込み、前記
    判定手段から肯定的判定出力が送出されたときは前記記
    憶手段において前記判定手段での判定に係るリズム音種
    類指定情報が既に記憶されている記憶トラックに該リズ
    ム音種類指定情報に関して前記指示手段で指示される発
    音タイミングに対応するタイミング情報を書込む書込手
    段と を備えたリズムパターンプログラム装置。
JP62332649A 1987-12-30 1987-12-30 リズムパターンプログラム装置 Expired - Fee Related JP2600741B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP62332649A JP2600741B2 (ja) 1987-12-30 1987-12-30 リズムパターンプログラム装置
US07/291,275 US4991486A (en) 1987-12-30 1988-12-28 Electronic musical instrument having a rhythm performance function
EP88121918A EP0322927B1 (en) 1987-12-30 1988-12-30 Electronic musical instrument having a rhythm performance function
KR1019880017876A KR920005713B1 (ko) 1987-12-30 1988-12-30 리듬 연주기능을 가지는 전자악기
DE3888655T DE3888655T2 (de) 1987-12-30 1988-12-30 Elektronisches Musikinstrument mit einer Rhytmusfunktion.
SG165894A SG165894G (en) 1987-12-30 1994-11-17 Electronic musical instrument having a rhythm performance function
HK33095A HK33095A (en) 1987-12-30 1995-03-09 Electronic musical instrument having a rhythm performance function
US09/493,518 USRE37459E1 (en) 1987-12-30 2000-01-27 Electronic musical instrument having a ryhthm performance function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62332649A JP2600741B2 (ja) 1987-12-30 1987-12-30 リズムパターンプログラム装置

Publications (2)

Publication Number Publication Date
JPH01176388A JPH01176388A (ja) 1989-07-12
JP2600741B2 true JP2600741B2 (ja) 1997-04-16

Family

ID=18257320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62332649A Expired - Fee Related JP2600741B2 (ja) 1987-12-30 1987-12-30 リズムパターンプログラム装置

Country Status (1)

Country Link
JP (1) JP2600741B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2555569B2 (ja) * 1986-02-14 1996-11-20 ヤマハ株式会社 電子楽器
JPH0723839Y2 (ja) * 1985-12-18 1995-05-31 カシオ計算機株式会社 自動リズム演奏装置
JPH0644192B2 (ja) * 1985-12-30 1994-06-08 ヤマハ株式会社 自動リズム演秦装置

Also Published As

Publication number Publication date
JPH01176388A (ja) 1989-07-12

Similar Documents

Publication Publication Date Title
EP0343958B1 (en) Electronic musical instrument system
JP2600741B2 (ja) リズムパターンプログラム装置
KR920005713B1 (ko) 리듬 연주기능을 가지는 전자악기
JP2668691B2 (ja) リズム演奏装置
JPH0644192B2 (ja) 自動リズム演秦装置
JP2586450B2 (ja) 波形記憶再生装置
JP3013796B2 (ja) リズム演奏装置
JP3013836B2 (ja) リズム楽音制御装置
JP3252847B2 (ja) リズム演奏装置
JP3104702B2 (ja) リズム演奏装置
JP3312939B2 (ja) 電子楽器
JPH0721718B2 (ja) 電子楽器
JP3104705B2 (ja) リズム楽音制御装置
JPH0646355B2 (ja) リズム演奏装置
JP3055550B2 (ja) リズム楽音制御装置
JPS59182496A (ja) 電子楽器
JP2531040B2 (ja) 電子楽器
JPH0822282A (ja) ギター自動伴奏装置
JP2630268B2 (ja) リズム音発生装置
JPS6316757B2 (ja)
JPH10198374A (ja) 自動アルペジオ演奏装置
JPH073639B2 (ja) オ−トリズム装置
JP3389609B2 (ja) 電子楽器
JP2972364B2 (ja) 音楽的情報処理装置及び音楽的情報処理方法
JPH04170596A (ja) 電子楽器

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees