JP5353305B2 - 波形データの形成方法 - Google Patents

波形データの形成方法 Download PDF

Info

Publication number
JP5353305B2
JP5353305B2 JP2009049481A JP2009049481A JP5353305B2 JP 5353305 B2 JP5353305 B2 JP 5353305B2 JP 2009049481 A JP2009049481 A JP 2009049481A JP 2009049481 A JP2009049481 A JP 2009049481A JP 5353305 B2 JP5353305 B2 JP 5353305B2
Authority
JP
Japan
Prior art keywords
waveform data
waveform
data
channel
point
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
JP2009049481A
Other languages
English (en)
Other versions
JP2010204365A (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 JP2009049481A priority Critical patent/JP5353305B2/ja
Publication of JP2010204365A publication Critical patent/JP2010204365A/ja
Application granted granted Critical
Publication of JP5353305B2 publication Critical patent/JP5353305B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

この発明は、波形メモリ音源における波形メモリに記憶する波形データを作成する波形データの形成方法に関する。
従来、楽音生成装置における音源の一つとして波形メモリ音源が知られている。波形メモリ音源は、実際の楽器を演奏したときの楽音をサンプリングしてデジタル信号に変換した波形データを波形メモリに記憶させておき、発生すべきノートナンバに応じた読出速度で波形メモリから波形データを読み出して、楽音を生成するようにしている。このような波形メモリ音源において自然楽器の音色に近似した楽音を波形メモリ音源で再生するためには、音高毎あるいは音域毎の波形データを音色毎に波形メモリに記憶させる必要があることから、波形メモリに記憶する波形データのデータ量が膨大な量となる。さらに、楽音の音高(音域)や鍵盤の押鍵速度等の演奏強度に応じて発生される楽音の音色が異なるようになる。例えば、鍵盤を強いタッチで押鍵すると、高域成分が増加した楽音が発生され、鍵盤を押鍵するタッチが弱くなるに従って、高域成分が減少した楽音が発生されるようになる。そこで、波形メモリ音源を備える楽音生成装置においては、波形メモリに音高(音域)や演奏強度に応じた楽音波形データを記憶することも必要とされる。このように、音高(音域)や演奏強度に応じた波形データを音色毎に波形メモリに記憶するようにすると、より膨大なメモリ容量の波形メモリが必要になる。
ところで、楽音波形のアタック部においては基本波の高調波成分等の高い周波数成分が多く含まれているが、持続部においては高調波の減衰が速く進んでおり、残った成分はほとんど基本波成分となるため、アタック部に比較して含まれる周波数成分は低いものとなる。そこで、波形メモリ音源のメモリ容量を低減する一手法として、全波形の波形データを波形メモリに記憶することに替えて、アタック部の波形データと、持続部の波形データの一部を繰り返し再生するループ波形データとして波形メモリに記憶するようにすることが提案されていた。このような波形メモリ音源において楽音を生成する際には、まず、アタック部の波形データを読み出し、次いで、ループ波形データを繰り返し再生するループ再生処理を行うことにより楽音波形を生成するようにしている。
特許第3666346号公報 特許第3534012号公報 特許第3659053号公報
波形メモリ音源において、メモリ容量を低減するために、アタック部の波形データとループ波形データを波形メモリに記憶するようにすると、楽音を生成する際に、ループ波形データを繰り返し再生する持続部においては音色が単調になるという問題点があった。また、従来の波形メモリ音源において、楽音波形の開始から終了までの全波形を波形メモリに記憶する場合は、膨大なメモリ容量を必要とすることから、通常は1つの演奏強度の波形データのみを波形メモリに記憶するようにしており、種々の演奏強度の楽音が忠実に得られないという問題点があった。
そこで、本発明は、少ない容量で減衰系の楽器音の波形データをメモリに記憶しても、種々の演奏強度の楽音を忠実に得ることのできる波形データの形成方法を提供することを目的としている。
上記目的を達成するために、本発明の波形データの形成方法は、波形メモリに記憶する波形データを楽音生成装置が形成する波形データの形成方法であって、第1の演奏強度で演奏した第1波形データと、第1の演奏強度より弱い第2の演奏強度で演奏した第2波形データを、それぞれ立上りから立下りまで記憶する過程と、減衰する振幅が略一致するように、前記第1波形データ及び前記第2波形データを波形時間軸上に配置する過程と前記第1の波形データと前記第2の波形データとが音色的に類似した波形データとなる点以降の前記第2の波形データの領域に接続開始点と接続終了点を設定する過程と、接続開始点から接続終了点の範囲で、第2波形データから第1波形データに滑らかに移行させるスムージング処理を行うことにより、該スムージング処理の結果である接続部を含む第3波形データを形成する過程と、前記第2の波形データの立上りから接続開始点までとされるアタック部の波形データと、形成された前記第3波形データとを接続し、第4波形データを形成する過程と、前記第1波形データと前記第4波形データとを、演奏強度に応じた楽音波形データを形成する際に用いる波形データとして前記波形メモリに記憶する過程とを備えることを最も主要な特徴としている。
本発明によれば、第1の演奏強度で演奏した第1波形データの全波形をメモリに記憶するものの、第1の演奏強度より弱い第2の演奏強度で演奏した第2波形データについては、第2波形データの立ち上がりから第1波形データに移行する接続部までの第4波形データをメモリに記憶すればよいことから、メモリの記憶容量を少なくすることができる。また、楽音を合成する場合は、第2波形データの立ち上がりから第1波形データに移行する接続部までで第4波形データが形成されていることから、第4波形データの接続部において全波形が記憶されている第1波形データに移行され、以後は第1波形データが読み出されるため、演奏強度に応じた複数の全波形データを、そのままメモリに記憶した場合と比べて殆ど変わらない品質で、楽音を合成することができる。従って、種々の演奏強度の楽音を忠実に得ることができるようになる。
本発明の実施例の波形データの形成方法を実施することのできる楽音生成装置の構成を示す回路ブロック図である。 本発明にかかる楽音生成装置における音源の詳細な構成を示す回路ブロック図である。 本発明における第1実施例の波形データの形成方法の概要を示す図である。 本発明における第2実施例の波形データの形成方法の概要を示す図である。 本発明における波形データの形成方法においてアタック波形作成処理を説明する図である。 本発明における波形データの形成方法においてアタック波形作成処理を説明する他の図である。 本発明における波形データの形成方法においてアタック部波形データWa(x)の決定論的成分の波形データDa(x)を作成する処理の概念図である。 本発明における波形データの形成方法においてアタック部波形データWa(x)を作成する処理の概念図である。 本発明における波形データの形成方法においてスムージング処理における位相のスムージング処理の概念図である。 本発明における波形データの形成方法においてスムージング処理における振幅のスムージング処理の概念図である。 本発明における波形データの形成方法においてクロスフェードを行うことによりアタック部波形データを作成する処理を説明する図である。 本発明における波形データの形成方法においてクロスフェードを行うことによりアタック部波形データを作成する処理の概念図である。 本発明にかかる楽音生成装置において楽音を生成する処理を説明する図である。 本発明にかかる楽音生成装置においてノートオンが検出された際に楽音が生成されるタイミングチャートを示す図である。 本発明にかかる楽音生成装置において実行されるノートオンイベント処理のフローチャートである。 本発明にかかる楽音生成装置において実行されるリンクポイント割込処理のフローチャートである。 本発明にかかる楽音生成装置において実行されるフェードアウト終了割込処理のフローチャートである。 本発明にかかる楽音生成装置において実行されるピッチ変化イベント処理のフローチャートである。 本発明にかかる楽音生成装置において実行される他のノートオンイベント処理のフローチャートの一部である。
本発明の実施例の波形データの形成方法を実施することのできる楽音生成装置1の構成を示す回路ブロック図を図1に示す。
図1に示す本発明にかかる楽音生成装置1において、CPU(Central Processing Unit)10は楽音生成装置1の全体の動作を制御すると共に、波形メモリ23に記憶させる波形データを形成する波形データ形成処理や楽音制御処理等を実行している。RAM(Random Access Memory)12には、CPU10のワークエリアや各種データ等の記憶エリアが設定されている。フラッシュROM11には、CPU10が実行する波形データ形成処理や楽音制御処理等の動作ソフトウェアが格納されている。フラッシュROM11は書き換え可能とされていることから、動作ソフトウェアを書き換え可能となり動作ソフトウェアのバージョンアップを容易に行うことができる。タイマ13はウォッチドックタイマ、インターバルタイマ、タイマ割り込みとして機能するタイマである。ハードディスクを備えるハードディスクドライブ(HDD)14には、音域や演奏強度に応じた全波形の波形データを音色毎に録音することができる。HDD14から読み出された波形データに波形データ形成処理を施することにより、波形メモリ23に記憶する波形データが形成される。また、HDD14にはオペレーティングシステム(OS)や種々のアプリケーションプログラムやデータを格納することができる。
MIDI I/O15は、外部MIDI機器との間でMIDIイベントの授受を行うためのMIDIインタフェースであり、MIDI機器から出力されたMIDI信号を楽音生成装置1において受信することができる。そして、受信したMIDI信号に基づいて楽音信号を生成してサウンドシステム21から放音することができる。パネルスイッチ(パネルSW)16はパネルに備えられており、パネルSW16が走査されることによって操作されたパネル操作子のイベントが検出されてバスライン25に出力される。パネル表示器17は液晶等の表示手段を備え、各種設定画面を表示手段に表示したり波形データ形成処理や楽音制御処理時の操作画面が表示される。書込回路18は、外部波形入力端子24から入力される楽音波形信号をサンプリングして、HDD14に送って記録したり、波形データ形成処理が施された波形データを波形メモリ23に書き込む。バッファ(BUFF)19は、RAM12から波形メモリ23に書き込まれる波形データ形成処理が施された波形データ、あるいは、波形メモリ23から読み出された波形データを一時記憶して、CPU10やRAM12等に転送する。音源20はバスライン25を介して供給される各情報に基づいて、波形メモリ23から波形データを順次読み出し、読み出した波形データに基づいて楽音信号を生成する波形メモリ音源とされている。音源20は、複数の発音チャネルを有し、これら各発音チャネルの楽音信号発生処理を時分割多重制御により行っており、各発音チャネル毎に独立した楽音信号を生成し得るように構成されている。この場合、音源20は、複数時分割チャンネル動作を行い、CPU10から音源パラメータ情報をノートオン時に受けて、複数チャンネル分の複数の楽音信号を生成している。音源パラメータ情報は、割り当てチャンネル、ピッチ情報、エンベロープパラメータ等とされる。音源20の各チャンネルでは、それぞれ、波形メモリ23に記録されている波形データを読み出して、読み出した波形データを音源パラメータ情報に沿って加工することにより楽音信号を生成している。音源20で生成された楽音信号はサウンドシステム21から放音される。アクセス管理部22は、波形メモリ23に対する書込回路18と音源20とバッファ19とからのアクセスが互いに衝突しないように、波形メモリ23のアクセスタイムスロットを管理している。なお、楽音生成装置1の各部はコントロールバス、アドレスバスおよびデータバスからなるバスライン25により相互にデータの授受を行っている。
次に、本発明の実施例にかかる音源20の詳細な構成を示す回路ブロック図を図2に示す。図2に示す音源20において、制御レジスタ38には、CPU10により、各発音チャンネルのノートオン信号、ノートオフ信号、各発音チャンネルで生成される楽音信号の特性を制御するパラメータ、後述するリンク情報、DSP36で付与される音響効果を制御するエフェクトパラメータ等の各種パラメータが書き込まれる。さらに、CPU10が、複数同時書込部39を用いて該書き込みを行うことにより、同一チャンネル乃至異チャンネルの複数パラメータを、制御レジスタ38に同時に書き込むことができる。具体的には、CPU10が同時に書き込みたい複数のパラメータを、予め複数同時書込部39に渡しておき、その後のCPU10からのトリガに応じて、複数同時書込部39が、あるサンプリング周期と次のサンプリング周期の間の隙間のタイミングで、それら複数のパラメータを制御レジスタ38に順次書き込む。このようにして書き込まれた複数のパラメータは、各発音チャンネルで生成される楽音信号に対し、同一のタイミング(該次のサンプリング周期)で反映されるので、この明細書では、それを指して「同時書込」と呼んでいる。制御レジスタ38に書き込まれる各発音チャンネルのパラメータには、ノートナンバNN、ピッチデータPD、音量差分、読み出すべき波形データのスタートアドレス及びエンドアドレス、同波形データの原音高、振幅エンベロープ(振幅EG)パラメータ、クロスフェード制御データ等が含まれる。Fナンバ生成部31は、各時分割チャンネルタイミング毎に、制御レジスタ38から供給される当該チャンネルのノートナンバNN、ピッチデータPD、原音高に基づいて、整数部および小数部から構成され、かつ、波形データの音高をノートナンバNNとピッチデータPDにより示される音高にピッチシフトするための、当該チャンネルの周波数ナンバ(以下、「Fナンバ」という)を発生して読出部32に送る。読出部32は、各時分割チャンネル毎に、供給されるFナンバを累算することにより、制御レジスタ38からの当該チャンネルのスタートアドレスからエンドアドレスまで、Fナンバに応じた速度で進行するアドレスを生成し、生成されたアドレスの整数部に基づいて波形メモリ23から波形データのサンプルを読み出し、読み出された波形データのサンプルを、生成されたアドレスの少数部に基づいて、サンプル間補間して、当該チャンネルの補間サンプルを生成する。
振幅変化制御部33は、制御レジスタ38から供給されるノートオン信号、ノートオフ信号、音量EGパラメータに応じて、各時分割チャンネルタイミング毎に、楽音の立上りから立下りまでの音量変化を制御する当該チャンネルの音量エンベロープ(音量EG)波形データを生成する。各時分割チャンネルタイミング毎に、生成された音量EG波形データは、読出部32から出力された波形データの補間サンプルに、第1乗算器M1において乗算されて波形データの音量制御が行われる。クロスフェード(Xfade)制御部34は、制御レジスタ38から供給されるクロスフェード制御データに応じて、各時分割チャンネルタイミング毎に、当該チャンネルのクロスフェード係数を生成する。各時分割チャンネルタイミング毎に、生成されたクロスフェード係数は、第1乗算器M1から出力される波形データのサンプルに乗算される。この場合、クロスフェード制御データでフェードインが指示されたチャンネルでは、所定のクロスフェード時間内に0%(0.00)から100%(1.00)に徐々に増加(フェードイン)するクロスフェード係数が生成され、フェードアウトが指示されたチャンネルでは、所定のクロスフェード時間内に100%(1.00)から0%(0.00)に徐々に減少(フェードアウト)するクロスフェード係数が生成される。ここでのフェードイン、フェードアウトは、もともと同じ形状(又はほぼ同じ形状)の波形データ同士の接続用なので、変化カーブには制約がない。クロスフェードにかかる時間を短縮するため、リニアスケールで直線的に変化する変化カーブとするのがよい。また、クロスフェード制御データにより、各チャンネルの生成されるクロスフェード係数の値を、100%(1.00)ないし0%(0.00)に直接設定することもできる。
各時分割チャンネル毎に、第2乗算器M2から出力される波形データのサンプルは、ミキサ35に供給され、複数の出力先毎に重み付けされミキシングされる。DSP36は、制御レジスタ38からのエフェクトパラメータに基づき、各サンプリング周期毎に、ミキサ35から供給される波形データのサンプルに対し、リバーブ、コーラス等の各種音響効果を付与して、ミキサ35に戻す。さらに、ミキサ35は、各サンプリング周期毎に、DAC(デジタル−アナログ変換器)37を出力先とする波形データのサンプルに、DSP36からの波形データを足しこんでから該DAC37へ出力する。このようにして、エフェクトが付与されたミキサ35からのミキシング出力は、サンプリング周期毎に、DAC37においてアナログ信号に変換され、サウンドシステム21に出力される。
次に、楽音生成装置1において実施する本発明にかかる波形データの形成方法の第1実施例の概要を図3を用いて説明する。
例えば、鍵盤楽器を最高強度の演奏強度(f)、演奏強度(f)より弱い演奏強度(mf)、演奏強度(mf)よりさらに弱い演奏強度(mp)、演奏強度(mp)よりさらに弱い演奏強度(p)の4種類の演奏強度で押鍵して、それぞれの楽音を同じマイクでかつ同じ録音レベルでHDD14に録音する。HDD14に録音した波形データが、図3における演奏強度(f)の波形データW(f)、演奏強度(mf)の波形データW(mf)、演奏強度(mp)の波形データW(mp)、演奏強度(p)の波形データW(p)である。次いで、波形メモリ23に記憶する波形データを作成するが、最高強度とされる演奏強度(f)の波形データW(f)の全波形データは、波形作成処理を施すことなくそのまま波形メモリ23に第1波形データとして記憶される。次に、波形データW(mf)にアタック波形作成処理Aを行って、波形データW(mf)のアタック特徴部と波形データW(f)に接続する接続部からなるアタック部波形データWa(mf)を作成する。この全波形データよりかなり少ない記憶容量とされるアタック部波形データWa(mf)を波形メモリ23に記憶する。なお、アタック波形作成処理Aにおいては、後述するが最高強度とされる波形データW(f)を利用することにより、波形データW(mf)のアタック特徴部より後の領域において波形データW(f)に接続できるアタック部波形データWa(mf)を作成する。
また、波形データW(mp)には上記した処理と同様のアタック波形作成処理Bを行うことにより、全波形データよりかなり少ない記憶容量とされるアタック部波形データWa(mp)を作成して波形メモリ23に記憶し、波形データW(p)には上記した処理と同様のアタック波形作成処理Cを行うことにより、全波形データよりかなり少ない記憶容量とされるアタック部波形データWa(p)を作成して波形メモリ23に記憶する。このようにして波形メモリ23に記憶された演奏強度に応じた複数のアタック部波形データWa(mf)〜アタック部波形データWa(p)が第4波形データとされる。図3に示されている1波形セットは、ある音色におけるある音域の演奏強度に応じた波形セットである。この1波形セットにおいては、全波形データは最高強度とされる演奏強度(f)の波形データW(f)のみが必要とされ、最高強度より弱い演奏強度の波形データについては全波形データよりかなり少ない記憶容量とされるアタック部波形データWa(x)のみ必要とされることから、波形メモリ23に必要とされる波形データ用の記憶領域の容量を非常に低減することができる。
また、この波形メモリ23を利用して楽音を生成する際には、指示された演奏強度のアタック部波形データWa(x)を読み出し、この波形データWa(x)の接続部により波形データW(f)に接続して、以後は接続した波形データW(f)を読み出して再生する。このことから、指示された演奏強度の全波形データを再生する場合と比べて殆ど変わらない品質で楽音を合成することができる。この場合、音源の第1発音チャンネルと第2発音チャンネルを用いて、第1発音チャンネルにてアタック部波形データWa(x)を読み出して発音させるとともに、それに同期して、第2発音チャンネルにて波形データW(f)を読み出して発音させ、クロスフェード用波形データ(後述する)が読み出されるタイミングで、その2つの発音チャンネルの出力をクロスフェードすることにより、第1発音チャンネルのアタック部の波形データWa(x)から第2発音チャンネルの波形データW(f)になめらかに移行させる。なお、指示された演奏強度が最高強度の場合は、1つの発音チャンネルだけを用意して演奏強度(f)の波形データW(f)における全波形データを読み出して1つの発音チャンネルで再生するようにする。なお、波形データWa(x)から波形データW(f)への接続は、必ずしもクロスフェードによらなくてもよい。
また、楽音生成装置1において実施する本発明にかかる波形データの形成方法の第2実施例の概要を図4を用いて説明する。
第2実施例の波形データの形成方法においても、第1実施例と同様にしてHDD14に演奏強度(f)の波形データW(f)、演奏強度(mf)の波形データW(mf)、演奏強度(mp)の波形データW(mp)、演奏強度(p)の波形データW(p)を録音する。次いで、最高強度とされる演奏強度(f)の波形データW(f)の全波形データを、波形メモリ23に第1波形データとして記憶する。次に、波形データW(f)にアタック波形切出作成処理Dを行って、波形データW(f)のアタック特徴部と接続部からなるアタック部波形データWa(f)を切り出して、アタック部波形データWa(f)を波形メモリ23に記憶する。また、波形データW(mf)には第1実施例と同様のアタック波形作成処理Aを行うことにより作成された、全波形データよりかなり少ない記憶容量とされるアタック部波形データWa(mf)を波形メモリ23に記憶する。さらに、第1実施例と同様にしてアタック波形作成処理Bを行うことによりアタック部波形データWa(mp)を作成し、アタック波形作成処理Cを行うことによりアタック部波形データWa(p)を作成して、波形メモリ23にそれぞれ記憶する。このようにして波形メモリ23に記憶された演奏強度に応じた複数のアタック部波形データWa(f)〜アタック部波形データWa(p)が第4波形データとされる。
波形メモリ23に記憶されたある音色におけるある音域の演奏強度に応じた1波形セットが図4に示されている。図4に示されている1波形セットにおいては、全波形データは最高強度とされる演奏強度(f)の波形データW(f)のみが記憶とされ、各演奏強度における全波形データよりかなり少ない記憶容量とされるアタック部波形データWa(x)が記憶されている。このことから、波形メモリ23に必要とされる波形データ用の記憶領域の容量を非常に低減することができる。また、この波形メモリ23を利用して楽音を生成する際には、上記第1実施例と同様に、指示された演奏強度のアタック部波形データWa(x)を読み出し、この波形データWa(x)の接続部により波形データW(f)に接続して、以後は接続した波形データW(f)を読み出して再生する。このことから、指示された演奏強度の全波形データを再生する場合と比べて殆ど変わらない品質で楽音を合成することができる。この場合、アタック部波形データWa(x)を発音する第1発音チャンネルと波形データW(f)を発音する第2発音チャンネルとを用意して、接続部においてクロスフェードすることにより第1発音チャンネルのアタック部の波形データWa(x)から第2発音チャンネルの波形データW(f)になめらかに移行させる。なお、指示された演奏強度が最高強度の場合であっても、第1発音チャンネルアタック部の波形データWa(f)から第2発音チャンネルの波形データW(f)に移行させることから、演奏強度によって楽音生成処理を変更する必要をなくすことができる。第2実施例においても、波形データWa(x)から波形データW(f)への接続は、必ずしもクロスフェードによらなくてもよい。
次に、アタック波形作成処理A〜Cについて図を参照しながら説明する。参照する図においては最高強度より弱い演奏強度(x)の波形データをW(x)として示している。
アタック波形作成処理においては、まず、図5の上段に示すように波形データW(f)と波形データW(x)とを減衰していく振幅レベルが相互に略一致するように時間軸上に並べる。ただし、図5に示す減衰波形はイメージ図であり、実際の減衰波形は、立上りがより速くて立下りがより遅くなると共に、立下りのカーブは指数カーブになる。次いで、演奏強度(f)の波形データW(f)と演奏強度(x)の波形データW(x)を周波数分析して、それぞれ、ピーク軌跡データ(決定論的成分)と残余波形データ(残余波形)とを分離抽出する。この抽出方法は、特許第3534012号公報ないし特許第3659053号公報で説明されている抽出方法と基本的に同じである。図5の下段に、演奏強度(f)の波形データW(f)を周波数分析して分離抽出した決定論的成分d(f)および残余波形R(f)と、最高強度より弱い演奏強度(x)の波形データW(x)を周波数分析して分離抽出した決定論的成分d(x)および残余波形R(x)とが示されている。波形データの周波数分析処理においては、まず、分析する波形データを、分析区間を時間軸方向に移動させながらスペクトル分析して、周波数成分のピーク軌跡を作成する。波形のスペクトルは、FFT(高速フーリエ変換:Fast Fourier Transform)することによって分析することができる。そして、作成されたすべてのピーク軌跡のスペクトルからピーク軌跡データ(決定論的成分)が得られ、元の波形データから、その得られたピーク軌跡データ(決定論的成分)を逆フーリエ変換した波形データを差し引くことにより残余波形データ(残余波形)が得られる。さらに、残余波形に対して再度のスペクトル分析を行って、より精密なピーク軌跡データ(決定論的成分)を求めるようにしてもよい。このような、残余波形に対するスペクトル分析は、必要な回数だけ行われる。
このようにして得られた図5の下段に示す最高強度より弱い演奏強度(x)の波形データW(x)における決定論的成分d(x)に基づいて、波形データW(x)のアタック特徴部より後の領域に、波形データW(x)から最高強度の波形データW(f)に移行させるための接続開始点と接続終了点とを設定する。波形データW(x)に設定された接続開始点と接続終了点との一例を図6に示すが、図6において接続開始点はスムージングの開始点SSとして示されており、接続終了点はスムージングの終了点SEとして示されている。また、波形メモリ23に記憶するアタック部波形データWa(x)の終了点に対応する波形終了点WEを設定する。波形データW(x)のアタック特徴部より後の領域とは、時間軸上で減衰状態を揃えた波形データW(f)と、その先頭より比較した場合に、波形データW(x)の特徴が薄れ、音色的に類似した波形データとなる点以降の領域のことであり、この領域内に、開始点SS、終了点SE、波形終了点WEが順に設定される。該領域の決定方法としては、例えば、波形データW(x)と波形データW(f)とで、スペクトルの主要成分のレベルバランスを比較し、それらが略一致する点以降をその領域とすることができる。或いは、聴感に基づいて、減衰状態を揃えた波形データW(x)と波形データW(f)とを、その時間軸上の同じ点から再生してみて、同じように聞こえる最も前の点以降とすることができる。さらに、減衰状態を揃えた波形データW(x)と波形データW(f)の波形形状を見比べて、同じように見える最も前の点以降としてもよい。なお、開始点SS、終了点SE、波形終了点WEは、複数のアタック部波形データWa(x)の各波形データ毎に定められる。なお、本明細書においては、各データが、時間領域と周波数領域の何れのデータであるかを区別するため、時間領域における波形についてはアルファベット符号の1文字目を大文字とし、周波数領域における成分についてはアルファベット符号の1文字目を小文字としている。
開始点SS、終了点SE、波形終了点WEが設定されることにより、波形データW(f)の決定論的成分d(f)は、成分(df1)、成分(df2)、成分(df3)、成分(df4)に分割され、残余波形R(f)は、波形(Rf1)、波形(Rf2)、波形(Rf3)、波形(Rf4)に分割される。また、波形データW(x)の決定論的成分d(x)は、成分(dx1)、成分(dx2)、成分(dx3)、成分(dx4)に分割され、残余波形R(x)は、波形(Rx1)、波形(Rx2))、波形(Rx3)、波形(Rx4)に分割される。そこで、最高強度の波形データW(f)の決定論的成分(df2)および成分(df3)と、波形データW(x)の決定論的成分(dx1)および成分(dx2)に基づいて、アタック部波形データWa(x)の決定論的成分の波形データDa(x)を作成する。
波形データDa(x)を作成する処理の概念図を図7に示す。図7において、波形データW(x)の決定論的成分(dx2)にスムージング処理を行うことにより、第3波形データの接続部(決定論的成分)に相当する中間決定論的成分(di2)を形成する。スムージング処理では、その結果として得られる中間決定論的成分(di2)の最後の位相および振幅が、接続先となる波形データW(f)の決定論的成分(df3)の最初の位相および振幅に一致するように、決定論的成分(dx2)を構成する全スペクトルのうちの、決定論的成分(df3)を構成する何れかのスペクトルと対応付けができたスペクトル成分の各々の位相および振幅の軌跡が、時間軸方向ないしレベル方向に調整される。その詳細については、後に、図9ないし図10を参照して説明する。なお、中間決定論的成分(di2)の形成方法としては、スムージング処理によらずに、例えば、波形データW(x)の決定論的成分(dx2)から破線で示す波形データW(f)の決定論的成分(df2)にクロスフェードさせることにより形成するようにしても良い。
中間決定論的成分(di2)が形成されたら、図7の2段目に示すように時間軸上に並べた波形データW(x)の決定論的成分(dx1)と波形データW(f)の決定論的成分(df3)との間に中間決定論的成分(di2)を配置して接続する。これら3成分のうち、決定論的成分(dx1)がアタック特徴部に、中間決定論的成分(di2)が接続部に、決定論的成分(df3)が同一特性部にそれぞれ対応する。接続した状態が図7の3段目に示されており、接続されて時間軸上に並べられた決定論的成分(dx1)、中間決定論的成分(di2)、決定論的成分(df3)を逆FFTすることにより、アタック部波形データWa(x)の決定論的成分の波形データDa(x)が作成される。
そして、作成された波形データDa(x)と、波形データW(f)の残余波形(Rf2)および波形(Rf3)と、波形データW(x)の残余波形(Rx1)および波形(Rx2)を重み付け合成して、第4波形データとされるアタック部波形データWa(x)が作成される。アタック部波形データWa(x)を作成する処理の概念図を図8に示す。図8に示すように、開始点SSから波形終了点WEまで、波形データDa(x)の重みは100%(0dB)とされ、波形データW(f)の残余波形(Rf2)の重みについては、開始点SSにおいて0%(−∞dB)とされ終了点SEに向かって上昇(フェードイン)していき終了点SEにおいて100%(0dB)とされて、波形(Rf3)の重みは、終了点SEから波形終了点WEまで100%(0dB)とされている。また、波形データW(x)の残余波形(Rx1)の重みは、最初から開始点SSまで100%(0dB)とされ、波形(Rx2)の重みは、開始点SSにおいて100%(0dB)とされ終了点SEに向かって減少(フェードアウト)していき終了点SEにおいて0%(−∞dB)とされる。ここで、開始点SSから終了点SEでフェードアウトされる残余波形(Rx2)とフェードインされる残余波形(Rf2)とを加算合成した波形が、第3波形データの接続部(残余波形)に相当する。また、ここでのフェードイン、フェードアウトは、異なる2波形の接続用であるので、重みの変化カーブは、混合後の音量がほぼ一定に保てるように、それぞれ、デシベルスケールで直線的に変化する形状とするのがよい。このように重み付けされた波形データDa(x)と、波形データW(f)の残余波形(Rf2)および波形(Rf3)と、波形データW(x)の残余波形(Rx1)および波形(Rx2)とが合成されて、アタック部波形データWa(x)が作成される。なお、アタック部波形データWa(x)における終了点SEから波形終了点WEまでの波形データは、波形データW(f)の決定論的成分(df3)を逆フーリエ変換した波形と、波形データW(f)の残余波形(Rf3)との和であるので、波形データW(f)における終了点SEから波形終了点WEまでの波形データと同じ形状になるはずである。アタック部波形データWa(x)におけるクロスフェード用波形データ(同一特性部)は、終了点SEから波形終了点WEまでの領域となる。
ここで、スムージング処理について図9および図10を参照しながら説明する。図9は波形データW(x)の決定論的成分d(x)のスムージング処理のうちの、該決定論的成分d(x)を構成するスペクトルの一つである第y成分の位相に関する処理の概念図であり、横軸は時間軸とされ縦軸は位相とされている。位相のスムージング処理では、決定論的成分d(x)の第y成分の位相のうちの開始点SSから終了点SEまでの位相を、位相方向にシフトしたり時間軸方向に伸縮することにより、終了点SEにおける位相がその接続先となる決定論的成分(df3)の対応する第y成分の最初の位相に一致するよう調整される。位相方向のシフトは、開始点から終了点SEの期間で滑らかに変化する位相オフセットを加算したり、同変化する位相係数を乗算することにより行われる。時間軸方向の伸縮では、まず、終了点SEの近傍で決定論的成分d(x)の第y成分の位相が該最初の位相と一致するポイントを検出し、そのポイントが終了点SEに一致するよう、決定論的成分d(x)の第y成分の開始点SSからそのポイントまでの位相を時間軸方向に伸縮する。なお、位相方向へのシフトと時間軸方向への伸縮を組み合わせて前記調整を行ってもよい。位相のスムージング処理は、決定論的成分d(x)の全成分うちの、決定論的成分(df3)の何れかの成分と対応付けできた全ての成分について行われ、決定論的成分d(x)の各成分の位相が、終了点SEにおいて、決定論的成分(df3)の最初の位相に一致するようになる。
また、図10は波形データW(x)の決定論的成分d(x)のスムージング処理のうちの、該決定論的成分d(x)を構成するスペクトルの一つである第y成分の振幅に関する処理の概念図であり、横軸は時間軸とされ縦軸は振幅とされている。振幅のスムージング処理では、決定論的成分d(x)の第y成分の振幅のうちの開始点SSから終了点SEまでの振幅を、振幅方向にシフトしたり時間軸方向に伸縮することにより、終了点SEにおける振幅がその接続先となる決定論的成分(df3)の対応する第y成分の最初の振幅に一致するよう調整される。振幅方向のシフトは、開始点から終了点SEの期間で滑らかに変化する振幅オフセットを加算したり、同変化する振幅係数を乗算することにより行われる。時間軸方向の伸縮では、まず、終了点SEの近傍で決定論的成分d(x)の第y成分の振幅が該最初の振幅と一致するポイントを検出し、そのポイントが終了点SEに一致するよう、決定論的成分d(x)の第y成分の開始点SSからそのポイントまでの振幅を時間軸方向に伸縮する。なお、振幅方向へのシフトと時間軸方向への伸縮を組み合わせて前記調整を行ってもよい。振幅のスムージング処理では、決定論的成分d(x)の全成分うちの、決定論的成分(df3)の何れかの成分と対応付けできた全成分について上述した処理が行われる。また、決定論的成分(df3)のうちの対応付けできなかった成分については、開始点SSから終了点SEの間に減少(フェードアウト)させる処理が行われ、決定論的成分(df3)のうちの対応付けできなかった成分については、開始点SSから終了点SEの間に上昇(フェードイン)させる処理が行われる。このようにして、決定論的成分d(x)の各成分の振幅は、終了点SEにおいて、決定論的成分(df3)の最初の振幅に完全一致するようになる。
なお、図9および図10ではそれぞれ位相あるいは振幅の態様が誇張して示されており、実際には波形データW(f)と波形データW(x)との間において図示するほど大きく位相あるいは振幅がずれることはない。また、スムージング処理を、上述したようなシフト処理や時間軸の制御で行う代わりに、決定論的成分(dx2)と決定論的成分(df2)の対応付けできた各成分における、位相および振幅のクロスフェードで行うようにしてもよい。
ところで、アタック部波形データは、上記説明したような周波数分析処理を用いた周波数ドメインでのスムージング処理による精密な方法を用いる代わりに、波形データのクロスフェード(時間ドメインにおけるスムージング処理)を用いた簡易な方法で作成することもできる。これにより作成されたアタック部波形データをWa'(x)として説明する。
波形のクロスフェードを行うことにより、アタック部波形データWa'(x)を作成する際には、まず、図5に示すように波形データW(f)と波形データW(x)とを減衰していく振幅レベルが相互に略一致するように時間軸上に並べ、波形データW(x)のアタック特徴部より後の領域に、波形データW(x)から最高強度の波形データW(f)に移行させるためのクロスフェードの開始点SSと、終了点SEと、波形終了点WEとを図11に示すように設定する。この場合、開始点SS、終了点SE、波形終了点WEの設定は、聴感で決めたり、波形形状を見比べて決めることができる。
開始点SS、終了点SE、波形終了点WEが設定されることにより、波形データW(f)は、波形データ(Wf1)、波形データ(Wf2)、波形データ(Wf3)、波形データ(Wf4)に領域が分割され、波形データW(x)は、波形データ(Wx1)、波形データ(Wx2)、波形データ(Wx3)、波形データ(Wx4)に領域が分割される。これらの分割された領域の波形をクロスフェードすることにより、アタック部波形データWa'(x)を作成する。このアタック部波形データWa'(x)を作成する処理の概念図を図12に示す。図12に示すように、波形データW(f)における波形データ(Wf1)の重みは開始点SSまで0%(−∞dB)とされ、波形データ(Wf2)の重みは開始点SSにおいて0%とされ終了点SEに向かって上昇(フェードイン)していき終了点SEにおいて100%(0dB)とされて、波形データ(Wf3)の重みは終了点SEから波形終了点WEまで100%とされる。また、波形データW(x)における波形データ(Wx1)の重みは先頭から開始点SSまで100%とされ、波形データ(Wx2)の重みは開始点SSにおいて100%とされ終了点SEに向かって減少(フェードアウト)していき終了点SEにおいて0%とされ、波形データ(Wx3)の重みは終了点SEから波形終了点WEまで0%とされる。ここでのフェードイン、フェードアウトも、異なる2波形の接続用であるので、混合後の音量がほぼ一定に保てるように、それぞれ、デシベルスケールで直線的に変化する変化カーブとするのがよい。このように重み付けされた波形データW(x)と波形データW(f)とが重み合成されて、図12に示すようにアタック部波形データWa'(x)が作成される。波形のクロスフェードを行うことによりアタック部波形データWa'(x)を作成する処理は、スムージング処理より簡易に行うことができるが、音質においてやや劣るようになる。形成されるアタック部波形データWa'(x)のうち、先頭から開始点SSまでの波形データ(Wx1と同一形状)がアタック特徴部に、開始点SSから終了点SEまでのフェードアウトする波形データ(Wx2)とフェードインする波形データ(Wf2)とを加算合成した波形データが接続部に、終了点SEから波形終了点WEまでの波形データ(Wf3と同一形状)が同一特性部にそれぞれ相当する。
次に、図1にかかる楽音生成装置1において演奏強度(x)の楽音を生成する処理について説明する。本発明は、波形メモリに記憶する波形データの形成と、その波形メモリを用いた楽音の生成に関するものであり、楽音生成では、波形データの形成の過程で現れる4つの波形データのうちの2つの波形データ(第1波形データ、第4波形データ)だけを用いる。従って、楽音生成に関し、使用する波形データだけで番号を振りなおすことも考えられるが、波形データの形成過程との対応付けを維持するために、本明細書ではそれを行わない。
波形メモリ23には、各音色の各音域毎に、図3ないし図4に示す波形セットが記憶されている。図13には、合成波形データCW(x)を生成するために選択された、それらの波形セットの1に含まれる第1波形データとされる最高強度の波形データW(f)と、第4波形データとされるアタック部波形データWa(x)とが示されている。図示するように、アタック部波形データWa(x)に第1ポイント(第1p)が設定され、第1波形データW(f)に第2ポイント(第2p)が設定されている。アタック部波形データWa(x)上の第1ポイント以降が第1波形データW(f)の第2ポイント以降に接続するためのクロスフェード用波形データ(同一特性部)とされ、第1ポイントは前述した終了点SEに相当し、同一特性部は終了点SEから波形終了点WEまでの波形データとなる。すなわち、アタック部波形データWa(x)における第1ポイント以降の波形特性は、第1波形データW(f)の第2ポイント以降の波形特性と同一になっている。第1ポイントと第2ポイントとは、それぞれ、第4波形データとされる複数のアタック部波形データWa(x)の各波形データ毎に定められている。また、第1波形データW(f)には第3ポイント(第3p)が設定されており、第1波形データW(f)において、アタック部波形データWa(x)の先頭から第1ポイントまでの長さ分、第2ポイントより前に位置するポイントが第3ポイントとされている。
図14に、楽音の発音開始を指示するノートオンに応じて、本発明にかかる音源20を備える楽音生成装置1において楽音が生成される場合のタイミングチャートが示されている。
図14では、タイミングt0においてノートオンが発生したとする。これに応じて、CPU10は、ノートナンバやベロシティに応じて発音に使用する波形データWa(x)とW(f)とを決定するとともに、発音チャンネル割り当てを行い発音に使用する第1発音チャンネルと第2発音チャンネルとを決定して、制御レジスタ38に第1および第2発音チャンネルのパラメータとリンク情報を設定し、第1発音チャンネルにノートオン信号を供給する。ここで設定される第1発音チャンネルのパラメータには、アタック部波形データWa(x)の先頭を示すスタートアドレス、末尾を示すエンドアドレスが含まれる。設定される第2チャンネルのパラメータには、波形データW(f)の第2ポイントを示すスタートアドレス、末尾を示すエンドアドレスが含まれる。また、設定されるリンク情報は、第1チャンネルにおいて、読み出しアドレスが第1ポイントに達したとき、第2チャンネルへ発音のトリガをかけることを示す。
これらスタートアドレスおよびエンドアドレスの設定は、読出部32において、第1発音チャンネルの時分割チャンネルタイミングで、波形データWa(x)のサンプルを順次読み出させ、第2発音チャンネルの時分割チャンネルタイミングで、波形データW(f)のサンプルを順次読み出させるためのものである。以下では、この第1発音チャンネルの読み出し動作を第1読出部とし、第2発音チャンネルの読み出し動作を第2読出部とする。また、第1発音チャンネルと第2発音チャンネルは、Fナンバ生成部31で生成されるFナンバが常時同じとなるように制御される。すなわち、ノートオン時に、同じノートナンバNN、同じピッチデータPD、同じ原音高が設定され、また、楽音生成中にピッチデータPDを変更する場合は、複数同時書込部39を用いて、同じ値のピッチデータPDが両発音チャンネルに同時(同じサンプリング周期)に設定される。
CPU10からのノートオン信号に応じて、第1読出部は、アタック部波形データWa(x)を先頭のサンプルから読み出し始める。すなわち、読出部32では、第1発音チャンネルの時分割チャンネルタイミングで、供給されるFナンバを累算し、波形データWa(x)の先頭を起点として該Fナンバに応じた速度で進行する読出アドレスが生成され、該生成された読出アドレスに基づいて波形メモリ23から波形データWa(x)のサンプルが順次読み出される。そして、第1読出部(第1発音チャンネル)がアタック部波形データの第1ポイントを読み出すタイミングt1になった時に、設定されたリンク情報に基づいて、第2読出部(第2発音チャンネル)に対してトリガが供給され、第2読出部は、波形データW(f)を第2ポイントから読み出し始める。音源20の読出部32は、このトリガの発生時に、第1発音チャンネル(第1読出部)にて累算されたFナンバの小数部を、第2発音チャンネル(第2読出部)に引き継がせる引継機能を備えており、第1読出部と第2読出部とで、読み出される波形データのサンプルの位相を完全同期することができる。なお、この引継機能は必須ではなく省略することができるが、その場合、第1読出部と第2読出部の同期は位相の整数部のみとなり、小数部にずれが生じて出力される補間サンプルは僅かに異なる値となる虞がある。このようにして、タイミングt1では、第2読出部が、第1読出部によるアタック部波形データWa(x)の読み出しに同期して、波形データW(f)の読み出しを開始する。
また、Xfade制御部34は、制御レジスタ38に設定されたクロスフェード制御データに基づいて、第1発音チャンネルの時分割チャンネルタイミングで、ノートオン時(タイミングt0)に100%(1.00)に設定され、第1発音チャンネルの読出アドレスが第1ポイントに達したとき(タイミングt1)に減少(フェードアウト)を開始し、所定のクロスフェード時間後(タイミングt2)に0%(0.00)となる第1Xfade係数を生成し、第2発音チャンネルの時分割チャンネルタイミングで、ノートオン時(タイミングt0)に0%(0.00)に設定され、第1発音チャンネルの読出アドレスが第1ポイントに達したとき(タイミングt1)に上昇(フェードイン)を開始し、所定のクロスフェード時間後(タイミングt2)に100%(1.00)となる第2Xfade係数を生成する。乗算器M2において、第1発音チャンネルの時分割チャンネルタイミングで、第1読出部から出力され乗算器M1で音量変化が付与されたアタック部波形データWa(x)のサンプルに第1Xfade係数が乗算されて、ノートオン時(タイミングt0)から発音開始されタイミングt1でフェードアウトを開始されタイミングt2で消音される第1チャンネルの波形データが形成される。また、第2発音チャンネルの時分割チャンネルタイミングで、第2読出部から出力され乗算器M1で音量制御された波形データW(f)のサンプルに第2Xfade係数が乗算されて、タイミングt1で発音開始されるとともにフェードインされその後発音を継続する第2チャンネルの波形データが形成される。ミキサ35では、形成された第1チャンネルの波形データと第2チャンネルの波形データとが合成されて、このノートオンに係る合成波形データである波形データCW(x)が生成される。最終的な合成波形データCW(x)のうち、ノートオン(タイミングt0)からタイミングt1までは、アタック部波形データWa(x)に基づいて形成され、タイミングt1からタイミングt2までは、アタック部波形データWa(x)から波形データW(f)へのクロスフェード波形に基づいて形成され、タイミングt2以降は、波形データW(f)に基づいて形成されている。なお、アタック部波形データWa(x)は、タイミングt2以降は読み出されないため、第1発音チャンネルは、タイミングt2に達した際に開放される
なお、クロスフェードが行われるタイミングt1からタイミングt2の期間において、アタック部波形データWa(x)と第1波形データW(f)とは、前述したように同一特性(又は、ほぼ同一特性)となっている。このように同一特性の波形データの領域(同一特性部)においてクロスフェードすることから、クロスフェードのタイミング、速さ、変化カーブなど、はどのようであっても聴感上の問題を生じない。実施例のように、クロスフェードをタイミングt1からタイミングt2の全期間にかけて行う必要もない。
この実施例では接続をクロスフェードで行っているので、同一特性部を読み出すタイミングにおいて、第1発音チャンネルにおける波形データと第2発音チャンネルにおける波形データとで、形状が多少違っていても接続時にノイズを生じない。先程、第1発音チャンネルから第2発音チャンネルへの引継機能が必ずしも必要ないと述べたが、これは接続時のクロスフェードがあるためである。また、各発音チャンネルを音色フィルタを備えたものとした場合に、第1発音チャンネルと第2発音チャンネルとでフィルタ係数を異ならせることも可能になる。逆に、クロスフェードを行わず、タイミングt1直後の1サンプリング周期で、第1発音チャンネルの出力を100%から0%に変更し、第2発音チャンネルの出力を0%から100%にして、チャンネルを切り替えることが考えられる。その場合には、前記引継機能は必須となり、また、前記フィルタ係数は同一にしなければならない。
ところで、ノートオンにより最高強度の波形データW(f)が選択された場合において、波形メモリ23に図3に示す構成の波形セットが記憶されている場合は、発音チャンネルは1つだけ割り当てられ、1つの割当チャンネルにおいて波形データW(f)が立上りから立下りまで読み出されて、合成波形データCW(x)とされるようになる。また、波形メモリ23に図4に示す構成の波形セットが記憶されている場合は、上記したように2つの発音チャンネルが割り当てられて上記した処理が行われる。
上記の説明では、第1読出部が、アタック部波形データWa(x)の第1ポイントを読み出すタイミングにおいて、第2読出部が、第1波形データW(f)を第2ポイントから読み出し始めることにより、第1波形データW(f)をアタック部波形データWa(x)に同期させるようにしている。先述したように、第1読出部と第2読出部には、同じFナンバが供給されるので、ある時点で同期させた位相は、その後にピッチを変化させてもずれることがない。なお、第2読出部の読出開始タイミングについては、第1読出部が、アタック部波形データWa(x)を読み出し始めるタイミングt0で、第2読出部が、第1波形データW(f)を第3ポイントから読み出し始めるようにしてもよい。その場合、第1、第2読出部に同時(同じサンプリング周期)にノートオン信号を供給して、同時に読み出しを開始させる。第1読出部から第2読出部への発音のトリガは供給されず、上述したような位相の引継機能も不要である。
次に、図2に示す音源20において、新規楽音の発音開始を指示するノートオンイベントが起こった際に実行されるノートオンイベント処理のフローチャートを図15に示す。ただし、波形メモリ23には、図3に示す構成の波形セットが、各音色の各音域毎に記憶されているものとする。
音源20にノートオンが指示されるとノートオンイベント処理がスタートされ、ステップS10にてノートオンにおける、音高を示すノートナンバがレジスタNNに、演奏強度を示すベロシティがレジスタVELに格納される。本明細書では、レジスタXに記憶するパラメータを、簡略化してパラメータXと記載する。次いで、ステップS11にてタッチカーブ(Tカーブ)を参照してレジスタVELに格納されているベロシティを音量を示すボリューム値に変換してレジスタtvolに格納する。ステップS12では、波形メモリ23に記憶されている波形セットのうちの、現在当該パートで選択されている音色に対応する複数の波形セットの中から、ノートナンバNNが属する音域に応じた波形セットが選択され、さらに、選択された波形セットの中から、ベロシティVELに応じた波形(W(f)ないしWa(x))が選択される。次いで、ステップS12において選択された波形が当該波形セットにおいて最高強度の波形データW(f)か否かがステップS13にて判断される。
ここで、最高強度の波形データW(f)が選択されたとステップS13において判断された場合は、ステップS14に進み、当該ノートオンに係る楽音の生成のために、音源20が有する複数の発音チャンネルのうちの1の発音チャンネルが割り当てられ、ステップS15にて割り当てられた発音チャンネルに最高強度の波形データW(f)の先頭を示すスタートアドレス(SA)と末尾を示すエンドアドレス(EA)と原音高とがセットされる。さらに、ステップS16にて、当該発音チャンネルに、ボリューム値tvolと選択された波形のボリューム値wvolとの差分の音量がセットされる。これにより、当該発音チャンネルでは、ボリューム値tvolに応じた音量で発音されるようになる。次いで、ステップS17にて、当該発音チャンネルに、ノートナンバNN、ピッチのずれを示すピッチデータPD、ベロシティVELに応じた振幅エンベロープパラメータ、クロスフェード係数を100%に設定するクロスフェード制御データ等の各種楽音制御用のパラメータがセットされる。そして、当該発音チャンネルに対する発音開始の指示(ノートオン信号の供給)がステップS18にて行われる。これにより、音源20の当該発音チャンネルにおいて、波形メモリ23から波形データW(f)が、ノートナンバNN、ピッチデータPD、および原音高に応じた速度で、スタートアドレスが示すその先頭から読み出され、読み出された波形データに基づき、かつ、楽音制御用のパラメータに応じて特性制御された最高強度の合成波形データCW(f)が生成されるようになる。次いで、ステップS19にて、今回割り当てた発音チャンネルの数である「1」を、ノートナンバNNに応じたチャンネル数レジスタであるch数(NN)にセットして、ノートオンイベント処理は終了する。当該発音チャンネルにおける波形データW(f)の読み出しは、振幅エンベロープ波形が減衰しきるまで、ないし、読出アドレスがエンドアドレスに達するまで継続される。
また、ステップS13にて選択された波形が波形セットにおいて最高強度の波形データW(f)ではないと判断された場合は、ステップS20に分岐して第1チャンネル(#1)と第2チャンネル(#2)の発音チャンネルが割り当てられる。次いで、ステップS21にて割り当てられた第1チャンネル(#1)に、ベロシティVELに応じて選択されたアタック部波形データWa(x)の先頭を示すスタートアドレス(SA)と末尾を示すエンドアドレス(EA)と原音高とがセットされ、割り当てられた第2チャンネル(#2)に、該アタック部波形データWa(x)が属する波形セットの最高強度の波形データW(f)の第2ポイントを示すスタートアドレス(SA)と末尾を示すエンドアドレス(EA)と原音高とがセットされる。ここで、該第2ポイントの位置は、選択されるアタック部波形データWa(x)に応じて異なる。また、セットされる原音高は、アタック部波形データWa(x)と波形データW(f)とで同一である。次に、ステップS22にて、第1チャンネル(#1)に、ボリューム値tvolとアタック部波形データWa(x)のボリューム値wvolとの差分の音量がセットされると共に、第2チャンネル(#2)に、ボリューム値tvolと波形データW(f)の第3ポイントにおけるボリューム値wvolとの差分の音量がセットされる。これにより、第2チャンネル(#2)で生成されるボディ部の楽音波形の音量と、第1チャンネル(#1)で生成されるアタック部の楽音波形の音量とを、ボリューム値tvolが示す音量に一致させることができる。
次いで、ステップS23にて、割り当てられた第1チャンネル(#1)と第2チャンネル(#2)とに、ノートナンバNN、ピッチのずれを示すピッチデータPD、ベロシティVELに応じた振幅エンベロープパラメータ等の各種楽音制御用の同じ値のパラメータがそれぞれセットされる。また、クロスフェード制御データとして、第1チャンネル(#1)には、クロスフェード係数を100%に設定するデータが、第2チャンネル(#2)には、クロスフェード係数を0%に設定するデータが設定される。次いで、ステップS24にて、制御レジスタ38には、トリガをかける側である第1チャンネル(#1)を示すトリガチャンネル番号、トリガをかける第1ポイントを示すリンクアドレス、トリガをかけられる第2チャンネルを示す被トリガチャンネル番号が、リンク情報として設定される。そして、第1チャンネル(#1)に対する発音開始の指示(ノートオン信号の供給)がステップS25にて行われる。これにより、音源20の第1チャンネル(#1)において、波形メモリ23からアタック部波形データWa(x)が、ノートナンバNN、ピッチデータPD、および原音高に応じた速度で、スタートアドレスが示すその先頭から読み出され(第1読出部)、読み出された波形データに基づき、かつ、楽音制御用のパラメータに応じて特性制御された演奏強度(x)の合成波形データCW(x)のアタック部が生成されるようになる。次いで、ステップS26にて、今回割り当てた発音チャンネルの数である「2」を、チャンネル数レジスタであるch数(NN)にセットしてノートオンイベント処理は終了する。
そして、トリガチャンネル番号が示す第1チャンネル(#1)における読出アドレスが、リンクアドレスが示すアタック部波形データWa(x)の第1ポイントに達した時に、被トリガチャンネル番号が示す第2チャンネル(#2)にトリガ(位相の小数部を含む)が与えられる。音源20の第2チャンネル(#2)は、該トリガに応じて、波形メモリ23に記憶された最高強度の波形データW(f)を、ノートナンバNN、ピッチデータPD、および原音高に応じた速度で、スタートアドレスが示す第2ポイントから読み出し始める(第2読出部)。これにより、第2読出部では、第1読出部によるアタック部波形データWa(x)の読み出しに同期して、そのアタック部波形データに接続されるべき波形データW(f)の読み出しが開始される。この時点では、第1チャンネル(#1)のクロスフェード係数は100%であり、第2チャンネルのクロスフェード係数は0%であるので、合成波形データCW(x)は第1チャンネルの波形データのみとなるが、読み出される両波形データの位相は、相互に同じになるよう制御されており、また、乗算器M2に入力する波形データ(クロスフェード係数が乗算される前の波形データ)の音量も、相互に同じになるように制御されている。
音源20は、第1チャンネル(#1)の読出アドレスがリンクアドレスが示す第1ポイントに達した時に、CPU10に対してリンクポイント割込をかける。図16は、該割込に応じてCPU10が実行する、リンクポイント割込処理のフローチャートである。リンクポイント割込がかけられると、CPU10は、まず、ステップS30にて制御レジスタ38に第2チャンネル(#2)のフェードイン開始を指示するクロスフェード制御データを設定し、続いて、ステップS31にて第1チャンネル(#1)のフェードアウト開始を指示するクロスフェード制御データを設定して、リンクポイント割込処理は終了する。これにより、図14に示すように、第2チャンネル(#2)のクロスフェード係数が0%から100%まで徐々に増加し、第2チャンネルで生成される合成波形データCW(x)のボディ部がフェードインされるとともに、第1チャンネル(#1)のクロスフェード係数が100%から0%まで徐々に減少し、第1チャンネルで生成される合成波形データCW(x)のアタック部がフェードアウトされる。そして、ミキサ35においては、リンクポイントでフェードアウトされるアタック部の楽音波形とリンクポイントからフェードインされるボディ部の楽音波形とがミキシングされて、1つのノートオンに応じた立上りから立下りまでの波形データである、合成波形データCW(x)が生成される。
クロスフェード制御部34が発生する第1チャンネル(#1)のクロスフェード係数が0%に達すると、音源20は、CPU10に対してクロスフェード終了割込をかける。図17は、該割込に応じてCPU10が実行する、フェードアウト終了割込処理のフローチャートである。クロスフェード終了割込がかけられると、CPU10は、ステップS40にてフェードアウトし終えた第1チャンネル(#1)を、新たな発音に使用できるように開放する。次いで、ステップS41にて、当該チャンネルで生成していた楽音のノートナンバNNに対応するch数(NN)のレジスタに、割り当てたチャンネルが1つ残っていることを示す「1」をセットしてフェードアウト終了割込処理を終了する。このように、第1チャンネル(#1)は、合成波形データCW(x)のアタック部の生成が終わったらすぐに開放されるので、1つのノートオンに対して2つの発音チャンネルを割り当てるようにしても、実質的な同時発音数はそれほど減らないのである。
なお、アタック部波形データWa(x)における同一特性部の波形データは、前述したように、波形データW(f)の第2ポイント以降と同じ形状とされていることから、クロスフェードすることなく切り替えてもノイズ等は発生しない。例えば、音源20の内部において、第1チャンネル(#1)がリンクポイントに達したタイミングで、第2チャンネル(#2)に発音開始のトリガをかけるとともに、クロスフェード制御部34自身が、同トリガに応じて、第1チャンネル(#1)のクロスフェード係数を0%に設定し、かつ、第2チャンネル(#2)のクロスフェード係数を100%に設定するようにすればよい。この場合、アタック部波形データWa(x)の同一特性部は必要ないので、同一特性部を含まないさらに短い波形データとすることができる。また、CPU10による、リンクポイント割込処理も不要である。
あるいは、リンクポイント割込に応じたリンクポイント割込処理で、CPU10が、クロスフェード制御部34の第1チャンネル(#1)のクロスフェード係数を0%に設定し、かつ、第2チャンネル(#2)のクロスフェード係数を100%に設定するようにしてもよい。その場合、アタック部波形データWa(x)には、その割込処理の遅れに相当する分の同一特性部が必要となる。
次に、ピッチ変化イベント処理のフローチャートを図18に示す。
楽音生成装置1に備えられているピッチベンド操作子が操作されたときや、CPU10がビブラート波形やピッチエンベロープ波形を生成する処理を行ったときには、楽音のピッチを動的な変化を指示するピッチ変化イベントが発生する。図18は、該ピッチ変化イベントに応じて、CPU10が実行するピッチ変化イベント処理のフローチャートである。MIDIにおけるピッチベンド等のピッチ変化イベントは、各パートごとピッチ変化を制御するイベントとなっている。ピッチ変化イベントが発生すると、まず、ステップS50にて変化した新しいピッチがレジスタPDに格納される。次いで、ステップS51にて、当該パートにおいて現在発音されているノートナンバ(NN)が検出され、発音中のノートナンバがあるか否かがステップS52にて判断される。ここで、発音中のノートナンバがないと判断された場合は、ピッチ変化イベント処理はそのまま終了し、発音中のノートナンバがあると判断された場合はステップS53に進んで検出されたノートナンバの内の一つ目のノートナンバが選択される。次いで、ステップS54にて選択されたノートナンバにセットされている発音チャンネル数が当該ノートナンバのch数(NN)のレジスタを参照して「1」とされているか「2」とされているかが判断される。ここで、当該ノートナンバにおいて発音チャンネル数が「1」とされていると判断された場合は、ステップS55に進んで、制御レジスタ38に、当該ノートナンバの楽音生成に割り当てられている発音チャンネルのピッチデータとして、レジスタPDに格納されたピッチデータが書き込まれる。また、ステップS54にて当該ノートナンバにおいて発音チャンネル数が「2」とされていると判断された場合は、ステップS57に分岐して、複数同時書込部39を利用して、制御レジスタ38に、当該ノートナンバの楽音生成に割り当てられている第1チャンネル(#1)および第2チャンネル(#2)の2つのチャンネルの2つのピッチデータとして、レジスタPDに格納されたピッチデータを同時(同じサンプリング周期)に書き込む。
ステップS55あるいはステップS57の処理が終了するとステップS56に進み、処理していないノートナンバが残っているか否かが判断される。ここで、ノートナンバが残っていると判断された場合はステップS58に分岐して次のノートナンバが選択されてステップS54に戻り、ステップS54ないしステップS57の処理が繰り返し行われる。この繰り返し処理は、処理していない発音中のノートナンバがなくなるまで行われ、ステップS56において当該パートで発音中のノートナンバの全てについて処理が行われて処理していないノートナンバがないと判断されると、ピッチ変化イベント処理は終了する。このピッチ変化イベント処理により、ピッチを変化させる操作をした際には当該パートで発音中のすべてのノートナンバにおいて、2つの発音チャンネルを割り当てている場合も1つの発音チャンネルを割り当てている場合も、合成波形データCW(x)のピッチを時間変化させることができるようになる。これにより、当該パートで発音中の全発音チャンネルの楽音波形のピッチを動的に変化させることができる。さらに、演奏強度(x)の合成波形データCW(x)を生成している第1チャンネル(#1)と第2チャンネル(#2)とには、ピッチデータを同時に書き込むようにしたので、ピッチを動的に変化させた場合でも、第1チャンネル(#1)と第2チャンネル(#2)とで読み出される波形データの位相にずれが生じない。
ところで、前述したように、第2読出部を同期させるタイミングは、第1読出部がアタック部波形データWa(x)の先頭を読み出し始めるタイミングとすることもできる。この場合においては、図15のノートオンイベント処理におけるステップS20からステップS26までの処理のうち、ステップS21、S24、S25を以下のように変更すればよい。
まず、ステップS21では、割り当てられた第1チャンネル(#1)に、ベロシティVELに応じて選択されたアタック部波形データWa(x)の先頭を示すスタートアドレス(SA)と末尾を示すエンドアドレス(EA)と原音高とがセットされ、割り当てられた第2チャンネル(#2)に該アタック部波形データWa(x)が属する波形セットの最高強度の波形データW(f)の第3ポイントを示すスタートアドレス(SA)と末尾を示すエンドアドレス(EA)と原音高がセットされるようにする。ステップS24では、トリガをかける側である第1チャンネル(#1)を示すトリガチャンネル番号と、トリガをかける第1ポイントを示すリンクアドレスとをリンク情報として設定し、被トリガチャンネル番号は設定しない。従って、第1チャンネル(#1)から第2チャンネル(#2)へのトリガは、供給されることがない。そして、ステップS25では、第1チャンネル(#1)と第2チャンネル(#2)に対して同時発音開始の指示(同じサンプリング周期にノートオン信号を供給)を行う。
これにより、ステップS25で供給されるノートオン信号に応じて、音源部20の第1チャンネル(#1)では、アタック部波形データWa(x)がスタートアドレスの示すその先頭から読み出され(第1読出部)、第2チャンネル(#2)では、最高強度の波形データW(f)がスタートアドレスの示す第3ポイントから読み出される(第2読出部)。この時点では、第1チャンネル(#1)のクロスフェード係数は100%であり、第2チャンネルのクロスフェード係数は0%であるので、合成波形データCW(x)は第1チャンネルの波形データのみとなる。そして、第1チャンネル(#1)の読出アドレスがリンクアドレスが示す第1ポイントに達したとき、リンクポイント割込処理が実行され、第1チャンネルで生成されるアタック部の楽音波形がフェードアウトされ、それに替えて、第2チャンネルで生成されるボディ部の楽音波形がフェードインされる。それら生成された楽音波形はミキサ35でミキシングされ、合成波形データCW(x)となる。
なお、本発明にかかる波形データの形成方法において、波形メモリ23に図4に示す構成の波形セットが記憶されている場合は、演奏強度に応じて選択された波形が最高強度の波形であっても、最高強度より弱い演奏強度の波形であっても同様のノートオンイベント処理が行われる。この場合は、図15に示すノートオンイベント処理におけるステップS13ないしステップS19の処理は不要になると共に、ステップS12の処理が終了すると続いてステップS20ないしステップS26の処理が行われるようになる。このように、波形メモリ23に図4に示す構成の波形セットが記憶するようにすると、演奏強度によらずノートオンに対して2つの発音チャンネルを割り当てることになることから、上記したように演奏強度に応じて異なるノートオンイベント処理を行うことがなくなる。
また、音源20の第1および第2チャンネルを用いて楽音を生成する場合の、第2チャンネルにおける第1波形データの読み出し開始アドレスは、図13の第2ポイントないし第3ポイントとされていたが、第2ポイントからクロスフェード用波形データの長さ分後のポイントを第4ポイントとして、該読出開始アドレスは、第3ポイントから第4ポイントまでの範囲のどのポイントにも設定することもできる。その場合、リンクアドレスは、第4波形データの、その設定された読出開始アドレスに対応するアドレスとすればよい。
以上説明した本発明にかかる波形データの形成方法では、4種類の演奏強度のアタック部波形データWa(x)を波形メモリ23に記憶するようにしたが、4種類に限らず任意の数の演奏強度に対応するアタック部波形データWa(x)を形成して波形メモリ23に記憶するようにしてもよい。
また、本発明にかかる波形データの形成方法においては、アタック部波形データWa(x)から切り換えられる最強強度の波形データW(f)の読み出しは、第2ポイント(終了点SE)以前の何れのポイントから開始しても良い。ただし、第2ポイントにおいてアタック部波形データWa(x)と同期している必要がある。
1 楽音生成装置、10 CPU、11 フラッシュROM、12 RAM、13 タイマ、14 HDD、15 MIDI I/O、16 パネルSW、17 パネル表示器、18 書込回路、19 バッファ、20 音源、21 サウンドシステム、22 アクセス管理部、23 波形メモリ、24 外部波形入力端子、25 バスライン、31 Fナンバ生成部、32 読出部、33 振幅変化生成部、34 X fade制御部、35 ミキサ、36 DSP、37 DAC I/O、38 制御レジスタ、39 複数同時書込部、M1 乗算器、M2 乗算器

Claims (5)

  1. 波形メモリに記憶する波形データを楽音生成装置が形成する波形データの形成方法であって、
    第1の演奏強度で演奏した第1波形データと、第1の演奏強度より弱い第2の演奏強度で演奏した第2波形データを、それぞれ立上りから立下りまで記憶する過程と、
    減衰する振幅が略一致するように、前記第1波形データ及び前記第2波形データを波形時間軸上に配置する過程と、
    前記第1の波形データと前記第2の波形データとが音色的に類似した波形データとなる点以降の前記第2の波形データの領域に接続開始点と接続終了点を設定する過程と、
    接続開始点から接続終了点の範囲で、第2波形データから第1波形データに滑らかに移行させるスムージング処理を行うことにより、該スムージング処理の結果である接続部を含む第3波形データを形成する過程と、
    前記第2の波形データの立上りから接続開始点までとされるアタック部の波形データと、形成された前記第3波形データとを接続し、第4波形データを形成する過程と、
    前記第1波形データと前記第4波形データとを、演奏強度に応じた楽音波形データを形成する際に用いる波形データとして前記波形メモリに記憶する過程と、
    を備えることを特徴とする波形データの形成方法。
  2. 前記接続開始点は、前記第2波形データの先頭から末尾に向かってたどっていくときに、前記時間軸上に配置された前記第2波形データと前記第1波形データとにおいて、周波数成分間のバランスが相互に略一致したポイント以降の領域に設定されることを特徴とする請求項1記載の波形データの形成方法。
  3. 前記スムージング処理においては、前記第1波形データと前記第2波形データとがフーリエ変換され、前記接続開始点から前記接続終了点の範囲に関して、前記第2波形データの周波数成分が前記第1の波形データの周波数成分に継続するように加工され、該加工された周波数成分を逆フーリエ変換した波形データに基づいて、前記第3の波形データが形成されることを特徴とする請求項1記載の波形データの形成方法。
  4. 前記第3波形データは、前記接続終了点以降に、前記第1波形データと同一の特性とされたクロスフェード用波形データを含むことを特徴とする請求項1記載の波形データの形成方法。
  5. 前記第4波形データの前記接続終了点以前の部分を、前記第1波形データの前記接続終了点に対応する波形データ以降の部分に接続することにより、前記第2の演奏強度に相当する立上りから立下りまでの第5波形データが形成されることを特徴とする請求項1記載の波形データの形成方法。
JP2009049481A 2009-03-03 2009-03-03 波形データの形成方法 Expired - Fee Related JP5353305B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009049481A JP5353305B2 (ja) 2009-03-03 2009-03-03 波形データの形成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009049481A JP5353305B2 (ja) 2009-03-03 2009-03-03 波形データの形成方法

Publications (2)

Publication Number Publication Date
JP2010204365A JP2010204365A (ja) 2010-09-16
JP5353305B2 true JP5353305B2 (ja) 2013-11-27

Family

ID=42965918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009049481A Expired - Fee Related JP5353305B2 (ja) 2009-03-03 2009-03-03 波形データの形成方法

Country Status (1)

Country Link
JP (1) JP5353305B2 (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 ヤマハ株式会社 楽音信号発生装置
JPS6286394A (ja) * 1985-10-11 1987-04-20 ヤマハ株式会社 楽音信号発生方法
JP2739669B2 (ja) * 1992-08-24 1998-04-15 株式会社河合楽器製作所 楽音発生装置
JPH086563A (ja) * 1994-06-16 1996-01-12 Yamaha Corp 楽音発生装置
JP3659053B2 (ja) * 1998-04-23 2005-06-15 ヤマハ株式会社 波形データ生成方法、波形データ生成プログラムを記録した記録媒体および波形データ生成装置

Also Published As

Publication number Publication date
JP2010204365A (ja) 2010-09-16

Similar Documents

Publication Publication Date Title
JP3744216B2 (ja) 波形形成装置及び方法
US7396992B2 (en) Tone synthesis apparatus and method
CN111739495B (zh) 伴奏控制装置、电子乐器、控制方法以及记录介质
JP4998046B2 (ja) 楽音発生装置
JP2003263159A (ja) 楽音生成装置および楽音生成用コンピュータプログラム
JP3008922B2 (ja) 楽音発生装置および楽音発生方法
JP5533892B2 (ja) 演奏装置
WO2007139034A1 (ja) 楽音合成装置及び方法
JP5316091B2 (ja) 波形メモリ音源
JP5353305B2 (ja) 波形データの形成方法
JP3428401B2 (ja) 波形データ処理方法
JP4552769B2 (ja) 楽音波形合成装置
JP3904012B2 (ja) 波形生成装置及び方法
JP3095018B2 (ja) 楽音発生装置
JP5359203B2 (ja) 楽曲処理装置およびプログラム
JP4353225B2 (ja) 楽音形成装置
JP4835434B2 (ja) 演奏パターン再生装置及びそのコンピュータプログラム
JP2010237594A (ja) 楽音生成装置
JP3752855B2 (ja) 波形データ作成方法
JP5732769B2 (ja) 楽音生成装置
JP2940440B2 (ja) 電子楽器の波形データ圧縮記録方法および波形データ再生方法
JP5573465B2 (ja) 楽音生成装置
JP5935346B2 (ja) 楽音合成装置及びプログラム
JP5681946B2 (ja) 発音装置
JP4835433B2 (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: 20130529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130611

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130708

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130812

R150 Certificate of patent or registration of utility model

Ref document number: 5353305

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees