JP3637190B2 - Musical sound generating apparatus and musical sound generating method - Google Patents

Musical sound generating apparatus and musical sound generating method Download PDF

Info

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
Application number
JP31605097A
Other languages
Japanese (ja)
Other versions
JPH11133971A (en
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 JP31605097A priority Critical patent/JP3637190B2/en
Priority to US09/182,643 priority patent/US6031173A/en
Publication of JPH11133971A publication Critical patent/JPH11133971A/en
Application granted granted Critical
Publication of JP3637190B2 publication Critical patent/JP3637190B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、楽音生成装置に関し、特にインパルス応答信号を使って楽音信号を生成させる装置などに関する。
【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…加算器。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a musical sound generation apparatus, and more particularly to an apparatus that generates a musical sound signal using an impulse response signal.
[0002]
[Prior art]
Conventionally, in the field of musical tone generation devices, there are few devices that perform control related to impulse response waveform signals. However, some impulse response waveform signals themselves are sampled and stored, repeatedly read out, and the repetition period is determined according to the designated pitch. In this case, if the designated pitch is high, the readout repetition cycle is short, and if the designated pitch is low, the readout repetition cycle is long. Further, the reading speed of the impulse response waveform signal itself is constant, and the reading speed of the impulse response waveform signal itself does not change regardless of whether the pitch is high or low.
[0003]
[Problems to be solved by the invention]
However, such an apparatus simply reads out an impulse response waveform signal and applies it to a musical tone, and the contents such as the tone color of the musical tone cannot be changed in various ways. To change the tone of a normal musical tone, the frequency component (characteristic) of the musical tone is changed using a filter or the like.
[0004]
However, the frequency characteristic (spectrum envelope) of the musical sound can be achieved only by changing the reading speed (generation speed) of the impulse response waveform signal itself. If the generation speed of the impulse response waveform signal is changed, the frequency characteristic changes as the frequency characteristic expands or contracts on the frequency axis, and as a result, the timbre also changes. In this case, if the readout speed of the impulse response waveform signal itself is linked to the repetition cycle of the readout, the tone cannot be determined independently, and the tone is determined according to the pitch and depends on the pitch. It becomes the tone that I did.
[0005]
The present invention has been made to solve the above-mentioned problems, and a first object of the present invention is to determine independent timbres independent of the pitch, and a second object is novel using an impulse response waveform signal. Is to generate a simple tone signal.
[0006]
[Means for Solving the Problems]
In order to achieve the above object, according to the present invention, an impulse response signal having a predetermined length corresponding to the frequency characteristic of a musical tone signal to be generated is repeatedly generated, and the repetition period of the repeatedly generated impulse response signal is expressed as a pitch. The generation speed of the generated impulse response signal itself was changed independently of the repetition period according to a tone color determination factor different from the pitch determination factor.
[0007]
As a result, the tone color of the tone signal generated from the impulse response signal is changed independently of the pitch, and the tone color does not depend on the pitch, and the tone color can be freely changed. Moreover, a desired musical tone signal is generated by repeatedly generating an impulse response signal, and a novel musical tone can be generated.
[0008]
Further, if the repetition period or the reading speed of the impulse response signal changes, the power, energy, or volume of the musical sound signal output based on the impulse response signal also changes. In the present invention, the magnitude of the generated impulse response signal changes based on the repetition period or readout speed of the impulse response signal. As a result, the power, energy, or volume of the output musical tone signal is made constant and does not change according to the repetition period or readout speed of the impulse response signal.
[0009]
Furthermore, in the present invention, the waveform shape of the impulse response signal generated repeatedly is switched according to the generated musical factor. Thereby, the change of the waveform shape of the impulse response signal itself can be linked to the pitch change or can be linked to the timbre change.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
1. Principle of the Present Invention FIGS. 12 and 13 show the principle of the present invention. In FIG. 12, when the repetition period of the impulse response signal ISj (t) is T1 or T2, the frequency characteristics (spectrum envelope (envelope), frequency spectrum component) of the tone synthesized and generated by the output of the impulse response signal ISj (t) Characteristics, formant characteristics). This repetition period T determines the pitch of the generated musical sound. Therefore, the repetition period T is determined by the pitch information and is taken in as the period coefficient f.
[0011]
When the repetition period T of the impulse response signal ISj (t) is shortened and the pitch is increased, the frequency characteristics do not change much or at all as shown in FIGS. 12B1 and 12B2, and the density of each frequency component is Lowering, the width of the formant remains the same. Therefore, when the repetition period T changes, the pitch changes, but the timbre (frequency component, formant characteristic) itself does not change.
[0012]
The impulse response signal ISj (t) is stored for each musical factor in the impulse signal storage unit 51 (FIG. 2) in the impulse signal generation unit 50 of FIG. This stored impulse response signal ISj (t) is one of the two impulse response signals ISj (t) shown in FIG. 13A1 or FIG. 13A1 and shows the state of repeated reading.
[0013]
In FIG. 13, when the repetition period of the impulse response signal ISj (t) is the same and the reading speed of the impulse response signal ISj (t) is different, the frequency of the musical sound synthesized and generated by the output of the impulse response signal ISj (t) Characteristics (spectral envelope (envelope), frequency spectrum component characteristics, formant characteristics) are shown. The reading speed of the impulse response signal ISj (t) itself determines the tone color (frequency component, formant characteristic) of the generated musical tone. Therefore, this reading speed is determined by musical factor information not related to pitch, for example, timbre information, and is taken in as an envelope coefficient r.
[0014]
When the reading speed of the impulse response signal ISj (t) is increased and the time length of the impulse response signal ISj (t) is reduced, the density of each frequency component is too little or not as shown in FIGS. 13B1 and 13B2. Without changing, the frequency characteristics (frequency spectrum component characteristics, formant characteristics) change, and the formant width widens. Therefore, when the signal reading speed changes, the timbre (frequency component, formant characteristic) changes, but the pitch itself does not change.
[0015]
The impulse response signal ISj (t) is generated and stored by applying a calculation method such as a linear prediction method or a cepstrum method to a predetermined length of a musical sound signal to be generated. For example, in the cepstrum method, a musical sound signal having a predetermined length is fast Fourier transformed by a Fourier transformer and converted into a frequency power spectrum.
[0016]
This converted power spectrum is logarithmically converted by a logarithmic converter, further inversely fast Fourier transformed by an inverse Fourier transformer, and converted into a time domain (cef range) cepstrum. This cepstrum is multiplied by a causal window from the multiplier and window function generator and converted to a complex cepstrum. This complex cepstrum is again fast Fourier transformed by the Fourier transformer and returned to the frequency domain to obtain a spectral envelope.
[0017]
Examples of this spectral envelope are shown in FIGS. 12B1 and 12B2 and FIGS. 13B1 and 13B2. This spectral envelope is exponentially converted by an exponent converter, and inverse fast Fourier transformed by the inverse Fourier transformer and returned to the time domain. Thereby, sampling data of the impulse response signal having the minimum phase is generated and stored in the impulse signal storage unit 51 as the impulse response signal ISj (t).
[0018]
If the repetition period of the impulse response signal ISj (t) changes, the power, energy or volume of the musical tone signal output based on the impulse response signal ISj (t) also changes. Based on the repetition period of the impulse response signal ISj (t), the magnitude of the generated impulse response signal ISj (t) changes. As a result, the power, energy, or volume of the output musical sound signal is made constant and does not change according to the repetition period of the impulse response signal ISj (t).
[0019]
2. Overall Circuit FIG. 1 shows an overall circuit of a musical tone generator. Performance information (musical tone generation information) is generated from the performance information generator 10. This performance information (musical sound generation information) is information for generating musical sounds. The performance information generating unit 10 is a sound generation instruction device, an automatic performance device, various switches or interfaces that are played manually.
[0020]
The performance information (musical tone generation information) is musical factor information, such as pitch (tone range) information (pitch determinant), pronunciation time information, performance field information, pronunciation number information, and the like. The pronunciation time information indicates the elapsed time from the start of tone generation. The performance field information indicates performance part information, musical tone part information, musical instrument part information, etc., and corresponds to, for example, melody, accompaniment, chord, bass, rhythm, etc., or upper keyboard, lower keyboard, foot keyboard, and the like.
[0021]
The pitch information is captured as key number data KN. The key number data KN is composed of octave data (sound range data) and pitch name data. The performance field information is taken in as part number data PN, and this part number data PN is data for identifying each performance area, and is set according to which performance area the musical sound subjected to sound generation is from.
[0022]
The pronunciation time information is taken in as tone time data TM and is based on time count data from a key-on event or is substituted in an envelope phase. This sounding time information is shown in detail in Japanese Patent Application No. 6-219324 and drawings as elapsed time information from the start of sounding.
[0023]
The number-of-sounds information indicates the number of musical sounds that are simultaneously sounded. For example, the number of musical sounds whose on / off data in the assignment memory 42 is “1” is calculated based on the number of musical sounds of Japanese Patent Application No. 6-242878. 15 and FIG. 8 and FIG. 18 of Japanese Patent Application No. 6-2476855, FIG. 9 and FIG. 20 of Japanese Patent Application No. 6-276857, and FIG. 9 and FIG. 21 of Japanese Patent Application No. 6-276858. It is done.
[0024]
The pronunciation instruction device is a keyboard instrument, a stringed instrument, a wind instrument, a percussion instrument, a computer keyboard, or the like. The automatic performance device automatically reproduces stored performance information. The interface is a device that receives and sends performance information from a connected device such as MIDI (musical instrument digital interface).
[0025]
In addition, the performance information generating unit 10 is provided with various switches, such as a tone tablet, an effect switch, a rhythm switch, a pedal, a wheel, a lever, a dial, a handle, and a touch switch, which are for musical instruments. is there. Music control information is generated from the various switches, and the music control information is information for controlling the generated music and is musical factor information. Tone information (tone determination factor), touch information (pronunciation) The speed / intensity of the instruction operation), pronunciation number information, effect information, rhythm information, sound image (stereo) information, quantize information, modulation information, tempo information, volume information, envelope information, and the like.
[0026]
The musical factor information is also merged with the performance information (musical sound information) and input from the various switches, and is merged with the automatic performance information or the performance information transmitted / received through the interface. Note that the touch switch is provided corresponding to each of the sound generation instruction devices, and generates initial touch data and after-touch data indicating the speed and strength of the touch.
[0027]
The tone information corresponds to the type of instrument (sounding medium / sounding means) of a keyboard instrument (piano, etc.), wind instrument (flute, etc.), stringed instrument (violin, etc.), percussion instrument (drum, etc.), etc. Is taken in as. The envelope information includes an envelope level, an envelope speed, an envelope phase, and the like.
[0028]
Such musical factor information is sent to the controller 20, and various signals, data, and parameters described later are switched to determine the contents of the musical sound. The performance information (musical tone generation information) and musical tone control information are processed by the controller 20, various data are sent to the impulse signal generator 50, and an impulse response signal ISj (t) is generated. The controller 20 includes a CPU, a ROM, a RAM, and the like.
[0029]
The program / data storage unit 30 (internal storage medium / means) includes a storage device such as a ROM or writable RAM, flash memory, or EEPROM, and is stored in an information storage unit 41 (external storage medium / means) such as an optical disk or a magnetic disk. The stored computer program is copied and stored (installed / transferred). The program / data storage unit 30 also stores (installs / transfers) a program transmitted from an external electronic musical instrument or computer via the MIDI device or the transmission / reception device. The storage medium for this program includes a communication medium.
[0030]
This installation (transfer / copying) is automatically executed when the information storage unit 41 is set in the musical tone generating apparatus or when the musical tone generating apparatus is turned on, or is installed by an operation by the operator. The The program is a program according to a flowchart to be described later for the controller 20 to perform various processes.
[0031]
Note that another operating system, a system program (OS), and other programs may be stored in advance in the apparatus, and the program may be executed together with these OS and other programs. When this program is installed in the apparatus (computer main body) and executed, it is only necessary to execute the processing / function described in the claims together with another program or alone.
[0032]
Further, a part or all of this program is stored and executed in one or more other devices other than this device, and data to be processed / already processed through communication means between this device and another device. The present invention may be executed as the entire apparatus and the separate apparatus.
[0033]
The program / data storage unit 30 also stores the musical factor information described above, the various data described above, and other various data. These various data include data necessary for time division processing, data for allocation to time division channels, and the like.
[0034]
In the impulse signal generation unit 50, an impulse response signal ISj (t) having a predetermined length is repeatedly generated and sounded and output from the sound output unit 60. The repetition period of the impulse response signal ISj (t) that is repeatedly generated is changed according to the pitch information, and is different from the pitch information to the timbre information or musical factor information not related to the pitch. Accordingly, the reading speed (generation speed) of the generated impulse response signal ISj (t) itself is changed, and the repetition period and the reading speed are changed independently of each other.
[0035]
The impulse response signal ISj (t) corresponds to the spectrum envelope of the musical sound signal to be generated and has a predetermined finite length L. The impulse signal generator 50 simultaneously generates a plurality of musical sound signals by time division processing and generates polyphonic sounds.
[0036]
From the timing generator 30, a timing control signal for synchronizing all the circuits of the tone generator is output to each circuit. This timing control signal includes a clock signal of each period, a signal obtained by logical product or logical sum of these clock signals, a signal having a period of channel division time of time division processing, channel number data j, and the like.
[0037]
3. Assignment memory 42
FIG. 2 shows the assignment memory 42 of the program / data storage unit 40. In the assignment memory 42, a plurality of channel memory areas (16 or 32, etc.) are formed, and data relating to musical sounds assigned to the plurality of musical sound generation channels formed in the impulse signal generator 50 is stored. .
[0038]
In each of these channel memory areas, the period coefficient f (or key number data KN) of the tone to which the channel is assigned, the envelope coefficient r (tone number data TN), the waveform start address Sa, the waveform end address Ea, and the period end value Fmax In addition, ON / OFF data, touch data TC, tone time data TM, part number data PN, power data PW, envelope phase data EF, envelope speed data ES, envelope level data EL, and the like are stored.
[0039]
The on / off data indicates whether the musical sound to be assigned and sounded is key-on or sounding (“1”), key-off or sound-deadening (“0”). The cycle coefficient f (key number data KN) indicates the pitch of a musical tone assigned and pronounced, and is determined according to the pitch information. The higher order data of the period coefficient f indicates a sound range or an octave. The frequency number data FN is sent to the impulse signal generator 50 by the controller 20 at a corresponding channel timing.
[0040]
The envelope coefficient r (tone number data TN) indicates the tone color of the tone that is assigned and pronounced, and is determined according to the tone color information. The envelope coefficient r is sent by the controller 20 to the impulse signal generator 50 at the corresponding channel timing. The touch data TC indicates the speed or strength of the sound generation operation, and is determined according to the touch information.
[0041]
The power data PW indicates the power of the energy of the waveform of the impulse response signal ISj (t), the repetition period T of each impulse response signal ISj (t) stored in the impulse signal storage unit 51, and each impulse response signal ISj (t ) It is determined based on the reading (generation) speed or waveform shape of itself.
[0042]
For example, if the power data PW of an impulse response signal ISj (t) having a certain pitch is set as “1” as a reference, the impulse response signal ISj (t) having the same pitch above one octave has “1/2”. "1/4" for the impulse response signal ISj (t) having the same pitch above 2 octaves, "2" for the impulse response signal ISj (t) having the same pitch below 1 octave, "2", 2 octaves For the same impulse response signal ISj (t) with the lower pitch, “4”,...
[0043]
Further, if the power data PW of the impulse response signal ISj (t) at a certain reading speed is set to “1” as a reference, “2” or 3 times at the same impulse response signal ISj (t) having a double reading speed. “3” for the impulse response signal ISj (t) having the same reading speed, and “1/2” for the impulse response signal ISj (t) having the same reading speed of 1/2, For the impulse response signal ISj (t) having the same speed, “1/3”,...
[0044]
Further, the power data PW is set even between different impulse response signals ISj (t). If the impulse response signal ISj (t) is a waveform that changes drastically and the energy power of the waveform is large, the power data PW is reduced, and the impulse response signal ISj (t) is a waveform that changes slowly and the energy power is small. In this case, the power data PW is increased.
[0045]
Of course, if the magnitude (amplitude) of each impulse response signal ISj (t) stored in the impulse signal storage unit 51 is adjusted to have the same energy power, such different impulse response signals ISj (t Setting of the power data PW during () is unnecessary.
[0046]
This power data PW is based on the integrated value of the waveform of the impulse response signal ISj (t) or the sum of the absolute value of each local maximum value and local minimum value between the different impulse response signals ISj (t). It is determined.
[0047]
Further, as described above, the power data PW is determined in inverse proportion to the repetition period T, that is, the pitch frequency, and further inversely proportional to the set tone color, that is, the reading speed, during the same impulse response signal ISj (t). Is done. However, depending on the impulse characteristics of the musical sound generation (sound generation) circuit and the conversion characteristics of the loudspeaker's electrical energy into volume energy, the following occurs. A, B, C, and D are constants. T is the repetition period. If it is a pitch frequency, it is converted into a reciprocal and substituted into this “T”. S is the reading speed.
[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) indicates that the previous numerical value is “nth power”. In this case, (T / S) is “nth power”. (Log-c) indicates a logarithmic expression with a base “c”. (N-RAD) indicates that the “nth root” of the subsequent numerical value is obtained, and in this case, the “nth root” of (T / S) is calculated.
[0049]
Such power data PW is converted from the pitch information (key number data KN) and tone color information (tone number data TN) by a table in the program / data storage unit 40. Similarly, the periodic coefficient f is also converted from the pitch information (key number data KN) by a table in the program / data storage unit 40, and the envelope coefficient r is also converted by the table in the program / data storage unit 40. Converted from tone color information (tone number data TN).
[0050]
Envelope phase data EF indicates the attack, decay, sustain or release of the envelope, envelope speed data ES indicates the step value of the calculation per envelope digital calculation, and envelope level data EL indicates the envelope calculation at the end of each phase. Indicates the target value that the value will reach.
[0051]
Each data in each channel memory area is written at the sounding start timing, and is rewritten or read out at each channel timing, and sent to the impulse signal generation unit 50. The assignment memory 42 may be provided not in the program / data storage unit 40 but in the impulse signal generation unit 50 or the controller 20.
[0052]
A method for assigning or truncating each tone to a plurality of tone generation systems for generating a plurality of tones in parallel, that is, a channel formed by the above time-sharing process, is disclosed in, for example, Japanese Patent Application No. 1-4298. The methods shown in Japanese Patent Application No. 1-305818, Japanese Patent Application No. 1-312175, Japanese Patent Application No. 2-2089178, Japanese Patent Application No. 2-409579, and Japanese Patent Application No. 2-409578 are used.
[0053]
4). Impulse signal generator 50
FIG. 3 shows the impulse signal generator 50. As shown in FIG. 4, various impulse response signals ISj (t) are stored in the impulse signal storage unit 51. The waveform shapes of these impulse response signals ISj (t) are different, and the timbre when they are synthesized and output to the musical tone signal is also different. These impulse response signals ISj (t) correspond to each musical factor information, and are stored in multiples for each tone color, touch, pitch (tone range) or sounding time, performance field, envelope phase, etc. Yes.
[0054]
For example, the impulse response signal ISj (t) is stored differently for each timbre, and the impulse response signal ISj (t) of one kind of timbre is stored differently for each touch. The impulse response signal ISj (t) is stored differently for each tone generation time, ... stored differently for each pitch, ... stored differently for each performance field, ... different for each envelope phase Is memorized.
[0055]
The musical factor information is converted by the controller 20 into upper read address data specifying such various impulse response signals ISj (t), and the read address data is stored in the impulse signal selection unit 52 to store the impulse signal. The impulse response signal ISj (t) supplied to the unit 51 is selected. If the musical factor information changes for each musical tone or during sound generation, the upper read address data is switched, and the impulse response signal ISj (t) to be read is also switched.
[0056]
If this musical factor information is related to pitch, the change in the waveform shape of the impulse response signal itself should be linked to the pitch change, and the tone of the musical tone signal that is synthesized and output should be linked to the pitch change. Can do. Also, if this musical factor information is related to information other than pitch, changes in the waveform shape of the impulse response signal itself are linked to changes in timbre, touch, pronunciation time, performance field, or synthesized and output. The timbre of the musical tone signal can also be linked to changes in timbre, touch, pronunciation time, and performance field.
[0057]
The impulse signal selection unit 52 has a memory area corresponding to the number of time-division channels, and upper read address data corresponding to the musical factor of the musical sound assigned to each channel is stored in each memory area. It is read by the channel number data j from the generator and supplied to the impulse signal storage 51.
[0058]
Each impulse response signal ISj (t) in the impulse signal storage unit 51 is read by the lower read address data R1 and R2 from the impulse signal reading unit 53. The lower read address data R1 and R2 are incremented at a speed corresponding to the musical factor information other than the pitch information. Therefore, the reading speed of the impulse response signal ISj (t) is not determined by the pitch information. The impulse response signal ISj (t) is repeatedly read, and the repetition period is changed according to the pitch information, and the repetition period and the reading speed are determined independently of each other.
[0059]
The impulse response signals ISj (t) read from the impulse signal storage unit 51 are individually accumulated and synthesized for each channel by the impulse accumulation unit 54, and the envelope signal from the envelope generator 56 is obtained by the multiplier 55. Multiplying and synthesizing for each channel, the musical tone accumulation unit 57 accumulates and synthesizes the musical tone signals of all channels, and outputs the sound from the sound output unit 60.
[0060]
The envelope generator 56 sends the above-described musical factor information (envelope information), that is, envelope speed data ES, envelope level data EL, and envelope phase data EF, and is stored for each channel. Information), the speed and level of each phase of the envelope of each channel is set, and the shape of each envelope is determined. This envelope signal is generated in a time division manner for each channel and sent to the multiplier 55.
[0061]
The power data PW of each channel is stored in the corresponding channel area of the waveform power control RAM 58 by the controller 20. Each power data PW is sent to the multiplier 55, and is multiplied by the musical tone signal (impulse response signal ISj (t)) from the impulse accumulator 54 or the envelope data from the envelope generator 56. The waveform power control RAM 58 has a memory area corresponding to the time division channel, and each power data PW is read out by being switched in a time division manner. This switching is based on channel count data from the timing generator 30.
[0062]
Thereby, even if the repetition period T of the impulse response signal ISj (t) changes according to the pitch, and the waveform power, that is, the volume changes according to the pitch, this can be adjusted and eliminated. In addition, since the waveform shape of the impulse response signal ISj (t) is different, even if the waveform power, that is, the volume changes according to the pitch, this can be adjusted and eliminated.
[0063]
FIG. 5 shows the relationship between the pitch of the impulse response signal ISj (t), that is, the repetition period T and the waveform power. When the impulse response signal ISj (t) is read out with a short cycle as shown in FIG. 5A, the waveform energy per unit time increases and the volume also increases. On the other hand, when the impulse response signal ISj (t) is read out with a long period as shown in FIG. 5A, the waveform energy per unit time is reduced and the volume is also reduced.
[0064]
Similarly, although not shown, when the impulse response signal ISj (t) is read slowly, the waveform energy per unit time increases and the volume also increases. On the other hand, when the impulse response signal ISj (t) is read out quickly, the waveform energy per unit time is reduced and the volume is also reduced.
[0065]
On the other hand, by multiplying the power data PW, the level of the output impulse response signal ISj (t) (musical sound signal) is controlled, and the repetition period T, that is, the change in pitch, or the reading speed, that is, the change in timbre. The extra volume (power) change due to can be suppressed.
[0066]
The power data PW may be multiplied by the envelope level data EL stored in the assignment memory 42 and sent to the envelope generator 56. The touch data TC stored in the assignment 41 may be multiplied by the power data PW and stored in the waveform power control RAM 58. Further, the power data PW may be obtained by calculating the reciprocal of the periodic coefficient f and the envelope coefficient r.
[0067]
5. Impulse signal reading unit 53
FIG. 6 shows an impulse signal reading unit 53 in the impulse signal generating unit 50. The period coefficient f, envelope coefficient r, waveform start address Sa, and waveform end address Ea from the controller (CPU) 20 are stored in the parameter RAM 501 for each time division channel. In some cases, the cycle end value Fmax is also stored in the parameter RAM 501 for each time division channel. A memory area corresponding to the number of time-division channels is formed in the parameter RAM 501, and the coefficients f and r and addresses Sa and Ea corresponding to the musical tone assigned to each channel are stored in the corresponding memory area. When each data f, r, Sa, Ea is always sent from the assignment 42 in time division, the parameter RAM 501 may have only one memory area.
[0068]
The period coefficient f and the period end value Fmax determine the length of the repetition period T of the impulse response signal ISj (t), determine the pitch of the musical tone to be generated, and the period coefficient f is sequentially and repeatedly accumulated. Every time the cycle end value Fmax is reached, the impulse response signal ISj (t) is repeatedly read out. The accumulated value of the period coefficient f is a period count value F. The period coefficient f and the period end value Fmax are determined by the pitch information (key number data) and converted from the key number data. The pitch of the musical tone signal in which the length of the repetition period T is generated is determined.
[0069]
Either the period coefficient f or the period end value Fmax may be fixed. In the embodiment of FIG. 3, the cycle end value Fmax is set to the maximum value (“1111... 11” or “111... 1100... 0”) that the cycle count value F can take, and this cycle end value Fmax is not stored.
[0070]
The envelope coefficient r determines the reading (generation) speed of the impulse response signal ISj (t), determines the frequency characteristic (formant shape) of the impulse response signal ISj (t), and determines the tone color of the generated musical tone. The envelope coefficient r is repeatedly accumulated from the waveform head address Sa to the waveform end address Ea, and supplied to the impulse signal storage unit 51 as lower read address data R1 and R2. When the lower read address data R1 and R2 reach the waveform end address Ea, reading of the impulse response signal ISj (t) is waited until the cycle count value F next reaches the cycle end value Fmax.
[0071]
The envelope coefficient r is determined by musical factor information not related to the pitch, and for example, the timbre information (tone number data), touch information (touch data), pronunciation time information (tone time data), performance field information ( Part number data).
[0072]
The envelope coefficient r or the cycle count f from the parameter RAM 501 passes through the B register, passes through the FLX 503, or does not pass through the selector 504, and the adder 505 at the lower read address data R1, R2 or cycle count so far. The value is accumulated in the value F and stored in the operation RAM 508 via the accumulation register 506 and the selector 507. A memory area corresponding to the number of time-division channels is formed in the arithmetic RAM 508, and the data R1, R2, and F corresponding to the musical sound assigned to each channel are stored in the corresponding memory area. The FLX 503 converts floating point data into fixed point data.
[0073]
The data R1, R2, and F are sent from the arithmetic RAM 508 via the A register 509 to the adder 505 via the selector 510. The data R1 and R2 are alternately selected by the selector 518 via the R1 register 511 and the R2 register 512 and sent to the impulse signal storage unit 51. Of the cycle count value F from the accumulation register 506, the lower decimal data Fr or data “0” is supplied to the adder 505 via the selector 510. The selector 518 is switched by the clock signal φR1. One cycle of the clock signal φR1 is equal to the division time for one channel as shown in FIG.
[0074]
The initial value of the lower read address data R1 is “0”, the initial value of the lower read address data R2 is the waveform end address Ea, and the initial value of the cycle count value F is “0”. The data is stored in the arithmetic RAM 508 via the selector 507.
[0075]
The waveform end address value Ea (period end value Fmax) from the parameter RAM 501 is supplied to the comparator 516 via the Ea register and AND gate group 514. The comparator 516 is also supplied with the lower read address data R1, R2 or the cycle count value F from the adder 505. When the lower read address data R1, R2 reaches the waveform end address value Ea, or the cycle count value F Reaches the maximum value “111... 11” or the maximum approximate value “111... 1100... 0” (period end value Fmax), the detection signal is set in the flip-flop 517 and sent to the controller (CPU) 20.
[0076]
The carry-out signal Cout from the adder 505 is supplied as the upper bit group of the comparator 516, and the gate signal of the AND gate group 514 is inverted by the inverter 515 and supplied as the upper bit group of the comparator 516. Numbers are matched.
[0077]
The waveform start address Sa and the waveform end address Ea are also determined by the musical factor information. For example, the pitch information (key number data), timbre information (tone number data), touch information (touch data), and pronunciation time information. (Tone time data), performance field information (part number data) and the like are converted and stored in the corresponding channel memory area of the parameter RAM 501. The waveform head address Sa and the waveform tail address Ea select one of the various impulse response signals ISj (t). In this case, the impulse signal selection unit 52 can be omitted.
[0078]
6). Overall Process FIG. 7 shows a flowchart of the overall process executed by the controller (CPU) 20. This entire process is started by turning on the power of the musical tone generating apparatus and is repeatedly executed until the power is turned off.
[0079]
First, various initialization processes such as initialization of the program / data storage unit 40 are performed (step 01), and a sound generation process based on a manual performance or automatic performance by the sound generation instruction device or the automatic performance device of the performance information generation unit 10 is performed. Performed (step 02).
[0080]
In this sound generation process, a musical sound related to a key-on event is assigned to the searched empty channel. The contents of the musical tone include the musical performance information (musical tone generation information) from the musical performance information generation unit 10, musical factor information of musical tone control information, and musical factor information already stored in the program / data storage unit 40 at this time. Determined by.
[0081]
Next, a mute (attenuation) process based on a manual performance or automatic performance by the sound generation instruction device or automatic performance device of the performance information generator 10 is performed (step 03). In this silence (attenuation) process, the channel to which the musical sound related to the key-off event is assigned is searched, and the musical sound is attenuated and silenced. In this case, the envelope phase of the musical sound related to the key-off event is released, and the envelope level gradually becomes “0”.
[0082]
Further, if various switches of the performance information generating unit 10 are operated, musical factor information corresponding to the switches is fetched and stored in the program / data storage unit 40, and the musical factor information is changed (step). 04). Thereafter, other processing is executed (step 05), and the processing from step 02 to step 05 is repeated.
[0083]
7). Impulse Response Signal ISj (t) Generation Process FIG. 8 shows a flowchart of the sound generation process in step 02 executed by the controller (CPU) 20, in which the impulse response signal ISj (t) is generated. The flowchart of FIG. 5 is performed for all time division channels.
[0084]
First, if a key-on event (sound generation event) based on manual performance or automatic performance is sent from the sound generation instruction device or automatic performance device of the performance information generating unit 10 to the controller 20 (step 11), an empty channel is searched and searched. In the area of the assignment memory 42 of the empty channel, ON / OFF data of “1”, period coefficient f according to pitch, envelope coefficient r according to tone color, touch data TC, part number data PN, “0” Tone time data TM, power data PW corresponding to tone pitch and tone color, envelope speed ES, envelope level EL, and envelope phase EF of “1” are written. The period coefficient f and the envelope coefficient r will be described below.
[0085]
Further, the lower read address data R1 of “0”, the lower read address data R2 set to the waveform end address Ea, and the cycle count value F of “0” are stored in the corresponding channel memory area of the arithmetic RAM 508 and overlapped. The corresponding channel area of the channel counter (program / data storage unit 40) is reset to “0” (step 12).
[0086]
Next, the period coefficient f and the period end value Fmax are converted from the key number data (pitch information) KN and stored in the corresponding channel memory area of the parameter RAM 501, and the envelope coefficient r is the tone number data (tone color information) TN, It is converted from touch data (touch information) TC, tone time data (sounding time information) TM or part number data (performance field information) PN, stored in the corresponding channel memory area of the parameter RAM 501 (step 13), and other processing. It is executed (step 14).
[0087]
The waveform start address Sa and the waveform end address Ea are key number data (pitch information), tone number (tone color information), touch data (touch information), tone time data (sounding time information) or part number data (performance). Field information) and stored in the corresponding channel memory area of the parameter RAM 501 (step 13). The waveform head address Sa and the waveform tail address Ea select one of the various impulse response signals ISj (t). In this case, the impulse signal selection unit 52 can be omitted.
[0088]
Further, if there is a tone that is key-on start (pronunciation start) or key-on (pronunciation) (step 15), the period coefficient f is added (accumulated) to the period count value F (step 16). If the accumulated value) is greater than or equal to the cycle end value Fmax (“1111... 11” or “111... 1100... 0”) (step 17), the cycle end value Fmax is subtracted from the cycle count value F. Is corrected (step 18).
[0089]
The superposition channel is switched (steps 18, 21, and 22), and the lower decimal data Fr of the cycle count value F is added to the waveform head address Sa of the switched channel (step 23), and the lower read address data R1. Alternatively, the initial value of R2 is corrected.
[0090]
In this superposition channel, two impulse response signals ISj (t) are alternately read out in a time division manner and output as one musical tone. As described above, a plurality of musical tones are outputted polyphonically through a further time division channel. . The readout of the two impulse response signals ISj (t) is distinguished by the value of the superposition channel (ch = 0, 1).
[0091]
When the time length L for reading one impulse response signal ISj (t) is longer than the time length T of the repetition period of the impulse response signal ISj (t), the previous impulse response signal ISj (t) The next impulse response signal ISj (t) overlaps. Therefore, if the above two impulse response signals ISj (t) are individually read out by channel division, the two impulse response signals ISj (t) are read out and overlapped in parallel. Of course, the number of channels may exceed two.
[0092]
Next, the envelope coefficient r is added to the lower read address data R1 until the envelope end address Ea is reached (steps 24, 25, 26), and the envelope coefficient r is added to the lower read address data R2 until the waveform end address Ea is reached. (Steps 27, 28, 29). With the two lower read address data R1 and R2, the two impulse response signals ISj (t) are read out in parallel from the impulse response signal ISj (t) signal storage unit 51 as described above, and the impulse accumulation unit 54 Superimposed. The processes from step 15 to step 29 are repeated over all time division channels (step 30), and other processes are executed (step 31).
[0093]
8). FIG. 9 shows a time chart of the operation of each part of the impulse signal reading unit 53. As described above, writing / reading to / from the parameter RAM 501 and the arithmetic RAM 508, switching of the selectors 504, 507, 510, storing to the registers 502, 5096, 509, 511, 512, 513, storing to the flip-flop 517, The opening / closing of the AND gate group 514 is switched. As these switching control signals, various timing control signals from the timing generation unit described above are used.
[0094]
When the cycle end value Fmax is stored in the parameter RAM 501, writing / reading of the cycle end value Fmax is also performed. Among the waveforms of this time chart, those whose high level / low level are indicated by a dotted line become high level or low level by the detection / non-detection of the comparator 516 when the write data is present / not present.
[0095]
9. Read State FIG. 10 shows a read state of the impulse response signal ISj (t) from the impulse signal storage unit 51. By starting sound generation (key-on), the first impulse response signal ISj (t) is started to be read by the lower read address data R1 (step 24). The lower read address data R1 starts incrementing at the speed of the envelope coefficient r.
[0096]
At the same time, the cycle count value F starts to be incremented at the speed of the cycle coefficient f (steps 15 and 16). When the cycle count value F reaches the cycle end value Fmax (step 17), even if the first impulse response signal ISj (t) is still being read, the second impulse response signal ISj (t) is lower. Reading is started by the read address data R2 (step 27). The lower read address data R2 is also incremented at the speed of the envelope coefficient r.
[0097]
When the second period T elapses from the start of sound generation (step 17), even if the second impulse response signal ISj (t) is still being read, the third impulse response signal ISj (t) is Reading is started by the lower read address data R1 (step 24).
[0098]
Further, when the third period T has elapsed from the start of sound generation (step 17), even if the third impulse response signal ISj (t) is still being read, the fourth impulse response signal ISj (t) is Reading is started by the lower read address data R2 (step 27).
[0099]
In this way, two identical impulse response signals ISj (t) are alternately read out by the two lower read address data R1 and R2. Therefore, even if the length L of the impulse response signal ISj (t) itself is longer than the cycle T of repeated generation, the generation of the previous impulse response signal ISj (t) is continued at the end of each cycle T, and the next impulse is generated. The response signal ISj (t) can be generated in an overlapping manner. These impulse response signals ISj (t) are synthesized and output as one musical sound signal.
[0100]
Note that the number of impulse response signals ISj (t) read out in a time division manner as one musical sound signal may exceed “2”. Accordingly, the number of lower read address data increases as R1, R2, R3, R4,..., And the number of steps 24 to 26 and 27 to 29 also increases.
[0101]
Further, the number of impulse response signals ISj (t) read out in a time division manner as one musical sound signal may be “1”. In this case, the length L of the impulse response signal ISj (t) itself is shorter than the repetition period T. Therefore, it is determined whether or not the length L of the impulse response signal ISj (t) itself is shorter than the repetition period T. If it is shorter, the processing in steps 27 to 29 is omitted, and there is one time division readout system for the impulse response signal ISj (t). The length L of the impulse response signal ISj (t) itself is obtained by dividing the difference between the waveform end address Ea and the waveform start address Sa by the envelope coefficient r. Similarly, the repetition period T is obtained by dividing the period end value Fmax by the period count f.
[0102]
10. Processing of Tone Time Data TM FIG. 11 shows a flowchart of interrupt processing executed by the controller 20 at regular intervals. In this process, the tone time data TM is incremented.
[0103]
In this process, for each channel area of the assignment memory 42 (steps 41, 44, 45), the tone time data TM of the ON / OFF data “1” and the tone being generated (step 42) is displayed. “+1” is set (step 43), and other periodic processing is performed (step 46). Thus, the elapsed sound generation time of each channel is counted and stored and used as described above.
[0104]
The present invention is not limited to the above embodiments, and various modifications can be made without departing from the spirit of the present invention. For example, the setting of the cycle end value Fmax is omitted, and the cycle count value F can be fixed to a maximum value. In this case, the pitch of the musical tone signal is determined only by the periodic coefficient f.
[0105]
The first half and the second half of the one impulse response signal ISj (t) have the same shape, but may have different shapes. Alternatively, only the first half of the impulse response signal ISj (t) may be stored, and the first half may be read in reverse and the second half signal generated. The impulse response signal ISj (t) may be one obtained by sampling and storing an external sound and converted by the cepstrum method, the linear prediction method, or the like, or may be artificially created by a user.
[0106]
Further, the functions of the circuits shown in the drawings may be implemented by software (flow chart), and the functions of the flowcharts shown in the drawings may be implemented by hardware (circuit). The present invention can be implemented in an electronic musical instrument or a computer.
[0107]
In the impulse response signal ISj (t), the first half waveform and the second half waveform are often symmetrical. In this case, only the first half waveform or the second half waveform is stored in the impulse signal storage unit 51. After the half waveform is read, the half waveform is read in reverse, and the impulse response signal ISj (T) The whole may be generated. Thereby, the storage amount of the impulse signal storage unit 51 decreases.
[0108]
The control of the volume power by the power data PW is not only when the reading (generation) speed S of the impulse response signal ISj (t) and the repetition period T are controlled independently, but also when one is linked or subordinate to the other. Is also executed. In this case, the period coefficient f and the envelope coefficient r are determined according to the same musical factor, for example, pitch, tone, touch, and sound generation time, or one of the data is obtained, and an operation in the one data is performed. The other is requested.
[0109]
(1) An impulse response signal having a predetermined length corresponding to the frequency characteristic of the musical tone signal to be generated is repeatedly generated, and the repetition period of the repeatedly generated impulse response signal is changed according to a pitch determinant, A computer program for generating a musical tone that causes at least a computer to change the generation speed of the generated impulse response signal itself independently of the repetition period in accordance with a tone color determining factor different from a pitch determining factor Medium storing computer / computer program communication method / musical sound generating apparatus (method).
[0110]
(2) An impulse response signal having a predetermined length corresponding to the frequency characteristic of the musical tone signal to be generated is generated, and the generated impulse response signal is controlled to be repeatedly generated at a predetermined cycle. Even if the length is longer than the cycle of the repetitive generation, the generation of the musical sound for causing the computer to execute generation of the next impulse response signal while continuing generation of the impulse response signal at the end of the cycle is performed. Medium storing computer program / computer program communication method / musical sound generating apparatus (method).
[0111]
(3) The pitch determining factor is a factor that determines the pitch of the musical tone signal, the timbre determining factor is a factor that determines the timbre of the musical tone signal, the impulse response signal is stored in storage means, and the timbre is determined. 3. A musical sound to be executed by a computer according to claim 1 or 2, wherein a reading speed of the impulse response signal is determined according to a determinant, and a repetition period of repeated reading of the impulse response signal is determined according to the pitch determinant. Medium storing computer program for generation / communication method of computer program / musical sound generating apparatus (method).
[0112]
(4) Repetitively generating an impulse response signal having a predetermined length corresponding to the frequency characteristic of the musical tone signal to be generated, and changing a repetition period of the repeatedly generated impulse response signal according to a pitch determinant, According to a tone color determinant different from the pitch determinant, the generation speed of the generated impulse response signal itself is changed independently of the repetition period. A medium storing a computer program for generating a musical sound for causing a computer to switch the waveform shape of a generated impulse response signal / a computer program communication method / musical sound generating apparatus (method).
[0113]
(5) An impulse response signal having a predetermined length corresponding to the frequency characteristic of the musical sound signal to be generated is generated, and the generated impulse response signal is controlled to be repeatedly generated at a predetermined cycle. Even if the length is longer than the cycle of the repetitive occurrence, the generation of the impulse response signal is continued at the end of the cycle, and the next impulse response signal is repeatedly generated by a plurality of generation means (reading means), A medium storing a computer program for generating a musical sound for causing a computer to switch the waveform shape of the impulse response signal that is repeatedly generated according to the generated musical factor, a communication method for the computer program, and a musical sound generating device (Method).
[0114]
(6) The pitch determining factor is a factor that determines the pitch of the musical tone signal, the timbre determining factor is a factor that determines the timbre of the musical tone signal, the impulse response signal is stored in storage means, and the timbre is determined. The reading speed of the impulse response signal is determined according to the determinant, the repetition period of the repeated reading of the impulse response signal is determined according to the pitch determining factor, and the musical factor determines the pitch of the musical signal. 6. A medium storing a computer program for generating a musical sound to be executed by a computer according to claim 4 or a computer program communication method / musical sound generating apparatus according to claim 4 or 5, wherein the determining factor is a tone color determining factor different from the pitch determining factor. (Method).
The scope of claims at the time of filing was as follows.
[1] Repetitively generating an impulse response signal having a predetermined length corresponding to the frequency characteristic of the musical tone signal to be generated, changing the repetition period of the repeatedly generated impulse response signal, and changing the generated impulse response signal itself Changing the generation speed, and changing the magnitude of the generated impulse response signal based on the repetition period of the changed impulse response signal or based on the generation speed of the changed impulse response signal itself. A featured sound generator.
[2] Repetitively generating an impulse response signal having a predetermined length corresponding to the frequency characteristic of the musical sound signal to be generated, changing the repetition period of the repeatedly generated impulse response signal, and changing the generated impulse response signal itself Changing the generation speed, and changing the magnitude of the generated impulse response signal based on the repetition period of the changed impulse response signal or based on the generation speed of the changed impulse response signal itself. Characteristic music generation method.
[3] The magnitude of the impulse response signal is also changed according to the power of the waveform of the impulse response signal or the speed or strength of the sound generation operation, and the repetition period of the impulse response signal is a pitch determinant. The generation speed of the impulse response signal itself is changed according to a tone color determining factor, and is changed independently of the repetition period. This pitch determining factor determines the pitch of the musical tone signal. The timbre determining factor is a factor that determines the timbre of the musical tone signal, the impulse response signal is stored in a storage means, and the reading speed of the impulse response signal is determined according to the timbre determining factor. 2. The repetition period of repeated reading of the impulse response signal is determined in accordance with the pitch determining factor. Tone generation apparatus.
[0115]
【The invention's effect】
As described above in detail, when the repetition period or the reading speed of the impulse response signal changes, the power, energy, or volume of the musical tone signal output based on the impulse response signal also changes. In the present invention, the magnitude of the generated impulse response signal changes based on the repetition period or readout speed of the impulse response signal. Accordingly, the power, energy, or volume of the output musical sound signal is made constant, and there is an effect that it does not change according to the repetition period or readout speed of the impulse response signal.
[Brief description of the drawings]
FIG. 1 shows an entire circuit of a musical sound generating device.
FIG. 2 shows an assignment memory 42;
FIG. 3 shows an impulse signal generator 50;
FIG. 4 shows various impulse response signals ISj (t) stored in the impulse signal storage unit 51.
FIG. 5 shows a difference in waveform power (sound volume) due to a change in the repetition period T of the impulse response signal ISj (t).
6 shows an impulse signal reading unit 53 in the impulse signal generation unit 50. FIG.
FIG. 7 shows a flowchart of the entire process.
FIG. 8 is a flowchart of the sound generation process in step 02;
9 shows a time chart of the operation of each part of the impulse signal reading unit 53. FIG.
FIG. 10 shows a state in which the impulse response signal ISj (t) is read from the impulse signal storage unit 51.
FIG. 11 shows a flowchart of interrupt processing.
FIG. 12 shows the principle of the present invention.
FIG. 13 shows the principle of the present invention.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 10 ... Performance information generation part, 20 ... Controller (CPU), 30 ... Time generation part, 40 ... Detour / data storage part, 41 ... Information storage part, 42 ... Assignment memory, 50 ... Impulse signal generation part, 60 ... Sound Output unit 51 ... Impulse signal storage unit 52 ... Impulse signal selection unit 53 ... Impulse signal readout unit 54 ... Impulse accumulation unit 58 ... Waveform power control RAM 501 ... Parameter RAM Adder.

