JP5655273B2 - 波形データ生成方法 - Google Patents

波形データ生成方法 Download PDF

Info

Publication number
JP5655273B2
JP5655273B2 JP2009063959A JP2009063959A JP5655273B2 JP 5655273 B2 JP5655273 B2 JP 5655273B2 JP 2009063959 A JP2009063959 A JP 2009063959A JP 2009063959 A JP2009063959 A JP 2009063959A JP 5655273 B2 JP5655273 B2 JP 5655273B2
Authority
JP
Japan
Prior art keywords
waveform data
waveform
decay
sound
original
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
JP2009063959A
Other languages
English (en)
Other versions
JP2010217477A (ja
Inventor
国本 利文
利文 国本
潔 萩野
潔 萩野
泰 森山
泰 森山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2009063959A priority Critical patent/JP5655273B2/ja
Publication of JP2010217477A publication Critical patent/JP2010217477A/ja
Application granted granted Critical
Publication of JP5655273B2 publication Critical patent/JP5655273B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、電子楽器、シーケンサなどに適用される楽音信号発生装置において、楽音信号の発生のために利用する波形データを生成する波形データ生成方法に関する。
従来から、例えば下記特許文献1に示すように、減衰系の楽音波形を表す波形データを鍵音高ごとにメモリに記憶しておき、押鍵に応答して、押鍵された鍵に対応した波形データを時間経過に従って読出し、楽音信号を発生する楽音信号発生装置は知られている。そして、この楽音信号発生装置においては、鍵タッチに応じて波形データの読出し位置を異ならせている。すなわち、鍵タッチが強いときには先頭から波形データを読出し、鍵タッチが弱くなるに従ってその読出し位置を後方にずらすことにより、鍵タッチに応じた振幅を有する楽音信号を発生するようにしている。また、この特許文献1には、打楽器音に関しても、その楽音波形を表す波形データをメモリに記憶しておいて、前記と同様に波形データの読出し位置を打撃強度に応じて異ならせることにより、打撃強度に応じた楽音信号を発生することも示されている。
特公平3−5758号公報
一般的に、種々の音高を有する減衰系の楽器音及び打楽器音においては、演奏音の強弱(鍵タッチ強さ又は打撃強度)が異なると、時間的に変化する楽音波形も微妙に異なる。しかし、上記従来技術においては、発生楽音の異なる強弱に対して、読出し位置こそ異なるが、同一波形データが読出されるので、発生楽音の強弱に応じてリアル感のある楽音信号を発生することができない。これを解消するためには、強弱の異なる複数の楽音波形をそれぞれ表す複数の波形データをメモリに記憶しておいて、発生楽音の強弱に応じて、読出す波形データを切換えるようにすればよい。しかし、強弱の異なる複数の波形データを用意すると、波形データの量が多くなり、大きな容量のメモリを必要とするという問題がある。特に、音階を構成する多数の音高を有する楽器音においては、波形データを音高ごと又は所定の音域ごとに用意する必要があり、波形データの量が極めて多くなる。
このような事情に鑑み、本発明者らは、数々の実験を行ってきた結果、次のようなことを発見した。図5(A)に示すように、発音開始直後の減衰系の楽音波形には基本波成分及び高調波成分に加えて、それら以外の周波数成分及びノイズ成分(非調和成分)が含まれており、波形自体が時間的に変動して安定しない。一方、発音開始から時間が経過すると、すなわち安定ポイント以降では、図5(B)に示すように、減衰系の楽音波形はほとんど基本波成分及び高調波成分で構成されて安定したものとなる。これに基づき、本発明者らは、図6に示すように、減衰系の楽音波形を減衰の速い成分波形(高速減衰成分波形)と減衰の遅い成分波形(低速減衰成分波形)に分けると、高速減衰成分波形は発生楽音の強弱に応じて変化するが、低速減衰成分波形は発生楽音の強弱が異なってもほとんど変化しないことを発見した。図6(A)は楽音の原波形全体を模擬的に示し、図6(B)は高速減衰成分波形を模擬的に示し、かつ図6(C)は低速減衰成分波形を模擬的に示している。本発明者らの実験では、電気ピアノ、タム、ティンパニーなどの楽音波形に関して、この傾向が強いことを発見した。
そして、本発明者らは、複数段階の強度で演奏された演奏音から抽出された複数の波形データからなる高速減衰波形データと、強い強度で演奏された演奏音から抽出された1つの波形データからなる低速減衰波形データとを波形メモリに記憶しておいて、複数の高速減衰波形データの中から発生楽音の強弱に応じて少なくとも1つの高速減衰波形データを選択して読出すとともに、1つの低速減衰波形データを読出し、これらの読出された高速減衰波形データと低速減衰波形データとを混合して出力するようにした楽音信号発生装置を開発した。また、この楽音信号発生装置における低速減衰波形データの読出しにおいては、発生楽音の強弱が弱くなるに従って、波形データの先頭アドレスから遠くなるアドレスを読出し開始アドレスとして時間経過に従って読出すことにより、発生楽音の強弱が弱くなるに従って、楽音の発生開始から終了までの時間が短くなる減衰系の楽器音と一致させるようにした。これによれば、発生開始から短い時間で終了する高速減衰成分波形を表す複数の高速減衰波形データと、発生開始から長い時間の経過後に終了する低速減衰成分波形を表す1つの低速減衰波形データとからなる少ない量の波形データを波形メモリに記憶しておくだけで、発生楽音の強弱に応じてリアル感のある楽音信号を発生させることができる。
本発明の目的は、上記のような楽音信号発生装置に利用される波形データの生成に適した波形データ生成方法を提供するものである。
上記目的を達成するために、第1の発明に係る波形データ生成方法は、楽器音波形を表す原波形データに対して時間窓を移動しながら、前記時間窓によって規定されるフレームごとに前記原波形データを順次フーリエ変換して、前記原波形データの全体にわたる複数のフレームのスペクトル情報をそれぞれ取得する工程(S104〜S110)と、前記楽器音波形に含まれる高速減衰成分波形が減衰し終えて前記楽器音波形が安定した前記原波形データの先頭から離れたポイント以降の複数のフレームに連続して含まれるスペクトル成分を安定スペクトル成分として検出する工程(S112,S114)と、前記原波形データの全体にわたる複数のフレームの前記取得されたスペクトル情報から、前記検出された安定スペクトル成分によって規定される周波数範囲内に属する周波数に関係したスペクトル情報を除去する工程(S116)と、前記スペクトル情報の除去によって前記原波形データの全体にわたる複数のフレームの残されたスペクトル情報を逆フーリエ変換して、高速減衰成分波形を表す高速減衰波形データを生成する工程(S118)と、前記原波形データから前記生成された高速減衰波形データを減算して、低速減衰成分波形を表す低速減衰波形データを生成する工程(S22)とを、同じ種類であって強弱の異なる複数の楽器音波形に対してそれぞれ行って、複数の前記高速減衰波形データと一つの前記低速減衰波形データを用意するようにしたことにある。
前記第1の発明においては、楽器音波形に含まれる高速減衰成分波形が減衰し終えて楽器音波形が安定した原波形データの先頭から離れたポイント以降の楽器音波形は、基本波成分及び倍音成分からなる調和成分でほとんど構成されるので、検出される安定スペクトル成分は調和成分を表すことになる。したがって、前記第1の発明によれば、原波形データの全体にわたる複数のフレームのスペクトル情報からの安定スペクトル成分によって規定される周波数範囲内に属する周波数に関係したスペクトル情報の除去、及び前記除去した残りスペクトル情報の逆フーリエ変換により、高速減衰成分波形を表す高速減衰波形データを的確に取得することができる。そして、原波形データから前記取得した高速減衰波形データを減算することにより、低速減衰成分波形を表す低速減衰波形データを的確に取得できる。この場合、安定スペクトル成分を、楽器音波形が安定したポイント以降のフレームに含まれるスペクトル成分に基づいて検出するようにしたので、高速減衰波形データ及び低速減衰波形データを比較的に簡単かつ短時間で生成することができる。さらに、前記第1の発明では、複数のフレームのスペクトル情報をそれぞれ取得する工程、複数のフレームに連続して含まれるスペクトル成分を安定スペクトル成分として検出する工程、安定スペクトル成分によって規定される周波数範囲内に属する周波数に関係したスペクトル情報を除去する工程、高速減衰波形データを生成する工程、及び低速減衰波形データを生成する工程を、同じ種類であって強弱の異なる複数の楽器音波形に対してそれぞれ行って、複数の前記高速減衰波形データと一つの前記低速減衰波形データを用意するので、楽音信号発生装置においては強弱の異なる楽音信号を的確に生成できるようになる。
また、第2の発明に係る波形データ生成方法は、楽器音波形を表す原波形データに対して時間窓を移動しながら、前記時間窓によって規定されるフレームごとに前記原波形データを順次フーリエ変換して、前記原波形データの全体にわたる複数のフレームのスペクトル情報をそれぞれ取得する工程(S204〜S210)と、前記楽器音波形に含まれる高速減衰成分波形が減衰し終えて前記楽器音波形が安定した前記原波形データの先頭から離れたポイント以降の複数のフレームに連続して含まれるスペクトル成分を安定スペクトル成分として検出する工程(S212,S214)と、前記原波形データの全体にわたる複数のフレームの前記取得されたスペクトル情報のうちで、前記検出された安定スペクトル成分によって規定される周波数範囲内に属する周波数に関係したスペクトル情報を抽出する工程(S216)と、前記原波形データの全体にわたる複数のフレームの前記抽出されスペクトル情報を逆フーリエ変換して、低速減衰成分波形を表す低速減衰波形データを生成する工程(S218)と、前記原波形データから前記生成された低速減衰波形データを減算して、高速減衰成分波形を表す高速減衰波形データを生成する工程(S222)とを、同じ種類であって強弱の異なる複数の楽器音波形に対してそれぞれ行って、複数の前記高速減衰波形データと一つの前記低速減衰波形データを用意するようにしたことにある。
前記第2の発明においても、前記第1の発明と同様に、検出される安定スペクトル成分は調和成分を表すことになる。したがって、前記第2の発明によれば、原波形データの全体にわたる複数のフレームのスペクトル情報からの安定スペクトル成分によって規定される周波数範囲内に属する周波数に関係したスペクトル情報の抽出、及び前記抽出したスペクトル情報の逆フーリエ変換により、低速減衰成分波形を表す低速減衰波形データを的確に取得することができる。そして、原波形データから前記取得した低速減衰波形データを減算することにより、高速減衰成分波形を表す高速減衰波形データを的確に取得できる。この場合も、安定スペクトル成分を、楽器音波形が安定したポイント以降のフレームに含まれるスペクトル成分に基づいて検出するようにしたので、高速減衰波形データ及び低速減衰波形データを比較的に簡単かつ短時間で生成することができる。さらに、前記第2の発明においても、複数のフレームのスペクトル情報をそれぞれ取得する工程、複数のフレームに連続して含まれるスペクトル成分を安定スペクトル成分として検出する工程、安定スペクトル成分によって規定される周波数範囲内に属する周波数に関係したスペクトル情報を抽出する工程、低速減衰波形データを生成する工程、及び高速減衰波形データを生成する工程を、同じ種類であって強弱の異なる複数の楽器音波形に対してそれぞれ行って、複数の前記高速減衰波形データと一つの前記低速減衰波形データを用意するので、楽音信号発生装置においては強弱の異なる楽音信号を的確に生成できるようになる。
さらに、前記第1及び第2の発明においては、前記ポイントは、例えば、原波形の振幅値を指定又は記憶しておき、前記原波形データによって表される原波形の振幅値が前記指定又は記憶しておいた振幅値まで減衰した時間位置である。
波形データ生成装置の全体ブロック図である。 第1の波形データ生成方法のための波形データ生成プログラムを示すフローチャートである。 (A)は原波形を概略的に示す図であり、(B)は低速減衰成分波形を概略的に示す図であり、(C)は高速減衰成分波形を概略的に示す図である。 第2の波形データ生成方法のための波形データ生成プログラムを示すフローチャートである。 (A)は発音開始直後の減衰系の楽音波形を模擬的に示す図であり、(B)は発音開始から時間を経て安定した状態における減衰系の楽音波形を模擬的に示す図である。 (A)は減衰系の楽音波形の全体を模擬的に示す図であり、(B)は前記楽音波形中の高速減衰成分波形を模擬的に示す図であり、かつ(C)は前記楽音波形中の低速減衰成分波形を模擬的に示す図である。 生成された波形データを用いて楽音信号を発生する楽音信号発生装置の適用された電子楽器の全体ブロック図である。 図7の音源回路の具体的構成を示すブロック図である。 波形メモリの構成を示すメモリマップである。 音色パラメータメモリの構成を示すメモリマップである。 (A)は波形メモリに記憶されている複数の高速減衰波形データの波形を表す概略図であり、(B)は波形メモリに記憶されている1つの低速減衰波形データの波形を表す概略図である。 ノートオンイベント処理プログラムを示すフローチャートである。 他のノートオンイベント処理プログラムを示すフローチャートである。
以下、本発明について説明するが、最初に本発明に係る波形データ生成方法について説明し、その後に、前記波形データ生成方法によって生成した波形データを用いて楽音信号を発生するための楽音信号発生装置について説明する。
a1.波形データ生成装置
まず、本発明の波形データ生成方法に用いる波形データ生成装置について説明する。波形データ生成装置は、図1に示すように、複数のパネルスイッチ11、表示器12、波形メモリ13、書込み回路14、バッファ回路15、音源回路16及びアクセス管理回路17を備えている。
複数のパネルスイッチ11は、操作パネル上に設けられており、作業者によって操作されて波形データ生成装置の作動を指示する。表示器12は、操作パネル上に設けられた液晶ディスプレイで構成され、文字、数字、図形、特に楽音波形及び波形解析結果などを表示する。これらのパネルスイッチ11及び表示器12は、バス20に接続されている。
波形メモリ13は、書込み及び読出し可能なメモリで構成され、原波形(楽器音波形)を表す波形データ及びこの波形データ生成装置内で生成された波形データを記憶する。書込み回路14は、波形データの波形メモリ13への書込みを制御する。この書込み回路14には、種々の楽器音波形を所定のサンプリングレートでサンプリングしてA/D変換された、楽器音波形を表す波形データを入力するための入力端子14aが接続されている。バッファ回路15は、波形メモリ13から他の回路への波形データの転送、及び他の回路から波形メモリ13への波形データの転送を制御する。音源回路16は、波形メモリ13から読出した波形データを用いてディジタル楽音信号を生成し、生成したディジタル楽音信号をサウンドシステム18に出力する。サウンドシステム18は、D/A変換器、アナログ増幅器及びスピーカを含み、音源回路16から供給されたディジタル楽音信号に対応した楽音を放音する。これらの書込み回路14、バッファ回路15及び音源回路16も、バス20に接続されている。アクセス管理回路17は、波形メモリ13と、書込み回路14、バッファ回路15及び音源回路16との間に接続され、書込み回路14による波形メモリ13への波形データの書込み、バッファ回路15による波形メモリ13に対する波形データの転送、及び音源回路16による波形メモリ13からの波形データの読出しが衝突しないように、波形メモリ13に対するアクセスタイムスロットを管理する。
また、この波形データ生成装置は、バス20にそれぞれ接続されたCPU31、ROM32、RAM33、タイマ34、ドライブ回路35及び外部インターフェース回路36も備えている。CPU31、ROM32、RAM33及びタイマ34は、コンピュータ本体部を構成するもので、特に、CPU31は、後述する波形データ生成プログラムを実行する。ドライブ回路35は、ハードディスクHD、フラッシュメモリ、コンパクトディスクCDなどの外部記録装置37に対する各種データ及びプログラムの記憶及び読出しを制御する。外部インターフェース回路36は、電子楽器、シーケンサなどの外部MIDI機器との接続を可能としているとともに、通信ネットワークを介してサーバとの接続を可能としている。前述した波形データ生成プログラムは、外部記録装置37に記憶され、又は外部インターフェース回路36を介してRAM33若しくは外部記録装置37に取込まれるようになっている。以下、この波形データ生成装置を用いた第1及び第2の波形データ生成方法について説明する。
a2.第1の波形データ生成方法
第1の波形データ生成方法について説明する。まず、作業者は、所望の楽器種類、所望の音高、及び所望の強さの減衰系の楽器音波形を表すディジタル波形データ(以下、このディジタル波形データを原波形データという)を用意する。ただし、打楽器音の場合には、所望の楽器種類及び所望の強さの原波形データを用意する。この原波形データは、1つの楽器音の発音開始から発音終了までの楽器音波形を表すものである。この原波形データの用意においては、原波形データを予め記憶した装置を入力端子14aに接続する。また、原波形データを外部記録装置37に予め記録しておいたり、原波形データを外部インターフェース回路36から取込むようにしてもよい。
この原波形データの用意後、作業者は、パネルスイッチ11を操作することにより、図2の波形データ生成プログラムの実行開始を指示する。この波形データ生成プログラムの実行はステップS100にて開始され、CPU31は、ステップS102にて、書込み回路14を制御して前記所望とする原波形データを波形メモリ13に書込む。この書込みにおいては、書込み回路14により、前述のような入力端子14a及び外部インターフェース回路36を介して入力される原波形データ、又は外部記録装置37に記録された原波形データが波形メモリ13に書き込まれる。
前記ステップS102の処理後、CPU31は、ステップS104にて、原波形データの先頭から1つの時間窓を設定して、この時間窓に含まれる最初の1フレーム分の原波形データを取出す。この時間窓の幅は、例えば基本周波数成分の周期の8倍程度である。次に、CPU31は、ステップS106にて、前記取出した1フレーム分の原波形データを高速フーリエ変換処理(以下、単にFFT処理という)して1フレーム分のスペクトル情報を取得する。このスペクトル情報には、1フレーム分の原波形データに関する周波数、振幅及び位相の3つの情報が含まれている。次に、CPU31は、ステップS108にて、原波形データの末尾すなわち最後の1フレーム分の波形データの取出しが終了したかを判定する。最後の1フレーム分の波形データの取出しが終了していなければ、CPU31は、ステップS108にて「No」と判定し、ステップS110にて時間窓を移動させて次の1フレーム分の波形データを取出してステップS106に戻る。この時間窓の移動時間は、例えば基本周波数成分の周期の8分の1程度である。そして、CPU31は、前記ステップS106〜S110からなる循環処理を繰返し実行することにより、原波形データの先頭から末尾までの複数のフレームにわたって、各フレームごとに原波形データの複数のスペクトル情報をそれぞれ取得する。
最後の1フレーム分の波形データの取出しが終了すると、CPU31は、前記ステップS108にて「Yes」と判定し、ステップS112にて、作業者に安定ポイントを入力させる。安定ポイントとは、減衰の速い高速減衰成分波形が減衰し終えて減衰の遅い低速減衰成分波形だけが残るポイント、すなわち調和成分だけが残って、楽器音波形が時間変動なく安定し始める時間位置である。なお、この安定ポイントは、前記楽器音波形が安定し始める時間位置よりも後方の楽器音波形が確実に安定した時間位置であってもよい。この安定ポイントの入力においては、原波形データにより表された原波形(図3(A))などを表示器12に表示するとともに、作業者に安定ポイントの入力を促す。作業者は、表示器12に表示される原波形などを見ながら、パネルスイッチ11を操作することにより、安定ポイントに対応する時間位置を入力する。
また、前記のように作業者が安定ポイントを指定するのに代えて、CPU31がプログラム処理によって安定ポイントを自動的に設定するようにしてもよい。この場合、周波数の時間変化が安定する所定時間を各種実験などにより予め決定して、プログラムと共に記憶しておいて、この所定時間に対応した時間位置を安定ポイントとして用いてもよい。また、作業者が安定ポイントを指定するための原波形の振幅値を指定し、又は前記原波形の振幅値を記憶しておき、波形メモリ13に記憶されている原波形データによって表される原波形の振幅値が前記指定又は記憶しておいた振幅値まで減衰した時間位置を安定ポイントして設定するようにしてもよい。
前記ステップS112の処理後、CPU31は、ステップS114にて、前記設定した安定ポイント以降(図3(A)の破線で囲む範囲)の複数のフレームのスペクトル分布をそれぞれ解析して、各フレームに連続して含まれるスペクトル成分を安定スペクトル成分(すなわち周波数成分)として抽出する。各フレームに連続して含まれるスペクトル成分とは、各フレームの全てのスペクトル成分に対する該当スペクトル成分の比率が所定値以上であって、この比率が大きく変化することなく、複数のフレームにわたってほぼ一定に連続することを意味する。すなわち、該当スペクトル成分が複数のフレームにわたって平均的(ほぼ均等)に連続的して含まれていることを意味する。この安定スペクトル成分の抽出においては、時間経過に従って絶対量が減少する各フレームごとのスペクトル成分をスケール処理して増加させ、ある程度大きな一定の振幅値を有するスペクトル成分に変更するとともに、安定ポイント以降の全てのフレームに含まれる原波形のスペクトル成分の分布を調べて、各フレームに平均的(ほぼ均等)に含まれて安定しているスペクトル成分を抽出する。ただし、前記安定しているスペクトル成分に関しても周波数の若干の変動があるので、前記各フレームに平均的(ほぼ均等)に連続して含まれるスペクトル成分には、スペクトル成分(周波数)が僅かに異なる場合も含まれ、安定スペクトル成分は若干の幅を有する。この安定スペクトル成分は、原波形信号の調和成分(基本波成分及び倍音成分)である。
次に、CPU31は、ステップS116にて、原波形データの先頭から末尾までにわたる全てのフレームに対して、各フレームに含まれる全てのスペクトル情報から前記安定スペクトル成分に関するスペクトル情報を除去する。すなわち、前記ステップS106の処理によって取得した各フレームのスペクトル情報から、安定スペクトル成分によって規定される周波数範囲内に属する周波数に関係したスペクトル情報を除去する。これにより、全てのフレームにわたり、減衰の遅い安定成分(低速減衰成分)に関するスペクトル情報が除去され、減衰の速い高速減衰成分に関するスペクトル情報だけが残される。なお、このようなスペクトル情報の除去に関しては、例えば特開平9−34497号公報にも示されている周知のノイズキャンセラー技術が利用される。ただし、本実施形態においては、ノイズ成分を除去するのではなく、むしろ周波数成分を除去している。前記ステップS116の処理後、CPU31は、ステップS118にて、全てのフレームの前記残されたスペクトル情報を逆高速フーリエ変換処理(以下、単に逆FFT処理という)して高速減衰成分波形を表す波形データを加算合成する。そして、CPU31は、ステップS120にて、書込み回路14を制御して、前記加算合成波形データを高速減衰波形データとして波形メモリ13に書込む。
次に、CPU31は、ステップS122にて、波形メモリ13に記憶されている原波形データから前記新たに波形メモリ13に記憶した高速減衰波形データを、両波形データの先頭から末尾にわたって順次減算する。この減算結果は、原波形データから高速減衰波形データを除いた本発明の低速減衰波形データに対応する。そして、CPU31は、ステップS124にて、前記減算結果である波形データを低速減衰波形データとして波形メモリ13に書込み、ステップS126にてこの波形データ生成プログラムの実行を終了する。これにより、1組の低速減衰波形データと高速減衰波形データが波形メモリ13に記憶される。図3(B)は低速減衰波形データにより表される低速減衰成分波形を概略的に示し、図3(C)は高速減衰波形データにより表される高速減衰成分波形を概略的に示している。
このようにして1組の低速減衰波形データと高速減衰波形データが波形メモリ13に記憶された後、前記と同じ楽器種類及び音高(打楽器の場合には、前記と同じ楽器種類)であって、前記とは異なる強さの楽器音波形を表す原波形データを用意して、前述した図2の波形データ生成プログラムを再度実行する。これにより、前記と同じ楽器種類及び音高(打楽器の場合には、前記と同じ楽器種類)であって、前記とは異なる強さの楽器音波形を表す1組の低速減衰波形データと高速減衰波形データが波形メモリ13に記憶される。このような処理を繰返し行うことにより、一つの楽器種類及び音高(打楽器の場合には、一つの楽器種類)であって、前記とは異なる強さの楽器音波形を表す1組の低速減衰波形データと高速減衰波形データが波形メモリ13に順次記憶されていく。例えば、後述する楽音信号発生装置(電子楽器)で利用される場合には、鍵タッチ強さVEL及び操作子タッチ強さVELが「127」、「80」、「48」、「16」(又は「127」、「85」、「43」、「1」)に対応した低速減衰波形データと高速減衰波形データが波形メモリ13に順次記憶される。なお、後述する楽音信号発生装置において楽音合成に必要な波形データは、複数の鍵タッチ強さVEL又は操作子タッチ強さVEL(例えば、「127」、「80」、「48」、「16」又は「127」、「85」、「43」、「1」)に対応した複数の高速減衰波形データと、最も大きな鍵タッチ強さVEL又は操作子タッチ強さVEL(例えば、「127」)の1つの低速減衰波形データであるので、それら以外の波形データを波形メモリ13から消去してもよいし、前記ステップS122,S126の記憶処理時に波形メモリ13に記憶させなくてもよい。
さらに、前記1つの楽器種類及び音高に関する複数の高速減衰波形データと少なくとも1つの低速減衰波形データからなる波形セットの波形メモリ13への記憶後、前記と同じ楽器種類であって異なる音高に関する前記波形セットを、前記と同様な処理により、波形メモリ13に記憶させる。そして、全ての音高又は全ての音域に関する前記波形セットの波形メモリ13の記憶後には、異なる楽器種類に関する波形セットを、前記と同様な処理により、波形メモリ13に記憶させる。その結果、このような波形データ生成処理により、波形メモリ13には、所望の複数の楽器種類、必要な音高、及び複数の強さの減衰系の楽器音に関する波形セットが波形メモリ13に用意されることになる。
この第1の波形データ生成方法においては、比較的簡単かつ短時間で原波形データから複数の高速減衰波形データと1つの低速減衰波形データを生成することができる。この第1の波形データ生成方法も、種々の減衰系の楽器音に関する複数の高速減衰波形データと1つの低速減衰波形データを生成する際に利用可能であるが、例えばタム、ティンパニーなどの減衰時間の比較的長い打楽器音に関する複数の高速減衰波形データと1つの低速減衰波形データを生成するのに最適である。この種の打楽器においては、打撃の瞬間に打面にノイズ的な波が広がるが、その後、定在波以外の波が定在波より高速に減衰する。つまり、定在波が低速減衰成分波形に相当する。
a3.第2の波形データ生成方法
次に、第2の波形データ生成方法について説明する。この場合も、作業者は、上記第1の波形データ生成方法の場合と同様にして、所望の楽器種類、所望の音高、及び所望の強さの減衰系の原波形データ(打楽器音の場合には、所望の楽器種類及び所望の強さの原波形データ)を用意する。そして、作業者は、パネルスイッチ11を操作することにより、図4の波形データ生成プログラムの実行開始を指示する。この波形データ生成プログラムの実行はステップS200にて開始され、CPU31は、図2のステップS102〜S114の処理と同様なステップS202〜S214の処理により、原波形データの先頭から末尾までの複数のフレームにわたって、各フレームごとに原波形データのスペクトル情報をそれぞれ取得するとともに、安定ポイント以降(図3(A)の破線で囲む範囲)の各フレームのスペクトルを解析して、各フレームにほぼ均等(平均的)に含まれる安定スペクトル成分(すなわち周波数成分)を抽出する。
前記ステップS202〜S214の処理後、CPU31は、ステップS216にて、原波形データの先頭から末尾までにわたる全てのフレームに対して、各フレームに含まれる全てのスペクトル情報から前記安定スペクトル成分に関するスペクトル情報を抽出する。すなわち、各フレームのスペクトル情報から、安定スペクトル成分によって規定される周波数範囲内に属する周波数に関係したスペクトル情報を抽出する。これにより、上記第1の波形データ生成方法とは逆に、全てのフレームにわたり、減衰の速い高速減衰成分に関するスペクトル情報が除去され、減衰の遅い安定成分(低速減衰成分)に関するスペクトル情報が抽出される。次に、CPU31は、ステップS218にて、全てのフレームの前記抽出したスペクトル情報を逆FFT処理して低速減衰成分波形を表す波形データを加算合成する。そして、CPU31は、ステップS220にて、書込み回路14を制御して、前記加算合成波形データを低速減衰波形データとして波形メモリ13に書込む。
前記ステップS220の処理後、CPU31は、ステップS222にて、波形メモリ13に記憶されている原波形データから前記新たに波形メモリ13に記憶した低速減衰波形データを、両波形データの先頭から末尾にわたって順次減算する。この減算結果は、原波形データから低速減衰波形データを除いた本発明の高速減衰波形データに対応する。そして、CPU31は、ステップS224にて、前記減算結果である波形データを高速減衰波形データとして波形メモリ13に書込み、ステップS226にてこの波形データ生成プログラムの実行を終了する。これにより、上記第1の波形データ生成方法の場合と同様に、1組の低速減衰波形データと高速減衰波形データが波形メモリ13に記憶される。
このようにして1組の低速減衰波形データと高速減衰波形データが波形メモリ13に記憶された後、上記第1の波形データ生成方法の場合と同様に、異なる強度の楽器音、異なる音高の楽器音及び異なる楽器種類に対して、前述した波形データ生成処理を実行して、所望の複数の楽器種類、必要な音高、及び複数の強さの減衰系の楽器音に関する1組の低速減衰波形データと高速減衰波形データからなる波形セットを波形メモリ13に記憶する。なお、複数の鍵タッチ強さVEL又は操作子タッチ強さVELに対応した複数の高速減衰波形データ、及び最も大きな鍵タッチ強さVEL又は操作子タッチ強さVELの1つの低速減衰波形データを波形メモリ13に残し、それら以外の波形データを波形メモリ13から消去してもよいし、波形メモリ13に記憶させなくてもよい点も、上記第1の波形データ生成方法の場合と同じである。
この第2の波形データ生成方法においては、上記第1の波形データ生成方法とは逆に、逆FFT処理により低速減衰波形データを生成するとともに、原波形データから低速減衰波形データを減算することにより高速減衰波形データを生成している。これにより、この第2の波形データ生成方法によれば、上記第1の波形データ生成方法と同様に、前記両波形データを簡単かつ長時間を要しないで生成できる。また、この場合も、種々の減衰系の楽器音に関する複数の高速減衰波形データと1つの低速減衰波形データを生成する際に利用可能であるが、例えばタム、ティンパニーなどの減衰時間の比較的長い打楽器音に関する複数の高速減衰波形データと1つの低速減衰波形データを生成するのに最適である。
b.生成された波形データの適用される楽音信号発生装置
以下、上記第1及び第2の波形データ生成方法によって生成された高速減衰波形データ及び低速減衰波形データからなる波形データを用いて、楽音信号を発生する楽音信号発生装置について説明する。図7は、この楽音信号発生装置の適用された電子楽器の全体ブロック図である。この電子楽器は、鍵盤51、複数の演奏操作子52、複数のパネル操作子53、表示器54及び音源回路55を備えている。
鍵盤51は、演奏者によって操作されて、それぞれ発生楽音の音高を指定するとともに楽音の発生を指示する複数の白鍵及び黒鍵からなる。鍵盤51は、押鍵速度、押鍵圧力等の鍵タッチ強さVELを検出するための鍵タッチ検出機構も備えている。この鍵盤51の各鍵の押離鍵操作及び鍵タッチ強さVELは、バス56に接続された検出回路51aによって検出される。検出回路51aは、各鍵の押離鍵操作を表すキーオン信号KON及びキーオフ信号KOF、押離鍵操作された鍵を表すノートナンバNN、並びに鍵タッチ強さVELを表す鍵タッチ信号をバス56に出力する。複数の演奏操作子52は、演奏者によって操作されて、打楽器音の発生を指示するための複数種類の打楽器にそれぞれ対応した複数のスイッチである。複数の演奏操作子52にも、それらの押圧速度、押圧圧力等の操作子タッチ強さVELを検出するための操作子タッチ検出機構が設けられている。この複数の演奏操作子52の押圧操作及び操作子タッチ強さVELは、バス56に接続された検出回路52aによって検出される。検出回路52aは、各演奏操作子52の押圧操作を表すスイッチオン信号SWON、押圧操作された演奏操作子52に対応した打楽器種類を表す楽器種類情報IN、及び操作子タッチ強さVELを表す操作子タッチ信号をバス56に出力する。
複数のパネル操作子53は、電子楽器の操作パネル上に設けられた複数のスイッチ、ボリュームなどからなり、演奏者によって操作されて、楽音信号の発生態様を含む電子楽器の各種動作を指示する。この複数のパネル操作子53の操作は、バス56に接続された検出回路53aによって検出される。検出回路53aは、複数のパネル操作子53の操作を表す検出信号をバス56に出力する。表示器54は、操作パネル上に設けられた液晶ディスプレイ、CRTなどで構成され、文字、数字、図形などを表示する。この表示器54には、バス56に接続された表示回路54aが接続されている。表示回路54aは、バス56を介して供給される画像データに従って表示器54の表示を制御する。
音源回路55は、バス56に接続されていて、バス56を介して供給される各種制御信号に応じてディジタル楽音信号を生成して効果回路57に出力する。音源回路55は、図8に示すように、複数の発音チャンネルch1,ch2・・・chnを備えている。複数の発音チャンネルch1,ch2・・・chnはそれぞれ同様に構成されており、各チャンネルは、所定のサンプリング周期ごとにディジタル楽音信号の生成のための処理をそれぞれ行う、読出し回路55a、ディジタル制御フィルタ55b及びディジタル制御増幅器55cを備えている。読出し回路55aは、後述するコンピュータ本体部からの制御パラメータ(読出し開始アドレス、読出し終了アドレス、ピッチシフト量など)及び発音開始指示に応じて、後述する波形メモリWMに記憶されている波形データを読出してディジタル楽音信号を生成し、生成したディジタル楽音信号をディジタル制御フィルタ55bに出力する。また、この読出し回路55aは、必要に応じて、前記波形メモリWMから読出した波形データに補間演算を施したり、波形メモリWMに記憶されている波形データが圧縮されていれば解凍したりする。
ディジタル制御フィルタ55bは、後述するコンピュータ本体部からの制御パラメータ(フィルタ制御パラメータ群など)、発音開始指示、リリース開始指示及び急速減衰指示に応じて、読出し回路55aから出力される波形データからなるディジタル楽音信号の周波数特性を制御してディジタル制御増幅器55cに出力する。ディジタル制御増幅器55cは、後述するコンピュータ本体部からの制御パラメータ(振幅制御パラメータ群など)、発音開始指示、リリース開始指示及び急速減衰指示に応じて、ディジタル制御フィルタ55bから出力される波形データからなるディジタル楽音信号の振幅特性(振幅エンベロープ)を制御してチャンネル累算回路55dに出力する。チャンネル累算回路55dは、複数の発音チャンネルch1,ch2・・・chnからのディジタル楽音信号を累算すなわち混合して出力する。
効果回路57は、音源回路55から出力されるディジタル楽音信号に、後述するコンピュータ本体部からの制御パラメータに従ったコーラス、リバーブなどの効果を付与してサウンドシステム58に出力する。なお、この効果の付与においても、効果回路57は、所定のサンプリング周期ごとにディジタル楽音信号を処理する。サウンドシステム58は、D/A変換器、アナログ増幅器及びスピーカを含み、効果回路57から供給されたディジタル楽音信号に対応した楽音を放音する。
また、この電子楽器は、バス56にそれぞれ接続されたCPU61、ROM62、RAM63、タイマ64、外部記憶装置65、MIDIインターフェース回路66及び外部インターフェース回路67を備えている。CPU61、ROM62、RAM63及びタイマ64は、コンピュータ本体部を構成するもので、特に、CPU61は、図11に示すノートオンイベント処理プログラムを実行する。外部記憶装置65は、この電子楽器に予め組み込まれているハードディスクHD及びフラッシュメモリ、同電子楽器に装着可能なコンパクトディスクCD及びフレキシブルディスクFDなどの種々の記録媒体と、各記録媒体に対するドライブユニットを含むものであり、各種データ及びプログラムの記憶及び読出しを可能にしている。
ROM62又は外部記憶装置65には、詳しくは後述する波形データを記憶した波形メモリWM及び音色制御パラメータを記憶した音色パラメータメモリPMが設けられているとともに、自動演奏データ及び自動リズムデータを含む各種データ及び前記ノートオンイベント処理プログラムを含む各種プログラムを記憶している。自動演奏データとは、1つ楽曲に関する鍵演奏音に関する鍵演奏イベントデータ(鍵タッチ強さVELを含むキーオン及びキーオフイベント)及び打楽器音に関する打楽器演奏イベントデータ(操作子タッチ強さVELを含む打楽器操作イベント)を楽曲の進行に従って時系列に記憶したデータである。また、自動リズムデータとは、マーチ、ワルツなどのリズムパターン種類ごとに打楽器音に関する打楽器演奏イベントデータ(操作子タッチ強さVELを含む打楽器操作イベント)を時間経過に従って複数小節にわたって記憶したデータである。なお、これらのデータ及びプログラムは予めROM62又は外部記憶装置65に記憶されていてもよいし、MIDIインターフェース回路66又は外部インターフェース回路67を介して外部から取り込んでもよい。MIDIインターフェース回路66には、他の電子楽器、シーケンサなどの外部MIDI機器71が接続可能となっている。外部インターフェース回路67は、通信ネットワーク72を介してサーバ73との接続を可能としている。そして、前述した各種データ及びプログラムが、外部MIDI機器71又はサーバ73から電子楽器に取込まれる。
次に、波形メモリWM及び音色パラメータメモリPMについて説明する。波形メモリWMは、図9Aに示すように、複数の音色にそれぞれ対応した複数の記憶領域に分割されている。複数の音色の中には持続系の楽音も含まれているが、持続系の楽音は本発明には直接関係しないので、以降の説明においては減衰系の楽音についてのみ説明する。音色に対応した前記各記憶領域には、複数の鍵(複数の鍵音高)にそれぞれ対応した波形データ群からなる複数の波形セットが記憶されている。各波形セットは、複数の高速減衰波形データ及び1つの低速減衰波形データからなる。
高速減衰波形データは、上述した第1及び第2の波形データ生成方法によって生成した減衰系の楽音波形から減衰の速い成分波形のみを抽出した1秒程度にわたる高速減衰成分波形を表す波形データである。複数の高速減衰波形データは、発生楽音の異なる強弱(鍵タッチ強さVEL)にそれぞれ対応しており、この場合、4つの異なる強度に対応している。例えば、鍵タッチ強さVELが「1」〜「127」で表されるとすると、図10(A)の左側に上から順に示すように、鍵タッチ強さVELが「127」、「80」、「48」及び「16」である演奏音から抽出した高速減衰成分波形を表す4つの波形データが複数の高速減衰波形データとして記憶されている。値「127」は鍵タッチ強さVELの全範囲「1」〜「127」の最大値であり、値「80」、「48」及び「16」は、それぞれ前記鍵タッチ強さVELの全範囲をほぼ4分割した下側の3つの領域のほぼ中央値である。鍵タッチ強さ「127」に対応した高速減衰波形データを採用した理由は、次の低速減衰波形データと同じ鍵タッチ強さを採用することにより、波形データの用意のための処理を簡単にするためである。なお、前記値「127」に代えて、前記4分割した最上領域の中央値「112」を採用してもよい。さらに、鍵タッチ強さVELは、絶対的な尺度ではなく、相対的な尺度であるので、前記値「80」、「48」及び「16」に関しても、他の値を用いてもよい。前記「127」、「80」、「48」及び「16」の4段階に限らず、3段階又は5段階以上であってもよい。1つの低速減衰波形データは、最も強い強度で演奏された演奏音から抽出した10秒程度にわたる低速減衰成分波形を表す波形データである。例えば、この低速減衰波形データは、鍵タッチ強さVELが「127」である演奏音から抽出した低速減衰成分波形を表す波形データである。
また、打楽器音に関する波形データも波形メモリWMに記憶されているが、打楽器音に関しては、複数の鍵(複数の鍵音高)ごとに用意する必要がなく1つのみで足りるので、1つの音色に対応した記憶領域には1つの波形セットしか記憶されていない。ただし、この場合も、1つの波形セット中には、前記と同様に、操作子タッチ強さVELが「127」、「80」、「48」及び「16」である演奏音(打楽器音)から抽出した高速減衰成分波形を表す4つの波形データが複数の高速減衰波形データとして含まれている。また、前記1つの波形セット中には、操作子タッチVELが「127」である演奏音(打楽器音)から抽出した低速減衰成分波形を表す1つの波形データも含まれている。この場合も、前述のように、前記操作子タッチ強さVELの値は「127」、「80」、「48」及び「16」に限られないと同時に、その数も適宜変更され得るものである。なお、複数の鍵音高に対応した減衰音及び打楽器音の前記高速減衰波形データ及び低速減衰波形データの生成方法に関しては、前述した通りである。これらの高速減衰波形データ及び低速減衰波形データを、波形メモリWMにそのまま記憶しておいてもよいが、圧縮して記憶しておくようにしてもよい。また、波形メモリWMに記憶されている複数の異なる鍵タッチ強さVEL(又は操作子タッチ強さVEL)に対応した複数の高速減衰波形データに関しては、それらの振幅(音量レベル)を鍵タッチ強さVEL(又は操作子タッチ強さVEL)にそれぞれ対応させてもよいが、本実施形態では、鍵タッチ強さVEL(又は操作子タッチ強さVEL)が異なっていても、複数の高速減衰波形データの振幅をほぼ同じにしている。これは、小さな鍵タッチ強さVEL(又は操作子タッチ強さVEL)に対応した高速減衰波形データの振幅を大きくすることにより、高精度で波形データを記憶しておくことができるからである。
音色パラメータメモリPMも、図9Bに示すように、複数の音色にそれぞれ対応した複数の記憶領域に分割されている。この場合も、持続系の楽音は本発明には直接関係しないので、以降の説明においては減衰系の楽音についてのみ説明する。音色に対応した前記各記憶領域には、音色名を表す音色名情報を含むヘッダを先頭にして、波形セット制御パラメータ群、フィルタ制御パラメータ群、振幅制御パラメータ群、その他の制御パラメータ群、及び複数の波形セットに関する選択情報が記憶されている。波形セット制御パラメータ群、フィルタ制御パラメータ群及び振幅制御パラメータ群は、音源回路55内の読出し回路55a、ディジタル制御フィルタ55b及びディジタル制御増幅器55cにそれぞれ供給されて、読出し回路55a、ディジタル制御フィルタ55b及びディジタル制御増幅器55cにてディジタル楽音信号の生成に利用される1つの音色に関するパラメータ群である。その他の制御パラメータ群は、音源回路55及び効果回路57に供給されて1つの音色のディジタル楽音信号の生成に利用されるその他のパラメータである。
複数の波形セットに関する選択情報は、図9Aの複数の波形セットにそれぞれ対応している。各波形セットに関する選択情報は、元ピッチ、高速減衰波形選択情報及び低速減衰波形選択情報からなる。元ピッチは、波形データを用いたディジタル楽音信号の生成時におけるピッチシフト用のパラメータであり、波形データの生成時に録音した演奏音のピッチ、前記演奏音の録音時のサンプリング周波数などを表す情報からなる。そして、説明を簡単化するために鍵ごと波形データを用意するようにした本実施形態であって、波形データの生成時おけるサンプリング周波数と、音源回路55におけるディジタル楽音信号の生成のためのサンプリング周波数とが同じである場合に限り、波形データを生成した際の演奏音のピッチ(鍵音高)のみを表す情報を元ピッチとして採用することができる。なお、前述したコンピュータ本体部から読出し回路55aに供給されるピッチシフト量は、押鍵された鍵の音高と波形データを生成するために採用された録音時における演奏音のピッチとの差である。高速減衰波形選択情報は、各波形セット内の複数の高速減衰波形データの各記憶領域の先頭及び末尾のアドレスをそれぞれ表す複数組の先頭アドレス情報及び末尾アドレス情報である。これらの複数組の先頭アドレス情報及び末尾アドレス情報は、鍵タッチの強い順に配列されている。低速減衰波形選択情報は各波形セット内の1つの低速減衰波形データの記憶領域の先頭及び末尾のアドレスをそれぞれ表す1組の先頭アドレス情報及び末尾アドレス情報である。
また、音色パラメータメモリPMには、打楽器音に関しても、前述の場合と同様に、ヘッダ、波形セット制御パラメータ群、フィルタ制御パラメータ群、振幅制御パラメータ群、その他の制御パラメータ群、及び波形セットに関する選択情報が記憶されている。しかし、基本的には、打楽器音に関しては、各楽器種類ごとに1つの波形セットが用意されているので、波形セットに関する選択情報は、波形データの生成時におけるサンプリング周波数と、音源回路55におけるディジタル楽音信号の生成のためのサンプリング周波数が同じである場合に限り、1つの波形セットに関する高速減衰波形選択情報及び低速減衰波形選択情報のみでよい。しかしながら、ティンパニーのように、1種類の打楽器に対して、複数の異なるピッチの打楽器音信号を発生させる場合には、複数のピッチに対応した複数の波形データを用意するか、1つの波形データのみを用意して再生ピッチを変更する。複数の波形データを用意する場合には、前述のように、波形データの生成時におけるサンプリング周波数と、音源回路55におけるディジタル楽音信号の生成のためのサンプリング周波数が同じである場合に限り、元ピッチは不要となる。しかし、1つの波形データのみを用意する場合には、波形データの生成のために録音した演奏音のピッチに関する情報は必要である。高速減衰波形選択情報及び低速減衰波形選択情報は、前述した押鍵によって発生される減衰音の場合と同じである。
次に、上記のように構成した電子楽器の動作について説明する。演奏者が複数のパネル操作子53のいずれかを操作して、鍵盤51の演奏操作によって発生される減衰系の楽音の音色(例えば、電気ピアノ)を選択すると、CPU61は、図示しないプログラムの実行により、音色パラメータメモリPM内の選択された音色に対応した記憶領域から波形セット制御パラメータ群、フィルタ制御パラメータ群、振幅制御パラメータ群及びその他の制御パラメータ群を読出してRAM63内に一時的に記憶しておく。
この状態で、演奏者が鍵盤51のいずれかの鍵を押鍵操作すると、CPU61は、図11のノートオンイベント処理プログラムの実行をステップS300にて開始する。このノートオンイベント処理プログラムの実行開始後、CPU61は、ステップS302にて検出回路51aによって検出された押鍵された鍵を表すノートナンバNN及び鍵タッチ強さVELを表す鍵タッチ信号を入力する。次に、CPU61は、ステップS304にて、この押鍵された鍵に関する楽音信号を生成するために、前記鍵に対して音源回路55の複数の発音チャンネル1ch〜nchのうちの空いている2つの発音チャンネルを第1及び第2の発音チャンネルとして割当てる。
前記ステップS304の処理後、CPU61は、ステップS306にて、音色パラメータメモリ内の前記選択された音色に対応した記憶領域に記憶されている複数の波形セット1,2・・に関する複数の選択情報の中から、前記選択情報中の元ピッチと前記入力したノートナンバNNを比較して、押鍵された鍵に対応する選択情報を指定、すなわちノートナンバNNに対応した波形セットNNに関する選択情報を指定する。次に、CPU61は、ステップS308にて、前記選択情報中に含まれる複数の高速減衰波形データの各記憶領域の先頭及び末尾の記憶アドレスをそれぞれ表す複数組のアドレス情報の中から、鍵タッチ強さVELに対応した1つの高速減衰波形データの記憶領域の先頭及び末尾の記憶アドレスをそれぞれ表す1組のアドレス情報を選択する。この1組のアドレス情報の選択においては、複数の高速減衰波形データにそれぞれ対応した複数の鍵タッチ強さ(この場合には、「127」、「80」、「48」、「16」)のうちの、鍵タッチ強さVELに最も近い1つの鍵タッチ強さに対応した1つの高速減衰波形データに関する高速減衰波形選択情報(1組の先頭アドレス情報及び末尾アドレス情報)を選択する。
次に、CPU61は、ステップS310にて前記割当てられた第1の発音チャンネルに対して、高速減衰成分波形の発生のための準備処理を行う。この高速減衰成分波形の準備処理においては、CPU61は、前記選択した1組の先頭アドレス情報及び末尾アドレス情報をそれぞれ読出し開始アドレス及び読出し終了アドレスとして音源回路55の第1の発音チャンネルに出力するとともに、前記図示しないプログラム処理によってRAM63に一時的に記憶しておいた波形セット制御パラメータ群、フィルタ制御パラメータ群、振幅制御パラメータ群及びその他の制御パラメータ群を前記第1の発音チャンネルに出力する。また、この高速減衰成分波形の発生のための準備処理においては、CPU61は、鍵タッチ強さVELに応じて、音量レベルを計算、すなわち第2の発音チャンネルで生成されるディジタル楽音信号の音量レベルとバランスがとれた音量レベルを計算して、計算した音量レベルを表す制御パラメータを第1の発音チャンネルに出力する。これは、波形メモリWMに記憶されている複数の異なる鍵タッチ強さに対応した複数の高速減衰波形データの各最大振幅は、本実施形態ではほぼ同じであり、鍵タッチ強さVELに対応していないからである。前記第1の発音チャンネルは、前記出力された読出し開始アドレス、読出し終了アドレス、及び音量レベルを表す制御パラメータを含む各種制御パラメータを一時的に記憶して、ディジタル楽音信号の生成のための準備を行う。
前記ステップS310の処理後、CPU61は、ステップS312にて、鍵タッチ強さVELを用いて、鍵タッチ強さVELが小さくなるに従って、前記選択した先頭アドレス情報によって表される記憶アドレスから前記選択した末尾アドレス情報によって表される記憶アドレスに近づくアドレスを低速減衰波形データの読出し開始アドレスとして決定する。具体的には、例えば、図10(B)に示すように、先頭及び末尾の記憶アドレスをそれぞれADtop,ADendとすると、読出し開始アドレスADstartは下記式1の演算により計算される。
ADstart=ADtop+(ADend−ADtop−INTmin)・{1−(VEL−1)/126} …式1
なお、前記式1中のINTminは、鍵タッチ強さVELが最小の「1」であるときの読出し開始アドレスADstartから末尾の記憶アドレスADendまでのアドレス間隔に等しい値を表す固定値である。ただし、前記式1の演算結果が小数部を含む場合には、四捨五入により演算結果は整数化される。
前記式1によれば、鍵タッチ強さVELが最大の「127」であるときには、読出し開始アドレスADstartは先頭の記憶アドレスADtopに設定される。鍵タッチ強さVELが小さくなるに従って、読出し開始アドレスADstartは先頭の記憶アドレスADtopから末尾の記憶アドレスADendに向かって変化する。そして、鍵タッチ強さVELが最小の「1」であるときには、読出し開始アドレスADstartは末尾の記憶アドレスADendからアドレス間隔INTminだけ先頭の記憶アドレスADtop側のアドレスに設定される。
ただし、前記式1は本実施形態を理解し易くするために単純化されたモデルに基づく式であり、一般化できる式ではない。ここでは、算出される数値に注目すべきではなく、むしろ算出される数値の傾向に注目すべきである。また、式1の先頭アドレスADtopに関しては、必ずしも先頭の記憶アドレスでなくてもよい。すなわち、読出し開始アドレスADstartは、鍵タッチ強さVELが最大値「127」であるとき最も先頭に近いアドレスに設定され、鍵タッチ強さVELが小さくなるに従って前記最も先頭に近いアドレスから後方に変化するアドレスに設定されればよい。そして、この読出し開始アドレスADstartの計算においては、楽器の種類に応じて、種々の関数、テーブルが利用され得る。特に、この読出し開始アドレスADstartはリニアスケールで規定され、またディジタル楽音信号の音量レベル(鍵タッチ強さVEL)はデシベルスケールで規定されているので、デシベルスケール上で鍵タッチ強さVELが減少すると、この読出し開始アドレスADstartは先頭の記憶アドレスADtopから後方にリニアに変化する。そして、このような読出し開始アドレスADstartの決定により、波形データの読出しによって生成されるディジタル楽音信号の音量レベルを制御しなくても、前記生成されるディジタル楽音信号の音量レベルは鍵タッチ強さVELに対応したものとなる。
次に、CPU61は、ステップS314にて前記割当てられた第2の発音チャンネルに対して、低速減衰成分波形の発生のための準備処理を行う。この低速減衰成分波形の準備処理においては、CPU61は、前記決定した読出し開始アドレスADstartと共に、低速減衰波形データの末尾アドレス情報を読出し終了アドレスとして音源回路55の第2の発音チャンネルに出力するとともに、前記図示しないプログラム処理によってRAM63に一時的に記憶しておいた波形セット制御パラメータ群、フィルタ制御パラメータ群、振幅制御パラメータ群及びその他の制御パラメータ群を前記第2の発音チャンネルに出力する。前記第2の発音チャンネルは前記出力された読出し開始アドレス、読出し終了アドレス及び各種制御パラメータを一時的に記憶して、ディジタル楽音信号の生成のための準備を行う。なお、この第2の発音チャンネルについては、第1の発音チャンネルで生成されるディジタル楽音信号と音量バランスがとれるように音量レベルを制御しなければならないが、鍵タッチ強さVELに応じた音量レベル制御は不要である。
前記ステップS314の処理後、CPU61は、ステップS316にて、前記第1及び第2の発音チャンネルに発音開始を指示して、ステップS318にてこのノートオンイベント処理プログラムの実行を終了する。前記第1及び第2の発音チャンネルは、この発音開始の指示に応答して、ディジタル楽音信号を生成し始める。前記第1の発音チャンネルにおいては、その読出し回路55aが読出し開始アドレスから時間経過に従ってアドレスを歩進させながら、波形メモリWMに記憶されている高速減衰波形データを順次読出して、高速減衰波形データにより表される高速減衰成分波形からなるディジタル楽音信号を生成して出力する。この場合、本実施形態では、波形データの生成時における演奏音のサンプリング周波数と、音源回路55によるディジタル楽音信号の生成のためのサンプリング周波数が同じであり、かつ各鍵ごとに波形セットが用意されているので、ピッチシフトを必要とせず、アドレスの歩進量は各サンプリング周期ごとに「1」である。しかし、これ以外の場合には、ピッチシフト制御を行う必要がある。そして、この高速減衰波形データの読出しは、前記アドレスの歩進が読出し終了アドレスに達した時点で終了する。この高速減衰波形データの読出しが終了した時点で、第1の発音チャンネルは解放されて空きチャンネルとされる。その結果、ノートナンバNN及び鍵タッチVELにより指定された高速減衰波形データに基づく高速減衰成分波形が生成される。
この読出し回路55aから出力されたディジタル楽音信号は、ディジタル制御フィルタ55bにより周波数特性が制御され、ディジタル制御増幅器55cにより振幅特性が制御されてチャンネル累算回路55dに出力される。特に、この第1の発音チャンネルにおける振幅特性の制御に関しては、前記ステップS20の処理により音源回路55に供給された音量レベルを表す制御パラメータを用いて、ディジタル制御型増幅器55cはディジタル楽音信号の定常的な音量レベルを鍵タッチ強さVELに応じて制御する。なお、ディジタル制御増幅器55cは、この場合、後述するようにリリース開始の指示及び急速減衰の指示を受けない限り、基本的には、読出された高速減衰波形データに基づくディジタル楽音信号の振幅特性を時間変化させることはない。
一方、前記第2の発音チャンネルにおいても、その読出し回路55aが読出し開始アドレスから時間経過に従ってアドレスを歩進させながら、波形メモリWMに記憶されている低速減衰波形データを順次読出して、低速減衰波形データにより表される低速減衰成分波形からなるディジタル楽音信号を生成して出力する。この場合も、本実施形態では、波形データの生成時における演奏音のサンプリング周波数と、音源回路55によるディジタル楽音信号の生成ためのサンプリング周波数が同じであり、かつ各鍵ごとに波形セットが用意されているので、ピッチシフトを必要とせず、アドレス歩進量は各サンプリング周期ごとに「1」である。しかし、これ以外の場合には、ピッチシフト制御を行う必要がある。そして、この低速減衰波形データの読出しも、前記アドレスの歩進が読出し終了アドレスに達した時点で終了する。この場合も、低速減衰波形データの読出しが終了した時点で、第2の発音チャンネルは解放されて空きチャンネルとなる。その結果、ノートナンバNNにより指定された低速減衰波形データが鍵タッチ強さVELにより指定された読出し開始アドレスから読出され始め、読出された低速減衰波形データに基づいて低速減衰成分波形が生成される。
この読出し回路55aから出力されたディジタル楽音信号も、ディジタル制御フィルタ55bにより周波数特性が制御され、ディジタル制御増幅器55cにより振幅特性が制御されてチャンネル累算回路55dに出力される。この第2の発音チャンネルにおける振幅特性の制御に関しては、前記第1の発音チャンネルとは異なり、鍵タッチ強さVELに応じたディジタル楽音信号の定常的な音量レベルは前述した低速減衰波形データの読出し開始アドレスADstartに依存するので、鍵タッチ強さVELに応じた音量レベルの制御は行われず、必要に応じた他の音量レベルの制御が行われる。なお、この場合も、ディジタル制御増幅器55cは、後述するようにリリース開始の指示及び急速減衰の指示を受けない限り、基本的には、読出された高速減衰波形データに基づくディジタル楽音信号の振幅特性を時間変化させることはない。
チャンネル累算回路55dは、前記第1の発音チャンネルから出力された高速減衰成分波形からなるディジタル楽音信号と、前記第2の発音チャンネルから出力された低速減衰成分波形からなるディジタル楽音信号とを加算することにより混合し、混合したディジタル楽音信号を効果回路57に出力する。効果回路57は、図示しないプログラム処理により供給された効果制御用パラメータに基づく効果を付与してサウンドシステム58に出力する。サウンドシステム58は、前記出力されたディジタル楽音信号をアナログ楽音信号に変換して、スピーカを介して放音する。
上記のような楽音信号の発生においては、演奏者による鍵の押鍵時間が充分長く、音源回路55の発音チャンネル内の読出し回路55aにて低速減衰波形データの読出し用のアドレスが読出し終了アドレスまで達した場合には、全ての高速減衰波形データ及び低速減衰波形データがディジタル楽音信号として出力される。しかし、ディジタル楽音信号の発生中に、押鍵されていた鍵が離鍵されると、CPU61は、図示しないプログラムの実行により、離鍵された鍵に対して楽音の発生が割当てられていた音源回路55内の2つの発音チャンネルに対してリリース開始を指示する指示信号を出力する。前記2つの発音チャンネル内のディジタル制御増幅器55cはディジタル制御フィルタ55bからのディジタル楽音信号の振幅を比較的急速に減衰させる。すなわち、ディジタル制御増幅器55cはディジタル制御フィルタ55bからのディジタル楽音信号をリリース処理する。ディジタル制御フィルタ55bも、前記リリース処理と同期して、ディジタル楽音信号の周波数特性を必要に応じて多少変化させる。そして、リリース処理によりディジタル楽音信号が減衰し終えた発音チャンネルは解放されて空きチャンネルとされる。
さらに、鍵盤51にて多数の鍵が短時間内に押離鍵されて発音チャンネルが不足する場合には、CPU61は、図示しないプログラムの実行により、離鍵された鍵に関する発音チャンネルのうちで最も振幅レベルが小さなディジタル楽音信号を発生している発音チャンネルに対して、急速減衰開始を指示する指示信号を出力する。この指示信号を受取った発音チャンネル内のディジタル制御増幅器55cはディジタル制御フィルタ55bからのディジタル楽音信号の振幅を急速に減衰させる。この場合も、ディジタル制御フィルタ55bは、前記ディジタル制御増幅器55cの急速減衰処理と同期して、ディジタル楽音信号の周波数特性を必要に応じて多少変化させる。また、この場合も、ディジタル楽音信号が減衰し終えた発音チャンネルは解放されて空きチャンネルとされる。これにより、多数の鍵が短時間内に押離鍵されても、新たに押鍵された鍵の楽音を発生するための発音チャンネルが確保される。
次に、複数の演奏操作子52のいずれかが操作されて打楽器音を発音する場合について説明する。CPU61は、上述した図11のノートオンイベント処理プログラムを変形した図示しない変形プログラムを実行して、打楽器音の発音を制御する。この変形プログラムの実行は、検出回路52aからのスイッチオン信号SWONの入力に応答して開始される。そして、図11のステップS302におけるノートナンバNN及び鍵タッチ強さVELの入力に代えて、検出回路52aから楽器種類情報IN及び操作子タッチ強さVELを入力する。また、ステップS306におけるノートナンバNNに対応した波形セットNNに関する選択情報の指定に代えて、音色パラメータメモリPM内の複数の記憶領域のうちで、前記入力した楽器種類情報INによって表される打楽器音色に対応した記憶領域を指定する。そして、指定した記憶領域内の波形セット制御パラメータ群、フィルタ制御パラメータ群、振幅制御パラメータ群及びその他の制御パラメータ群を読出してRAM63内に一時的に記憶しておく。また、この場合、前記記憶領域に1つのみ記憶されている選択情報(高速減衰波形選択情報及び低速減衰波形選択情報)を指定する。図11の他のステップS304,S308〜S316の処理に関しては、押鍵による楽音信号の発生のための制御処理と同じである。
その結果、複数の演奏操作子52のいずれかがオン操作された場合にも、複数の高速減衰波形データのうちの1つの高速減衰波形データが、操作子タッチ強さVELに応じて指定される。また、1つの低速減衰波形データの読出し開始アドレスが操作子タッチ強さVELに応じて決定される。したがって、演奏操作子52のオン操作による打楽器音の発生においても、前記押鍵による場合と同様に、操作子タッチ強さVELによって指定される1つの高速減衰波形データに基づくディジタル楽音信号と、操作子タッチ強さVELによって読出し開始アドレスの指定された低速減衰波形データに基づくディジタル楽音信号が混合されて出力される。また、この打楽器音に関するディジタル楽音信号の場合も、前述した鍵音高に対応した音高を有するディジタル楽音信号の場合と同様に、混合される高速減衰波形データの音量レベルは操作子タッチ強さVELに応じた音量レベルに制御される。
さらに、図示しない自動演奏プログラムの実行により、自動演奏データの再生によって鍵演奏イベントデータ及び打楽器演奏イベントデータが読出された場合にも、上記図11のノートオンイベント処理プログラム及びその変形プログラムの実行により、上述した鍵演奏による減衰系の楽音及び打楽器音が発生される。すなわち、自動演奏データは、鍵タッチ強さVEL及びノートナンバNNを含むキーオン及びキーオフイベントからなる鍵演奏イベントデータと、操作子タッチ強さVEL及び楽器種類情報INを含む打楽器操作イベントからなる打楽器演奏イベントデータとを時間経過に従って記憶したものである。自動リズムデータは、操作子タッチ強さVEL及び楽器種類情報INを含む打楽器操作イベントからなる打楽器演奏イベントデータを時間経過に従って記憶したものである。そして、これらの鍵演奏イベントデータ及び打楽器演奏イベントデータは、上記実施形態の検出回路51a,52aから出力されるキーオン信号KON、キーオフ信号KOF、ノートナンバNN、鍵タッチ強さVEL,スイッチオン信号SWON、操作子タッチ強さVEL,楽器種類情報INなどと同じである。したがって、自動演奏データ及び自動リズムデータの再生時に出力される鍵演奏イベントデータ及び打楽器演奏イベントデータを用いて上述したように楽音の発生を制御すれば、自動演奏及び自動リズムによって発生される楽音は、鍵盤51及び複数の演奏操作子52による発生される楽音と全く同じとなる。
上記楽音信号発生装置によれば、波形メモリWMには、複数段階の強度で演奏された演奏音から抽出された複数の波形データからなる高速減衰波形データと、強い強度で演奏された演奏音から抽出された1つの波形データからなる低速減衰波形データとが記憶されている。音源回路55内の発音の割当てられた第1の発音チャンネルは、高速減衰波形データとしての複数の波形データの中から強弱情報(鍵タッチ強さVEL及び操作子タッチ強さVEL)に応じて1つの波形データを選択して読出し、読出した高速減衰波形データに基づいて高速減衰成分波形であるディジタル楽音信号を生成する。このとき、高速減衰成分波形であるディジタル楽音信号は、その音量レベルが鍵タッチ強さVEL及び操作子タッチ強さVELに応じて制御されたものである。音源回路55内の発音の割当てられた第2の発音チャンネルは、低速減衰波形データとしての1つの波形データを読出して、読出した低速減衰波形データに基づいて低速減衰成分波形であるディジタル楽音信号を生成する。そして、チャンネル累算回路55dは、第1の発音チャンネルによって生成されたディジタル楽音信号と、第2の発音チャンネルによって生成されたディジタル楽音信号とを混合して出力する。
高速減衰成分波形は発生楽音の強弱に応じて変化するが、低速減衰成分波形は発生楽音の強弱によってほとんど変化しないので、混合されたディジタル楽音信号は、強弱に応じて変化する発生楽音波形を高精度で表すことになる。したがって、上記楽音信号発生装置によれば、リアル感のある楽音信号を発生することができる。また、波形メモリWMは、発生の開始から短い時間で終了する高速減衰成分波形を表す複数の高速減衰波形データと、発生の開始から長い時間の経過後に終了する1つの低速減衰波形を表す低速減衰波形データとを記憶しているだけであるので、楽音信号を発生するための波形データの量を少なく抑えることができ、波形メモリWMとしても大きな容量を必要としない。また、高速減衰成分波形であるディジタル楽音信号の生成のために第1の発音チャンネルを使用する時間は、楽音信号の発生開始直後の短い時間に限られる。したがって、1つの楽音の発生のために2つの発音チャンネルを使用しても、1つの楽音の発生のために1つの発音チャンネルしか使用しない方式に比べて、発音チャンネルの占有時間はそれほど長くならない。
また、第2の発音チャンネルは、波形メモリWMに記憶されている低速減衰波形データとしての波形データを、強弱情報によって表された楽音信号の強弱が弱くなるに従って、波形データの先頭アドレスから遠くなるアドレスを読出し開始アドレスとして時間経過に従って読出す。したがって、発生される楽音信号の強弱が弱くなるに従って、波形データの読出し開始から終了までの時間が短くなり、楽音信号の発生開始から終了までの時間が短くなる。このことは、発生楽音の強弱が弱くなるに従って、楽音の発生開始から終了までの時間が短くなる減衰系の楽器音の特性と一致している。したがって、前記強弱情報に応じて読出し開始アドレスを変更するという簡単な方法により、減衰系の楽音をより良好に模倣することができる。
また、第1の発音チャンネルにおいては、高速減衰成分波形であるディジタル楽音信号の生成時に、鍵タッチ強さVEL及び操作子タッチ強さVELに応じてディジタル楽音信号の音量レベルを制御するようにした。したがって、楽音信号の強弱が弱い高速減衰波形データあっても、波形メモリWMに記憶しておく際には、その振幅レベルを大きくしておくことができ、高精度の高速減衰波形データの再生が可能となる。
また、上記楽音信号発生装置においては、波形メモリWM内の高速減衰波形データを指定する際に、鍵タッチ強さVELに最も近い鍵タッチ強さに対応した1つの高速減衰波形データを選択して、選択した1つの高速減衰波形データを用いてディジタル楽音信号を生成するようにした。しかし、これに代えて、複数の高速減衰波形データにそれぞれ対応した複数の鍵タッチ強さのうちの、鍵タッチ強さVELを挟む2つの鍵タッチ強さに対応した2つの高速減衰波形データを選択して、選択した2つの高速減衰波形データを補間(クロスフェード)処理してディジタル楽音信号を生成するようにしてもよい。
この場合、図11のノートオンイベント処理プログラムを変形した図12のノートオンイベント処理プログラムをROM62又は外部記憶装置65に記憶しておき、CPU61は、この図12のノートオンイベント処理プログラムを実行する。図12のノートオンイベント処理プログラムにおいては、図11のノートオンイベント処理プログラムと同一部分に関しては同一の符号を付し、それらの説明を省略する。
図12のノートオンイベント処理プログラムにおいては、図11のステップS304に代わるステップS304aにて、CPU61は、押鍵された鍵に関する楽音信号を生成するために、前記鍵に対して音源回路55の複数の発音チャンネルのうちの空いている3つの発音チャンネルを第1乃至第3の発音チャンネルとして割当てる。また、図11のステップS308に代わるステップS308aにて、CPU61は、選択情報中に含まれる複数の高速減衰波形データの各記憶領域の先頭及び末尾の記憶アドレスをそれぞれ表す複数組のアドレス情報の中から、鍵タッチ強さVELを挟む2つの鍵タッチ強さに対応した2つの高速減衰波形データの記憶領域の先頭及び末尾の記憶アドレスをそれぞれ表す2組のアドレス情報(先頭アドレス情報及び末尾アドレス情報)を選択する。
そして、CPU61は、ステップS320にて、前記選択した2つの高速減衰波形データによって表される2つの高速減衰成分波形の混合比率を計算する。この場合、前記鍵タッチ強さVELを挟む2つ鍵タッチ強さをそれぞれVEL1,VEL2とするとともに、鍵タッチ強さVEL1,VEL2にそれぞれ対応した高速減衰成分波形の混合比率をMIX1,MIX2とそれぞれすると、混合比率MIX1,MIX2は下記式2,3の演算により決定される。
MIX1=|VEL2−VEL|/|VEL1−VEL2| …式2
MIX2=|VEL1−VEL|/|VEL1−VEL2| …式3
これによれば、比例配分により、2つの高速減衰成分波形の混合比率がMIX1,MIX2に決定されることになり、2つの高速減衰成分波形の混合により、鍵タッチ強さVELに応じて補間された合成波形が得られることになる。この決定された混合比率MIX1,MIX2は、音源回路55内の前記割当てられた第1及び第2の発音チャンネルにそれぞれ出力される。
なお、前記式2,3も、前記式1の場合と同様に、本実施形態を理解し易くするために単純化されたモデルに基づく式であり、一般化できる式ではない。ここでも、算出される数値に注目すべきでなく、むしろ算出される数値の傾向に注目すべきである。特に、混合比率MIX1,MIX2は、実際にはリニアスケールでなくデシベルスケールで表されるものである。そして、混合比率MIX1,MIX2には、実際には、式2,3に示されたクロスフェードの要素以外にも、鍵タッチ強さVELに応じた音量レベルの制御の要素も必要であり、混合比率MIX1,MIX2のデシベル値は、混合後の高速減衰成分波形の音量が鍵タッチ強さVELに応じた音量レベルになるように調整された値である必要がある。具体的には、式2,3の右辺に前述した低速減衰成分波形であるディジタル楽音信号の音量レベル(デシベル値)を加算するとよい。
図11のステップS310に代わるステップS310aにて、CPU61は、前記割当てられた第1及び第2の発音チャンネルに対して、前記選択された2つの高速減衰成分波形の発生のための準備処理を行う。この高速減衰成分波形の準備処理においては、前記選択した2組のアドレス情報のうちの1組のアドレス情報を読出し開始アドレス及び読出し終了アドレスとして音源回路55の第1の発音チャンネルに出力する。また、前記選択した2組のアドレス情報のうちの他の1組のアドレス情報を読出し開始アドレス及び読出し終了アドレスとして音源回路55の第2の発音チャンネルに出力する。波形セット制御パラメータ群、フィルタ制御パラメータ群、振幅制御パラメータ群及びその他の制御パラメータ群を前記第1及び第2の発音チャンネルに出力する点については、上記実施形態の場合と同様である。第1及び第2の発音チャンネルは前記出力された読出し開始アドレス、読出し終了アドレス及び各種制御パラメータを一時的に記憶して、ディジタル楽音信号の生成のための準備を行う。
図11のステップS314に代わるステップS314aにて、CPU61は、前記割当てられた第3の発音チャンネルに対して、低速減衰成分波形の発生のための上記実施形態と同様な準備処理を行う。そして、図11のステップS316に代わるステップS316aにて、CPU61は、前記第1乃至第3の発音チャンネルに発音開始を指示する。他の処理に関しては、図11の各処理と同じである。
上記変形例に係るノートオンイベント処理プログラムの実行により、音源回路55内の前記第1乃至第3の発音チャンネルは、この発音開始の指示に応答して、ディジタル楽音信号を生成し始める。この場合、第1及び第2の発音チャンネルは、2つの異なる高速減衰波形データに従って2つの高速減衰成分波形をそれぞれ表すディジタル楽音信号をそれぞれ生成して出力する。第1の発音チャンネルにおいては、ディジタル制御増幅器55cが、ディジタル制御フィルタ55bから出力されるディジタル楽音信号に、前記ステップS320の処理によって出力された混合比率MIX1を乗算することにより、前記ディジタル楽音信号の振幅を混合比率MIX1に比例して制御する。また、第2の発音チャンネルにおいては、ディジタル制御増幅器55cが、ディジタル制御フィルタ55bから出力されるディジタル楽音信号に、前記ステップS320の処理によって出力された混合比率MIX2を乗算することにより、前記ディジタル楽音信号の振幅を混合比率MIX2に比例して制御する。
第3の発音チャンネルは、低速減衰波形データに従って低速減衰成分波形を表すディジタル楽音信号を生成して出力する。なお、第1乃至第3の発音チャンネル内におけるディジタル楽音信号の生成処理に関しては、上述した場合と同様である。そして、第1乃至第3の発音チャンネルから出力されるディジタル楽音信号は、チャンネル累算回路55dにそれぞれ出力される。チャンネル累算回路55dは、これらの第1乃至第3の発音チャンネルから出力されるディジタル楽音信号を加算して出力する。これにより、第1及び第2の発音チャンネルから出力された2つの高速減衰成分波形は前記混合比率MIX1、MIX2で混合されるとともに、第3の発音チャンネルから出力された低速減衰成分波形と混合される。
この変形例による2つの高速減衰波形成分に関しては、複数の演奏操作子52による打楽器音の発生、自動演奏データに基づく自動演奏音の発生、及び自動リズムデータに基づく自動リズム音(打楽器音)の発生にも適用される。
その結果、この変形例に係る楽音信号発生装置によれば、最終的に混合される高速減衰波形データは、強弱情報(鍵タッチ強さVEL及び操作子タッチ強さVEL)によって表された楽音信号の強弱及び前記強弱を挟む2つの強度段階に応じて、前記強弱を挟む2つの強度段階の波形データを補間(クロスフェード)したものとなる。したがって、波形メモリWMに記憶する高速減衰波形データとしての強度段階に対応した波形データの数を少なくしても、強弱情報によって表された楽音信号の強弱に応じた高速減衰波形データを高精度で得ることができる。
また、上記楽音信号発生装置においては、図11及び図12のステップS312の処理により、低速減衰波形データの読出し開始アドレスとして、鍵タッチ強さVEL(又は操作子タッチ強さVEL)が最小値「1」から最大値「127」まで変化するに従って、アドレスADend−INTminからアドレスADtopまで線形変化するアドレス値を計算するようにした。しかし、これに代えて、鍵タッチ強さVELが最小値「1」から最大値「127」まで変化するに従って、アドレスADend−INTminからアドレスADstartまで非線形変化するアドレス値を規定する関数を用意しておいて、前記関数を用いて、鍵タッチ強さVEL及び操作子タッチ強さVELの変化に対して非線形変化するアドレス値を計算するようにしてもよい。
また、複数の鍵タッチ強さVEL(又は操作子タッチ強さVEL)に対応させて複数の読出し開始位置を記憶しておいて、図11及び図12のステップS312の処理により、前記記憶しておいた複数の読出し開始位置を用いて低速減衰波形データの読出し開始アドレスを決定するようにしてもよい。この場合、各波形セットに関する低速減衰波形選択情報として、低速減衰波形データの記憶領域の先頭及び末尾のアドレスに加えて、これらの先頭及び末尾の記憶アドレスの間のアドレスであって、発生楽音信号の強度に応じた複数の読出し開始アドレスを表す複数の中間アドレス情報を記憶しておけばよい。この中間アドレス情報は、図10(B)に示すように、例えば鍵タッチ強さVEL「96」、「64」、「32」、「1」に対応させた読出し開始アドレスを表している。なお、鍵タッチ強さVELが最大値「127」である読出し開始位置を「0秒」として、波形データの読出しに関する時間に換算すると、前記4つの中間アドレスは、先頭側から「2秒」、「4秒」、「6秒」、「8秒」の位置にそれぞれ対応している。
そして、図11及び図12のステップS312の処理においては、前記ステップS302の処理により入力した鍵タッチ強さVELが最大の鍵タッチ(すなわち「127」)であれば、前記ステップS306の処理によって指定された選択情報中の低速減衰波形選択情報に含まれる低速減衰波形データの先頭アドレスを読出し開始アドレスとして決定する。また、鍵タッチ強さVELが、複数の鍵タッチ強さ「96」、「64」、「32」、「1」のうちのいずれかと一致すれば、一致した鍵タッチ強さVELに対応した中間アドレス情報を読出し開始アドレスとして決定する。鍵タッチ強さVELが複数の鍵タッチ強さ「127」、「96」、「64」、「32」及び「1」のいずれとも一致しなければ、前記複数の鍵タッチ強さのうちで、前記ステップS302の処理により入力した鍵タッチ強さVELが挟まれる両側の2つの鍵タッチ強さを選択する。この選択された2つの鍵タッチ強さをVEL1,VEL2(VEL1>VEL2)とし、鍵タッチ強さVEL1,VEL2に対応した2つの中間アドレスAD1,AD2(AD2>AD1)とすると、読出し開始アドレスADstartは下記式4の補間演算により計算される。ただし、式4も、前記式1〜3と同様に、本実施形態を理解し易くするために単純化されたモデルに基づく式であり、一般化できる式ではない。ここで、算出される数値に注目すべきではなく、むしろ算出される数値の傾向に注目すべきである。
ADstart=AD1+(AD2−AD1)・ (VEL−VEL1)/(VEL2−VEL1) …式4
なお、前記のように、鍵タッチ強さ「96」、「64」、「32」、「1」に対応した複数の読出し開始アドレスを複数の中間アドレス情報とした場合には、複数の鍵タッチ強さVELの間隔が「31」又は「32」とほぼ均一であるために、読出し開始アドレスは鍵タッチ強さVEL(又は操作子強さVEL)に応じてほぼ線形的に変化する。しかし、前記複数の中間アドレスによって表されるアドレスの間隔を異ならせるようにすれば、例えば徐々に大きくなるようにすれば、読出し開始アドレスは鍵タッチ強さVELの変化に対して非線形に変化する。
また、上記楽音信号発生装置においては、鍵音高に応じて周波数の変化する減衰系の楽音波形に関して、波形メモリWM内の音色ごとの波形セットを鍵音高(ノートナンバNN)ごとに用意するようにした。しかし、これに代えて、前記減衰系の楽音波形に関して、波形メモリWM内の音色ごとの波形セットとして、複数の鍵音高を含む鍵音域(例えば、半オクターブ)ごとに波形セットを用意するようにしてもよい。この場合、複数の鍵音域にそれぞれ対応した複数の波形セットが波形メモリWMに記憶される。そして、音色パラメータメモリPMの各音色に対応した記憶領域には、ヘッダ及び各種制御パラメータに加えて、前記複数の波形セットに対応した複数の波形セットに関する選択情報が記憶される。各波形セットに関する選択情報は、上記実施形態と同様に構成され、その中の元ピッチには波形セットに係る波形データを生成した際の元の演奏音のピッチを表す情報も含まれている。そして、この変形例においては、押鍵された鍵のノートナンバNNにより指定される鍵音高(ピッチ)と、元ピッチに含まれる前記演奏音のピッチとの差に応じて、ノートナンバNNにより指定される鍵音高のディジタル楽音信号(高速減衰成分波形及び低速減衰成分波形であるディジタル楽音信号)を生成する。
具体的には、まず、CPU61は、押鍵された鍵が属する鍵音域の波形セットに関する選択情報を音色パラメータメモリPMから選択して、前記選択された選択情報中の高速減衰波形データ及び低速減衰波形データに関するアドレス情報を前記押鍵されて鍵の割当てられた第1及び第2の発音チャンネル(又は第1乃至第3の発音チャンネル)にそれぞれ出力する。ただし、高速減衰波形データに関するアドレス情報に関しては、上記実施形態の場合と同様に、鍵タッチ強さVELに対応した1つ(又は2つ)の高速減衰波形データのアドレス情報が選択される。また、CPU61は、このアドレス情報の出力と同時に、前記押鍵された鍵に対応した鍵音高(ピッチ)と、前記選択された選択情報中の元ピッチにより表されたピッチとの差を、ピッチシフト量(セント)として前記第1及び第2の発音チャンネル(又は第1乃至第3の発音チャンネル)に出力する。
第1及び第2の発音チャンネル(又は第1乃至第3の発音チャンネル)内の読出し回路55aは、前記ピッチシフト量に応じて波形データの読出しレートを決定して、前記アドレス情報によって指定される高速減衰波形データ及び低速減衰波形データを読出す。これにより、読出し回路55aは、ノートナンバNNに対応した鍵音高のディジタル楽音信号を生成して、ディジタル制御フィルタ55bに出力する。ただし、前記ピッチシフト量に応じて決定される読出しレートは、通常、小数部を含むので、前記波形データの読出しアドレスも整数部と小数部からなる。そこで、この波形データの読出しでは、前記整数部を用いて波形データの複数のサンプル値を読出し、小数部を用いた補間演算により最終的なディジタル楽音信号を生成する。このディジタル楽音信号の生成後の処理に関しては、上記実施形態の場合と同じである。なお、この変形例においても、波形データの生成時におけるサンプリング周波数と、音源回路55のディジタル楽音信号の生成時におけるサンプリング周波数が同じであることを前提としている。これらの両者のサンプリング周波数が異なる場合には、このサンプリング周波数の差も考慮してピッチシフト量を決定する必要がある。
11…パネルスイッチ、12…表示器、13…波形メモリ、14…書込み回路、16…音源回路、18…サウンドシステム、31…CPU、51…鍵盤、52…演奏操作子、55…音源回路。

Claims (3)

  1. 楽器音波形を表す原波形データに対して時間窓を移動しながら、前記時間窓によって規定されるフレームごとに前記原波形データを順次フーリエ変換して、前記原波形データの全体にわたる複数のフレームのスペクトル情報をそれぞれ取得する工程と、
    前記楽器音波形に含まれる高速減衰成分波形が減衰し終えて前記楽器音波形が安定した前記原波形データの先頭から離れたポイント以降の複数のフレームに連続して含まれるスペクトル成分を安定スペクトル成分として検出する工程と、
    前記原波形データの全体にわたる複数のフレームの前記取得されたスペクトル情報から、前記検出された安定スペクトル成分によって規定される周波数範囲内に属する周波数に関係したスペクトル情報を除去する工程と、
    前記スペクトル情報の除去によって前記原波形データの全体にわたる複数のフレームの残されたスペクトル情報を逆フーリエ変換して、高速減衰成分波形を表す高速減衰波形データを生成する工程と、
    前記原波形データから前記生成された高速減衰波形データを減算して、低速減衰成分波形を表す低速減衰波形データを生成する工程と
    を、同じ種類であって強弱の異なる複数の楽器音波形に対してそれぞれ行って、複数の前記高速減衰波形データと一つの前記低速減衰波形データを用意するようにした波形データ生成方法。
  2. 楽器音波形を表す原波形データに対して時間窓を移動しながら、前記時間窓によって規定されるフレームごとに前記原波形データを順次フーリエ変換して、前記原波形データの全体にわたる複数のフレームのスペクトル情報をそれぞれ取得する工程と、
    前記楽器音波形に含まれる高速減衰成分波形が減衰し終えて前記楽器音波形が安定した前記原波形データの先頭から離れたポイント以降の複数のフレームに連続して含まれるスペクトル成分を安定スペクトル成分として検出する工程と、
    前記原波形データの全体にわたる複数のフレームの前記取得されたスペクトル情報のうちで、前記検出された安定スペクトル成分によって規定される周波数範囲内に属する周波数に関係したスペクトル情報を抽出する工程と、
    前記原波形データの全体にわたる複数のフレームの前記抽出されスペクトル情報を逆フーリエ変換して、低速減衰成分波形を表す低速減衰波形データを生成する工程と、
    前記原波形データから前記生成された低速減衰波形データを減算して、高速減衰成分波形を表す高速減衰波形データを生成する工程と
    を、同じ種類であって強弱の異なる複数の楽器音波形に対してそれぞれ行って、複数の前記高速減衰波形データと一つの前記低速減衰波形データを用意するようにした波形データ生成方法。
  3. 前記ポイントは、原波形の振幅値を指定又は記憶しておき、前記原波形データによって表される原波形の振幅値が前記指定又は記憶しておいた振幅値まで減衰した時間位置である請求項1又は2に記載した波形データ生成方法。
JP2009063959A 2009-03-17 2009-03-17 波形データ生成方法 Expired - Fee Related JP5655273B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009063959A JP5655273B2 (ja) 2009-03-17 2009-03-17 波形データ生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009063959A JP5655273B2 (ja) 2009-03-17 2009-03-17 波形データ生成方法

Publications (2)

Publication Number Publication Date
JP2010217477A JP2010217477A (ja) 2010-09-30
JP5655273B2 true JP5655273B2 (ja) 2015-01-21

Family

ID=42976413

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009063959A Expired - Fee Related JP5655273B2 (ja) 2009-03-17 2009-03-17 波形データ生成方法

Country Status (1)

Country Link
JP (1) JP5655273B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61204696A (ja) * 1985-03-07 1986-09-10 ヤマハ株式会社 楽音信号発生装置
JP3292738B2 (ja) * 1991-07-26 2002-06-17 ヤマハ株式会社 波形の記憶合成方法
JP3659053B2 (ja) * 1998-04-23 2005-06-15 ヤマハ株式会社 波形データ生成方法、波形データ生成プログラムを記録した記録媒体および波形データ生成装置
JP3741106B2 (ja) * 2003-02-21 2006-02-01 ヤマハ株式会社 楽音波形分析方法及び楽音波形分析合成方法
JP3733964B2 (ja) * 2003-10-14 2006-01-11 ヤマハ株式会社 分析結果を用いた音源波形合成装置

Also Published As

Publication number Publication date
JP2010217477A (ja) 2010-09-30

Similar Documents

Publication Publication Date Title
US7767899B2 (en) Electronic musical instrument
EP3882906A1 (en) Electronic keyboard musical instrument and method of generating musical sound
US20070000371A1 (en) Tone synthesis apparatus and method
US7432435B2 (en) Tone synthesis apparatus and method
US8106287B2 (en) Tone control apparatus and method using virtual damper position
EP3882905A1 (en) Electronic musical instrument, electronic keyboard musical instrument, and method of generating musical sound
US8389845B2 (en) Apparatus for generating musical tone signals based on mixing different decay waveform data
US7626113B2 (en) Tone data generation method and tone synthesis method, and apparatus therefor
JP5493408B2 (ja) 波形データ生成方法
JP5655273B2 (ja) 波形データ生成方法
JP3279861B2 (ja) 楽音信号発生装置
JP4614307B2 (ja) 演奏データ処理装置及びプログラム
JPH0229228B2 (ja)
JP2722482B2 (ja) 楽音発生装置
JP3804522B2 (ja) 波形圧縮方法及び波形生成方法
JP3538908B2 (ja) 電子楽器
JP4238807B2 (ja) 音源用波形データの決定装置
JP2023067673A (ja) 楽音発生装置
JPH07199951A (ja) 音源装置
JP3674154B2 (ja) 楽音合成装置
JPH0876764A (ja) 楽音生成装置
JPH0792978A (ja) 楽音発生装置
Wiemann Implementation of an additive sound synthesis for an electronic music instrument
JPH04296797A (ja) 電子楽器
JPH10133659A (ja) ディジタル信号処理プロセッサ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130521

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140403

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: 20141028

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141110

R151 Written notification of patent or utility model registration

Ref document number: 5655273

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees