JPH0675574A - 電子楽器の音色制御装置 - Google Patents

電子楽器の音色制御装置

Info

Publication number
JPH0675574A
JPH0675574A JP4250429A JP25042992A JPH0675574A JP H0675574 A JPH0675574 A JP H0675574A JP 4250429 A JP4250429 A JP 4250429A JP 25042992 A JP25042992 A JP 25042992A JP H0675574 A JPH0675574 A JP H0675574A
Authority
JP
Japan
Prior art keywords
data
tone
tone color
event
cpu
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.)
Pending
Application number
JP4250429A
Other languages
English (en)
Inventor
Yasushi Sato
康史 佐藤
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.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing Co Ltd
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 Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP4250429A priority Critical patent/JPH0675574A/ja
Priority to US08/108,312 priority patent/US5403968A/en
Publication of JPH0675574A publication Critical patent/JPH0675574A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/02Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
    • G10H1/06Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/02Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
    • G10H1/04Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation
    • G10H1/053Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only
    • G10H1/057Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only by envelope-forming circuits
    • G10H1/0575Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only by envelope-forming circuits using a data store from which the envelope is synthesized
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/02Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories

Abstract

(57)【要約】 【目的】本発明は、発音すべき音色を制御する電子楽器
の音色制御装置に関し、発音指令を受けてから発音が完
了するまでの時間を犠牲にせずに、音色全体の雰囲気を
容易に変更することのできる電子楽器の音色制御装置を
提供することを目的とする。 【構成】発音開始指令があった際、発音すべき複数の音
色データが予め記憶された記憶手段から音色データを読
み出し、該音色データに応じて楽音を発生する電子楽器
において、全ての音域に共通な第1の音色データが記憶
された第1の記憶手段と、所定音域に固有な第2の音色
データが記憶された第2の記憶手段と、発音開始指令が
あった際、前記第1の記憶手段から読み出した第1の音
色データと、前記第2の記憶手段から読み出した第2の
音色データとに所定の演算を施す演算手段と、該演算手
段により演算されたデータに基づき所定の音色の楽音を
発生する楽音発生手段とを備えて構成される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、電子楽器において、発
音すべき音色を制御する電子楽器の音色制御装置に関す
る。
【0002】近年の電子楽器のトーンジェネレータは複
数のオシレータを備え、これら複数のオシレータを適宜
組み合わせて駆動することにより、複数音の同時発音が
可能となっている。
【0003】ところで、発音時の音色は、オシレータに
所定の音色データを与えることにより決定される。かか
る音色データは、電子楽器により種々の形態で保持され
ている。
【0004】近年の電子楽器は多数の音色での発音が要
求されていることから、該電子楽器内に保持する音色デ
ータも膨大な量になっている。従って、効率良く音色デ
ータを保持するとともに、発音指示から短時間で発音に
至らしめることのできる音色制御装置が望まれている。
【0005】
【従来の技術】従来、電子楽器における音色データは、
例えば楽器音に対応した音色を音域毎に保持しているの
が一般的である。例えは、ピアノの音色を発生するため
の音色データをオクターブ毎に保持し、押鍵があった場
合、押圧された鍵が含まれるオクターブの該音色データ
を読み出して発音するようになっている。
【0006】一方、シンセサイザ等の電子楽器では、ユ
ーザが任意に音色を変更できるように構成されているの
が一般的である。かかる電子楽器で音色を変更する場
合、例えば音色データ中に含まれるエンベロープに関す
る情報を変更する必要がある。
【0007】従って、例えばピアノ音の減衰時間を全体
的に短くすることにより音色全体の雰囲気を変更したい
場合等は、各オクターブに対応する音色データ中のエン
ベロープに関する情報を、全オクターブ分について変更
する必要があった。
【0008】従って、かかる構成の電子楽器では、音色
変更を素早く行うことができず、操作性に劣るという問
題があった。
【0009】また、音色全体の雰囲気を変更する他の手
段として、音域毎の音色データを関数を用いて演算によ
り求めるものも知られている。この方法によれは、関数
に与える値を変更することにより音色全体の雰囲気を変
更できるという利点がある。
【0010】しかしながら、例えば乗算等を含む関数演
算を発音する毎に行うために演算時間が膨大となり、発
音指示から発音に至るまでに時間がかかるという問題が
あった。また、所望の音色を実現するためには、多種類
の関数を用意する必要があるので、全体として音色デー
タが増加するという問題もあった。
【0011】
【発明が解決しようとする課題】本発明は、上記事情に
鑑みなされたもので、発音指令を受けてから発音が完了
するまでの時間を犠牲にせずに、音色全体の雰囲気を容
易に変更することのできる電子楽器の音色制御装置を提
供することを目的とする。
【0012】
【課題を解決するための手段】本発明の電子楽器の音色
制御装置は、上記目的を達成するために、発音開始指令
があった際、発音すべき複数の音色データが予め記憶さ
れた記憶手段から音色データを読み出し、該音色データ
に応じて楽音を発生する電子楽器において、全ての音域
に共通な第1の音色データが記憶された第1の記憶手段
と、所定音域に固有な第2の音色データが記憶された第
2の記憶手段と、発音開始指令があった際、前記第1の
記憶手段から読み出した第1の音色データと、前記第2
の記憶手段から読み出した第2の音色データとに所定の
演算を施す演算手段と、該演算手段により演算されたデ
ータに基づき所定の音色の楽音を発生する楽音発生手段
とを備えて構成される。
【0013】
【作用】この発明は、全音域に共通な第1の音色データ
と、各音域に固有な第2の音色データとを別途記憶して
おき、発音に際しては、上記第1の音色データと、発音
開始指令があった音が属する音域に対応する第2の音色
データとを演算、例えば加算することにより所定の音色
データをつくりだし、該音色データに基づいて発音する
ようにしたものである。
【0014】これにより、音色全体の雰囲気を変更した
場合に、音域毎に設けられた上記第2の音色データの変
更操作を行うことなく、上記全音域に共通な第1の音色
データのみを変更することにより音色全体の雰囲気を変
更することができる。従って、音色全体の雰囲気を変更
する操作が容易になり、操作性に優れたものとなってい
る。
【0015】また、関数演算により音色全体の雰囲気を
変更する場合のように、複雑な演算を行う必要がなく、
例えば加算という単純な演算のみで所定の音色データを
得ることができるので、発音指示から発音に至るまでの
時間が短くて済むという効果がある。
【0016】
【実施例】以下、本発明の実施例につき図面を参照しな
がら詳細に説明する。なお、以下の実施例では、説明を
簡単にするために、当該電子楽器のトーンジェネレータ
は8個のオシレータで構成されるものとする。但し、オ
シレータの数は8個に限定されるものでなく、電子楽器
の仕様に応じて任意に定めることができる。
【0017】また、複数のオシレータによりつくりださ
れる特定の音色は、2つのオシレータが同時駆動される
ことによりつくりだされるものとする(以下、これを
「2ソース音色」という)。
【0018】図1は、本発明の音色制御装置が適用され
る電子楽器の概略的な構成を示すブロック図である。該
電子楽器は、大きく3つのブロックBLK1、BLK2
及びBLK3に分けられる。
【0019】ブロックBLK1は、主にキーボード、パ
ネルスイッチ或いは外部装置との間の入出力の制御等を
行う。ブロックBLK2は、キーのアサイン処理及び音
色制御等を行う。ブロックBLK3は、主に音響効果処
理と発音に係る処理を行う。
【0020】ブロックBLK1においては、アドレスバ
ス10及びデータバス11を介して、中央処理装置(C
PU)12、リードオンリメモリ(ROM)13、ラン
ダムアクセスメモリ(RAM)14及びインタフェース
回路(I/F)15が相互に接続されている。
【0021】上記CPU12には、シリアル出力装置
(SO)16、シリアル入力装置(SI)17及びタッ
チセンサ(TS)18aが接続されており、タッチセン
サ18aには、さらにキーボード(KBD)18bが接
続されている。
【0022】また、上記インタフェース回路(I/F)
15には、パネルスイッチ(パネルSW)19が接続さ
れるとともに、ブロックBLK2のCPU22及びブロ
ックBLK3のデジタル信号処理装置(DSP)32が
それぞれ接続されて構成されている。
【0023】上記CPU12は、ROM13に記憶され
ている制御プログラムに従って当該ブロックBLK1内
の各部を制御するものである。例えば、タッチセンサ1
8a、パネルスイッチ19或いはシリアル入力装置17
から入力された演奏情報を、発音開始指令、発音終了指
令又は音色変更指令等に変換し、インタフェース回路1
5を介してCPU22に渡す処理を行う。
【0024】このCPU12に接続されるタッチセンサ
18aは、キーボード18bからの情報をCPU12に
与えるものである。キーボード18bは、複数のキー
と、これらキーの押鍵・離鍵動作に連動して開閉するキ
ースイッチとで構成される周知のものである。
【0025】即ち、タッチセンサ18aはキーボード1
8bに対してスキャン信号を送出し、キーボード18b
は、このスキャン信号に応答してキースイッチの開閉状
態を示す信号をタッチセンサ18aに返送する。タッチ
センサ18aは、キーボード18bから受け取ったキー
スイッチの開閉状態を示す信号から、押鍵又は離鍵され
たキーの鍵番号及び押鍵又は離鍵の速度を示すタッチデ
ータを生成し、CPU12に送出するものである。
【0026】このタッチセンサ18aからCPU12へ
のデータ転送は、該タッチセンサ18aがCPU12に
対し、キーボード18bのイベントがあった旨の割り込
みをかけることにより開始される。
【0027】上記CPU12に接続されるシリアル出力
装置16は、当該電子楽器で発生された演奏データを外
部に出力するものである。このシリアル出力装置16か
らは、例えばMIDI規格に則った形式の演奏データが
出力される。
【0028】同じく、上記CPU12に接続されるシリ
アル入力装置17は、外部で発生された演奏データを当
該電子楽器に入力するものである。このシリアル入力装
置16には、例えばMIDI規格に則った形式の演奏デ
ータが入力される。
【0029】このシリアル入力装置17からCPU12
へのデータ転送は、該シリアル入力装置17がCPU1
2に対し、演奏データを受信した旨の割り込みをかける
ことにより開始される。
【0030】ROM13には、上述したように、CPU
12の制御プログラムが格納される他、CPU12が使
用する種々の固定データが記憶される。
【0031】RAM14は、CPU12が取り扱う種々
のデータを一時的に記憶するものであり、当該電子楽器
を制御するための各種レジスタ、カウンタ、フラグ等が
定義されている。
【0032】インタフェース回路15は、パネルスイッ
チ19との間のデータ送受を制御するとともに、当該ブ
ロックBLK1と他のブロックBLK2、BLK3との
間のデータ送受を制御するものである。このインタフェ
ース回路15としては、例えばメモリマップドI/Oポ
ートが用いられる。
【0033】また、このインタフェース回路15に接続
されるパネルスイッチ19は、当該電子楽器を制御する
ための各種操作子と、該操作子に連動して動作するスイ
ッチ類の集合である。このスイッチには、例えば、音色
選択スイッチ、リズム選択スイッチ、音量コントロール
スイッチ、音響効果スイッチ等が含まれる。
【0034】即ち、インタフェース回路15はパネルス
イッチ19に対してスキャン信号を送出し、パネルスイ
ッチ19は、このスキャン信号に応答してスイッチの開
閉状態を示す信号をインタフェース回路15に返送す
る。インタフェース回路15は、パネルスイッチ19か
ら受け取ったスイッチの開閉状態を示す信号をCPU1
2に送出するものである。
【0035】このインタフェース回路15からCPU1
2へのデータ転送は、該インタフェース回路15がCP
U12に対し、パネルスイッチ19のイベントがあった
旨の割り込みをかけることにより開始される。
【0036】ブロックBLK2においては、アドレスバ
ス20及びデータバス21を介して、CPU22、RO
M23、RAM24及びトーンジェネレータ(TG)2
5が相互に接続されている。
【0037】上記アドレスバス20及びデータバス21
は、CPU22とトーンジェネレータ25とが時分割で
使用するものである。
【0038】ここで、当該ブロックBLK2で使用する
クロックの概念について、図6を参照しながら明する。
【0039】図示しない発振回路から発生されるマスタ
クロックは、図6(a)に示すような一定周期のパルス
信号である。このマスタクロックは、図6(b)に示す
ように、2分の1分周されて、クロックCK1(CPU
/TG)となる。このクロックCK1の1周期をCPU
22とトーンジェネレータ25とが半分ずつ使用するこ
とになる(前半をCPU22、後半をトーンジェネレー
タ25がそれぞれ使用する)。
【0040】また、本実施例のトーンジェネレータ25
は、8個のオシレータを備えているので、各オシレータ
(TG0〜TG7)に平等にアクセスするために、図6
(c)〜(f)に示すように、クロックCK1を2分の1
分周したクロックCK2、クロックCK2を2分の1分
周したクロックCK3、クロックCK3を2分の1分周
したクロックCK4が、それぞれ設けられている。
【0041】これらクロックCK1〜CK4(以下、
「時分割チャネル信号TSCH」という)により、CP
U22又はオシレータTG0〜TG7の何れか1つを交
互に選択するようになっている。
【0042】従って、上記アドレスバス20及びデータ
バス21は、該時分割チャネル信号TSCHで特定され
る1タイムスロット毎に時分割されて使用されることに
なる。
【0043】上記CPU22は、ROM23に記憶され
ている制御プログラムに従って当該ブロックBLK2の
各部を制御するものである。例えば、このCPU22
は、ブロックBLK1のCPU12からインタフェース
回路15を介して送られてくるデータ、例えば発音開始
指令、発音終了指令又は音色変更指令等を受け取ってト
ーンジェネレータ25を制御する。
【0044】ROM23は、上述したように、CPU2
2の制御プログラムが格納される他、CPU22が使用
する種々の固定データが記憶される。このROM23に
は、トーンジェネレータ25の内部のオシレータが読み
出す楽音波形データも記憶されている。
【0045】RAM24は、CPU22が取り扱うデー
タを一時的に記憶するものであり、当該電子楽器を制御
するための各種レジスタ、カウンタ、フラグ等が定義さ
れている。例えば、このRAM24には、発音に必要な
音色データ、トーンジェネレータ25の内部のオシレー
タが読み出す楽音波形データが記憶される。
【0046】トーンジェネレータ25は、8個のオシレ
ータを備えた音源である。即ち、トーンジェネレータ2
5は、CPU22からの発音開始指令を受けてROM2
3に記憶された楽音波形データを読み出し、デジタル信
号処理装置32に送出する。また、CPU22からの発
音終了指令を受けてROM23に記憶された楽音波形デ
ータの読み出しを終了し、デジタル信号処理装置32へ
の送出を停止する。
【0047】ブロックBLK3においては、アドレスバ
ス30及びデータバス31を介して、デジタル信号処理
装置(DSP)32、RAM33及びRAM34が相互
に接続されている。
【0048】DSP32は、ブロックBLK2のトーン
ジェネレータ25から楽音信号を受け取り、音響効果を
付加してD/A変換器(DAC)35に送出するもので
ある。
【0049】RAM33は、DSP32が動作するため
のプログラムを記憶するものである。このRAM33に
記憶されるプログラムは、ブロックBLK1のCPU1
2から送られてくるものであり、電源投入時に行う初期
化処理でロードされる。
【0050】RAM34は、ブロックBLK2のトーン
ジェネレータ25から送られてくる楽音信号データを一
時記憶するものである。このRAM34に記憶された楽
音信号データは、DSP32により、音響効果を発生さ
せるための加工が施される。例えば、当該RAM34を
用いて楽音信号データを遅延させることにより、リバー
ブ効果機能などが実現される。
【0051】DSP32に接続されるD/A変換器35
は、該DSP32が出力するデジタル楽音信号をアナロ
グ楽音信号に変換するものである。このD/A変換器3
5の出力は、増幅器36に供給される。
【0052】増幅器36は、入力されたアナログ楽音信
号を所定の利得で増幅して出力するものである。この増
幅器36の出力は、スピーカ37に供給されるようにな
っている。
【0053】スピーカ37は、電気信号としてのアナロ
グ楽音信号を音響信号に変換する周知のものである。
【0054】次に、上記トーンジェネレータ25を構成
するオシレータの詳細につき、図2〜図5を参照して詳
細に説明する。
【0055】各オシレータは、図2に示すように、波形
アドレスジェネレータ40、波形メモリ41、エンベロ
ープジェネレータ42及び乗算器43で構成されてい
る。
【0056】波形アドレスジェネレータ40は、CPU
22から発音周波数に比例したデータである「周波数ナ
ンバ」その他のデータを受け取り、これら各データに基
づき、楽音波形データを読み出すための波形アドレスを
生成するものである。この波形アドレスジェネレータ4
0が出力する波形アドレスは波形メモリ41に供給され
る。この波形アドレスジェネレータ40の詳細について
は、後述する。
【0057】波形メモリ41は、上述したROM23の
一部であり、音色や音域に対応した複数種類の楽音波形
データを記憶するものである。各音色毎の楽音波形デー
タは、後述するように、波形の読出開始アドレス(S
A)、繰り返し先頭アドレス(LT)及び繰り返し終了
アドレス(LE)で特定される。この波形メモリ41の
出力は、乗算器43の一方の入力に供給される。
【0058】エンベロープジェネレータ42は、CPU
22から送られてくるエンベロープの目標値、漸近速度
等のデータに基づき、上記波形メモリ41から読み出さ
れた楽音波形データにエンベロープを付与するためのエ
ンベロープデータを発生するものである。このエンベロ
ープジェネレータ42の出力は、乗算器43の他方の入
力に供給される。
【0059】乗算器43は、上記波形メモリ41から出
力される楽音波形データと、上記エンベロープジェネレ
ータ42から出力されるエンベロープデータとを乗算す
ることにより楽音波形データにエンベロープを付加し、
デジタル楽音信号として出力するものである。このデジ
タル楽音信号が、DSP32に供給されることになる。
【0060】上記波形アドレスジェネレータ40の詳細
な構成を図3に示す。波形アドレスジェネレータ40
は、内部RAM50、内部RAM51、選択回路52及
び加算器53から構成される。
【0061】内部RAM50は、トーンジェネレータ2
5内部に設けられるRAMであり、CPU22から送出
される周波数ナンバを、書込信号WRに応じて時分割チ
ャネル信号TSCHでアドレスされる位置に記憶する。
従って、この内部RAM50には、8個の各オシレータ
に対応した周波数ナンバが記憶されるようになってい
る。
【0062】また、この内部RAM50の内容は、上記
時分割チャネル信号TSCHをアドレスとして読み出さ
れ、この読み出された周波数ナンバは、加算器53の一
方の入力に供給される。そして、後述するように、加算
器53の他方の入力に供給される読出開始アドレス(S
A)又は波形繰り返し先頭アドレスに対する増分として
使用される。この増分の大小により、発音する音の周波
数、つまり音高が決定される。
【0063】内部RAM51も、トーンジェネレータ2
5内部に設けられるRAMであり、加算器53の出力、
つまり現波形アドレス(CA)を1演算サイクル毎に記
憶するものである。この内部RAM51に記憶された現
波形アドレス(CA)は、選択回路52に与えられる。
【0064】選択回路52は、内部RAM51が出力す
る現波形アドレス(CA)、又は波形の読出開始アドレ
ス(SA)、又は繰り返し先頭アドレス(LT)の何れ
かを選択して出力するものである(詳細は後述する)。
この選択回路52の出力は、加算器53の他方の入力に
供給される。
【0065】加算器53は、上記内部RAM50の出力
と選択回路52の出力とを加算するものである。この加
算器53の出力は、内部RAM51に供給されて1演算
サイクルの間記憶されるとともに、波形アドレスとして
波形メモリ41(図2参照)に供給される。
【0066】上記選択回路52の詳細な構成を図4に示
す。選択回路52は、内部RAM60、内部RAM6
1、内部RAM62、セレクタ63及び加算器64で構
成される。
【0067】内部RAM60は、トーンジェネレータ2
5内部に設けられるRAMであり、CPU22から送出
される読出開始アドレス(SA)を、書込信号WRに応
じて時分割チャネル信号TSCHでアドレスされる位置
に記憶する。従って、この内部RAM60には、8個の
各オシレータに対応した読出開始アドレス(SA)が記
憶されるようになっている。
【0068】また、この内部RAM60の内容は、上記
時分割チャネル信号TSCHをアドレスとして読み出さ
れ、この読み出された読出開始アドレス(SA)は、セ
レクタ64のA入力に供給される。
【0069】内部RAM61は、トーンジェネレータ2
5内部に設けられるRAMであり、CPU22から送出
される繰り返し先頭アドレス(LT)を、書込信号WR
に応じて時分割チャネル信号TSCHでアドレスされる
位置に記憶する。従って、この内部RAM61には、各
オシレータに対応した繰り返し先頭アドレス(LT)が
記憶されるようになっている。
【0070】また、この内部RAM61の内容は、上記
時分割チャネル信号TSCHをアドレスとして読み出さ
れ、この読み出された繰り返し先頭アドレス(LT)
は、セレクタ64のB入力に供給される。
【0071】内部RAM62は、トーンジェネレータ2
5内部に設けられるRAMであり、CPU22から送出
される繰り返し終了アドレス(LE)を、書込信号WR
に応じて時分割チャネル信号TSCHでアドレスされる
位置に記憶する。従って、この内部RAM62には、各
オシレータに対応した繰り返し終了アドレス(LE)が
記憶されるようになっている。
【0072】また、この内部RAM62の内容は、上記
時分割チャネル信号TSCHをアドレスとして読み出さ
れ、この読み出された繰り返し終了アドレス(LE)
は、セレクタ64のC入力に供給される。
【0073】加算器63は、内部RAM62が出力する
繰り返し終了アドレス(LE)から現波形アドレス(C
A)を減算するものである。これにより、現波形アドレ
ス(CA)が繰り返し終了アドレス(LE)を越えたか
否かを判断するようになっている。
【0074】即ち、繰り返し終了アドレス(LE)から
現波形アドレス(CA)を減算した結果、減算可能(L
E≧CA)であればキャリー信号CRYがアクティブに
なり、減算不可能(LE<CA)であればキャリー信号
CRYがインアクティブになる。この加算器63が出力
するキャリー信号CRYは、セレクタ64に供給され、
入力の選択に使用される。
【0075】セレクタ64は、3入力1出力の選択回路
であり、書込信号WR及びキャリー信号CRYに応じて
それぞれ所定のデータを選択して出力するものである。
即ち、このセレクタ64は、書込信号WRがアクティブ
にされるとA入力が選択され、内部RAM60の内容、
つまり読出開始アドレス(SA)が出力される。
【0076】また、キャリー信号CRYがアクティブに
されるとC入力が選択され、内部RAM51の内容、つ
まり現波形アドレス(CA)が出力される。上記以外の
場合は、セレクタ64はB入力が選択され、内部RAM
61の内容、つまり、繰り返し先頭アドレスが出力(L
T)される。
【0077】次に、図2に示したエンベロープジェネレ
ータ42の詳細につき、図5を参照して説明する。
【0078】内部RAM70は、トーンジェネレータ2
5内部に設けられるRAMであり、CPU22から送出
される「エンベロープの漸近速度(SP)」を、書込信
号WRに応じて時分割チャネル信号TSCHでアドレス
される位置に記憶する。従って、この内部RAM70に
は、8個の各オシレータに対応したエンベロープの漸近
速度(SP)が記憶されるようになっている。
【0079】また、この内部RAM70の内容は、上記
時分割チャネル信号TSCHをアドレスとして読み出さ
れ、この読み出されたエンベロープの漸近速度(SP)
は、乗算器75の一方の入力に供給される。
【0080】内部RAM71は、トーンジェネレータ2
5内部に設けられるRAMであり、CPU22から送出
される「エンベロープの目標値(L)」を、書込信号W
Rに応じて時分割チャネル信号TSCHでアドレスされ
る位置に記憶する。従って、この内部RAM71には、
8個の各オシレータに対応したエンベロープの目標値
(L)が記憶されるようになっている。
【0081】また、この内部RAM71の内容は、上記
時分割チャネル信号TSCHをアドレスとして読み出さ
れ、この読み出されたエンベロープの目標値(L)は、
加算器73の一方の入力に供給される。
【0082】内部RAM72は、トーンジェネレータ2
5内部に設けられるRAMであり、乗算器75から出力
されるエンベロープの現在値(CL)を累積記憶するも
のである。この内部RAM72の出力は、加算器73の
他方の入力に供給されるようになっている。
【0083】加算器73は、内部RAM71の出力から
内部RAM72の出力を減算するものである。即ち、エ
ンベロープの目標値(L)からエンベロープの現在値
(CL)を減算し、その差分を算出するものである。こ
の加算器73の出力は、乗算器75の他方の入力に供給
される。
【0084】乗算器75は、上記内部RAM70から出
力されるエンベロープの漸近速度(SP)と、加算器7
3から出力される差分値とを乗算するものである。この
乗算器75の出力は、加算器74の他方の入力に供給さ
れ、エンベロープの現在値(CL)に対する変位量とし
て使用される。
【0085】加算器74は、上述したように、内部RA
M72から出力されるエンベロープの現在値(CL)
と、乗算器75が出力する変位量とを加算し、新たなエ
ンベロープの現在値(CL)として出力するものであ
る。この加算器74が出力する新たなエンベロープの現
在値(CL)は内部RAM72に記憶されるとともに、
乗算器43(図2参照)に供給される。
【0086】このように構成されるエンベロープジェネ
レータ42は、要するに下式の演算を行うことになる。
【0087】 CLn+1 ←CLn +(L−CLn )×SP…(1) ここで、CLn はエンベロープの現在値、CLn+1 は新
たなエンベロープの値、Lはエンベロープの目標値、S
Pはエンベロープの漸近速度である。
【0088】このようにして各オシレータに割り当てら
れた各タイムスロットで次々に新たなエンベロープデー
タが生成されることにより、エンベロープデータは徐々
に目標値に漸近することになる。
【0089】次に、以上のように構成されるオシレータ
の動作について簡単に説明する。
【0090】この実施例では、音色データは、図15に
示すように、コモンデータとデルタデータとに分けて記
憶されている。コモンデータは、全音域に適用されるデ
ータである。このコモンデータは、2ソース音色を実現
するために、2セット備えられている。
【0091】コモンデータは、上述した波形の読出開始
アドレス(SA)、繰り返し先頭アドレス(LT)、繰
り返し終了アドレス(LE)、エンベロープの目標値
(L)及びエンベロープの漸近速度(SP)の他に、タ
ッチの係数及び音程のオフセットが含まれている。
【0092】タッチの係数は、全鍵域でタッチの強さを
変えるための係数である。このタッチの係数は、エンベ
ロープの目標値及び漸近速度に反映され、全体としてキ
ータッチを強めに、又は弱めに設定するために使用され
る。
【0093】音程のオフセットは、発音すべき音の周波
数を若干ずらすために使用されるものである。この音程
のオフセットは、音高を決める周波数ナンバに反映さ
れ、全体として音を高め又は低めに設定するために使用
される。
【0094】一方、上記デルタデータは、音域毎に設け
られるデータであり、上記コモンデータを構成する各デ
ータに対応したオフセットデータで構成されている。こ
のデルタデータの種類に対応する音域は、任意に定める
ことができる。
【0095】これらコモンデータとデルタデータとは加
算されてトーンジェネレータ25に与えられる。これに
より、例えば同一の楽器音であっても、音域毎に異なっ
た音色の音を発生させることができるものとなってい
る。
【0096】発音に際しては、上述した音色データと周
波数ナンバがトーンジェネレータ25内の選択されたオ
シレータに与えられる。ここで、発音に供されるオシレ
ータの選択は、後述する方法により行われる。
【0097】トーンジェネレータ25内の選択されたオ
シレータでは、上述したように、波形アドレスジェネレ
ータ40が波形の読出開始アドレス(SA)、繰り返し
先頭アドレス(LT)及び繰り返し終了アドレス(L
E)を用いて波形アドレスを生成し、該波形アドレスに
より波形メモリ41から楽音波形データを読み出して乗
算器43に供給する。
【0098】一方、トーンジェネレータ25内の選択さ
れたオシレータでは、上述したように、エンベロープジ
ェネレータ42がエンベロープの目標値(L)及びエン
ベロープの漸近速度(SP)を用いてエンベロープデー
タを生成し乗算器43に与える。そして、乗算器43
で、これら楽音波形データとエンベロープデータとを乗
算し、デジタル楽音信号を生成する。
【0099】次に、上記構成において、当該電子楽器の
動作につき、音色制御装置の動作を主体に説明する。
【0100】図7は、ブロックBLK1のCPU12の
処理を示すフローチャート(メインルーチン)である。
電源が投入されると、先ず、初期化処理が行われる(ス
テップS10)。
【0101】この初期化処理は、CPU12の内部状態
を初期状態に設定するとともに、RAM14に定義され
ているレジスタ、カウンタ或いはフラグ等を初期状態に
設定する処理である。また、この初期化処理では、ブロ
ックBLK3のRAM33に、DSP32を動作させる
ための制御プログラムを転送する処理も行われる。
【0102】上記初期化処理が終了すると、イベントの
有無が調べられる(ステップS11)。これは、RAM
14に設けられたイベントキューを調べることにより行
われる。
【0103】イベントキューは、図14(A)に示すよ
うに、書込カウンタECTRと読出ポインタEPTRと
で制御されるファーストインファーストアウト(FIF
O)メモリとして実現される。即ち、書込カウンタEC
TRの制御の下にイベントデータが書き込まれ、また、
読出ポインタEPTRの制御の下で既に書き込まれてい
るイベントデータが読み出される。
【0104】従って、書込カウンタECTRと読出ポイ
ンタEPTRとが一致するときは、イベントキューはエ
ンプティであるので、イベント無しとして判断される。
一方、書込カウンタECTRと読出ポインタEPTRと
が一致しないときは、処理未了のイベントデータが存在
するので、イベント有りとして判断されることになる。
【0105】上記ステップS11でイベントが無いこと
が判断されると、該ステップS11でループして待機す
る。この待機状態において、イベントが発生した旨が判
断されると、イベント形式変更が行われる(ステップS
12)。
【0106】このイベント形式変更処理は、イベントキ
ューに記憶されているイベントデータをCPU22が取
り扱える形式に変換する処理である。
【0107】次いで、CPU22がビジーであるか否か
が調べられる(ステップS13)。これは、CPU22
がイベントデータを受信できる状態にあるか否かを調べ
る処理である。
【0108】ここで、CPU22がビジーであることが
判断されると、該ステップS13でループして待機状態
に入る。この待機状態で、CPU22のビジー状態が解
除されると、イベント転送処理が行われる(ステップS
14)。
【0109】このイベント転送処理は、CPU22に対
しイベントデータを送出する旨の割り込みをかけるとと
もに、RAM14のイベントキューから取り出したイベ
ントデータをCPU22に送出する処理である。
【0110】CPU22は、割り込み処理(詳細は後
述)により該イベントデータを受け取り、RAM24に
形成されるイベントキューにキューイングする。このR
AM24に形成されるイベントキューも、図14(A)
に示したイベントキューと全く同一の構成であるので、
ここでの説明は省略する。
【0111】このイベント転送処理が終了するとステッ
プS11へ戻り、上述したと同様の動作を繰り返し実行
する。
【0112】一方、このブロックBLK1では、キーボ
ード18b及びパネルスイッチ19の各操作状態や、シ
リアル入力装置17からのデータの入力は、割り込みに
よりCPU12に伝えられるようになっている。
【0113】即ち、キーボード18b又はパネルスイッ
チ19が操作され、或いはシリアル入力装置17からデ
ータの入力があると、図3に示す割り込み処理ルーチン
が起動される。
【0114】この割り込み処理ルーチンでは、イベント
書込処理が行われる(ステップS20)。イベント書込
処理では、図11(A)に示すように、イベントキュー
の先頭アドレスEQに書込カウンタECTRの値を加算
し、アドレスレジスタADDRにセットする(ステップ
S50)。
【0115】次いで、上記アドレスレジスタADDRの
内容をアドレスとして、割り込み要因となったイベント
のイベントデータDATAを、イベントキューに書き込
む(ステップS51)。各割り込み要因に対応するイベ
ントデータDATAの一例を図14(B)に示す。
【0116】そして、書込カウンタECTRにイベント
サイズESIZE(割り込み要因となったイベントの種
類により異なる)を加算し、このイベント書込処理ルー
チン及び割り込み処理ルーチンからリターンする。
【0117】例えば、キーボード18bの何れかのキー
が押下されると、その旨を示す割り込み信号がCPU1
2に供給されるとともに、キーオンデータ(キーオンを
示すコード、キーナンバ、タッチデータ及び音色番号の
4バイト)が、タッチセンサ18aを介してCPU12
に送られる。そして、このキーオンデータは、書込カウ
ンタECTRの内容とイベントキュー先頭アドレスEQ
とで決定されるアドレスから4バイトの領域に書き込ま
れ、書込カウンタECTRは「+4」される。
【0118】同様に、例えば、キーボード18bの押下
中のキーが離反されると、その旨を示す割り込み信号が
CPU12に供給されるとともに、キーオフデータ(キ
ーオフを示すコード、キーナンバ、オフタッチデータ及
び音色番号の4バイト)が、タッチセンサ18aを介し
てCPU12に送られる。そして、このキーオフデータ
は書込カウンタECTRの内容とイベントキュー先頭ア
ドレスEQとで決定されるアドレスから4バイトの領域
に書き込まれ、書込カウンタECTRは「+4」され
る。
【0119】さらに、例えば、パネルスイッチ19の音
色切換スイッチが操作されると、その旨を示す割り込み
信号がCPU12に供給されるとともに、音色切換デー
タ(音色切換を示すコード、音色バンク及び音色番号の
3バイト)が、インタフェース回路15を介してCPU
12に送られる。そして、該音色切換データは書込カウ
ンタECTRの内容とイベントキュー先頭アドレスEQ
とで決定されるアドレスから3バイトの領域に書き込ま
れ、書込カウンタECTRは「+3」される。
【0120】シリアル入力装置17からデータが入力さ
れた場合も、詳細な説明は省略するが、上記と同様の処
理でイベントキューに順次書き込まれる。
【0121】次に、ブロックBLK2の動作につき説明
する。図9は、ブロックBLK2のCPU22の処理を
示すフローチャート(メインルーチン)である。電源が
投入されると、先ず、初期化処理が行われる(ステップ
S30)。
【0122】この初期化処理は、CPU22の内部状態
を初期状態に設定するとともに、RAM24に定義され
ているレジスタ、カウンタ或いはフラグ等を初期状態に
設定する処理である。また、トーンジェネレータ25の
内部状態を初期状態に設定し、不要な音が発音されるの
を防止する処理も行われる。
【0123】上記初期化処理が終了すると、イベントの
有無が調べられる(ステップS31)。これは、RAM
24に設けられたイベントキュー(図示しない)を調べ
ることにより行われる。
【0124】上記ステップS31でイベントが無いこと
が判断されると、該ステップS31でループして待機す
る。この待機状態において、イベントが発生した旨が判
断されると、イベント読出処理が行われる(ステップS
32)。
【0125】イベント読出処理では、図11(B)に示
すように、先ず、イベントキューの先頭アドレスEQに
読出ポインタEPTRの値を加算し、アドレスレジスタ
ADDRにセットする(ステップS55)。
【0126】次いで、上記アドレスレジスタADDRの
内容をアドレスとして、イベントキューからイベントデ
ータDATAを読み出す(ステップS56)。
【0127】次いで、読出ポインタEPTRにイベント
サイズESIZE(イベントの種類により異なる)を加
算し、このイベント読出処理ルーチンからリターンし、
メインルーチンに戻る。
【0128】メインルーチンでは、読み出したイベント
がスタートイベントであるか否かが調べられる(ステッ
プS33)。即ち、キーボード18bの押下又はシリア
ル入力装置17からのキーオンデータの受信に基づく発
音開始指令であるか否かが調べられる。そして、スター
トイベントであることが判断されると、発音開始処理が
行われ(ステップS34)、スタートイベントでないこ
とが判断されると、該発音開始処理はスキップされる。
発音開始処理については後述する。
【0129】次いで、読み出したイベントがフィニッシ
ュイベントであるか否かが調べられる(ステップS3
5)。即ち、キーボード18bの離鍵又はシリアル入力
装置17からのキーオフデータの受信に基づく発音終了
指令であるか否かが調べられる。そして、フィニッシュ
イベントであることが判断されると、発音終了処理が行
われ(ステップS36)、フィニッシュイベントでない
ことが判断されると、該発音終了処理はスキップされ
る。発音終了処理については後述する。
【0130】次いで、読み出したイベントが音色イベン
トであるか否かが調べられる(ステップS37)。即
ち、パネルスイッチ19の操作又はシリアル入力装置1
7からの音色変更データの受信に基づく音色変更指令で
あるか否かが調べられる。そして、音色イベントである
ことが判断されると、音色変更処理が行われ(ステップ
S38)、その後ステップS31に戻り、以下同様の処
理を繰り返す。
【0131】一方、音色イベントでないことが判断され
た場合は、音色変更処理を行わずにステップS31に戻
り、以下同様の処理を繰り返す。
【0132】一方、このブロックBLK2では、ブロッ
クBLK1のCPU12が送出するイベントデータ(図
7のステップS14で送出される)は、割り込みにより
CPU22に転送されるようになっている。
【0133】即ち、ブロックBLK1からイベントデー
タを転送する旨の割込が発生すると、図10に示す割り
込み処理ルーチンが起動される。
【0134】この割り込み処理ルーチンでは、先ず、受
け取ったイベントデータがキーオンデータであるか否か
が調べられる(ステップS40)。そして、キーオンデ
ータであることが判断されると、イベント書込が行われ
る(ステップS41)。このイベント書込処理について
は既に説明したので、ここでの説明は省略する。
【0135】一方、受け取ったイベントデータがキーオ
ンデータでないことが判断されると、該データがキーオ
フデータであるか否かが調べられる(ステップS4
2)。そして、キーオフデータであることが判断される
と、上記と同様にイベント書込が行われる(ステップS
43)。
【0136】一方、受け取ったイベントデータがキーオ
フデータでないことが判断されると、該データが音色切
換データであるか否かが調べられる(ステップS4
4)。そして、音色切換データであることが判断される
と、上記と同様にイベント書込が行われ(ステップS4
5)、その後、この割り込み処理ルーチンからリターン
する。
【0137】上記ステップS44で、受け取ったイベン
トデータが音色変更データでないことが判断された場合
も、この割り込み処理ルーチンからリターンする。
【0138】かかる割り込み処理を行うことにより、C
PU12によってRAM14に形成されたイベントキュ
ーの内容が、RAM24に移されることになる。CPU
22は、RAM24に移されたイベントキューを参照す
ることにより、イベントの有無を調べることになる(図
9のステップS31)。
【0139】次に、図9に示したメインルーチンで行う
発音開始処理、発音終了処理及び音色変更処理について
説明するが、これらの説明に先立って、本実施例で用い
るキーアサイナの概略について説明する。
【0140】キーアサイナは、疑似後押優先・ポインタ
ソート方式の2ソース音色/1ソース音色混在可能なも
のである。本実施例のキーアサイナは、以下の〜に
示す概略規則に従って処理が行われる。
【0141】押鍵イベントに対して必ず発音を行う。 発音終了状態のチャネルが存在する場合、必ず該チャ
ネルに対して割当を行う。 発音終了状態のチャネルがない場合、最も古く割当が
行われたと考えられるチャネルに対して割当を行う。 2ソース音色は必ず偶数チャネルを起点とする隣合っ
たチャネルに割当を行う。
【0142】ここで、オシレータに対する発音割当は、
例えば図16、図17に示すような、RAM24に設け
られるテーブル及び該テーブルの所定エントリを指すポ
インタにより管理される。
【0143】このテーブルには、トーンジェネレータ2
5を構成する8つのオシレータに対応してそれぞれ1バ
イトのオシレータ番号が記憶される。また、このテーブ
ル中の各オシレータ番号に対応するオシレータが発音中
であるか否かを記憶できるようになっている(図16、
図17において、発音中のオシレータは「*」で示され
る)。
【0144】この発音中であるか否かの記憶は、上記テ
ーブルに対応する別のテーブルを備えることにより、又
は上記オシレータ番号を記憶した1バイト中の未使用ビ
ットを用いることにより実現できる。
【0145】また、ポインタは、図16、図17中矢印
で示され、アサインすべきオシレータを2個1組で指す
ように制御されるものである。
【0146】発音開始処理では、図12(A)に示すよ
うに、先ず、発音指示されたキーオンデータが2ソース
音色であるか否かが調べられる(ステップS60)。
【0147】ここで、2ソース音色であることが判断さ
れるとステップS63に分岐し、現在ポインタが示して
いる2つのオシレータに対し音色データの転送を行う。
【0148】即ち、当該キーオンデータに含まれる音色
番号に対応するコモンデータ(図15(A)参照)をR
OM23から読み出し、レジスタvに入れる(ステップ
S63)。次いで、当該キーオンデータに含まれるキー
ナンバが属する鍵域に対応するデルタデータ(図15
(B)参照)をROM23から読み出し、上記レジスタ
vの内容と加算し、同じくレジスタvに格納する(ステ
ップS65)。
【0149】次いで、レジスタvの内容をトーンジェネ
レータ25に送出する(ステップS65)。そして、ポ
インタを「+2」し(ステップS66)。この発音開始
処理ルーチンからリターンする。
【0150】これにより、トーンジェネレータ25で
は、既に説明したように、指定された音色で発音が行わ
れることになる。なお、発音すべき音高は、CPU22
からトーンジェネレータ25に与えられる周波数ナンバ
により決定される。
【0151】一方、上記ステップS60で2ソース音色
でないことが判断されると、1ソース音色である旨を認
識し、ポインタで指定された1対のオシレータのうちの
1つのオシレータのみ使用中のエントリが有るか否かが
調べられる(ステップS61)。
【0152】ここで、1オシレータのみ使用中のエント
リが無い、つまりポインタが示すオシレータは2つとも
未使用であることが判断されるとステップS63に分岐
し、ポインタが示す2つのオシレータのうちの1つのオ
シレータに対しデータ転送を行う(ステップS63〜S
65)。これにより、1ソース音色の音が発音されるこ
とになる。この際、ポインタが示す他方のオシレータに
は発音割当は行わないで残される。
【0153】上記ステップS61で、ポインタで指定さ
れた1対のオシレータのうちの1つのオシレータのみ使
用中であるエントリが有ることが判断されると、ポイン
タソート処理が行われる(ステップS62)。このポイ
ンタソート処理の動作を、図16の(6)を参照して説明
する。
【0154】ポインタソート処理では、テーブルを検索
して空きオシレータが発見されると(図16(6) では
「TG5」が空いている)、該オシレータが含まれるエ
ントリを対で現在ポインタが指しているエントリに移
し、該エントリに元々存在したデータを順次2バイトず
つシフトし、ポインタソート処理を終了する。
【0155】上記ポインタソート処理が終了すると、上
述したと同様に、上記空きのオシレータ(図では「TG
5」)で発音を行うべく、データ転送が行われる(ステ
ップS63〜S65)。次いで、ポインタを「+2」し
(ステップS66)。この発音開始処理ルーチンからリ
ターンする。
【0156】以上のキーアサイナの動作の理解を容易に
するために、図16及び図17を参照して、テーブル及
びポインタの動きと発音割当の関係について、さらに説
明を加える。
【0157】電源投入直後のリセット時には、図16
(1) に示すように、オシレータTG0〜TG7は、その
番号の若い順に整列され、ポインタはオシレータTG0
/TG1を指すように設定される。この際、全てのオシ
レータは発音停止状態にされる。
【0158】かかる状態で2ソース音色の発音要求があ
ると、図16(2) に示すように、ポインタが示すオシレ
ータ、つまりオシレータTG0及びTG1に発音が割り
当てられ、ポインタは「+2」される。
【0159】さらに2ソース音色の発音要求があると、
図16(3) に示すように、ポインタが示すオシレータ、
つまりオシレータTG2及びTG3に発音が割り当てら
れ、ポインタは「+2」される。
【0160】この状態で、1ソース音色の発音要求があ
ると、1対のオシレータのうちの1つのオシレータのみ
使用中のエントリが有るか否かが調べられるが、この場
合、上記条件に合致するエントリが存在しないので、図
16(4) に示すように、ポインタが示すオシレータTG
4及びTG5のうちの1つのオシレータTG4に発音が
割り当てられ、ポインタは「+2」される。従って、こ
の時点では、オシレータTG5は未使用の状態で残され
る。
【0161】この状態で、2ソース音色の発音要求があ
ると、図16(5) に示すように、ポインタが示すオシレ
ータ、つまりオシレータTG6及びTG7に発音が割り
当てられ、ポインタは「+2」される。これにより、ポ
インタはラウンドし、初期位置に戻る。
【0162】この状態で、1ソース音色の発音要求があ
ると、図16(6) に示すように、1対のオシレータの
うちの1つのオシレータのみ使用中のエントリが有るか
否かが検索される。この検索は、現在ポインタが指して
いるエントリから順次行われる。この場合、上記条件に
合致するエントリ(オシレータTG5が未使用)が存在
するので、図16(6) に示すように、ソート処理が行
われる。
【0163】このソート処理では、ポインタが指す位置
と、検索された未使用オシレータが存在する位置との間
でオシレータ番号の入替えが行われる。そして、未使用
のオシレータTG5に発音が割り当てられ、ポインタは
「+2」される。
【0164】この状態で、2ソース音色の発音要求があ
ると、図17(7) に示すように、ポインタが示すオシレ
ータ、つまりオシレータTG0及びTG1で既に発音中
の音は強制的に消音され、該オシレータTG0及びTG
1に発音が割り当てられ、ポインタは「+2」される。
【0165】この状態で全ての発音が終了すると、図1
7(8) に示すように、テーブル中のオシレータ番号及び
ポインタはそのままで、発音中を示すマーク「*」は全
て解除される。
【0166】この状態で、1ソース音色の発音要求が連
続して4回発生すると、図16(9)に示すように、2つ
のオシレータ対の1つのオシレータのみに発音が割り当
てられる。
【0167】この状態で、2ソース音色の発音要求があ
ると、図17(10)に示すように、ポインタが示すオシレ
ータ、つまりオシレータTG2で既に発音中の音は強制
的に消音され、オシレータTG0及びTG1に発音が割
り当てられ、ポインタは「+2」される。
【0168】この状態で、1ソース音色の発音要求があ
ると、図16(11)に示すように、1対のオシレータの
うちの1つのオシレータのみ使用中のエントリが有るか
否かが検索される。この検索は、現在ポインタが指して
いるエントリから順次行われる。この場合、上記条件に
合致するエントリ(オシレータTG7が未使用であるこ
とが最初に発見される)が存在するので、図16(6)
に示すように、ソート処理が行われる。
【0169】しかしながら、この場合、ポインタが指す
位置と未使用のオシレータがある位置が同じであるの
で、オシレータ番号の移動は行われない。そして、未使
用のオシレータTG7に発音が割り当てられ、ポインタ
は「+2」される。
【0170】以下、同様の方法で発音割当を行いながら
順次、発音要求のあった音の発音が行われることにな
る。
【0171】次に、発音開始処理について説明する。発
音開始処理では、図12(B)に示すように、先ず、キ
ーオフが指定された発音中のオシレータが検索される
(ステップS67)。
【0172】次いで、キーオフデータを転送する(ステ
ップS68)。これにより、検索された発音中のオシレ
ータの駆動が停止され、発音が終了することになる。
【0173】次いで、ポインタソートが行われる(ステ
ップS69)。このポインタソートは、上記ステップS
62で行う処理と同じであるので、ここでの説明は省略
する。その後、この発音終了処理ルーチンからリターン
する。
【0174】このように、発音終了時にポインタソート
を行っておくことにより、次回に1ソース音色を発音す
る際の検索が容易になるという利点がある。
【0175】次に、音色変更処理について説明する。音
色変更処理では、図13に示すように、先ず、音色切換
データに含まれる音色バンク(新BK)が、現在選択さ
れている音色バンク(BK)と同一のバンクであるか否
かが調べられる(ステップS70)。そして、同一バン
クでないことが判断されると、音色切換データに含まれ
る音色バンク(新BK)をこれから使用する音色バンク
(BK)とする(ステップS71)。
【0176】上記ステップS70で同一バンクであるこ
とが判断されると、ステップS71はスキップされ、音
色バンクデータの変更は行われない。
【0177】次いで、音色切換データに含まれる音色番
号が、現在選択されている音色番号と同一の音色である
か否かが調べられる(ステップS72)。そして、同一
音色でないことが判断されると、音色切換データに含ま
れる音色番号(新音色番号)をこれから使用する音色番
号とし(ステップS73)、この音色変更ルーチンから
リターンする。
【0178】上記ステップS70で同一バンクであるこ
とが判断されると、ステップS71はスキップされ、こ
の音色変更ルーチンからリターンする。
【0179】以上により、音色変更が行われ、発音に際
し使用する音色データが決定されることになる。
【0180】以上説明したように、本実施例によれば、
全音域に共通なコモンデータと、各音域に固有なデルタ
データとを別々に記憶しておき、発音に際しては、上記
コモンデータと、発音開始指令があった音が属する音域
に対応するデルタデータとを加算することにより所定の
音色データをつくりだし、該音色データに基づいて発音
するようにしている。
【0181】これにより、音色全体の雰囲気を変更した
場合に、音域毎に設けられた上記デルタデータの変更操
作を行うことなく、上記全音域に共通なコモンデータの
みを変更することにより音色全体の雰囲気を変更するこ
とができる。従って、音色全体の雰囲気を変更する操作
が容易になり、操作性に優れたものとなっている。
【0182】また、関数演算により音色全体の雰囲気を
変更する場合のように、複雑な演算を行う必要がなく、
加算という単純な演算のみで所定の音色データを得るこ
とができるので、発音指示から発音に至るまでの時間が
短くて済むという効果がある。また、多数の関数を用意
する必要がないので、音色データの実質的な増加を抑制
できる。
【0183】なお、上記実施例では、1つのオシレータ
で所定音色を発生する1ソース音色と2つのオシレータ
で所定音色を発生する2ソース音色が混在して同時発音
される場合について説明したが、任意の複数ソース音色
が混在する電子楽器においても同様に適用でき、上記実
施例と効用の作用効果を奏する。
【0184】
【発明の効果】以上詳述したように、本発明によれば、
発音指令を受けてから発音が完了するまでの時間を犠牲
にせずに、音色全体の雰囲気を容易に変更することので
きる電子楽器の音色制御装置を提供できる。
【図面の簡単な説明】
【図1】本発明の音色制御装置を適用した電子楽器の実
施例の構成を示すブロック図である。
【図2】本発明の実施例のオシレータの構成を示すブロ
ック図である。
【図3】図2における波形アドレスジェネレータの構成
を示すブロック図である。
【図4】図3における選択回路の構成を示すブロック図
である。
【図5】図2におけるエンベロープジェネレータの構成
を示すブロック図である。
【図6】本発明の実施例のクロックの概念を説明するた
めの図である。
【図7】本発明の実施例のCPU12の動作を示すフロ
ーチャート(メインルーチン)である。
【図8】本発明の実施例のCPU12に対する割り込み
処理を示すフローチャートである。
【図9】本発明の実施例のCPU22の動作を示すフロ
ーチャート(メインルーチン)である。
【図10】本発明の実施例のCPU22に対する割り込
み処理を示すフローチャートである。
【図11】本発明の実施例のイベント書込/イベント読
出処理を示すフローチャートである。
【図12】本発明の実施例の発音開始/発音終了処理を
示すフローチャートである。
【図13】本発明の実施例の音色変更処理を示すフロー
チャートである。
【図14】本発明の実施例のイベントキューを説明する
ための図である。
【図15】本発明の実施例の音色データの例を示す図で
ある。
【図16】本発明の実施例のアサイナの動作を説明する
ための図である。
【図17】本発明の実施例のアサイナの動作を説明する
ための図である。
【符号の説明】
12 CPU 13 ROM 14 RAM 17 シリアル入力装置 18a タッチセンサ 18b キーボード 19 パネルスイッチ 22 CPU 23 ROM 24 RAM 25 トーンジェネレータ(オシレータ) 32 デジタル信号処理装置
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成5年9月1日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0028
【補正方法】変更
【補正内容】
【0028】同じく、上記CPU12に接続されるシリ
アル入力装置17は、外部で発生された演奏データを当
該電子楽器に入力するものである。このシリアル入力装
置17には、例えばMIDI規格に則った形式の演奏デ
ータが入力される。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0066
【補正方法】変更
【補正内容】
【0066】上記選択回路52の詳細な構成を図4に示
す。選択回路52は、内部RAM60、内部RAM6
1、内部RAM62、セレクタ64及び加算器63で構
成される。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0113
【補正方法】変更
【補正内容】
【0113】即ち、キーボード18b又はパネルスイッ
チ19が操作され、或いはシリアル入力装置17からデ
ータの入力があると、図8に示す割り込み処理ルーチン
が起動される。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0116
【補正方法】変更
【補正内容】
【0116】そして、書込カウンタECTRにイベント
サイズESIZE(割り込み要因となったイベントの種
類により異なる)を加算し(ステップS52)、このイ
ベント書込処理ルーチン及び割り込み処理ルーチンから
リターンする。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0148
【補正方法】変更
【補正内容】
【0148】即ち、当該キーオンデータに含まれる音色
番号に対応するコモンデータ(図15(A)参照)をR
OM23から読み出し、レジスタvに入れる(ステップ
S63)。次いで、当該キーオンデータに含まれるキー
ナンバが属する鍵域に対応するデルタデータ(図15
(B)参照)をROM23から読み出し、上記レジスタ
vの内容と加算し、同じくレジスタvに格納する(ステ
ップS64)。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0167
【補正方法】変更
【補正内容】
【0167】この状態で、2ソース音色の発音要求があ
ると、図17(10)に示すように、ポインタが示すオ
シレータ、つまりオシレータTG2で既に発音中の音は
強制的に消音され、オシレータTG2及びTG3に発音
が割り当てられ、ポインタは「+2」される。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0168
【補正方法】変更
【補正内容】
【0168】この状態で、1ソース音色の発音要求があ
ると、図17(11)に示すように、1対のオシレー
タのうちの1つのオシレータのみ使用中のエントリが有
るか否かが検索される。この検索は、現在ポインタが指
しているエントリから順次行われる。この場合、上記条
件に合致するエントリ(オシレータTG7が未使用であ
ることが最初に発見される)が存在するので、図16
(6)に示すように、ソート処理が行われる。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0171
【補正方法】変更
【補正内容】
【0171】次に、発音終了処理について説明する。発
音終了処理では、図12(B)に示すように、先ず、キ
ーオフが指定された発音中のオシレータが検索される
(ステップS67)。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0178
【補正方法】変更
【補正内容】
【0178】上記ステップS72で同一音色であること
が判断されると、ステップS73はスキップされ、この
音色変更ルーチンからリターンする。
【手続補正10】
【補正対象書類名】図面
【補正対象項目名】図11
【補正方法】変更
【補正内容】
【図11】
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.5 識別記号 庁内整理番号 FI 技術表示箇所 G10H 7/02

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 発音開始指令があった際、発音すべき複
    数の音色データが予め記憶された記憶手段から音色デー
    タを読み出し、該音色データに応じて楽音を発生する電
    子楽器において、 全ての音域に共通な第1の音色データが記憶された第1
    の記憶手段と、 所定音域に固有な第2の音色データが記憶された第2の
    記憶手段と、 発音開始指令があった際、前記第1の記憶手段から読み
    出した第1の音色データと、前記第2の記憶手段から読
    み出した第2の音色データとに所定の演算を施す演算手
    段と、 該演算手段により演算されたデータに基づき所定の音色
    の楽音を発生する楽音発生手段とを具備したことを特徴
    とする電子楽器の音色制御装置。
  2. 【請求項2】 請求項1において、前記第2の記憶手段
    に記憶される第2の音色データは、前記第1の記憶手段
    に記憶される第1の音色データに対する変位量であるこ
    とを特徴とする電子楽器の音色制御装置。