Claims (5)

CPUが楽音生成装置に対して、
発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生させ、
この繰り返し発生されるインパルス応答信号の繰り返しの周期を、上記楽音信号の音高を決定する音高決定因子だけに応じて変化させ、
上記音高決定因子とは異なり、上記楽音信号の音色を決定する音色決定因子だけに応じて、上記発生されるインパルス応答信号の波形そのものの発生速度を変化させ、
このインパルス応答信号そのものの発生速度の変化に基づいて、発生されるインパルス応答信号の大きさを変化させることを特徴とする楽音生成方法。
CPU to the music generator
Repeatedly generate an impulse response signal of a predetermined length corresponding to the frequency characteristic of the musical sound signal to be generated,
The repetition cycle of the impulse response signal that is repeatedly generated is changed according to only the pitch determinant that determines the pitch of the musical signal,
Unlike the pitch determinant, only the timbre determinant that determines the timbre of the tone signal changes the generation speed of the generated impulse response signal waveform itself ,
Based on the change in the rate of evolution of the impulse response signal itself, the tone generating method characterized by changing the size of the generated impulse response signal.
発生すべき楽音信号の周波数特性に対応した所定長のインパルス応答信号を繰り返し発生する手段と、
この繰り返し発生されるインパルス応答信号の繰り返しの周期を、上記楽音信号の音高を決定する音高決定因子だけに応じて変化させる手段と、
上記音高決定因子とは異なり、上記楽音信号の音色を決定する音色決定因子だけに応じて、上記発生されるインパルス応答信号の波形そのものの発生速度を変化させる手段と、
このインパルス応答信号そのものの発生速度の変化に基づいて、上記発生されるインパルス応答信号の大きさを変化させる手段とを備えたことを特徴とする楽音生成装置。
Means for repeatedly generating an impulse response signal of a predetermined length corresponding to the frequency characteristic of the musical sound signal to be generated ;
Means for changing the repetition period of the repeatedly generated impulse response signal according to only the pitch determinant that determines the pitch of the musical sound signal;
Unlike the pitch determinant , the means for changing the generation speed of the generated waveform of the impulse response signal according to only the timbre determinant that determines the tone of the musical tone signal ;
Based on the change in the rate of evolution of the impulse response signal itself, tone generation apparatus being characterized in that a means for changing the magnitude of the impulse response signal the occurrence.
上記インパルス応答信号の繰り返し周期の変化にも基づいて、上記発生されるインパルス応答信号の大きさを変化させることを特徴とする請求項2記載の楽音生成装置。  3. The musical tone generation apparatus according to claim 2, wherein the magnitude of the generated impulse response signal is changed based on a change in the repetition period of the impulse response signal. 発生された音楽的因子であって、上記音高決定因子及び上記音色決定因子を含む音楽的因子に応じて、上記繰り返し発生されるインパルス応答信号の波形形状そのものを切り換えさせる手段をさらに備えたことを特徴とする請求項2または3記載の楽音生成装置。  Means for switching the waveform shape itself of the repeatedly generated impulse response signal in accordance with the musical factors generated, including the pitch determining factor and the musical tone determining factor. 4. A musical sound generating apparatus according to claim 2 or 3, wherein: 上記インパルス応答信号は、当該信号の前半と後半とが線対称である請求項2、3または4記載の楽音生成装置。  5. A musical sound generating apparatus according to claim 2, 3 or 4, wherein the impulse response signal is symmetrical with respect to a first half and a second half of the signal.
JP31605097A 1997-09-30 1997-10-31 Musical sound generating apparatus and musical sound generating method Expired - Fee Related JP3637190B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP31605097A JP3637190B2 (en) 1997-10-31 1997-10-31 Musical sound generating apparatus and musical sound generating method
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 (en) 1997-10-31 1997-10-31 Musical sound generating apparatus and musical sound generating method

Publications (2)

Publication Number Publication Date
JPH11133971A JPH11133971A (en) 1999-05-21
JP3637190B2 true JP3637190B2 (en) 2005-04-13

Family

ID=18072715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31605097A Expired - Fee Related JP3637190B2 (en) 1997-09-30 1997-10-31 Musical sound generating apparatus and musical sound generating method

Country Status (1)

Country Link
JP (1) JP3637190B2 (en)

Also Published As

Publication number Publication date
JPH11133971A (en) 1999-05-21

Similar Documents

Publication Publication Date Title
JP2002311957A (en) Device and method for resonance and computer program for resonance processing
JP3694172B2 (en) Reverberation resonance apparatus and reverberation resonance method
JP3634130B2 (en) Musical sound generating apparatus and musical sound generating method
JP3459760B2 (en) Music sound generating apparatus and music sound generating method
US6031173A (en) Apparatus for generating musical tones using impulse response signals
JP3637190B2 (en) Musical sound generating apparatus and musical sound generating method
JP3706232B2 (en) Musical sound generating apparatus and musical sound generating method
JP3637191B2 (en) Musical sound generating apparatus and musical sound generating method
JP3684052B2 (en) Musical sound generating apparatus and musical sound generating method
JP3419563B2 (en) Tone signal level control device
JPH11161274A (en) Musical sound producing device and method
JP4059581B2 (en) Fluctuation adding apparatus and fluctuation adding method for electronic acoustic apparatus
JP3673384B2 (en) Musical sound channel assignment apparatus and musical sound channel assignment method
JP2009230610A (en) Instruction processing apparatus and instruction processing method
JP2715795B2 (en) Musical sound synthesizer having pronunciation assigning means
JP3595676B2 (en) Music sound generating apparatus and music sound generating method
JP3673388B2 (en) Musical sound channel assignment apparatus and musical sound channel assignment method
JP2000194361A (en) Device and method for adding vibrato of electronic sound device
JP3673387B2 (en) Musical sound channel assignment apparatus and musical sound channel assignment method
JP3673386B2 (en) Musical sound channel assignment apparatus and musical sound channel assignment method
US6160214A (en) Non-consonance generating device and non-consonance generating method
JPH07248764A (en) Reverberating sound generator
JP2000163056A (en) Device and method for automatic performance
JPH0863160A (en) Envelop generator
JPH08211866A (en) Automatic plating device

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