JP2802709B2 - 電子楽器 - Google Patents

電子楽器

Info

Publication number
JP2802709B2
JP2802709B2 JP4339572A JP33957292A JP2802709B2 JP 2802709 B2 JP2802709 B2 JP 2802709B2 JP 4339572 A JP4339572 A JP 4339572A JP 33957292 A JP33957292 A JP 33957292A JP 2802709 B2 JP2802709 B2 JP 2802709B2
Authority
JP
Japan
Prior art keywords
harmonic
data
value
fundamental frequency
tone
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
JP4339572A
Other languages
English (en)
Other versions
JPH06167980A (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 JP4339572A priority Critical patent/JP2802709B2/ja
Publication of JPH06167980A publication Critical patent/JPH06167980A/ja
Application granted granted Critical
Publication of JP2802709B2 publication Critical patent/JP2802709B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は電子楽器に関し、特に、
複数の高調波を合成することによって所望の楽音信号を
得る方式を用いた電子楽器に関するものである。
【0002】
【従来の技術】従来、デジタル方式の電子楽器における
楽音発生方式としては、高調波合成方式が知られてい
る。例えば特開昭48−90217号公報には実時間サ
イン合成システムが開示されており、該システムはパイ
プオルガンを模倣して倍音数16(基本波、2倍音、3
倍音・・・16倍音)の楽音を同時に複数個発音する。
音律は12平均律を使用している。
【0003】
【発明が解決しようとする課題】前記したような従来の
電子楽器においては、同時に発音する複数音間の位相ず
れが問題となる。つまり、楽音波形の読み出しを決定す
るデータがオクターブ間で2倍もしくは2分の1にな
り、オクターブ離れた鍵を同時に押下すると、CPUの
わずかな処理タイミングの違いで、波形間の位相が同位
相になったり、逆位相になったりする。また電子楽器に
おいては、信号がデジタル的に処理され、位相関係がず
れてくることはない。従って、発音開始タイミング次第
で位相が合って出力波形が大きくなったり、また逆位相
で打ち消し合い、殆ど出なかったりする状態が継続する
という問題点があった。
【0004】本発明の目的は、前記のような従来技術の
問題点を改良し、同時に発音する複数の楽音間で位相を
同期することが可能な、サイン合成方式の電子楽器を提
供することにある。
【0005】
【課題を解決するための手段】本発明は、電子楽器にお
いて、基本周波数信号の位相値を出力する基本周波数発
振手段と、前記基本周波数発振手段の出力位相値を、楽
音の音高及び音色に対応した複数の高調波次数とそれぞ
れ乗算する乗算手段と、前記乗算手段の出力位相値をそ
れぞれ振幅値に変換する位相振幅変換手段と、前記位相
振幅変換手段の出力を加算する波形合成手段とを備えた
ことを特徴とする。
【0006】
【作用】本発明はこのような手段により、発生する複数
の楽音の高調波成分波形が全て単一の基本周波数信号の
高調波となるから、全ての高調波の位相を合わせること
ができ、位相ずれによる出力信号の振幅のばらつきを解
消することが可能となる。
【0007】
【実施例】以下に本発明の一実施例を図面を参照して詳
細に説明する。図1は本発明の電子楽器における基本周
波数と楽音の高調波の関係を示す図である。本発明の電
子楽器においては、例えば基本周波数を0.55Hzに
選定し、例えばC2(66Hz)の楽音の基本波は基本
周波数の120倍音というように、全ての楽音の基本波
並びに高調波が基本周波数に対して単純な倍音で表され
るようになっている。これは本システムが12平均律音
階の代わりに純正律音階を用いているためである。
【0008】純正律音階とは、各音階間が単純な周波数
比率に設定されているもので、この周波数比率は長調の
場合には図2(a)、短調の場合には図2(b)のよう
な比率になる。これらの比率の音が全て基本周波数の倍
音の関係になるには、図2(a)、(b)の表の各比率
の分母の最小公倍数(120)が、発音する最低音の基
本周波数に対する高調波次数となるように基本周波数を
選択すればよい。
【0009】61鍵タイプの鍵盤楽器で一番低い音は普
通C2(66Hz)であるから、これの120分の1の
0.55Hzを基本周波数に選べば、全ての楽音を整数
倍の高調波で表せることになる。なお、電子ピアノのよ
うに88鍵あるものはA0(28Hz)の120分の1
の0.23Hzを基本周波数に選べばよい。
【0010】図1において、C2の基本波は基本周波数
の120倍音、C2の第2倍音は240倍音となり、ま
たE3の基本波(165Hz)は基本周波数の300倍
音、第2倍音は600倍音となる。このように単一の基
本周波数信号を逓倍することによって各楽音の高調波を
発生させるようにすれば、いつ、どの鍵を押下しても発
音する楽音の位相関係は常に固定され、オクターブ間で
は位相が合うことになる。
【0011】図3は本発明の原理を説明するための楽音
発生部の概略を表すブロック図である。1は基本周波数
発振器であり、発振周波数としては該周波数を逓倍する
ことによって全ての楽音の基本周波数を発生出来るよう
な値を選択し、ここでは例えば0.55Hzとする。こ
の基本周波数発振器1からは、サンプリング周期毎に基
本周波数信号の位相データが出力される。
【0012】複数の乗算器2、3は基本周波数発振器1
の出力位相データと、複数の高調波次数ラッチ4、5に
格納されている高調波次数データとをそれぞれ乗算す
る。この高調波次数データは制御装置が発生したい楽音
の高調波の周波数に基づいてセットする。この乗算の結
果、乗算器の出力には発生したい高調波の位相データが
得られる。波形メモリ6、7は例えば1周期分のサイン
波形を記憶しており、各乗算器の出力位相データをアド
レスとして波形の振幅値を読み出す。
【0013】次段の乗算器8、9は、波形メモリ6、7
の出力データと、エンベロープデータラッチ10、11
に格納されている高調波エンベロープデータとを乗算す
る。このエンベロープデータは制御装置が時間の経過に
従って順次更新していく。この結果各乗算器8、9の出
力には発生したい楽音の各高調波波形データが得られ
る。加算器12は、各乗算器8、9の出力を加算するこ
とによって各高調波を合成し、目的の1つの楽音波形を
得る。実施例ではこれを32チャネル分(32楽音波形
分)時分割処理している。
【0014】ここで、ある楽音の高調波の周波数と他の
楽音の高調波の周波数とが等しくなった場合(例えば図
1におけるC2の5倍高調波音とE3の2倍高調波音:
330Hz)には、高調波次数データが等しい値(基本
周波数を0.55Hzとすると600)となる。従っ
て、どのようなタイミングで押鍵しても、乗算器2、3
から出力される高調波位相データは等しくなり、加算器
12によって同位相で加算、合成されることになる。
【0015】以下実施例について説明する。図4は電子
楽器全体の構成を示すブロック図である。CPU20は
キーボードあるいはパネルからの情報に基づき、音色選
択、キーアサイン、シーケンサ等の制御を行い、DPR
AM29を介して、後段のDSP26に楽音制御情報を
送る。ROMc21は各種制御プログラムの他、デモ曲
等のシーケンスデータも記憶している。
【0016】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の
プログラムの他、パネルによって選択可能な複数の音色
の高調波エンベロープデータ、各音色に対応するフォル
マントフィルタ係数、パン効果係数も記憶している。
【0017】RAMd28はDSP26のワークRAM
としてキーアサインデータ、各チャネルの発音制御デー
タ等が記憶される他、図12(b)に示すように、CP
U20によって選択された4つの音色に対応する高調波
の次数およびエンベロープデータ記憶する。ここで該メ
モリエリヤには発音しない不要な倍音は記憶されず、発
音に関係する高調波データのみが記憶される。例えば倍
音1には基本波、つまり倍音次数1のデータが記憶され
るが、倍音2には3倍音(倍音次数3)のデータが記憶
される。また倍音データ数はその音色に必要な数だけ記
憶される。
【0018】DPRAM(デュアルポートRAM)29
はCPU20とDSP26の双方から独立にアクセスで
きるRAMであり、図12(a)のような制御情報エリ
ヤを用いて、楽音制御情報をCPU20からDSP26
に高速転送する。タイマ、アドレスコントローラ30は
CPU20にシーケンサのテンポ用割り込み信号を供給
するほか、DSP26には10kHzの割り込み信号を
送出する。また波形合成回路31に各種クロック信号を
供給する。
【0019】波形合成回路31は詳細は後述するが、D
SP26によりセットされたパラメータに基づき、図3
に概略を示したような構成によって楽音波形を合成す
る。この回路からは左右2チャネルのデジタル楽音信号
が出力される。D/A変換回路32、33は左右それぞ
れのデジタル楽音信号をD/A変換し、サンプルホール
ド、アンプ回路によってサンプルホールドされ、増幅さ
れて、スピーカ36、37から発音される。38はバス
である。なお必要に応じて、MIDI、メモリカード等
のインターフェース回路をバス38に接続してもよい。
【0020】電子楽器全体は以上のような構成になって
いるが、つぎに波形合成回路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とするとつぎの
ような値になる。
【0021】Fナンバ=65536×0.55/40×
1000=0.90112。
【0022】従ってハ長調またはイ短調においてFナン
バは0.90112となり、これを2進数で表した値
0.11100110101・・・がFナンバラッチに
記憶される。加算器41はFナンバラッチ40の値と、
累算ラッチ42の値とを32ビット幅で加算する。この
場合Fナンバラッチ40の値は加算器41のB入力の下
位16ビットに入力され、上位16ビットには0が入力
される。
【0023】累算ラッチ42は加算器41の出力をサン
プリング周波数である40kHzのクロックCKYの立
ち上がりのタイミングでラッチする。従って累算ラッチ
にはFナンバラッチの値がサンプリング周波数毎に累算
され、その上位16ビットは基本周波数の1周期分(1
/0.55、約1.81秒)の期間でサイン波形メモリ
45の1周期分の振幅データ数、即ちアドレスの上限値
である65536に達する。つまり累算ラッチ42の出
力は、Fナンバラッチ40、加算器41、累算ラッチ4
2から構成される基本周波数発振器の位相情報を表して
いるということができる。この単一の位相情報が全ての
楽音の高調波信号の基になっている。
【0024】高調波次数RAM43は、図12(d)に
示すように32チャネルの各チャネル毎に8個の音色お
よび高調波次数データを記憶している。この高調波次数
データは整数部15ビット、小数部8ビットの23ビッ
トで表されており、DSP26が次のように演算により
求めてセットする。
【0025】SHMn=SHM1×THMn+VIB。
【0026】ここでSHMnは、求める高調波次数であ
り、SHM1はある音色の高調波の基本周波数に対する
次数、THMnは押下したキーに対応する音高の基本周
波数に対する倍音次数である。SHM1は図12(b)
に示すようにRAMd28に記憶されており、またキー
コードとTHMnの対応表はROMd27に記憶されて
いる。
【0027】VIBはビブラートをかけるためのデータ
であり、DSP26により、整数8ビット、小数8ビッ
トの高調波次数データとして作成される。CPU20
は、図12(a)に示すように、各音色毎にディレイ、
デプス、スピード(周波数)のビブラート制御情報を設
定する。通常は発振周波数に対して±20セント(CE
NT)を6〜8Hzの周波数で変化させるので、変化さ
せる高調波次数の値も音高によって異なる。
【0028】図15はC3(132Hz)とC5(52
8Hz)におけるビブラートデータVIBの一例を示す
波形図である。C3の場合は、図15(a)に示すよう
に±2倍音の範囲を6〜8Hzの周波数で揺らす。また
C5の場合には図15(b)に示すように±8倍音とな
る。ビブラート制御情報(ディレイ、デプス、スピー
ド)は音色に対応させてデータ表としてROMd27内
に記憶していてもよい。DSP26は後述するが、上記
高調波次数を求める演算を常に行い、高調波次数を更新
している。なお、より滑らかにビブラートをかけるため
に、高調波次数RAM43に現在値と差分値を記憶さ
せ、サンプリング周期毎に補間演算を行うようにしても
よい。
【0029】高調波次数RAM43は、タイマ、アドレ
スコントローラ30から出力される、1サンプリング周
期内で0から255まで変化する時分割多重処理用アド
レス信号ADに従ってデータを読み出す。
【0030】乗算器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に移行し、DPR
AM内の音色フィルタのレベル、カットオフ、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】以上、実施例を詳細に説明したが、以下に
示すような変形例も考えられる。上記実施例では波形合
成回路のパラメータとして現在値Bと、この現在値Bと
つぎの値B’との差分値Dを記憶しているが、例えば現
在値とつぎの値を記憶するようにしてもよいし、現在値
と(差分値/補間ステップ数)とを記憶してもよい。
【0070】振幅等のデータはリニアな固定小数点デー
タを用いる例を示したが、例えば浮動小数点表示あるい
は対数表示のデータを用いることも可能である。これら
の場合には乗算器の代わりに加算器を用いることができ
る(浮動小数点表示の場合は近似値となる)が、対数符
号器や対数復号器が必要となる。
【0071】上記実施例においては、メモリから読み出
した現在値と差分値のパラメータを乗算器と加算器によ
って補間演算している箇所が5箇所あり、更にその出力
を乗算器によって乗算している箇所も4箇所ある。これ
ら構成が同じ回路について、高速な回路を用いて、全部
あるいは一部の演算を時分割処理するようにしてもよ
い。この場合、各パラメータ用のRAMとしては、入力
アドレス信号を切り替えるようにすれば1つの大きなR
AMを用いることができる。また、図6の加算器68、
69以降、D/A変換器32、33までの回路も左右の
チャネルで同じ構成になっており、1つの回路で時分割
多重処理することも可能である。
【0072】サイン波形メモリ45については、通常R
OMを用いれば足りるが、これをRAMにして、任意の
波形を書き込めるようにすれば、より豊富な音色を発生
させることができ、あるいは同じ音色をより少ないチャ
ネル数で発生させることが可能となる。この場合でも波
形メモリ内の1周期のサイン波形の整数倍の高調波成分
のみから構成される信号波形を用いれば位相の整合性は
保たれる。
【0073】発音する高調波数については、32チャネ
ル×8個の実施例を示したが、チャネル数および1つの
チャネルの高調波数は、楽器の性能、回路の動作速度、
制御の容易性等を考慮して任意に決定できるものであ
り、256個の発音単位を独立に制御するようにしても
よい。
【0074】なお上記実施例では純正律音階を用いた例
を示したが、本発明はこれに限定されるものではなく、
12平均律音階においても、基本周波数をなるべく低く
設定し、各鍵盤に対応する音高に最も近い倍音次数を選
択することによって、その誤差は十分実用に耐え得る範
囲内に収まる。従ってパネルから純正律と12平均律を
切り替えて使用出来るようにすることも可能である。
【0075】基本周波数と高調波次数との関係も、上記
実施例のように高調波次数が整数となるような関係に限
らず、例えば基本周波数を55Hzとし、C2(66H
z)の高調波次数を1.20としても乗算器44の乗算
結果は上記実施例と同じとなり、全く同様の処理が可能
である。(実際の演算は2進で行われているので、実施
例の基本周波数×2のn乗の高調波を基本周波数に選ん
でも同じ処理が可能となる。)
【0076】
【発明の効果】以上述べたように、本発明の方式によれ
ば、同時に発音する複数の楽音間で位相を同期すること
が可能であるという効果がある。
【図面の簡単な説明】
【図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】 ビブラート波形を示す波形図である。
【符号の説明】
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 (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 基本周波数信号の位相値を出力する基本
    周波数発振手段と、 前記基本周波数発振手段の出力位相値を、楽音の音高及
    び音色に対応した複数の高調波次数とそれぞれ乗算する
    乗算手段と、 前記乗算手段の出力位相値をそれぞれ振幅値に変換する
    位相振幅変換手段と、 前記位相振幅変換手段の複数の出力を加算する波形合成
    手段とを備えたことを特徴とする電子楽器。
  2. 【請求項2】 前記楽音の音高が純正律音階に従い、前
    記基本周波数は、発生する複数の楽音の基本周波数の公
    約数であることを特徴とする、請求項1に記載の電子楽
    器。
  3. 【請求項3】 前記複数の位相振幅変換手段の出力にそ
    れぞれエンベロープ信号を乗算する手段を備えたことを
    特徴とする、請求項1に記載の電子楽器。
JP4339572A 1992-11-27 1992-11-27 電子楽器 Expired - Fee Related JP2802709B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPH06167980A JPH06167980A (ja) 1994-06-14
JP2802709B2 true JP2802709B2 (ja) 1998-09-24

Family

ID=18328745

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2802709B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6524742B2 (ja) * 2015-03-23 2019-06-05 カシオ計算機株式会社 楽音発生装置、方法、およびプログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH027078B2 (ja)
US5703312A (en) Electronic musical instrument and signal processor having a tonal effect imparting function
US6762357B2 (en) Resonance apparatus, resonance method and computer program for resonance processing
US6091012A (en) Tone effect imparting apparatus
JPH0417440B2 (ja)
JP2745865B2 (ja) 楽音合成装置
JP2802709B2 (ja) 電子楽器
JP3453044B2 (ja) 楽音合成装置
US5627334A (en) Apparatus for and method of generating musical tones
JP2905351B2 (ja) 電子楽器
US5665931A (en) Apparatus for and method of generating musical tones
US5641929A (en) Apparatus for and method of generating musical tones
JP3926445B2 (ja) 楽音合成装置
US5959231A (en) Electronic musical instrument and signal processor having a tonal effect imparting function
JP2950456B2 (ja) 電子楽器
JP3453041B2 (ja) 楽音合成装置
JPS6030959B2 (ja) 電子楽器
US6160214A (en) Non-consonance generating device and non-consonance generating method
JPH08146965A (ja) 楽音生成装置
JP2898841B2 (ja) 電子楽器
JP2684833B2 (ja) 楽音信号発生装置
JP3095323B2 (ja) 電子楽器
JP3782150B2 (ja) ステレオ楽音制御装置
JP2997626B2 (ja) 楽音生成装置及び楽音生成方法
JP3201553B2 (ja) 電子楽器

Legal Events

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