(57)【要約】【課題】  サンプリングした波形データに含まれる振幅やピッチなどの楽音要素を高品質に制御する。【解決手段】  楽器の生演奏によって得られた波形データ中の振幅やピッチなどの楽音要素の時変動特性には、演奏者が意図した若しくは制御可能な変動成分と、演奏者が意図しない若しくは制御できない変動成分とが有ることに着目し、両成分を分離して、独立に調整・制御しうるようにすることで、有効かつ高品質な制御を行なう。オリジナル波形データにおける特定の楽音要素に関して離散的な変動値列を取得し、これを、時定数的な因子に従い、時定数の大きな「うねり」値列と、時定数の小さな「ゆらぎ」値列とに分離する。これを独立に可変制御し、楽音波形合成を行う。【選択図】      図２
2006113487.tif 000002
【特許請求の範囲】
【請求項１】
オリジナル波形データにおける少なくとも１つの特定の楽音要素に関して離散的な変動値列を取得する第１のステップと、
前記変動値列から、時定数的な因子に従い、少なくとも１つの時系列的な成分値列を抽出する第２のステップと
を具備し、前記第２のステップで抽出される前記成分値列を少なくとも用いて前記特定の楽音要素の前記変動値列を表現することを特徴とする楽音データ生成方法。
【請求項２】
前記第２のステップは、前記変動値列から、時定数的特性の異なる少なくとも第１及び第２の成分値列を分離抽出し、該第１及び第２の成分値列の組み合わせで、前記特定の楽音要素の前記変動値列を表現することを特徴とする請求項１に記載の楽音データ生成方法。
【請求項３】
前記第２のステップは、前記変動値列を平滑化することに基づき前記第１の成分値列を生成し、前記変動値列と該第１の成分値列との差分に基づき前記第２の成分値列を生成する請求項２に記載の楽音データ生成方法。
【請求項４】
少なくとも１つの前記成分値列を、その値の大きさ及び時間軸の少なくとも一方について可変制御する第３のステップと、
第３のステップで可変制御された前記成分値列に基づき、前記特定の楽音要素の前記変動値列を生成する第４のステップと、
生成された変動値列を少なくとも用いて、前記第３のステップで可変制御された特徴を持つ前記特定の楽音要素を含む楽音データを生成する第５のステップと
を更に具えた請求項１乃至３のいずれかに記載の楽音データ生成方法。
【請求項５】
オリジナル波形データにおける特定の楽音要素の変動値列から時定数的な因子に従い抽出された少なくとも１つの成分値列を記憶した記憶手段を使用して、楽音を合成する方法であって、
前記記憶手段から読み出す少なくとも１つの前記成分値列の時間軸を、任意の発音時間長に従い、伸張又は圧縮制御する第１ステップであって、これにより、該任意の発音時間長に見合った時間長を持つ前記成分値列を得るようにしたものと、
前記記憶手段から読み出された又は前記第１ステップで時間軸が伸縮制御された少なくとも１つの前記成分値列の値を可変制御する第２ステップと、
前記記憶手段から読み出された又は前記第１又は第２ステップで制御された少なくとも１つの前記成分値列に基づき、前記特定の楽音要素の前記変動値列を生成する第３ステップと、
生成された変動値列と楽音要素に関する他のデータとを用いて、前記発音時間長にわたる楽音を合成する第４ステップと
を具備することを特徴とする楽音合成方法。
【請求項６】
前記記憶手段には、前記特定の楽音要素の変動値列から分離抽出された時定数特性の異なる少なくとも第１及び第２の成分値列を記憶してなり、
前記第３ステップでは、前記記憶手段から読み出された又は前記第１又は第２ステップで制御された前記少なくとも第１及び第２の成分値列に基づき、前記特定の楽音要素の前記変動値列を生成することを特徴とする請求項５に記載の楽音合成方法。
【請求項７】
前記第１の成分値列は、前記オリジナル波形データにおける特定の楽音要素の変動値列を平滑化することに基づき得られたものであり、前記第２の成分値列は、該変動値列と該第１の成分値列との差分に基づき得られたものであり、
前記第３ステップは、可変制御された前記第１成分値列と第２の成分値列を演算することに基づき前記変動値列を生成することを特徴とする請求項６に記載の楽音合成方法。
【請求項８】
前記第１ステップでは、前記少なくとも第１及び第２の成分値列のそれぞれにつき独立にその時間軸を伸縮制御し、前記第２ステップでは、前記少なくとも第１及び第２の成分値列のそれぞれにつき独立にその値を可変制御することを特徴とする請求項６又は７に記載の楽音合成方法。
【請求項９】
前記成分値列は、前記変動値列におけるうねり変動成分に対応する成分値列と前記変動値列におけるゆらぎ変動成分に対応する成分値列の少なくとも一方である請求項１乃至８のいずれかに記載の方法。
【請求項１０】
コンピュータに楽音データ生成手順を実行させるプログラムであって、この楽音データ生成手順は、
オリジナル波形データにおける少なくとも１つの特定の楽音要素に関して離散的な変動値列を取得する第１のステップと、
前記変動値列から、時定数的な因子に従い、少なくとも１つの時系列的な成分値列を抽出する第２のステップと
を具備し、前記第２のステップで抽出される前記成分値列を少なくとも用いて前記特定の楽音要素の前記変動値列を表現することを特徴とする。
【請求項１１】
オリジナル波形データにおける少なくとも１つの特定の楽音要素に関して離散的な変動値列を取得する第１の手段と、
前記変動値列から、時定数的な因子に従い、少なくとも１つの時系列的な成分値列を抽出する第２の手段と
を具備し、前記第２の手段で抽出される前記成分値列を少なくとも用いて前記特定の楽音要素の前記変動値列を表現することを特徴とする楽音データ生成装置。
【請求項１２】
オリジナル波形データにおける特定の楽音要素の変動値列から時定数的な因子に従い抽出された少なくとも１つの成分値列を記憶した記憶手段を使用して、コンピュータに楽音合成手順を実行させるプログラムであって、この楽音合成手順は、
前記記憶手段から読み出す少なくとも１つの前記成分値列の時間軸を、任意の発音時間長に従い、伸張又は圧縮制御する第１ステップであって、これにより、該任意の発音時間長に見合った時間長を持つ前記成分値列を得るようにしたものと、
前記記憶手段から読み出された又は前記第１ステップで時間軸が伸縮制御された少なくとも１つの前記成分値列の値を可変制御する第２ステップと、
前記記憶手段から読み出された又は前記第１又は第２ステップで制御された少なくとも１つの前記成分値列に基づき、前記特定の楽音要素の前記変動値列を生成する第３ステップと、
生成された変動値列と楽音要素に関する他のデータとを用いて、前記発音時間長にわたる楽音を合成する第４ステップと
を具備することを特徴とする。
【請求項１３】
オリジナル波形データにおける特定の楽音要素の変動値列から時定数的な因子に従い抽出された少なくとも１つの成分値列を記憶した記憶手段を使用して、楽音を合成する装置であって、
前記記憶手段から読み出す少なくとも１つの前記成分値列の時間軸を、任意の発音時間長に従い、伸張又は圧縮制御する第１手段であって、これにより、該任意の発音時間長に見合った時間長を持つ前記成分値列を得るようにしたものと、
前記記憶手段から読み出された又は前記第１手段で時間軸が伸縮制御された少なくとも１つの前記成分値列の値を可変制御する第２手段と、
前記記憶手段から読み出された又は前記第１又は第２手段で制御された少なくとも１つの前記成分値列に基づき、前記特定の楽音要素の前記変動値列を生成する第３手段と、
生成された変動値列と楽音要素に関する他のデータとを用いて、前記発音時間長にわたる楽音を合成する第４手段と
を具備することを特徴とする楽音合成装置。
【請求項１４】
オリジナル波形データにおける各種の楽音要素の少なくとも特定の１種についての時系列的に離散的な変動値列を、少なくとも２つの時系列的な成分値列に分離したものである、少なくとも第１の成分値列及び第２の成分値列で構成されるデータ構造からなる楽音合成用データを記憶したコンピュータ読み取り可能な記憶媒体であって、
前記第１の成分値列は、前記変動値列における時定数の相対的に大きな変動成分であるうねり変動成分値列からなり、
前記第２の成分値列は、前記変動値列における時定数の相対的に小さな変動成分であるゆらぎ変動成分値列からなることを特徴とする。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子楽器や自動演奏装置等その他の楽音発生装置において利用しうるものであり、サンプリングした波形データに含まれる振幅やピッチなどの楽音要素を高品質に制御することを可能にする楽音データ生成方法及び装置並びに楽音合成方法及び装置に関する。
【背景技術】
【０００２】
サンプリングした楽音の波形データをメモリに記憶し、このメモリに記憶した波形データを電子楽器等の音源として使用する所謂サンプラーが従来より知られている。サンプリングした波形データを音源として使用して楽音生成する場合に、サンプリングした元の波形そのものを単純に再生するのではなく、楽音再生の際に、ピッチや振幅等の楽音要素を自由に制御・調整できるようにすることが望まれる。そのような工夫を行なった従来技術として、下記特許文献１には、楽音信号をサンプリングしてＰＣＭ波形データとしてメモリに記憶する場合に、同時に、該楽音信号に含まれるゆらぎ成分（変動成分）を周波数と振幅についてそれぞれ検出し、ゆらぎデータ記憶手段に記憶することが示されている。メモリに記憶した波形データを読み出して楽音信号を再生する場合に、ゆらぎデータ記憶手段から周波数及び振幅のゆらぎデータも読み出し、これらのゆらぎデータによって読み出された波形データの周波数変調及び振幅変調をそれぞれ行い、かつ、これらの変調の深さ制御を行う。しかし、この従来技術は、ＰＣＭ波形データにおける周波数や振幅についての変動成分そのものをゆらぎ成分として検出し、かつ、それらを変調制御するものでしかない。また、下記特許文献２には、サンプリングした楽音信号において時間的に変化するピッチを検出し、これに基づき楽音ピッチの時間的変化を示すピッチエンベロープ情報をメモリに記憶し、楽音再生時において、ピッチエンベロープ情報を補間することで適宜変更したピッチエンベロープを生成し、これに基づき再生楽音のピッチを設定するようにしたことが示されている。この従来技術も、楽音信号におけるピッチの時間的変動そのものを検出して記憶し、かつ、それらを変更制御して楽音再生に使用するものでしかない。
【特許文献１】特開平５−２９７８６６号公報
【特許文献２】特公平７−８２３３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述したような従来技術においては、例えば自然楽器で演奏された楽音をサンプリングすることで高品質な波形データを得ることができ、かつ、そのピッチや振幅の楽音要素の時間的変動をエンベロープとして検出し記憶し、再生時にこれらの楽音要素エンベロープを制御することで、楽音要素の自然な変化を模倣した制御が或る程度は可能である。しかし、従来技術のようにピッチや振幅の楽音要素の時間的変動そのもののエンベロープを抽出し、制御するだけでは、演奏音における表情や人間らしさの度合いを調整することは困難であった。例えば、ピッチや振幅の変動において異なる特性又は癖を示す複数の波形データを使用してユニゾン音や和音をポリフォニック合成した場合に、合成される各音間のピッチが大きくずれて音痴に聞こえてしまったり、各音の振幅の表情がばらばらになってしまうことが起こる。このような場合、従来の技術では、それらの不都合を除去するように有効に調整することはできなかった。例えば、ピッチや振幅の変動において存在する特性又は癖を除去してフラットな特性に変換して、これらのフラットな特性の波形データをポリフォニック合成することが考えられるが、そうすると合成音が単調なものとなってしまい、アコースティック楽器音らしさが失われてしまう、という問題が生じる。
【０００４】
本発明は上述の点に鑑みてなされたもので、サンプリングした波形データに含まれる振幅やピッチなどの楽音要素を高品質に制御することを可能にする楽音データ生成方法及び装置並びに楽音合成方法及び装置を提供しようとするものである。更には、それらに関連するコンピュータプログラム及び該プログラムを記憶した記憶媒体、さらには、楽音合成用データの新規なデータ構造ならびに該新規なデータ構造の楽音合成用データを記憶した記憶媒体、を提供しようとするものである。
【課題を解決するための手段】
【０００５】
上記課題の解決のために、本発明者は、演奏者による楽器の生演奏によって得られた波形データ中の振幅やピッチなどの楽音要素の時変動特性には、演奏者が意図した若しくは制御可能な変動成分と、演奏者が意図しない若しくは制御できない変動成分とが有ることに着目し、少なくとも１つの時系列的な成分を抽出し、これを調整・制御することで、有効かつ高品質な制御が行なえる、という発想を想起した。
【０００６】
そこで、本発明に係る楽音データ生成方法は、オリジナル波形データにおける少なくとも１つの特定の楽音要素に関して離散的な変動値列を取得する第１のステップと、前記変動値列から、時定数的な因子に従い、少なくとも１つの時系列的な成分値列を抽出する第２のステップとを具備し、前記第２のステップで抽出される前記成分値列を少なくとも用いて前記特定の楽音要素の前記変動値列を表現することを特徴とする。
【０００７】
本発明は、演奏者が意図した若しくは制御可能な変動成分は、時定数的な因子を持つとの認識に立つことで、前記変動値列から、時定数的な因子に従い、少なくとも１つの時系列的な成分値列を抽出することを特徴とする。これにより、例えば、演奏者が意図した若しくは制御可能な変動成分と、演奏者が意図しない若しくは制御できない変動成分とを、算術的若しくは計量的に分析しうるようになる。前記変動値列から時定数的な因子に従い少なくとも１つの時系列的な成分値列を抽出することは、一実施例として、時定数的な因子に依存して、変動値列を２つの時系列的な成分値列に分離抽出することからなる。例えば、前記変動値列から時定数の相対的に大きな変動成分を抽出し、第１の成分値列として生成し、前記変動値列から時定数の相対的に小さな変動成分を抽出し、第２の成分値列として生成するようにしてよい。時定数の相対的に大きな変動成分の抽出は、典型的には、適宜の平滑化関数による処理又はローパスフィルタ処理等によって適宜行なえる。本明細書ではこれらの処理を総称して「平滑化」ということにする。時定数の相対的に大きな変動成分を抽出することにより、演奏者が意図した若しくは制御可能な変動成分の抽出を行なうことができる。以下説明する実施例では、このような時定数の相対的に大きな変動成分すなわち演奏者が意図した若しくは制御可能な変動成分を、「うねり」ということにする。一実施例において、変動値列を平滑化することに基づき生成される第１の成分値列とは、「うねり」値列である。一方、時定数の相対的に小さな変動成分とは、演奏者が意図しない若しくは制御できない変動成分に対応付けることができ、これは、一例として、変動値列に対する第１の成分値列すなわち「うねり」値列の残差として算術的に生成することができる。以下説明する実施例では、このような時定数の相対的に小さな変動成分すなわち演奏者が意図しない若しくは制御できない変動成分を、「ゆらぎ」ということにする。すなわち、一実施例において、変動値列と第１の成分値列（「うねり」値列）との差分に基づき生成される第２の成分値列とは、「ゆらぎ」値列である。
【０００８】
このように、本発明の実施例によれば、特定の楽音要素（例えば振幅あるいはピッチ）の変動値列を、時定数的特性の異なる少なくとも第１及び第２の成分値列（「うねり」値列と「ゆらぎ」値列）に分離して表現することができる。これにより、これらを使用して楽音波形合成を行なうに際して、第１の成分値列（「うねり」値列）と第２の成分値列（「ゆらぎ」値列）とを独立に可変調整・制御することができるようになり、高品質な制御が行なえる。例えば、ピッチや振幅の変動において異なる特性又は癖を示す複数の波形データを使用してユニゾン音や和音をポリフォニック合成するような場合に、演奏者が意図した若しくは制御可能な変動成分に相当する第１の成分値列（「うねり」値列）の方を適宜可変調整し、演奏者が意図しない若しくは制御できない変動成分に相当する第２の成分値列（「ゆらぎ」値列）はあまり又はほとんど可変制御しないようにすることで、バランスのとれた調整を適切かつ容易に行なうことができるようになる。すなわち、本発明の実施例によれば、複音合成の際にそれぞれの楽音の表情やゆらぎのばらつき度合いを可変制御することができる。さらには、複音合成に限らず、楽音合成一般において、本発明の実施例に従い「うねり」と「ゆらぎ」として分離抽出された変動成分を独立に制御することにより、今までになかった楽音制御パラメータ、例えば、合成音の表情の度合いや、アコースティック楽器特有の人間的なゆらぎなど、を可変制御することができるようになる。
【０００９】
楽音合成の観点によると、本発明に係る楽音データ生成方法は、少なくとも１つの前記成分値列を、その値の大きさ及び時間軸の少なくとも一方について可変制御する第３のステップと、第３のステップで可変制御された前記成分値列に基づき、前記特定の楽音要素の前記変動値列を生成する第４のステップと、生成された変動値列を少なくとも用いて、前記第３のステップで可変制御された特徴を持つ前記特定の楽音要素を含む楽音データを生成する第５のステップとを更に具える。
【００１０】
更に本発明によれば、オリジナル波形データにおける特定の楽音要素の変動値列から時定数的な因子に従い抽出された少なくとも１つの成分値列を記憶した記憶手段を使用して、楽音を合成する方法が提供される。この楽音合成方法は、前記記憶手段から読み出す少なくとも１つの前記成分値列の時間軸を、任意の発音時間長に従い、伸張又は圧縮制御する第１ステップであって、これにより、該任意の発音時間長に見合った時間長を持つ前記成分値列を得るようにしたものと、前記記憶手段から読み出された又は前記第１ステップで時間軸が伸縮制御された少なくとも１つの前記成分値列の値を可変制御する第２ステップと、前記記憶手段から読み出された又は前記第１又は第２ステップで制御された少なくとも１つの前記成分値列に基づき、前記特定の楽音要素の前記変動値列を生成する第３ステップと、生成された変動値列と楽音要素に関する他のデータとを用いて、前記発音時間長にわたる楽音を合成する第４ステップとを具備することを特徴とする。
【００１１】
本発明は、上述のような方法の発明として実施できるのみならず、上述と同様の特徴を持つ装置の発明としても実施できる。さらには、上述と同様の特徴を持つ手順からなるコンピュータプログラムとしても実施でき、また、該プログラムを記憶した記憶媒体としても実施でき、さらには上述のような第１及び第２の成分値列（「うねり」値列と「ゆらぎ」値列）という新規なデータ構造からなる楽音合成用データを記憶したコンピュータ読み取り可能な記憶媒体としても実施できる。
【発明を実施するための最良の形態】
【００１２】
以下、添付図面を参照してこの発明の実施の形態を詳細に説明しよう。
［データ作成処理］
まず、オリジナル波形データに基づき、特定の楽音要素についての「うねり」値列と「ゆらぎ」値列とを生成する、本発明に係る波形データ生成方法及び装置及びプログラムの実施例（総称して「データ作成処理」ということにする）につき説明する。
【００１３】
図１は、本実施例に係るデータ作成処理のために使用するコンピュータの構成例を示す。図示の構成は単なる例示であり、通常知られた適宜の構成のコンピュータを使用してよい。図示例において、コンピュータは、周知のように、ＣＰＵ（中央処理部）１、ＲＯＭ（リードオンリーメモリ）２、ＲＡＭ（ランダムアクセスメモリ）３、キーボードやマウスなどの入力操作装置４、表示器５、ハードディスク６、ＣＤ（コンパクトディスク）及びＦＤ（フレキシブルディスク）などの着脱式記憶媒体のためのメモリインタフェース７、外部とデータの授受を行なうための通信インタフェース８、波形データを入力するための波形入力インタフェース９、Ａ／Ｄ変換器１０などを備えている。
【００１４】
図２は、本実施例に係るデータ作成処理の処理手順の一例を示すフロー図であり、この処理プログラムは、ＣＤ（コンパクトディスク）やその他の記憶媒体に記憶されていて、図１のコンピュータ内にインストールされ、ＣＰＵ１によって実行される。
図２は大別して２つのステップＳ１，Ｓ２からなる。第１のステップＳ１は、オリジナル波形データにおける少なくとも１つの特定の楽音要素に関して離散的な変動値列を取得するものであり、このステップＳ１は、公知の如何なる手順を使用してもよい。好適な一例を例示すると、次の通りである。
【００１５】
ステップＳ１１は、分析すべきオリジナル波形データを取得するステップである。その詳細は、例えば、図１において、生演奏音をマクロフォン１２でピックアップし、これをＡ／Ｄ変換器１０でデジタル波形データ（ＰＣＭ波形データ）に変換し、インタフェース９及びコンピュータバス１１を介してコンピュータ内の適宜のメモリ（ＲＡＭ３又はハードディスク６など）に保存する。図３（ｃ）は、分析すべきオリジナル波形データの一例を示す。
【００１６】
次のステップＳ１２では、該オリジナル波形データを時系列的に複数の区間に分割し、分割した各区間毎に、振幅又はピッチのような各種の楽音要素の少なくとも特定の１種につき代表値を求め、適宜定めた基準値に対する各区間毎の代表値のずれを変動値として求め、当該特定の楽音要素に関する各区間毎の変動値の時系列からなる、離散的な変動値列を生成する。本実施例では、ピッチ及び振幅についての変動値列をそれぞれ生成するものとする。一例として、公知の波形周期分析／判別技術を用いて、オリジナル波形データの波形を１周期毎に判別し、判別した１周期波形を１区間として、該１周期波形（１区間）内の各サンプル振幅の実効値（パワー値）の平均値を算出してこの平均振幅値を当該区間の振幅の代表値とし、また、該１周期波形（１区間）の時間長の逆数を周波数（楽音ピッチ）として算出し、これを当該区間のピッチの代表値とすればよい。あるいは、別の例として、判別した所定複数周期波形を１区間として、該複数周期波形（１区間）における各サンプル振幅の実効値（パワー値）の平均値を算出してこの平均振幅値を当該区間の振幅の代表値とし、また、該複数周期波形（１区間）における各周期毎の時間長の逆数を周波数（楽音ピッチ）としてそれぞれ算出し、この平均値を算出し、この平均ピッチを当該区間のピッチの代表値とすればよい。なお、基準値は、各区間毎の代表値の変動の略中間値（例えば複数区間の平均値）などに適宜定めればよい。また、各区間毎の代表値のずれを変動値として取り出す手法は、基準値Ｒａ又はＲｐに対する各区間毎の代表値の差を変動値として算出してもよいし、あるいは基準値に対する各区間の代表値の比を変動値として算出してもよい。あるいは、各区間毎の代表値そのものを変動値として用いてもよい。
【００１７】
生成されたピッチ及び振幅についての変動値列は、コンピュータ内の適宜のメモリ（ＲＡＭ３又はハードディスク６など）に一時保存される。図３（ａ）における黒ドットは、図３（ｃ）のオリジナル波形データに基づき生成された振幅変動値列の一例を示し、図３（ｂ）における黒ドットは同オリジナル波形データに基づき生成されたピッチ変動値列の一例を示す。図３（ａ），（ｂ）におけるラインＲａ，Ｒｐは、振幅基準値Ｒａ及びピッチ基準値Ｒｐを示す。各変動値は、振幅基準値Ｒａあるいはピッチ基準値Ｒｐを基準にした相対値で表現されるものとしてもよい。なお、振幅基準値Ｒａ又はピッチ基準値Ｒｐは一定値でもよいが、任意に変化させてもよい。なお、本発明で問題にしている「うねり」や「ゆらぎ」は、音が比較的安定して持続する部分に現われる特徴であるから、概して、オリジナル波形データにおける持続音部分を対象にして上記の分析を行なえばよい。なお、分析区間は、上記のように１又は複数の波形周期に同期している必要はなく、適宜の固定的時間長又は可変時間長からなるフレーム区間であってもよい。
【００１８】
上記第１のステップＳ１の変形例として、オリジナル波形データをコンピュータに付属するマイクロフォン１２でピックアップする手法で取得するのではなく、通信インタフェース８を介して外部から取り込んだり、メモリインタフェース７を介して着脱式記憶媒体１３から取り込むようにしてもよい。更に、別の変形として、他の図示しない波形分析装置あるいはコンピュータ等を用いて既に作成されたピッチ及び振幅についての変動値列データを、通信インタフェース８を介して外部から取り込んだり、メモリインタフェース７を介して着脱式記憶媒体１３から取り込むことで、これらの変動値列を取得するようにしてもよい。
【００１９】
次に、第２のステップＳ２では、上記のように第１のステップＳ１で取得した各変動値列を、時定数的な因子に従い、それぞれ、少なくとも２つの時系列的な成分値列に分離する。本実施例では、第１の成分値列として、時定数の相対的に大きな変動成分（すなわち演奏者が意図した若しくは制御可能な変動成分）に相当する「うねり」値列を生成し、第２の成分値列として、時定数の相対的に小さな変動成分（すなわち演奏者が意図しない若しくは制御できない変動成分）に相当する「ゆらぎ」値列を生成する。
【００２０】
詳しくは、ステップＳ２１では、変動値列を平滑化処理することで、時定数の相対的に大きな変動成分を抽出し、これを「うねり」値列（第１の成分値列）として生成する。時定数の相対的に大きな変動成分を抽出するとは、換言すれば、変動値列における細かな変化に追従しないようにし、滑らかな変動成分を抽出することである。平滑化処理の具体的手法は、ローパスフィルタ演算を施す手法、あるいは、移動メディアン（中央値）法、各種（単純、加重、指数平滑等）の移動平均法、移動モード法、ガウシアンフィルタを用いる手法、ディスプレイ表示又はプリントアウトされた変動列のプロット画像を指でなぞって平滑化プロットを手動描画作成する手法など、如何なる手法を用いてもよく、また、１手法のみに依らずに複数の手法を組み合わせて使用してもよい。生成されたピッチ及び振幅についての「うねり」値列（第１の成分値列）は、コンピュータ内の適宜のメモリ（ＲＡＭ３又はハードディスク６など）に保存される。図３（ａ）における白ドットは同図中で黒ドットで示された振幅変動値列を平滑化することで得られた「うねり」値列（第１の成分値列）の一例を示し、図３（ｂ）における白ドットは同図中で黒ドットで示されたピッチ変動値列を平滑化することで得られた「うねり」値列（第１の成分値列）の一例を示す。
【００２１】
次のステップＳ２２では、第１のステップＳ１で取得したピッチ及び振幅についての変動値列の各々と、それぞれに対応して上記ステップＳ２１で生成された「うねり」値列（第１の成分値列）との差分をそれぞれ各区間毎に演算し、その結果得られる各差分値列を、時定数の相対的に小さな変動成分に相当する、「ゆらぎ」値列（第２の成分値列）として生成する。生成されたピッチ及び振幅についての「ゆらぎ」値列（第２の成分値列）は、コンピュータ内の適宜のメモリ（ＲＡＭ３又はハードディスク６など）に保存される。図３（ａ）における各区間毎の白ドットと黒ドットとの差分値が振幅についての「ゆらぎ」値を示し、図３（ｂ）における各区間毎の白ドットと黒ドットとの差分値がピッチについての「ゆらぎ」値を示す。
【００２２】
なお、変動値列における時定数の相対的に小さな変動成分に相当する、「ゆらぎ」値列（第２の成分値列）の生成の仕方は、上記のような差分演算によるものに限らず、他の適宜の手法を用いてもよい。
また、第２のステップＳ２においては、変動値列を上記のように「うねり」と「ゆらぎ」に対応する２つの成分値列に少なくとも分離すればよいが、本発明の実施にあたって、必要に応じて、更に余分の適宜の成分値列を変動値列から分離生成するようにしてもよい。また、もちろん、「うねり」若しくは「ゆらぎ」の一方の成分値列のみを生成し、メモリに保存するようにしてもよい。
【００２３】
なお、通常知られているように、サンプリングした波形データの楽音要素は大きく分けると、波形（音色要素波形）、振幅、ピッチを含み、それらは、別個の分析データとして分離して記憶するようにすることができ、そして、楽音再生時においては、それらの楽音要素を用いて波形（音色要素波形）、振幅、ピッチの３要素が一体化された楽音が合成される。その場合、分析データにおける振幅及びピッチの変動値列における各変動値は、分析データにおける音色要素波形の持つ基準値Ｒａ，Ｒｐを基準にした相対値で表現される。そして、楽音合成時においては、振幅基準値Ｒａはベロシティ等の音量制御データで可変設定でき、この可変設定される振幅基準値Ｒａに対して上記振幅変動値列に応じた振幅の時変動制御が施される。また、ピッチ基準値Ｒｐは発生楽音の指定音高等の楽音ピッチ指定データで可変設定でき、この可変設定されるピッチ基準値Ｒｐに対して上記ピッチ変動値列に応じたピッチの時変動制御が施される。
【００２４】
［楽音合成処理＝「うねり」と「ゆらぎ」の制御］
次に、上記のように生成された各楽音要素（振幅及びピッチ）に対応する「うねり」値列（第１の成分値列）と「ゆらぎ」値列（第２の成分値列）とを用いて楽音合成を行う実施例につき説明する。この楽音合成処理は、鍵盤等の演奏操作手段による演奏に応じてあるいは自動演奏の実行に伴ってリアルタイムに行うようにしてもよいし、あるいは、予め用意された演奏データに基づき非リアルタイムに行うようにしてもよい。
【００２５】
この楽音合成処理のためには、一例として、図１に示したような構成のコンピュータをハードウェアとして使用し、図４に示すようなうねり及びゆらぎ制御／楽音合成プログラムを該コンピュータ内にインストールして、ＣＰＵ１によって該プログラムを実行する。そのために、種々のタイプの楽音及び又は奏法について上述のようにして作成された各楽音要素（振幅及びピッチ）に対応する「うねり」値列（第１の成分値列）と「ゆらぎ」値列（第２の成分値列）とを含むデータ構造からなる楽音合成用データのデータベースが適宜の記憶装置（例えばハードディスク６）内に構成されている。このデータベースに記憶された各楽音及び又は奏法に対応する波形データは、１つの楽音及び又は奏法につき、上述のように少なくとも波形（音色要素波形）、振幅、ピッチの３つの楽音要素にそれぞれ対応する時系列的なデータ（分析データ若しくは楽音合成用データ）を含む。ここで、振幅及びピッチに関する時系列的なデータ（分析データ若しくは楽音合成用データ）とは、上述の通り、振幅及びピッチにそれぞれ対応する「うねり」値列（第１の成分値列）と「ゆらぎ」値列（第２の成分値列）とを含む。波形（音色要素波形）に関する時系列的なデータとは、例えば、図３（ｃ）に示すような各区間ごとの波形（音色要素波形）をＰＣＭあるいはＤＰＣＭ等の適当なデータ形式でそれぞれ表した波形サンプルデータであってもよいが、公知のように、記憶すべき波形サンプルデータ量を圧縮するために、複数区間につき１つの代表的な波形サンプルデータを記憶しておくようにしてもよい。その場合は、再生時における代表的波形サンプルデータの繰り返し読出し又は波形補間処理等によって、時変動する高品質な波形（音色要素波形）を再生することができる。なお、図１のコンピュータにおいては、楽音波形合成又は発生を行うために楽音合成部１４及びスピーカ１５等の必要なハードウエア資源及びソフトウェア資源が設けられている。公知のように、楽音合成部１４は、ハードウェア音源装置によって構成してもよいし、ソフトウェア音源によって構成してもよい。
【００２６】
鍵盤等の演奏操作手段による演奏に応じてあるいは自動演奏の実行に伴って発音すべきタイミングでリアルタイムに、あるいは、発音すべきタイミングに先行して非リアルタイムに、発生すべき楽音の音色又は奏法及びピッチ等が指定されると、当該発生すべき楽音のための楽音合成処理が開始される。公知のように、典型的には、１つの楽音を発生する場合、まず、アタック部の楽音を合成し、次に持続部の楽音を合成し、そしてレリース部又は減衰部の楽音を合成することで、それらの部分が順次連続した楽音波形を合成することができる。本実施例に関連するうねり及びゆらぎ制御／合成は楽音の持続部に関して実施されるものとしているので、アタック部及びレリース部等については説明は省略する。持続部の楽音を合成するとき、指定された楽音音色又は奏法に対応する音色要素波形データと、振幅の「うねり」値列（第１の成分値列）及び「ゆらぎ」値列（第２の成分値列）と、ピッチの「うねり」値列（第１の成分値列）及び「ゆらぎ」値列（第２の成分値列）とが、上記データベースから時系列順に夫々読み出される。そのとき、図４に示すようなうねり及びゆらぎ制御／楽音合成プログラムに従って、振幅及びピッチの変動値列が夫々生成され、生成されたピッチ変動値列に従う時変動可能なピッチで読み出した音色要素波形データのピッチが決定され、かつ生成された振幅変動値列に従う時変動可能な振幅制御が該波形データに施され、こうして、時変動可能な複数の楽音要素（波形、ピッチ、振幅）に基づき楽音波形が合成される。次に、図４の処理について詳しく説明する。なお、本発明は、持続部楽音の合成のみに限られるものではなく、適宜の部分の楽音合成に際して応用することができるのは勿論である。
【００２７】
図４において、ステップＳ３では、上記データベースから読み出す振幅及びピッチの「うねり」値列（第１の成分値列）及び「ゆらぎ」値列（第２の成分値列）の時間軸を、所望の持続発音時間長に従い、それぞれ独立に伸張又は圧縮する制御を行う。非リアルタイム合成や自動演奏の場合は、用意された演奏データから持続発音時間長が判るので、それを用いればよい。演奏者の演奏に応じたリアルタイム合成の場合は、持続発音時間長として適宜の予測値を用い、楽音合成の進行に伴って予測発音時間長を逐次修正していくような手法をとればよい。すなわち、合成波形周期又は区間の時刻管理を適切に行いながら、「うねり」値列（第１の成分値列）及び「ゆらぎ」値列（第２の成分値列）の生成を行うようにすればよい。なお、上記データベースから読み出す音色要素波形の時系列データに対しても、同様の時間軸伸縮制御が施される。図５は、そのような時間軸伸縮制御の一例を模式的に示したものである。図５（ａ）は、データベースに記憶されている音色要素波形Ｗの時系列データと、振幅Ａ（又はピッチ）の「うねり」値列（第１の成分値列）あるいは「ゆらぎ」値列（第２の成分値列）とをイラスト的に示している。図５（ｂ）はこれらの時間軸を圧縮した例をイラスト的に示している。なお、データの補間合成や繰り返し（ループ）あるいは飛び越し（間引き）などの種々の公知の技術を駆使して時間軸の伸縮が行われるが、このような時間軸の伸縮技術の詳細は例えば特開平１０−３０７５８６号公報やその他で公知であるから、ここでは特に詳しく説明しない。なお、「うねり」値列（第１の成分値列）と「ゆらぎ」値列（第２の成分値列）に対して、それぞれ独立にその時間軸の伸縮制御を行うことができる。
【００２８】
ステップＳ４では、上記のように所望の持続発音時間長に従って時間軸が伸縮制御された振幅及びピッチの「うねり」値列（第１の成分値列）及び「ゆらぎ」値列（第２の成分値列）に対して、それぞれ独立に、その値の大きさを可変調整・制御する。各値の調整は、それぞれ適宜の倍率を掛ける（重み付けする）ことで行うようにしてよいし、加算又は減算によって行うようにしてもよい。図５（ｂ）におけるＡ’は、振幅Ａ（又はピッチ）の「うねり」値列（第１の成分値列）あるいは「ゆらぎ」値列（第２の成分値列）を一定の倍率係数（重み付け係数）で重み付け制御することによって得られた変更後の「うねり」値列（第１の成分値列）あるいは「ゆらぎ」値列（第２の成分値列）を例示する。もちろん、倍率係数（重み付け係数）は、この持続発音時間中に一定値を維持するものに限らず、時間的に適宜変化されるようにしてもよい。この倍率係数（重み付け係数）のような制御データ又はパラメータ類は、操作者による調整用操作子の操作に応じて発生されるようになっていてもよいし、あるいは、適宜のメモリあるいはデータ発生器から操作者による選択に応じて又は奏法等に応じて自動的に発生されるようになっていてもよいし、あるいは、コンピュータで実行する何らかのアプリケーションプログラムの実行過程で自動的に発生されるようになっていてもよい。
【００２９】
なお、演奏者が意図しない若しくは制御できない変動成分に相当する「ゆらぎ」値列（第２の成分値列）に対しては、このステップＳ４において、あまり、読み出された値から大きく変化させないようにするか、若しくは全く変化させないようにした方が好ましいと思われる。しかし、そのような制御に限定されるわけではない。なお、ステップＳ４では、すべてを可変制御する必要はなく、少なくとも１つの楽音要素（振幅又はピッチ）の「うねり」値列（第１の成分値列）又は「ゆらぎ」値列（第２の成分値列）のうちの少なくとも１つを可変制御する構成であってもよい。
【００３０】
ステップＳ５では、上記ステップＳ４で可変制御された振幅の「うねり」値列（第１の成分値列）に「ゆらぎ」値列（第２の成分値列）を加算することで、振幅の変動値列を生成し、また、上記ステップＳ４で可変制御されたピッチの「うねり」値列（第１の成分値列）に「ゆらぎ」値列（第２の成分値列）を加算することで、ピッチの変動値列を生成する。勿論、この場合に行う演算のタイプは、加算に限らず、変動値列のデータ表現形式がリニアかデシベルかなど設計上の事情に応じて加減乗除のうち任意のものであってさしつかえない。要は、分離された状態で可変制御された特定の楽音要素（例えば振幅又はピッチ）についての「うねり」値列（第１の成分値列）と「ゆらぎ」値列（第２の成分値列）とを合成することで、該特定の楽音要素（例えば振幅又はピッチ）についての変動値列を生成（再現）するようにすればよい。
【００３１】
ステップＳ６では、発生しようとする楽音の基準的ピッチを可変設定するピッチ基準値Ｒｐに対して上記のように可変制御されて生成されたピッチ変動値列を加算（又は乗算等の設計上定まる演算）することで時系列的に変化するピッチ設定情報を生成し、このピッチ設定情報に従って、発生しようとする楽音の音色又は奏法に応じた音色要素波形データを読み出し、かつ、発生しようとする楽音の基準的音量を可変設定する振幅基準値Ｒａに対して上記のように可変制御されて生成された振幅変動値列を加算（又は乗算等の設計上定まる演算）することで時系列的に変化する音量振幅設定情報を生成し、この音量振幅設定情報に従って、上記所望ピッチで読み出す波形データの音量振幅を設定し、こうして、時変動可能に制御された複数の楽音要素（波形、ピッチ、振幅等）に基づく楽音波形合成が行われる。上述のように、楽音波形合成（波形発生）にあたって、「うねり」値列（第１の成分値列）と「ゆらぎ」値列（第２の成分値列）とを独立に可変制御することができるので、高品質な制御を実現することができ、しかも、容易に制御できる。なお、上述の例では、「うねり」値列（第１の成分値列）と「ゆらぎ」値列（第２の成分値列）の両方を楽音合成に用いる例を示したが、これに限らず、いずれか一方の成分値列を楽音合成に用いるようにしてもよい。
【００３２】
本発明を実施する装置は、パソコン等の汎用コンピュータに限らず、電子楽器や自動演奏シーケンサなど、音楽演奏専用機器あるいは楽音合成専用機器等であってもよい。図６は、本実施例に従う楽音合成処理機能を具えた電子楽器の一構成例を示すブロック図である。この電子楽器においては、楽音データベースとして記憶装置２１が設けられており、この記憶装置２１には外部の（又はこの電子楽器に付属する）データ作成装置２０によって作成された楽音合成用データが記憶される。すなわち、データ作成装置２０は、図１及び図２を参照して前述したような本発明に係る楽音データ生成処理を実行し、種々のタイプの楽音及び又は奏法について上述のようにして作成された各楽音要素（振幅及びピッチ）に対応する「うねり」値列（第１の成分値列）と「ゆらぎ」値列（第２の成分値列）とを含むデータ構造からなる楽音合成用データがデータベースとして記憶装置２１に記憶される。
【００３３】
図６において、鍵盤回路５０は、演奏を行うための鍵を複数有する。検出回路５１は、鍵盤回路５０の鍵の押鍵を示すノートオン信号、離鍵を示すノートオフ信号、音高情報を示すキーコード信号および押鍵速度を示すベロシティを検出して、楽音制御データ供給回路５７に供給する。検出回路５２は、鍵盤回路５０の鍵の押鍵圧力を示すアフタタッチ信号を検出して、楽音制御データ供給回路５７に供給する。
【００３４】
パネルスイッチ５５は、マニュアル操作で音量調整、音色選択または種々の効果付与、変調等を行うための指示を与えるスイッチや、各種楽音要素を可変調整・制御するための操作子等を有する。スイッチ検出回路５６は、パネルスイッチ５５上のスイッチや操作子の操作状態を検出し、楽音制御データ供給回路５７に出力する。パネルスイッチ５５内の音色選択スイッチあるいは奏法選択スイッチにより所望の音色あるいは奏法を選択することができる。所望の音色あるいは奏法が選択されると、楽音制御データ供給回路５７は、該選択に応じた制御データを波形発生回路６２、ディジタルフィルタ６３、ピッチ用うねり／ゆらぎ生成回路５８、フィルタ係数ＥＧ５９、振幅用うねり／ゆらぎ生成回路６０に供給する。また、振幅やピッチを可変調整するための操作子が操作されると、それに応じた調整／制御データをピッチ用うねり／ゆらぎ生成回路５８あるいは振幅用うねり／ゆらぎ生成回路６０に供給する。
【００３５】
楽音制御データ供給回路５７は、また検出回路５１，５２より検出されたキーイベントおよびスイッチ検出回路５６より検出されたスイッチ状態を受けて、所要の信号をドライバ５４に出力する。ドライバ５４は、入力された信号に応じて選択された音色あるいは奏法等を表示器５３に表示する。表示器５３は、例えば液晶表示器等である。
楽音制御データ供給回路５７は、鍵盤回路５０から検出されたキーイベントに応じて、割り当てられた所定の発音チャンネルに対応する音源部６８に楽音制御データを供給する。もし、時分割発音チャンネルが１６チャンネル備えられているとすれば、１６の音源部の内の所定のチャンネルの音源部６８に楽音制御データを供給する。すなわち、音源部６８の各構成要素は１６チャンネル時分割動作により、１６の独立した楽音を時分割で生成し、アキュムレータ６５に出力している。
【００３６】
ピッチ用うねり／ゆらぎ生成回路５８は、楽音制御データ供給回路５７から与えられた音色又は奏法の選択データ及びピッチに応じて、記憶装置２１から、当該選択された音色又は奏法についての上記ピッチについての「うねり」値列（第１の成分値列）と「ゆらぎ」値列（第２の成分値列）とを取得し、図５のステップＳ３〜Ｓ５で説明したのと同様の処理を行い、当該選択された音色又は奏法についてのピッチの変動値列を生成する。この生成されたピッチの変動値列は、加算器６１に与えられる。一方、楽音制御データ供給回路５７は、検出回路５１にて検出された演奏鍵のキーコード信号に対応するピッチデータを加算器６１に供給する。このピッチデータは、前述のピッチ基準値Ｒｐに相当する。こうして、加算器６１において、発生しようとする楽音の基準的ピッチであるピッチ基準値Ｒｐに対して上記のように可変制御されて生成されたピッチ変動値列を加算することで時系列的に変化するピッチ設定情報を生成し、これを波形発生回路６２に供給する。例えば、ピッチデータ（ピッチ基準値Ｒｐ）が周波数の対数を表すセントスケールで表されているとすると、ピッチ変動値列と加算されることにより楽音ピッチの対数信号を形成する。周波数の対数が聴感上はリニアとなるため、ピッチデータと係数の加算による変調は、自然なピッチ変調を与えるのに便宜である。しかし、これに限らず、ピッチデータ（ピッチ基準値Ｒｐ）はリニア表現であってもよい。なお、このほか、例えば楽音の立上がりにおけるアタックピッチの揺れや周波数の揺れを模擬するエンベロープを生成する回路を更に設け、これによって、楽音立上り時のアタックピッチ変調効果を付加した波形を生成するようにしてもよいが、詳細は省略する。
【００３７】
波形発生回路６２は、ノートオン信号またはノートオフ信号により、波形生成の開始と終了を制御され、楽音制御データ供給回路５７から供給される波形指定信号に応じた形状の波形を生成し、ディジタルフィルタ６３に供給する。すなわち、波形発生回路６２は、楽音制御データ供給回路５７から与えられた音色又は奏法の選択データに応じて、記憶装置２１から、当該選択された音色又は奏法についての音色要素波形を取得し、これを加算器６１から与えられるピッチ設定情報に応じたピッチで読出し生成すると共に、この音色要素波形を時間的に切り替えつつ補間合成等を行う。なお、波形発生回路６２における音源方式は、このような波形メモリ音源方式に限らず、ＦＭ音源、ＡＭ音源、高調波合成音源または物理モデル音源等、任意の音源方式により構成してもよい。すなわち、どのような音源方式を用いようとも、ピッチや振幅などの少なくとも１つの楽音要素の変動値列を「うねり」値列と「ゆらぎ」値列とに分離して制御するようにした本発明の利点を享受することができる。
【００３８】
ディジタルフィルタ６３は、楽音制御データ供給回路５７およびフィルタ係数ＥＧ５９から供給されるフィルタ係数等の制御データに応じて例えばカットオフ周波数を変化させ、音色制御を行う。例えば、楽音の立上がりにおいては、カットオフ周波数を上げてきらびやか音色として、時間の経過とともにカットオフ周波数を下げて落ち着いた音色に変化させることもできる。
【００３９】
ディジタルフィルタ６３から出力された信号は、エンベロープ乗算回路６４に供給され、振幅用うねり／ゆらぎ生成回路６０にて生成された持続部用振幅制御エンベロープ波形との乗算が行われ、発生する楽音波形の音量振幅を制御する。なお、この回路６０では、振幅用うねり／ゆらぎ生成に限らず、アタック部やリリース部用の音量振幅制御エンベロープ波形も生成するが、その詳細説明は省略する。振幅用うねり／ゆらぎ生成回路６０は、楽音制御データ供給回路５７から与えられた音色又は奏法の選択データに応じて、記憶装置２１から、当該選択された音色又は奏法についての各発音ノート毎の強さに合わせて「うねり」値列（第１の成分値列）と「ゆらぎ」値列（第２の成分値列）とを取得し、図５のステップＳ３〜Ｓ５で説明したのと同様の処理を行い、当該選択された音色又は奏法についての振幅の変動値列を生成する。この生成された振幅の変動値列を振幅基準値Ｒａと加算又は乗算することで、持続部用振幅制御エンベロープ波形を生成し、エンベロープ乗算回路６４に供給する。
【００４０】
エンベロープ乗算回路６４から出力された楽音信号は、音源部６８の出力信号となり、発音チャンネルの数だけの楽音信号が時分割でアキュムレータ６５に供給される。アキュムレータ６５は、供給された各発音チャンネルの楽音信号を合成して、Ｄ／Ａ変換器６６に供給する。Ｄ／Ａ変換器６６に供給された楽音信号は、ディジタル信号からアナログ信号に変換され、サウンドシステム６７において発音される。
【００４１】
なお、演奏中にリアルタイムでパネルスイッチ５５において、各回路５８，５９，６０に対する制御データ又はパラメータをマニュアルで入力することができる。また、エディットモードにおいて、楽音発生に対して非リアルタイムに、パネルスイッチ５５内のパラメータスイッチや操作子を操作することにより、各回路５８，５９，６０に対する制御データ又はパラメータを可変設定・調整することもできる。また、選択・制御・調整用の操作手段としては、パネルスイッチ５５に限らず、マウスやテンキー、アルファニューメリックキーボード、演奏用又は各種操作用のタッチパッドなど、適宜の操作手段を用いてよい。
【図面の簡単な説明】
【００４２】
【図１】本実施例に係るデータ作成処理のために使用するコンピュータの構成例を示すブロック図。
【図２】本実施例に係るデータ作成処理の処理手順の一例を示すフロー図。
【図３】本実施例における波形データの分析例を示す波形図。
【図４】本実施例におけるうねり及びゆらぎ制御／楽音合成プログラムの一例を示すフロー図。
【図５】図４のうねり及びゆらぎ制御／楽音合成プログラムに従ううねり値列及びゆらぎ列の時間軸伸縮制御例とうねり値の倍率調整例をイラスト的に示す波形図。
【図６】本実施例に従う楽音合成処理機能を具えた電子楽器の一構成例を示すブロック図。
【符号の説明】
【００４３】
１  ＣＰＵ（中央処理部）
２  ＲＯＭ（リードオンリーメモリ）
３  ＲＡＭ（ランダムアクセスメモリ）
４  入力操作装置
５  表示器
６  ハードディスク
２０  データ作成装置
２１  記憶装置
５８  ピッチ用うねり／ゆらぎ生成回路
６０  振幅用うねり／ゆらぎ生成回路
【図１】
2006113487.tif 000003
【図２】
2006113487.tif 000004
【図３】
2006113487.tif 000005
【図４】
2006113487.tif 000006
【図５】
2006113487.tif 000007
【図６】
2006113487.tif 000008