JP3684052B2 - 楽音生成装置及び楽音生成方法 - Google Patents
楽音生成装置及び楽音生成方法 Download PDFInfo
- Publication number
- JP3684052B2 JP3684052B2 JP31605397A JP31605397A JP3684052B2 JP 3684052 B2 JP3684052 B2 JP 3684052B2 JP 31605397 A JP31605397 A JP 31605397A JP 31605397 A JP31605397 A JP 31605397A JP 3684052 B2 JP3684052 B2 JP 3684052B2
- Authority
- JP
- Japan
- Prior art keywords
- impulse response
- response signal
- pitch
- signal
- musical
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、楽音生成装置に関し、特にインパルス応答信号を使って楽音信号を生成させる装置などに関する。
【0002】
【従来技術】
従来、楽音生成装置の分野では、インパルス応答波形信号に関する制御を行うような装置はほとんどなかった。ただ、インパルス応答波形信号そのものをサンプリング記憶し、これを繰り返して読み出し、この繰り返し周期を指定音高に応じたものとするものはあった。この場合、指定された音高が高ければ読み出しの繰り返し周期は短くなり、指定された音高が低ければ読み出しの繰り返し周期は長くなる。また、このインパルス応答波形信号そのものの読み出し速度は一定であり、音高が高くても低くてもインパルス応答波形信号そのものの読み出し速度は変化しなかった。
【0003】
【発明が解決しようとする課題】
しかしながら、このような装置では、単にインパルス応答波形信号を読み出して楽音に応用するだけであり、楽音の音色などの内容をいろいろ変化させることはできなかった。通常楽音の音色などを変化させるにはフィルタなどを使って楽音の周波数成分(特性)を変化させる。
【0004】
ところが、楽音の周波数特性(スペクトルエンベロープ)は上記インパルス応答波形信号そのものの読み出し速度(発生速度)を変化させるだけで達成できる。インパルス応答波形信号の発生速度を変化させれば、周波数特性が周波数軸上で伸びたり縮んだりして周波数特性が変化し、この結果音色も変化する。この場合、インパルス応答波形信号そのものの読み出し速度が上記読み出しの繰り返し周期と連動していては、独自に音色の決定を行うことはできず、音高に応じた音色の決定となり、音高に従属した音色となってしまう。
【0005】
本発明は上述した課題を解決するためになされ、本発明の第1の目的は音高に従属しない独立の音色の決定を行うことにあり、第2の目的はインパルス応答波形信号を使って斬新な楽音信号を生成することにある。
【0006】
【課題を解決するための手段】
上記目的を達成するために、本発明では、発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生し、この繰り返し発生されるインパルス応答信号の繰り返しの周期を、音高決定因子に応じて変化させ、上記音高決定因子とは異なる音色決定因子に応じて、上記発生されるインパルス応答信号そのものの発生速度を、上記繰り返し周期とは独立に変化させた。
【0007】
これにより、インパルス応答信号から生成される楽音信号の音色が音高とは独立に変化され、音色は音高に従属せず、自由に音色を変化させることができる。また、インパルス応答信号の繰り返し発生によって所望の楽音信号が発生され斬新な楽音を生成できる。
【0008】
また本発明では、インパルス応答信号そのものの発生速度を音高変化に対して一定として、固定フォルマント型と移動フォルマント型との楽音を選択生成した。すなわち音高決定因子に基づいて、上記インパルス応答信号の繰り返し周期を変化させるとともに、上記インパルス応答信号そのものの発生速度を変化させるか否かを選択した。これにより、周波数特性のフォルマントが周波数軸上で移動しない固定フォルマント型の楽音とフォルマントが周波数軸上でシフトする移動フォルマント型の楽音とを1つのインパルス応答信号から生成することができる。
【0009】
また本発明では、インパルス応答信号そのものの発生速度を音高変化に対して異なる変化特性として、フォルマントが音高変化に応じない変化を実現した。すなわち、音高決定因子に基づいて、上記インパルス応答信号の繰り返し周期を変化させるとともに、上記インパルス応答信号そのものの発生速度を、当該繰り返し周期の変化とは異なる特性で変化させた。これにより、フォルマントの移動変化を音高の変化に応じて変化させることができ、しかもこのフォルマント移動変化を生成楽音の音高の変化とは異なるように変化させることができ、音高変化と異なった音色変化を実現できる。
【0010】
さらに本発明では、発生された音楽的因子に応じて、繰り返し発生されるインパルス応答信号の波形形状を切り換えた。これにより、インパルス応答信号の波形形状そのものの変化を音高変化に連動させたり、音色変化に連動させたりすることができる。
【0011】
またさらに本発明では、インパルス応答信号の繰り返し周期または読み出し速度が変化すれば、このインパルス応答信号に基づいて出力される楽音信号のパワー、エネルギーまたは音量も変化する。本発明では、インパルス応答信号の繰り返し周期または読み出し速度に基づいて、発生されるインパルス応答信号の大きさが変化する。これにより、出力される楽音信号のパワー、エネルギーまたは音量が一定にされ、インパルス応答信号の繰り返し周期または読み出し速度に応じて変化してしまうことがない。
【0012】
また本発明では、発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生し、この繰り返し発生されるインパルス応答信号のうちいくつかを正負反転させた。これにより上記楽音信号の周波数特性が変化し、例えば、楽音の周波数特性のうち特定次倍音だけ消去/減衰させて、残りの倍音成分だけの楽音または残りの倍音成分が相対的に強い楽音を生成することができる。
【0013】
【発明の実施の形態】
1.本願発明の原理
図12及び図13は本願発明の原理を示す。図12ではインパルス応答信号ISj(t)の繰り返し周期がT1またはT2のとき、このインパルス応答信号ISj(t)の出力によって合成かつ生成される楽音の周波数特性(スペクトルエンベロープ(包絡)、周波数スペクトル成分特性、フォルマント特性)を示す。この繰り返し周期Tは生成される楽音の音高を決定する。したがって、この繰り返し周期Tは音高情報によって決定され、周期係数fとして取り込まれる。
【0014】
このインパルス応答信号ISj(t)の繰り返し周期Tが短くなり、音高が高くなると、図12(B1)(B2)に示すように周波数特性はあまり又は全く変化せず、各周波数成分の密度が低くなり、フォルマントの幅は変わらない。したがって、繰り返し周期Tが変化すると、音高は変化するが、音色(周波数成分、フォルマント特性)そのものは変化しない。
【0015】
このインパルス応答信号ISj(t)は図1のインパルス信号発生部50の中のインパルス信号記憶部51(図2)の中に各音楽的ファクタ毎に記憶されている。この記憶されているインパルス応答信号ISj(t)は、図13(A1)または(A1)の2つのインパルス応答信号ISj(t)のうちの片方であり、同図は繰り返し読み出しの状態を示す。
【0016】
図13ではインパルス応答信号ISj(t)の繰り返し周期が同じで、インパルス応答信号ISj(t)の読み出し速度が異なるとき、このインパルス応答信号ISj(t)の出力によって合成かつ生成される楽音の周波数特性(スペクトルエンベロープ(包絡)、周波数スペクトル成分特性、フォルマント特性)を示す。このインパルス応答信号ISj(t)自身の読み出し速度は生成される楽音の音色(周波数成分、フォルマント特性)を決定する。したがって、この読み出し速度は音高に関係のない音楽的ファクタ情報、例えば音色情報によって決定され、包絡係数rとして取り込まれる。
【0017】
このインパルス応答信号ISj(t)の読み出し速度が速くなり、インパルス応答信号ISj(t)の時間長が短くなると、図13(B1)(B2)に示すように各周波数成分の密度はあまり又は全く変化せず、周波数特性(周波数スペクトル成分特性、フォルマント特性)が変化し、フォルマントの幅が広がる。したがって、信号の読み出し速度が変化すると、音色(周波数成分、フォルマント特性)は変化するが、音高そのものは変化しない。
【0018】
このインパルス応答信号ISj(t)は、生成したい楽音信号の所定長さに対して、線形予測法、ケプストラム法などの演算手法を施して生成され記憶される。例えば、ケプストラム法では、この所定長さの楽音信号がフーリエ変換器で高速フーリエ変換され、周波数パワースペクトルに変化される。
【0019】
この変換されたパワースペクトルは、対数変換器で対数変換され、さらに逆フーリエ変換器で高速フーリエ逆変換され、時間域(ケフレンジ)のケプストラムに変換される。このケプストラムは乗算器及び窓関数発生器からの因果性の窓がかけられ複素ケプストラムに変換される。この複素ケプストラムは再び上記フーリエ変換器で高速フーリエ変換され周波数域に戻され、スペクトルエンベロープが求められる。
【0020】
このスペクトルエンベロープの例は図12(B1)(B2)及び図13(B1)(B2)に示される。このスペクトルエンベロープは指数変換器で指数変換され、上記逆フーリエ変換器で高速フーリエ逆変換され時間域に戻される。これにより、最小位相のインパルス応答信号のサンプリングデータが生成され、これが上記インパルス応答信号ISj(t)としてインパルス信号記憶部51に記憶される。
【0021】
インパルス応答信号ISj(t)の繰り返し周期が変化すれば、このインパルス応答信号ISj(t)に基づいて出力される楽音信号のパワー、エネルギーまたは音量も変化する。このインパルス応答信号ISj(t)の繰り返し周期に基づいて、発生されるインパルス応答信号ISj(t)の大きさが変化する。これにより、出力される楽音信号のパワー、エネルギーまたは音量が、一定にされ、インパルス応答信号ISj(t)の繰り返し周期に応じて変化してしまうことがない。
【0022】
2.全体回路
図1は楽音生成装置の全体回路を示す。演奏情報発生部10からは演奏情報(楽音発生情報)が発生される。この演奏情報(楽音発生情報)は、楽音を発生させるための情報である。この演奏情報発生部10は、マニュアル操作によって演奏される発音指示装置、自動演奏装置、種々のスイッチまたはインターフェイスである。
【0023】
上記演奏情報(楽音発生情報)は、音楽的ファクタ(因子)情報であり、音高(音域)情報(音高決定因子)、発音時間情報、演奏分野情報、発音数情報などである。発音時間情報は楽音の発音開始からの経過時間を示す。演奏分野情報は、演奏パート情報、楽音パート情報、楽器パート情報等を示し、例えばメロディ、伴奏、コード、ベース、リズム等、または上鍵盤、下鍵盤、足鍵盤等に対応している。
【0024】
上記音高情報はキーナンバデータKNとして取り込まれる。このキーナンバデータKNはオクターブデータ(音域データ)と音名データとからなる。演奏分野情報は、パートナンバデータPNとして取り込まれ、このパートナンバデータPNは各演奏エリアを識別するデータであって、発音操作された楽音がどの演奏エリアからのものかによって設定される。
【0025】
発音時間情報は、トーンタイムデータTMとして取り込まれ、キーオンイベントからのタイムカウントデータに基づいたり、またはエンベロープフェーズで代用される。この発音時間情報は特願平6−219324号明細書及び図面に発音開始からの経過時間情報として詳しく示される。
【0026】
発音数情報は同時に発音している楽音の数を示し、例えばアサインメントメモリ42のオン/オフデータが「1」の楽音の数に基づき、この数は特願平6−242878号の図9及び図15、特願平6−2476855号の図8及び図18、特願平6−276857号の図9及び図20、特願平6−276858号の図9及び図21のフローチャートに基づいて求められる。
【0027】
発音指示装置は、キーボード楽器、弦楽器、吹奏楽器、打楽器、コンピュータのキーボード等である。自動演奏装置は、記憶された演奏情報を自動的に再生するものである。インターフェイスは、MIDI(ミュージカルインスツルメントデジタルインターフェイス)等、接続された装置からの演奏情報を受け取ったり、送り出したりする装置である。
【0028】
さらに、この演奏情報発生部10には各種スイッチが設けられ、この各種スイッチは音色タブレット、エフェクトスイッチ、リズムスイッチ、ペダル、ホイール、レバー、ダイヤル、ハンドル、タッチスイッチ等であって楽器用のものである。この各種スイッチより、楽音制御情報が発生され、この楽音制御情報は発生された楽音を制御する情報であって音楽的ファクタ(因子)情報であり、音色情報(音色決定因子)、タッチ情報(発音指示操作の速さ/強さ)、発音数情報、エフェクト情報、リズム情報、音像(ステレオ)情報、クオンタイズ情報、変調情報、テンポ情報、音量情報、エンベロープ情報等である。
【0029】
これら音楽的ファクタ情報も上記演奏情報(楽音情報)に合体され、上記各種スイッチより入力されるほか、上記自動演奏情報に合体されたり、上記インターフェイスで送受される演奏情報に合体される。なお、上記タッチスイッチは上記発音指示装置の1つ1つに対応して設けられており、タッチの速さと強さを示すイニシャルタッチデータとアフタタッチデータとが発生される。
【0030】
上記音色情報は、鍵盤楽器(ピアノ等)、管楽器(フルート等)、弦楽器(バイオリン等)、打楽器(ドラム等)の楽器(発音媒体/発音手段)の種類等に対応しており、トーンナンバデータとして取り込まれる。上記エンベロープ情報は、エンベロープレベル、エンベロープスピード、エンベロープフェーズなどである。
【0031】
このような音楽的ファクタ情報は、コントローラ20へ送られ、後述の各種信号、データ、パラメータの切り換えが行われ、楽音の内容が決定される。上記演奏情報(楽音発生情報)及び楽音制御情報はコントローラ20で処理され、各種データがインパルス信号発生部50へ送られ、インパルス応答信号ISj(t)が発生される。コントローラ20はCPU、ROM及びRAMなどからなっている。
【0032】
プログラム/データ記憶部30(内部記憶媒体/手段)はROMまたは書き込み可能なRAM、フラッシュメモリまたはEEPROM等の記憶装置からなり、光ディスクまたは磁気ディスク等の情報記憶部41(外部記憶媒体/手段)に記憶されるコンピュータのプログラムが書き写され記憶される(インストール/転送される)。またプログラム/データ記憶部30には外部の電子楽器またはコンピュータから上記MIDI装置または送受信装置を介して送信されるプログラムも記憶される(インストール/転送される)。このプログラムの記憶媒体は通信媒体も含む。
【0033】
このインストール(転送/複写)は、情報記憶部41が本楽音生成装置にセットされたとき、または本楽音生成装置の電源が投入されたとき自動的に実行され、または操作者による操作によってインストールされる。上記プログラムは、コントローラ20が各種処理を行うための後述するフローチャートに応じたプログラムである。
【0034】
なお、本装置に予め別のオペレーティングシステム、システムプログラム(OS)、その他のプログラムが記憶され、上記プログラムはこれらのOS、その他のプログラムとともに実行されてもよい。このプログラムは本装置(コンピュータ本体)にインストールされ実行されたときに、別のプログラムとともにまたは単独で請求項(クレーム)に記載された処理・機能を実行させることができればよい。
【0035】
また、このプログラムの一部又は全部が本装置以外の1つ以上の別装置に記憶されて実行され、本装置と別装置との間には通信手段を介して、これから処理するデータ/既に処理されたデータ/プログラムが送受され、本装置及び別装置全体として、本発明が実行されてもよい。
【0036】
このプログラム/データ記憶部30には、上述した音楽的ファクタ情報、上述した各種データ及びその他の各種データも記憶される。この各種データには時分割処理に必要なデータや時分割チャンネルへの割当のためデータ等も含まれる。
【0037】
インパルス信号発生部50では、所定長のインパルス応答信号ISj(t)が繰り返し発生され音響出力部60から発音出力される。この繰り返し発生されるインパルス応答信号ISj(t)の繰り返しの周期は、上記音高情報に応じて変化され、またこの音高情報とは異なる上記音色情報または音高に関係ない音楽的ファクタ情報に応じて、この発生されるインパルス応答信号ISj(t)そのものの読み出し速度(発生速度)が変化され、これら繰り返し周期と読み出し速度とは互いに独立に変化される。
【0038】
このインパルス応答信号ISj(t)は発生すべき楽音信号のスペクトルエンベロープに対応していて所定の有限の長さLを持つ。このインパルス信号発生部50は時分割処理によって複数の楽音信号が同時に生成されポリフォニックに発音される。
【0039】
タイミング発生部30からは、楽音生成装置の全回路の同期を取るためのタイミングコントロール信号が各回路に出力される。このタイミングコントロール信号は、各周期のクロック信号のほか、これらのクロック信号を論理積または論理和した信号、時分割処理のチャンネル分割時間の周期を持つ信号、チャンネルナンバデータjなどを含む。
【0040】
3.アサインメントメモリ42
図2は、プログラム/データ記憶部40のアサインメントメモリ42を示す。アサインメントメモリ42には、複数(16または32等)のチャンネルメモリエリアが形成されており、上記インパルス信号発生部50に形成された複数の楽音生成チャンネルに割り当てられた楽音に関するデータが記憶される。
【0041】
これら各チャンネルメモリエリアには、チャンネルが割当られた楽音の周期係数f(またはキーナンバデータKN)、包絡係数r(トーンナンバデータTN)、波形先頭アドレスSa、波形末尾アドレスEa及び周期末尾値Fmaxのほか、オン/オフデータ、タッチデータTC、トーンタイムデータTM、パートナンバデータPN、パワーデータPW、エンベロープフェーズデータEF、エンベロープスピードデータES、エンベロープレベルデータEL等が記憶される。
【0042】
オン/オフデータは割り当られ発音する楽音がキーオン中または発音中(“1”)かキーオフ中または消音中(“0”)かを示す。周期係数f(キーナンバデータKN)は割り当られ発音する楽音の音高を示し、上記音高情報に応じて決定される。周期係数fの上位データは音域またはオクターブを示す。この周波数ナンバデータFNは上記コントローラ20によって対応するチャンネルタイミングに上記インパルス信号発生部50へ送られる。
【0043】
包絡係数r(トーンナンバデータTN)は、割り当てられ発音する楽音の音色を示し、上記音色情報に応じて決定される。この包絡係数rは、上記コントローラ20によって対応するチャンネルタイミングに上記インパルス信号発生部50へ送られる。タッチデータTCは、発音操作の速さまたは強さを示し、上記タッチ情報に応じて決定される。
【0044】
パワーデータPWは、インパルス応答信号ISj(t)の波形のエネルギーのパワーを示し、インパルス信号記憶部51に記憶された各インパルス応答信号ISj(t)の繰り返し周期T、各インパルス応答信号ISj(t)そのものの読み出し(発生)速度または波形形状に基づいて決定される。
【0045】
例えば、ある音高のあるインパルス応答信号ISj(t)のパワーデータPWが「1」に基準として設定されれば、1オクターブ上の音高の同じインパルス応答信号ISj(t)では「1/2」、2オクターブ上の音高の同じインパルス応答信号ISj(t)では「1/4」、・・・、1オクターブ下の音高の同じインパルス応答信号ISj(t)では「2」、2オクターブ下の音高の同じインパルス応答信号ISj(t)では「4」、・・・となる。
【0046】
また、ある読み出し速度のインパルス応答信号ISj(t)のパワーデータPWが「1」に基準として設定されれば、2倍の読み出し速度の同じインパルス応答信号ISj(t)では「2」、3倍の読み出し速度の同じインパルス応答信号ISj(t)では「3」、・・・、1/2倍の読み出し速度の同じインパルス応答信号ISj(t)では「1/2」、1/3倍の読み出し速度の同じインパルス応答信号ISj(t)では「1/3」、・・・となる。
【0047】
さらに、異なるインパルス応答信号ISj(t)の間でも、パワーデータPWが設定される。インパルス応答信号ISj(t)が激しく変化する波形であり、波形のエネルギーパワーが大きければ、パワーデータPWは小さくされ、インパルス応答信号ISj(t)がゆっくりと変化する波形であり、エネルギーパワーが小さければ、パワーデータPWは大きくされる。
【0048】
むろん、インパルス信号記憶部51に記憶されている各インパルス応答信号ISj(t)の大きさ(振幅)が同じエネルギーパワーとなるように調整されていれば、このような異なるインパルス応答信号ISj(t)の間のパワーデータPWの設定は不要である。
【0049】
このパワーデータPWは、異なるインパルス応答信号ISj(t)の間では、インパルス応答信号ISj(t)の波形の積分値、または波形の各極大値及び各極小値の絶対値の合計をもとに決定される。
【0050】
また、このパワーデータPWは、上述したように、同じインパルス応答信号ISj(t)の間では、繰り返し周期Tつまり音高周波数に反比例して決定され、さらに設定音色つまり読み出し速度に反比例して決定される。しかし、楽音の発生(発音)回路のインパルス特性、スピーカの電気エネルギーから音量エネルギーへの変換特性によっては以下の通りとなる。A、B、C、Dは定数である。Tは上記繰り返し周期である。音高周波数であれば逆数にされてこの「T」のなかに代入される。Sは読み出し速度である。
【0051】
PW=A×(T/S)(n−INV) (n=1、2、3、・・・)
PW=B×(log−c)(T/S)
PW=D×(n−RAD)(T/S) (n=1、2、3、・・・)
(n−INV)は前にある数値を「n乗」することを示し、この場合(T/S)が「n乗」される。(log−c)は底が「c」の対数式を示す。(n−RAD)は後に続く数値の「n乗根」を求めることを示し、この場合(T/S)の「n乗根」が算出される。
【0052】
このようなパワーデータPWは、プログラム/データ記憶部40内のテーブルによって、上記音高情報(キーナンバデータKN)及び音色情報(トーンナンバデータTN)から変換される。同じく上記周期係数fも、プログラム/データ記憶部40内のテーブルによって、上記音高情報(キーナンバデータKN)から変換され、上記包絡係数rも、プログラム/データ記憶部40内のテーブルによって、上記音色情報(トーンナンバデータTN)から変換される。
【0053】
エンベロープフェーズデータEFはエンベロープのアタック、ディケィ、サスティンまたはリリースを示し、エンベロープスピードデータESはエンベロープのデジタル演算1周期当たりの演算のステップ値を示し、エンベロープレベルデータELは、各フェーズの末尾でエンベロープ演算値が到達する目標値を示す。
【0054】
これら各チャンネルメモリエリアの各データは、発音開始タイミングに書き込まれ、各チャンネルタイミングごとに書き換えられたり、読み出されたりして、上記インパルス信号発生部50へ送られる。このアサインメントメモリ42は、プログラム/データ記憶部40の中ではなくインパルス信号発生部50またはコントローラ20の中に設けてもよい。
【0055】
上記時分割処理によって形成されるチャンネル、すなわち複数の楽音を並行して発生するための複数の楽音発生システムへの各楽音の割り当て方法またはトランケート方法は、例えば特願平1−42298号、特願平1−305818号、特願平1−312175号、特願平2−2089178号、特願平2−409577号、特願平2−409578号に示された方法が使われる。
【0056】
4.インパルス信号発生部50
図3は上記インパルス信号発生部50を示す。インパルス信号記憶部51には、図4に示すように、種々のインパルス応答信号ISj(t)が記憶されている。これらのインパルス応答信号ISj(t)の波形形状は異なっており、楽音信号に合成出力されたときの音色も異なっている。これらのインパルス応答信号ISj(t)は、上記各音楽的ファクタ情報に対応しており、上記音色、タッチ、音高(音域)または発音時間、演奏分野、エンベロープフェーズなどごとに多重に記憶されている。
【0057】
例えば、インパルス応答信号ISj(t)は各音色ごとに異なって記憶され、このうち1種類の音色のインパルス応答信号ISj(t)は各タッチごとに異なって記憶され、このうち1種類のタッチのインパルス応答信号ISj(t)は各発音時間ごとに異なって記憶され、・・・音高ごとに異なって記憶され、・・・演奏分野ごとに異なって記憶され、・・・エンベロープフェーズ毎に異なって記憶される。
【0058】
上記音楽的ファクタ情報はコントローラ20でこのような種々のインパルス応答信号ISj(t)を指定する上位読み出しアドレスデータに変換され、この上記読み出しアドレスデータはインパルス信号選択部52にストアされてインパルス信号記憶部51に供給されインパルス応答信号ISj(t)が選択される。また、上記音楽的ファクタ情報が各楽音ごとまたは発音中に変化すれば、この上位読み出しアドレスデータは切り換えられ、読み出されるインパルス応答信号ISj(t)も切り換えられる。
【0059】
この音楽的ファクタ情報が音高に関連するものであれば、インパルス応答信号の波形形状そのものの変化を音高変化に連動させたり、合成出力される楽音信号の音色も音高変化に連動させることができる。また、この音楽的ファクタ情報が音高以外の情報に関連するものであれば、インパルス応答信号の波形形状そのものの変化を音色、タッチ、発音時間、演奏分野の変化に連動させたり、合成出力される楽音信号の音色も音色、タッチ、発音時間、演奏分野の変化に連動させることができる。
【0060】
このインパルス信号選択部52は上記時分割チャンネル数に対応したメモリエリアを有し、各チャンネルに割り当てられた楽音の音楽的ファクタに応じた上位読み出しアドレスデータがそれぞれのメモリエリアにストアされ、上記タイミング発生部からのチャンネルナンバデータjによって読み出されインパルス信号記憶部51に供給される。
【0061】
上記インパルス信号記憶部51の各インパルス応答信号ISj(t)はインパルス信号読み出し部53からの下位読み出しアドレスデータR1、R2によって読み出される。この下位読み出しアドレスデータR1、R2は上記音高情報以外の上記音楽的ファクタ情報に応じた速度でインクリメントされる。したがって、インパルス応答信号ISj(t)の読み出し速度は音高情報によっては決定されない。また、このインパルス応答信号ISj(t)は繰り返し読み出され、この繰り返しの周期は、上記音高情報に応じて変化され、これら繰り返し周期と読み出し速度とは互いに独立に決定される。
【0062】
上記インパルス信号記憶部51から読み出された各インパルス応答信号ISj(t)はインパルス累算部54で各チャンネルごとに個別に累算かつ合成され、乗算器55でエンベロープジェネレータ56からのエンベロープ信号が各チャンネルごとに乗算かつ合成され、楽音累算部57で全チャンネルの楽音信号について累算かつ合成され、上記音響出力部60から発音出力される。
【0063】
エンベロープジェネレータ56には上記音楽的ファクタ情報(エンベロープ情報)つまりエンベロープスピードデータES、エンベロープレベルデータEL、エンベロープフェーズデータEFがコントローラ20によって送られて各チャンネルごとに記憶され、この音楽的ファクタ情報(エンベロープ情報)に基づいて、各チャンネルのエンベロープの各フェーズのスピード及びレベルが設定され、各エンベロープの形状が決定される。このエンベロープ信号は各チャンネルごとに時分割に発生され上記乗算器55へ送られる。
【0064】
上記各チャンネルのパワーデータPWは、コントローラ20によって、波形パワー制御RAM58の対応するチャンネルエリアにストアされる。この各パワーデータPWは乗算器55に送られ、インパルス累算部54からの楽音信号(インパルス応答信号ISj(t))、またはエンベロープジェネレータ56からのエンベロープデータに乗算される。この波形パワー制御RAM58は上記時分割チャンネルに応じたメモリエリアを有し、各パワーデータPWが時分割に切り換えられて読み出される。この切り換えはタイミング発生部30からのチャンネルカウントデータに基づく。
【0065】
これにより、インパルス応答信号ISj(t)の繰り返し周期Tが音高に応じて変化し、波形のパワーつまり音量が音高に応じて変化しても、これを調整して解消することができる。また、インパルス応答信号ISj(t)の波形形状が異なっているため、波形のパワーつまり音量が音高に応じて変化しても、これを調整して解消することができる。
【0066】
図5は、このインパルス応答信号ISj(t)の音高つまり繰り返し周期Tと波形パワーとの関係を示す。図5(1)のような短い周期でインパルス応答信号ISj(t)を読み出すと、単位時間当たりの波形エネルギーは大きくなり、音量も大きくなる。これに対して、図5(1)のような長い周期でインパルス応答信号ISj(t)を読み出すと、単位時間当たりの波形エネルギーは小さくなり、音量も小さくなる。
【0067】
同様に、図示しないが、インパルス応答信号ISj(t)をゆっくりと読み出すと、単位時間当たりの波形エネルギーは大きくなり、音量も大きくなる。これに対して、インパルス応答信号ISj(t)を速く読み出すと、単位時間当たりの波形エネルギーは小さくなり、音量も小さくなる。
【0068】
これに対して、上記パワーデータPWを乗算することによって、出力されるインパルス応答信号ISj(t)(楽音信号)のレベルを制御し、繰り返し周期Tつまり音高の変化または読み出し速度つまり音色の変化による余分な音量(パワー)変化を押さえることができる。
【0069】
なお、このパワーデータPWは、上述のアサインメントメモリ42に記憶されているエンベロープレベルデータELに乗算されて、上記エンベロープジェネレータ56へ送られてもよい。また、上記アサインメント41に記憶されているタッチデータTCがこのパワーデータPWに乗算されて、上記波形パワー制御RAM58にストアされてもよい。さらに、このパワーデータPWは、上記周期係数fの逆数と上記包絡係数rとを演算したものであってもよい。
【0070】
5.インパルス信号読み出し部53
図6は上記インパルス信号発生部50の中のインパルス信号読み出し部53を示す。上記コントローラ(CPU)20からの周期係数f、包絡係数r、波形先頭アドレスSa及び波形末尾アドレスEaは各時分割チャンネルごとにパラメータRAM501にストアされる。場合によって周期末尾値Fmaxも各時分割チャンネルごとにパラメータRAM501にストアされる。このパラメータRAM501には時分割チャンネル数に応じたメモリエリアが形成され、各チャンネルに割り当てられた楽音に応じた上記係数f、r、アドレスSa、Eaが対応するメモリエリアにストアされる。なお、上記アサインメント42から各データf、r、Sa、Eaが常時時分割に送られてくる場合には、パラメータRAM501のメモリエリアは1つでもよい。
【0071】
上記周期係数f及び周期末尾値Fmaxは、上記インパルス応答信号ISj(t)の繰り返し周期Tの長さを決定し、生成される楽音の音高を決定し、周期係数fが順次繰り返し累算され、周期末尾値Fmaxに達するごとに、インパルス応答信号ISj(t)が繰り返し読み出される。この周期係数fの累算値は周期カウント値Fとなる。この周期係数f及び周期末尾値Fmaxは、上記音高情報(キーナンバデータ)によって決定され、キーナンバデータから変換される。この繰り返し周期Tの長さが発生される楽音信号の音高を決定する。
【0072】
この周期係数f及び周期末尾値Fmaxのいずれかは固定されてもよい。この図3の実施例では周期末尾値Fmaxは周期カウント値Fが取り得る最大値(「1111…11」又は「111…1100…0」)に設定され、この周期末尾値Fmaxはストアされない。
【0073】
上記包絡係数rは、上記インパルス応答信号ISj(t)の読み出し(発生)速度を決定し、このインパルス応答信号ISj(t)の周波数特性(フォルマント形状)を決定し、生成される楽音の音色を決定し、上記波形先頭アドレスSaから波形末尾アドレスEaまで包絡係数rが繰り返し累算され、上記インパルス信号記憶部51に下位読み出しアドレスデータR1、R2として供給される。この下位読み出しアドレスデータR1、R2が波形末尾アドレスEaまで達すると、上記周期カウント値Fが次に上記周期末尾値Fmax達するまで、インパルス応答信号ISj(t)の読み出しが待機される。
【0074】
この包絡係数rは、上記音高に関係ない音楽的ファクタ情報によって決定され、例えば上記音色情報(トーンナンバデータ)、タッチ情報(タッチデータ)、発音時間情報(トーンタイムデータ)、演奏分野情報(パートナンバデータ)などから変換される。
【0075】
上記パラメータRAM501からの上記包絡係数rまたは周期計数fはBレジスタを経て、FLX503を経てまたは経ないで、セレクタ504を介して、加算器505でそれまでの下位読み出しアドレスデータR1、R2または周期カウント値Fに累算され、累算レジスタ506を経て、セレクタ507を介して演算RAM508にストアされる。この演算RAM508には時分割チャンネル数に応じたメモリエリアが形成され、各チャンネルに割り当てられた楽音に応じた上記データR1、R2、Fが対応するメモリエリアにストアされる。上記FLX503は浮動小数点によるデータを固定小数点によるデータに変換する。
【0076】
このデータR1、R2、Fは演算RAM508からAレジスタ509を経て、セレクタ510を介して上記加算器505に送られる。また、このデータR1、R2はR1レジスタ511、R2レジスタ512を経てセレクタ518で交互に選択されて上記インパルス信号記憶部51に送られる。上記累算レジスタ506からの周期カウント値Fのうち下位の小数データFr又はデータ「0」は、上記セレクタ510を介して上記加算器505に供給される。上記セレクタ518はクロック信号φR1によって切り換えられる。このクロック信号φR1の1周期は図9に示すように1チャンネル分の分割時間に等しい。
【0077】
この下位読み出しアドレスデータR1の初期値は「0」、下位読み出しアドレスデータR2の初期値は波形末尾アドレスEa、周期カウント値Fの初期値は「0」であり、これらの初期値はコントローラ20によって上記セレクタ507を介して上記演算RAM508にストアされる。
【0078】
上記パラメータRAM501からの上記波形末尾アドレス値Ea(周期末尾値Fmax)はEaレジスタ及びアンドゲート群514を介してコンパレータ516に供給される。このコンパレータ516には上記加算器505からの下位読み出しアドレスデータR1、R2または周期カウント値Fも供給され、下位読み出しアドレスデータR1、R2が波形末尾アドレス値Eaに達したとき、または周期カウント値Fが最大値「111…11」又は最大近似値「111…1100…0」(周期末尾値Fmax)に達したとき、検出信号がフリップフロップ517にセットされ、コントローラ(CPU)20へ送られる。
【0079】
上記加算器505からのキャリーアウト信号Coutは上記コンパレータ516の上位ビット群として供給され、また上記アンドゲート群514のゲート信号はインバータ515で反転され、上記コンパレータ516の上位ビット群として供給され、ビット数が整合される。
【0080】
上記波形先頭アドレスSa及び波形末尾アドレスEaも、上記音楽的ファクタ情報によって決定され、例えば上記音高情報(キーナンバデータ)、音色情報(トーンナンバデータ)、タッチ情報(タッチデータ)、発音時間情報(トーンタイムデータ)、演奏分野情報(パートナンバデータ)などから変換され、パラメータRAM501の対応チャンネルメモリエリアにストアされる。この波形先頭アドレスSa及び波形末尾アドレスEaは、上記種々のインパルス応答信号ISj(t)の1つを選択する。この場合、上記インパルス信号選択部52は省略可能である。
【0081】
6.処理全体
図7はコントローラ(CPU)20によって実行される処理全体のフローチャートを示す。この処理全体は本楽音生成装置の電源オンによって開始され、電源オフまで繰り返し実行される。
【0082】
まず、プログラム/データ記憶部40の初期化など種々のイニシャライズ処理が行われ(ステップ01)、上記演奏情報発生部10の発音指示装置または自動演奏装置での手動演奏または自動演奏に基づく発音処理が行われる(ステップ02)。
【0083】
この発音処理では、サーチされた空きチャンネルにキーオンイベントに係る楽音が割り当てられる。この楽音の内容は、上記演奏情報発生部10からの上記演奏情報(楽音発生情報)、楽音制御情報の音楽的ファクタ情報及びこのときプログラム/データ記憶部40に既に記憶されている音楽的ファクタ情報によって決定される。
【0084】
次いで、上記演奏情報発生部10の発音指示装置または自動演奏装置での手動演奏または自動演奏に基づく消音(減衰)処理が行われる(ステップ03)。この消音(減衰)処理では、キーオフイベントに係る楽音が割り当てられているチャンネルがサーチされ当該楽音が減衰され消音される。この場合、キーオフイベントに係る楽音のエンベロープフェーズがリリースとなり、エンベロープレベルが次第に「0」になる。
【0085】
さらに、上記演奏情報発生部10の各種スイッチの操作があれば、このスイッチに対応する音楽的ファクタ情報が取り込まれ、プログラム/データ記憶部40に記憶され、音楽的ファクタ情報が変更される(ステップ04)。この後、その他の処理が実行され(ステップ05)、上記ステップ02からこのステップ05までの処理が繰り返される。
【0086】
7.インパルス応答信号ISj(t)発生処理
図8はコントローラ(CPU)20によって実行される上記ステップ02の発音処理のフローチャートを示し、この処理ではインパルス応答信号ISj(t)が発生される。この図5のフローチャートは全時分割チャンネルについて行われる。
【0087】
まず、上記演奏情報発生部10の発音指示装置または自動演奏装置からコントローラ20に手動演奏または自動演奏に基づくキーオンイベント(発音イベント)が送られれば(ステップ11)、空きチャンネルがサーチされ、サーチされた空きチャンネルのアサインメントメモリ42のエリアに「1」のオン/オフデータ、音高に応じた周期係数f、音色に応じた包絡係数r、タッチデータTC、パートナンバデータPN、「0」のトーンタイムデータTM、音高に応じたパワーデータPW、エンベロープスピードES、エンベロープレベルEL、「1」のエンベロープフェーズEF、その他の後述するフラグ及びデータSa、Ea、Fmax、n、ΔLad、WSが書き込まれる。この周期係数fと包絡係数rとは次述する。
【0088】
さらに、「0」の上記下位読み出しアドレスデータR1、波形末尾アドレスEaに設定された下位読み出しアドレスデータR2、「0」の周期カウント値Fが上記演算RAM508の対応チャンネルメモリエリアにストアされ、重ね合わせチャンネルカウンタ(プログラム/データ記憶部40)の対応チャンネルエリアが「0」にリセットされる(ステップ12)。
【0089】
次に、周期係数f及び周期末尾値Fmaxはキーナンバデータ(音高情報)KNから変換され、パラメータRAM501の対応チャンネルメモリエリアにストアされ、包絡係数rは、トーンナンバデータ(音色情報)TN、タッチデータ(タッチ情報)TC、トーンタイムデータ(発音時間情報)TMまたはパートナンバデータ(演奏分野情報)PNから変換され、パラメータRAM501の対応チャンネルメモリエリアにストアされ(ステップ13)、その他の処理が実行される(ステップ14)。
【0090】
また、波形先頭アドレスSa及び波形末尾アドレスEaは、キーナンバデータ(音高情報)、トーンナンバ(音色情報)、タッチデータ(タッチ情報)、トーンタイムデータ(発音時間情報)またはパートナンバデータ(演奏分野情報)から変換され、パラメータRAM501の対応チャンネルメモリエリアにストアされる(ステップ13)。この波形先頭アドレスSa及び波形末尾アドレスEaは、上記種々のインパルス応答信号ISj(t)の1つを選択する。この場合、上記インパルス信号選択部52は省略可能である。
【0091】
さらに、キーオン開始(発音開始)またはキーオン中(発音中)の楽音があれば(ステップ15)、上記周期カウント値Fに周期係数fが加算(累算)され(ステップ16)、この加算値(累算値)が周期末尾値Fmax(「1111…11」又は「111…1100…0」)以上であれば(ステップ17)、周期カウント値Fから周期末尾値Fmaxが減算され、周期カウント値Fの端数が補正される(ステップ18)。
【0092】
重ね合わせチャンネルを切り換えて(ステップ18、21、22)、切り換えられた当該チャンネルの波形先頭アドレスSaに周期カウント値Fのうち下位の小数データFrが加算され(ステップ23)、下位読み出しアドレスデータR1またはR2の初期値が補正される。
【0093】
この重ね合わせチャンネルでは、2つのインパルス応答信号ISj(t)が時分割に交互に読み出され、1つの楽音として出力され、上述したように複数の楽音がさらなる時分割チャンネルを通じてポリフォニックに出力される。この重ね合わせチャンネルの値(ch=0、1)によって、2つのインパルス応答信号ISj(t)の読み出しが区別される。
【0094】
1つのインパルス応答信号ISj(t)の読み出しの時間的長さLが、このインパルス応答信号ISj(t)の繰り返し周期の時間的長さTより長いと、先のインパルス応答信号ISj(t)と次のインパルス応答信号ISj(t)とが重なってしまう。したがって、上記の2つのインパルス応答信号ISj(t)がチャンネル分割によって個別に読み出されれば、この2つのインパルス応答信号ISj(t)が並行して読み出され重ね合わされる。むろん、このチャンネル数は2を越えてもよい。
【0095】
次いで、下位読み出しアドレスデータR1に包絡係数rが波形末尾アドレスEaになるまで加算され(ステップ24、25、26)、下位読み出しアドレスデータR2に包絡係数rが波形末尾アドレスEaになるまで加算される(ステップ27、28、29)。この2つの下位読み出しアドレスデータR1及びR2により、上述したように2つのインパルス応答信号ISj(t)がインパルス応答信号ISj(t)信号記憶部51から並行して読み出されインパルス累算部54で重ね合わされる。以上のステップ15からステップ29までの処理が全時分割チャンネルにわたって繰り返され(ステップ30)、その他の処理が実行される(ステップ31)。
【0096】
8.インパルス信号読み出し部53のタイムチャート
図9は、上記インパルス信号読み出し部53の各部の動作のタイムチャートを示す。上述したように、パラメータRAM501及び演算RAM508への書き込み/読み出し、各セレクタ504、507、510の切り換え、各レジスタ502、5096、509、511、512、513へのストア、フリップフロップ517へのストア、アンドゲート群514の開成/閉成が切り換え制御される。これらの切り換え制御信号は、上述したタイミング発生部からの種々のタイミング制御信号が使われる。
【0097】
上記周期末尾値FmaxがパラメータRAM501にストアされるときは、当該周期末尾値Fmaxの書き込み/読み出しも行われる。このタイムチャートの波形のうちハイレベル/ローレベルが点線で示されるものは、書き込みデータがあるとき/ないとき、コンパレータ516が検出/非検出によって、ハイレベルになったりローレベルになったりする。
【0098】
9.読み出し状態
図10はインパルス応答信号ISj(t)のインパルス信号記憶部51からの読み出し状態を示す。発音開始(キーオン)によって、1番目のインパルス応答信号ISj(t)は下位読み出しアドレスデータR1によって読み出し開始される(ステップ24)。この下位読み出しアドレスデータR1は包絡係数rの速度でインクリメント開始される。
【0099】
同時に、周期カウント値Fが周期係数fの速度でインクリメント開始される(ステップ15、16)。周期カウント値Fが周期末尾値Fmaxに達すると(ステップ17)、上記1番目のインパルス応答信号ISj(t)がまだ読み出しの途中であっても、2番目のインパルス応答信号ISj(t)が下位読み出しアドレスデータR2によって読み出し開始される(ステップ27)。この下位読み出しアドレスデータR2も包絡係数rの速度でインクリメント開始される。
【0100】
そして、発音開始から2番目の周期Tが経過すると(ステップ17)、上記2番目のインパルス応答信号ISj(t)がまだ読み出しの途中であっても、3番目のインパルス応答信号ISj(t)が下位読み出しアドレスデータR1によって読み出し開始される(ステップ24)。
【0101】
さらに、発音開始から3番目の周期Tが経過すると(ステップ17)、上記3番目のインパルス応答信号ISj(t)がまだ読み出しの途中であっても、4番目のインパルス応答信号ISj(t)が下位読み出しアドレスデータR2によって読み出し開始される(ステップ27)。
【0102】
このように、2つの下位読み出しアドレスデータR1及びR2によって、2つの同じインパルス応答信号ISj(t)が交互に読み出される。したがって、インパルス応答信号ISj(t)そのものの長さLが繰り返し発生の周期Tより長くても、各周期Tの終わりで先のインパルス応答信号ISj(t)の発生を継続させるとともに、次のインパルス応答信号ISj(t)を重ねて発生させることができる。これらのインパルス応答信号ISj(t)は1つの楽音信号として合成かつ出力される。
【0103】
なお、1つの楽音信号として時分割に読み出されるインパルス応答信号ISj(t)の数は「2」を越えていてもよい。これに応じて、下位読み出しアドレスデータの数もR1、R2、R3、R4、・・・と増加し、ステップ24〜26、27〜29の数も増える。
【0104】
また、1つの楽音信号として時分割に読み出されるインパルス応答信号ISj(t)の数は「1」でもよい。この場合、インパルス応答信号ISj(t)そのものの長さLが繰り返し周期Tより短くなる。したがって、インパルス応答信号ISj(t)そのものの長さLが繰り返し周期Tより短いか否かが判断される。短ければ、ステップ27〜29の処理は省略され、インパルス応答信号ISj(t)の時分割読み出しシステムは1つになる。インパルス応答信号ISj(t)そのものの長さLは、波形末尾アドレスEaと波形先頭アドレスSaとの差を包絡係数rで除算して求められる。同じく繰り返し周期Tは、周期末尾値Fmaxを周期計数fで除算して求められる。
【0105】
10.トーンタイムデータTMの処理
図11はコントローラ20によって一定周期ごとに実行されるインタラプト処理のフローチャートを示す。この処理で上記トーンタイムデータTMのインクリメントが行われる。
【0106】
この処理では、上記アサインメントメモリ42の各チャンネルエリアにつき(ステップ41、44、45)、オン/オフデータが「1」で楽音が発音中のものについて(ステップ42)、そのトーンタイムデータTMが「+1」され(ステップ43)、その他の周期的な処理が行われる(ステップ46)。こうして、各チャンネルの楽音の発音経過時間がカウントされ記憶され、上述したように利用される。
【0107】
11.交互反転回路66
図14はインパルス信号発生部50の第2実施例を示す。この実施例では、上記インパルス信号記憶部51と上記インパルス累算部54との間に図14に示すような交互反転回路66が挿入される。本実施例では1つの楽音につき2つのチャンネルが割り当てられる。一方の第1チャンネルの周期係数fは、指定された音高に応じており、他方の第2チャンネルの周期係数は指定された音高に応じたものではなく、指定された音高の周期係数fのn倍(2倍)の周期係数nf(2f)に設定される。パワーデータPWは設定値からさらに(n−1)/n、(1/2)の値とされるかまたはエンベロープレベルデータELが設定値からさらに(n−1)/n、(1/2)の値とされる。他は上記実施例と同じである。
【0108】
第1チャンネルで読み出される第1インパルス応答信号ISj(t)が図16(A1)のようであり、この第1周波数特性(周波数スペクトル成分、フォルマント特性)が図16(B1)であれば、第2チャンネルで読み出されるn倍(2倍)の周波数の第2インパルス応答信号ISj(t)は図16(A2)のようになり、この第2周波数特性(周波数スペクトル成分、フォルマント特性)は、図16(B2)のようになる。ここでは「n=2」である。この図16(B2)のn=2倍の周波数の第2周波数特性の各周波数成分の間隔は、図16(B1)の第1周波数特性の各周波数成分の間隔のn=2倍となり、ちょうど第2周波数特性(図16(B2))は第1周波数特性(図16(B1))の偶数次倍音のみに該当する。
【0109】
ここで、第1インパルス応答信号ISj(t)(A1)の波形から第2インパルス応答信号ISj(t)(図16A2)の1/n(1/2)を差し引して差分合成を行えば、偶数次倍音のみが差し引かれ、合成インパルス応答信号ISj(t)(図16A3)が生成され、その合成周波数特性(図16B3)は奇数次倍音のみとなる。この図16(A3)の波形はインパルス応答信号ISj(t)がn(2)個のうち(n−1)(1)個が(1つおきに、交互に)正負反転されて出力され、指定された音高に応じた楽音となっている。
【0110】
また、n=3、4、5、6、7、・・・とすることも可能であり、これにより図16(A4)に示すように、n個のうち(n−1)個が正負反転されて出力され、反転されていないインパルス応答信号ISj(t)のレベルが(n−1)/nとされ、反転されたインパルス応答信号ISj(t)のレベルが1/nとされる。
【0111】
この楽音信号の周波数特性はn番目、2n番目、3n番目、4n番目、5n番目、6n番目、7n番目、・・・の周波数成分だけが消去/減衰され、特定の倍音成分だけがない楽音を生成することができる。例えばn=2であれば、2倍音、4倍音、6倍音、8倍音、・・・だけを消去/減衰させることができ、この楽音は閉管楽器の音に適する。さらに例えばn=3であれば、3倍音、6倍音、9倍音、12倍音、・・・だけを消去/減衰させることができる。また例えばn=7であれば、7倍音、14倍音、21倍音、28倍音、・・・だけを消去/減衰させることができ、この楽音はピアノの音に適する。
【0112】
上記インパルス信号記憶部51から続けて読み出された2つのインパルス応答信号ISj(t)は、一方はセレクタ63、セレクタ59及びオアゲート群61を介してそのままインパルス累算部54、乗算器55及び楽音累算部57へ送られ、他方はセレクタ63、セレクタ59を介してインバータ群65で正負反転され乗算器62で1/(n−1)倍、(1/2倍)とされてインパルス累算部54、乗算器55及び楽音累算部57へ送られ累算(加算)合成(差分合成)される。
【0113】
上記セレクタ59は上記チャンネルカウントデータCHNoの下位ビットによって切り換えられ、上記第1チャンネルの第1インパルス応答信号ISj(t)はそのまま出力され、上記第2チャンネルの第2インパルス応答信号ISj(t)は正負反転され1/(n−1)倍、(1/2倍)とされて出力され、図16(B3)のような楽音信号が発生出力される。この楽音信号の周波数特性(周波数スペクトル成分、フォルマント特性)はnの整数倍音のみが消去/減衰された倍音からなり、n=2であれば奇数次倍音からのみなる。チャンネルカウントデータCHNoは上記タイミング発生部30から送られる。
【0114】
上記1/(n−1)、(1/2)のデータはコントローラ20によって演算され、レジスタ82にストアされ上記乗算器62に供給される。この1/(n−1)の値を決定する間引次数データnはアサインメントメモリ42に各チャンネルごとに記憶され、周波数特性の中の間引く倍音次数が選択切り換えされる。この間引次数データn上記音色情報(トーンナンバデータTN)の一部を構成し、演奏情報発生部10からの音色情報によって決定される。
【0115】
上記セレクタ63には、間引フラグがセレクト信号として送られ、上記奇数次倍音制御を行わない通常のインパルス応答信号ISj(t)がこのセレクタ63を介してオアゲート群61へ送られ、図10に示すように累算(加算)合成される。この間引フラグはアサインメントメモリ42に各チャンネルごとに記憶され、特定倍音の消去/減衰されたまたは奇数次倍音の楽音を生成するか、この消去/減衰のないまたは偶数次倍音も含む楽音が生成されるかが選択切り換えされる。この間引フラグは上記音色情報(トーンナンバデータTN)の一部を構成し、演奏情報発生部10からの音色情報によって決定される。
【0116】
このように、このような奇数次倍音の楽音を生成するのに使われた上記インパルス応答信号ISj(t)は、図10のように通常に読み出されれば、特定倍音の消去/減衰のないまたは偶数次倍音も含む楽音が生成される。したがって1つのインパルス応答信号ISj(t)から特定倍音の消去/減衰のないまたは偶数次倍音を含む楽音と特定倍音の消去/減衰されたまたは含まない楽音とを選択生成できる。
【0117】
12.交互反転回路66
図15はインパルス信号発生部50の第3実施例を示す。この実施例では、上記インパルス信号記憶部51と上記インパルス累算部54との間に図15に示すような交互反転回路66が挿入される。本実施例では上記アサインメント42の割り当てチャンネルのメモリエリアにストアされる周期係数fは、指定された音高に応じたものではなく、指定された音高の周期係数fのn倍(2倍)の周期係数nf(2f)に設定される。パワーデータPWは設定値からさらに(n−1)/n、(1/2)の値とされるかまたはエンベロープレベルデータELが設定値からさらに(n−1)/n、(1/2)の値とされる。他は上記実施例と同じである。
【0118】
周期係数がn倍(2倍)の「nf(2f)」に設定されるから、単位時間あたりに読み出されるインパルス応答信号ISj(t)はn倍(2倍)となる。図15(A3)に示されるようにこれがn(2)個のうち(n−1)(1)個が(1つおきに、交互に)正負反転されて出力され、指定された音高に応じた楽音となる。この場合、インパルス応答信号ISj(t)のレベルは(n−1)/n、(1/2)にされなくてはならないので、上述したようにパワーデータPWは設定値からさらに(n−1)/n、(1/2)の値とされるかまたはエンベロープレベルデータELが設定値からさらに(n−1)/n、(1/2)の値とされる。
【0119】
上記インパルス信号記憶部51から上記2つの下位読み出しアドレスデータR1及びR2により交互に読み出されたインパルス応答信号ISj(t)は、一方はセレクタ63、セレクタ59及びオアゲート群61を介してそのままインパルス累算部54へ送られ、他方はセレクタ63、セレクタ59を介してインバータ群65で正負反転されインパルス累算部54へ送られ累算(加算)合成される。
【0120】
セレクタ59はn進プログラマブルカウンタ81からのn進データによって切り換えられ、上記下位読み出しアドレスデータR1、R2によって読み出されたインパルス応答信号ISj(t)のうちn個のうち1個はそのまま出力され、他の(n−1)個のインパルス応答信号ISj(t)は正負反転されて出力され、図16(A3)のような楽音信号が発生出力される。この楽音信号の周波数特性(周波数スペクトル成分、フォルマント特性)は、図16(B3)に示すようにnの整数倍音のみが消去/減衰された倍音からなり、n=2であれば奇数次倍音からのみなる。上記セレクタ63及び間引フラグは上述した第2実施例と同じである。
【0121】
上記n進プログラマブルカウンタ81にはコントローラ20によって上記データ「n」がセットされ、クロック信号2φR1によってインクリメントされる。このクロック信号2φR1は上記クロック信号φR1の2倍の周波数のクロック信号である。このn進プログラマブルカウンタ81は上記反転されないn個のうち1個のインパルス応答信号ISj(t)と、反転される(n−1)個のインパルス応答信号ISj(t)の各発生を検出している。
【0122】
このように生成されるnの整数倍音のみが消去/減衰された奇数次倍音の楽音は、図17に示す吹奏(管)楽器の楽音信号として最適である。この管は一方が閉じられ他方が開いており、奇数次倍音が偶数次倍音に比べてかなり共振し易くなっており、周波数特性の各周波数成分はほとんどが基本波に対して奇数倍(1倍、3倍、5倍、7倍・・・)である。
【0123】
13.奇数次倍音構成のバリエーション
図16はnの整数倍音のみが消去/減衰された奇数次倍音構成のバリエーションを示す。上記第1インパルス応答信号ISj(t)(図16A1)のレベルが(n−1)/n、(1/2)レベルの第2インパルス応答信号ISj(t)(図16A2)のレベルに対して相対的に大きくなると、図18(A1)に示すような差分合成波形となり、周波数特性は図18(B1)に示すようにnの整数倍音である偶数次倍音が若干含まれる特性となる。
【0124】
また、上記第1インパルス応答信号ISj(t)(図16A1)のレベルが1/n(1/2)レベルの第2インパルス応答信号ISj(t)(図16A2)のレベルに対して相対的に小さくなると、図18(A2)に示すような差分合成波形となり、周波数特性は図18(B1)に示すようにnの整数倍音である偶数次倍音がマイナス値となる特性となる。このような自然界にはあり得ない周波数成分の一部がマイナスとなる楽音波形を得ることができる。
【0125】
この場合、上記セレクタ59の2つの出力端に乗算器またはシフタが設けられ、一方に対して他方のレベルが相対的に大きくされたり小さくされたりする。これらの乗算器またはシフタによって、上述したインパルス応答信号ISj(t)のレベルを(n−1)/n、(1/2)にしたり、また上記エンベロープレベルデータを(n−1)/n、(1/2)にすることを代わりにおこなうことができる。
【0126】
14.包絡周期テーブル群43
図19はプログラム/データ記憶部40内の包絡周期テーブル群43を示す。この包絡周期テーブル群43は音高情報(キーナンバデータKN、周波数ナンバデータFN)に基づいて対応する上記包絡係数r及び上記周期係数fが読み出される。この包絡係数rは上述したようにインバータ信号記憶部51のインパルス応答信号ISj(t)そのものの読み出し速度Sを決定し、周期係数fは同じくインパルス応答信号ISj(t)の繰り返し周期Tを決定する。
【0127】
周期係数fは音高情報に対して正比例している。この音高情報は各音高の周波数値に応じた値を示す。この正比例は厳密な正比例でもよいし、「S字調律」などによって正比例関係から微妙にずれていてもよい。
【0128】
包絡係数rは音高情報に対して正比例したりまたは正比例しておらず、周期係数fと同じまたは異なる変化特性を持つ。特性r1は音高情報に対して変化せず一定である。特性r2は音高情報に対して正比例している。特性r3も音高情報に対して正比例しているが、周期係数fの変化より緩やかである。特性r4は音高情報に対して反比例など逆変化特性を持つ。特性r5は音高情報に対して階段状に変化し急激に変化する部分と緩やかに変化する部分とを有する。特性r6は音高情報に対して累乗的に変化する。特性r7は音高情報に対して指数的に変化する。
【0129】
これらの音高情報に対する周期係数fの特性及び包絡係数rの各特性r1〜7はそれぞれ1つずつのテーブルを構成し、各テーブルは上記包絡周期テーブル群43を構成する。なお一定値の特性r1のテーブルは省略され、この場合音高情報が演算されて包絡係数rが求められてもよい。
【0130】
このようにしてこのテーブルから読み出された周期係数fは上記アサインメントメモリ42の対応チャンネルメモリエリアに書き込まれる。また、同じく読み出された包絡係数rは、上述のようにして音色情報(トーンナンバデータTN)などから求められた別の包絡係数rと平均値が求められまたは演算合成され、同じく上記アサインメントメモリ42の対応チャンネルメモリエリアに書き込まれる。
【0131】
15.rf選択テーブル44
図20はプログラム/データ記憶部40内のrf選択テーブル44を示す。このrf選択テーブル44によって、上記音楽的ファクタ情報に応じた上記特性r1〜7のテーブルの1つが選択される。この音楽的ファクタ情報は、音高情報、音域(オクターブ)情報、音名情報、音色情報(音色決定因子)、タッチ情報(発音指示操作の速さ/強さ)、発音時間情報、発音数情報、エフェクト情報、リズム情報、音像(ステレオ)情報、クオンタイズ情報、変調情報、テンポ情報、音量情報、エンベロープ情報等であり、上記演奏情報発生部10などから発生され、対応するテーブルが選択される。
【0132】
特に、音色情報(トーンナンバデータTN)は2つのグループに分けられる。音声、音声に近い楽器音または音声に近い打楽器音の音色情報では、上記一定値の特性r1のテーブルが選択され、音高変化によってフォルマントが移動しない固定フォルマントの楽音信号が生成される。また、鍵盤楽器、弦楽器、吹奏(管)楽器または打楽器音の音色情報では、上記特性r1以外の変化する特性のテーブルが選択され、音高変化によってフォルマントが移動する移動フォルマントの楽音信号が生成される。
【0133】
17.固定フォルマントと移動フォルマント
図21は固定フォルマントの例を示し、図22は移動フォルマントの例を示す。図21の固定フォルマントでは、包絡係数rは一定でインパルス応答信号ISj(t)そのものの読み出し速度Sは変化せず、周期係数fは音高に応じて変化し、インパルス応答信号ISj(t)の繰り返し周期Tが変化する。
【0134】
そうすると、生成される楽音信号の周波数特性(スペクトルエンベロープ)のフォルマント形状は変化せず固定フォルマントとなり、各周波数成分の間隔が変化し音高に応じたものとなる。このような制御は上述の人の音声、動物の鳴き声、音声・鳴き声に近い楽器音または音声・鳴き声に近い音高変化のない打楽器音などで実行される。
【0135】
図22の移動フォルマントでは、包絡係数rも変化してインパルス応答信号ISj(t)そのものの読み出し速度Sも変化し、周期係数fは音高に応じて変化し、インパルス応答信号ISj(t)の繰り返し周期Tが変化する。
【0136】
そうすると、生成される楽音信号の周波数特性(スペクトルエンベロープ)は周波数軸上をシフトしてそのフォルマント形状も変化し移動フォルマントとなり、各周波数成分の間隔も変化し音高にも応じたものとなる。このような制御は上述の鍵盤楽器、弦楽器、吹奏(管)楽器または音高変化のある打楽器音などで実行される。
【0137】
本発明は上記実施例に限定されず、本発明の趣旨を逸脱しない範囲で種々変更可能である。例えば、周期末尾値Fmaxの設定は省略されて、周期カウント値Fが取りうる最大値に固定され得る。この場合周期係数fだけによって、楽音信号の音高が決定される。
【0138】
上記1つのインパルス応答信号ISj(t)の前半と後半は同じ形状であったが、互いに異なる形状でもよい。また、インパルス応答信号ISj(t)の前半のみが記憶され、この前半が折り返し逆に読み出されて、後半の信号が生成されてもよい。上記インパルス応答信号ISj(t)は、外部からの音をサンプリング記憶して、上記ケプストラム法、線形予測法等によって変換したものでもよいし、使用者が人工的に作成したものでもよい。
【0139】
また、本発明は電子楽器またはコンピュータなどにおいて実施され得る。上記各図の回路の機能はソフトウエア(フローチャート)によって実施されても良いし、上記各図のフローチャートの機能はハードウエア(回路)によって実施されてもよい。
【0140】
上記インパルス応答信号ISj(t)は前半の波形と後半の波形が対称であることが多い。この場合、インパルス信号記憶部51には、この前半の半波形または後半の半波形のみ記憶され、この半波形が読み出された後、同半波形が逆に読み出されて、インパルス応答信号ISj(t)全体が生成されてもよい。これによりインパルス信号記憶部51の記憶量が減少する。
【0141】
上記パワーデータPWによる音量パワーの制御は、インパルス応答信号ISj(t)の読み出し(発生)速度Sと繰り返し周期Tとが独立に制御される場合だけでなく、一方が他方に連動または従属する場合も実行される。この場合、周期係数fと包絡係数rとは同じ音楽的ファクタ、例えば音高、音色、タッチ、発音時間に応じて決定されたり、一方のデータが求められ、この一方のデータにある演算が行われて他方が求められたりする。
【0142】
(1) 発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生させ、 この繰り返し発生されるインパルス応答信号の繰り返しの周期を、音高決定因子に応じて変化させ、 上記音高決定因子とは異なる音色決定因子に応じて、上記発生されるインパルス応答信号そのものの発生速度を、上記繰り返し周期とは独立に変化させることを少なくともコンピュータに実行させる楽音生成のためのコンピュータプログラムを記憶した媒体/コンピュータプログラムの通信方法/楽音生成装置(方法)。
【0143】
(2) 発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を発生し、 この発生されるインパルス応答信号を所定の周期で繰り返し発生させるように制御し、 上記インパルス応答信号そのものの長さが上記繰り返し発生の周期より長くても、当該周期の終わりで当該インパルス応答信号の発生を継続させるとともに、次のインパルス応答信号を重ねて発生させることをコンピュータに実行させる楽音生成のためのコンピュータプログラムを記憶した媒体/コンピュータプログラムの通信方法/楽音生成装置(方法)。
【0144】
(3) 音高決定因子は上記楽音信号の音高を決定する因子であり、 音色決定因子は上記楽音信号の音色を決定する因子であり、 上記インパルス応答信号は記憶手段に記憶され、上記音色決定因子に応じてこのインパルス応答信号の読み出し速度が決定され、上記音高決定因子に応じてこのインパルス応答信号の繰り返し読み出しの繰り返し周期が決定される請求項1または2記載の楽音生成のためのコンピュータプログラムを記憶した媒体/コンピュータプログラムの通信方法/楽音生成装置(方法)。
【0145】
(4) 発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生し、 この繰り返し発生されるインパルス応答信号の繰り返しの周期を、音高決定因子に応じて変化させ、 上記音高決定因子とは異なる音色決定因子に応じて、上記発生されるインパルス応答信号そのものの発生速度を、上記繰り返し周期とは独立に変化させ、 発生された音楽的因子に応じて、上記繰り返し発生されるインパルス応答信号の波形形状を切り換えることをコンピュータに実行させる楽音生成のためのコンピュータプログラムを記憶した媒体/コンピュータプログラムの通信方法/楽音生成装置(方法)。
【0146】
(5) 発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を発生し、 この発生されるインパルス応答信号を所定の周期で繰り返し発生させるように制御し、 上記インパルス応答信号そのものの長さが上記繰り返し発生の周期より長くても、当該周期の終わりで当該インパルス応答信号の発生を継続させるとともに、複数の発生手段(読み出し手段)によって、次のインパルス応答信号を重ねて発生させ、 発生された音楽的因子に応じて、上記繰り返し発生されるインパルス応答信号の波形形状を切り換えることをコンピュータに実行させる楽音生成のためのコンピュータプログラムを記憶した媒体/コンピュータプログラムの通信方法/楽音生成装置(方法)。
【0147】
(6) 音高決定因子は上記楽音信号の音高を決定する因子であり、 音色決定因子は上記楽音信号の音色を決定する因子であり、 上記インパルス応答信号は記憶手段に記憶され、上記音色決定因子に応じてこのインパルス応答信号の読み出し速度が決定され、上記音高決定因子に応じてこのインパルス応答信号の繰り返し読み出しの繰り返し周期が決定され、 上記音楽的因子は上記楽音信号の音高を決定する因子、または上記音高決定因子とは異なる音色決定因子である請求項4または5記載の楽音生成のためのコンピュータプログラムを記憶した媒体/コンピュータプログラムの通信方法/楽音生成装置(方法)。
【0148】
(7) 発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生し、 この繰り返し発生されるインパルス応答信号の繰り返しの周期を変化させ、
この発生されるインパルス応答信号そのものの発生速度を変化させ、 上記変化されるインパルス応答信号の繰り返し周期に基づいて、または上記変化されるインパルス応答信号そのものの発生速度に基づいて、発生されるインパルス応答信号の大きさを変化させることをコンピュータに実行させる楽音生成のためのコンピュータプログラムを記憶した媒体/コンピュータプログラムの通信方法/楽音生成装置(方法)。
【0149】
(8) 上記インパルス応答信号の大きさは、当該インパルス応答信号の波形のパワーまたは発音操作の速さまたは強さに応じても変化され、 上記インパルス応答信号の繰り返しの周期は、音高決定因子に応じて変化され、 上記インパルス応答信号そのものの発生速度は、音色決定因子に応じて変化され、しかも上記繰り返し周期とは独立に変化され、 この音高決定因子は上記楽音信号の音高を決定する因子であり、 この音色決定因子は上記楽音信号の音色を決定する因子であり、 上記インパルス応答信号は記憶手段に記憶され、上記音色決定因子に応じてこのインパルス応答信号の読み出し速度が決定され、上記音高決定因子に応じてこのインパルス応答信号の繰り返し読み出しの繰り返し周期が決定される請求項7記載の楽音生成のためのコンピュータプログラムを記憶した媒体/コンピュータプログラムの通信方法/楽音生成装置(方法)。
【0150】
(9) 発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生し、 この繰り返し発生されるインパルス応答信号のうちいくつかを正負反転させ、これにより上記楽音信号の周波数特性を変化させることをコンピュータに実行させる楽音生成のためのコンピュータプログラムを記憶した媒体/コンピュータプログラムの通信方法/楽音生成装置(方法)。
【0151】
(10) 上記インパルス応答信号は同じ波形でn個繰り返し発生され、一方の繰り返し周期は他方の繰り返し周期の1/n倍であり、一方のレベルは他方のレベルより低くまたは一方のレベルは他方のレベルの1/nであり、これら両インパルス応答信号が差分合成されて出力され、これによりn個のインパルス応答信号のうち(n−1)個のインパルス応答信号が正負反転されて発生され、 または上記インパルス応答信号そのものの長さが上記繰り返し発生の周期より長くても、当該周期の終わりで当該インパルス応答信号の発生を継続させるとともに、複数の発生手段によって、次のインパルス応答信号を重ねて発生させ、この各インパルス応答信号の発生を検出し、この検出結果に基づいて繰り返し発生されるインパルス応答信号をn個のうち(n−1)個を正負反転させ、反転されていないインパルス応答信号のレベルを(n−1)/nとし、反転されたインパルス応答信号のレベルを1/nとし、 上記インパルス応答信号は記憶手段に記憶され、音色決定因子に応じてこのインパルス応答信号の読み出し速度が決定され、音高決定因子に応じてこのインパルス応答信号の繰り返し読み出しの繰り返し周期が決定される請求項6記載の楽音生成のためのコンピュータプログラムを記憶した媒体/コンピュータプログラムの通信方法/楽音生成装置(方法)。
【0152】
(11) 上記繰り返し発生されるインパルス応答信号の繰り返しの周期は、音高決定因子に応じて変化され、しかもこの繰り返し周期は設定音高の1/nの周期であり、 この発生されるインパルス応答信号そのものの発生速度は、音色決定因子に応じて変化され、 この音高決定因子は上記楽音信号の音高を決定する因子であり、 この音色決定因子は上記楽音信号の音色を決定する因子であり、 上記インパルス応答信号は、上記正負反転されないで繰り返し発生もされ、これにより生成される楽音信号は、上記n個のうち(n−1)個の正負反転による上記楽音信号とは異なる楽音信号として出力され、これら両楽音信号の出力が切り換えられ、1つのインパルス応答信号から少なくとも2種類の楽音信号が生成される請求項9または10記載の楽音生成のためのコンピュータプログラムを記憶した媒体/コンピュータプログラムの通信方法/楽音生成装置(方法)。
出願当初の本件特許請求の範囲は以下の通りであった。但し不明瞭な箇所は訂正した。
[1]発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生し、 この繰り返し発生されるインパルス応答信号の繰り返しの周期を決定し、 この発生されるインパルス応答信号そのものの発生速度を決定し、 音高決定因子に基づいて、上記インパルス応答信号の繰り返し周期を変化させるとともに、上記インパルス応答信号そのものの発生速度を変化させるか否かを選択することを特徴とする楽音生成装置。
[2]発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生させ、 この繰り返し発生されるインパルス応答信号の繰り返しの周期を決定させ、 この発生されるインパルス応答信号そのものの発生速度を決定させ、 音高決定因子に基づいて、上記インパルス応答信号の繰り返し周期を変化させるとともに、上記インパルス応答信号そのものの発生速度を変化させるか否かを選択させることを特徴とする楽音生成方法。
[3]発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生し、 この繰り返し発生されるインパルス応答信号の繰り返しの周期を決定し、 この発生されるインパルス応答信号そのものの発生速度を決定し、 音高決定因子に基づいて、上記インパルス応答信号の繰り返し周期を変化させるとともに、上記インパルス応答信号そのものの発生速度を、当該繰り返し周期の変化とは異なる特性で変化させることを特徴とする楽音生成装置。
[4]発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生させ、 この繰り返し発生されるインパルス応答信号の繰り返しの周期を決定させ、 この発生されるインパルス応答信号そのものの発生速度を決定させ、 音高決定因子に基づいて、上記インパルス応答信号の繰り返し周期を変化させるとともに、上記インパルス応答信号そのものの発生速度を、当該繰り返し周期の変化とは異なる特性で変化させることを特徴とする楽音生成方法。
[5]上記インパルス応答信号そのものの発生速度を変化させるか否かの選択は、固定フォルマントの楽音信号を選択するときは選択されず、移動フォルマントの楽音信号を選択するときは選択され、 上記発生されるインパルス応答信号そのものの発生速度は、音色決定因子に応じて変化され、 上記発生されるインパルス応答信号の繰り返し周期は、音高決定因子に応じて変化され、 上記インパルス応答信号は記憶手段に記憶され、音色決定因子に応じてこのインパルス応答信号の読み出し速度が決定され、音高決定因子に応じてこのインパルス応答信号の繰り返し読み出しの繰り返し周期が決定され、 上記音高決定因子は上記楽音信号の音高を決定する因子であり、 上記音色決定因子は上記楽音信号の音色を決定する因子であること特徴とする請求項1記載の楽音生成装置。
[6]上記インパルス応答信号の繰り返し周期は音高決定因子に比例して変化し、上記インパルス応答信号そのものの発生速度は音高決定因子に対して比例しないで変化し、 上記発生されるインパルス応答信号そのものの発生速度は、音色決定因子に応じて変化され、 上記発生されるインパルス応答信号の繰り返し周期は、音高決定因子に応じて変化され、 上記インパルス応答信号は記憶手段に記憶され、音色決定因子に応じてこのインパルス応答信号の読み出し速度が決定され、音高決定因子に応じてこのインパルス応答信号の繰り返し読み出しの繰り返し周期が決定され、 上記音高決定因子は上記楽音信号の音高を決定する因子であり、 上記音色決定因子は上記楽音信号の音色を決定する因子であること特徴とする請求項3記載の楽音生成装置。
【0153】
【発明の効果】
以上詳述したように、本発明では、インパルス応答信号そのものの発生速度を音高変化に対して一定として、固定フォルマント型と移動フォルマント型との楽音を選択生成した。すなわち本発明では、音高決定因子に基づいて、上記インパルス応答信号の繰り返し周期を変化させるとともに、上記インパルス応答信号そのものの発生速度を変化させるか否かを選択した。したがって、周波数特性のフォルマントが周波数軸上で移動しない固定フォルマント型の楽音とフォルマントが周波数軸上でシフトする移動フォルマント型の楽音とを1つのインパルス応答信号から生成することができる等の効果を奏する。
【0154】
また本発明では、インパルス応答信号そのものの発生速度を音高変化に対して異なる変化特性として、フォルマントが音高変化に応じない変化を実現した。すなわち本発明では、音高決定因子に基づいて、上記インパルス応答信号の繰り返し周期を変化させるとともに、上記インパルス応答信号そのものの発生速度を、当該繰り返し周期の変化とは異なる特性で変化させた。したがって、フォルマントの移動変化を音高の変化に応じて変化させることができ、しかもこのフォルマント移動変化を生成楽音の音高の変化とは異なるように変化させることができ、音高変化と異なった音色変化を実現できる等の効果を奏する。
【図面の簡単な説明】
【図1】楽音生成装置の全体回路を示す。
【図2】アサインメントメモリ42を示す。
【図3】インパルス信号発生部50を示す。
【図4】インパルス信号記憶部51に記憶されている種々のインパルス応答信号ISj(t)を示す。
【図5】インパルス応答信号ISj(t)の繰り返し周期Tの変化による波形パワー(音量)の違いを示す。
【図6】インパルス信号発生部50の中のインパルス信号読み出し部53を示す。
【図7】処理全体のフローチャートを示す。
【図8】上記ステップ02の発音処理のフローチャートを示す。
【図9】インパルス信号読み出し部53の各部の動作のタイムチャートを示す。
【図10】インパルス応答信号ISj(t)のインパルス信号記憶部51からの読み出し状態を示す。
【図11】インタラプト処理のフローチャートを示す。
【図12】本願発明の原理を示す。
【図13】本願発明の原理を示す。
【図14】交互反転回路66(50)を示す。
【図15】交互反転回路66(50)の別の実施例を示す。
【図16】インパルス応答信号を1つおきに正負反転させた波形と周波数特性を示す。
【図17】吹奏(管)楽器の共鳴原理を示す。
【図18】インパルス応答信号を1つおきに正負反転させレベルを変えた波形と周波数特性を示す。
【図19】プログラム/データ記憶部40内の包絡周期テーブル群43を示す。
【図20】プログラム/データ記憶部40内のrf選択テーブル44を示す。
【図21】固定フォルマントのインパルス応答信号ISj(t)の変化と周波数特性の変化を示す。
【図22】移動フォルマントのインパルス応答信号ISj(t)の変化と周波数特性の変化を示す。
【符号の説明】
10…演奏情報発生部、20…コントローラ(CPU)、30…タイム発生部、40…迂路/データ記憶部、41…情報記憶部、42…アサインメントメモリ、43…包絡周期テーブル、44…rf選択テーブル、50…インパルス信号発生部、60…音響出力部、51…インパルス信号記憶部、52…インパルス信号選択部、53…インパルス信号読み出し部、54…インパルス累算部、58…波形パワー制御RAM、59、63…セレクタ、61…オアゲート群、62…乗算器、64…ラッチ、65…インバータ群、66…交互反転回路、81…プログラマブルn進カウンタ、501…パラメータRAM、508…演算RAM、505…加算器。
Claims (3)
- CPUが楽音生成装置に対して、
発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号であって、信号の前半と後半とが線対称のインパルス応答信号を繰り返し発生させ、
この繰り返し発生されるインパルス応答信号の繰り返しの周期を、上記楽音信号の音高を決定する音高決定因子だけに応じて変化させ、
上記インパルス応答信号そのものの長さが上記繰り返し発生の周期より長くても、次のインパルス応答信号を発生させ、
発生された音楽的因子であって、上記音高決定因子を含む音楽的因子に応じて、上記繰り返し発生されるインパルス応答信号の波形形状そのものを切り換えさせ、
音色決定因子に応じて、音高に対するインパルス応答信号の波形そのものの発生速度の変化特性を選択させることであって、この変化特性には上記音高に対してインパルス応答信号の発生速度が変化しない特性を含むものであることを特徴とする楽音生成方法。 - 発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号であって、信号の前半と後半とが線対称のインパルス応答信号を繰り返し発生する手段と、
この繰り返し発生されるインパルス応答信号の繰り返しの周期を、上記楽音信号の音高を決定する音高決定因子だけに応じて変化させる手段と、
上記インパルス応答信号そのものの長さが上記繰り返し発生の周期より長くても、次のインパルス応答信号を発生させる手段と、
発生された音楽的因子であって、上記音高決定因子を含む音楽的因子に応じて、上記繰り返し発生されるインパルス応答信号の波形形状そのものを切り換える手段と、
音色決定因子に応じて、音高に対するインパルス応答信号の波形そのものの発生速度の変化特性を選択する手段とを備え、この変化特性には上記音高に対してインパルス応答信号の発生速度が変化しない特性を含むものであることを特徴とする楽音生成装置。 - 上記インパルス応答信号そのものの長さが上記繰り返し発生の周期より長くても、当該周期の先頭と終わりとで当該インパルス応答信号と次のインパルス応答信号とを重ねて発生させることを特徴とする請求項2記載の楽音生成装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31605397A JP3684052B2 (ja) | 1997-10-31 | 1997-10-31 | 楽音生成装置及び楽音生成方法 |
US09/182,643 US6031173A (en) | 1997-09-30 | 1998-10-30 | Apparatus for generating musical tones using impulse response signals |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31605397A JP3684052B2 (ja) | 1997-10-31 | 1997-10-31 | 楽音生成装置及び楽音生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11133974A JPH11133974A (ja) | 1999-05-21 |
JP3684052B2 true JP3684052B2 (ja) | 2005-08-17 |
Family
ID=18072746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31605397A Expired - Fee Related JP3684052B2 (ja) | 1997-09-30 | 1997-10-31 | 楽音生成装置及び楽音生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3684052B2 (ja) |
-
1997
- 1997-10-31 JP JP31605397A patent/JP3684052B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11133974A (ja) | 1999-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0375877B2 (ja) | ||
JP4179268B2 (ja) | データ合成装置およびデータ合成処理のプログラム | |
JPH03174590A (ja) | 電子楽器 | |
JP5142363B2 (ja) | 成分音合成装置及び成分音合成方法。 | |
JP3634130B2 (ja) | 楽音生成装置及び楽音生成方法 | |
JP3694172B2 (ja) | 残響共鳴装置及び残響共鳴方法 | |
JP2004317615A (ja) | 共鳴装置、共鳴方法及び共鳴のためのコンピュータプログラム | |
US6031173A (en) | Apparatus for generating musical tones using impulse response signals | |
JP3706232B2 (ja) | 楽音生成装置及び楽音生成方法 | |
JP3684052B2 (ja) | 楽音生成装置及び楽音生成方法 | |
JP3637191B2 (ja) | 楽音生成装置及び楽音生成方法 | |
JP3459760B2 (ja) | 楽音生成装置及び楽音発生方法 | |
JPH0776871B2 (ja) | 楽音発生システム | |
JP3637190B2 (ja) | 楽音生成装置及び楽音生成方法 | |
JP3419563B2 (ja) | 楽音信号のレベル制御装置 | |
JPS6335038B2 (ja) | ||
JP4059581B2 (ja) | 電子音響装置のゆらぎ付加装置及びゆらぎ付加方法 | |
JPH11161274A (ja) | 楽音生成装置及び楽音生成方法 | |
JP2000194361A (ja) | 電子音響装置のゆらぎ付加装置及びゆらぎ付加方法 | |
Olney | Computational Thinking through Modular Sound Synthesis | |
JP3673384B2 (ja) | 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法 | |
JP3595676B2 (ja) | 楽音生成装置及び楽音生成方法 | |
JP2636393B2 (ja) | 自動演奏装置 | |
JP2000200087A (ja) | 非調和音発生装置及び非調和音発生方法 | |
JP2000163056A (ja) | 自動演奏装置及び自動演奏方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040720 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040726 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040924 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041221 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050221 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050421 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050527 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |