JP3637190B2 - 楽音生成装置及び楽音生成方法 - Google Patents
楽音生成装置及び楽音生成方法 Download PDFInfo
- Publication number
- JP3637190B2 JP3637190B2 JP31605097A JP31605097A JP3637190B2 JP 3637190 B2 JP3637190 B2 JP 3637190B2 JP 31605097 A JP31605097 A JP 31605097A JP 31605097 A JP31605097 A JP 31605097A JP 3637190 B2 JP3637190 B2 JP 3637190B2
- Authority
- JP
- Japan
- Prior art keywords
- impulse response
- response signal
- signal
- musical
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、楽音生成装置に関し、特にインパルス応答信号を使って楽音信号を生成させる装置などに関する。
【0002】
【従来技術】
従来、楽音生成装置の分野では、インパルス応答波形信号に関する制御を行うような装置はほとんどなかった。ただ、インパルス応答波形信号そのものをサンプリング記憶し、これを繰り返して読み出し、この繰り返し周期を指定音高に応じたものとするものはあった。この場合、指定された音高が高ければ読み出しの繰り返し周期は短くなり、指定された音高が低ければ読み出しの繰り返し周期は長くなる。また、このインパルス応答波形信号そのものの読み出し速度は一定であり、音高が高くても低くてもインパルス応答波形信号そのものの読み出し速度は変化しなかった。
【0003】
【発明が解決しようとする課題】
しかしながら、このような装置では、単にインパルス応答波形信号を読み出して楽音に応用するだけであり、楽音の音色などの内容をいろいろ変化させることはできなかった。通常楽音の音色などを変化させるにはフィルタなどを使って楽音の周波数成分(特性)を変化させる。
【0004】
ところが、楽音の周波数特性(スペクトルエンベロープ)は上記インパルス応答波形信号そのものの読み出し速度(発生速度)を変化させるだけで達成できる。インパルス応答波形信号の発生速度を変化させれば、周波数特性が周波数軸上で伸びたり縮んだりして周波数特性が変化し、この結果音色も変化する。この場合、インパルス応答波形信号そのものの読み出し速度が上記読み出しの繰り返し周期と連動していては、独自に音色の決定を行うことはできず、音高に応じた音色の決定となり、音高に従属した音色となってしまう。
【0005】
本発明は上述した課題を解決するためになされ、本発明の第1の目的は音高に従属しない独立の音色の決定を行うことにあり、第2の目的はインパルス応答波形信号を使って斬新な楽音信号を生成することにある。
【0006】
【課題を解決するための手段】
上記目的を達成するために、本発明では、発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生し、この繰り返し発生されるインパルス応答信号の繰り返しの周期を、音高決定因子に応じて変化させ、上記音高決定因子とは異なる音色決定因子に応じて、上記発生されるインパルス応答信号そのものの発生速度を、上記繰り返し周期とは独立に変化させた。
【0007】
これにより、インパルス応答信号から生成される楽音信号の音色が音高とは独立に変化され、音色は音高に従属せず、自由に音色を変化させることができる。また、インパルス応答信号の繰り返し発生によって所望の楽音信号が発生され斬新な楽音を生成できる。
【0008】
また、インパルス応答信号の繰り返し周期または読み出し速度が変化すれば、このインパルス応答信号に基づいて出力される楽音信号のパワー、エネルギーまたは音量も変化する。本発明では、インパルス応答信号の繰り返し周期または読み出し速度に基づいて、発生されるインパルス応答信号の大きさが変化する。これにより、出力される楽音信号のパワー、エネルギーまたは音量が一定にされ、インパルス応答信号の繰り返し周期または読み出し速度に応じて変化してしまうことがない。
【0009】
さらに本発明では、発生された音楽的因子に応じて、繰り返し発生されるインパルス応答信号の波形形状を切り換えた。これにより、インパルス応答信号の波形形状そのものの変化を音高変化に連動させたり、音色変化に連動させたりすることができる。
【0010】
【発明の実施の形態】
1.本願発明の原理
図12及び図13は本願発明の原理を示す。図12ではインパルス応答信号ISj(t)の繰り返し周期がT1またはT2のとき、このインパルス応答信号ISj(t)の出力によって合成かつ生成される楽音の周波数特性(スペクトルエンベロープ(包絡)、周波数スペクトル成分特性、フォルマント特性)を示す。この繰り返し周期Tは生成される楽音の音高を決定する。したがって、この繰り返し周期Tは音高情報によって決定され、周期係数fとして取り込まれる。
【0011】
このインパルス応答信号ISj(t)の繰り返し周期Tが短くなり、音高が高くなると、図12(B1)(B2)に示すように周波数特性はあまり又は全く変化せず、各周波数成分の密度が低くなり、フォルマントの幅は変わらない。したがって、繰り返し周期Tが変化すると、音高は変化するが、音色(周波数成分、フォルマント特性)そのものは変化しない。
【0012】
このインパルス応答信号ISj(t)は図1のインパルス信号発生部50の中のインパルス信号記憶部51(図2)の中に各音楽的ファクタ毎に記憶されている。この記憶されているインパルス応答信号ISj(t)は、図13(A1)または(A1)の2つのインパルス応答信号ISj(t)のうちの片方であり、同図は繰り返し読み出しの状態を示す。
【0013】
図13ではインパルス応答信号ISj(t)の繰り返し周期が同じで、インパルス応答信号ISj(t)の読み出し速度が異なるとき、このインパルス応答信号ISj(t)の出力によって合成かつ生成される楽音の周波数特性(スペクトルエンベロープ(包絡)、周波数スペクトル成分特性、フォルマント特性)を示す。このインパルス応答信号ISj(t)自身の読み出し速度は生成される楽音の音色(周波数成分、フォルマント特性)を決定する。したがって、この読み出し速度は音高に関係のない音楽的ファクタ情報、例えば音色情報によって決定され、包絡係数rとして取り込まれる。
【0014】
このインパルス応答信号ISj(t)の読み出し速度が速くなり、インパルス応答信号ISj(t)の時間長が短くなると、図13(B1)(B2)に示すように各周波数成分の密度はあまり又は全く変化せず、周波数特性(周波数スペクトル成分特性、フォルマント特性)が変化し、フォルマントの幅が広がる。したがって、信号の読み出し速度が変化すると、音色(周波数成分、フォルマント特性)は変化するが、音高そのものは変化しない。
【0015】
このインパルス応答信号ISj(t)は、生成したい楽音信号の所定長さに対して、線形予測法、ケプストラム法などの演算手法を施して生成され記憶される。例えば、ケプストラム法では、この所定長さの楽音信号がフーリエ変換器で高速フーリエ変換され、周波数パワースペクトルに変化される。
【0016】
この変換されたパワースペクトルは、対数変換器で対数変換され、さらに逆フーリエ変換器で高速フーリエ逆変換され、時間域(ケフレンジ)のケプストラムに変換される。このケプストラムは乗算器及び窓関数発生器からの因果性の窓がかけられ複素ケプストラムに変換される。この複素ケプストラムは再び上記フーリエ変換器で高速フーリエ変換され周波数域に戻され、スペクトルエンベロープが求められる。
【0017】
このスペクトルエンベロープの例は図12(B1)(B2)及び図13(B1)(B2)に示される。このスペクトルエンベロープは指数変換器で指数変換され、上記逆フーリエ変換器で高速フーリエ逆変換され時間域に戻される。これにより、最小位相のインパルス応答信号のサンプリングデータが生成され、これが上記インパルス応答信号ISj(t)としてインパルス信号記憶部51に記憶される。
【0018】
インパルス応答信号ISj(t)の繰り返し周期が変化すれば、このインパルス応答信号ISj(t)に基づいて出力される楽音信号のパワー、エネルギーまたは音量も変化する。このインパルス応答信号ISj(t)の繰り返し周期に基づいて、発生されるインパルス応答信号ISj(t)の大きさが変化する。これにより、出力される楽音信号のパワー、エネルギーまたは音量が、一定にされ、インパルス応答信号ISj(t)の繰り返し周期に応じて変化してしまうことがない。
【0019】
2.全体回路
図1は楽音生成装置の全体回路を示す。演奏情報発生部10からは演奏情報(楽音発生情報)が発生される。この演奏情報(楽音発生情報)は、楽音を発生させるための情報である。この演奏情報発生部10は、マニュアル操作によって演奏される発音指示装置、自動演奏装置、種々のスイッチまたはインターフェイスである。
【0020】
上記演奏情報(楽音発生情報)は、音楽的ファクタ(因子)情報であり、音高(音域)情報(音高決定因子)、発音時間情報、演奏分野情報、発音数情報などである。発音時間情報は楽音の発音開始からの経過時間を示す。演奏分野情報は、演奏パート情報、楽音パート情報、楽器パート情報等を示し、例えばメロディ、伴奏、コード、ベース、リズム等、または上鍵盤、下鍵盤、足鍵盤等に対応している。
【0021】
上記音高情報はキーナンバデータKNとして取り込まれる。このキーナンバデータKNはオクターブデータ(音域データ)と音名データとからなる。演奏分野情報は、パートナンバデータPNとして取り込まれ、このパートナンバデータPNは各演奏エリアを識別するデータであって、発音操作された楽音がどの演奏エリアからのものかによって設定される。
【0022】
発音時間情報は、トーンタイムデータTMとして取り込まれ、キーオンイベントからのタイムカウントデータに基づいたり、またはエンベロープフェーズで代用される。この発音時間情報は特願平6−219324号明細書及び図面に発音開始からの経過時間情報として詳しく示される。
【0023】
発音数情報は同時に発音している楽音の数を示し、例えばアサインメントメモリ42のオン/オフデータが「1」の楽音の数に基づき、この数は特願平6−242878号の図9及び図15、特願平6−2476855号の図8及び図18、特願平6−276857号の図9及び図20、特願平6−276858号の図9及び図21のフローチャートに基づいて求められる。
【0024】
発音指示装置は、キーボード楽器、弦楽器、吹奏楽器、打楽器、コンピュータのキーボード等である。自動演奏装置は、記憶された演奏情報を自動的に再生するものである。インターフェイスは、MIDI(ミュージカルインスツルメントデジタルインターフェイス)等、接続された装置からの演奏情報を受け取ったり、送り出したりする装置である。
【0025】
さらに、この演奏情報発生部10には各種スイッチが設けられ、この各種スイッチは音色タブレット、エフェクトスイッチ、リズムスイッチ、ペダル、ホイール、レバー、ダイヤル、ハンドル、タッチスイッチ等であって楽器用のものである。この各種スイッチより、楽音制御情報が発生され、この楽音制御情報は発生された楽音を制御する情報であって音楽的ファクタ(因子)情報であり、音色情報(音色決定因子)、タッチ情報(発音指示操作の速さ/強さ)、発音数情報、エフェクト情報、リズム情報、音像(ステレオ)情報、クオンタイズ情報、変調情報、テンポ情報、音量情報、エンベロープ情報等である。
【0026】
これら音楽的ファクタ情報も上記演奏情報(楽音情報)に合体され、上記各種スイッチより入力されるほか、上記自動演奏情報に合体されたり、上記インターフェイスで送受される演奏情報に合体される。なお、上記タッチスイッチは上記発音指示装置の1つ1つに対応して設けられており、タッチの速さと強さを示すイニシャルタッチデータとアフタタッチデータとが発生される。
【0027】
上記音色情報は、鍵盤楽器(ピアノ等)、管楽器(フルート等)、弦楽器(バイオリン等)、打楽器(ドラム等)の楽器(発音媒体/発音手段)の種類等に対応しており、トーンナンバデータとして取り込まれる。上記エンベロープ情報は、エンベロープレベル、エンベロープスピード、エンベロープフェーズなどである。
【0028】
このような音楽的ファクタ情報は、コントローラ20へ送られ、後述の各種信号、データ、パラメータの切り換えが行われ、楽音の内容が決定される。上記演奏情報(楽音発生情報)及び楽音制御情報はコントローラ20で処理され、各種データがインパルス信号発生部50へ送られ、インパルス応答信号ISj(t)が発生される。コントローラ20はCPU、ROM及びRAMなどからなっている。
【0029】
プログラム/データ記憶部30(内部記憶媒体/手段)はROMまたは書き込み可能なRAM、フラッシュメモリまたはEEPROM等の記憶装置からなり、光ディスクまたは磁気ディスク等の情報記憶部41(外部記憶媒体/手段)に記憶されるコンピュータのプログラムが書き写され記憶される(インストール/転送される)。またプログラム/データ記憶部30には外部の電子楽器またはコンピュータから上記MIDI装置または送受信装置を介して送信されるプログラムも記憶される(インストール/転送される)。このプログラムの記憶媒体は通信媒体も含む。
【0030】
このインストール(転送/複写)は、情報記憶部41が本楽音生成装置にセットされたとき、または本楽音生成装置の電源が投入されたとき自動的に実行され、または操作者による操作によってインストールされる。上記プログラムは、コントローラ20が各種処理を行うための後述するフローチャートに応じたプログラムである。
【0031】
なお、本装置に予め別のオペレーティングシステム、システムプログラム(OS)、その他のプログラムが記憶され、上記プログラムはこれらのOS、その他のプログラムとともに実行されてもよい。このプログラムは本装置(コンピュータ本体)にインストールされ実行されたときに、別のプログラムとともにまたは単独で請求項(クレーム)に記載された処理・機能を実行させることができればよい。
【0032】
また、このプログラムの一部又は全部が本装置以外の1つ以上の別装置に記憶されて実行され、本装置と別装置との間には通信手段を介して、これから処理するデータ/既に処理されたデータ/プログラムが送受され、本装置及び別装置全体として、本発明が実行されてもよい。
【0033】
このプログラム/データ記憶部30には、上述した音楽的ファクタ情報、上述した各種データ及びその他の各種データも記憶される。この各種データには時分割処理に必要なデータや時分割チャンネルへの割当のためデータ等も含まれる。
【0034】
インパルス信号発生部50では、所定長のインパルス応答信号ISj(t)が繰り返し発生され音響出力部60から発音出力される。この繰り返し発生されるインパルス応答信号ISj(t)の繰り返しの周期は、上記音高情報に応じて変化され、またこの音高情報とは異なる上記音色情報または音高に関係ない音楽的ファクタ情報に応じて、この発生されるインパルス応答信号ISj(t)そのものの読み出し速度(発生速度)が変化され、これら繰り返し周期と読み出し速度とは互いに独立に変化される。
【0035】
このインパルス応答信号ISj(t)は発生すべき楽音信号のスペクトルエンベロープに対応していて所定の有限の長さLを持つ。このインパルス信号発生部50は時分割処理によって複数の楽音信号が同時に生成されポリフォニックに発音される。
【0036】
タイミング発生部30からは、楽音生成装置の全回路の同期を取るためのタイミングコントロール信号が各回路に出力される。このタイミングコントロール信号は、各周期のクロック信号のほか、これらのクロック信号を論理積または論理和した信号、時分割処理のチャンネル分割時間の周期を持つ信号、チャンネルナンバデータjなどを含む。
【0037】
3.アサインメントメモリ42
図2は、プログラム/データ記憶部40のアサインメントメモリ42を示す。アサインメントメモリ42には、複数(16または32等)のチャンネルメモリエリアが形成されており、上記インパルス信号発生部50に形成された複数の楽音生成チャンネルに割り当てられた楽音に関するデータが記憶される。
【0038】
これら各チャンネルメモリエリアには、チャンネルが割当られた楽音の周期係数f(またはキーナンバデータKN)、包絡係数r(トーンナンバデータTN)、波形先頭アドレスSa、波形末尾アドレスEa及び周期末尾値Fmaxのほか、オン/オフデータ、タッチデータTC、トーンタイムデータTM、パートナンバデータPN、パワーデータPW、エンベロープフェーズデータEF、エンベロープスピードデータES、エンベロープレベルデータEL等が記憶される。
【0039】
オン/オフデータは割り当られ発音する楽音がキーオン中または発音中(“1”)かキーオフ中または消音中(“0”)かを示す。周期係数f(キーナンバデータKN)は割り当られ発音する楽音の音高を示し、上記音高情報に応じて決定される。周期係数fの上位データは音域またはオクターブを示す。この周波数ナンバデータFNは上記コントローラ20によって対応するチャンネルタイミングに上記インパルス信号発生部50へ送られる。
【0040】
包絡係数r(トーンナンバデータTN)は、割り当てられ発音する楽音の音色を示し、上記音色情報に応じて決定される。この包絡係数rは、上記コントローラ20によって対応するチャンネルタイミングに上記インパルス信号発生部50へ送られる。タッチデータTCは、発音操作の速さまたは強さを示し、上記タッチ情報に応じて決定される。
【0041】
パワーデータPWは、インパルス応答信号ISj(t)の波形のエネルギーのパワーを示し、インパルス信号記憶部51に記憶された各インパルス応答信号ISj(t)の繰り返し周期T、各インパルス応答信号ISj(t)そのものの読み出し(発生)速度または波形形状に基づいて決定される。
【0042】
例えば、ある音高のあるインパルス応答信号ISj(t)のパワーデータPWが「1」に基準として設定されれば、1オクターブ上の音高の同じインパルス応答信号ISj(t)では「1/2」、2オクターブ上の音高の同じインパルス応答信号ISj(t)では「1/4」、・・・、1オクターブ下の音高の同じインパルス応答信号ISj(t)では「2」、2オクターブ下の音高の同じインパルス応答信号ISj(t)では「4」、・・・となる。
【0043】
また、ある読み出し速度のインパルス応答信号ISj(t)のパワーデータPWが「1」に基準として設定されれば、2倍の読み出し速度の同じインパルス応答信号ISj(t)では「2」、3倍の読み出し速度の同じインパルス応答信号ISj(t)では「3」、・・・、1/2倍の読み出し速度の同じインパルス応答信号ISj(t)では「1/2」、1/3倍の読み出し速度の同じインパルス応答信号ISj(t)では「1/3」、・・・となる。
【0044】
さらに、異なるインパルス応答信号ISj(t)の間でも、パワーデータPWが設定される。インパルス応答信号ISj(t)が激しく変化する波形であり、波形のエネルギーパワーが大きければ、パワーデータPWは小さくされ、インパルス応答信号ISj(t)がゆっくりと変化する波形であり、エネルギーパワーが小さければ、パワーデータPWは大きくされる。
【0045】
むろん、インパルス信号記憶部51に記憶されている各インパルス応答信号ISj(t)の大きさ(振幅)が同じエネルギーパワーとなるように調整されていれば、このような異なるインパルス応答信号ISj(t)の間のパワーデータPWの設定は不要である。
【0046】
このパワーデータPWは、異なるインパルス応答信号ISj(t)の間では、インパルス応答信号ISj(t)の波形の積分値、または波形の各極大値及び各極小値の絶対値の合計をもとに決定される。
【0047】
また、このパワーデータPWは、上述したように、同じインパルス応答信号ISj(t)の間では、繰り返し周期Tつまり音高周波数に反比例して決定され、さらに設定音色つまり読み出し速度に反比例して決定される。しかし、楽音の発生(発音)回路のインパルス特性、スピーカの電気エネルギーから音量エネルギーへの変換特性によっては以下の通りとなる。A、B、C、Dは定数である。Tは上記繰り返し周期である。音高周波数であれば逆数にされてこの「T」のなかに代入される。Sは読み出し速度である。
【0048】
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乗根」が算出される。
【0049】
このようなパワーデータPWは、プログラム/データ記憶部40内のテーブルによって、上記音高情報(キーナンバデータKN)及び音色情報(トーンナンバデータTN)から変換される。同じく上記周期係数fも、プログラム/データ記憶部40内のテーブルによって、上記音高情報(キーナンバデータKN)から変換され、上記包絡係数rも、プログラム/データ記憶部40内のテーブルによって、上記音色情報(トーンナンバデータTN)から変換される。
【0050】
エンベロープフェーズデータEFはエンベロープのアタック、ディケィ、サスティンまたはリリースを示し、エンベロープスピードデータESはエンベロープのデジタル演算1周期当たりの演算のステップ値を示し、エンベロープレベルデータELは、各フェーズの末尾でエンベロープ演算値が到達する目標値を示す。
【0051】
これら各チャンネルメモリエリアの各データは、発音開始タイミングに書き込まれ、各チャンネルタイミングごとに書き換えられたり、読み出されたりして、上記インパルス信号発生部50へ送られる。このアサインメントメモリ42は、プログラム/データ記憶部40の中ではなくインパルス信号発生部50またはコントローラ20の中に設けてもよい。
【0052】
上記時分割処理によって形成されるチャンネル、すなわち複数の楽音を並行して発生するための複数の楽音発生システムへの各楽音の割り当て方法またはトランケート方法は、例えば特願平1−42298号、特願平1−305818号、特願平1−312175号、特願平2−2089178号、特願平2−409577号、特願平2−409578号に示された方法が使われる。
【0053】
4.インパルス信号発生部50
図3は上記インパルス信号発生部50を示す。インパルス信号記憶部51には、図4に示すように、種々のインパルス応答信号ISj(t)が記憶されている。これらのインパルス応答信号ISj(t)の波形形状は異なっており、楽音信号に合成出力されたときの音色も異なっている。これらのインパルス応答信号ISj(t)は、上記各音楽的ファクタ情報に対応しており、上記音色、タッチ、音高(音域)または発音時間、演奏分野、エンベロープフェーズなどごとに多重に記憶されている。
【0054】
例えば、インパルス応答信号ISj(t)は各音色ごとに異なって記憶され、このうち1種類の音色のインパルス応答信号ISj(t)は各タッチごとに異なって記憶され、このうち1種類のタッチのインパルス応答信号ISj(t)は各発音時間ごとに異なって記憶され、・・・音高ごとに異なって記憶され、・・・演奏分野ごとに異なって記憶され、・・・エンベロープフェーズ毎に異なって記憶される。
【0055】
上記音楽的ファクタ情報はコントローラ20でこのような種々のインパルス応答信号ISj(t)を指定する上位読み出しアドレスデータに変換され、この上記読み出しアドレスデータはインパルス信号選択部52にストアされてインパルス信号記憶部51に供給されインパルス応答信号ISj(t)が選択される。また、上記音楽的ファクタ情報が各楽音ごとまたは発音中に変化すれば、この上位読み出しアドレスデータは切り換えられ、読み出されるインパルス応答信号ISj(t)も切り換えられる。
【0056】
この音楽的ファクタ情報が音高に関連するものであれば、インパルス応答信号の波形形状そのものの変化を音高変化に連動させたり、合成出力される楽音信号の音色も音高変化に連動させることができる。また、この音楽的ファクタ情報が音高以外の情報に関連するものであれば、インパルス応答信号の波形形状そのものの変化を音色、タッチ、発音時間、演奏分野の変化に連動させたり、合成出力される楽音信号の音色も音色、タッチ、発音時間、演奏分野の変化に連動させることができる。
【0057】
このインパルス信号選択部52は上記時分割チャンネル数に対応したメモリエリアを有し、各チャンネルに割り当てられた楽音の音楽的ファクタに応じた上位読み出しアドレスデータがそれぞれのメモリエリアにストアされ、上記タイミング発生部からのチャンネルナンバデータjによって読み出されインパルス信号記憶部51に供給される。
【0058】
上記インパルス信号記憶部51の各インパルス応答信号ISj(t)はインパルス信号読み出し部53からの下位読み出しアドレスデータR1、R2によって読み出される。この下位読み出しアドレスデータR1、R2は上記音高情報以外の上記音楽的ファクタ情報に応じた速度でインクリメントされる。したがって、インパルス応答信号ISj(t)の読み出し速度は音高情報によっては決定されない。また、このインパルス応答信号ISj(t)は繰り返して読み出され、この繰り返しの周期は、上記音高情報に応じて変化され、これら繰り返し周期と読み出し速度とは互いに独立に決定される。
【0059】
上記インパルス信号記憶部51から読み出された各インパルス応答信号ISj(t)はインパルス累算部54で各チャンネルごとに個別に累算かつ合成され、乗算器55でエンベロープジェネレータ56からのエンベロープ信号が各チャンネルごとに乗算かつ合成され、楽音累算部57で全チャンネルの楽音信号について累算かつ合成され、上記音響出力部60から発音出力される。
【0060】
エンベロープジェネレータ56には上記音楽的ファクタ情報(エンベロープ情報)つまりエンベロープスピードデータES、エンベロープレベルデータEL、エンベロープフェーズデータEFがコントローラ20によって送られて各チャンネルごとに記憶され、この音楽的ファクタ情報(エンベロープ情報)に基づいて、各チャンネルのエンベロープの各フェーズのスピード及びレベルが設定され、各エンベロープの形状が決定される。このエンベロープ信号は各チャンネルごとに時分割に発生され上記乗算器55へ送られる。
【0061】
上記各チャンネルのパワーデータPWは、コントローラ20によって、波形パワー制御RAM58の対応するチャンネルエリアにストアされる。この各パワーデータPWは乗算器55に送られ、インパルス累算部54からの楽音信号(インパルス応答信号ISj(t))、またはエンベロープジェネレータ56からのエンベロープデータに乗算される。この波形パワー制御RAM58は上記時分割チャンネルに応じたメモリエリアを有し、各パワーデータPWが時分割に切り換えられて読み出される。この切り換えはタイミング発生部30からのチャンネルカウントデータに基づく。
【0062】
これにより、インパルス応答信号ISj(t)の繰り返し周期Tが音高に応じて変化し、波形のパワーつまり音量が音高に応じて変化しても、これを調整して解消することができる。また、インパルス応答信号ISj(t)の波形形状が異なっているため、波形のパワーつまり音量が音高に応じて変化しても、これを調整して解消することができる。
【0063】
図5は、このインパルス応答信号ISj(t)の音高つまり繰り返し周期Tと波形パワーとの関係を示す。図5(1)のような短い周期でインパルス応答信号ISj(t)を読み出すと、単位時間当たりの波形エネルギーは大きくなり、音量も大きくなる。これに対して、図5(1)のような長い周期でインパルス応答信号ISj(t)を読み出すと、単位時間当たりの波形エネルギーは小さくなり、音量も小さくなる。
【0064】
同様に、図示しないが、インパルス応答信号ISj(t)をゆっくりと読み出すと、単位時間当たりの波形エネルギーは大きくなり、音量も大きくなる。これに対して、インパルス応答信号ISj(t)を速く読み出すと、単位時間当たりの波形エネルギーは小さくなり、音量も小さくなる。
【0065】
これに対して、上記パワーデータPWを乗算することによって、出力されるインパルス応答信号ISj(t)(楽音信号)のレベルを制御し、繰り返し周期Tつまり音高の変化または読み出し速度つまり音色の変化による余分な音量(パワー)変化を押さえることができる。
【0066】
なお、このパワーデータPWは、上述のアサインメントメモリ42に記憶されているエンベロープレベルデータELに乗算されて、上記エンベロープジェネレータ56へ送られてもよい。また、上記アサインメント41に記憶されているタッチデータTCがこのパワーデータPWに乗算されて、上記波形パワー制御RAM58にストアされてもよい。さらに、このパワーデータPWは、上記周期係数fの逆数と上記包絡係数rとを演算したものであってもよい。
【0067】
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つでもよい。
【0068】
上記周期係数f及び周期末尾値Fmaxは、上記インパルス応答信号ISj(t)の繰り返し周期Tの長さを決定し、生成される楽音の音高を決定し、周期係数fが順次繰り返し累算され、周期末尾値Fmaxに達するごとに、インパルス応答信号ISj(t)が繰り返し読み出される。この周期係数fの累算値は周期カウント値Fとなる。この周期係数f及び周期末尾値Fmaxは、上記音高情報(キーナンバデータ)によって決定され、キーナンバデータから変換される。この繰り返し周期Tの長さが発生される楽音信号の音高を決定する。
【0069】
この周期係数f及び周期末尾値Fmaxのいずれかは固定されてもよい。この図3の実施例では周期末尾値Fmaxは周期カウント値Fが取り得る最大値(「1111…11」又は「111…1100…0」)に設定され、この周期末尾値Fmaxはストアされない。
【0070】
上記包絡係数rは、上記インパルス応答信号ISj(t)の読み出し(発生)速度を決定し、このインパルス応答信号ISj(t)の周波数特性(フォルマント形状)を決定し、生成される楽音の音色を決定し、上記波形先頭アドレスSaから波形末尾アドレスEaまで包絡係数rが繰り返し累算され、上記インパルス信号記憶部51に下位読み出しアドレスデータR1、R2として供給される。この下位読み出しアドレスデータR1、R2が波形末尾アドレスEaまで達すると、上記周期カウント値Fが次に上記周期末尾値Fmax達するまで、インパルス応答信号ISj(t)の読み出しが待機される。
【0071】
この包絡係数rは、上記音高に関係ない音楽的ファクタ情報によって決定され、例えば上記音色情報(トーンナンバデータ)、タッチ情報(タッチデータ)、発音時間情報(トーンタイムデータ)、演奏分野情報(パートナンバデータ)などから変換される。
【0072】
上記パラメータRAM501からの上記包絡係数rまたは周期計数fはBレジスタを経て、FLX503を経てまたは経ないで、セレクタ504を介して、加算器505でそれまでの下位読み出しアドレスデータR1、R2または周期カウント値Fに累算され、累算レジスタ506を経て、セレクタ507を介して演算RAM508にストアされる。この演算RAM508には時分割チャンネル数に応じたメモリエリアが形成され、各チャンネルに割り当てられた楽音に応じた上記データR1、R2、Fが対応するメモリエリアにストアされる。上記FLX503は浮動小数点によるデータを固定小数点によるデータに変換する。
【0073】
このデータ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チャンネル分の分割時間に等しい。
【0074】
この下位読み出しアドレスデータR1の初期値は「0」、下位読み出しアドレスデータR2の初期値は波形末尾アドレスEa、周期カウント値Fの初期値は「0」であり、これらの初期値はコントローラ20によって上記セレクタ507を介して上記演算RAM508にストアされる。
【0075】
上記パラメータRAM501からの上記波形末尾アドレス値Ea(周期末尾値Fmax)はEaレジスタ及びアンドゲート群514を介してコンパレータ516に供給される。このコンパレータ516には上記加算器505からの下位読み出しアドレスデータR1、R2または周期カウント値Fも供給され、下位読み出しアドレスデータR1、R2が波形末尾アドレス値Eaに達したとき、または周期カウント値Fが最大値「111…11」又は最大近似値「111…1100…0」(周期末尾値Fmax)に達したとき、検出信号がフリップフロップ517にセットされ、コントローラ(CPU)20へ送られる。
【0076】
上記加算器505からのキャリーアウト信号Coutは上記コンパレータ516の上位ビット群として供給され、また上記アンドゲート群514のゲート信号はインバータ515で反転され、上記コンパレータ516の上位ビット群として供給され、ビット数が整合される。
【0077】
上記波形先頭アドレスSa及び波形末尾アドレスEaも、上記音楽的ファクタ情報によって決定され、例えば上記音高情報(キーナンバデータ)、音色情報(トーンナンバデータ)、タッチ情報(タッチデータ)、発音時間情報(トーンタイムデータ)、演奏分野情報(パートナンバデータ)などから変換され、パラメータRAM501の対応チャンネルメモリエリアにストアされる。この波形先頭アドレスSa及び波形末尾アドレスEaは、上記種々のインパルス応答信号ISj(t)の1つを選択する。この場合、上記インパルス信号選択部52は省略可能である。
【0078】
6.処理全体
図7はコントローラ(CPU)20によって実行される処理全体のフローチャートを示す。この処理全体は本楽音生成装置の電源オンによって開始され、電源オフまで繰り返し実行される。
【0079】
まず、プログラム/データ記憶部40の初期化など種々のイニシャライズ処理が行われ(ステップ01)、上記演奏情報発生部10の発音指示装置または自動演奏装置での手動演奏または自動演奏に基づく発音処理が行われる(ステップ02)。
【0080】
この発音処理では、サーチされた空きチャンネルにキーオンイベントに係る楽音が割り当てられる。この楽音の内容は、上記演奏情報発生部10からの上記演奏情報(楽音発生情報)、楽音制御情報の音楽的ファクタ情報及びこのときプログラム/データ記憶部40に既に記憶されている音楽的ファクタ情報によって決定される。
【0081】
次いで、上記演奏情報発生部10の発音指示装置または自動演奏装置での手動演奏または自動演奏に基づく消音(減衰)処理が行われる(ステップ03)。この消音(減衰)処理では、キーオフイベントに係る楽音が割り当てられているチャンネルがサーチされ当該楽音が減衰され消音される。この場合、キーオフイベントに係る楽音のエンベロープフェーズがリリースとなり、エンベロープレベルが次第に「0」になる。
【0082】
さらに、上記演奏情報発生部10の各種スイッチの操作があれば、このスイッチに対応する音楽的ファクタ情報が取り込まれ、プログラム/データ記憶部40に記憶され、音楽的ファクタ情報が変更される(ステップ04)。この後、その他の処理が実行され(ステップ05)、上記ステップ02からこのステップ05までの処理が繰り返される。
【0083】
7.インパルス応答信号ISj(t)発生処理
図8はコントローラ(CPU)20によって実行される上記ステップ02の発音処理のフローチャートを示し、この処理ではインパルス応答信号ISj(t)が発生される。この図5のフローチャートは全時分割チャンネルについて行われる。
【0084】
まず、上記演奏情報発生部10の発音指示装置または自動演奏装置からコントローラ20に手動演奏または自動演奏に基づくキーオンイベント(発音イベント)が送られれば(ステップ11)、空きチャンネルがサーチされ、サーチされた空きチャンネルのアサインメントメモリ42のエリアに「1」のオン/オフデータ、音高に応じた周期係数f、音色に応じた包絡係数r、タッチデータTC、パートナンバデータPN、「0」のトーンタイムデータTM、音高及び音色に応じたパワーデータPW、エンベロープスピードES、エンベロープレベルEL、「1」のエンベロープフェーズEFが書き込まれる。この周期係数fと包絡係数rとは次述する。
【0085】
さらに、「0」の上記下位読み出しアドレスデータR1、波形末尾アドレスEaに設定された下位読み出しアドレスデータR2、「0」の周期カウント値Fが上記演算RAM508の対応チャンネルメモリエリアにストアされ、重ね合わせチャンネルカウンタ(プログラム/データ記憶部40)の対応チャンネルエリアが「0」にリセットされる(ステップ12)。
【0086】
次に、周期係数f及び周期末尾値Fmaxはキーナンバデータ(音高情報)KNから変換され、パラメータRAM501の対応チャンネルメモリエリアにストアされ、包絡係数rは、トーンナンバデータ(音色情報)TN、タッチデータ(タッチ情報)TC、トーンタイムデータ(発音時間情報)TMまたはパートナンバデータ(演奏分野情報)PNから変換され、パラメータRAM501の対応チャンネルメモリエリアにストアされ(ステップ13)、その他の処理が実行される(ステップ14)。
【0087】
また、波形先頭アドレスSa及び波形末尾アドレスEaは、キーナンバデータ(音高情報)、トーンナンバ(音色情報)、タッチデータ(タッチ情報)、トーンタイムデータ(発音時間情報)またはパートナンバデータ(演奏分野情報)から変換され、パラメータRAM501の対応チャンネルメモリエリアにストアされる(ステップ13)。この波形先頭アドレスSa及び波形末尾アドレスEaは、上記種々のインパルス応答信号ISj(t)の1つを選択する。この場合、上記インパルス信号選択部52は省略可能である。
【0088】
さらに、キーオン開始(発音開始)またはキーオン中(発音中)の楽音があれば(ステップ15)、上記周期カウント値Fに周期係数fが加算(累算)され(ステップ16)、この加算値(累算値)が周期末尾値Fmax(「1111…11」又は「111…1100…0」)以上であれば(ステップ17)、周期カウント値Fから周期末尾値Fmaxが減算され、周期カウント値Fの端数が補正される(ステップ18)。
【0089】
重ね合わせチャンネルを切り換えて(ステップ18、21、22)、切り換えられた当該チャンネルの波形先頭アドレスSaに周期カウント値Fのうち下位の小数データFrが加算され(ステップ23)、下位読み出しアドレスデータR1またはR2の初期値が補正される。
【0090】
この重ね合わせチャンネルでは、2つのインパルス応答信号ISj(t)が時分割に交互に読み出され、1つの楽音として出力され、上述したように複数の楽音がさらなる時分割チャンネルを通じてポリフォニックに出力される。この重ね合わせチャンネルの値(ch=0、1)によって、2つのインパルス応答信号ISj(t)の読み出しが区別される。
【0091】
1つのインパルス応答信号ISj(t)の読み出しの時間的長さLが、このインパルス応答信号ISj(t)の繰り返し周期の時間的長さTより長いと、先のインパルス応答信号ISj(t)と次のインパルス応答信号ISj(t)とが重なってしまう。したがって、上記の2つのインパルス応答信号ISj(t)がチャンネル分割によって個別に読み出されれば、この2つのインパルス応答信号ISj(t)が並行して読み出され重ね合わされる。むろん、このチャンネル数は2を越えてもよい。
【0092】
次いで、下位読み出しアドレスデータ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)。
【0093】
8.インパルス信号読み出し部53のタイムチャート
図9は、上記インパルス信号読み出し部53の各部の動作のタイムチャートを示す。上述したように、パラメータRAM501及び演算RAM508への書き込み/読み出し、各セレクタ504、507、510の切り換え、各レジスタ502、5096、509、511、512、513へのストア、フリップフロップ517へのストア、アンドゲート群514の開成/閉成が切り換え制御される。これらの切り換え制御信号は、上述したタイミング発生部からの種々のタイミング制御信号が使われる。
【0094】
上記周期末尾値FmaxがパラメータRAM501にストアされるときは、当該周期末尾値Fmaxの書き込み/読み出しも行われる。このタイムチャートの波形のうちハイレベル/ローレベルが点線で示されるものは、書き込みデータがあるとき/ないとき、コンパレータ516が検出/非検出によって、ハイレベルになったりローレベルになったりする。
【0095】
9.読み出し状態
図10はインパルス応答信号ISj(t)のインパルス信号記憶部51からの読み出し状態を示す。発音開始(キーオン)によって、1番目のインパルス応答信号ISj(t)は下位読み出しアドレスデータR1によって読み出し開始される(ステップ24)。この下位読み出しアドレスデータR1は包絡係数rの速度でインクリメント開始される。
【0096】
同時に、周期カウント値Fが周期係数fの速度でインクリメント開始される(ステップ15、16)。周期カウント値Fが周期末尾値Fmaxに達すると(ステップ17)、上記1番目のインパルス応答信号ISj(t)がまだ読み出しの途中であっても、2番目のインパルス応答信号ISj(t)が下位読み出しアドレスデータR2によって読み出し開始される(ステップ27)。この下位読み出しアドレスデータR2も包絡係数rの速度でインクリメント開始される。
【0097】
そして、発音開始から2番目の周期Tが経過すると(ステップ17)、上記2番目のインパルス応答信号ISj(t)がまだ読み出しの途中であっても、3番目のインパルス応答信号ISj(t)が下位読み出しアドレスデータR1によって読み出し開始される(ステップ24)。
【0098】
さらに、発音開始から3番目の周期Tが経過すると(ステップ17)、上記3番目のインパルス応答信号ISj(t)がまだ読み出しの途中であっても、4番目のインパルス応答信号ISj(t)が下位読み出しアドレスデータR2によって読み出し開始される(ステップ27)。
【0099】
このように、2つの下位読み出しアドレスデータR1及びR2によって、2つの同じインパルス応答信号ISj(t)が交互に読み出される。したがって、インパルス応答信号ISj(t)そのものの長さLが繰り返し発生の周期Tより長くても、各周期Tの終わりで先のインパルス応答信号ISj(t)の発生を継続させるとともに、次のインパルス応答信号ISj(t)を重ねて発生させることができる。これらのインパルス応答信号ISj(t)は1つの楽音信号として合成かつ出力される。
【0100】
なお、1つの楽音信号として時分割に読み出されるインパルス応答信号ISj(t)の数は「2」を越えていてもよい。これに応じて、下位読み出しアドレスデータの数もR1、R2、R3、R4、・・・と増加し、ステップ24〜26、27〜29の数も増える。
【0101】
また、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で除算して求められる。
【0102】
10.トーンタイムデータTMの処理
図11はコントローラ20によって一定周期ごとに実行されるインタラプト処理のフローチャートを示す。この処理で上記トーンタイムデータTMのインクリメントが行われる。
【0103】
この処理では、上記アサインメントメモリ42の各チャンネルエリアにつき(ステップ41、44、45)、オン/オフデータが「1」で楽音が発音中のものについて(ステップ42)、そのトーンタイムデータTMが「+1」され(ステップ43)、その他の周期的な処理が行われる(ステップ46)。こうして、各チャンネルの楽音の発音経過時間がカウントされ記憶され、上述したように利用される。
【0104】
本発明は上記実施例に限定されず、本発明の趣旨を逸脱しない範囲で種々変更可能である。例えば、周期末尾値Fmaxの設定は省略されて、周期カウント値Fが取りうる最大値に固定され得る。この場合周期係数fだけによって、楽音信号の音高が決定される。
【0105】
上記1つのインパルス応答信号ISj(t)の前半と後半は同じ形状であったが、互いに異なる形状でもよい。また、インパルス応答信号ISj(t)の前半のみが記憶され、この前半が折り返し逆に読み出されて、後半の信号が生成されてもよい。上記インパルス応答信号ISj(t)は、外部からの音をサンプリング記憶して、上記ケプストラム法、線形予測法等によって変換したものでもよいし、使用者が人工的に作成したものでもよい。
【0106】
また、上記各図の回路の機能はソフトウエア(フローチャート)によって実施されても良いし、上記各図のフローチャートの機能はハードウエア(回路)によって実施されてもよい。本発明は電子楽器またはコンピュータにおいて実施され得る。
【0107】
上記インパルス応答信号ISj(t)は前半の波形と後半の波形が対称であることが多い。この場合、インパルス信号記憶部51には、この前半の半波形または後半の半波形のみ記憶され、この半波形が読み出された後、同半波形が逆に読み出されて、インパルス応答信号ISj(t)全体が生成されてもよい。これによりインパルス信号記憶部51の記憶量が減少する。
【0108】
上記パワーデータPWによる音量パワーの制御は、インパルス応答信号ISj(t)の読み出し(発生)速度Sと繰り返し周期Tとが独立に制御される場合だけでなく、一方が他方に連動または従属する場合も実行される。この場合、周期係数fと包絡係数rとは同じ音楽的ファクタ、例えば音高、音色、タッチ、発音時間に応じて決定されたり、一方のデータが求められ、この一方のデータにある演算が行われて他方が求められたりする。
【0109】
(1) 発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生させ、 この繰り返し発生されるインパルス応答信号の繰り返しの周期を、音高決定因子に応じて変化させ、 上記音高決定因子とは異なる音色決定因子に応じて、上記発生されるインパルス応答信号そのものの発生速度を、上記繰り返し周期とは独立に変化させることを少なくともコンピュータに実行させる楽音生成のためのコンピュータプログラムを記憶した媒体/コンピュータプログラムの通信方法/楽音生成装置(方法)。
【0110】
(2) 発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を発生し、 この発生されるインパルス応答信号を所定の周期で繰り返し発生させるように制御し、 上記インパルス応答信号そのものの長さが上記繰り返し発生の周期より長くても、当該周期の終わりで当該インパルス応答信号の発生を継続させるとともに、次のインパルス応答信号を重ねて発生させることをコンピュータに実行させる楽音生成のためのコンピュータプログラムを記憶した媒体/コンピュータプログラムの通信方法/楽音生成装置(方法)。
【0111】
(3) 音高決定因子は上記楽音信号の音高を決定する因子であり、 音色決定因子は上記楽音信号の音色を決定する因子であり、 上記インパルス応答信号は記憶手段に記憶され、上記音色決定因子に応じてこのインパルス応答信号の読み出し速度が決定され、上記音高決定因子に応じてこのインパルス応答信号の繰り返し読み出しの繰り返し周期が決定される請求項1または2記載のコンピュータに実行させる楽音生成のためのコンピュータプログラムを記憶した媒体/コンピュータプログラムの通信方法/楽音生成装置(方法)。
【0112】
(4) 発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生し、 この繰り返し発生されるインパルス応答信号の繰り返しの周期を、音高決定因子に応じて変化させ、 上記音高決定因子とは異なる音色決定因子に応じて、上記発生されるインパルス応答信号そのものの発生速度を、上記繰り返し周期とは独立に変化させ、 発生された音楽的因子に応じて、上記繰り返し発生されるインパルス応答信号の波形形状を切り換えることをコンピュータに実行させる楽音生成のためのコンピュータプログラムを記憶した媒体/コンピュータプログラムの通信方法/楽音生成装置(方法)。
【0113】
(5) 発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を発生し、 この発生されるインパルス応答信号を所定の周期で繰り返し発生させるように制御し、 上記インパルス応答信号そのものの長さが上記繰り返し発生の周期より長くても、当該周期の終わりで当該インパルス応答信号の発生を継続させるとともに、複数の発生手段(読み出し手段)によって、次のインパルス応答信号を重ねて発生させ、 発生された音楽的因子に応じて、上記繰り返し発生されるインパルス応答信号の波形形状を切り換えることをコンピュータに実行させる楽音生成のためのコンピュータプログラムを記憶した媒体/コンピュータプログラムの通信方法/楽音生成装置(方法)。
【0114】
(6) 音高決定因子は上記楽音信号の音高を決定する因子であり、 音色決定因子は上記楽音信号の音色を決定する因子であり、 上記インパルス応答信号は記憶手段に記憶され、上記音色決定因子に応じてこのインパルス応答信号の読み出し速度が決定され、上記音高決定因子に応じてこのインパルス応答信号の繰り返し読み出しの繰り返し周期が決定され、 上記音楽的因子は上記楽音信号の音高を決定する因子、または上記音高決定因子とは異なる音色決定因子である請求項4または5記載のコンピュータに実行させる楽音生成のためのコンピュータプログラムを記憶した媒体/コンピュータプログラムの通信方法/楽音生成装置(方法)。
出願当初の本件特許請求の範囲は以下の通りであった。
[1]発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生し、 この繰り返し発生されるインパルス応答信号の繰り返しの周期を変化させ、 この発生されるインパルス応答信号そのものの発生速度を変化させ、 上記変化されるインパルス応答信号の繰り返し周期に基づいて、または上記変化されるインパルス応答信号そのものの発生速度に基づいて、発生されるインパルス応答信号の大きさを変化させることを特徴とする楽音生成装置。
[2]発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生させ、 この繰り返し発生されるインパルス応答信号の繰り返しの周期を変化させ、 この発生されるインパルス応答信号そのものの発生速度を変化させ、 上記変化されるインパルス応答信号の繰り返し周期に基づいて、または上記変化されるインパルス応答信号そのものの発生速度に基づいて、発生されるインパルス応答信号の大きさを変化させることを特徴とする楽音生成方法。
[3]上記インパルス応答信号の大きさは、当該インパルス応答信号の波形のパワーまたは発音操作の速さまたは強さに応じても変化され、 上記インパルス応答信号の繰り返しの周期は、音高決定因子に応じて変化され、 上記インパルス応答信号そのものの発生速度は、音色決定因子に応じて変化され、しかも上記繰り返し周期とは独立に変化され、 この音高決定因子は上記楽音信号の音高を決定する因子であり、 この音色決定因子は上記楽音信号の音色を決定する因子であり、 上記インパルス応答信号は記憶手段に記憶され、上記音色決定因子に応じてこのインパルス応答信号の読み出し速度が決定され、上記音高決定因子に応じてこのインパルス応答信号の繰り返し読み出しの繰り返し周期が決定されること特徴とする請求項1記載の楽音生成装置。
【0115】
【発明の効果】
以上詳述したように、インパルス応答信号の繰り返し周期または読み出し速度が変化すれば、このインパルス応答信号に基づいて出力される楽音信号のパワー、エネルギーまたは音量も変化する。本発明では、インパルス応答信号の繰り返し周期または読み出し速度に基づいて、発生されるインパルス応答信号の大きさが変化する。したがって、出力される楽音信号のパワー、エネルギーまたは音量が一定にされ、インパルス応答信号の繰り返し周期または読み出し速度に応じて変化してしまうことがない等の効果を奏する。
【図面の簡単な説明】
【図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】本願発明の原理を示す。
【符号の説明】
10…演奏情報発生部、20…コントローラ(CPU)、30…タイム発生部、40…迂路/データ記憶部、41…情報記憶部、42…アサインメントメモリ、50…インパルス信号発生部、60…音響出力部、51…インパルス信号記憶部、52…インパルス信号選択部、53…インパルス信号読み出し部、54…インパルス累算部、58…波形パワー制御RAM、501…パラメータRAM、508…演算RAM、505…加算器。
Claims (5)
- CPUが楽音生成装置に対して、
発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生させ、
この繰り返し発生されるインパルス応答信号の繰り返しの周期を、上記楽音信号の音高を決定する音高決定因子だけに応じて変化させ、
上記音高決定因子とは異なり、上記楽音信号の音色を決定する音色決定因子だけに応じて、上記発生されるインパルス応答信号の波形そのものの発生速度を変化させ、
このインパルス応答信号そのものの発生速度の変化に基づいて、発生されるインパルス応答信号の大きさを変化させることを特徴とする楽音生成方法。 - 発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生する手段と、
この繰り返し発生されるインパルス応答信号の繰り返しの周期を、上記楽音信号の音高を決定する音高決定因子だけに応じて変化させる手段と、
上記音高決定因子とは異なり、上記楽音信号の音色を決定する音色決定因子だけに応じて、上記発生されるインパルス応答信号の波形そのものの発生速度を変化させる手段と、
このインパルス応答信号そのものの発生速度の変化に基づいて、上記発生されるインパルス応答信号の大きさを変化させる手段とを備えたことを特徴とする楽音生成装置。 - 上記インパルス応答信号の繰り返し周期の変化にも基づいて、上記発生されるインパルス応答信号の大きさを変化させることを特徴とする請求項2記載の楽音生成装置。
- 発生された音楽的因子であって、上記音高決定因子及び上記音色決定因子を含む音楽的因子に応じて、上記繰り返し発生されるインパルス応答信号の波形形状そのものを切り換えさせる手段をさらに備えたことを特徴とする請求項2または3記載の楽音生成装置。
- 上記インパルス応答信号は、当該信号の前半と後半とが線対称である請求項2、3または4記載の楽音生成装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31605097A JP3637190B2 (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 |
---|---|---|---|
JP31605097A JP3637190B2 (ja) | 1997-10-31 | 1997-10-31 | 楽音生成装置及び楽音生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11133971A JPH11133971A (ja) | 1999-05-21 |
JP3637190B2 true JP3637190B2 (ja) | 2005-04-13 |
Family
ID=18072715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31605097A Expired - Fee Related JP3637190B2 (ja) | 1997-09-30 | 1997-10-31 | 楽音生成装置及び楽音生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3637190B2 (ja) |
-
1997
- 1997-10-31 JP JP31605097A patent/JP3637190B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11133971A (ja) | 1999-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002311957A (ja) | 共鳴装置、共鳴方法及び共鳴処理のためのコンピュータプログラム | |
JP3694172B2 (ja) | 残響共鳴装置及び残響共鳴方法 | |
JP3634130B2 (ja) | 楽音生成装置及び楽音生成方法 | |
JP3459760B2 (ja) | 楽音生成装置及び楽音発生方法 | |
US6031173A (en) | Apparatus for generating musical tones using impulse response signals | |
JP3637190B2 (ja) | 楽音生成装置及び楽音生成方法 | |
JP3706232B2 (ja) | 楽音生成装置及び楽音生成方法 | |
JP3637191B2 (ja) | 楽音生成装置及び楽音生成方法 | |
JP3684052B2 (ja) | 楽音生成装置及び楽音生成方法 | |
JP3419563B2 (ja) | 楽音信号のレベル制御装置 | |
JPH11161274A (ja) | 楽音生成装置及び楽音生成方法 | |
JP4059581B2 (ja) | 電子音響装置のゆらぎ付加装置及びゆらぎ付加方法 | |
JP3673384B2 (ja) | 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法 | |
JP2009230610A (ja) | 命令処理装置及び命令処理方法。 | |
JP2715795B2 (ja) | 発音割当手段を有する楽音合成装置 | |
JP3595676B2 (ja) | 楽音生成装置及び楽音生成方法 | |
JP3673388B2 (ja) | 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法 | |
JP2000194361A (ja) | 電子音響装置のゆらぎ付加装置及びゆらぎ付加方法 | |
JP3673387B2 (ja) | 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法 | |
JP3673386B2 (ja) | 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法 | |
US6160214A (en) | Non-consonance generating device and non-consonance generating method | |
JPH07248764A (ja) | 残響音生成装置 | |
JP2000163056A (ja) | 自動演奏装置及び自動演奏方法 | |
JPH0863160A (ja) | エンベロープ発生器 | |
JPH08211866A (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 |
|
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: 20041221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050107 |
|
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 |