JP2905351B2 - 電子楽器 - Google Patents

電子楽器

Info

Publication number
JP2905351B2
JP2905351B2 JP4339573A JP33957392A JP2905351B2 JP 2905351 B2 JP2905351 B2 JP 2905351B2 JP 4339573 A JP4339573 A JP 4339573A JP 33957392 A JP33957392 A JP 33957392A JP 2905351 B2 JP2905351 B2 JP 2905351B2
Authority
JP
Japan
Prior art keywords
harmonic
tone
channels
musical instrument
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP4339573A
Other languages
English (en)
Other versions
JPH06167979A (ja
Inventor
勉 斎藤
直人 内海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP4339573A priority Critical patent/JP2905351B2/ja
Publication of JPH06167979A publication Critical patent/JPH06167979A/ja
Application granted granted Critical
Publication of JP2905351B2 publication Critical patent/JP2905351B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】 本発明は、楽音発生パラメータ
の演算を周期的に行うCPUと演算周期の間に補間演算
を行う回路とを組み合わせて所望の楽音信号を得る方式
を用いた電子楽器において、1つの楽音信号発生に使用
するチャネル数をなるべく少なくすることにより、より
多くの楽音を同時発生することができるようにした電子
楽器に関するものである。
【0002】
【従来の技術】従来、デジタル方式の電子楽器におい
て、CPUが広く利用されている。しかしCPUによっ
て処理される内容は、キーオンなどの演奏者の操作を検
出し、後の波形合成は専用LSIに任す方式が普通であ
った。これは、複数の楽音波形を同時に演算するには、
一般的なCPUの処理速度が遅すぎるためである。
【0003】また従来の方式の中には、例えばCPUで
波形を高調波合成して、専用LSIはこの合成波形を周
期的に読み出し、エンベロープを乗算し、累算して出力
するものもあった。
【0004】
【発明が解決しようとする課題】 前記したような従来
の電子楽器においては、固定的な波形合成LSIの仕様
に縛られ、また楽音波形の高調波合成の際に割当てるチ
ャネルの数も固定的であるので融通性がないという問題
点があった。また後者のような方式においても、専用L
SIの中の波形読み出し回路、エンベロープ発生回路、
エンベロープ乗算回路などは独立しており、共通化が困
難であるという問題点があった。
【0005】本発明の目的は、前記のような従来技術の
問題点を改良し、シンプルな回路構成で融通性のある楽
音発生制御が可能な波形合成装置を有する電子楽器を提
供することにある。
【0006】
【課題を解決するための手段】 本発明は、楽音発生情
報に基づいて、サンプリング周期より長い周期で、同時
発音させる複数チャネルの楽音発生パラメータを更新す
る制御手段と、サンプリング周期毎に、前記楽音発生パ
ラメータの補間演算を行なう補間手段と、前記補間手段
の出力に基づいて、複数チャネル分の楽音信号を発生す
る楽音信号発生手段と、前記複数チャネル分の楽音信号
を加算する波形合成手段と、選択された音色および発音
すべき音高の少なくとも一方の情報に基づいて、これに
対応する楽音の発生に必要な倍音の数を決定する手段と
を具備し、前記制御手段が前記の必要倍音数に応じた、
必要最小数のチャネルを割当てることを特徴とする。
【0007】
【作用】 本発明はこのような手段により、サンプリン
グ周期に較べて演算周期を長くすることができるので、
一般的なCPUを用いた制御手段によって楽音発生パラ
メータをリアルタイムに制御することが可能となると共
に、所望の楽音の発生に必要な倍音の数に応じた、必要
最小数のチャネルを割当てて発音させるので、同じ数の
チャネルを用いてより多くの楽音を発生することができ
る。反対に発生する楽音の数が同じならば、チャネル数
を減らすことができる。
【0008】
【実施例】以下に本発明の一実施例を図面を参照して詳
細に説明する。本実施例はサイン合成方式を用いてお
り、まずその方式について説明する。図1は本発明の電
子楽器における基本周波数と楽音の高調波の関係を示す
図である。本発明の電子楽器においては、例えば基本周
波数を0.55Hzに選定し、例えばC2(66Hz)
の楽音の基本波は基本周波数の120倍音というよう
に、全ての楽音の基本波並びに高調波が基本周波数に対
して単純な倍音で表されるようになっている。これは本
システムが12平均律音階の代わりに純正律音階を用い
ているためである。
【0009】純正律音階とは、各音階間が単純な周波数
比率に設定されているもので、この周波数比率は長調の
場合には図2(a)、短調の場合には図2(b)のよう
な比率になる。これらの比率の音が全て基本周波数の倍
音の関係になるには、図2(a)、(b)の表の各比率
の分母の最小公倍数(120)が、発音する最低音の基
本周波数に対する高調波次数となるように基本周波数を
選択すればよい。
【0010】61鍵タイプの鍵盤楽器で一番低い音は普
通C2(66Hz)であるから、これの120分の1の
0.55Hzを基本周波数に選べば、全ての楽音を整数
倍の高調波で表せることになる。なお、電子ピアノのよ
うに88鍵あるものはA0(28Hz)の120分の1
の0.23Hzを基本周波数に選べばよい。
【0011】図1において、C2の基本波は基本周波数
の120倍音、C2の第2倍音は240倍音となり、ま
たE3の基本波(165Hz)は基本周波数の300倍
音、第2倍音は600倍音となる。このように単一の基
本周波数信号を逓倍することによって各楽音の高調波を
発生させるようにすれば、いつ、どの鍵を押下しても発
音する楽音の位相関係は常に固定され、オクターブ間で
は位相が合うことになる。
【0012】図3は本発明の原理を説明するための楽音
発生部の概略を表すブロック図である。1は基本周波数
発振器であり、発振周波数としては該周波数を逓倍する
ことによって全ての楽音の基本周波数を発生出来るよう
な値を選択し、ここでは例えば0.55Hzとする。こ
の基本周波数発振器1からは、サンプリング周期毎に基
本周波数信号の位相データが出力される。
【0013】複数の乗算器2、3は基本周波数発振器1
の出力位相データと、複数の高調波次数ラッチ4、5に
格納されている高調波次数データとをそれぞれ乗算す
る。この高調波次数データは制御装置が発生したい楽音
の高調波の周波数に基づいてセットする。この乗算の結
果、乗算器の出力には発生したい高調波の位相データが
得られる。波形メモリ6、7は例えば1周期分のサイン
波形を記憶しており、各乗算器の出力位相データをアド
レスとして波形の振幅値を読み出す。
【0014】次段の乗算器8、9は、波形メモリ6、7
の出力データと、エンベロープデータラッチ10、11
に格納されている高調波エンベロープデータとを乗算す
る。このエンベロープデータは制御装置が時間の経過に
従って順次更新していく。この結果各乗算器8、9の出
力には発生したい楽音の各高調波波形データが得られ
る。加算器12は、各乗算器8、9の出力を加算するこ
とによって各高調波を合成し、目的の1つの楽音波形を
得る。実施例ではこれを32チャネル分(32楽音波形
分)時分割処理している。
【0015】ここで、ある楽音の高調波の周波数と他の
楽音の高調波の周波数とが等しくなった場合(例えば図
1におけるC2の5倍高調波音とE3の2倍高調波音:
330Hz)には、高調波次数データが等しい値(基本
周波数を0.55Hzとすると600)となる。従っ
て、どのようなタイミングで押鍵しても、乗算器2、3
から出力される高調波位相データは等しくなり、加算器
12によって同位相で加算、合成されることになる。
【0016】以下実施例について説明する。図4は電子
楽器全体の構成を示すブロック図である。CPU20は
キーボードあるいはパネルからの情報に基づき、音色選
択、キーアサイン、シーケンサ等の制御を行い、DPR
AM29を介して、後段のDSP26に楽音制御情報を
送る。ROMc21は各種制御プログラムの他、デモ曲
等のシーケンスデータも記憶している。
【0017】RAMc22はワークエリアとして利用さ
れる他、MIDI等のシーケンスデータも記憶される。
I/Oポート23はキーボード24やパネル25のスイ
ッチデータをCPU20に転送したり、あるいはCPU
20から送出された表示データ等をパネル25の表示装
置に転送する。キーボード24はスイッチを有する複数
の鍵から成り、パネル25は、音色選択スイッチ、ボリ
ューム、ビブラート等の効果選択スイッチ、シーケンサ
制御スイッチ、調を設定するスイッチ等を有し、また調
情報やシーケンス情報を表示するためのLCD表示装置
を備えている。DSP(デジタルシグナルプロセッサ)
26は、後述するが、DPRAMの情報に基づいて後段
の波形合成回路31の各パラメータを3.2ms毎に更
新し、楽音発生を制御する。なおこのDSP26として
は、通常の16ビットCPUあるいは32ビットRIS
Cチップでも使用可能である。ROMd27はDSPの
プログラムの他、パネルによって選択可能な複数の音色
の高調波エンベロープデータ、各音色に対応するフォル
マントフィルタ係数、パン効果係数も記憶している。
【0018】RAMd28はDSP26のワークRAM
としてキーアサインデータ、各チャネルの発音制御デー
タ等が記憶される他、図12(b)に示すように、CP
U20によって選択された4つの音色に対応する高調波
の次数およびエンベロープデータ記憶する。ここで該メ
モリエリヤには発音しない不要な倍音は記憶されず、発
音に関係する高調波データのみが記憶される。例えば倍
音1には基本波、つまり倍音次数1のデータが記憶され
るが、倍音2には3倍音(倍音次数3)のデータが記憶
される。また倍音データ数はその音色に必要な数だけ記
憶される。
【0019】DPRAM(デュアルポートRAM)29
はCPU20とDSP26の双方から独立にアクセスで
きるRAMであり、図12(a)のような制御情報エリ
ヤを用いて、楽音制御情報をCPU20からDSP26
に高速転送する。タイマ、アドレスコントローラ30は
CPU20にシーケンサのテンポ用割り込み信号を供給
するほか、DSP26には10kHzの割り込み信号を
送出する。また波形合成回路31に各種クロック信号を
供給する。
【0020】波形合成回路31は詳細は後述するが、D
SP26によりセットされたパラメータに基づき、図3
に概略を示したような構成によって楽音波形を合成す
る。この回路からは左右2チャネルのデジタル楽音信号
が出力される。D/A変換回路32、33は左右それぞ
れのデジタル楽音信号をD/A変換し、サンプルホール
ド、アンプ回路によってサンプルホールドされ、増幅さ
れて、スピーカ36、37から発音される。38はバス
である。なお必要に応じて、MIDI、メモリカード等
のインターフェース回路をバス38に接続してもよい。
【0021】電子楽器全体は以上のような構成になって
いるが、つぎに波形合成回路31の詳細について説明す
る。図5、6は波形合成回路31の詳細な構成を示すブ
ロック図である。図5から説明すると、Fナンバラッチ
40は、調設定により定められた中間ラ音(ミドルA)
の800分の1を基本周波数としたFナンバ(16ビッ
ト)を記憶している。この中間ラ音はCをドとした場
合、通常440Hzであるので、基本周波数は0.55
Hzとなるが、パネルのTUNE操作により438Hz
から445Hzまで8段階の設定ができるようになって
いる。Fナンバ値は、サンプル周波数40kHz、後述
するサイン波形メモリ45の振幅データ数65536ポ
イント/周期、基本周波数0.55Hzとするとつぎの
ような値になる。
【0022】Fナンバ=65536×0.55/40×
1000=0.90112。
【0023】従ってハ長調またはイ短調においてFナン
バは0.90112となり、これを2進数で表した値
0.11100110101・・・がFナンバラッチに
記憶される。加算器41はFナンバラッチ40の値と、
累算ラッチ42の値とを32ビット幅で加算する。この
場合Fナンバラッチ40の値は加算器41のB入力の下
位16ビットに入力され、上位16ビットには0が入力
される。
【0024】累算ラッチ42は加算器41の出力をサン
プリング周波数である40kHzのクロックCKYの立
ち上がりのタイミングでラッチする。従って累算ラッチ
42にはFナンバラッチ40の値がサンプリング周波数
毎に累算され、その上位16ビットは基本周波数の1周
期分(1/0.55、約1.81秒)の期間でサイン波
形メモリ45の1周期分の振幅データ数、即ちアドレス
の上限値である65536に達する。つまり累算ラッチ
42の出力は、Fナンバラッチ40、加算器41、累算
ラッチ42から構成される基本周波数発振器の位相情報
を表しているということができる。この単一の位相情報
が全ての楽音の高調波信号の基になっている。
【0025】高調波次数RAM43は、図12(d)に
示すように32チャネルの各チャネル毎に8個の音色お
よび高調波次数データを記憶している。この高調波次数
データは整数部15ビット、小数部8ビットの23ビッ
トで表されており、DSP26が次のように演算により
求めてセットする。
【0026】SHMn=SHM1×THMn+VIB。
【0027】ここでSHMnは、求める高調波次数であ
り、SHM1はある音色の高調波の基本周波数に対する
次数、THMnは押下したキーに対応する音高の基本周
波数に対する倍音次数である。SHM1は図12(b)
に示すようにRAMd28に記憶されており、またキー
コードとTHMnの対応表はROMd27に記憶されて
いる。
【0028】VIBはビブラートをかけるためのデータ
であり、DSP26により、整数8ビット、小数8ビッ
トの高調波次数データとして作成される。CPU20
は、図12(a)に示すように、各音色毎にディレイ、
デプス、スピード(周波数)のビブラート制御情報を設
定する。通常は発振周波数に対して±20セント(CE
NT)を6〜8Hzの周波数で変化させるので、変化さ
せる高調波次数の値も音高によって異なる。
【0029】図15はC3(132Hz)とC5(52
8Hz)におけるビブラートデータVIBの一例を示す
波形図である。C3の場合は、図15(a)に示すよう
に±2倍音の範囲を6〜8Hzの周波数で揺らす。また
C5の場合には図15(b)に示すように±8倍音とな
る。ビブラート制御情報(ディレイ、デプス、スピー
ド)は音色に対応させてデータ表としてROMd27内
に記憶していてもよい。DSP26は後述するが、上記
高調波次数を求める演算を常に行い、高調波次数を更新
している。なお、より滑らかにビブラートをかけるため
に、高調波次数RAM43に現在値と差分値を記憶さ
せ、サンプリング周期毎に補間演算を行うようにしても
よい。
【0030】高調波次数RAM43は、タイマ、アドレ
スコントローラ30から出力される、1サンプリング周
期内で0から255まで変化する時分割多重処理用アド
レス信号ADに従ってデータを読み出す。乗算器44
は、1サンプリング周期の間に、各チャネルの各高調波
データ毎に、即ち32×8回、高調波次数RAM43の
出力値と累算ラッチ42の出力とを乗算する。この演算
によって、基本周波数を高調波次数分だけ逓倍したこと
になり、発生すべき各高調波の位相情報が得られる。
【0031】サイン波形メモリ45はサイン波形の振幅
値を記憶している。乗算器44から出力される位相情報
は16ビット分あるが、サイン波形メモリ45はその上
位10ビットをアドレスとして入力し、1024サンプ
ルの振幅値SBとその振幅値SBと次の振幅値との差S
Dを出力する。乗算器46はこの差SDと乗算器44の
出力の下位6ビットを乗算する。
【0032】加算器47はサイン波形メモリ45から読
み出された振幅値SBと乗算器46の出力である補間値
とを加算する。サイン波形メモリ45、乗算器46、加
算器47により上記のような内挿補間演算を行うことに
よって、見かけ上16ビットアドレスに対応する655
36サンプルを記憶するメモリとして動作する。また、
サイン波形メモリ45は、サイン波形の対称性を利用し
て1/4周期のデータのみを記憶するようにすることも
可能である。以上の回路構成により、加算器47の出力
にはサンプリング周期毎に32×8個の所望の高調波の
振幅データが得られる。
【0033】次に、エンベロープデータに関する処理回
路について説明する。高調波レベルRAM48は図12
(c)に示すように、3.2msごとに変化する32チ
ャネル×8個の高調波レベルHBと、現在の高調波レベ
ルHBと3.2ms後の高調波レベルとの差HDとを記
憶している。このエンベロープデータはそれぞれ高調波
次数RAM43に記憶されている高調波に対応してお
り、3.2ms毎にDSP26によって更新される。高
調波レベルHBおよびその差HDはともに、最大値を1
とする16ビットデータで表されている。この高調波レ
ベルRAM48は、高調波次数RAM43と同様にタイ
マ、アドレスコントローラ30から出力される、1サン
プリング周期内で0から255まで変化する時分割多重
処理用アドレス信号ADに従ってデータを読み出す。
【0034】乗算器49は高調波レベルRAM48から
読み出された差HDとタイマ、アドレスコントローラ3
0から供給される時間軸補間用信号SGX/128とを
乗算する。この信号SGX/128は、0から25マイ
クロ秒のサンプリング周期ごとに1/128づつ増加
し、127/128に達すると、DSP26の演算周期
3.2ms毎に0にリセットされるものである。加算器
50は高調波レベルRAM48から読み出されたレベル
値HBと乗算器49の出力とを加算することによって補
間を行う。このような補間演算を行うことにより、DS
P26が各高調波のエンベロープデータの更新を行う間
隔を長くすることができる。
【0035】フォルマントフィルタRAM51は図13
(a)に示すように、各音色毎に、256単位の各倍音
ブロック毎の最初の倍音のレベルFBと次の倍音ブロッ
クの最初の倍音レベルとの差FDとを記憶している。こ
のフォルマントフィルタRAM51には、アドレス情報
として高調波次数RAM43の出力の内の音色情報2ビ
ットと高調波次数情報の上位14ビットの内の、さらに
上位8ビットが入力される。
【0036】乗算器52はフォルマントフィルタRAM
51から読み出された差FDと前記14ビットのアドレ
ス情報の内の下位6ビットとを乗算する。加算器53は
フォルマントフィルタRAM51から読み出されたレベ
ル値FBと乗算器52の出力とを加算することによっ
て、高調波次数RAM43から読み出された実際の高調
波次数に従って補間を行う。
【0037】加算器53の出力であるフォルマントフィ
ルタ係数は乗算器54によって、加算器50の出力であ
るエンベロープデータと乗算される。乗算器54の出力
は更に乗算器55によって、加算器47の出力である各
高調波の振幅データと乗算される。従って乗算器55の
出力には、各高調波毎にエンベロープ制御され、更に音
色に対応してフォルマント制御された所望の音高の高調
波信号が得られる。この信号は32チャネル×8個の時
分割多重信号である。
【0038】次に、図6に従って、波形合成回路31の
後半部分を説明する。図6の回路ブロックは大きく右用
と左用の2つに分けることができ、それぞれ同一の信号
処理を行うものであるので、以下図6上側の回路(左
用)について説明する。
【0039】ラウドネスRAM60は図13(b)に示
すように、左スピーカ用の各チャネル毎のラウドネス
(音量)レベルLBと、3.2ms後のラウドネスレベ
ルとの差LDとを記憶している。レベル値はCPU20
からDPRAM29を介して転送された、各キーコード
に対応するベロシティ(押鍵の強さあるいは速度)、音
色VOL(音色対応のボリューム)、トータルVOL
(全体のボリューム)、ROMd27に記憶された音色
毎の定位を表すパン情報とで決定される。このパン情報
は音色毎に、キーのベロシティと対応した表として記憶
されており、例えばベロシティが小さい時には右寄りに
なり、大きくなるにつれて左寄りの定位となるように制
御することも可能である。ラウドネスRAM60は、前
記時分割多重処理用アドレス信号ADの上位5ビットを
アドレスとして、前記レベル値LB及び差LDを読み出
す。
【0040】乗算器62はラウドネスRAM60から読
み出された差LDとタイマ、アドレスコントローラ30
から供給される時間軸補間用信号SGX/128とを乗
算する。この信号SGX/128は、前述したように0
から25マイクロ秒のサンプリング周期ごとに1/12
8づつ増加し、127/128に達するとDSP26の
演算周期3.2ms毎に0にリセットされるものであ
る。加算器64はラウドネスRAM60から読み出され
たレベル値LBと乗算器62の出力とを加算することに
よって時間軸における補間を行う。乗算器66は図5の
乗算器55の出力である各高調波信号と加算器64の出
力とを乗算し、各チャネル毎にボリューム制御された左
スピーカ用時分割多重信号が得られる。
【0041】加算器68は乗算器66の出力信号と累算
ラッチ70の出力信号とを加算する。累算ラッチ70は
加算器68の出力をクロックCKXの立ち下がりによっ
てラッチする。クロックCKXはチャネルの各高調波演
算周期と一致しており、この回路により、32チャネル
×8個=256個の高調波振幅データを累算する。また
リセット信号CKZによって、図7に示すタイミングで
リセットされる。
【0042】ラッチ72は、累算ラッチ70で累算され
た左スピーカ用楽音信号を、図7に示すタイミングでラ
ッチする。出力ゲートラッチ74は、電源投入時のDS
P26の初期化中にノイズが発生しないように、ラッチ
72の値をクリヤするためのものである。ラッチ72の
出力は左スピーカ用D/A変換器32に出力される。以
上の回路により左スピーカ用信号が合成される。また右
スピーカ用信号も同様の処理により合成される。
【0043】つぎに回路動作のタイミングについて説明
する。図7はDSP26及び波形合成回路31の主要な
タイミングを示す図である。DSP26はタイマ、アド
レスコントローラ30から10kHz(周期100マイ
クロ秒)の割り込み信号を受ける度に、1つのチャネル
のパラメータ更新処理を行う。この割り込み処理は10
0マイクロ秒以内に終了するので、次の割り込みまでの
間はメイン処理を行う。従って各チャネルは3.2ms
毎に更新されることになる。またタイマ、アドレスコン
トローラ30から出力される補間用信号SGXはDSP
の更新周期3.2msをサンプリング周期25マイクロ
秒(40kHz)で割った128タイムスロットの各タ
イムスロット毎に1づつカウントアップする信号であ
る。
【0044】1サンプリング周期(25マイクロ秒)は
32チャネル分のタイムスロットに分割され、1チャネ
ル分のタイムスロット(0.78マイクロ秒)は更に8
個の高調波演算タイムスロットに分割されている。従っ
て1高調波演算タイムスロットは97.7ナノ秒とな
る。このタイムスロットは1サンプリング周期に256
個存在する。
【0045】クロックCKXはこの最小単位に同期した
信号であり、時分割処理用アドレス信号ADはこのクロ
ックCKXを255までカウントする信号である。信号
CKYは各サンプリング周期の初めに短いパルスが存在
し、これによって図6の、256個の高調波データを累
算した累算ラッチ70、71の出力が、ラッチ72、7
3にラッチされる。信号CKZは前記ラッチの直後に累
算ラッチ70、71をクリヤするためのものである。
【0046】次に、CPU20およびDSP26の動作
を説明する。図8はCPU20のメイン処理を示すフロ
ーチャートである。ステップS1においては、表示装
置、RAMc、DPRAM等の内容を初期化する。ステ
ップS2においては、パネルのスイッチ等をスキャン
し、状態データを取り込む。ステップS3においては、
音色スイッチ、ボリューム等の状態に変化があったか否
かが、1つ前の状態データと比較することにより調べら
れ、もし状態変化があった場合にはステップS4に移行
する。ステップS4においては、音色コード、ボリュー
ム値等対応するデータをDPRAMに転送すると共に、
表示を更新する。
【0047】ステップS5においては、調設定に変化が
あったか否かが調べられ、もし変化があった場合にはス
テップS6に移行し、新たな調コードをDPRAMに転
送する。ステップS7においては、TUNEに変化があ
ったか否かが調べられ、変化があった場合にはステップ
S8に移行し、新たなTUNEデータをDPRAMに転
送する。
【0048】ステップS9においては、キーボードスキ
ャンならびにシーケンサスキャンが行われる。シーケン
サスキャンとは、ROMまたはRAM上のシーケンサ曲
データ中から現在演奏すべきキー情報をスキャンするこ
とである。ステップS10においては、キースイッチの
状態に変化があったか否かが調べられ、変化があった場
合にはステップS11に移行する。ステップS11にお
いては、変化がキーオンであるか否かが調べられ、キー
オンである場合にはステップS12に移行し、そうでな
い場合、即ちキーオフである場合にはステップS13に
移行する。
【0049】ステップS12においては、既にキーオン
状態の鍵が24音あるか否かを調べ、24音ある場合に
は、当ステップの処理を終了する。しかし23音以下の
場合には、キーコード、ベロシティ、音色グループ等の
キーオンデータをDPRAMに転送する。ステップS1
3においては、DPRAM内に対応するキーオンデータ
があるか否かを調べ、あった場合には該データをキーオ
フに設定する。
【0050】ステップS14においては、各音色につい
てビブラートが指定されているか否かを調べ、指定され
ている場合には、ステップS15に移行し、DPRAM
内の対応する音色のビブラート制御データを更新する。
ステップS16においては、各音色について、スライデ
ィングフォルマントフィルタが移動中であるか否かが調
べられ、移動中である場合にはステップS17に移行
し、DPRAM内の音色フィルタのレベル、カットオ
フ、Qのパラメータを更新する。これらのパラメータは
図14に示すようにフォルマントフィルタの特性を決定
する。ステップS16または17の処理が終了するとス
テップS2に戻り、処理を繰り返す。なお、CPU20
の割り込み処理も、タイマ、アドレスコントローラ30
からの割り込み信号により定期的に行われているが、説
明は省略する。
【0051】図9、図10はDSP26のメイン処理を
示すフローチャートである。電源が投入されると、ステ
ップS20においては、出力ゲートラッチ74に1をセ
ットし、ラッチ72、73をクリヤする。ステップS2
1においては、全チャネルのラウドネスを0に設定す
る。ステップS22においては、補間演算出力値が完全
に0になるように、3.2ms待つ。ステップS23に
おいては、出力ゲートラッチ74に0を設定し、動作可
能な状態にする。以上の処理は電源投入時にノイズが出
ないようにするためのものである。
【0052】ステップS24においては、DPRAM内
の音色コードに変化があったか否かが調べられ、変化が
あった場合にはステップS25に移行する。ステップS
25においては、ROMd27から対応する高調波エン
ベロープデータを読み出す。ステップS26において
は、読み出したデータをRAMd28に格納する。なお
この場合に高調波エンベロープデータを圧縮してROM
に格納しておき、解凍(伸張)してからRAMd28に
格納するようにすればROMdの容量を削減する事が出
来る。
【0053】ステップS27においては、キーデータに
変化があったか否かが調べられ、変化があった場合には
ステップS28に移行する。ステップS28において
は、変化がキーオンであるか否かが調べられ、キーオン
である場合にはステップS30に移行し、そうでない場
合、即ちキーオフである場合にはステップS29に移行
する。ステップS29においては、対応するチャネルに
オフフェーズフラグを立てる。
【0054】ステップS30においては、キーコードと
音色に基づいて使用する発音チャネル数Mを決定する。
例えばTIBIA DRAWBAR音色であれば、基本
波、2、3、4、5、8、10、16倍音があれば十分
であり、1チャネルは8個の高調波を発生することが可
能であるから、1キーにつき1チャネルで足りる。ま
た、ギターのような音色であれば、基本波から24倍音
程度までの高調波を必要とするので、1キーにつき3チ
ャネル必要となるが、高域においては高調波が可聴音域
を越えるので、16倍音も必要とせず、C6以上は1キ
ーにつき2チャネルで十分である。
【0055】ピアノ音には64倍音以上を必要とし、そ
の上、高調波は基本波の整数倍よりも少し高めになる。
従って、前述した高調波次数を求める式は以下のように
プラスαを加え、非整数倍音を構成するようにする。
【0056】 SHMn=SHM1×THMn+VIB+α 。
【0057】ピアノ音で1キーに対して64倍音まで出
すためには8チャネルが必要である。但しこの8チャネ
ルの内、2〜3チャネルは発音開始後0.5秒程度で−
60dB以下に落ち込んでしまう「コツン」というよう
な棚板のたたかれる音であり、すぐにつぎの発音に利用
することができる。
【0058】ステップS31においては、現在M個のチ
ャネルが空いているか否かが調べられ、空いている場合
にはステップS32に移行するが、空いていない場合に
はステップS33に移行する。ステップS32において
は、空いているM個のチャネルにREQフラグを立て
る。ステップS33においては、不足分について、現在
発音中のチャネルの中から発音終了の間近いチャネルを
検出し、それらのチャネルのラウドネスを0に設定し、
高速リリース中であることを示すフラグを立てておく。
このように高速リリースを設定すると、3.2ms後に
は該チャネルは空き状態となる(以下図10に続く)。
【0059】ステップS34においては、DPRAM内
の音色ボリューム値に変化があったか否かが調べられ、
変化があった場合にはステップS35に移行する。ステ
ップS35においては、該音色に対応するチャネルのボ
リューム値を更新する。この値は後述する割り込み処理
によってラウドネス値に変換され、ラウドネスRAM6
0、61に転送される。
【0060】ステップS36においては、ビブラート値
に変化があったか否かが調べられ、変化があった場合に
はステップS37に移行する。ステップS37において
は、対応するチャネルの高調波次数バイアス値を更新す
る。
【0061】ステップS38においては、音色フィルタ
値に変化があったか否かが調べられ、変化があった場合
にはステップS39に移行する。ステップS39におい
ては、DPRAM内の音色フィルタパラメータに基づい
て、フォルマントフィルタ係数を演算し、フォルマント
フィルタRAM51にセットする。
【0062】ステップS40においては、トータルボリ
ューム値に変化があったか否かが調べられ、変化があっ
た場合にはステップS41に移行する。ステップS41
においては、全チャネルのボリューム値を更新する。
【0063】ステップS42においては、調コードある
いはTUNE値に変化があったか否かが調べられ、変化
があった場合にはステップS43に移行しFナンバを更
新する。以上の処理が終了すると、再びステップS24
に戻り、処理を繰り返す。
【0064】図11はDSP26の割り込み処理を示す
フローチャートである。この割り込み処理は図7に示す
ように、100マイクロ秒毎に起動され、1つのチャネ
ルにつてのチャネルアサイン処理またはパラメータ更新
処理を行う。ステップS50においては、チャネルNに
関して図5の高調波レベルRAM48の値を参照し、全
ての高調波レベルが−60dB以下であるか否かによっ
てチャネルNが空きであるか否かが判断され、空きであ
る場合にはステップS51に移行し、空きでない場合に
はステップS55に移行する。
【0065】ステップS51においては、REQフラグ
が立っているか否かが調べられ、立っていなければ割り
込み処理を終了するが、立っている場合にはステップS
52に移行する。ステップS52においては、REQフ
ラグを消し、チャネルNの高調波レベルとしてアタック
部分を設定し、高調波レベルRAM48にセットする。
【0066】ステップS53においては、チャネルNの
ボリューム値、対応音色のパン情報からラウドネス値を
作成して図6のラウドネスRAM60、61にセットす
る。ステップS54においては、調コード、対応音色の
ビブラート情報から高調波次数のバイアス値を計算し、
チャネルNの8個の高調波次数を図5の高調波次数RA
M43にセットする。
【0067】ステップS50においてチャネルNが空き
でなかった場合にはステップS55に移行し、ステップ
S55においては、チャネルNが高速リリース中である
か否かが調べられ、そうである場合には割り込み処理を
終了するが、高速リリース中でない場合にはステップS
56に移行する。ステップS56においては、チャネル
Nのオフフェーズフラグが立っているか否かが調べら
れ、立っている場合にはステップS58に移行するが、
立っていない場合にはステップS57に移行する。
【0068】ステップS57においては、対応音色のエ
ンベロープデータに従って、高調波レベルRAM48内
のチャネルNの高調波レベル値を3.2ms後の値に更
新する。またステップS58においては、チャネルNの
高調波レベルをリリース状態に設定する。ステップS5
9においては、チャネルNのラウドネス値を3.2ms
後の値に更新し、図6のラウドネスRAM60、61に
セットする。ステップS60においては、チャネルNの
高調波次数を3.2ms後の値に更新し、図5の高調波
次数RAM43にセットする。
【0069】以上、実施例を説明したが、つぎに他の実
施例について説明する。前記実施例においては、メモリ
から読み出した現在値と差分値のパラメータを乗算器と
加算器によって補間演算している箇所が5箇所あり、更
にその出力を乗算器によって乗算している箇所も4箇所
ある。これら構成が同じ回路について、高速な回路を用
いて、全部あるいは一部の演算を時分割処理することが
可能である。この場合、各パラメータ用のRAMとして
は、入力アドレス信号を切り替えるようにすれば1つの
大きなRAMを用いることができる。
【0070】図16は、前記実施例における2つの補間
回路および乗算回路を、1つの回路で時分割多重処理す
るための構成を示すブロック図である。以下この回路に
よって高調波レベルの補間演算とフォルマントフィルタ
係数の補間演算とを時分割多重処理する例を示す。
【0071】セレクタ80は信号SによりRAM81に
出力するアドレス信号AD1、AD2を切り替える。こ
こでAD1は時分割多重処理用アドレス信号ADであ
り、AD2は高調波次数RAM43から出力される、音
色および次数データである。信号Sは処理を切り替える
ための信号であり、例えば処理に割り当てられた時間の
前半は0後半は1となるような信号である。
【0072】RAM81は図示していないが、DSPか
らバスを介してデータの書き込みが可能であり、それぞ
れの処理に必要な高調波レベルおよびフォルマントフィ
ルタ係数の初期値および差分値データを記憶している。
アドレスとしては、信号Sとセレクタ80の出力が接続
されており、信号Sで指定された種類の初期値および差
分値データを出力する。
【0073】セレクタ82は補間位置を表すアドレス信
号AD3とAD4を切り替え出力する。ここでAD3は
SGX/128、AD4は高調波次数データの下位ビッ
トである。乗算器83はRAM81から出力される差分
値とセレクタ82の出力とを乗算する。加算器84はR
AM81から読み出された初期値と、乗算器83から出
力される補間データとを加算する。
【0074】乗算器85は加算器84の出力とセレクタ
87の出力とを乗算する。ラッチ86は各処理に割り当
てられた時間の最後(信号Sの変化点)で乗算器85の
出力をラッチする。初めの処理である高調波レベルの補
間演算時には乗算器85は不要であるので、セレクタの
入力にデータ1を与え、加算器84の出力がそのままラ
ッチ86にラッチされるようにする。また次の処理時に
はラッチ86の出力をセレクタ87に接続し、初めの処
理結果データが乗算器85に入力される。
【0075】ここでは2多重の例を示したが、回路の動
作速度が許せば、振幅データの補間までの3多重あるい
はラウドネスまでの5多重の処理も可能である。また、
図6の加算器68、69以降、D/A変換器32、33
までの回路も左右のチャネルで同じ構成になっており、
1つの回路で時分割多重処理することも可能である。
【0076】以上、実施例を詳細に説明したが、以下に
示すような変形例も考えられる。上記実施例では波形合
成回路のパラメータとして現在値Bと、この現在値Bと
つぎの値B’との差分値Dを記憶しているが、例えば現
在値とつぎの値を記憶するようにしてもよいし、現在値
と(差分値/補間ステップ数)とを記憶してもよい。
【0077】振幅等のデータはリニアな固定小数点デー
タを用いる例を示したが、例えば浮動小数点表示あるい
は対数表示のデータを用いることも可能である。これら
の場合には乗算器の代わりに加算器を用いることができ
る(浮動小数点表示の場合は近似値となる)が、対数符
号器や対数復号器が必要となる。図16の例についてい
えば、J、L点に対数符号器(ROM等を用いてリニヤ
な数値表現を対数表現に変換するデコーダ)を挿入し、
またK点に対数復号器を挿入すれば、乗算器83、85
を加算器に置き換えることが可能である。なおこの場合
RAM内の差分値は対数表現のデータを記憶させてお
く。
【0078】サイン波形メモリ45については、複数波
形を記憶したROMを用いる、あるいはRAMにして任
意の波形を書き込めるようにすれば、より豊富な音色を
発生させることができ、また同じ音色をより少ないチャ
ネル数で発生させることが可能となる。この場合でも波
形メモリ内の1周期のサイン波形の整数倍の高調波成分
のみから構成される信号波形を用いれば位相の整合性は
保たれる。更に、楽音波形そのものを波形メモリに書き
込むことによって、前記実施例と同じ回路構成で波形読
み出し方式の楽音発生回路として使用することも可能で
ある。
【0079】発音する高調波数については、32チャネ
ル×8個の実施例を示したが、チャネル数および1つの
チャネルの高調波数は、楽器の性能、回路の動作速度、
制御の容易性等を考慮して任意に決定できるものであ
り、256個の発音単位を独立に制御するようにしても
よい。
【0080】なお上記実施例では純正律音階を用いた例
を示したが、本発明はこれに限定されるものではなく、
12平均律音階においても、基本周波数をなるべく低く
設定し、各鍵盤に対応する音高に最も近い倍音次数を選
択することによって、その誤差は十分実用に耐え得る範
囲内に収まる。従ってパネルから純正律と12平均律を
切り替えて使用出来るようにすることも可能である。
【0081】基本周波数と高調波次数との関係も、上記
実施例のように高調波次数が整数となるような関係に限
らず、例えば基本周波数を55Hzとし、C2(66H
z)の高調波次数を1.20としても乗算器44の乗算
結果は上記実施例と同じとなり、全く同様の処理が可能
である。(実際の演算は2進で行われているので、実施
例の基本周波数×2のn乗の高調波を基本周波数に選ん
でも同じ処理が可能となる。)処理装置としては、CP
UとDSPの2個を用いた例を示したが、より処理能力
の高いCPU1個で全てを処理することも可能であり、
逆により能力の低いDSPを複数個用いてもよい。
【0082】
【発明の効果】 以上述べたように、本発明の方式によ
れば、DSPが演算可能な周期で、各高調波の周波数、
エンベロープ、フィルタ係数等をリアルタイムに制御可
能であるばかりでなく、音色や音高によって最適な発音
チャネル数を確保し割当てることができるので、非常に
融通性に富んだ波形合成装置が得られるという効果があ
る。
【図面の簡単な説明】
【図1】 基本周波数と楽音の高調波の関係を示す図で
ある。
【図2】 純正律音階の周波数比率を示す図である。
【図3】 本発明の楽音発生部の概略を表すブロック図
である。
【図4】 電子楽器全体の構成を示すブロック図であ
る。
【図5】 波形合成回路の詳細な構成を示すブロック図
(1)である。
【図6】 波形合成回路の詳細な構成を示すブロック図
(2)である。
【図7】 DSP及び波形合成回路の主要なタイミング
を示す図である。
【図8】 CPUのメイン処理を示すフローチャートで
ある。
【図9】 DSPのメイン処理を示すフローチャート
(1)である。
【図10】 DSPのメイン処理を示すフローチャート
(2)である。
【図11】 DSPの割り込み処理を示すフローチャー
トである。
【図12】 各種メモリ内のデータ構造を示すメモリマ
ップ(1) である。
【図13】 各種メモリ内のデータ構造を示すメモリマ
ップ(2) である。
【図14】 フォルマントフィルタの特性を示す図であ
る。
【図15】 ビブラート波形を示す波形図である。
【図16】 補間回路の他の実施例を示すブロック図で
ある。
【符号の説明】
1…基本周波数発振器、2、3、8、9…乗算器、4、
5、10、11…ラッチ、6、7…波形メモリ、12…
加算器 20…CPU、21、27…ROM、22、28…RA
M、23…I/Oポート、24…キーボード、25…パ
ネル、26…DSP、29…DPRAM、30…タイ
マ、アドレスコントローラ、31…波形合成回路、3
2、33D/A変換器、34、35…サンプルホール
ド、アンプ回路、36、37…スピーカ、38…バス

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】楽音発生情報に基づき、サンプリング周期
    より長い周期で、同時発音させる複数チャネルの楽音発
    生パラメータを更新する制御手段と、 サンプリング周期毎に、前記楽音発生パラメータの補間
    演算を行なう補間手段と、 前記補間手段の出力に基づいて、前記複数チャネル分の
    楽音信号を発生する楽音信号発生手段と、 前記複数チャネル分の楽音信号を加算する波形合成手段
    と、 選択された音色および発音すべき音高の少なくとも一方
    の情報に基づいて、これに対応する楽音の発生に必要な
    倍音の数を決定する手段とを具備し、前記複数チャネルのそれぞれは複数の倍音を発生するこ
    とができ、 前記制御手段は前記の必要倍音数に応じた数のチャネル
    を割当てることを特徴とする電子楽器。
  2. 【請求項2】前記の割当てられるチャネルの数は、前記
    必要倍音数を充足するのに必要な最小数であることを特
    徴とする請求項1に記載の電子楽器。
  3. 【請求項3】現在の空きチャネル数が、前記の必要な最
    小数よりも少ない場合は、現在発音中のチャネルの内の
    発音終了の間近いチャネルのラウドネスをゼロに設定す
    る手段をさらに具備したことを特徴とする請求項1また
    は2に記載の電子楽器。
  4. 【請求項4】前記ラウドネスをゼロに設定されたチャネ
    ルにはさらに、高速リリース中であることを示すフラグ
    が立てられることを特徴とする請求項3に記載の電子楽
    器。
  5. 【請求項5】前記パラメータは初期値と差分値とから構
    成されていることを特徴とする請求項1ないし4のいず
    れかに記載の電子楽器。
  6. 【請求項6】前記補間手段は、1つの演算処理手段に異
    なるパラメ−タを与えて時分割多重動作させることを特
    徴とする請求項1ないし5のいずれかに記載の電子楽
    器。
  7. 【請求項7】前記パラメータは高調波レベル、フォルマ
    ントフィルタ特性、高調波次数、左右のラウドネス情報
    の内のいずれかであることを特徴とする請求項5または
    6に記載の電子楽器。
JP4339573A 1992-11-27 1992-11-27 電子楽器 Expired - Fee Related JP2905351B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4339573A JP2905351B2 (ja) 1992-11-27 1992-11-27 電子楽器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4339573A JP2905351B2 (ja) 1992-11-27 1992-11-27 電子楽器

Publications (2)

Publication Number Publication Date
JPH06167979A JPH06167979A (ja) 1994-06-14
JP2905351B2 true JP2905351B2 (ja) 1999-06-14

Family

ID=18328755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4339573A Expired - Fee Related JP2905351B2 (ja) 1992-11-27 1992-11-27 電子楽器

Country Status (1)

Country Link
JP (1) JP2905351B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4300434A (en) * 1980-05-16 1981-11-17 Kawai Musical Instrument Mfg. Co., Ltd. Apparatus for tone generation with combined loudness and formant spectral variation
JPH0160291U (ja) * 1987-10-14 1989-04-17

Also Published As

Publication number Publication date
JPH06167979A (ja) 1994-06-14

Similar Documents

Publication Publication Date Title
JP3812328B2 (ja) 自動伴奏パターン発生装置及び方法
JPH027078B2 (ja)
US5703312A (en) Electronic musical instrument and signal processor having a tonal effect imparting function
JPH04306697A (ja) ステレオ方式
US6091012A (en) Tone effect imparting apparatus
JP5142363B2 (ja) 成分音合成装置及び成分音合成方法。
JPH0417440B2 (ja)
JP2745865B2 (ja) 楽音合成装置
JP3453044B2 (ja) 楽音合成装置
JP2905351B2 (ja) 電子楽器
JP2802709B2 (ja) 電子楽器
US5627334A (en) Apparatus for and method of generating musical tones
US5665931A (en) Apparatus for and method of generating musical tones
US5641929A (en) Apparatus for and method of generating musical tones
JP2698942B2 (ja) 楽音発生装置
JP3633963B2 (ja) 楽音生成装置及び楽音生成方法
JP3926445B2 (ja) 楽音合成装置
US5959231A (en) Electronic musical instrument and signal processor having a tonal effect imparting function
JP2701177B2 (ja) 楽音発生装置
JP3439312B2 (ja) 電子楽器のピッチ制御装置
JP2003263160A (ja) 楽音信号生成装置及び楽音信号生成プログラム
JP2950456B2 (ja) 電子楽器
US6160214A (en) Non-consonance generating device and non-consonance generating method
JP2997626B2 (ja) 楽音生成装置及び楽音生成方法
JP3453041B2 (ja) 楽音合成装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080326

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090326

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100326

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees