(57)【特許請求の範囲】
【請求項１】
一連の楽音波形データからなり該一連の楽音波形データのうちの任意の複数の楽音波形データにイベント情報が付されてなるフレーズデータを複数記憶する記憶部と、
２つ以上の前記フレーズデータに基づいて、これら２つ以上のフレーズデータにおいて楽音の生成順に同一の順番に出現するイベント情報が付された楽音波形データに基づく楽音が常に同時に生成開始されるように、楽音を同期生成する楽音生成部とを備えたことを特徴とする楽音生成装置。
【請求項２】
前記２つ以上のフレーズデータのうちの任意の１つのフレーズデータを、発音タイミングの基準となるマスタフレーズデータとして指定するマスタ指定部を備え、前記楽音生成部は、前記２つ以上のフレーズデータに基づく楽音の生成にあたり、前記マスタ指定部で指定されたマスタフレーズデータの、イベント情報で区切られてなる複数の区間それぞれについて、１つの区間の楽音生成終了時に、該１つの区間に対応する、前記２つ以上のフレーズデータのうちのマスタフレーズデータ以外の他のフレーズデータの区間の楽音生成が未了の場合に該区間の楽音生成を中断させるものであることを特徴とする請求項１記載の楽音生成装置。
【請求項３】
前記２つ以上のフレーズデータのうちの任意の１つのフレーズデータを、発音タイミングの基準となるマスタフレーズデータとして指定するマスタ指定部を備え、前記楽音生成部は、前記２つ以上のフレーズデータに基づく楽音の生成にあたり、前記マスタ指定部で指定されたマスタフレーズデータの、イベント情報で区切られてなる複数の区間それぞれについて、１つの区間の楽音生成終了時に、該１つの区間に対応する、前記２つ以上のフレーズデータのうちのマスタフレーズデータ以外の他のフレーズデータの区間の楽音生成が未了の場合に該区間の楽音生成を継続したまま並行して該マスタフレーズデータおよび該他のフレーズデータの双方について次の区間の楽音の生成を開始するものであることを特徴とする請求項１記載の楽音生成装置。
【請求項４】
前記２つ以上のフレーズデータのうちの任意の１つのフレーズデータを、発音タイミングの基準となるマスタフレーズデータとして指定するマスタ指定部を備え、前記楽音生成部は、前記２つ以上のフレーズデータに基づく楽音の生成にあたり、前記マスタ指定部で指定されたマスタフレーズデータの、イベント情報で区切られてなる複数の区間それぞれについて、１つの区間の楽音生成終了時に、該１つの区間に対応する、前記２つ以上のフレーズデータのうちのマスタフレーズデータ以外の他のフレーズデータの区間の楽音生成が終了するように、該他のフレーズデータを区間ごとに圧縮あるいは伸長しながら楽音を生成するものであることを特徴とする請求項１記載の楽音生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一連の楽音波形データからなり、その一連の楽音波形データのうちの任意の複数の楽音にイベント情報が付されてなるフレーズデータに基づいて楽音を生成する楽音生成装置に関する。
【０００２】
【従来の技術】
従来より、楽曲の編集等においては、互いに異なる音楽リソースから得た２つの楽音を同期して生成することが行われている。この楽音の同期生成にあたって、楽音をサンプリングして楽音波形データとして記憶し、その記憶した楽音波形データに基づく楽音を生成するサンプラと呼ばれる楽音生成装置が用いられることがある。
【０００３】
図１は、互いに異なる２つの楽音をサンプラでサンプリングしたときの２つのフレーズデータを時間軸方向の長さに着目して表した概念図である。
【０００４】
この図１には、２つのフレーズデータとしてデータ１とデータ２とが示されている。これらのデータ１とデータ２は、それぞれが１サンプル分の楽音波形データを時間軸方向に連ねられて一連の楽音波形データからなる。データ１は「あーいーうーえーおー」という楽音をサンプリングしたときのフレーズデータであって、「あー」，「いー」，「うー」，「えー」，「おー」の各音節を表すデータは、１サンプル分の楽音波形データが多数集まって構成されている。一方、データ２は「かーきくーけこー」という楽音をサンプリングしたときのフレーズデータである。ここで、「かー」，「き」，「くー」，「け」，「こー」の各音節を表すデータは、データ１の各音節を表すデータと同じく、１サンプル分の楽音波形データが多数集まって構成されている。
【０００５】
データ１においては、「あー」，「いー」，「うー」，「えー」，「おー」の各音節を表すデータの時間軸方向の長さは総て等しい長さである。これに対して、データ２の「かー」，「き」，「くー」，「け」，「こー」の各音節を表すデータの時間軸方向の長さは、データ１の一つの音節の長さと比較して長いものもあれば短いものもある。すなわち、データ２の「くー」の長さは、データ１の一つの音節の長さよりも長く、「かー」及び「こー」の双方は少し短く、「き」及び「け」の双方はさらに短い。また、フレーズデータ全体としてみると、データ２の全長はデータ１の全長よりも短い。
【０００６】
したがって、従来のサンプラを用いて、データ１及びデータ２それぞれに基づく楽音の生成を同時に開始させて、同じ生成速度で楽音を生成させると、それらデータ１およびデータ２に基づく双方の楽音の生成開始時点でのみ同期がとれた楽音が生成されるだけで、生成を開始した以降においては全く同期がとれていない楽音が生成されてしまう。
【０００７】
そこで、近年のサンプラには、楽音波形データを時間軸方向に圧縮あるいは伸長する機能が付加され、フレーズデータの長さの違いを吸収することが行われている。このような機能が付加されたサンプラを用いて、データ１及びデータ２それぞれに基づく楽音を同時に生成した場合について、図２を用いて説明する。
【０００８】
図２は、楽音波形データを時間軸方向に圧縮あるいは伸長する機能が付加されたサンプラによる楽音生成の様子を示す図である。
【０００９】
楽音波形データを時間軸方向に圧縮あるいは伸長する機能が付加された従来のサンプラで、２つのフレーズデータどうしの長さの違いを吸収しようとすると、データ２の方がデータ１よりもデータの全長が短いため、データ１のデーダ全長に合わせてデータ２の全長は伸長される。この際、各音節を表すデータは均等な割合で伸長される。その結果、データ１およびデータ２に基づく双方の楽音の生成開始時点と、さらに生成終了時点とで同期がとれた楽音が生成されるが、依然としてデータ１とデータ２との間における、各音節の開始タイミングは非同期のままである。なお、図２においては、「いー」の音節と「きー」の音節の開始タイミング、及び「おー」の音節と「こー」の音節の開始タイミングそれぞれは同じであるが、これは各音節を表すデータを均等な割合で伸長した結果、たまたま生じたことである。
【００１０】
【発明が解決しようとする課題】
本発明は、上記事情に鑑み、複数の一連の楽音波形データそれぞれに基づく楽音を生成するにあたり、それらの楽音の生成開始と生成終了との間で同期をとってそれらの楽音を生成することができる楽音生成装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記目的を達成する本発明の楽音生成装置は、一連の楽音波形データからなりその一連の楽音波形データのうちの任意の複数の楽音波形データにイベント情報が付されてなるフレーズデータを複数記憶する記憶部と、
２つ以上の上記フレーズデータに基づいて、これら２つ以上のフレーズデータにおいて楽音の生成順に同一の順番に出現するイベント情報が付された楽音波形データに基づく楽音が常に同時に生成開始されるように、楽音を同期生成する楽音生成部とを備えたことを特徴とする。
【００１２】
ここで、本発明の楽音生成装置にいうイベント情報とは、ユーザが任意に付けた位置を表す情報であって、例えば音節の開始位置に付されたりする。本発明の楽音生成装置では、上記フレーズデータのイベント情報を用いることにより、複数の一連の楽音波形データそれぞれのうちの任意の複数の楽音を、それら楽音波形データに基づく楽音の生成順に同期して生成することができるため、複数の一連の楽音波形データそれぞれに基づく楽音を生成するにあたり、それらの楽音の生成開始と生成終了との間で同期をとってそれらの楽音を生成することができる。
【００１３】
また、本発明の楽音生成装置において、上記２つ以上のフレーズデータのうちの任意の１つのフレーズデータを、発音タイミングの基準となるマスタフレーズデータとして指定するマスタ指定部を備え、上記楽音生成部は、上記２つ以上のフレーズデータに基づく楽音の生成にあたり、上記マスタ指定部で指定されたマスタフレーズデータの、イベント情報で区切られてなる複数の区間それぞれについて、１つの区間の楽音生成終了時に、その１つの区間に対応する、上記２つ以上のフレーズデータのうちのマスタフレーズデータ以外の他のフレーズデータの区間の楽音生成が未了の場合にその区間の楽音生成を中断させるものであってもよい。
【００１４】
さらに、本発明の楽音生成装置において、上記２つ以上のフレーズデータのうちの任意の１つのフレーズデータを、発音タイミングの基準となるマスタフレーズデータとして指定するマスタ指定部を備え、上記楽音生成部は、上記２つ以上のフレーズデータに基づく楽音の生成にあたり、上記マスタ指定部で指定されたマスタフレーズデータの、イベント情報で区切られてなる複数の区間それぞれについて、１つの区間の楽音生成終了時に、その１つの区間に対応する、上記２つ以上のフレーズデータのうちのマスタフレーズデータ以外の他のフレーズデータの区間の楽音生成が未了の場合にその区間の楽音生成を継続したまま並行してそのマスタフレーズデータおよびその他のフレーズデータの双方について次の区間の楽音の生成を開始するものであることが好ましい。
【００１５】
このような、楽音生成が未了の場合にその楽音生成を継続したまま次の区間の楽音の生成を開始する楽音生成部を備えることで、上記他のフレーズデータの総ての区間に基づく楽音を最後まで生成することができる。
【００１６】
またさらに、本発明の楽音生成装置において、上記２つ以上のフレーズデータのうちの任意の１つのフレーズデータを、発音タイミングの基準となるマスタフレーズデータとして指定するマスタ指定部を備え、上記楽音生成部は、上記２つ以上のフレーズデータに基づく楽音の生成にあたり、上記マスタ指定部で指定されたマスタフレーズデータの、イベント情報で区切られてなる複数の区間それぞれについて、１つの区間の楽音生成終了時に、その１つの区間に対応する、上記２つ以上のフレーズデータのうちのマスタフレーズデータ以外の他のフレーズデータの区間の楽音生成が終了するように、その他のフレーズデータを区間ごとに圧縮あるいは伸長しながら楽音を生成するものである態様が好ましい。
【００１７】
このような態様では、上記楽音生成部によって、上記マスタフレーズデータの区間の楽音生成の終了ごとに、その終了に合わせて、上記他のフレーズデータの、そのマスタフレーズデータの区間に対応する区間の楽音生成を終了することができる。
【００１８】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
【００１９】
図３は、本発明の一実施形態であるサンプラの楽音生成部分に係るハードウェア構成図である。
【００２０】
この図３に示すサンプラ１は、不図示のサンプリング部分でサンプリングされた複数のフレーズデータに基づいて複数の楽音を同期生成する異なる３つのモードを有する装置であって、ＣＰＵ１１、メモリ１２、操作子１３、液晶ディスプレイ（ＬＣＤ）１４、およびＤ／Ａコンバータ１５を備えている。
【００２１】
サンプラ１では、サンプリング部分において不図示のマイクロフォンで楽音が収録され、その収録された楽音が同じく不図示のＡ／Ｄ変換器でディジタルの楽音波形データに変換されて、フレーズデータとしてメモリ１２に記憶される。このようにして、メモリ１２には複数のフレーズデータが記憶されている。
【００２２】
操作子１３は、ユーザの操作を受けて、その操作に応じて、メモリ１２に記憶されているフレーズデータのうちの任意のフレーズデータにイベント情報を付すものである。また操作子１３は、操作に応じて、メモリ１２に記憶されている複数のフレーズデータの中から任意の１つのフレーズデータを、発音タイミングの基準となるマスタフレーズデータとして指定するものである。したがって、操作子１３は、本発明にいうマスタ指定部に相当する。さらに操作子１３は、操作に応じて、メモリ１２に記憶されている複数のフレーズデータの中からこのマスタフレーズデータ以外の他のフレーズデータであって、このマスタフレーズデータと同期した楽音生成を望む、１又は複数のフレーズデータをスレーブフレーズデータとして指定するものでもある。またさらに操作子１３は、操作に応じて、複数の楽音を同時生成する３つのモードの中からいずれか一つのモードを指定するものでもある。操作子１３によるこれらの指定はＣＰＵ１１に送られる。また操作子１３は、操作に応じて、楽音生成の開始をＣＰＵ１１に指示するものでもある。
【００２３】
ＣＰＵ１１は、不図示のプログラムメモリに記憶された各種プログラムを読み出して実行することによりこのサンプラ全体の制御を行うものである。各種プログラムの中には、各モードを実行する楽音生成プログラムが含まれており、ＣＰＵ１１は操作子１３によるモードの指定を認識し、後述する、指定されたモードに応じた楽音生成の手順に従ってメモリ１２内に記憶されているフレーズデータの楽音波形データを読み出してくる。ＣＰＵ１１によって読み出された楽音波形データはＤ／Ａコンバータ１５に送られる。なお、指定されたモードによっては、ＣＰＵ１１は、読み出した楽音波形データを時間軸方向に圧縮あるいは伸長する。
【００２４】
液晶ディスプレイ１４には、ＣＰＵ１１によって認識された、操作子１３による指定が表示される。
【００２５】
Ｄ／Ａコンバータ１５は、ＣＰＵ１１から送られてきたディジタルの楽音波形データをアナログの楽音信号に変換して、サンプラ１の外部に出力するものである。したがって、ＣＰＵ１１とＤ／Ａコンバータ１５を合わせたものが、本発明にいう楽音生成部に相当する。なお、このＤ／Ａコンバータ１５から出力された楽音信号は、不図示のアンプによって増幅され不図示のスピーカにより音として出力される。
【００２６】
続いて、このようなハードウェア構成を有するサンプラ１による複数の楽音の同期生成について、図１に示されたデータ１及びデータ２を例にあげて説明する。
【００２７】
サンプラ１のメモリ１２には、データ１とデータ２とが記憶されている。まず、操作子１３を操作することで、データ１とデータ２それぞれについてイベント情報を付する。ここでは、１サンプル分の楽音波形データが多数集まって構成されている、「あー」や「かー」等の各音節を表すデータのうちの先頭の楽音波形データにイベント情報を付する。続いて、操作子１３を操作することによって、データ１をマスタフレーズデータとして指定するとともにデータ２をスレーブフレーズデータとして指定する。次に、操作子１３を操作することによってモードを指定する。そして、操作子１３が操作されて楽音生成が指示されると、ＣＰＵ１１は、指定されたモードに応じた楽音生成の手順に従ってメモリ１２内に記憶されているフレーズデータの楽音波形データを読み出す。
【００２８】
最初に、モード１を指定した場合について図４及び図５を用いて説明する。
【００２９】
図４は、モード１における楽音生成の手順を示すフローチャートであり、図５は、モード１による楽音生成の様子を示す図である。
【００３０】
ここで、図５において数字が横に付された白抜きの三角形はマスタフレーズデータに付されたイベント情報を表し、数字が横に付された塗りつぶしの三角形はスレーブフレーズデータに付されたイベント情報を表している。例えば、数字の１が横に付された白抜きの三角形は、マスタフレーズデータに付されたイベント情報１を意味している。なお、これらの三角形の表示は、後述の説明で用いる図７、図９、及び図１０においても同じ意味で用いられる。
【００３１】
ここではまず、モード１の説明を行う前に、マスタ用ポインタとスレーブ用ポインタとについて説明する。サンプラ１は、楽音生成にあたって各フレーズのどの位置の楽音を生成しているかを示すポインタを備えており、このポインタにはマスタ用ポインタとスレーブ用ポインタとがある。なお、モード１においては、マスタ用ポインタとスレーブ用ポインタの進行速度は等しく、それぞれ一定である。
【００３２】
モード１は、マスタ用ポインタのイベント情報が付されたポイントの通過に合わせて、スレーブ用ポインタを停止させたり、あるいはスレーブ用ポインタをその通過したポイントに付されたイベント情報に対応するイベント情報が付されたポイントにジャンプさせたりするモードである。
【００３３】
以下、このモード１を詳述すると、最初、マスタ用ポインタはマスタフレーズデータのうちの一番先頭のイベント情報が付されたポイントに位置し、スレーブ用ポインタはスレーブフレーズデータのうちの一番先頭のイベント情報が付されたポイントに位置する。この結果、これらのイベント情報が付された楽音波形データをメモリ１２から読み出し、マスタフレーズデータに基づく楽音生成と、スレーブフレーズデータに基づく楽音生成とを同期して開始する。以後、マスタ用ポインタは、マスタフレーズデータの一番最後の楽音波形データに向かって順次進み、スレーブ用ポインタは、スレーブフレーズデータの一番最後の楽音波形データに向かって、以下説明するステップによって、マスタ用ポインタの進行具合により、停止やジャンプを繰り返して進む。
【００３４】
続いて、図４におけるステップＳ１０において、マスタ用ポインタとスレーブ用ポインタとのどちらが先に次のイベント情報が付されたポイントに到達したかを判定する。
【００３５】
スレーブ用ポインタの方が、マスタ用ポインタよりも先に次のイベント情報が付されたポイントに到達した場合は、マスタ用ポインタが次のイベント情報が付されたポイントに到達するまでスレーブ用ポインタの進行を一旦停止し、スレーブフレーズデータに基づく楽音生成を中止する（図４におけるステップＳ１１）。そして、マスタ用ポインタが次のイベント情報が付されたポイントに到達すると、マスタ用ポインタはそのまま進行を続けるとともにスレーブ用ポインタは進行を再開し、マスタフレーズデータの次の音節の楽音生成と、スレーブフレーズデータの次の音節の楽音生成とを同時に開始する。
【００３６】
逆に、マスタ用ポインタの方が、スレーブ用ポインタよりも先に到達した場合には、マスタ用ポインタはそのまま進行を続け、スレーブ用ポインタは次のイベント情報が付されたポイントまでジャンプする。このスレーブ用ポインタのジャンプにより、今まで生成していた音節の楽音生成を途中で終了し、今度は、ジャンプしたイベント情報が付された楽音波形データに基づく楽音の生成を開始する（図４におけるステップＳ１２）。すなわち、マスタフレーズデータの次の音節の楽音生成と、スレーブフレーズデータの次の音節の楽音生成とが同時に開始される。
【００３７】
続いて、図４におけるステップＳ１３で、マスタ用ポインタが、マスタフレーズデータの一番最後の楽音波形データに到達したか否かを判定する。マスタ用ポインタが到達するまではステップＳ１０に戻り、到達した時点で楽音生成を終了する。
【００３８】
このような楽音生成の手順を踏むことにより、マスタフレーズデータに基づく楽音と、スレーブフレーズデータに基づく楽音は、各音節の開始タイミングで同期がとられる。すなわちモード１では、図５に示されるように、「あー」と「かー」それぞれの楽音、「いー」と「き」それぞれの楽音、「うー」と「くー」それぞれの楽音、「えー」と「け」それぞれの楽音、「おー」と「こー」それぞれの楽音が、同期して生成を開始される。
【００３９】
なお、モード１では、スレーブフレーズデータの、マスタフレーズデータのイベント情報で区切られた区間に対応する区間のデータ長が、そのマスタフレーズデータの区間のデータ長より長い場合、すなわち、データ１の各音節を表すデータの時間軸方向の長さは総て等しい長さであり、データ１およびデータ２ともに各音節を表すデータの先頭の楽音波形データにイベント情報を付したことにより、データ２の「かー」，「き」，「くー」，「け」，「こー」の各音節を表すデータの時間軸方向の長さが、データ１の一つの音節を表すデータの時間軸方向の長さよりも長い場合には、その長い音節の楽音生成が途中で終了され最後まで生成されないことになる。したがって、データ２の「くー」の長さは、データ１の「うー」の長さよりも長いため、「くー」の音節の楽音生成は途中で終了され最後まで生成されない。
【００４０】
次にモード２について説明する。モード２は、スレーブフレーズデータの各イベント情報が付されたポイントに、専用のスレーブ用ポインタを用意しておき、各スレーブ用ポインタを、スレーブフレーズデータの、イベント情報で区切られてなる区間の最後まで進行させることによりその区間の楽音を最後まで生成させ、さらに、モード１のように１つのスレーブ用ポインタを次のイベント情報へジャンプさせる代わりに、モード２では、次のイベント情報が付されたポイントに用意されたスレーブ用ポインタの進行を開始させて楽音を生成させる。なお、マスタ用ポインタと各スレーブ用ポインタの進行速度は等しく、それぞれ一定である。以下、図６及び図７を用いて、このモード２を詳述する。
【００４１】
図６は、モード２における楽音生成の手順を示すフローチャートであり、図７は、モード２による楽音生成の様子を示す図である。
【００４２】
このモード２でも最初はモード１と同じく、マスタ用ポインタはマスタフレーズデータのうちの一番先頭のイベント情報が付されたポイントに位置し、スレーブ用ポインタはスレーブフレーズデータのうちの一番先頭のイベント情報が付されたポイントに位置する。この結果、これらのイベント情報が付された楽音波形データをメモリ１２から読み出し、マスタフレーズデータに基づく楽音生成と、スレーブフレーズデータに基づく楽音生成とを同期して開始する。以後、マスタ用ポインタは、マスタフレーズデータの一番最後の楽音波形データに向かって順次進み、スレーブ用ポインタは、次のイベント情報が付されたポイントに向かって進む。
【００４３】
続いて、図６におけるステップＳ２０において、マスタ用ポインタとスレーブ用ポインタとのどちらが先に次のイベント情報が付されたポイントに到達したかを判定する。
【００４４】
スレーブ用ポインタの方が、マスタ用ポインタよりも先に次のイベント情報が付されたポイントに到達した場合は、そのイベント情報が付されたポイントに到達したスレーブ用ポインタは消滅し、そのスレーブ用ポインタの進行に従った楽音生成を終了する（図６におけるステップＳ２１）。そして、マスタ用ポインタが次のイベント情報に到達すると、マスタ用ポインタはそのまま進行を続けるとともにその次のイベント情報に用意された新たなスレーブ用ポインタの進行を開始し、マスタフレーズデータの次の音節の楽音生成と、スレーブフレーズデータの次の音節の楽音生成を同時に開始する。
【００４５】
逆に、マスタ用ポインタの方が、スレーブ用ポインタよりも先に到達した場合は、そのスレーブ用ポインタが次のイベント情報が付されたポイントに到達するまで、そのスレーブ用ポインタの進行に従った楽音生成を続行するとともに、次のイベント情報が付されたポイントに用意された新たなスレーブ用ポインタの進行を開始して次の楽音の生成を開始する（図６におけるステップＳ２２）。この結果、先のスレーブ用ポインタが次のイベント情報が付されたポイントに到達するまでは、マスタフレーズデータの次の音節の楽音と、新たなスレーブ用ポインタの進行に従う楽音と、先のスレーブ用ポインタの進行に従う楽音との３つの楽音が並行して生成される。なお、スレーブ用ポインタが次のイベント情報が付されたポイントに到達すると、そのスレーブ用ポインタは消滅する。
【００４６】
続いて、図６におけるステップＳ２３で、マスタ用ポインタがマスタフレーズデータの一番最後の楽音波形データに到達し、かつ総てのスレーブ用ポインタが各区間の最後の楽音波形データに到達したか否かを判定する。総てのポインタが到達するまではステップＳ２０に戻り、到達した時点で楽音生成を終了する。
【００４７】
このような、楽音生成の手順を踏むことにより、イベント情報が出現する順番にそのイベント情報が付された楽音波形データそれぞれに基づく楽音どうしが同期して生成を開始される。すなわちモード１と同じくモード２でも、図７に示されるように、マスタフレーズデータに基づく楽音と、スレーブフレーズデータに基づく楽音は、各音節の開始タイミングで同期がとられる。また、モード２ではモード１と異なり、フレーズデータの総ての音節の楽音生成を最後まで行うことができる。すなわち、スレーブフレーズデータの、マスタフレーズデータの区間に対応する区間のデータ長が、そのマスタフレーズデータの区間のデータ長より長い場合でも、図７に示されるように、マスタ用ポインタが、イベント情報３とイベント情報４とで区切られた区間（「うー」の音節を表すデータ）から次の区間（「えー」の音節を表すデータ）に進んでも、スレーブフレーズデータの、マスタフレーズデータの「うー」の音節の区間に対応する区間（「くー」の音節を表すデータ）の楽音生成は継続されるとともに、スレーブフレーズデータの次の区間（「け」の音節を表すデータ）の楽音生成も開始され、３つの楽音が並行して生成される。
【００４８】
最後にモード３について説明する。モード３は、マスタフレーズデータの１つの区間の楽音生成終了時に、スレーブフレーズデータの、そのマスタフレーズデータの区間に対応する区間の楽音生成が終了するように、スレーブフレーズデータを区間ごとに時間軸方向に圧縮、もしくは伸長させながら楽音を生成させるモードである。以下、図８及び図９を用いて、このモード３を詳述する。
【００４９】
図８は、モード３における楽音生成の手順を示すフローチャートであり、図９は、モード３による楽音生成の様子を示す図である。なお、図９のかっこ内は、スレーブフレーズデータを、次述するような手順によってタイムストレッチ又はタイムコンプレッションしている様子を示すものであり、右向きの矢印は、音節を表すデータのタイムストレッチを表すとともに、左向きの矢印は音節を表すデータのタイムコンプレッションを表している。
【００５０】
このモード３でも最初はモード１と同じく、操作子１３が操作されて楽音生成が指示されると、マスタ用ポインタはマスタフレーズデータのうちの一番先頭のイベント情報が付されたポイントに位置し、スレーブ用ポインタをスレーブフレーズデータのうちの一番先頭のイベント情報が付されたポイントに位置する。
【００５１】
続いて、図８におけるステップＳ３０において、マスタ用ポインタがイベント情報が付されたポイントに位置しているか否かを判定する。
【００５２】
マスタ用ポインタがイベント情報が付されたポイントに位置している場合は、マスタフレーズデータの区間の、楽音波形データの集合の時間軸方向の長さ（以下、マスタ間隔と称する）と、スレーブフレーズデータの、そのマスタフレーズデータの区間に対応する区間の、楽音波形データの集合の時間軸方向の長さ（以下、スレーブ間隔と称する）とを求め、マスタ間隔にスレーブ間隔を合わせるようにスレーブ間隔のタイムストレッチ又はタイムコンプレッション量を計算する（図８におけるステップＳ３１）。すなわち、まず、マスタ間隔とスレーブ間隔との比ｄを以下のようにして求める。
ｄ＝スレーブ間隔／マスタ間隔
続いて、求められた比ｄからタイムストレッチ又はタイムコンプレッション量ｄｔを以下の式により計算する。
ｄｔ＝１／ｄ
そして、算出されたタイムストレッチ又はタイムコンプレッション量ｄｔをスレーブ間隔に乗じて（スレーブ間隔×ｄｔ）、スレーブ間隔のタイムストレッチ又はタイムコンプレッションを行う。
【００５３】
続いて、図８におけるステップＳ３２において、マスタ用ポインタが位置する楽音波形データに基づく楽音生成と、スレーブ用ポインタが位置する楽音波形データに基づく楽音生成を同時に開始し、マスタ用ポインタは所定量「ｌ」だけ歩進するとともにスレーブ用ポインタも「ｌ／ｄｔ」だけ歩進する。なお、ステップＳ３０における判定で、マスタ用ポインタがイベント情報が付されたポイントに位置していないという判定の場合には、上述のステップＳ３１を経ないでこのステップＳ３２に直接進む。
【００５４】
その後、図８におけるステップＳ３３で、マスタ用ポインタが、マスタフレーズデータの一番最後の楽音波形データに到達したか否かを判定する。マスタ用ポインタが到達するまではステップＳ３０に戻り、到達した時点で楽音生成を終了する。
【００５５】
このような、楽音生成の手順を踏むことにより、イベント情報が出現する順番にそのイベント情報が付された楽音波形データそれぞれに基づく楽音どうしが同期して生成を開始される。すなわちモード３でも、図９に示されるように、マスタフレーズデータに基づく楽音と、スレーブフレーズデータに基づく楽音は、各音節の開始タイミングで同期がとられ、さらにモード３では、各音節の終了タイミングも同期がとられる。この同期した楽音生成の終了は、図９に示されるように、スレーブフレーズデータの、マスタフレーズデータの区間に対応する区間のデータ長が、そのマスタフレーズデータの区間のデータ長より長い場合には、「くー」の音節を表すデータのようにタイムコンプレッションされ、逆に、短い場合には、「かー」，「き」，「け」，「こー」の各音節を表すデータのようにタイムストレッチされることにより実現される。その結果、モード３では、マスタフレーズデータの区間の楽音生成の終了ごとに、その終了に合わせて、スレーブフレーズデータの、マスタフレーズデータの区間に対応する区間の楽音生成を終了させることができる。
【００５６】
以上説明したように、本実施形態のサンプラ１では、マスタ用ポインタをマスタフレーズデータの先頭から順次進ませるだけで、イベント情報が出現する順番にそのイベント情報が付された楽音波形データそれぞれに基づく楽音を簡単に同期して生成することができる。
【００５７】
なお、これまでは、マスタ用ポインタをマスタフレーズデータの先頭から順次進ませることにより「あーいーうーえーおー」のような一連の楽音を生成する例を説明したが、本発明はこれに限られることなく、例えば、マスタ用ポインタを、マスタフレーズデータの任意のイベント情報が付されたポイントに移動させる態様としてもよい。以下、マスタ用ポインタの位置を指定する操作子が備えられたサンプラを用いて、図１０を参照しながら説明する。
【００５８】
図１０は、マスタ用ポインタをマスタフレーズデータの任意のイベント情報が付されたポイントに移動させて行う楽音生成の様子を示す図である。
【００５９】
本態様は、マスタ用ポインタを任意のイベント情報が付されたポイントに位置させることによって、スレーブ用ポインタが、スレーブフレーズデータの、このマスタ用ポインタが位置するイベント情報と同じ順番のイベント情報が付されたポイントに位置する態様である。図１０においては、マスタ用ポインタは、最初、マスタフレーズデータのうちの先頭のイベント情報１が付されたポイントに位置するのではなく、操作子を操作することによって、マスタ用ポインタを、マスタフレーズデータの先頭から２番目のイベント情報２が付されたポイントに位置させる。すると、スレーブ用ポインタは、スレーブフレーズデータに付された、マスタ用ポインタが位置するイベント情報２と同じ順番のイベント情報２が付されたポイントに位置する。この結果、「いー」と「きー」が同期して楽音生成される。「いー」と「きー」の楽音生成が終了した後、操作子を操作することによってマスタ用ポインタを、今度は、マスタフレーズデータの先頭から４番目のイベント情報４が付されたポイントに位置させる。すると、スレーブ用ポインタは、スレーブフレーズデータに付された、マスタ用ポインタが位置するイベント情報４と同じ順番のイベント情報４が付されたポイントに位置し、「えー」と「けー」が同期して楽音生成される。「えー」と「けー」の楽音生成が終了すると、最後にマスタ用ポインタを、マスタフレーズデータの先頭のイベント情報１が付されたポイントに位置させる。すると、スレーブ用ポインタは、スレーブフレーズデータに付された、マスタ用ポインタが位置するイベント情報１と同じ順番のイベント情報１が付されたポイントに位置し、「あー」と「かー」が同期して楽音生成される。
【００６０】
【発明の効果】
以上、説明したように、本発明の楽音生成装置によれば、複数の一連の楽音波形データそれぞれに基づく楽音を生成するにあたり、それらの楽音の生成開始と生成終了との間で同期をとってそれらの楽音を生成することができる。
【図面の簡単な説明】
【図１】互いに異なる２つの楽音をサンプラでサンプリングしたときの２つの楽音波形データを時間軸方向の長さに着目して表した概念図である。
【図２】楽音波形データを時間軸方向に圧縮あるいは伸長する機能が付加されたサンプラによる楽音生成の様子を示す図である。
【図３】本発明の一実施形態であるサンプラの楽音生成部分に係るハードウェア構成図である。
【図４】モード１における楽音生成の手順を示すフローチャートである。
【図５】モード１による楽音生成の様子を示す図である。
【図６】モード２における楽音生成の手順を示すフローチャートである。
【図７】モード２による楽音生成の様子を示す図である。
【図８】モード３における楽音生成の手順を示すフローチャートである。
【図９】モード３による楽音生成の様子を示す図である。
【図１０】マスタ用ポインタをマスタフレーズデータの任意のイベント情報が付されたポイントに移動させて行う楽音生成の様子を示す図である。
【符号の説明】
１    サンプラ
１１    ＣＰＵ
１２    メモリ
１３    操作子
１４    液晶ディスプレイ（ＬＣＤ）
１５    Ｄ／Ａコンバータ
【図１】
0004250342.tif 000002
【図２】
0004250342.tif 000003
【図３】
0004250342.tif 000004
【図４】
0004250342.tif 000005
【図５】
0004250342.tif 000006
【図６】
0004250342.tif 000007
【図７】
0004250342.tif 000008
【図８】
0004250342.tif 000009
【図９】
0004250342.tif 000010
【図１０】
0004250342.tif 000011