(57)【特許請求の範囲】
【請求項１】
仮想空間を設定する仮想空間設定手段と、
仮想粒子を前記仮想空間に対して連続的に放出する演算を行う仮想粒子放出手段と、
前記仮想粒子放出手段の演算により放出された各仮想粒子の軌道を、前記各仮想粒子同士の衝突を含めて演算する軌道演算手段と、
仮想発音体を設定する仮想発音体設定手段と、
各時刻における前記仮想発音体の配置態様を表す配置態様データを記憶する記憶手段と、
前記配置態様データを前記記憶手段から読出し、該読み出した配置態様データに基づいて前記仮想発音体を前記仮想空間に配置すると共に、時間軸を表示し前記仮想発音体の各々が前記仮想空間中に出現する時刻を前記時間軸上に表示する表示手段と、
前記仮想発音体と前記仮想粒子の相互作用を演算し、該相互作用に基づいて音データを生成する音データ生成手段と
を有することを特徴とする音データ生成装置。
【請求項２】
仮想空間を設定する仮想空間設定手段と、
仮想粒子を前記仮想空間に対して連続的に放出する演算を行う仮想粒子放出手段と、
前記仮想粒子放出手段の演算により放出された各仮想粒子の軌道を、前記各仮想粒子同士の衝突を含めて演算する軌道演算手段と、
仮想発音体を設定する仮想発音体設定手段と、
各時刻における前記仮想発音体の配置態様を表す配置態様データを記憶する記憶手段と、
前記配置態様データを前記記憶手段から読出し、該読み出した配置態様データに基づいて前記仮想発音体を前記仮想空間に配置すると共に、所定長の軸を表示し前記仮想発音体の各々と対応する識別子を、該対応する仮想発音体が前記仮想空間中に出現している間に前記軸上を移動させる表示手段と、
前記仮想発音体と前記仮想粒子の相互作用を演算し、該相互作用に基づいて音データを生成する音データ生成手段と
を有することを特徴とする音データ生成装置。
【請求項３】
前記配置態様データにおいて、前記仮想発音体の配置態様と時刻との対応付けを変更する変更手段を更に有し、
前記表示手段は、前記変更手段により変更された対応付けに基づいて、前記記憶手段に記憶された前記仮想発音体の配置態様を読出す
ことを特徴とする請求項１又は請求項２に記載の音データ生成装置。
【請求項４】
コンピュータを、
仮想空間を設定する仮想空間設定手段と、
仮想粒子を前記仮想空間に対して連続的に放出する演算を行う仮想粒子放出手段と、
前記仮想粒子放出手段の演算により放出された各仮想粒子の軌道を、前記各仮想粒子同士の衝突を含めて演算する軌道演算手段と、
仮想発音体を設定する仮想発音体設定手段と、
各時刻における前記仮想発音体の配置態様を表す配置態様データを記憶する記憶手段と、
前記配置態様データを前記記憶手段から読出し、該読み出した配置態様データに基づいて前記仮想発音体を前記仮想空間に配置すると共に、時間軸を表示し前記仮想発音体の各々が前記仮想空間中に出現する時刻を前記時間軸上に表示する表示手段と、
前記仮想発音体と前記仮想粒子の相互作用を演算し、該相互作用に基づいて音データを生成する音データ生成手段
として機能させるプログラム。
【請求項５】
コンピュータを、
仮想空間を設定する仮想空間設定手段と、
仮想粒子を前記仮想空間に対して連続的に放出する演算を行う仮想粒子放出手段と、
前記仮想粒子放出手段の演算により放出された各仮想粒子の軌道を、前記各仮想粒子同士の衝突を含めて演算する軌道演算手段と、
仮想発音体を設定する仮想発音体設定手段と、
各時刻における前記仮想発音体の配置態様を表す配置態様データを記憶する記憶手段と、
前記配置態様データを前記記憶手段から読出し、該読み出した配置態様データに基づいて前記仮想発音体を前記仮想空間に配置すると共に、所定長の軸を表示し前記仮想発音体の各々と対応する識別子を、該対応する仮想発音体が前記仮想空間中に出現している間に前記軸上を移動させる表示手段と、
前記仮想発音体と前記仮想粒子の相互作用を演算し、該相互作用に基づいて音データを生成する音データ生成手段
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音データ生成装置およびプログラムに関する。
【背景技術】
【０００２】
近年、ますますリアリティーの増した音がコンピュータにより生成されるようになっている。例えばコンピュータで「雨降りの音」や「そよ風の音」など自然現象に伴う音を非常に巧妙に再現することができる（特許文献１参照）。
例えば、「雨降りの音」ならば、「ザーザー」、「そよ風の音」ならば「ヒューヒュー」など、自然現象ごとに特徴的な波形の音が生じるため、上記特許文献１などにおいては、自然現象における音の特徴を模した波形データを繰り返し音声へ変換することにより自然現象の音を再現している。
【特許文献１】特開平０７−１４０９７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、上述の雨降りの音は多数の雨粒と地面の衝突から生じるものであり、そよ風の音は空気中に存在する多数の気体分子の流れや振動から生じるものであるとの例からも明らかなように、自然界において発生する音の多くは小さなスケールで見れば多数の粒子が高頻度で相互作用を繰り返すことにより生じている。
【０００４】
例えば、一つの雨粒が地面と衝突する際には、「ポトッ」「ぺチ」「パチ」などの音が、各雨粒と地面との衝突状況や、他の雨粒との相互関係に応じて発生する。そして、無数の雨粒が連続して地面に衝突すると、それらの相互に異なる音が重ねあわされた音が発生する。そのように、大きさや位相、減衰状態、発生タイミングなどが異なる多数の音が重ねあわされることにより、結果的には、雨（多数の雨粒）の降る音である「ザー、ザー」という音として人間に知覚される。
そのように、自然界において発生している音は、総体として聴いた場合には個々の相互作用に由来する音の成分が区別されて聴取されることは無いが、実際は毎回異なる音から構成される２度と再現できない音が発生しているのである。そのような音の「ランダム性」や「非再現性」が自然界の音に「自然らしさ」を与えていると考えられる。
【０００５】
しかし、上記特許文献１を含め、従来のコンピュータにより生成される音は、予め決められた波形データが繰り返し読み出されるだけの音であったため、その音には上述した「ランダム性」や「非再現性」が欠如しており、所謂「自然らしさ」が感じられないといった問題があった。
【０００６】
本発明は上述の課題に鑑みてなされたものであり、一定の法則下における多数の粒子の挙動と対応付けられた自然な音を生成する音データ生成装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る音データ生成装置は、仮想空間を設定する仮想空間設定手段と、仮想粒子を前記仮想空間に対して連続的に放出する演算を行う仮想粒子放出手段と、前記仮想粒子放出手段の演算により放出された各仮想粒子の軌道を、前記各仮想粒子同士の衝突を含めて演算する軌道演算手段と、仮想発音体を設定する仮想発音体設定手段と、各時刻における前記仮想発音体の配置態様を表す配置態様データを記憶する記憶手段と、前記配置態様データを前記記憶手段から読出し、該読み出した配置態様データに基づいて前記仮想発音体を前記仮想空間に配置すると共に、時間軸を表示し前記仮想発音体の各々が前記仮想空間中に出現する時刻を前記時間軸上に表示する表示手段と、前記仮想発音体と前記仮想粒子の相互作用を演算し、該相互作用に基づいて音データを生成する音データ生成手段とを有することを特徴とする。
【０００８】
本発明に係る音データ生成装置は、仮想空間を設定する仮想空間設定手段と、仮想粒子を前記仮想空間に対して連続的に放出する演算を行う仮想粒子放出手段と、前記仮想粒子放出手段の演算により放出された各仮想粒子の軌道を、前記各仮想粒子同士の衝突を含めて演算する軌道演算手段と、仮想発音体を設定する仮想発音体設定手段と、各時刻における前記仮想発音体の配置態様を表す配置態様データを記憶する記憶手段と、前記配置態様データを前記記憶手段から読出し、該読み出した配置態様データに基づいて前記仮想発音体を前記仮想空間に配置すると共に、所定長の軸を表示し前記仮想発音体の各々と対応する識別子を、該対応する仮想発音体が前記仮想空間中に出現している間に前記軸上を移動させる表示手段と、前記仮想発音体と前記仮想粒子の相互作用を演算し、該相互作用に基づいて音データを生成する音データ生成手段とを有することを特徴とする。
【０００９】
本発明に係る音データ生成装置は、上記の構成において、前記配置態様データにおいて、前記仮想発音体の配置態様と時刻との対応付けを変更する変更手段を更に有し、前記表示手段は、前記変更手段により変更された対応付けに基づいて、前記記憶手段に記憶された前記仮想発音体の配置態様を読出すようにしても良い。
【００１０】
本発明に係るプログラムは、コンピュータを、仮想空間を設定する仮想空間設定手段と、仮想粒子を前記仮想空間に対して連続的に放出する演算を行う仮想粒子放出手段と、前記仮想粒子放出手段の演算により放出された各仮想粒子の軌道を、前記各仮想粒子同士の衝突を含めて演算する軌道演算手段と、仮想発音体を設定する仮想発音体設定手段と、各時刻における前記仮想発音体の配置態様を表す配置態様データを記憶する記憶手段と、前記配置態様データを前記記憶手段から読出し、該読み出した配置態様データに基づいて前記仮想発音体を前記仮想空間に配置すると共に、時間軸を表示し前記仮想発音体の各々が前記仮想空間中に出現する時刻を前記時間軸上に表示する表示手段と、前記仮想発音体と前記仮想粒子の相互作用を演算し、該相互作用に基づいて音データを生成する音データ生成手段として機能させることを特徴とする。
【００１１】
本発明に係るプログラムは、コンピュータを、仮想空間を設定する仮想空間設定手段と、仮想粒子を前記仮想空間に対して連続的に放出する演算を行う仮想粒子放出手段と、前記仮想粒子放出手段の演算により放出された各仮想粒子の軌道を、前記各仮想粒子同士の衝突を含めて演算する軌道演算手段と、仮想発音体を設定する仮想発音体設定手段と、各時刻における前記仮想発音体の配置態様を表す配置態様データを記憶する記憶手段と、前記配置態様データを前記記憶手段から読出し、該読み出した配置態様データに基づいて前記仮想発音体を前記仮想空間に配置すると共に、所定長の軸を表示し前記仮想発音体の各々と対応する識別子を、該対応する仮想発音体が前記仮想空間中に出現している間に前記軸上を移動させる表示手段と、前記仮想発音体と前記仮想粒子の相互作用を演算し、該相互作用に基づいて音データを生成する音データ生成手段として機能させることを特徴とする。
【発明の効果】
【００１２】
本発明に係る音データ生成装置またはプログラムによれば、一定の法則下における多数の粒子の挙動と対応付けられた自然な音を生成することができる。
【発明を実施するための最良の形態】
【００１３】
（本発明の概略説明）
本発明に係る音データ生成装置は、コンピュータの演算によって形成される仮想空間の中に多数の仮想粒子を放出させランダムに運動させる。そして仮想空間には、仮想粒子との相互作用により音を発する仮想発音体を配置し、該仮想発音体と仮想粒子との相互作用（衝突など）の状況に基づいて音データを生成する。その際に、各仮想発音体の配置タイミングを示す表示がなされることにより、生成される音データを視覚的に把握することを可能にする。
【００１４】
図１は、音データ生成処理におけるモニタ表示の一例である。仮想粒子２００は、スプリンクラ１５０の先端部分より仮想空間１００内に放出される。そして、仮想粒子２００は、仮想空間１００内に設定された重力に従って画面の下方向に「落下」すると同時に、仮想空間１００の壁面などで跳ね返ったり、仮想粒子２００同士で衝突したりする。その結果、多数の仮想粒子２００が仮想空間１００内でランダムに運動する。そのように多数の仮想粒子２００が飛び交っている仮想空間１００には、振動体（発音体）として１または複数の弦１２０が各々のタイミングで設けられ、仮想空間１００中を移動制御される。そして、個々の仮想粒子２００が弦１２０の領域を通過して弦１２０を「はじく」と弦１２０は振動し、その振動状態に基づいて音データが生成される。このとき、モニタ画面には、仮想空間１００の表示と共に、弦１２０の出現タイミングを表すタイムライン３２が表示される。そして、現在の時刻を示すリアルタイムバー３４が、上記タイムライン上をスライドする。該タイムラインの表示により、音データ生成装置のユーザは各弦１２０の出現タイミングを視覚的に把握することが可能になる。
【００１５】
（Ａ；構成）
以下、図面を参照しつつ、本発明を実施する際の最良の形態について説明する。
【００１６】
（Ａ−１；全体構成）
図２は、本発明に係る音データ生成システム１の全体構成を示す図である。音データ生成システム１は、プログラム実行装置としての音データ生成装置１０と、マウス２０と、モニタ３０と、多点コントローラ４０とを有する。
【００１７】
（Ａ−２；各装置の構成）
まず、音データ生成装置１０のハードウェア構成について図３を用いて説明する。
音データ生成装置１０は、制御部１０１、光ディスク再生部１０２、ＲＯＭ（Read Only Memory）１０３、ＲＡＭ（Random Access Memory）１０４、Ｉ／Ｏ部１０５を有する。それら各部はバス１０９を介して互いに接続されている。
【００１８】
図に示す制御部１０１は、例えばＣＰＵ（Central Processing Unit）であり、ＲＯＭ１０３から読み出された各種制御プログラムを実行することにより、音声および映像の信号処理や各部の制御を行う。
【００１９】
光ディスク再生部１０２は、ＣＤ−ＲＯＭ・ＤＶＤ−ＲＯＭ等の光ディスクからデータを読取る。
ＲＯＭ１０３は、制御部１０１が実行する各種制御プログラムを格納している。
ＲＡＭ１０４は、制御部１０１によってワークエリアとして利用される。
【００２０】
Ｉ／Ｏ部１０５は、音データ生成装置１０と接続された機器との信号の送受信を仲介する。具体的には、マウス２０および多点コントローラ４０から操作内容を示す信号を受取り制御部１０１に出力すると共に、制御部１０１から受取った音データおよび映像データをモニタ３０に出力する。
以上が音データ生成装置１０の構成である。
【００２１】
次に、マウス２０の構成について図４を用いて説明する。マウス２０は、本体２１の上面（図中（ａ）参照）にはボタン２２を、下面（図中（ｂ）参照）には移動検知手段２４を有する。また、マウス２０は、音データ生成装置１０に通信ケーブル２３にて接続されており、操作内容を示すデータが通信ケーブル２３を介して音データ生成装置１０に送信される。
【００２２】
マウス２０は、本体２１が移動されると移動検知手段２４が移動方向と移動量を示す操作信号を生成し、通信ケーブル２３を介して出力する。該信号を受取った制御部１０１は、操作信号に基づいてモニタ３０の画面上のカーソルを移動する処理を行う。
また、ボタン２２が押下（以下、クリック）されると、マウス２０はクリック操作がなされたことを示すクリック操作信号を生成し、通信ケーブル２３を介して出力する。クリック操作信号を受取った制御部１０１は、クリック時にカーソルが位置していた座標を認識し、当該座標に表示されているアイコンなどに対して選択処理が行われたと認識する。
また、ボタン２２を押下した状態で本体２１が移動され、その後ボタン２２の押下を解除する操作（以下、ドラッグ）がなされると、ボタン２２が押下されていた間の本体２１の移動方向と移動量、およびドラッグ操作がなされたことを示す信号を生成し、通信ケーブル２３を介して出力する。該信号を受取った制御部１０１は、ドラッグ操作により選択された画面上の領域や該領域に含まれるアイコンなどに対して選択処理が行われたと認識する。
【００２３】
次に、モニタ３０の構成について図５を用いて説明する。モニタ３０は、音データ生成装置１０から受取った映像データに基づいて映像を表示する。モニタ画面には、上記仮想空間１００が表示される領域が設定されており、該領域の各点には、画面左上を座標（０，０）、右下を座標（７５６，１０２４）とする座標が設定されている。
また、モニタ画面には、仮想空間１００に各種設定を行うための各種アイコンが表示される制御パネル４００、および仮想空間１００内に設けられる弦１２０の配置態様を表示するための領域であるタイムラインパネル５００が設けられている。
また、図５に示すように、モニタ画面の下方には音データ再生部３０ａが設けられ、音データ生成装置１０から受取った音データに基づいて音声が放音される。
【００２４】
次に、多点コントローラ４０の構成について、図６を用いて説明する。図６（ａ）に示すように、多点コントローラ４０には、タッチパネル４２が設けられている。タッチパネル４２には、図示するように領域Ａおよび領域Ｂが含まれる。
領域Ａには、図に示すように画面左上を座標（０，０）、右下を座標（７５６，１０２４）とする座標が設定されている。タッチパネル４２は、領域Ａの特定の点が押下されたことを感知すると、押下された点の座標を表す押下位置情報を、通信ケーブル４１を介して音データ生成装置１０に出力する。複数の点が同時に押下されている場合には、該押下されている複数の点それぞれについて並行して押下位置情報が生成・出力される。
【００２５】
音データ生成装置１０の制御部１０１は、押下位置情報を多点コントローラ４０から受取ると、該押下位置情報が表す座標を読み出し、モニタ３０画面上において該座標に相当する点が選択されたと判断する。図６（ｂ）は、モニタ３０における仮想空間１００を表示する領域を示した図である。例えば、図６（ａ）で示されるように右手の人差し指と親指でタッチパネル４２が押下された場合、各指で押下された位置（点Ｐ１、Ｐ２）を示す座標が書き込まれた押下位置情報が、それぞれの位置が押下されている間継続して制御部１０１へ出力される。制御部１０１は、該押下位置情報を受取ると、モニタ画面（図６（ｂ））上の点Ｐ’１および点Ｐ’２が選択されたと判定する。
【００２６】
また、タッチパネル４２の領域Ｂには、各種のアイコンが設けられている。領域Ｂが押下されると、押下されたアイコンの種類を表すアイコン情報が音データ生成装置１０に出力される。具体的には、領域Ｂには再生アイコン４５とＲＥＣアイコン４６とが設けられている。これらのアイコンについては、後に詳しく説明する。
【００２７】
（Ａ−３；プログラムの構成）
次に、ＲＯＭ１０３に格納された制御プログラムについて説明する。なお、制御プログラムには、音データ生成装置１０の制御部１０１が音データを生成するために実行する各種プログラムが含まれ、以下では主要なプログラムを取り上げて説明する。
【００２８】
制御プログラムは、空間特性制御プログラム、オブジェクト制御プログラム、タイムライン制御プログラム、粒子運動制御プログラム、弦振動制御プログラム、映像制御プログラム、および音データ生成プログラムなどからなる。
【００２９】
空間特性制御プログラムは、重力などの仮想空間１００に設定され仮想粒子２００の運動に影響を及ぼす各種特性を制御する。オブジェクト制御プログラムは、仮想空間１００内に仮想粒子２００を出現させるオブジェクト（スプリンクラ１５０など）の配置を制御する。タイムライン制御プログラムは、仮想空間１００に設けられた弦１２０の配置タイミングを時間軸と対応付けて表示する処理を行う。粒子運動制御プログラムは、仮想空間１００内における仮想粒子２００の運動を計算する。弦振動制御プログラムは、弦１２０の振動状況を演算する。映像制御プログラムは、演算結果として与えられる仮想空間１００内の仮想粒子２００の運動や弦１２０の振動などの挙動をテレビジョンモニタ画面上へ表示させる。音データ生成プログラムは、弦１２０の振動状態に基づいて音データを生成する。
【００３０】
（Ａ−４；仮想空間の制御）
以下では、空間特性制御プログラムによる仮想空間１００の制御について説明する。
図７は、モニタ表示の一例を示した図である。ユーザにより制御パネル４００の空間特性アイコン４０４が押下されると、制御部１０１は、所定の操作画面をモニタ３０の画面上に表示する。図８は、該操作画面の一例を示した図である。
ユーザは、画面上に表示された重力の方向に関する選択肢を選択し、仮想空間１００に設定される重力加速度の大きさを書き込む。また、仮想粒子２００の移動の際に働く抵抗力は仮想粒子２００の速度に比例するとし、その速度に応じた抵抗力を決定するための比例定数を書き込む。
制御部１０１は、ユーザにより入力された内容を粒子運動制御プログラムにおける粒子運動の挙動の算出に反映させる。
【００３１】
なお、これら仮想空間１００に関する設定は、予め制御プログラムなどにテンプレートとして書き込んでおいても良い。例えばあるテンプレートにおいては、重力場は画面下方に設定され、抵抗力を決める比例定数が「水中」に相当するような大きな値に設定されているようにすれば、ユーザは該テンプレートを選択するだけで仮想空間１００がまるで重力のある空間に設置された水が満たされた容器であるかのように設定することができる。
【００３２】
（Ａ−５；仮想粒子の運動）
以下では、粒子運動制御プログラムによる仮想粒子２００の運動の制御方法について説明する。
（１）仮想粒子２００の出現
まず、仮想粒子２００の出現について図９を用いて説明する。本実施形態における仮想空間１００には、仮想粒子２００を仮想空間１００に発生させるための装置として、スプリンクラ１５０が設けられる。
【００３３】
スプリンクラ１５０は、制御パネル４００の初速度４０２、頻度４０３の値が書き込まれた後スプリンクラアイコン４０１がクリックされ、仮想空間１００内においてドラッグがなされることにより設定される。
【００３４】
スプリンクラ１５０は、放出口１５０ａを有する。個々の仮想粒子２００は、初速度４０２に書き込まれた初速度で放出される。また、その放出の頻度は、時間平均して単位時間あたり頻度４０３に書き込まれた数となるようランダムに放出される。
【００３５】
（２）仮想粒子２００の運動
ＲＯＭ１０３に格納された粒子運動制御プログラムは、仮想空間１００内での仮想粒子２００の運動を以下に説明するルール（ａ）〜（ｃ）に従って制御する。なお、以下のルールは、地球上の物体の力学的性質および力学的法則を模したものである。
（ａ）仮想粒子２００は、所定の体積（ｖ）および質量（ｍ）を有している。
（ｂ）仮想粒子２００に働く力Ｆと仮想粒子２００の質量ｍと加速度αとの間にはＦ＝ｍαの関係がある。たとえば本実施形態においては、仮想空間１００の下向きに重力場が存在するため、仮想粒子２００には常にｍｇ（ｇは重力加速度）の大きさの力が仮想空間１００の下向きに働く。
（ｃ）仮想粒子２００同士、および仮想粒子２００と仮想空間１００の枠組みが衝突した場合には、跳ね返り係数１で完全弾性衝突をする。
【００３６】
（３）仮想粒子２００の消滅
仮想空間１００の枠組みの底辺に達した仮想粒子２００は消滅するよう設定されている。
【００３７】
（Ａ−６；音データの生成）
音データ生成装置１０は、ＲＯＭ１０３に格納された音データ生成プログラムにより、以下に説明するように音データを生成する。
【００３８】
弦１２０の振動は、ＲＯＭ１０３に格納された弦振動制御プログラムにより演算される。具体的には、予め設定された弦の弾性（材質）、弦の断面積、弦の張力、弦がはじかれた変位量（仮想粒子２００との衝突状況）などに基づいて、物理的なシミュレーションが行われる。シミュレーションの結果、各時刻における弦の各部分の変位量が演算され、該演算結果から、弦から発生する音の振幅、周波数、減衰態様などが導き出される。
【００３９】
なお、音データ生成装置１０は、ＭＡＸ／ＭＳＰを用いて音データを生成する。なお、ＭＡＸ／ＭＳＰとは、音楽プログラミング言語ＭＡＸと音響信号処理用エクステンションＭＳＰとからなる。ＭＡＸ／ＭＳＰによれば、様々なモジュールをつなぎ合わせて、シンセサイザー、エフェクター、シーケンサーなどが作れるほか、パッチングによって音楽の自動生成なども可能であり、ビジュアル的なプログラミング環境によって、直感的なプログラミング・操作ができる。
【００４０】
（Ｂ；動作）
以下では、音データ生成装置１０が音データを生成する際の各部の動作について説明する。
まず、音データ生成装置１０の電源が投入されると、制御部１０１はＲＯＭ１０３から各種制御プログラムを読み出し、ＲＡＭ１０４にロードする。
【００４１】
（Ｂ−１；初期設定処理）
まず、初期設定処理が行われる。図１０は、初期設定処理の流れを示したフローチャートである。
ステップＳＡ１００においては、仮想空間１００の空間特性が設定される。音データ生成システム１のユーザにより、制御パネル４００の空間特性アイコン４０４（図９参照）が押下されると、モニタ３０にパラメータ設定のための画面（図８参照）が表示される。制御部１０１は、入力された内容に応じて仮想空間１００の空間特性（重力場および抵抗力）を設定する。
【００４２】
例えば、重力の方向として図面下方向が選択され、その重力加速度の値が書き込まれると、仮想粒子２００に対して、設定された値に対応する重力が画面下方向に働くよう演算される。その結果、仮想空間１００はあたかも鉛直方向に設けられた空間であるかのように設定される。
また、抵抗力の比例定数が書き込まれると、仮想粒子２００の移動速度に該比例定数で比例する抵抗力が移動と逆方向に働くよう演算される。その結果、該比例定数に応じて種々の媒質（空気や水）が仮想空間１００に満たされているかのように設定される。
【００４３】
ステップＳＡ１１０では、仮想粒子２００を仮想空間１００に出現させる手段（スプリンクラ１５０）の設定がなされる。ユーザにより制御パネル４００にパラメータが書き込まれた後、スプリンクラアイコン４０１がクリックされ、仮想空間１００内の領域が指定されると、スプリンクラ１５０が設定される。本実施形態では、例えば図９に示すような位置にスプリンクラ１５０が設定されたものとする。
以上で、初期設定処理を終了する。
【００４４】
（Ｂ−２；振動体設定処理）
仮想粒子２００を仮想空間１００に放出させる処理の説明に入る前に、仮想粒子２００との相互作用により発音を行う振動体を仮想空間１００に設定する振動体設定処理について説明する。なお、振動体設定処理は、後述する音データ生成処理に対して割り込み処理として行われる。
【００４５】
本実施形態においては、振動体として、弦１２０が設けられる。図１１は、振動体設定処理の流れを示したフローチャートである。
ステップＳＢ１００において、制御部１０１は、多点コントローラ４０から押下位置情報を受信したか否かを判定する。ステップＳＢ１００の判定結果が“ＮＯ”の場合は、ステップＳＢ１００の処理を繰り返す。ステップＳＢ１００の判定結果が“ＹＥＳ”である場合は、ステップＳＢ１１０を行う。
【００４６】
制御部１０１は、多点コントローラ４０から受取った押下位置情報に含まれる座標を読取り、該座標をＲＡＭ１０４に一旦記憶する。そして、押下位置情報に含まれる２つの位置（座標）を両端とするように、振動体である弦１２０を設ける（ステップＳＢ１１０）。このようにして設けられた弦１２０は、タッチパネル４２の領域Ａが押下されている間、継続して設けられる。
【００４７】
ステップＳＢ１２０において、制御部１０１は、押下位置情報に含まれる座標が変更されたか否か判定する。
ユーザにより押下されたタッチパネル４２の位置がスライドされた場合、ステップＳＢ１２０の判定結果は“ＹＥＳ”となり、弦１２０の設置位置を移動する処理がなされる。（ステップＳＢ１３０）。一方、ステップＳＢ１２０の判定結果が“ＮＯ”である場合、ステップＳＢ１２０の処理を繰り返し、弦１２０は継続して同じ位置に設けられる。
【００４８】
ステップＳＢ１４０において、制御部１０１は、弦１２０の設置を指示する押下位置情報の供給が停止されたか否かを判定する。ユーザがタッチパネル４２の押下を停止すると、押下位置情報は制御部１０１に供給されなくなり、ステップＳＢ１４０の判定結果は“ＹＥＳ”となり、該押下が停止された位置に対応する弦１２０が消滅する（ステップＳＢ１５０）。一方、継続して押下されている場合（ステップＳＢ１４０；“ＮＯ”）は、ステップＳＢ１２０以降の処理が繰り返される。
ステップＳＢ１６０において、制御部１０１は、振動体設定処理が終了したか否かを判定する。ステップＳＢ１６０の判定結果が“ＹＥＳ”である場合は、本振動体設定処理を終了する。ステップＳＢ１６０の判定結果が“ＮＯ”である場合は、再びステップＳＢ１００以降の処理を行う。以上が振動体設定処理の流れである。
【００４９】
（Ｂ−３；タイムライン生成処理）
本発明に係る音データ生成システム１においては、弦１２０の配置タイミングを示すタイムラインを表示させることができる。タイムライン生成処理の説明の前に、タイムライン生成処理により生成されたデータに基づくタイムライン表示を参照しながら、その概要を説明する。なお、以下ではタイムライン生成処理により、各弦１２０の各時刻における弦１２０の配置態様（弦１２０の出現・移動・消滅）が既にＲＡＭ１０４に書き込まれているものとする。
【００５０】
（Ｂ−３−１；タイムライン表示の概要）
図９は、時刻０ｓにおける仮想空間１００を示す。仮想空間１００内には、スプリンクラ１５０から多数の仮想粒子２００がランダムに放出されている。そして、時刻０ｓに、ユーザの操作に基づいて弦１２０Ａ（仮想空間１００に出現する弦１２０を区別して示す場合には、符号にアルファベットを付す）が仮想空間１００に出現する。図中には、出現直後の弦１２０Ａが示されている。
【００５１】
このとき、タイムラインパネル５００において、時間軸上には、タイムライン３２Ａ、３２Ｂ（互いに区別する必要がない場合には、タイムライン３２と総称する）が表示されている。
そして、同時間軸上には、リアルタイムバー３４が時刻０ｓにおいて交差するように表示されている。このことは、図９に示すモニタ画面には時刻０ｓにおける仮想空間１００が表示されていることを示す。また、時刻０ｓにおいて、リアルタイムバー３４はタイムライン３２Ａの左端と交差することから、タイムライン３２Ａと対応する弦１２０Ａが該時刻に仮想空間１００に出現することを示している。
【００５２】
図１２は、時刻１ｓ（図９の１秒後）におけるモニタ表示を示している。このとき、弦１２０Ａは、ユーザの操作に従って画面左方に移動し、仮想粒子２００との相互作用により振動している。また、リアルタイムバー３４は、タイムライン３２Ａと交差しながら時刻１ｓの位置までスライドしている。この時刻においても、リアルタイムバー３４は、タイムライン３２Ａとのみ交差していることから、仮想空間１００内にはタイムライン３２Ａと対応する弦１２０Ａのみが設けられていることを示している。
【００５３】
図１３は、時刻２ｓにおけるモニタ表示を示している。このとき、弦１２０Ａは更に画面左方に移動している。この時刻において、リアルタイムバー３４は、タイムライン３２Ａと継続して交差すると共に、タイムライン３２Ｂとも交差を開始する。該タイムライン表示は、該時刻においてタイムライン３２Ｂと対応する弦１２０Ｂが新たに仮想空間１００に出現することを示している。
【００５４】
時刻２ｓ以降、弦１２０Ａは更に左方に移動し、弦１２０Ｂは右方へ移動する。時刻３ｓになると、弦１２０Ａは仮想空間１００から消滅する。そのことは、タイムライン３２Ａが時刻３ｓまで伸びていることと対応する。そして、弦１２０Ｂは、画面右方への移動を継続し、例えば時刻５ｓには図１４に示す位置へ移動し、その時仮想粒子２００と相互作用し振動している。
【００５５】
以上に説明したように、各弦１２０の各時刻における弦１２０の配置態様（弦１２０の出現・移動・消滅）がＲＡＭ１０４に記憶されており、該配置態様に基づいて仮想空間１００には弦１２０が自動的に設けられる。また、各弦１２０の配置タイミングと対応付けて、各弦１２０と対応する各タイムライン３２が表示される。
各弦１２０と対応付けられたタイムライン３２は、各弦１２０が仮想空間１００内に設けられる期間を示している。そして、リアルタイムバー３４が時間軸上をスライドし、仮想空間１００の現在時刻を示す。その結果、リアルタイムバー３４は、各弦１２０が仮想空間１００に出現するタイミングで該弦１２０と対応するタイムライン３２と交差する。従って、ユーザは、仮想空間１００における弦１２０の設置タイミングを視覚的に容易に知ることができる。
【００５６】
さて、タイムライン３２は、弦１２０と共に表示されることで各弦１２０の配置タイミングを表すだけではなく、各時刻における弦１２０の配置態様を読み出し、該配置態様に従って弦１２０を仮想空間１００に配置する手段としても機能する。すなわち、カーソル１７０によりリアルタイムバー３４が時間軸上の特定の位置（時刻）に移動されると、該時刻における各弦１２０の配置態様がＲＡＭ１０４から読み出され、該読み出された配置態様に従って仮想空間１００内に弦１２０が配置される。
【００５７】
（Ｂ−３−２；タイムライン生成処理の詳細）
ここで、上述したタイムライン表示を実現するタイムライン生成処理について説明する。以下に説明するように、各々のタイムライン３２は、それぞれ個別に生成される。
【００５８】
図１５は、タイムライン生成処理の開始時刻（時刻０ｓ）におけるモニタ表示である。時刻０ｓにおいて、ユーザは、多点コントローラ４０のＲＥＣアイコン４６を左手で継続的に押下する。それと同時に、ユーザは、多点コントローラ４０のタッチパネル４２上の２点を右手で押下することにより、弦１２０Ａを仮想空間１００に出現させる。そしてユーザは、左手ではＲＥＣアイコン４６を継続的に押下すると共に、タッチパネル４２の押下点をスライドさせることにより、図１６に示すように弦１２０を画面左方に移動させる。
【００５９】
制御部１０１は、ＲＥＣアイコン４６が押下されている間、各時刻における弦１２０の配置態様をＲＡＭ１０４に記憶（録画）する。具体的には、各時刻における各弦１２０の端点、すなわち押下位置情報に含まれる２つの座標をＲＡＭ１０４に書き込む。
また、該弦１２０の配置態様の録画と並行し、弦１２０と対応するタイムライン３２を表示する。図１６には、弦１２０Ａと対応するタイムライン３２Ａを示している。このように、ＲＥＣアイコン４６が押下されている最中に弦１２０がユーザにより設けられている場合には、該弦１２０が設けられている時刻と対応するようにタイムライン３２が伸張される。
【００６０】
図１７は、時刻３ｓのモニタ表示を示す。時刻３ｓになり、ユーザは、ＲＥＣアイコン４６の押下を停止したとする。ＲＥＣアイコン４６の押下が停止されると、弦１２０の配置態様の録画は停止される。また、タイムライン３２Ａは、ＲＥＣアイコン４６の押下が停止された時刻にその伸張が停止される。以上のようにして、仮想空間１００内に弦１２０Ａが設けられると共に、タイムライン３２Ａが表示される。
【００６１】
次に、弦１２０Ｂに対応するタイムライン３２Ｂが以下のように生成される。上記弦１２０Ａに係る録画が終了した後、カーソル１７０によりリアルタイムバー３４が時刻２ｓの位置に移動されると、該時点までに録画された弦１２０の配置態様に関するデータから、該時刻（２ｓ）に関するデータが読み出され、該時刻における弦１２０（この段階では弦１２０Ａのみ）の配置が仮想空間１００に実現される。図１８は、そのようにして実現された仮想空間１００を表すモニタ表示である。
【００６２】
ここで、ユーザにより再生アイコン４５が押下されると、ＲＡＭ１０４に記憶された各弦１２０（この場合弦１２０Ａのみ）の配置態様が読み出され、該配置態様に基づいて弦１２０が仮想空間１００内に設けられると共に、スプリンクラ１５０から仮想粒子２００が放出される。
該録画内容の再生と並行してＲＥＣアイコン４６がユーザにより継続的に押下されると、新たに設けられた弦１２０の配置態様が録画される。例えば、ＲＥＣアイコン４６が押下されると共に新たに弦１２０（この場合、弦１２０Ｂ）が設けられると、弦１２０Ｂの配置態様が上記録画内容に上書きされる。すなわち、新たな録画内容には、弦１２０Ａと新たに生成された弦１２０Ｂの配置態様が併せて書き込まれる。
【００６３】
図１９は、該上書き録画の最中（時刻２．５ｓ）のモニタ表示を示した図である。時刻２．５ｓにおいて、弦１２０Ａは読み出された配置態様に従って仮想空間１００内を移動している。一方、弦１２０Ｂは、ユーザの操作に従って仮想空間１００内を移動している。このとき、弦１２０Ａと対応するタイムライン３２Ａと交差しながらリアルタイムバー３４がスライドすると共に、該リアルタイムバー３４と先端として、弦１２０Ｂに対応するタイムライン３２Ｂが伸張していく。
【００６４】
このように、既に記憶された弦１２０の配置態様が読出されると共に、新たに弦１２０が設けられることにより、それら弦１２０の配置態様が併せて録画される。
さて、本実施形態においては、図２０に示す時刻８ｓにおいてＲＥＣアイコン４６の押下が停止される。その結果、弦１２０Ａおよび１２０Ｂの配置態様は時刻８ｓまで録画される。このようにして生成された録画内容に従って、上述した図９、１２〜１４のタイムライン表示が実現する。
【００６５】
（Ｂ−４；音データ生成処理）
上記タイムライン生成処理がなされると、音データ生成処理が開始可能となる。図２１は、音データ生成処理の流れを示したフローチャートである。
【００６６】
ユーザにより再生アイコン４５が押下されると、ステップＳＣ１１０において、タイムライン生成処理において録画された内容に従って、弦１２０が仮想空間１００内に配置される。また、そのように時間経過に伴って設けられる弦１２０の配置タイミングを示すタイムライン３２が表示され、該タイムライン上をリアルタイムバー３４がスライドする。録画内容が全て読み出されると（本動作例の場合、再生開始後８ｓ）、再び時刻０ｓからデータが読み出される。このような録画内容の繰り返し再生（ループ再生）は、ユーザにより音データ生成処理が終了されるまで継続される。以下のステップは、該ループ再生と並行して行われる。
【００６７】
ステップＳＣ１２０において、スプリンクラ１５０は、仮想粒子２００を仮想空間１００に出現させる。そして、仮想空間１００に放出された個々の仮想粒子２００のそれぞれについて、ステップＳＣ１３０以下の処理が行われる。
【００６８】
ステップＳＣ１３０において、微小単位時間後の仮想粒子２００の運動を演算する。仮想粒子２００が仮想空間１００の壁または他の仮想粒子２００に衝突した場合には、完全弾性衝突で跳ね返り、該仮想粒子２００には新たな速度が設定される。また、衝突が起こっていない場合には、仮想粒子２００の速度に微小時間を乗算することにより、仮想粒子２００は新たな位置に移動する。
なお、ステップＳＣ１３０においては、ステップＳＣ１２０にて仮想空間１００に出現した仮想粒子２００の全てについて同時にその軌道の算出が行われるため、ランダムに出現した多数の仮想粒子２００が互いに相互作用を高頻度で繰り返すこととなる。従って、仮に仮想空間１００の各種設定が同一であっても、毎回異なった仮想粒子２００の挙動が引き起こされる。
【００６９】
ステップＳＣ１４０において、ステップＳＣ１３０の処理により、仮想空間１００の底面に達してして消滅するか否かを判定する。ステップＳＣ１４０の判定結果が“ＹＥＳ”である場合には該仮想粒子２００を画面上から消去し、該仮想粒子２００に関しての処理を終了する。ステップＳＣ１４０の判定結果が“ＮＯ”である場合には、ステップＳＣ１５０以降の処理を行う。
【００７０】
ステップＳＣ１５０において、仮想粒子２００が録画された配置態様に従って配置される弦１２０と衝突したか否かを判定する。仮想粒子２００が弦１２０と相互作用した場合、ステップＳＣ１５０の判定結果は“ＹＥＳ”となり、ステップＳＣ１６０の処理が行われる。一方、ステップＳＣ１５０の判定結果が“ＮＯ”である場合は、ステップＳＣ１３０以降の処理が再び行われる。
【００７１】
ステップＳＣ１６０において、ステップＳＣ１５０において仮想粒子２００と相互作用した弦１２０の振動状態をシミュレーション演算する。そして、該シミュレーション演算の結果から、弦１２０において生成される音の振幅、周波数、音色などを解析し、該音を表す音データを生成する。
ステップＳＣ１７０において、弦１２０の振動状態に基づいて音データが生成される。
【００７２】
上述のように、弦１２０は、タイムライン生成処理において録画された配置態様に従って繰り返し仮想空間１００内に設けられる。しかし、仮想粒子２００はスプリンクラ１５０からランダムに放出されている上に多数の仮想粒子２００が互いに高頻度で相互作用を繰り返しているため、ループ再生における弦１２０の配置態様は毎回同じであるが生成される音データは毎回異なったものとなる。
ステップＳＣ１７０が終わると、弦１２０と相互作用した仮想粒子２００について、ステップＳＣ１３０以降の処理が再び実行される。
【００７３】
以上の音データ生成処理と並行して、モニタ３０には仮想空間１００における仮想粒子２００および弦１２０の運動や、弦１２０の振動状態が表示される。生成される音データは該表示に対応するものであるから、ユーザは放音された音とモニタ表示を対応付けて視聴することが出来る。
【００７４】
上記ステップＳＣ１７０において生成された音データは音データ再生部３０ａへ出力され、音データ再生部３０ａにおいて再生される。また、制御部１０１は、スプリンクラ１５０の配置態様、弦１２０の配置態様、および仮想空間１００に設定された空間特性など、音データの生成に係る各種パラメータの情報（以下、設定情報）を、試行ごとにＲＡＭ１０４に書き込む。制御部１０１は、ＲＡＭ１０４に書き込まれた設定情報を読み出すことにより、再度同じ条件設定下で音データの生成処理を行うことができる。
【００７５】
（Ｃ；変形例）
以上、本発明の実施形態について説明したが、本発明は以下のように種々の態様で実施することができる。
【００７６】
（１）上記実施形態においては、音データ生成処理の際、タイムライン生成処理において録画された内容が繰り返しループ状に再生される場合について説明した。しかし、該録画内容が、１または複数回だけ再生されるとしても良い。
【００７７】
（２）上記実施形態においては、録画内容がループ再生されるとき、弦１２０は、録画内容の最後のタイミング（上記動作例では、時刻８ｓ）での各弦１２０の位置から、初めの（時刻０ｓにおける）位置に非連続的に移動する場合について説明したが、該非連続的な移動を補間する処理を行っても良い。すなわち、各弦１２０の位置が非連続的に移動する場合には、例えば該移動の直前の位置と直後の位置とを結ぶ線分をなぞるように該オブジェクトが移動するようにしても良い。
【００７８】
（３）上記実施形態においては、ＲＡＭ１０４に書き込まれた録画内容を再生すると共に、新たに設けられている弦１２０の配置態様を併せて録画する旨を説明した。しかし、各弦１２０についてその配置態様を個別に録画して複数のデータを生成し、再生アイコン４５が押下された際に該複数のデータを併せて再生することにより、複数の弦１２０の配置態様が読み出されるようにしても良い。また、各弦１２０の配置態様に関する複数の録画内容を順次時間をずらしてつなぎ合わせることにより、複数の弦１２０が入れ替わり仮想空間１００内に出現する録画内容を生成しても良い。
【００７９】
（４）上記実施形態においては、例えば図１３に示すように、弦１２０の端点の色をタイムライン３２の色と対応させることにより、ユーザが視覚的に弦１２０とタイムライン３２との対応関係を知ることを可能にした。しかし、弦１２０とタイムライン３２との対応付けは、色による区別に限定されるものではなく、模様や文字や記号などによる各種の方法が可能である。
【００８０】
（５）上記実施形態においては、仮想空間１００内に設けられる仮想発音体として振動体（弦１２０）が設けられる場合について説明した。しかし、設けられる発音体は弦に限定されず、例えば太鼓やシンバルなどを模した振動面を有する振動体（以下、面と呼ぶ）を設けても良い。以下、「面」の構成およびその振動の制御について説明する。
面を仮想空間１００に設ける場合には、以下のようにすれば良い。仮想空間１００の表示は２次元であるため、面の断面図で表示されるようにしても良い。すなわち、例えば仮想空間１００内で始点と終点とが指定された場合には、指定された始点と終点とを結ぶ直線が面の断面となるように、そして面と仮想空間１００の表示画面が直交するように面が設けられるとすれば良い。
面と仮想粒子２００が相互作用した場合には、振動面に関する物理的シミュレーションを行い、面特有の音データを生成するようにすれば良い。
なお、上記実施形態においては、仮想粒子２００は弦１２０と相互作用した場合に、反発せずそのまま弦１２０を通過する場合について説明したが、面との相互作用においては、仮想粒子２００は跳ね返るとの条件を設けても良い。
【００８１】
また、仮想発音体は球や立方体などであっても良い。その場合、該発音体と仮想粒子２００が相互作用した場合には、球や立方体の振動状況に応じて音が物理的にシミュレーションされるようにしても良いし、衝突状況に合わせて予め格納された波形データが読み出されるようにしても良い。
【００８２】
（６）上記実施形態においては、タイムライン３２が表示される時間軸が１０秒を最大値とする場合（図９参照）について説明したが、最大時間は１０秒に限られるものではなく、どのような長さであっても良い。
【００８３】
（７）上記実施形態においては、弦１２０の振動を、物理モデルのシミュレーションにより演算する場合について説明した。しかし、弦特有の音を表す波形データを予めＲＯＭ１０３に記憶しておき、仮想粒子２００と弦１２０との衝突の度に、該波形データを読み出すようにしても良い。その場合、波形データを複数種類格納しておき、弦の特徴（弦の太さ、長さなど）に応じて、弦ごとに異なる波形データが選択的に読み出されるようにしたり、振幅やピッチなどを変換して発音されるようにしても良い。
【００８４】
（８）上記実施形態においては、仮想粒子２００が弦１２０に衝突しても、そのまま通り抜ける場合について説明したが、弦１２０と仮想粒子２００との相互作用においても、仮想粒子２００同士の相互作用と同様に衝突および跳ね返りが発生するようにしても良い。
【００８５】
（９）上記実施形態において、仮想粒子２００は、仮想空間１００に設定された重力に従って自由落下する場合について説明した。しかし、仮想粒子２００の運動に影響を及ぼす構造体（規制体）を仮想空間１００に設けても良い。
図２２は、規制体の一例であるウォール１６０の配置に際するモニタ３０のモニタ表示の一例である。ユーザにより制御パネル４００下部のウォールアイコン４０５がクリックされた後ドラッグ操作がなされると、制御部１０１は該ドラッグ操作の始点と終点を対角線とする長方形の領域をウォール１６０として画面上に表示させる。例えば、カーソル１７０が図中１７０（ａ）から１７０（ｂ）の位置までドラッグされると、ウォール１６０（ａ）が設定される。
また、カーソル１７０を、一旦設定されたウォール１６０の頂点に合わせてボタン２２を押下し、押下したままマウス２０を移動する操作がなされると、ウォール１６０の重心を中心としてカーソル１７０の移動に伴ってウォール１６０が回転される。例えば、ウォール１６０（ｃ）の頂点（カーソル１７０（ｃ）の位置）にカーソル１７０を合わせ、ボタン２２を押下したままカーソル１７０（ｄ）で示される位置まで移動されると、ウォール１６０はウォール１６０（ｄ）で示される位置に回転される。
また、カーソル１７０をウォール１６０の内側領域にあわせて同様の操作がなされると、ウォール１６０はカーソル１７０の移動に伴って移動される。例えば、ウォール１６０（ｅ）の内部領域（カーソル１７０（ｅ）の位置）にカーソル１７０を合わせ、ボタン２２を押下したままカーソル１７０（ｆ）で示される位置まで移動されると、ウォール１６０はウォール１６０（ｆ）で示される位置に移動される。
また、音データ生成処理中にウォール１６０がダブルクリックされると、選択されたウォール１６０は消滅するようにしても良い。
【００８６】
（１０）上記実施形態においては、２つの弦（弦１２０Ａおよび１２０Ｂ）が仮想空間１００に設けられる場合について説明した。しかし、設けられる弦１２０の数は２に限定されるものではなく、１でも３以上でも良い。その場合には、設けられた弦１２０の数に対応させてタイムライン３２を生成する処理を行えば良い。
【００８７】
（１１）上記実施形態においては、弦１２０の各々と対応させてタイムライン３２を設ける場合について説明したが、複数の弦１２０を１つのタイムライン３２に対応させても良い。例えば、ＲＥＣアイコン４６の１回の押下に対応する録画ごとに１つのタイムライン３２を設けるようにしても良い。すなわち、ＲＥＣアイコン４６を押下しながら、並行して複数の弦１２０が設けられた場合には、該複数の弦１２０を１つのタイムライン３２に対応付けても良い。
【００８８】
（１２）上記実施形態においては、仮想粒子２００同士、および仮想粒子２００と仮想空間１００の枠組みが衝突した場合には、跳ね返り係数１で完全弾性衝突をする場合について説明したが、跳ね返り係数は、１以外の値でも良い。すなわち、跳ね返り係数が０から１までの非弾性衝突を行うとしても良い。また、自然法則には反するが、衝突後の各オブジェクトの速度を演算する際に、１を越える値を跳ね返り係数として用いても良い。
【００８９】
（１３）上記実施形態においては、タイムライン３２が、絶対的な時間軸に対応付けて表示される場合について説明した。しかし、タイムラインの表示態様は、該表示態様に限られるものではない。例えば、上述したタイムラインの表示態様（以下、時間軸固定モード）と、以下に説明する表示態様（表示幅固定モード）とをユーザにより選択可能としても良い。その場合の実施形態を以下に説明する。
【００９０】
図２３に示すように、タッチパネル４２上には、上記モードを選択するためのモード選択アイコン４７が設けられ、「１（時間軸固定モード）」または「２（表示幅固定モード）」の押下によりモードが選択される。上述した初期設定処理においては、上記モードの選択がなされるステップを追加すれば良い。そして、該ステップにおいて時間軸固定モード（１）が選択された場合には、上記実施形態と同様にタイムラインが表示される。一方、表示幅固定モード（２）が選択された場合には、以下のような処理が行われる。
【００９１】
タッチパネル４２には、ループ長選択アイコン４４−１、２、３…（以下、互いに区別する必要がない場合には、ループ長選択アイコン４４と総称する）が設けられており（図２３参照）、それぞれのアイコンには、「１倍速」、「２倍速」、「３倍速」…が対応付けられている。
まず、ループ長選択アイコン４４−１（１倍速）が選択される場合の処理について説明する。ループ長選択アイコン４４−１（１倍速）が押下された後、ＲＥＣアイコン４６が押下されると、押下後所定の時間（例えば８秒間）が経過するまで、弦１２０の配置態様が録画される。
【００９２】
ユーザは、該所定の時間内にタッチパネル４２を操作することにより弦１２０を出現・移動させる。例えば、図２４に示すように、上記所定の時間（８秒間）に、弦１２０Ａを設け、仮想空間１００内の位置（Ａ）から位置（Ｂ）を経て位置（Ｃ）へ移動させたものとする。
このような弦１２０の配置態様が録画された場合、該録画内容を再生する場合には、タイムラインは同図のように表示される。すなわち、弦１２０Ａが位置（Ａ）から（Ｂ）を経て（Ｃ）へ移動するのと並行して、タイムラインＬ上を識別子が位置（Ａ’）から位置（Ｂ’）を経て位置（Ｃ’）へ８秒間で移動する。同図に示すように、該識別子をタイムポインタ３５と呼び、タイムポインタ３５Ａは弦１２０Ａに対応する。
【００９３】
次に、ループ長選択アイコン４４−２（２倍速）が選択され、上記弦１２０Ａの録画内容に上書きがなされる場合について説明する。再生アイコン４５が押下されると、上記弦１２０Ａの配置態様が読み出され、再生される。このとき、ループ長選択アイコン４４−２（２倍速）が押下された後、ＲＥＣアイコン４６が押下されると、押下されてから上記所定の時間（８秒間）を２（２倍速であるため）で除した時間（４秒間）が経過するまで、新たに設けられた弦１２０の配置態様が録画される。
ユーザは、該時間内にタッチパネル４２を押下することにより弦１２０を出現・移動させる。例えば、図２５に示すように、上記所定の時間を２で除した時間（４秒間）の間に、弦１２０Ｂを図中位置（Ｄ）から位置（Ｅ）を経て位置（Ｆ）へ移動させたものとする。
【００９４】
そのようにして新たに弦１２０Ｂの配置態様が上書き録画された場合、タイムラインは図２５のように表示される。この場合も、弦１２０Ａの配置態様および対応するタイムポインタ３５Ａは上述した通りである。すなわち、弦１２０Ａは、初めの４秒間で位置（Ａ）から位置（Ｂ）へ移動し、タイムポインタ３５Ａは、位置（Ａ’）から位置（Ｂ’）へ移動する。一方、弦１２０Ｂは、４秒間で図中位置（Ｄ）から位置（Ｅ）を経て位置（Ｆ）へ移動し、タイムポインタ３５Ｂは、該弦１２０Ｂの移動に対応して、タイムラインＬ上を位置（Ｄ’）から位置（Ｅ’）を経て位置（Ｆ’）へ移動する。
【００９５】
さて、上記弦１２０Ａの録画内容を再生する時間（８秒間）の後半の４秒間においては、録画内容を再生し終わっていない弦１２０については、残りの録画内容が継続して再生され、録画内容を再生し終わった弦１２０については、初めから再び再生される。すなわち、図２６に示すように、弦１２０Ａは、位置（Ｂ）から位置（Ｃ）へ移動し、弦１２０Ｂは、位置（Ｄ）〜（Ｅ）〜（Ｆ）の移動が繰り返される。また、タイムポインタ３５Ａは、位置（Ｂ’）から位置（Ｃ’）へ移動し、タイムポインタ３５Ｂは、位置（Ｄ’）から位置（Ｅ’）、位置（Ｆ’）への移動が繰り返される。
このように、８秒間に弦１２０Ａに係る表示は１度再生され、弦１２０Ｂに係る表示は２度繰り返して再生される。
【００９６】
なお、詳細な説明を省略するが、ループ長選択アイコン４４−３（３倍速）以降のアイコンが選択された場合についても同様である。すなわち、ループ長選択アイコン４４−ｎ（ｎ倍速）が選択された場合には、８秒をｎ等割した時間（８／ｎ秒）の弦１２０の配置態様が録画され、該録画内容が再生される際には、弦１２０の移動は８秒間にｎ回繰り返され、タイムポインタ３５は８秒間にループ状にｎ回スライドする。
【００９７】
以上をまとめると、表示幅固定モードにおいては、各弦１２０の配置態様が録画される時間は、弦１２０ごとに設定される。そして、タイムポインタ３５は、対応する弦１２０の配置態様が録画されている時間に、所定長のタイムラインＬ上を移動する。そして、各タイムポインタ３５は、タイムラインＬ上を１周すると再びスタート地点から移動を開始し、弦１２０も該表示と対応するようにスタート地点から移動を繰り返す。
このようにタイムポインタ３５が表示されることにより、ユーザは、各時刻において各弦１２０が１周期のどの時点にあるのかを容易に知ることができる。また、タイムポインタ３５の移動の速さなどから、対応する弦１２０の移動の繰り返し頻度、ひいては該弦１２０により生成される音の発音頻度などを容易に知ることができる。
【００９８】
なお、以上に説明した表示幅固定モードによれば、更に以下のような音作りを容易に行わせることができる。例えば、１倍速の弦１２０と８倍速の弦１２０を設け、各弦１２０は、１回の出現に際して１回仮想粒子２００と衝突し音を生成するとする。そのような場合、１倍速の弦１２０が音を発する時間（１周期）に、８倍速の弦１２０の移動は８回繰り返されることから、８回音が生じる。そのような音がループ状に繰り返される。このような音のリズム構造は、１小節に８つのビートを有する８ビートと類似している。同様に、１倍速の弦１２０と３倍速の弦１２０を設けることにより、３連のリズム構造を基調とする音が生成される。
このように、タイムラインの表示態様と対応付けて弦１２０の配置態様を制御することにより、リズム構造などの音の特性を制御することも可能になる。
【００９９】
（１４）上記実施形態（時間軸固定モード）においては、録画された際の時間軸に従って録画内容が読み出される場合について説明した。すなわち、例えば時刻５ｓに対応付けられた配置態様は時刻５ｓに読み出された（図９、１２〜１４参照）。しかし、録画内容の読出しに係る時間軸を制御することにより、弦１２０の配置態様、ひいては弦１２０により生成される音のリズムを変化させるようにしても良い。その一例を以下に説明する。
【０１００】
図２７に示すように、制御パネル４００に時間軸変換アイコン４０６を設ける。そして、ユーザにより該時間軸変換アイコン４０６が押下されると、図示するようなモニタ画面が表示される。仮想空間１００の表示領域には、録画された際の時間軸と読出しに係る時間軸とを対応付けるグラフが表示されている。該グラフにおいて、横軸は録画された際の時間軸であり、縦軸は読出しに係る時間軸である。図２７に示されたグラフにおいては、線ｍ1は両時間軸を対応付けており、例えば録画された際の時間軸において時刻５ｓの配置態様は、時刻５ｓにおいて読み出されることを示している。
【０１０１】
さて、図２８に示すように、カーソル１７０を用いてユーザが所望の形状の線ｍを描画することが可能となっている。例えば、同図に示されるような線ｍ2が設定された場合、録画された際の各時刻における配置態様は、線ｍ2で対応付けられた時刻に読み出される。この場合は、時刻０ｓ〜２ｓの２秒間の配置態様は時刻０ｓ〜１ｓの１秒間に縮めて読み出され、時刻２ｓ〜３ｓの１秒間の配置態様は時刻１ｓ〜５ｓの４秒間に引き伸ばされて読み出される。また、時刻３ｓ〜８ｓの５秒間の配置態様は時刻５ｓ〜７ｓの２秒間に縮めて読み出される。すなわち、弦１２０Ａまたは１２０Ｂの一方が仮想空間１００に設けられている期間にはそれら弦１２０の移動が速くなるよう時間軸を縮めて読み出され、弦１２０Ａおよび１２０Ｂの両者が仮想空間１００に設けられている期間にはそれら弦１２０の移動が遅くなるよう時間軸が引き伸ばされて読み出される。その結果、弦１２０の配置態様は、録画時における配置態様から更に多様に制御され、生成される音データも多様になる。
以上に説明した時間軸の変換処理方法は、あくまでも一例であり、記憶した配置態様を読み出す時間軸を制御する方法であれば他のどのような方法を用いても良い。
【０１０２】
（１５）上記実施形態においては、タイムライン３２は、各時刻における模様が変化しない、すなわちタイムライン３２の長方形領域内部で模様が均一である場合について説明した。しかし、タイムライン３２の各時刻の模様が、各時刻における対応する弦１２０の状態を表すようにしても良い。例えば、該タイムラインが生成される際に、ある時刻において弦１２０に仮想粒子２００が多く衝突し、大きな振動が起こったような場合には、タイムライン３２の該当する時刻の部分の模様を変えるなどしても良い。また、タイムライン３２に色が付いている場合には、当該時間領域の部分の色を変えるなどしても良い。
【０１０３】
（１６）上記実施形態においては、本発明に係る音データ生成装置１０に特徴的な機能を実現するためのプログラムを、ＲＯＭ１０３に予め書き込んでおく場合について説明したが、磁気テープ、磁気ディスク、フレキシブルディスク、光記録媒体、光磁気記録媒体、ＲＡＭ、ＲＯＭなどのコンピュータ読取り可能な記録媒体に上記プログラムを記録して配布するとしても良く、インターネット網などの電気通信回線経由のダウンロードにより上記プログラムを配布するようにしても良い。
【図面の簡単な説明】
【０１０４】
【図１】音データ生成処理におけるモニタ表示の一例を示した図である。
【図２】音データ生成システム１の全体構成を示した図である。
【図３】音データ生成装置１０の構成を示した図である。
【図４】マウス２０の外観を示した図である。
【図５】モニタ３０の外観を示した図である。
【図６】多点コントローラ４０の機能を説明するための図である。
【図７】モニタ表示の一例を示した図である。
【図８】空間特性の設定に係るモニタ表示の一例を示した図である。
【図９】音データ生成処理におけるモニタ表示の一例を示した図である。
【図１０】初期設定処理の流れを示したフローチャートである。
【図１１】振動体設定処理の流れを示したフローチャートである。
【図１２】音データ生成処理におけるモニタ表示の一例を示した図である。
【図１３】音データ生成処理におけるモニタ表示の一例を示した図である。
【図１４】音データ生成処理におけるモニタ表示の一例を示した図である。
【図１５】タイムライン生成処理におけるモニタ表示を示す図である。
【図１６】タイムライン生成処理におけるモニタ表示を示す図である。
【図１７】タイムライン生成処理におけるモニタ表示を示す図である。
【図１８】タイムライン生成処理におけるモニタ表示を示す図である。
【図１９】タイムライン生成処理におけるモニタ表示を示す図である。
【図２０】タイムライン生成処理におけるモニタ表示を示す図である。
【図２１】音データ生成処理の流れを示したフローチャートである。
【図２２】規制体の配置方法を説明するための図である。
【図２３】変形例に係る多点コントローラ４０の構成を示す図である。
【図２４】変形例に係るタイムライン表示の一例を示す図である。
【図２５】変形例に係るタイムライン表示の一例を示す図である。
【図２６】変形例に係るタイムライン表示の一例を示す図である。
【図２７】時間軸変換処理の一例を示す図である。
【図２８】時間軸変換処理の一例を示す図である。
【符号の説明】
【０１０５】
１…音データ生成システム、１０…音データ生成装置、２０…マウス、２１…本体、２２…ボタン、２３…通信ケーブル、２４…移動検知手段、３０…モニタ（３０ａ…音データ再生部）、３２…タイムライン、３４…リアルタイムバー、３５…タイムポインタ、４０…多点コントローラ、４１…通信ケーブル、４２…タッチパネル、４４…ループ長選択アイコン、４５…再生アイコン、４６…ＲＥＣアイコン、４７…モード選択アイコン、１００…仮想空間、１０１…制御部、１０２…光ディスク再生部、１０３…ＲＯＭ、１０４…ＲＡＭ、１０５…Ｉ／Ｏ部、１０９…バス、１２０…弦、１５０…スプリンクラ、１６０…ウォール、１７０…カーソル、２００…仮想粒子、４００…制御パネル、４０１…スプリンクラアイコン、４０２…初速度、４０３…頻度、４０４…空間特性アイコン、４０５…ウォールアイコン、４０６…時間軸変換アイコン、５００…タイムラインパネル
【図１】
0005099335.tif 000002
【図２】
0005099335.tif 000003
【図３】
0005099335.tif 000004
【図４】
0005099335.tif 000005
【図５】
0005099335.tif 000006
【図６】
0005099335.tif 000007
【図７】
0005099335.tif 000008
【図８】
0005099335.tif 000009
【図９】
0005099335.tif 000010
【図１０】
0005099335.tif 000011
【図１１】
0005099335.tif 000012
【図１２】
0005099335.tif 000013
【図１３】
0005099335.tif 000014
【図１４】
0005099335.tif 000015
【図１５】
0005099335.tif 000016
【図１６】
0005099335.tif 000017
【図１７】
0005099335.tif 000018
【図１８】
0005099335.tif 000019
【図１９】
0005099335.tif 000020
【図２０】
0005099335.tif 000021
【図２１】
0005099335.tif 000022
【図２２】
0005099335.tif 000023
【図２３】
0005099335.tif 000024
【図２４】
0005099335.tif 000025
【図２５】
0005099335.tif 000026
【図２６】
0005099335.tif 000027
【図２７】
0005099335.tif 000028
【図２８】
0005099335.tif 000029