JP4250429A 1992-08-27 1992-08-27 電子楽器の音色制御装置 Pending JPH0675574A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4250429A JPH0675574A (ja) 1992-08-27 1992-08-27 電子楽器の音色制御装置
US08/108,312 US5403968A (en) 1992-08-27 1993-08-18 Timbre control apparatus for an electronic musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4250429A JPH0675574A (ja) 1992-08-27 1992-08-27 電子楽器の音色制御装置

Publications (1)

Publication Number Publication Date
JPH0675574A true JPH0675574A (ja) 1994-03-18

Family

ID=17207755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4250429A Pending JPH0675574A (ja) 1992-08-27 1992-08-27 電子楽器の音色制御装置

Country Status (2)

Country Link
US (1) US5403968A (ja)
JP (1) JPH0675574A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784574A (ja) * 1993-09-14 1995-03-31 Kawai Musical Instr Mfg Co Ltd 電子楽器
JP2803582B2 (ja) * 1994-10-31 1998-09-24 ヤマハ株式会社 電子楽器の音色情報記憶装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6159396A (ja) * 1984-08-31 1986-03-26 ヤマハ株式会社 楽音発生装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5636697A (en) * 1979-09-03 1981-04-09 Nippon Musical Instruments Mfg Electronic musical instrument
JPS6145298A (ja) * 1984-08-09 1986-03-05 カシオ計算機株式会社 電子楽器
US5027690A (en) * 1986-02-12 1991-07-02 Nippon Gakki Seizo Kabushiki Kaisha Electronic musical keyboard instruments with variable touch sensitivity
JP2836258B2 (ja) * 1991-01-11 1998-12-14 ヤマハ株式会社 演奏データ記録装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6159396A (ja) * 1984-08-31 1986-03-26 ヤマハ株式会社 楽音発生装置

Also Published As

Publication number Publication date
US5403968A (en) 1995-04-04

Similar Documents

Publication Publication Date Title
JP3177374B2 (ja) 自動伴奏情報発生装置
JPH10187157A (ja) 自動演奏装置
US5428183A (en) Tone signal generating apparatus for performing a timbre change by storing a full frequency band in a wave memory
US4562763A (en) Waveform information generating system
JPH0675574A (ja) 電子楽器の音色制御装置
US5430242A (en) Electronic musical instrument
JP3152198B2 (ja) 楽音発生方法および楽音発生装置
JPH0675575A (ja) 電子楽器のキーアサイナ
JP2974356B2 (ja) 電子楽器のゆらぎ発生装置
JPH0331273B2 (ja)
JP2570045B2 (ja) 電子楽器
JPS6335038B2 (ja)
JP2639381B2 (ja) 電子楽器
JP2715677B2 (ja) 電子楽器
JP2921013B2 (ja) 演奏情報表示装置
JP2570819B2 (ja) 電子楽器
JPS6030789Y2 (ja) ポリフオニツクシンセサイザ
JP3116447B2 (ja) デジタル信号処理プロセッサ
JP3301173B2 (ja) 自動演奏装置
JPS6252317B2 (ja)
JPS6113599B2 (ja)
JP2596168B2 (ja) 電子楽器
JPH09160553A (ja) 電子楽器のゆらぎ発生装置
JPH0215299A (ja) 楽音合成装置
JPH0421199B2 (ja)