(57)【特許請求の範囲】
【請求項１】
最初の部分はそのまま読み出し、所定の時間経過後は所定の区間を繰り返し読み出すような楽音波形に関して、楽音波形から振幅成分および周波数成分を抽出し、前記繰り返し読み出す区間の前記振幅成分の平均値を求め、個々の前記振幅成分の振幅値の前記平均値からのズレとして現れる揺らぎを任意の圧縮率により圧縮し、前記抽出した周波数成分と前記揺らぎを圧縮した振幅成分を用いて楽音波形を合成する、ことを特徴とする楽音波形の形成方法。
【請求項２】
最初の部分はそのまま読み出し、所定の時間経過後は所定の区間を繰り返し読み出すような楽音波形に関して、楽音波形から振幅成分および周波数成分を抽出し、前記繰り返し読み出す区間の前記周波数成分の平均値を求め、個々の前記周波数成分の周波数値の前記平均値からのズレとして現れる揺らぎを任意の圧縮率により圧縮し、前記抽出した振幅成分と前記揺らぎを圧縮した周波数成分を用いて楽音波形を合成する、ことを特徴とする楽音波形の形成方法。
【請求項３】
最初の部分はそのまま読み出し、所定の時間経過後は所定の区間を繰り返し読み出すような楽音波形に関して、楽音波形を各倍音成分ごとに分割し、該分割された各倍音成分ごとの楽音波形から振幅成分および周波数成分を抽出し、該抽出された振幅成分および周波数成分ごとに揺らぎを圧縮し、前記揺らぎの圧縮された振幅成分および周波数成分を用いて各倍音成分を合成し、合成後の各倍音成分を加算して楽音波形を形成する、ことを特徴とする請求項１または２のいずれかに記載の楽音波形の形成方法。
【請求項４】
最初の部分はそのまま読み出し、所定の時間経過後は所定の区間を繰り返し読み出すような楽音波形に関して、楽音波形を各倍音成分ごとに分割する帯域分割手段と、該分割された各倍音成分から振幅成分および周波数成分を抽出する振幅成分抽出手段および周波数成分抽出手段と、該抽出された振幅成分及び周波数成分ごとに前記繰り返し読み出す区間の前記振幅成分及び周波数成分の平均値からのズレとして現れる揺らぎを任意の圧縮率で圧縮する振幅揺らぎ圧縮手段および周波数揺らぎ圧縮手段と、前記各揺らぎ圧縮手段により揺らぎの圧縮された振幅成分及び周波数成分を用いて各倍音成分を合成する倍音成分合成手段と、合成された各倍音成分を加算して楽音波形を形成する帯域成分加算手段と、を有することを特徴とする楽音波形の形成装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、電子楽器に用いる楽音波形の不自然な揺らぎを圧縮した高品質の楽音波形を形成する楽音波形形成方法及び形成装置に関する。
【０００２】
【従来の技術】
従来、電子楽器には、予め波形メモリに記憶された楽音波形データを順次読み出して楽音信号に再生することにより楽音を発生するようにした読み出し方式を採用するものが知られている。
【０００３】
かかる読み出し方式の１つとして、主としてメモリの節約のために、楽音の立ち上がり部分と、これに続く繰り返し部分とからなる楽音波形データをメモリに記憶しておき、楽音の立ち上がり部分と繰り返し部分の各楽音波形データを連続して１回読み出し、以降は繰り返し部分の楽音波形データを繰り返して読み出すことにより、持続する楽音信号を発生するようにしたものがある。
【０００４】
このような方式において、繰り返し部分の波形を形成する方法として、繰り返し部分の波形と、その直前の波形をクロスフェードさせる方法が知られている。
【０００５】
しかしながら、この方式によりクロスフェードさせた波形は、振幅成分や周波数成分が大きく揺れている場合には、不自然な揺らぎを伴うループとして聴取され、楽音としての聴感が損なわれる。なお、ここで「揺らぎ」とは、抽出した振幅成分または周波数成分に含まれる時間的な変動をいう。
【０００６】
一般に、クロスフェード処理を利用することにより波形を作成すると、不自然な揺らぎが伴い耳障りになる。そこで、繰返し波形の揺らぎを圧縮して、質の高い繰返し波形の形成方法、形成装置が求められていた。ここで「揺らぎを圧縮する」とは、抽出した振幅成分および周波数成分の時間的な変動を選択的に減少させることをいう。
【０００７】
【発明が解決しようとする課題】
本発明は、かかる事情に鑑みなされたものであり、楽音波形から生じる不自然な揺らぎを圧縮した、質の高い自然な楽音波形の形成方法及び形成装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明に係る楽音波形の形成方法は、最初の部分はそのまま読み出し、所定の時間経過後は所定の区間を繰り返し読み出すような楽音波形に関して、楽音波形から振幅成分および周波数成分を抽出し、前記繰り返し読み出す区間の前記振幅成分の平均値を求め、個々の前記振幅成分の振幅値の前記平均値からのズレとして現れる揺らぎを任意の圧縮率により圧縮し、前記抽出した周波数成分と前記揺らぎを圧縮した振幅成分を用いて楽音波形を合成することを特徴とする。また本発明に係る楽音波形の形成方法は、最初の部分はそのまま読み出し、所定の時間経過後は所定の区間を繰り返し読み出すような楽音波形に関して、楽音波形から振幅成分および周波数成分を抽出し、前記繰り返し読み出す区間の前記周波数成分の平均値を求め、個々の前記周波数成分の周波数値の前記平均値からのズレとして現れる揺らぎを任意の圧縮率により圧縮し、前記抽出した振幅成分と前記揺らぎを圧縮した周波数成分を用いて楽音波形を合成することを特徴とする。さらに本発明に係る楽音波形の形成方法は、最初の部分はそのまま読み出し、所定の時間経過後は所定の区間を繰り返し読み出すような楽音波形に関して、楽音波形を各倍音成分ごとに分割し、該分割された各倍音成分ごとの楽音波形から振幅成分および周波数成分を抽出し、該抽出された振幅成分および周波数成分ごとに揺らぎを圧縮し、前記揺らぎの圧縮された振幅成分および周波数成分を用いて各倍音成分を合成し、合成後の各倍音成分を加算して楽音波形を形成することを特徴とする。
【０００９】
また、本発明に係る楽音波形の形成装置は、最初の部分はそのまま読み出し、所定の時間経過後は所定の区間を繰り返し読み出すような楽音波形に関して、楽音波形を各倍音成分ごとに分割する帯域分割手段と、該分割された各倍音成分から振幅成分および周波数成分を抽出する振幅成分抽出手段および周波数成分抽出手段と、該抽出された振幅成分及び周波数成分ごとに前記繰り返し読み出す区間の前記振幅成分及び周波数成分の平均値からのズレとして現れる揺らぎを任意の圧縮率で圧縮する振幅揺らぎ圧縮手段および周波数揺らぎ圧縮手段と、前記各揺らぎ圧縮手段により揺らぎの圧縮された振幅成分及び周波数成分を用いて各倍音成分を合成する倍音成分合成手段と、合成された各倍音成分を加算して楽音波形を形成する帯域成分加算手段と、を有することを特徴とする。
【００１０】
【作用】
本発明は、汎用計算機等を用いて、例えばクロスフェードされた繰返し波形から発生する不自然な揺らぎを圧縮するものである。このため、揺らぎの圧縮を希望する楽音波形を、揺らぎを圧縮する必要のある帯域成分と、揺らぎを圧縮しない帯域成分に分割し、揺らぎを圧縮する帯域成分については各倍音成分ごとに分割し、各倍音成分を振幅成分および周波数成分に分解して各成分毎に揺らぎを圧縮した後、これらを合成する。換言すれば、元となる波形の倍音成分から抽出した振幅成分および周波数成分それぞれについて揺らぎを圧縮し（時間的変動の幅をそれぞれ減少させ）、これによってそれぞれ揺らぎが圧縮された振幅成分および周波数成分を用いて揺らぎの圧縮された倍音を形成するものである。
【００１１】
これにより、音のレベルは変わらず揺らぎだけが圧縮された自然な再生波形が得られ、しかも、揺らぎの圧縮を自動的に行なうことができるので、操作が容易で短時間に楽音波形の形成が可能となる。
【００１２】
また、本発明によれば、各成分ごとに揺らぎを圧縮する際の圧縮率を制御することにより、楽音の揺らぎを自由に制御することも可能となる。
【００１３】
【実施例】
次に本発明に係る楽音形成装置を添付図面を参照しながら説明する。図１は本発明に係る楽音形成装置の機能構成を説明する概略ブロック図である。なお、本実施例では、入力波形として不自然な揺らぎの発生しやすいクロスフェードされた繰返し波形の場合を例に説明する。
【００１４】
図に示すように、本発明の楽音形成装置は、帯域分割器１、振幅成分抽出器２、周波数成分抽出器３、振幅成分揺らぎ圧縮器４、周波数揺らぎ圧縮器５、倍音成分合成器６、帯域成分加算器７により構成される。
【００１５】
係る構成において、例えば、クロスフェードによって作成された繰返し波形は、各帯域分割器１により、揺らぎを圧縮する帯域成分と、揺らぎを圧縮する必要のない帯域成分に分解される。
【００１６】
これは、一般に可聴限界に近い帯域や、レベルの低い帯域の揺らぎはあまり気にならないが、基音付近の帯域や、レベルの大きい帯域の揺らぎは気になるので、そのような帯域成分を取り出す処理である。
【００１７】
次いで、揺らぎを圧縮する帯域成分を各倍音成分ごとに分解する。分解された各倍音成分は、各倍音成分ごとに設けられている振幅成分抽出器２及び周波数成分抽出器３により、それぞれ振幅成分（エンベロープ）および周波数成分（ピッチ）が抽出される。
【００１８】
抽出された振幅成分および周波数成分の揺らぎは、それぞれの圧縮器、即ち振幅成分揺らぎ圧縮器４、および周波数成分揺らぎ圧縮器５により、各成分毎に圧縮される。
【００１９】
振幅成分揺らぎ圧縮器４による圧縮においては、先ず繰り返し部分の波形の振幅成分の平均値を求め、平均値からのズレを任意の圧縮率、例えば０．５で圧縮する。これにより、平均値はそのままで、揺らぎが半分に圧縮された新たな振幅成分が得られる。
【００２０】
同様に、周波数成分揺らぎ圧縮器５は、繰り返し部分の周波数成分の平均値を求め、平均値からのズレを任意の圧縮率で圧縮する。これにより、平均値は元のままで、揺らぎが圧縮された新たな周波数成分が得られる。
【００２１】
このようにして得られた新たな振幅成分と周波数成分を、各倍音成分合成器６により、各倍音成分ごとに合成する。
【００２２】
次いで、合成された各倍音成分と揺らぎを圧縮しなかった元の帯域成分を、帯域成分加算器７により加算して新たな合成波形を作成する。
【００２３】
これにより、振幅や周波数の平均値はそのままで、必要な部分において平均値からのズレの大きさが圧縮された波形が得られるので不自然な揺らぎは支障がない程度に除去される。なお、図１中の振幅成分および周波数成分の波形図における区間ＡおよびＢは、楽音波形形成に際して繰り返し波形を利用する部分であり、したがって揺らぎが大きくなる可能性の大きい部分である。
【００２４】
従って、クロスフェードにより作成された繰返し波形に、本発明を適用すれば不自然な揺らぎの除去された自然な繰返し波形が作成可能となる。
【００２５】
図２は本発明の全体的な動作を説明するメインフローチャートである。以下、図面を参照しながら本発明の全体の動作を説明する。
【００２６】
先ず、操作者によって本装置へのパラメータの入力が行われる（ステップＳ１１）。入力されるパラメータは、繰返し波形の圧縮開始アドレスａ、ループトップアドレスｂ、ループレングスＬＬ、振幅成分揺らぎの圧縮率ｒａ、周波数成分揺らぎの圧縮率ｒｂである。なお、ループエンドアドレスｃは、ｃ＝ｂ＋ＬＬにより求められる。
【００２７】
続いて、元波形の読み込みが行われると（ステップＳ１２）、帯域分割器１は、先ず、揺らぎを圧縮する帯域成分と揺らぎの圧縮を必要としない元のまま残す帯域成分とに分割し、揺らぎを圧縮しない帯域成分Ｏ（ｘ）を抽出する（ステップＳ１３）。
【００２８】
さらに、帯域分割器１は、揺らぎを圧縮する帯域成分を各倍音成分Ｐ（ｘ）ごとに分割して抽出する（ステップＳ１４）。
【００２９】
次いで、上記ステップＳ１４で分割された各倍音成分を、各倍音ごとに設けられている振幅成分抽出器２により、各倍音ごとの振幅成分Ａ（ｘ）を抽出する（ステップＳ１５）。
【００３０】
さらに、各倍音ごとに設けられている周波数成分抽出器３により、各倍音ごとの周波数成分Ｆ（ｘ）を抽出する（ステップＳ１６）。
【００３１】
次いで、振幅成分揺らぎ圧縮器４により、各倍音毎に抽出されている振幅成分を圧縮する（ステップＳ１７）。即ち、繰り返し部分の振幅成分の平均値を求め、平均値からのズレを、任意の倍率で圧縮する。
【００３２】
これにより、平均値はそのままで、揺らぎが圧縮された新たな振幅成分が得られる。なお、振幅成分揺らぎ圧縮器４の動作については、図３で詳述する。
【００３３】
さらに、各倍音毎に抽出されている周波数成分を周波数成分揺らぎ圧縮器５により圧縮する（ステップＳ１８）。即ち、繰り返し部分の周波数成分の平均値を求め、平均値からのズレを任意の倍率で圧縮する。
【００３４】
これにより、平均値はそのままで、揺らぎの圧縮された新たな周波数成分が得られる。なお、振幅成分揺らぎ圧縮器４の動作については、図４で詳述する。
【００３５】
次いで、上記ステップＳ１７、１８で得られた新たな振幅成分と周波数成分を元に、倍音成分合成器６により、各倍音ごとに圧縮された振幅揺らぎ成分Ａ’（ｘ）と周波数揺らぎ成分Ｆ’（ｘ）とを合成する（ステップＳ１９）。
【００３６】
続いて、上記倍音成分合成器６により各倍音ごとに合成された倍音成分とステップＳ１３で抽出された揺らぎを圧縮しない帯域成分を、帯域成分加算器７により合成する。（ステップＳ２０）。
【００３７】
次いで、全ての波形について合成が終了したか否かが調べられ（ステップＳ２１）、未だ、合成が終了していない場合はステップＳ１４に戻り、更に合成されていない成分の合成を繰り返す。
【００３８】
一方、全ての成分の合成が終了した場合は、合成された波形の書き出しを行い（ステップＳ２２）、揺らぎの圧縮処理を終了する。
【００３９】
このようにして、本発明に係る揺らぎの圧縮は行われる。なお、上記ステップＳ１７、１８の振幅成分や周波数成分の揺らぎの圧縮の際に、各成分ごとに異なった圧縮率で揺らぎを制御することにより、操作者により自由に揺らぎを制御することが可能となる。
【００４０】
次に、図３の振幅成分揺らぎの圧縮処理のフローチャートを参照しながら、振幅成分揺らぎの圧縮処理の動作について説明する。
【００４１】
振幅成分揺らぎの圧縮処理においては、先ず当該繰返し波形のループ区間内における振幅の平均値ａｖが算出され（ステップＳ３１）、次いで変数ｘに０がセットされる（ステップＳ３２）。
【００４２】
次いで、圧縮された振幅揺らぎの変数Ａ’（ｘ）に元波形の振幅揺らぎＡ（ｘ）がセットされ（ステップＳ３３）、サンプルポイントの位置を示す変数ｘがインクリメントされ（ステップＳ３４）、変数ｘが，０＜ｘ＜ａの範囲内にあるか否かが調べられる（ステップＳ３５）。なお、ａは圧縮を開始するアドレスを表す。
【００４３】
上記ステップＳ３３乃至３５の処理は、サンプルポイントｘが圧縮開始点ａに達しているか否かを調べる処理であり、圧縮開始点に達していない場合は、揺らぎを圧縮する必要はないので、圧縮された振幅揺らぎの変数Ａ’（ｘ）には元波形の振幅揺らぎＡ（ｘ）がそのままセットされる。
【００４４】
上記ステップＳ３５で、未だ圧縮開始点ａに到達していない場合は、圧縮の必要はないのでステップＳ３３に戻り、同様な処理を繰り返す。
【００４５】
一方、ステップＳ３５でインクリメントされた変数ｘが圧縮開始点ａに達した場合は、変数ｘの位置における圧縮率ｒ（ｘ）を算出し、該算出値に基づいて圧縮された揺らぎＡ’（ｘ）の計算を行う（ステップＳ３６）。
【００４６】
この圧縮開始点ａからループトップｂまでの圧縮率の計算は、圧縮開始点での圧縮率は１．０で、ループトップでは所定の圧縮率ｒａになるように圧縮率を徐々に変化させるために計算するものである。
【００４７】
次いで、サンプルポイントｘの値がインクリメントされ（ステップＳ３７）、インクリメントされたサンプルポイントｘがｘ＜ｂであるか否かが調べられる（ステップＳ３８）。
【００４８】
ｘ＜ｂの場合は、未だループトップに達していないので圧縮率を徐々に変化させる必要があるので、ステップＳ３６に戻り同様の処理を繰り返す。
【００４９】
一方、ｘ＞ｂの場合は、サンプルポイントｘがループトップに達しているので、以下、ループエンドまでの間は、所定の圧縮率ｒａで揺らぎの圧縮を行う（ステップＳ３９）。
【００５０】
続いて、サンプルポイントｘをインクリメントし（ステップＳ４０）、該インクリメントされたポイントｘがループトップとループエンドの間にあるか否かが調べられる（ステップＳ４１）。
【００５１】
未だループエンドに達していない場合はさらに圧縮を続ける必要がある。従ってステップＳ３９に戻り、同様の処理を繰り返す。
【００５２】
一方、ループエンドに達した場合は、所定のループ内の揺らぎの圧縮は終了したのでメインルーチンに戻る。
【００５３】
このようにして、圧縮開始点ａからループトップｂまではなだらかに振幅の揺らぎ圧縮率を変化させた自然な波形が得られる。
【００５４】
図４は周波数成分揺らぎの圧縮処理の動作を説明するフローチャートである。以下、図面を参照しながら周波数成分揺らぎの圧縮処理について説明する。
【００５５】
周波数成分揺らぎの圧縮処理においては、先ず当該繰返し波形のループ区間内における周波数の平均値ｂｖが算出され（ステップＳ５１）、次いで変数ｘに０がセットされる（ステップＳ５２）。
【００５６】
次いで、圧縮された周波数揺らぎの変数Ｆ’（ｘ）に周波数揺らぎＦ（ｘ）がセットされ（ステップＳ５３）、サンプルポイントの位置を示す変数ｘがインクリメントされ（ステップＳ５４）、変数ｘが、０＜ｘ＜ａであるか否かが調べられる（ステップＳ５５）。なお、ａは圧縮を開始するアドレスを表す。
【００５７】
上記ステップＳ５３乃至５５の処理は、サンプルポイントｘが圧縮開始点ａに到達しているか否かを調べる処理であり、圧縮開始点に到達していない場合は、揺らぎを圧縮する必要はないので、圧縮された周波数揺らぎの変数Ｆ’（ｘ）には元波形の周波数揺らぎＦ（ｘ）がそのままセットされる。
【００５８】
上記ステップＳ５５で、インクリメントされたサンプルポイントｘが未だ圧縮開始点ａに到達していない場合は、ステップＳ５３に戻り、同様な処理を繰り返す。
【００５９】
一方、ステップＳ５５で圧縮点ａに達した場合は、圧縮開始点ａからループトップｂまでの間は、なだらかに圧縮率を変化させる必要があるので、サンプルポイントの位置に応じた圧縮率ｒ（ｘ）を算出し、該算出値に基づいて圧縮された揺らぎＦ’（ｘ）の計算を行う（ステップＳ５６）。
【００６０】
この圧縮開始点からループトップまでの圧縮率の計算は、圧縮開始点での圧縮率は１．０で、ループトップでは所定の圧縮率ｒｂになるように圧縮率を徐々に変化させるために計算するものである。
【００６１】
次いで、サンプルポイントｘの値がインクリメントされ（ステップＳ５７）、インクリメントされたサンプルポイントｘがｘ＜ｂであるか否かが調べられる（ステップＳ５８）。
【００６２】
ｘ＜ｂの場合は、未だサンプルポイントがループトップに達していないのでステップＳ５６に戻り、同様の処理を繰り返す。
【００６３】
一方、サンプルポイントｘがループトップに達している場合は、以下、ループエンドまでの間は、所定の圧縮率ｒｂによって揺らぎの圧縮を行う（ステップＳ５９）。
【００６４】
続いて、サンプルポイントｘをインクリメントし（ステップＳ６０）、該インクリメントされたポイントｘがループトップとループエンドの間にあるか否かが調べられる（ステップＳ６１）。
【００６５】
未だループエンドに達していない場合はステップＳ５９に戻り、同様の処理を繰り返す。
【００６６】
一方、ループエンドに達した場合は、所定のループ内の揺らぎの圧縮は終了したのでメインルーチンに戻る。
【００６７】
このようにして、圧縮開始点ａからループトップｂまではなだらかに周波数の揺らぎの圧縮率を変化させた自然な波形が得られる。
【００６８】
なお、本実施例は、繰返し波形の不自然な揺らぎを圧縮する場合を例に説明しているが、本発明はこれに限定されるものではなく、一般の楽音波形の不自然な揺らぎの圧縮は勿論、楽音波形の揺らぎの自由な制御にも適用可能である。
【００６９】
【発明の効果】
以上詳述したように、本発明によれば、楽音波形の不自然な揺らぎが圧縮できるので、自然な質のよい繰返し波形が得られる。さらに、繰返し波形の不自然な揺らぎの圧縮が自動的に行われるので、楽音波形の作成が迅速容易となる。
【００７０】
また、本発明において、各成分ごとの圧縮率を制御することにより、揺らぎの自由な制御も可能となる。
【図面の簡単な説明】
【図１】本発明の楽音波形形成装置の機能構成図である。
【図２】本発明の楽音波形形成装置の動作を説明するメインフローチャートである。
【図３】本発明の振幅揺らぎ圧縮器の動作を説明するフローチャートである。
【図４】本発明の周波数揺らぎ圧縮器の動作を説明するフローチャートである。
【符号の説明】
１    帯域分割器
２    振幅成分抽出器
３    周波数成分抽出器
４    振幅揺らぎ圧縮器
５    周波数揺らぎ圧縮器
６    倍音成分合成器
７    帯域成分加算器
【図１】
0003676617.tif 000002
【図２】
0003676617.tif 000003
【図３】
0003676617.tif 000004
【図４】
0003676617.tif 000005