JPH08160945A - Musical sound controller - Google Patents
Musical sound controllerInfo
- Publication number
- JPH08160945A JPH08160945A JP6329559A JP32955994A JPH08160945A JP H08160945 A JPH08160945 A JP H08160945A JP 6329559 A JP6329559 A JP 6329559A JP 32955994 A JP32955994 A JP 32955994A JP H08160945 A JPH08160945 A JP H08160945A
- Authority
- JP
- Japan
- Prior art keywords
- event
- byte
- data
- sound
- key
- 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.)
- Withdrawn
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、複数の演奏パートを有
する電子楽器に適用される楽音制御装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a musical tone control device applied to an electronic musical instrument having a plurality of performance parts.
【0002】[0002]
【従来の技術】近年、電子オルガン、電子ピアノ、シン
グルキーボード等といった電子楽器が開発され、広く普
及されている。かかる電子楽器のうち、例えば電子オル
ガンは、一般に、複数の演奏パート、例えば上鍵盤、下
鍵盤、足鍵盤、MIDIチャンネル等といった演奏パー
トを有している。2. Description of the Related Art In recent years, electronic musical instruments such as electronic organs, electronic pianos, and single keyboards have been developed and widely spread. Among such electronic musical instruments, for example, an electronic organ generally has a plurality of performance parts such as an upper keyboard, a lower keyboard, a foot keyboard, and MIDI channels.
【0003】一方、上記各演奏パートに対応する発音
は、演奏者の音色選択操作に応じて、例えばオーケスト
ラセクション、ブラスセクション、シンセサイザセクシ
ョン、鍵盤楽器セクション等といった発音パートで発音
される。On the other hand, the pronunciations corresponding to the above-mentioned performance parts are pronounced in sounding parts such as an orchestra section, a brass section, a synthesizer section, a keyboard instrument section, etc., according to the tone color selection operation of the performer.
【0004】ところで、従来の電子楽器においては、各
発音パートに対して演奏パートが割り当てられていた。
例えば、発音パート0は上鍵盤、発音パート1は下鍵
盤、発音パート2は足鍵盤、・・・といった具合であ
る。かかる各発音パートに対する演奏パートの割り当て
状態は、例えば内部の記憶手段に記憶されている。By the way, in the conventional electronic musical instrument, a performance part is assigned to each sounding part.
For example, sounding part 0 is the upper keyboard, sounding part 1 is the lower keyboard, sounding part 2 is the foot keyboard, and so on. The assignment state of the performance part to each sounding part is stored in, for example, an internal storage means.
【0005】従って、特定の演奏パートにおいて発音が
指示された場合、例えば上鍵盤が押鍵された場合に、次
のような処理が行われていた。即ち、当該上鍵盤に対し
て所定の発音パート、例えばオーケストラセクションが
割り当てられているかどうかが上記記憶手段を参照する
ことにより調べられる。そして、割り当てられているこ
とが判断されるとオーケストラの音色で発音し、一方、
割り当てられていないことが判断されると次の発音パー
ト、例えばブラスセクションが割り当てられているかど
うかが調べられる。以下同様にして、順次当該上鍵盤に
割り当てられている発音パートが調べられ、割り当てら
れている発音パートの音色で発音される。Therefore, the following processing has been performed when a sound is instructed in a specific performance part, for example, when the upper keyboard is pressed. That is, whether or not a predetermined sounding part, such as an orchestra section, is assigned to the upper keyboard can be checked by referring to the storage means. When it is determined that it is assigned, it will sound with the tone of the orchestra, while
When it is determined that the next pronunciation part, for example, the brass section is assigned, it is checked whether or not the next pronunciation part is assigned. In the same manner, the sounding parts assigned to the upper keyboard are sequentially examined, and the tones of the assigned sounding parts are pronounced.
【0006】このように、従来の電子楽器では、各発音
パートが各演奏情報のうち、当該発音パートで発音すべ
きものを検索して発音するようになっていた。このこと
は、端的に言えば、電子楽器を操作することにより発生
される演奏情報は発音パートに支配されていると言え
る。As described above, in the conventional electronic musical instrument, each sounding part is searched for and pronounced in the performance information for the sounding part. In short, it can be said that the performance information generated by operating the electronic musical instrument is dominated by the sounding part.
【0007】[0007]
【発明が解決しようとする課題】従来の電子楽器は、上
述したように、電子楽器の操作に応じて演奏情報が発生
された場合に、発音パート毎に演奏情報の取捨選択を行
ってから発音処理を行うため、非常に効率が悪かった。As described above, in the conventional electronic musical instrument, when the musical performance information is generated in response to the operation of the electronic musical instrument, the musical performance information is selected after the musical performance parts are selected. It was very inefficient because it processed.
【0008】本発明は、かかる事情に鑑みてなされたも
ので、所定の演奏パートで発音が指示された場合に迅速
且つ効率良く所定の発音パートに発音を割り当てて発音
を開始させることのできる楽音制御装置を提供すること
を目的とする。The present invention has been made in view of the above circumstances, and when a sound is instructed in a predetermined performance part, the sound can be promptly and efficiently assigned to the predetermined sound part to start the sound generation. An object is to provide a control device.
【0009】[0009]
【課題を解決するための手段】上記目的を達成するため
に、本発明の楽音制御装置は、複数の演奏パートを有
し、各々独立に発音パートを駆動することにより発音を
行う電子楽器において、前記複数の演奏パートのそれぞ
れに前記発音パートを関連付けて記憶した記憶手段と、
前記演奏パートから得られた演奏情報を、該記憶手段に
記憶された関連付けに応じて前記発音パートに転送する
転送手段と、該転送手段により転送されてきた演奏情報
に基づいて楽音の発生制御を行う楽音制御手段、とを備
えたことを特徴とする。In order to achieve the above object, a musical tone control apparatus of the present invention has a plurality of performance parts, and an electronic musical instrument which produces a sound by independently driving each of the sound producing parts, Storage means for storing the pronunciation part in association with each of the plurality of performance parts;
Transferring means for transferring the performance information obtained from the performance part to the sounding part according to the association stored in the storage means, and controlling the generation of musical tones based on the performance information transferred by the transferring means. And a musical tone control means for performing the musical tone control.
【0010】[0010]
【作用】本発明においては、複数の演奏パートを有する
と共に複数の発音パートを有し、各発音パートは独立に
動作する電子楽器において、各演奏パートのそれぞれに
対し、どの発音パートを使用するかという関連付けを予
め定めて記憶手段に記憶しておき、所定の演奏パートか
ら演奏情報が送られてきた場合に、上記記憶手段を参照
し、当該演奏パートに対して定められている発音パート
を用いて発音するようにしている。According to the present invention, in an electronic musical instrument which has a plurality of performance parts and a plurality of sound production parts, and each sound production part operates independently, which sound production part is to be used for each performance part. Is stored in the storage means in advance, and when the performance information is sent from a predetermined performance part, the storage part is referred to and the pronunciation part defined for the performance part is used. I try to pronounce it.
【0011】従って、従来のように演奏情報を受け取っ
てから、その演奏情報に対して割り当てられている発音
パートを検索する必要がなく、記憶手段の記憶内容を参
照して直ちに予め定められた発音パートで楽音の発生制
御を行うことができるので、迅速且つ効率的に発音を開
始させることができる。換言すれば、この発明によれ
ば、複数の発音パートを1つの演奏パートで制御でき
る。Therefore, it is not necessary to search for the pronunciation part assigned to the performance information after receiving the performance information as in the conventional case, and the predetermined pronunciation is immediately referred to by referring to the stored contents of the storage means. Since it is possible to control the generation of musical tones in parts, it is possible to start sound generation quickly and efficiently. In other words, according to the present invention, a plurality of sounding parts can be controlled by one performance part.
【0012】[0012]
【実施例】以下、本発明の楽音制御装置の実施例につき
図面を参照しながら詳細に説明する。なお、本発明の楽
音制御装置は電子楽器の機能の一部として実現されるも
のであるので、以下においては、本発明の楽音制御装置
が適用された電子楽器について、楽音制御装置としての
構成及び動作を中心に説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT An embodiment of a musical tone control apparatus of the present invention will be described in detail below with reference to the drawings. Since the musical tone control device of the present invention is realized as a part of the functions of the electronic musical instrument, in the following, an electronic musical instrument to which the musical tone control device of the present invention is applied is configured as a musical tone control device. The operation will be mainly described.
【0013】図1は、本発明に係る楽音制御装置が適用
された電子楽器の構成を示すブロック図である。同図に
おいて、中央処理装置(CPU)10、リードオンリメ
モリ(ROM)11、ランダムアクセスメモリ(RA
M)12、4つの演奏パート部13〜16及び音源(S
PU)17は、アドレスバス21、データバス22及び
図示しないコントロールバス(以下、これらを総称して
「システムバス」と呼ぶこともある。)によって相互に
接続されている。FIG. 1 is a block diagram showing the configuration of an electronic musical instrument to which the musical tone control apparatus according to the present invention is applied. In the figure, a central processing unit (CPU) 10, a read only memory (ROM) 11, a random access memory (RA)
M) 12, four performance parts 13 to 16 and a sound source (S
The PUs 17 are connected to each other by an address bus 21, a data bus 22 and a control bus (not shown) (hereinafter, these may be collectively referred to as “system bus”).
【0014】アドレスバス21は、複数のアドレス信号
を送受するためのバスラインである。データバス22
は、複数のデータ信号を送受するためのバスラインであ
る。このアドレスバス21及びデータバス22は、アク
セス元となるCPU10と音源17とにより時分割で交
互に使用される。即ち、アクセス元であるCPU10又
は音源17は、アドレスバス21にアドレスを出力する
ことによりアクセス先を特定し、この特定されたアクセ
ス先とアクセス元(CPU10又は音源17)との間で
データバス22を用いてデータを送受する。The address bus 21 is a bus line for transmitting and receiving a plurality of address signals. Data bus 22
Is a bus line for transmitting and receiving a plurality of data signals. The address bus 21 and the data bus 22 are alternately used in a time division manner by the CPU 10 and the sound source 17 which are access sources. That is, the CPU 10 or the sound source 17, which is the access source, specifies the access destination by outputting the address to the address bus 21, and the data bus 22 is connected between the specified access destination and the access source (the CPU 10 or the sound source 17). Send and receive data using.
【0015】なお、図示しないコントロールバスは、制
御信号を送受するバスラインである。このコントロール
バスで送受される制御信号には、例えばリード信号、ラ
イト信号、チップセレクト信号等が含まれ、アクセス元
とアクセス先の動作状態を決定する。The control bus (not shown) is a bus line for transmitting and receiving control signals. The control signal transmitted / received through the control bus includes, for example, a read signal, a write signal, a chip select signal, etc., and determines the operation state of the access source and the access destination.
【0016】CPU10は転送手段及び楽音制御手段の
一部に対応するものであり、ROM11に格納されてい
る制御プログラムに従って、電子楽器の全体を制御す
る。このCPU10には、一定間隔で割り込みを発生す
るタイマ(図示しない)が内臓されている。このタイマ
による割り込みは、後述するように、演奏パート部13
〜16を走査するタイミングとして使用される。The CPU 10 corresponds to a part of the transfer means and the musical tone control means, and controls the entire electronic musical instrument in accordance with a control program stored in the ROM 11. The CPU 10 has a built-in timer (not shown) that generates an interrupt at regular intervals. This timer interrupt is performed by the performance part unit 13 as described later.
It is used as the timing for scanning ~ 16.
【0017】ROM11には、上述したように、CPU
10を動作させるための制御プログラムが記憶されてい
る。また、ROM11には、CPU10が各種処理に使
用する種々の固定データ、複数種類の音色に対応した音
色パラメータ(波形データ、周波数データ、エンベロー
プデータ、フィルタ係数等で構成されている。)、音源
17が楽音信号を生成するために使用する波形データ等
が記憶されている。波形データは、例えばパルスコード
変調(PCM)されたデータである。As described above, the ROM 11 includes the CPU
A control program for operating 10 is stored. Further, the ROM 11 includes various fixed data used by the CPU 10 for various processes, timbre parameters (composed of waveform data, frequency data, envelope data, filter coefficients, etc.) corresponding to a plurality of timbres, a sound source 17. The waveform data and the like used to generate the tone signal are stored. The waveform data is, for example, pulse code modulated (PCM) data.
【0018】このROM11の記憶内容は、システムバ
スを介してCPU10又は音源17によりアクセスされ
る。即ち、CPU10は、システムバスを介してROM
11から制御プログラム(命令)を読み出して解釈・実
行すると共に、所定の固定データを読み出して各種演算
処理に使用する。また、音源17は、システムバスを用
いてROM11から波形データを読み出してデジタル楽
音信号を生成する。The contents stored in the ROM 11 are accessed by the CPU 10 or the sound source 17 via the system bus. That is, the CPU 10 is a ROM via the system bus.
A control program (command) is read from 11 for interpretation / execution, and predetermined fixed data is read for use in various arithmetic processes. Further, the sound source 17 uses the system bus to read the waveform data from the ROM 11 and generate a digital musical tone signal.
【0019】RAM12は記憶手段に対応するものであ
り、制御プログラムの実行に必要な種々のデータを一時
的に記憶するために使用される。このRAM12には、
各種レジスタ、カウンタ、フラグ、バッファ等が定義さ
れている。特に、本実施例で使用する領域として、イベ
ントキュー、変換テーブル、ワークエリア等が設けられ
ている。このRAM12も、システムバスを介してCP
U10又は音源17によりアクセスされる。The RAM 12 corresponds to a storage means and is used for temporarily storing various data necessary for executing the control program. In this RAM 12,
Various registers, counters, flags, buffers, etc. are defined. In particular, an event queue, a conversion table, a work area, etc. are provided as areas used in this embodiment. This RAM 12 is also a CP via the system bus.
It is accessed by U10 or sound source 17.
【0020】4つの演奏パート部13〜16は、それぞ
れ、キーボード部(KBD)13a〜16aとパネル部
(PNL)13b〜16bで構成されている。なお、本
実施例では、演奏パート部が4つ備えられている場合に
ついて説明したが、演奏パート部の数は「4つ」に限定
されず、任意の数であって良い。The four performance part sections 13 to 16 are composed of keyboard sections (KBD) 13a to 16a and panel sections (PNL) 13b to 16b, respectively. In the present embodiment, the case where four performance part parts are provided has been described, but the number of performance part parts is not limited to "four" and may be any number.
【0021】各演奏パート部13〜16の各キーボード
部13a〜16aに対しては、例えば、それぞれ上鍵盤
装置、下鍵盤装置、足鍵盤装置、MIDIチャンネル等
の各装置を割り当てることができる。なお、各キーボー
ド部13a〜16aと各装置との対応は任意に決定する
ことができる。To the keyboard parts 13a to 16a of the performance part parts 13 to 16, for example, respective devices such as an upper keyboard device, a lower keyboard device, a foot keyboard device and a MIDI channel can be assigned. The correspondence between each keyboard unit 13a to 16a and each device can be arbitrarily determined.
【0022】各キーボード部13a〜16aは、演奏者
が楽音の音高、音長、強弱等を指示するための複数の
鍵、及び各鍵の押下又は離反に応じて異なる押圧深さで
開閉する2個のキースイッチ(第1のキースイッチ及び
第2のキースイッチ)、これらのキースイッチの開閉状
態を検出するキースキャン回路等により構成されてい
る。このキーボード部13a〜16aの各キースイッチ
のオン/オフは上記キースキャン回路で検出され、鍵番
号、打鍵又は離鍵の強さを示すデータが生成される。こ
れらは、「押鍵」又は「離鍵」のイベントデータとして
CPU10に送られる(図9参照)。Each of the keyboard portions 13a to 16a is opened and closed with a plurality of keys for the player to instruct the pitch, tone length, strength, etc. of a musical tone, and different pressing depths depending on the pressing or releasing of each key. It is composed of two key switches (first key switch and second key switch), a key scan circuit for detecting the open / closed state of these key switches, and the like. The on / off state of each key switch of the keyboard portions 13a to 16a is detected by the key scan circuit, and data indicating the key number and the strength of key depression or key release is generated. These are sent to the CPU 10 as event data of "key depression" or "key release" (see FIG. 9).
【0023】各演奏パート部13〜16の各パネル部1
3b〜16bは、電子楽器の図示しない操作パネルに設
けられている。各パネル部13b〜16bは、それぞれ
複数の操作子、LED表示器等を有しており、パネルデ
ータを発生する。各パネル部13b〜16bは、例えば
図2に示されるように、発音パート選択部100、音色
指定部101及び個別音量部102で構成されている。
なお、図2は1つの演奏パートに対応するパネル部を示
している。Each panel section 1 of each performance part section 13-16
3b to 16b are provided on an operation panel (not shown) of the electronic musical instrument. Each of the panel sections 13b to 16b has a plurality of operators, an LED display, etc., and generates panel data. For example, as shown in FIG. 2, each of the panel sections 13b to 16b includes a sounding part selecting section 100, a tone color designating section 101, and an individual volume section 102.
Note that FIG. 2 shows a panel section corresponding to one performance part.
【0024】図2において、発音パート選択部100
は、当該演奏パートで使用する発音パートを選択するた
めに使用される。発音パート選択部100は、例えば8
つの発音パート(パート0〜7)に対応した8個のLE
D付きの押釦スイッチで構成されている。演奏者は、所
望の押釦スイッチを押下することにより当該演奏パート
で使用する発音パートを選択し、又は選択を解除する。
押釦スイッチは、押下の度に選択又は選択解除が交互に
繰り返される。なお、本実施例では8つの発音パートを
有する場合について説明するが、発音パートの数は任意
であり、発音パート選択部100に設けられる押釦スイ
ッチの数は発音パートの数に依存して決定される。この
発音パート選択部100の操作に伴うパネルデータは、
「発音パート指定」のイベントデータとしてCPU10
に送られる(図9参照)。In FIG. 2, the pronunciation part selection section 100 is shown.
Is used to select a pronunciation part to be used in the performance part. The pronunciation part selection unit 100 is, for example, 8
8 LEs corresponding to one pronunciation part (parts 0-7)
It is composed of a push button switch with D. The performer selects a sounding part to be used in the performance part or deselects it by pressing a desired push button switch.
Each time the push button switch is pressed, selection or deselection is alternately repeated. In this embodiment, the case of having eight sounding parts will be described, but the number of sounding parts is arbitrary, and the number of push button switches provided in the sounding part selecting section 100 is determined depending on the number of sounding parts. It The panel data that accompanies the operation of the pronunciation part selection unit 100 is
CPU 10 as event data for "pronunciation part designation"
(See FIG. 9).
【0025】音色指定部101は、当該演奏パートで選
択した発音パートで使用する音色を選択するために使用
される。音色指定部101は、例えば4つの音色に対応
した4個のLED付きの押釦スイッチで構成されてい
る。演奏者は、所望の押釦スイッチを押下することによ
り当該演奏パートで使用する音色を指定する。なお、本
実施例では4つの音色を有する場合について説明する
が、音色の数は任意であり、音色指定部101に設けら
れる押釦スイッチの数は指定可能な音色の数に依存して
決定される。この音色指定部101の操作に伴うパネル
データは、「音色指定」のイベントデータとしてCPU
10に送られる(図9参照)。The tone color designation section 101 is used to select a tone color to be used in the sounding part selected in the performance part. The tone color designating section 101 is composed of, for example, four push button switches with LEDs corresponding to four tone colors. The player designates a tone color to be used in the performance part by pressing a desired push button switch. In this embodiment, the case of having four timbres will be described, but the number of timbres is arbitrary, and the number of push button switches provided in the timbre designating unit 101 is determined depending on the number of timbres that can be designated. . The panel data that accompanies the operation of the tone color designation unit 101 is the event data of “tone color designation” and is stored in the CPU.
10 (see FIG. 9).
【0026】個別音量部102は、当該演奏パートの音
量を設定するために使用される。個別音量部102は、
例えばスライド式のボリュームで構成されている。演奏
者は、ボリュームのつまみを操作して所望の位置に設定
することにより、当該パートの音量を設定する。なお、
本実施例では、個別音量としてスライド式のボリューム
を用いているが、回転式ボリューム、デジタル式ボリュ
ーム等種々のボリュームを使用することができる。この
個別音量部102の操作に伴って設定された音量値は、
「個別音量」のイベントデータとしてCPU10に送ら
れる(図9参照)。The individual volume section 102 is used to set the volume of the performance part. The individual volume section 102 is
For example, it is composed of a slide type volume. The performer sets the volume of the part by operating the knob of the volume to set it at a desired position. In addition,
In this embodiment, a slide type volume is used as the individual volume, but various types of volume such as a rotary volume and a digital volume can be used. The volume value set by operating the individual volume section 102 is
It is sent to the CPU 10 as "individual volume" event data (see FIG. 9).
【0027】なお、本実施例では、各演奏パート部13
〜16の各パネル部13b〜16bとして、発音パート
選択部100、音色指定部101及び個別音量部102
を有している構成について説明したが、必要に応じて上
記以外の操作子及び表示器、例えば種々のエフェクトを
与えるための操作子と表示器等を設けることもできる。In this embodiment, each performance part 13
To 16 as the respective panel sections 13b to 16b, a sounding part selecting section 100, a tone color designating section 101, and an individual volume section 102.
Although the configuration having the above has been described, an operator and a display other than the above, for example, an operator and a display for giving various effects can be provided if necessary.
【0028】また、本電子楽器の操作パネル(図示しな
い)には、上記各演奏パートに対応したパネル部13b
〜16bの他に、全演奏パートに共通の制御を行うため
のスイッチ及び表示器が設けられている。例えば、全体
の音量を制御するためのメインボリューム(図示しな
い)が設けられている。このメインボリュームは、各パ
ネル部13b〜16bの個別音量部102の音量バラン
スを保ったまま、全体的に音量を増加又は減少させるた
めに使用される。このメインボリュームの操作に伴って
設定された音量値は、「総音量」のイベントデータとし
てCPU10に送られる(図9参照)。The operation panel (not shown) of the electronic musical instrument has a panel portion 13b corresponding to each of the performance parts.
In addition to 16b, switches and indicators for performing common control for all performance parts are provided. For example, a main volume (not shown) for controlling the overall volume is provided. The main volume is used to increase or decrease the volume as a whole while maintaining the volume balance of the individual volume sections 102 of the respective panel sections 13b to 16b. The volume value set in accordance with the operation of the main volume is sent to the CPU 10 as "total volume" event data (see FIG. 9).
【0029】更に、図示しない操作パネルには、各演奏
パートに共通の制御を行うための種々の操作子、例えば
リズム選択スイッチ、各種エフェクトスイッチ等が設け
られているが、本発明とは直接には関係しないので説明
は省略する。Further, the operation panel (not shown) is provided with various operators such as a rhythm selection switch and various effect switches for performing common control for each performance part, which is not directly related to the present invention. Since it is not related, the description is omitted.
【0030】図示しない操作パネルは、各パネル部13
b〜16bに設けられた操作子、又は各パネル部13b
〜16b以外に設けられた操作子の設定状態を検出する
ためのパネルスキャン回路を有している。操作パネル上
の各スイッチのオン/オフ状態やボリュームの設定状態
は、このパネルスキャン回路で検出され、パネルデータ
としてCPU10に送られる。また、LED表示器の表
示内容は、CPU10から送られてくるデータに従う。The operation panel (not shown) is a panel section 13
b to 16b provided on the operator or each panel portion 13b
It has a panel scan circuit for detecting the setting state of the operators provided in other than 16b. The on / off state of each switch on the operation panel and the setting state of the volume are detected by this panel scan circuit and sent to the CPU 10 as panel data. Further, the display content of the LED display unit follows the data sent from the CPU 10.
【0031】音源17、D/A変換器18、増幅器19
及びスピーカ20は、本発明の楽音制御手段の一部を構
成するものである。音源17は、CPU10から送られ
てくる音色パラメータに従って、デジタル楽音信号を生
成する。この音源17で生成されたデジタル楽音信号
は、D/A変換器(DAC)18に送られる。Sound source 17, D / A converter 18, amplifier 19
The speaker 20 and the speaker 20 constitute a part of the musical sound control means of the present invention. The sound source 17 produces a digital musical tone signal in accordance with the tone color parameter sent from the CPU 10. The digital musical tone signal generated by the sound source 17 is sent to the D / A converter (DAC) 18.
【0032】D/A変換器18は、入力されたデジタル
楽音信号をアナログ楽音信号に変換する。D/A変換器
18から出力されたアナログ楽音信号は、増幅器19に
送られる。増幅器19は、入力されたアナログ楽音信号
を所定の増幅率で増幅して出力するものである。この増
幅器19から出力されたアナログ楽音信号は、スピーカ
20に送られる。スピーカ20は、電気信号としてのア
ナログ楽音信号を音響信号に変換するものである。この
スピーカ20により、キーボード部13a〜16a又は
パネル部13b〜16bの操作に応じた楽音が放音され
る。The D / A converter 18 converts the input digital musical tone signal into an analog musical tone signal. The analog tone signal output from the D / A converter 18 is sent to the amplifier 19. The amplifier 19 amplifies the input analog musical tone signal with a predetermined amplification factor and outputs it. The analog tone signal output from the amplifier 19 is sent to the speaker 20. The speaker 20 converts an analog musical tone signal as an electric signal into an acoustic signal. The speaker 20 emits a musical sound corresponding to the operation of the keyboard portion 13a to 16a or the panel portion 13b to 16b.
【0033】次に、本実施例で使用されるイベントキュ
ーの構成について図3を参照しながら説明する。イベン
トキューはFIFO(ファーストイン−ファーストアウ
ト)メモリで構成される。このイベントキューはRAM
12に形成され、CPU10によって制御される。イベ
ントキューは、それぞれRAM12に定義されたイベン
トカウンタ(EVE_CTR)、イベントポインタ(E
VE_PTR)及び記憶エリアとで構成されている。記
憶エリアは、例えば256個(0H〜FFH(末桁の
「H」は16進数であることを示す。以下も同じ。))
のエントリを有し、各エントリには、4バイトでなるイ
ベントデータが記憶される。Next, the structure of the event queue used in this embodiment will be described with reference to FIG. The event queue is composed of a FIFO (first in-first out) memory. This event queue is RAM
12 and is controlled by the CPU 10. The event queue includes an event counter (EVE_CTR) and an event pointer (E) defined in the RAM 12, respectively.
VE_PTR) and a storage area. The storage area is, for example, 256 (0H to FFH (the last digit “H” indicates a hexadecimal number; the same applies to the following)).
Event data of 4 bytes is stored in each entry.
【0034】イベントカウンタはイベントデータを書き
込むべき記憶エリアの位置を指定する。このイベントカ
ウンタは、常に最後に書き込まれたイベントデータの次
のアドレスを指示するように制御される。このイベント
カウンタの初期値は「0」であり、イベントデータが書
き込まれる度にインクリメント(+4H)される。そし
て、インクリメントの結果が最大値FFHを越えた場合
はゼロに循環する。The event counter specifies the position of the storage area in which the event data should be written. This event counter is always controlled to indicate the next address of the last written event data. The initial value of this event counter is "0", and is incremented (+ 4H) every time event data is written. Then, when the result of the increment exceeds the maximum value FFH, it is cycled to zero.
【0035】イベントポインタは記憶エリア中の、読み
出すべきイベントデータの位置を指示する。このイベン
トポインタは、常に最後に読み出されたイベントデータ
の次のアドレス、つまり次に読み出すべきイベントデー
タのアドレスを指示するように制御される。このイベン
トポインタの初期値は「0」であり、イベントデータが
読み込まれる度にインクリメント(+4H)される。そ
して、インクリメントの結果が最大値FFHを越えた場
合はゼロに循環する。The event pointer points to the position of the event data to be read in the storage area. This event pointer is always controlled so as to point to the next address of the last read event data, that is, the address of the event data to be read next. The initial value of this event pointer is "0", and is incremented (+ 4H) every time the event data is read. Then, when the result of the increment exceeds the maximum value FFH, it is cycled to zero.
【0036】イベントキューの制御は次のようにして行
われる。即ち、イベントカウンタの内容とイベントポイ
ンタの内容とが一致するときは、イベントキューはエン
プティであると判断される。なお、イベントカウンタを
インクリメントした結果、イベントカウンタの内容がイ
ベントポインタの内容に一致することとなる場合はイベ
ントキューは満杯であるのでキューイングを抑止するよ
うに制御される。一方、イベントカウンタの内容とイベ
ントポインタの内容とに差がある場合は、イベントキュ
ーにイベントデータが存在することが判断される。The event queue is controlled as follows. That is, when the contents of the event counter and the contents of the event pointer match, it is determined that the event queue is empty. When the content of the event counter coincides with the content of the event pointer as a result of incrementing the event counter, the event queue is full, so that queuing is controlled. On the other hand, if there is a difference between the content of the event counter and the content of the event pointer, it is determined that event data exists in the event queue.
【0037】このイベントキューへのイベントデータの
書込みは後述するタイマ割込処理ルーチンにて行われ、
イベントキューからのイベントデータの読み出しは後述
するイベント処理ルーチンで行われる。なお、本実施例
ではイベントキューをRAM12内に形成し、イベント
データの書込み/読み出しの制御はCPU10で行うよ
うに構成したが、これらの代わりに周知のFIFOメモ
リ素子を用いて構成することもできる。Writing of event data to this event queue is performed by a timer interrupt processing routine described later,
The event data is read from the event queue by an event processing routine described later. In the present embodiment, the event queue is formed in the RAM 12 and the writing / reading of the event data is controlled by the CPU 10. However, a well-known FIFO memory element may be used instead of these. .
【0038】このイベントキューへ書き込まれるイベン
トデータの一例を図9に示す。各イベントデータは演奏
情報に対応するものであり4バイトで構成されている。
即ち、ステータスバイト(バイト0)でイベントの種類
が指定され、データバイト(バイト1〜3)で当該イベ
ントの属性が指定される。データバイトは、イベントの
種類によってそれぞれ異なった意味で用いられる。An example of event data written in this event queue is shown in FIG. Each event data corresponds to performance information and is composed of 4 bytes.
That is, the status byte (byte 0) specifies the event type, and the data byte (bytes 1 to 3) specifies the event attribute. The data byte has a different meaning depending on the type of event.
【0039】「離鍵」のイベントデータは、キーボード
部13a〜16aの鍵が離鍵された時に発生するもので
あり、「08H」なるステータスバイト(バイト0)
と、離鍵された鍵の鍵番号(バイト1)、離鍵の強さ
(バイト2)及び離鍵された鍵が属する演奏パート(バ
イト3)の各データで構成される。The "key release" event data is generated when the keys of the keyboard portions 13a to 16a are released, and is a status byte (byte 0) of "08H".
And the key number (byte 1) of the released key, the strength of the key release (byte 2), and the performance part (byte 3) to which the released key belongs.
【0040】「押鍵」のイベントデータは、キーボード
部13a〜16aの鍵が押鍵された時に発生するもので
あり、「09H」なるステータスバイト(バイト0)
と、押鍵された鍵の鍵番号(バイト1)、押鍵の強さ
(バイト2)及び押鍵された鍵が属する演奏パート(バ
イト3)の各データで構成される。The "key depression" event data is generated when a key of the keyboard portion 13a to 16a is depressed, and the status byte is "09H" (byte 0).
And the key number (byte 1) of the depressed key, the strength of the depressed key (byte 2), and the performance part (byte 3) to which the depressed key belongs.
【0041】「総音量」のイベントデータは、操作パネ
ルのメインボリュームが操作された時に発生するもので
あり、「0AH」なるステータスバイト(バイト0)と
音量値(バイト1)とで構成される。バイト2及びバイ
ト3は使用されない。The "total volume" event data is generated when the main volume of the operation panel is operated, and is composed of a status byte (byte 0) of "0AH" and a volume value (byte 1). . Byte 2 and byte 3 are not used.
【0042】「個別音量」のイベントデータは、各パネ
ル部13b〜16bの個別音量部102のボリュームが
操作された時に発生するものであり、「0BH」なるス
テータスバイト(バイト0)と、音量値(バイト1)及
びボリュームが操作された演奏パート(バイト3)の各
データで構成される。バイト2は使用されない。The "individual volume" event data is generated when the volume of the individual volume section 102 of each of the panel sections 13b to 16b is operated, and has a status byte (byte 0) of "0BH" and a volume value. (Byte 1) and the data of the performance part (byte 3) whose volume has been operated. Byte 2 is not used.
【0043】「発音パート指定」のイベントデータは、
各パネル部13b〜16bの発音パート選択部100で
発音パートが選択又は選択が解除された時に発生される
ものであり、「0CH」なるステータスバイト(バイト
0)と、発音パートを選択するか(「1」)又は選択を
解除するか(「0」)を指定するデータ(バイト1)、
選択又は選択解除する発音パート(バイト2)及び発音
パート選択部100が操作された演奏パート(バイト
3)の各データで構成される。The event data of "pronunciation part designation" is
This is generated when a sounding part is selected or deselected by the sounding part selecting unit 100 of each panel 13b to 16b, and whether the status byte (byte 0) of "0CH" and the sounding part are selected ( "1") or data (byte 1) that specifies whether to deselect ("0"),
It is composed of each data of the sounding part (byte 2) to be selected or deselected and the performance part (byte 3) on which the sounding part selection unit 100 is operated.
【0044】「音色指定」のイベントデータは、音色指
定部101が操作された時に発生するものであり、「0
DH」なるステータスバイト(バイト0)と、音色番号
(バイト1)及び音色指定された発音パート(バイト
3)の各データで構成される。バイト2は使用されな
い。The "tone color designation" event data is generated when the tone color designation unit 101 is operated, and is "0".
DH "status byte (byte 0), tone color number (byte 1) and tone color designated sound part (byte 3). Byte 2 is not used.
【0045】なお、本実施例では、イベントの種類とし
て、図9に示される6種類を例示したが、イベントの種
類としては、同図に示したものに限定されず、上記以外
の種々のイベントを定義することができる。Although the six types shown in FIG. 9 are illustrated as the types of events in this embodiment, the types of events are not limited to those shown in FIG. Can be defined.
【0046】次に、本実施例で使用される演奏パートと
発音パートとを関連付けるために使用される変換テーブ
ルについて、図4を参照しながら説明する。図4におい
て、横軸は発音パートを表わし縦軸は演奏パートを表わ
す。そして、所定の演奏パートが指定された場合に、
「1」にセットされているビットに対応する発音パート
が実際の発音に使用される。例えば演奏パート[1]に
おいては、発音パート1、2、7が実際の発音に使用さ
れる。Next, the conversion table used for associating the performance part and the sounding part used in this embodiment will be described with reference to FIG. In FIG. 4, the horizontal axis represents the sounding part and the vertical axis represents the performance part. Then, when a predetermined performance part is specified,
The pronunciation part corresponding to the bit set to "1" is used for the actual pronunciation. For example, in the performance part [1], sounding parts 1, 2, and 7 are used for actual sounding.
【0047】次に、上記の構成において、本発明の楽音
制御装置が適用された電子楽器の動作につき、図5〜図
8に示したフローチャートを参照しながら詳細に説明す
る。各フローチャートに示された処理は、CPU10
が、ROM11に格納されている制御プログラムに従っ
て動作することにより実現されるものである。なお、以
下においては、本発明に関係する部分を中心に説明す
る。Next, the operation of the electronic musical instrument to which the musical tone control device of the present invention is applied in the above configuration will be described in detail with reference to the flow charts shown in FIGS. The process shown in each flowchart is performed by the CPU 10
Is realized by operating according to a control program stored in the ROM 11. Note that, in the following, a description will be given focusing on a portion related to the present invention.
【0048】図5は、本発明の楽音制御装置が適用され
た電子楽器のメインルーチンを示すフローチャートであ
る。このメインルーチンは、電源の投入又はリセットス
イッチ(図示しない)の押下によって図示しないリセッ
ト信号がアクティブにされることにより起動される。FIG. 5 is a flow chart showing the main routine of the electronic musical instrument to which the musical tone control device of the present invention is applied. This main routine is started when a reset signal (not shown) is activated by turning on the power or pressing a reset switch (not shown).
【0049】即ち、電源投入等によりメインルーチンが
起動されると、先ず、初期化処理が行われる(ステップ
S10)。この初期化処理では、CPU10内のレジス
タ、フラグ等に初期値を設定する処理が行われる。ま
た、音源(SPU)17に所定のデータを送出すること
により不要な音が発生するのを抑止する処理が行われ
る。更に、RAM12にワークエリアとして定義されて
いる各種レジスタ、カウンタ、フラグ等に初期値を設定
する処理が行われる。例えば、イベントキューの記憶エ
リアのクリア、イベントポインタとイベントカウンタの
ゼロクリア等が行われる。That is, when the main routine is started by turning on the power source or the like, first, initialization processing is performed (step S10). In this initialization processing, processing for setting initial values to registers, flags, etc. in the CPU 10 is performed. In addition, a process of suppressing generation of unnecessary sound is performed by transmitting predetermined data to the sound source (SPU) 17. Further, processing for setting initial values in various registers, counters, flags, etc. defined as work areas in the RAM 12 is performed. For example, the storage area of the event queue is cleared, and the event pointer and event counter are cleared to zero.
【0050】この初期化処理が終了すると、次いで、イ
ベントの有無が調べられる(ステップS11)。これ
は、イベントキューがエンプティであるかどうか、つま
りイベントカウンタの内容とイベントポインタの内容と
が一致するかどうかを調べることにより行われる。ここ
でイベントがないことが判断されると、ステップS11
を繰り返し実行しながらイベントキューにイベントデー
タが書き込まれるのを待つ。なお、イベントキューへの
イベントデータの書き込みは、後述するタイマ割込処理
において行われる。When this initialization processing is completed, the presence or absence of an event is then checked (step S11). This is done by checking whether the event queue is empty, that is, whether the contents of the event counter and the contents of the event pointer match. If it is determined that there is no event here, step S11
While repeatedly executing, wait for event data to be written to the event queue. Note that writing of event data to the event queue is performed in a timer interrupt process described later.
【0051】上記ステップS11の繰り返し実行の過程
でイベントがあることが判断されると、イベント処理が
実行される(ステップS12)。このイベント処理の詳
細は、図6のフローチャートに示されている。なお、こ
のイベントキューへのイベントデータの書込みは後述す
るタイマ割込処理にて行われるものであるが、これらの
詳細は後述する。ここでは、イベントキューに既にイベ
ントデータが格納されているものとして説明する。When it is determined that there is an event in the process of repeatedly executing step S11, event processing is executed (step S12). Details of this event processing are shown in the flowchart of FIG. Note that writing of event data to this event queue is performed by a timer interrupt process described later, and details thereof will be described later. Here, it is assumed that event data is already stored in the event queue.
【0052】イベント処理では、先ず、イベントキュー
から1つ(4バイト)のイベントデータが読み出される
(ステップS20)。即ち、イベントポインタで示され
た位置から4バイトのイベントデータが読み出され、そ
の後、イベントポインタはインクリメント(+4)され
る。次いで、読み出されたイベントデータがパート毎の
データであるかどうかが調べられる(ステップS2
1)。即ち、特定の演奏パートから送られてきたデータ
であるかどうかが調べられる。これは、ステータスバイ
トを調べることにより行われる。図9に示したイベント
の種類のうち、「離鍵」、「押鍵」、「個別音量」、
「発音パート指定」の各イベントデータを受け取った時
にパート毎のデータであると判断される。In the event processing, first, one (4 bytes) event data is read from the event queue (step S20). That is, 4-byte event data is read from the position indicated by the event pointer, and then the event pointer is incremented (+4). Next, it is checked whether the read event data is data for each part (step S2).
1). That is, it is checked whether or not the data is sent from a specific performance part. This is done by examining the status byte. Among the types of events shown in FIG. 9, “key release”, “key depression”, “individual volume”,
When each event data of "pronuncation part designation" is received, it is determined that the data is for each part.
【0053】ここでパート毎のデータでないことが判断
されると、イベントデータの内容に従った処理が行われ
る(ステップS24)。即ち、「総音量」のイベントデ
ータであれば、全パートの音量を変更するべく、イベン
トデータ中の「音量値」(バイト1)が総音量バッファ
にセットされる。ここで総音量バッファはRAM12に
定義されるバッファである。この総音量バッファの内容
は、発音が行われる際に、後述する個別音量バッファの
内容と加算されて実際の音量を決定するために使用され
る。If it is determined that the data is not data for each part, processing is performed according to the content of the event data (step S24). That is, if the event data is "total volume", the "volume value" (byte 1) in the event data is set in the total volume buffer in order to change the volume of all parts. Here, the total volume buffer is a buffer defined in the RAM 12. The contents of the total volume buffer are added to the contents of the individual volume buffer, which will be described later, to determine the actual volume when a sound is produced.
【0054】また、「音色指定」のイベントデータであ
れば、発音する音色を変更するべく、イベントデータ中
の「音色番号」(バイト1)が、イベントデータ中の
「発音パート」(バイト3)に対応する音色バッファに
セットされる。ここで音色バッファはRAM12に発音
パート毎に定義されたバッファである。この音色バッフ
ァの内容は、発音時に参照される。In the case of "tone color designated" event data, the "tone color number" (byte 1) in the event data is changed to the "tone part" (byte 3) in the event data in order to change the tone color to be pronounced. Is set in the tone color buffer corresponding to. Here, the tone color buffer is a buffer defined in the RAM 12 for each sounding part. The contents of this timbre buffer are referred to when sounding.
【0055】更に、「発音パート指定」のイベントデー
タであれば、イベントデータ中の「演奏パート」(バイ
ト3)に対応する変換テーブルのエントリの内容が変更
される。即ち、上記エントリ中の「発音パート」(バイ
ト2)で指定されたビットが、バイト1で指定された値
「0又は1」にセットされる。これにより、変換テーブ
ルの発音パートの指定が変更される。Further, if the event data is "specify sounding part", the contents of the entry of the conversion table corresponding to the "performance part" (byte 3) in the event data are changed. That is, the bit designated by the "sounding part" (byte 2) in the above entry is set to the value "0 or 1" designated by byte 1. As a result, the designation of the pronunciation part in the conversion table is changed.
【0056】一方、上記ステップS21でパート毎のデ
ータであることが判断されると、パート変換処理が行わ
れる(ステップS23)。即ち、イベントデータの「演
奏パート」(バイト3)に対応する発音パートが、変換
テーブルを参照することにより選択され、この選択され
た発音パートに対してイベントデータに対応する処理、
例えば押鍵処理、離鍵処理、個別音量変更処理、発音パ
ート指定処理等が行われる。このパート変換処理の詳細
は、図7のフローチャートに示されている。On the other hand, if it is determined in step S21 that the data is for each part, the part conversion process is performed (step S23). That is, the sounding part corresponding to the "performance part" (byte 3) of the event data is selected by referring to the conversion table, and the processing corresponding to the event data is performed for the selected sounding part.
For example, key depression processing, key release processing, individual volume change processing, sounding part designation processing, and the like are performed. Details of this part conversion process are shown in the flowchart of FIG. 7.
【0057】パート変換処理では、先ず、イベントデー
タの第3バイト目(バイト3)にセットされている演奏
パートを示す番号PRT(PRT=0〜3)がアドレス
レジスタADRにセットされる(ステップS30)。こ
こにアドレスレジスタADRは、RAM12内に定義さ
れたレジスタである。次いで、アドレスレジスタADR
の内容に、変換テーブルの先頭アドレスCVT_TBL
が加えられる(ステップS31)。これにより、アドレ
スレジスタADRの内容は、イベントデータを発生した
演奏パート、つまり処理対象となる演奏パートに対応す
る変換テーブルのエントリを示す。In the part conversion process, first, the number PRT (PRT = 0 to 3) indicating the performance part set in the third byte (byte 3) of the event data is set in the address register ADR (step S30). ). The address register ADR is a register defined in the RAM 12. Then the address register ADR
Of the conversion table start address CVT_TBL
Is added (step S31). As a result, the contents of the address register ADR indicate the entry of the conversion table corresponding to the performance part that generated the event data, that is, the performance part to be processed.
【0058】次いで、カウンタCTRの内容iがゼロに
初期設定されると共に、変換テーブルのアドレスレジス
タADRで示される位置から1バイトのデータが読み出
されてレジスタREGにセットされる(ステップS3
2)。ここで、カウンタCTR及びレジスタREGは、
いずれもRAM12に定義されるものである。これによ
り、例えば、イベントデータ中の演奏パートを示す番号
PRTが「1」である場合は、レジスタREGには「1
0000110」がセットされる(図4参照)。Then, the content i of the counter CTR is initialized to zero, and 1-byte data is read from the position indicated by the address register ADR of the conversion table and set in the register REG (step S3).
2). Here, the counter CTR and the register REG are
Both are defined in the RAM 12. As a result, for example, when the number PRT indicating the performance part in the event data is "1", the register REG shows "1".
0000110 "is set (see FIG. 4).
【0059】次いで、レジスタREGの内容が右に1ビ
ットシフトされる(ステップS33)。この際、シフト
アウトされたビットはキャリフラグに記憶される。キャ
リフラグは、CPU10に含まれる演算ユニット(図示
しない)に備えられたフラグである。次いで、キャリが
あるかどうかが調べられる(ステップS34)。これ
は、上記キャリフラグを参照することにより行われる。
そして、キャリがあることが判断されると発音パートi
に対する処理が行われる(ステップS35)。ここで
「i」(i=0〜7)は発音パートの番号を示すもので
あり、カウンタCTRの内容で与えられる。Next, the content of the register REG is shifted to the right by 1 bit (step S33). At this time, the shifted out bits are stored in the carry flag. The carry flag is a flag provided in an arithmetic unit (not shown) included in the CPU 10. Then, it is checked whether or not there is a carry (step S34). This is done by referring to the carry flag.
When it is determined that there is a carry, the pronunciation part i
Is performed (step S35). Here, "i" (i = 0 to 7) indicates the number of the sounding part and is given by the content of the counter CTR.
【0060】このステップS35における処理は、イベ
ントデータの種類によって異なる。例えば、「押鍵」の
イベントデータであれば、発音パートiにおいて、「鍵
番号」(バイト1)で指定された音高の音が、「打鍵強
さ」(バイト2)で指定された強度で発音される。この
発音における音色は、その時点で上述した音色バッファ
にセットされている音色番号により決定され、音量は、
総音量バッファの内容と個別音色バッファiの内容とが
加算された音量値により決定される。更に具体的には、
上記鍵番号、打鍵強さ、音色番号、音量値に対応する音
色パラメータがROM11から読み出され、この音色パ
ラメータが音源17に送られることにより音源17でデ
ジタル楽音信号が生成される。このデジタル楽音信号は
D/A変換器18でアナログ楽音信号に変換され、これ
が増幅器19で増幅されてスピーカ20に送られ、この
スピーカ20で押鍵イベントに応じた音が発音されるこ
とになる。The processing in step S35 differs depending on the type of event data. For example, in the event data of “key depression”, in the pronunciation part i, the pitch of the pitch specified by the “key number” (byte 1) is the strength specified by the “keystroke strength” (byte 2). Is pronounced in. The tone color in this pronunciation is determined by the tone color number set in the tone color buffer described above at that time, and the volume is
It is determined by the volume value obtained by adding the content of the total volume buffer and the content of the individual tone color buffer i. More specifically,
The tone color parameters corresponding to the key number, the keystroke strength, the tone color number, and the volume value are read from the ROM 11, and the tone color parameters are sent to the tone generator 17, so that the tone generator 17 generates a digital tone signal. This digital tone signal is converted into an analog tone signal by the D / A converter 18, this is amplified by the amplifier 19 and sent to the speaker 20, and the speaker 20 produces a sound corresponding to the key depression event. .
【0061】また、「離鍵」のイベントデータであれ
ば、発音パートiにおいて発音中である「鍵番号」(バ
イト1)で指定された音が、「離鍵強さ」(バイト2)
で指定された速度で消音される。より具体的には、離鍵
強さに対応した速度で減衰するエンベロープデータを有
する音色パラメータが音源17に送られる。これによ
り、発音中の音が、離鍵強さに対応した速度で消音され
る。In the case of "key release" event data, the sound designated by the "key number" (byte 1) being sounded in the sounding part i is "key release strength" (byte 2).
The sound is muted at the speed specified in. More specifically, a tone color parameter having envelope data that attenuates at a speed corresponding to the key release strength is sent to the sound source 17. As a result, the sound being sounded is muted at a speed corresponding to the key release strength.
【0062】また、「個別音量」のイベントデータであ
れば、発音パートiの音量を変更するべく、イベントデ
ータ中の「音量値」(バイト1)が発音パートiに対応
する個別音量バッファにセットされる。ここで個別音量
バッファはRAM12に定義されるバッファであり、発
音パート毎に設けられている。この個別音量バッファの
内容は、発音が行われる際に、上述した総音量バッファ
の内容と加算されて実際の音量を決定するために使用さ
れる。上記ステップS34でキャリがないことが判断さ
れると、このステップS35はスキップされる。If the event data is the "individual volume", the "volume value" (byte 1) in the event data is set in the individual volume buffer corresponding to the sounding part i in order to change the volume of the sounding part i. To be done. Here, the individual volume buffer is a buffer defined in the RAM 12, and is provided for each sounding part. The content of the individual volume buffer is added to the content of the total volume buffer described above when the sound is produced, and is used to determine the actual volume. If it is determined in step S34 that there is no carry, step S35 is skipped.
【0063】次いで、カウンタCTRの内容iがインク
リメント(+1)される(ステップS36)。そして、
カウンタCTRの内容iが発音パート数m(本実施例の
場合はm=8)に等しくなったかどうかが調べられる
(ステップS37)。ここで等しくないことが判断され
るとステップS33に戻り、以下同様の処理が繰り返さ
れる。そして、等しくなったことが判断されると、全て
の発音パートに対する処理が終了したことが認識され、
このパート変換処理ルーチンからイベント処理ルーチン
に戻り、更にイベント処理ルーチンからメインルーチン
に戻る。Then, the content i of the counter CTR is incremented (+1) (step S36). And
It is checked whether or not the content i of the counter CTR is equal to the number m of sounding parts (m = 8 in this embodiment) (step S37). If it is determined that they are not equal to each other, the process returns to step S33, and the same processes are repeated. Then, when it is determined that they are equal, it is recognized that the processing for all the pronunciation parts is completed,
The part conversion processing routine returns to the event processing routine, and the event processing routine returns to the main routine.
【0064】以上のようにしてメインルーチンを繰り返
し実行することにより、キーボード部13a〜16a又
はパネル部13b〜16b、その他の操作パネル上の操
作子の操作に伴って発生するイベントに応じてイベント
処理がリアルタイムに行われることにより、電子楽器と
しての諸機能が発揮される。By repeatedly executing the main routine as described above, event processing is performed in response to an event that occurs in accordance with the operation of the keyboard section 13a to 16a or the panel section 13b to 16b, or other operation element on the operation panel. By performing in real time, various functions as an electronic musical instrument are exhibited.
【0065】次に、タイマ割込処理について、図8に示
したフローチャートを参照しながら詳細に説明する。こ
のタイマ割込処理ルーチンは、CPU10に内蔵される
図示しないタイマにより一定周期で起動される。このタ
イマ割込処理により、キーボード部13a〜16a、パ
ネル部13b〜16b又は操作パネルのメインボリュー
ム等のイベントが検出され、イベントキューに、検出さ
れたイベントに対応するイベントデータが書き込まれ
る。なお、このタイマ割込処理は、上記メインルーチン
の処理と並行して行われるものである。Next, the timer interrupt processing will be described in detail with reference to the flowchart shown in FIG. This timer interrupt processing routine is activated at regular intervals by a timer (not shown) incorporated in the CPU 10. By this timer interrupt processing, an event such as the keyboard section 13a to 16a, the panel section 13b to 16b or the main volume of the operation panel is detected, and the event data corresponding to the detected event is written in the event queue. The timer interrupt process is performed in parallel with the process of the main routine.
【0066】タイマ割込処理では、先ず、演奏パート
[j]のパネルスキャン処理が行われる(ステップS4
0)。ここに「j」(j=0〜3)は現在処理中の演奏
パートを示すものであり、RAM12に定義されたカウ
ンタに記憶されている。このパネルスキャン処理では、
先ず、演奏パート部jのパネル部jに対してスキャンデ
ータが送出され、このスキャンデータに応答してパネル
部jから送られてくる、発音パート選択部100及び音
色指定部101の各スイッチのオン/オフを示すビット
列でなるデータ、及び個別音量の設定値を示すデータ
(以下、これらを総称して「新パネルデータ」とい
う。)が取り込まれる。次いで、同じパネル部jに対す
る前回のタイマ割込処理で取り込まれてRAM12の所
定領域に格納されているデータ(以下、「旧パネルデー
タ」という。)と上記新パネルデータとが比較され、相
違するビットをオンにしたパネルイベントマップが作成
される。このパネルイベントマップ中にオンになってい
るビットが1つ以上存在すればパネルイベントがあった
旨が判断され、そうでなければパネルイベントはなかっ
た旨が判断される。In the timer interrupt process, first, the panel scan process of the performance part [j] is performed (step S4).
0). Here, “j” (j = 0 to 3) indicates the performance part currently being processed, and is stored in the counter defined in the RAM 12. In this panel scan process,
First, scan data is sent to the panel part j of the performance part j, and in response to the scan data, each switch of the sounding part selector 100 and the tone color designation unit 101 is turned on. Data consisting of a bit string indicating ON / OFF and data indicating an individual volume setting value (hereinafter, these are collectively referred to as "new panel data") are fetched. Next, the new panel data is compared with the data (hereinafter referred to as "old panel data") that has been fetched by the previous timer interrupt process for the same panel section j and stored in the predetermined area of the RAM 12, and they are different. A panel event map with bits turned on is created. If there is at least one bit that is turned on in this panel event map, it is determined that there is a panel event, and if not, it is determined that there is no panel event.
【0067】そして、このパネルイベントマップを参照
することにより、パネルイベントが発生したことが判断
されると、各イベントに対応した4バイトのイベントデ
ータが作成される。即ち、発音パート選択部100のス
イッチのイベントがあったことが判断されると、図9に
示されるような「発音パート指定」のイベントデータが
作成される。例えば、発音パート5に対応する押釦スイ
ッチの押下により発音パート5の選択が行われた場合
は、ステータスバイト(バイト0)として「0CH」、
バイト1として「1」、発音パート(バイト2)として
「5」、演奏パート(バイト3)として「j」を有する
4バイトのイベントデータが作成される。なお、発音パ
ート5に対応する押釦スイッチの押下により発音パート
5の選択解除が行われた場合は、上記のバイト1が
「0」にされたイベントデータが作成される。When it is determined that a panel event has occurred by referring to this panel event map, 4-byte event data corresponding to each event is created. That is, when it is determined that there is an event of the switch of the sounding part selection unit 100, event data of "sounding part designation" as shown in FIG. 9 is created. For example, when the sound generation part 5 is selected by pressing the push button switch corresponding to the sound generation part 5, "0CH" is set as the status byte (byte 0),
4-byte event data having "1" as the byte 1, "5" as the sounding part (byte 2), and "j" as the playing part (byte 3) is created. When the selection of the sounding part 5 is canceled by pressing the push button switch corresponding to the sounding part 5, the event data in which the byte 1 is set to "0" is created.
【0068】また、音色指定部101のスイッチのイベ
ントがあったことが判断されると、図9に示されるよう
な「音色指定」のイベントデータが作成される。例え
ば、ギターに対応する押釦スイッチの押下によりギター
の音色が指定された場合は、ステータスバイト(バイト
0)として「0DH」、音色番号(バイト1)として
「ギターの音色の音色番号」、演奏パート(バイト3)
として「j」を有する4バイトのイベントデータが作成
される。なお、バイト2は使用されないので、如何なる
値であっても良い。When it is determined that there is an event of the switch of the tone color designating unit 101, "tone color designation" event data as shown in FIG. 9 is created. For example, when the tone color of the guitar is specified by pressing the push button switch corresponding to the guitar, the status byte (byte 0) is "0DH", the tone color number (byte 1) is "guitar tone color number", the performance part. (Byte 3)
4 bytes of event data having "j" as is created. Since byte 2 is not used, any value may be used.
【0069】また、個別音量部102のボリュームのイ
ベントがあったことが判断されると、図9に示されるよ
うな「個別音量」のイベントデータが作成される。例え
ば、個別音量部102のボリュームが操作された場合
は、ステータスバイト(バイト0)として「0BH」、
音量値(バイト1)として「ボリュームの設定位置を示
す値」、演奏パート(バイト3)として「j」を有する
4バイトのイベントデータが作成される。なお、バイト
2は使用されないので、如何なる値であっても良い。When it is determined that there is an event of the volume of the individual volume section 102, event data of "individual volume" as shown in FIG. 9 is created. For example, when the volume of the individual volume section 102 is operated, “0BH” is set as the status byte (byte 0),
4-byte event data having a “value indicating a volume setting position” as a volume value (byte 1) and “j” as a performance part (byte 3) is created. Since byte 2 is not used, any value may be used.
【0070】なお、このパネルスキャン処理(ステップ
S40)ではパネル部jに対する処理の他、図8のフロ
ーチャートには図示されていないが、図示しない操作パ
ネルに搭載された各種スイッチに対応するスキャン処理
も行われる。このスキャン処理も、上述したパネル部j
に対する処理と同様の方法で行われる。このスキャン処
理で、メインボリュームのイベントが検出された場合
は、図9に示されるような「総音量」のイベントデータ
が作成される。即ち、ステータスバイト(バイト0)と
して「0AH」、音量値(バイト1)として「ボリュー
ムの設定位置を示す値」を有する4バイトのイベントデ
ータが作成される。なお、バイト2及びバイト3は使用
されないので、如何なる値であっても良い。また、図示
しない種々のスイッチのイベントに対するイベントデー
タの作成も上記と同様にして行われるが、説明は省略す
る。In this panel scan process (step S40), in addition to the process for the panel section j, a scan process corresponding to various switches mounted on an operation panel (not shown), which is not shown in the flowchart of FIG. Done. This scanning process also applies to the panel part j described above.
Is performed in the same manner as the processing for. When an event of the main volume is detected in this scanning process, event data of "total volume" as shown in FIG. 9 is created. That is, 4-byte event data having "0AH" as the status byte (byte 0) and "a value indicating the set position of the volume" as the volume value (byte 1) is created. Note that byte 2 and byte 3 are not used, so any value may be used. Although event data for various switch events (not shown) is created in the same manner as above, the description thereof is omitted.
【0071】このようにして作成されたイベントデータ
は、イベントキューに書き込まれる。即ち、イベントカ
ウンタで示される位置にイベントデータが記憶され、そ
の後、イベントカウンタがインクリメント(+4)され
る。The event data thus created is written in the event queue. That is, the event data is stored in the position indicated by the event counter, and then the event counter is incremented (+4).
【0072】以上のパネルスキャン処理が終了すると、
次いで、演奏パート[j]の鍵盤スキャン処理が行われ
る(ステップS41)。この鍵盤スキャン処理では、先
ず、演奏パート部jのキーボード部jに対してスキャン
データを送出し、このスキャンデータに応答してキーボ
ード部jから送られてくる、各鍵のオン又はオフを示す
ビット列でなるデータ(以下、「新キーデータ」とい
う。)が取り込まれる。そして、前回のタイマ割込処理
でキーボード部jから取り込んでRAM12の所定領域
に格納されているデータ(以下、「旧キーデータ」とい
う。)と上記新キーデータとが比較され、相違するビッ
トをオンにしたキーイベントマップが作成される。この
キーイベントマップ中にオンになっているビットが1つ
以上存在すればキーイベントがあった旨が判断され、オ
ンになっているビットが存在しなければキーイベントは
なかった旨が判断される。When the above panel scan processing is completed,
Next, the keyboard scanning process of the performance part [j] is performed (step S41). In this keyboard scanning process, first, scan data is sent to the keyboard part j of the performance part j, and a bit string indicating the ON or OFF state of each key sent from the keyboard part j in response to this scan data. Data (hereinafter, referred to as “new key data”) is captured. Then, the data (hereinafter referred to as "old key data") stored in the predetermined area of the RAM 12 and fetched from the keyboard part j in the previous timer interrupt process is compared with the new key data, and different bits are determined. A key event map that is turned on is created. If there is at least one bit that is turned on in this key event map, it is determined that there is a key event, and if there is no bit that is turned on, it is determined that there is no key event. .
【0073】ここで、キーイベントがあったことが判断
されると、先ず、発生したキーイベントが押鍵のイベン
トであるかどうかが調べられる。これは、上記キーイベ
ントマップのオンになっているビットに対応する、新キ
ーデータ中のビットが「1」になっているかどうかによ
り判断される。ここで、押鍵イベントが発生したことが
判断されると、押鍵を示すイベントデータが作成され
る。When it is determined that there is a key event, it is first checked whether or not the generated key event is a key depression event. This is determined by whether or not the bit in the new key data corresponding to the ON bit of the key event map is "1". Here, when it is determined that a key depression event has occurred, event data indicating key depression is created.
【0074】押鍵を示すイベントデータは、既に説明し
たように、ステータスバイト「09H」(バイト0)、
鍵番号(バイト1)、押鍵強さ(バイト2)及び演奏パ
ート番号(バイト3)で構成され、次のようにして作成
される。「鍵番号」は押鍵位置を示すものであり、上記
イベントマップ中のオンになっているビットに対応す
る、新キーデータ中の「1」になっているビット位置を
調べることにより作成される。「押鍵強さ」は、押鍵の
速度(強さ)を示すものであり、押鍵された鍵の第1の
キースイッチがオンになってから第2のキースイッチが
オンになるまでの時間情報から作成される。「演奏パー
ト」は、鍵操作があった演奏パートの番号を示すもので
あり、「j」の値が用いられる。As described above, the event data indicating the key depression is the status byte "09H" (byte 0),
It is composed of a key number (byte 1), a key pressing strength (byte 2) and a performance part number (byte 3), and is created as follows. The "key number" indicates the key pressing position, and is created by checking the bit position of "1" in the new key data, which corresponds to the ON bit in the event map. . The "key depression strength" indicates the speed (strength) of key depression, and is the time from when the first key switch of the depressed key is turned on to when the second key switch is turned on. Created from time information. The "performance part" indicates the number of the performance part for which the key operation was performed, and the value "j" is used.
【0075】一方、発生したイベントが押鍵のイベント
でないことが判断されると、離鍵のイベントであるかど
うかが調べられる。これは、上記キーイベントマップの
オンになっているビットに対応する、新キーデータ中の
ビットが「0」になっているかどうかにより判断され
る。ここで、離鍵イベントが発生したことが判断される
と、離鍵を示すイベントデータが作成される。On the other hand, when it is determined that the generated event is not the key pressing event, it is checked whether or not the key releasing event. This is determined by whether or not the bit in the new key data corresponding to the ON bit of the key event map is "0". When it is determined that a key release event has occurred, event data indicating key release is created.
【0076】離鍵を示すイベントデータは、既に説明し
たように、ステータスバイト「08H」(バイト0)、
鍵番号(バイト1)、離鍵強さ(バイト2)及び演奏パ
ート番号(バイト3)で構成され、次のようにして作成
される。「鍵番号」は離鍵位置を示すものであり、上記
イベントマップ中のオンになっているビットに対応す
る、新キーデータ中の「0」になっているビット位置を
調べることにより作成される。「離鍵強さ」は、離鍵の
速度を示すものであり、離鍵された鍵の第2のキースイ
ッチがオフになってから第1のキースイッチがオフにな
るまでの時間情報から作成される。「演奏パート」は、
鍵操作があった演奏パートの番号を示すものであり、
「j」の値が用いられる。The event data indicating the key release is the status byte "08H" (byte 0), as already described.
It is composed of a key number (byte 1), key release strength (byte 2) and performance part number (byte 3), and is created as follows. The "key number" indicates the key release position, and is created by checking the bit position of "0" in the new key data, which corresponds to the ON bit in the event map. . The “key release strength” indicates the key release speed, and is created from the time information from when the second key switch of the released key is turned off until when the first key switch is turned off. To be done. "Performance part" is
It shows the number of the performance part where the key was operated,
The value of "j" is used.
【0077】このようにしてイベントデータが作成され
ると、次いで、イベントデータがイベントキューに書き
込まれる。即ち、イベントカウンタで示される位置にイ
ベント書込バッファの内容が記憶され、その後、イベン
トカウンタがインクリメント(+4)される。When the event data is created in this way, the event data is then written in the event queue. That is, the contents of the event writing buffer are stored in the position indicated by the event counter, and then the event counter is incremented (+4).
【0078】次に、演奏パート番号jがインクリメント
される(ステップS43)。次いで、演奏パートの番号
jを演奏パート数n(本実施例の場合はn=4)で割っ
た余りが、次にスキャンを行うべき演奏パートの番号j
としてRAM12のカウンタに記憶される(ステップS
43)。これにより、タイマ割込が発生する度に演奏パ
ートの番号jが順次増加され、最大演奏パートの処理が
終了したら元に戻ってスキャンが継続されるという機能
が実現されている。その後、このタイマ割込処理ルーチ
ンからリターンして元の位置(割り込みが発生した時点
で実行していた位置)に戻る。Next, the performance part number j is incremented (step S43). Next, the remainder obtained by dividing the performance part number j by the performance part number n (n = 4 in this embodiment) is the performance part number j to be scanned next.
Is stored in the counter of the RAM 12 as (step S
43). As a result, the function of sequentially increasing the number j of the performance part each time the timer interrupt occurs and returning to the original state and continuing the scan when the processing of the maximum performance part is completed is realized. After that, the routine returns from this timer interrupt processing routine and returns to the original position (the position that was being executed when the interrupt occurred).
【0079】以上説明したように、本実施例によれば、
複数の演奏パートを有すると共に複数の発音パートを有
し、各発音パートは独立に動作する電子楽器において、
各演奏パートのそれぞれに対し、どの発音パートを使用
するかという関連付けを予め定めて変換テーブルに記憶
しておき、所定の演奏パートから演奏情報が送られてき
た場合に、上記変換テーブルを参照し、当該演奏パート
に対して定められている発音パートを用いて発音するよ
うにしている。As described above, according to this embodiment,
In an electronic musical instrument that has a plurality of playing parts and a plurality of sounding parts, and each sounding part operates independently,
For each performance part, the association as to which pronunciation part to use is predetermined and stored in the conversion table. When the performance information is sent from a predetermined performance part, the conversion table is referred to. , The pronunciation part defined for the performance part is used to produce the sound.
【0080】従って、従来のように演奏情報を受け取っ
てから、その演奏情報に対して割り当てられている発音
パートを検索する必要がなく、変換テーブルの内容を参
照して直ちに予め定められた発音パートで楽音の発生制
御を行うことができるので、迅速且つ効率的に発音を開
始させることができる。Therefore, it is not necessary to search for the pronunciation part assigned to the performance information after receiving the performance information as in the conventional case, and the predetermined pronunciation part can be immediately referred by referring to the contents of the conversion table. Since it is possible to control the generation of musical tones, it is possible to start sound generation quickly and efficiently.
【0081】[0081]
【発明の効果】以上詳述したように、この発明によれ
ば、所定の演奏パートで発音が指示された場合に迅速且
つ効率良く所定の発音パートに発音を割り当てて発音を
開始させることのできる楽音制御装置を提供できる。As described above in detail, according to the present invention, when the pronunciation is instructed in a predetermined performance part, the pronunciation can be started quickly and efficiently by assigning the sound to the predetermined sound part. A musical tone control device can be provided.
【図1】本発明に係る楽音制御装置が適用された電子楽
器の実施例の概略構成を示すブロック図である。FIG. 1 is a block diagram showing a schematic configuration of an embodiment of an electronic musical instrument to which a musical sound control device according to the present invention is applied.
【図2】本発明の実施例のパネル部の構成を示す図であ
る。FIG. 2 is a diagram showing a configuration of a panel unit according to an embodiment of the present invention.
【図3】本発明の実施例で使用するイベントキューの構
成を示す図である。FIG. 3 is a diagram showing a configuration of an event queue used in an embodiment of the present invention.
【図4】本発明の実施例で使用する変換テーブルの一例
を示す図である。FIG. 4 is a diagram showing an example of a conversion table used in the embodiment of the present invention.
【図5】本発明の実施例の動作を示すフローチャート
(メインルーチン)である。FIG. 5 is a flowchart (main routine) showing the operation of the embodiment of the present invention.
【図6】本発明の実施例の動作を示すフローチャート
(イベント処理ルーチン)である。FIG. 6 is a flowchart (event processing routine) showing the operation of the embodiment of the present invention.
【図7】本発明の実施例の動作を示すフローチャート
(パート変換処理ルーチン)である。FIG. 7 is a flowchart (part conversion processing routine) showing the operation of the exemplary embodiment of the present invention.
【図8】本発明の実施例の動作を示すフローチャート
(タイマ割込処理ルーチン)である。FIG. 8 is a flowchart (timer interrupt processing routine) showing the operation of the embodiment of the present invention.
【図9】本発明の実施例で使用するイベントの種類とイ
ベントデータのフォーマットの一例を示す図である。FIG. 9 is a diagram showing an example of event types and event data formats used in the embodiment of the present invention.
10 CPU 11 ROM 12 RAM 13〜16 演奏パート部 13a〜16a キーボード部 13b〜16b パネル部 17 音源 18 D/A変換器 19 増幅器 20 スピーカ 21 アドレスバス 22 データバス 100 発音パート選択部 101 音色指定部 102 個別音量部 10 CPU 11 ROM 12 RAM 13-16 Performance part section 13a-16a Keyboard section 13b-16b Panel section 17 Sound source 18 D / A converter 19 Amplifier 20 Speaker 21 Address bus 22 Data bus 100 Sounding part selection section 101 Tone color specification section 102 Individual volume section
Claims (1)
音パートを駆動することにより発音を行う電子楽器にお
いて、 前記複数の演奏パートのそれぞれに前記発音パートを関
連付けて記憶した記憶手段と、 前記演奏パートから得られた演奏情報を、該記憶手段に
記憶された関連付けに応じて前記発音パートに転送する
転送手段と、 該転送手段により転送されてきた演奏情報に基づいて楽
音の発生制御を行う楽音制御手段、 とを備えたことを特徴とする楽音制御装置。1. An electronic musical instrument having a plurality of performance parts, each of which produces a sound by independently driving a sounding part, and a storage unit which stores the sounding part in association with each of the plurality of performance parts. Transfer means for transferring the performance information obtained from the performance part to the sounding part in accordance with the association stored in the storage means; and controlling the generation of musical tones based on the performance information transferred by the transfer means. A musical tone control device comprising: a musical tone control means for performing the musical tone control.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6329559A JPH08160945A (en) | 1994-12-02 | 1994-12-02 | Musical sound controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6329559A JPH08160945A (en) | 1994-12-02 | 1994-12-02 | Musical sound controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08160945A true JPH08160945A (en) | 1996-06-21 |
Family
ID=18222716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6329559A Withdrawn JPH08160945A (en) | 1994-12-02 | 1994-12-02 | Musical sound controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH08160945A (en) |
-
1994
- 1994-12-02 JP JP6329559A patent/JPH08160945A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5847302A (en) | Tone information processing device for an electronic musical instrument for generating sounds | |
JPH03174590A (en) | Electronic musical instrument | |
EP3550555B1 (en) | Electronic musical instrument, method, and storage medium | |
GB2091020A (en) | Synchro start device for electronic musical instruments | |
US5014586A (en) | Chord setting apparatus and electronic wind instrument using the same | |
JP2629891B2 (en) | Music signal generator | |
US5430242A (en) | Electronic musical instrument | |
JPH08160945A (en) | Musical sound controller | |
JPH07219545A (en) | Electronic musical instrument | |
JPH0822282A (en) | Automatic accompaniment device for guitar | |
JPH0527762A (en) | Electronic musical instrument | |
JPH06242781A (en) | Electronic musical instrument | |
JPH02173698A (en) | Electronic musical instrument | |
JP3051010B2 (en) | Performance information transmitting device, performance information receiving device, and electronic musical instrument | |
JPH08278781A (en) | Sound source module | |
JPH0515279B2 (en) | ||
JPH08137473A (en) | Expression pedal device of electronic musical instrument | |
JPH07146681A (en) | Electronic musical instrument | |
JP3375220B2 (en) | Electronic musical instrument | |
JPH06250650A (en) | Electronic musical instrument | |
JPH07152374A (en) | Electronic musical instrument | |
JPH0746277B2 (en) | Musical sound generator | |
JPH0944151A (en) | Electronic keyboard musical instrument | |
JPH06242780A (en) | Electronic musical instrument | |
JPH0792666B2 (en) | Music control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20020205 |