JP5099335B2 - 音データ生成装置およびプログラム - Google Patents

音データ生成装置およびプログラム Download PDF

Info

Publication number
JP5099335B2
JP5099335B2 JP2007275751A JP2007275751A JP5099335B2 JP 5099335 B2 JP5099335 B2 JP 5099335B2 JP 2007275751 A JP2007275751 A JP 2007275751A JP 2007275751 A JP2007275751 A JP 2007275751A JP 5099335 B2 JP5099335 B2 JP 5099335B2
Authority
JP
Japan
Prior art keywords
virtual
time
arrangement mode
virtual space
string
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
JP2007275751A
Other languages
English (en)
Other versions
JP2009103929A (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
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Yamaha Corp
National Institute of Advanced Industrial Science and Technology AIST
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, National Institute of Advanced Industrial Science and Technology AIST filed Critical Yamaha Corp
Priority to JP2007275751A priority Critical patent/JP5099335B2/ja
Publication of JP2009103929A publication Critical patent/JP2009103929A/ja
Application granted granted Critical
Publication of JP5099335B2 publication Critical patent/JP5099335B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、音データ生成装置およびプログラムに関する。
近年、ますますリアリティーの増した音がコンピュータにより生成されるようになっている。例えばコンピュータで「雨降りの音」や「そよ風の音」など自然現象に伴う音を非常に巧妙に再現することができる(特許文献1参照)。
例えば、「雨降りの音」ならば、「ザーザー」、「そよ風の音」ならば「ヒューヒュー」など、自然現象ごとに特徴的な波形の音が生じるため、上記特許文献1などにおいては、自然現象における音の特徴を模した波形データを繰り返し音声へ変換することにより自然現象の音を再現している。
特開平07−140973号公報
ところで、上述の雨降りの音は多数の雨粒と地面の衝突から生じるものであり、そよ風の音は空気中に存在する多数の気体分子の流れや振動から生じるものであるとの例からも明らかなように、自然界において発生する音の多くは小さなスケールで見れば多数の粒子が高頻度で相互作用を繰り返すことにより生じている。
例えば、一つの雨粒が地面と衝突する際には、「ポトッ」「ぺチ」「パチ」などの音が、各雨粒と地面との衝突状況や、他の雨粒との相互関係に応じて発生する。そして、無数の雨粒が連続して地面に衝突すると、それらの相互に異なる音が重ねあわされた音が発生する。そのように、大きさや位相、減衰状態、発生タイミングなどが異なる多数の音が重ねあわされることにより、結果的には、雨(多数の雨粒)の降る音である「ザー、ザー」という音として人間に知覚される。
そのように、自然界において発生している音は、総体として聴いた場合には個々の相互作用に由来する音の成分が区別されて聴取されることは無いが、実際は毎回異なる音から構成される2度と再現できない音が発生しているのである。そのような音の「ランダム性」や「非再現性」が自然界の音に「自然らしさ」を与えていると考えられる。
しかし、上記特許文献1を含め、従来のコンピュータにより生成される音は、予め決められた波形データが繰り返し読み出されるだけの音であったため、その音には上述した「ランダム性」や「非再現性」が欠如しており、所謂「自然らしさ」が感じられないといった問題があった。
本発明は上述の課題に鑑みてなされたものであり、一定の法則下における多数の粒子の挙動と対応付けられた自然な音を生成する音データ生成装置およびプログラムを提供することを目的とする。
本発明に係る音データ生成装置は、仮想空間を設定する仮想空間設定手段と、仮想粒子を前記仮想空間に対して連続的に放出する演算を行う仮想粒子放出手段と、前記仮想粒子放出手段の演算により放出された各仮想粒子の軌道を、前記各仮想粒子同士の衝突を含めて演算する軌道演算手段と、仮想発音体を設定する仮想発音体設定手段と、各時刻における前記仮想発音体の配置態様を表す配置態様データを記憶する記憶手段と、前記配置態様データを前記記憶手段から読出し、該読み出した配置態様データに基づいて前記仮想発音体を前記仮想空間に配置すると共に、時間軸を表示し前記仮想発音体の各々が前記仮想空間中に出現する時刻を前記時間軸上に表示する表示手段と、前記仮想発音体と前記仮想粒子の相互作用を演算し、該相互作用に基づいて音データを生成する音データ生成手段とを有することを特徴とする。
本発明に係る音データ生成装置は、仮想空間を設定する仮想空間設定手段と、仮想粒子を前記仮想空間に対して連続的に放出する演算を行う仮想粒子放出手段と、前記仮想粒子放出手段の演算により放出された各仮想粒子の軌道を、前記各仮想粒子同士の衝突を含めて演算する軌道演算手段と、仮想発音体を設定する仮想発音体設定手段と、各時刻における前記仮想発音体の配置態様を表す配置態様データを記憶する記憶手段と、前記配置態様データを前記記憶手段から読出し、該読み出した配置態様データに基づいて前記仮想発音体を前記仮想空間に配置すると共に、所定長の軸を表示し前記仮想発音体の各々と対応する識別子を、該対応する仮想発音体が前記仮想空間中に出現している間に前記軸上を移動させる表示手段と、前記仮想発音体と前記仮想粒子の相互作用を演算し、該相互作用に基づいて音データを生成する音データ生成手段とを有することを特徴とする。
本発明に係る音データ生成装置は、上記の構成において、前記配置態様データにおいて、前記仮想発音体の配置態様と時刻との対応付けを変更する変更手段を更に有し、前記表示手段は、前記変更手段により変更された対応付けに基づいて、前記記憶手段に記憶された前記仮想発音体の配置態様を読出すようにしても良い。
本発明に係るプログラムは、コンピュータを、仮想空間を設定する仮想空間設定手段と、仮想粒子を前記仮想空間に対して連続的に放出する演算を行う仮想粒子放出手段と、前記仮想粒子放出手段の演算により放出された各仮想粒子の軌道を、前記各仮想粒子同士の衝突を含めて演算する軌道演算手段と、仮想発音体を設定する仮想発音体設定手段と、各時刻における前記仮想発音体の配置態様を表す配置態様データを記憶する記憶手段と、前記配置態様データを前記記憶手段から読出し、該読み出した配置態様データに基づいて前記仮想発音体を前記仮想空間に配置すると共に、時間軸を表示し前記仮想発音体の各々が前記仮想空間中に出現する時刻を前記時間軸上に表示する表示手段と、前記仮想発音体と前記仮想粒子の相互作用を演算し、該相互作用に基づいて音データを生成する音データ生成手段として機能させることを特徴とする。
本発明に係るプログラムは、コンピュータを、仮想空間を設定する仮想空間設定手段と、仮想粒子を前記仮想空間に対して連続的に放出する演算を行う仮想粒子放出手段と、前記仮想粒子放出手段の演算により放出された各仮想粒子の軌道を、前記各仮想粒子同士の衝突を含めて演算する軌道演算手段と、仮想発音体を設定する仮想発音体設定手段と、各時刻における前記仮想発音体の配置態様を表す配置態様データを記憶する記憶手段と、前記配置態様データを前記記憶手段から読出し、該読み出した配置態様データに基づいて前記仮想発音体を前記仮想空間に配置すると共に、所定長の軸を表示し前記仮想発音体の各々と対応する識別子を、該対応する仮想発音体が前記仮想空間中に出現している間に前記軸上を移動させる表示手段と、前記仮想発音体と前記仮想粒子の相互作用を演算し、該相互作用に基づいて音データを生成する音データ生成手段として機能させることを特徴とする。
本発明に係る音データ生成装置またはプログラムによれば、一定の法則下における多数の粒子の挙動と対応付けられた自然な音を生成することができる。
(本発明の概略説明)
本発明に係る音データ生成装置は、コンピュータの演算によって形成される仮想空間の中に多数の仮想粒子を放出させランダムに運動させる。そして仮想空間には、仮想粒子との相互作用により音を発する仮想発音体を配置し、該仮想発音体と仮想粒子との相互作用(衝突など)の状況に基づいて音データを生成する。その際に、各仮想発音体の配置タイミングを示す表示がなされることにより、生成される音データを視覚的に把握することを可能にする。
図1は、音データ生成処理におけるモニタ表示の一例である。仮想粒子200は、スプリンクラ150の先端部分より仮想空間100内に放出される。そして、仮想粒子200は、仮想空間100内に設定された重力に従って画面の下方向に「落下」すると同時に、仮想空間100の壁面などで跳ね返ったり、仮想粒子200同士で衝突したりする。その結果、多数の仮想粒子200が仮想空間100内でランダムに運動する。そのように多数の仮想粒子200が飛び交っている仮想空間100には、振動体(発音体)として1または複数の弦120が各々のタイミングで設けられ、仮想空間100中を移動制御される。そして、個々の仮想粒子200が弦120の領域を通過して弦120を「はじく」と弦120は振動し、その振動状態に基づいて音データが生成される。このとき、モニタ画面には、仮想空間100の表示と共に、弦120の出現タイミングを表すタイムライン32が表示される。そして、現在の時刻を示すリアルタイムバー34が、上記タイムライン上をスライドする。該タイムラインの表示により、音データ生成装置のユーザは各弦120の出現タイミングを視覚的に把握することが可能になる。
(A;構成)
以下、図面を参照しつつ、本発明を実施する際の最良の形態について説明する。
(A−1;全体構成)
図2は、本発明に係る音データ生成システム1の全体構成を示す図である。音データ生成システム1は、プログラム実行装置としての音データ生成装置10と、マウス20と、モニタ30と、多点コントローラ40とを有する。
(A−2;各装置の構成)
まず、音データ生成装置10のハードウェア構成について図3を用いて説明する。
音データ生成装置10は、制御部101、光ディスク再生部102、ROM(Read Only Memory)103、RAM(Random Access Memory)104、I/O部105を有する。それら各部はバス109を介して互いに接続されている。
図に示す制御部101は、例えばCPU(Central Processing Unit)であり、ROM103から読み出された各種制御プログラムを実行することにより、音声および映像の信号処理や各部の制御を行う。
光ディスク再生部102は、CD−ROM・DVD−ROM等の光ディスクからデータを読取る。
ROM103は、制御部101が実行する各種制御プログラムを格納している。
RAM104は、制御部101によってワークエリアとして利用される。
I/O部105は、音データ生成装置10と接続された機器との信号の送受信を仲介する。具体的には、マウス20および多点コントローラ40から操作内容を示す信号を受取り制御部101に出力すると共に、制御部101から受取った音データおよび映像データをモニタ30に出力する。
以上が音データ生成装置10の構成である。
次に、マウス20の構成について図4を用いて説明する。マウス20は、本体21の上面(図中(a)参照)にはボタン22を、下面(図中(b)参照)には移動検知手段24を有する。また、マウス20は、音データ生成装置10に通信ケーブル23にて接続されており、操作内容を示すデータが通信ケーブル23を介して音データ生成装置10に送信される。
マウス20は、本体21が移動されると移動検知手段24が移動方向と移動量を示す操作信号を生成し、通信ケーブル23を介して出力する。該信号を受取った制御部101は、操作信号に基づいてモニタ30の画面上のカーソルを移動する処理を行う。
また、ボタン22が押下(以下、クリック)されると、マウス20はクリック操作がなされたことを示すクリック操作信号を生成し、通信ケーブル23を介して出力する。クリック操作信号を受取った制御部101は、クリック時にカーソルが位置していた座標を認識し、当該座標に表示されているアイコンなどに対して選択処理が行われたと認識する。
また、ボタン22を押下した状態で本体21が移動され、その後ボタン22の押下を解除する操作(以下、ドラッグ)がなされると、ボタン22が押下されていた間の本体21の移動方向と移動量、およびドラッグ操作がなされたことを示す信号を生成し、通信ケーブル23を介して出力する。該信号を受取った制御部101は、ドラッグ操作により選択された画面上の領域や該領域に含まれるアイコンなどに対して選択処理が行われたと認識する。
次に、モニタ30の構成について図5を用いて説明する。モニタ30は、音データ生成装置10から受取った映像データに基づいて映像を表示する。モニタ画面には、上記仮想空間100が表示される領域が設定されており、該領域の各点には、画面左上を座標(0,0)、右下を座標(756,1024)とする座標が設定されている。
また、モニタ画面には、仮想空間100に各種設定を行うための各種アイコンが表示される制御パネル400、および仮想空間100内に設けられる弦120の配置態様を表示するための領域であるタイムラインパネル500が設けられている。
また、図5に示すように、モニタ画面の下方には音データ再生部30aが設けられ、音データ生成装置10から受取った音データに基づいて音声が放音される。
次に、多点コントローラ40の構成について、図6を用いて説明する。図6(a)に示すように、多点コントローラ40には、タッチパネル42が設けられている。タッチパネル42には、図示するように領域Aおよび領域Bが含まれる。
領域Aには、図に示すように画面左上を座標(0,0)、右下を座標(756,1024)とする座標が設定されている。タッチパネル42は、領域Aの特定の点が押下されたことを感知すると、押下された点の座標を表す押下位置情報を、通信ケーブル41を介して音データ生成装置10に出力する。複数の点が同時に押下されている場合には、該押下されている複数の点それぞれについて並行して押下位置情報が生成・出力される。
音データ生成装置10の制御部101は、押下位置情報を多点コントローラ40から受取ると、該押下位置情報が表す座標を読み出し、モニタ30画面上において該座標に相当する点が選択されたと判断する。図6(b)は、モニタ30における仮想空間100を表示する領域を示した図である。例えば、図6(a)で示されるように右手の人差し指と親指でタッチパネル42が押下された場合、各指で押下された位置(点P1、P2)を示す座標が書き込まれた押下位置情報が、それぞれの位置が押下されている間継続して制御部101へ出力される。制御部101は、該押下位置情報を受取ると、モニタ画面(図6(b))上の点P’1および点P’2が選択されたと判定する。
また、タッチパネル42の領域Bには、各種のアイコンが設けられている。領域Bが押下されると、押下されたアイコンの種類を表すアイコン情報が音データ生成装置10に出力される。具体的には、領域Bには再生アイコン45とRECアイコン46とが設けられている。これらのアイコンについては、後に詳しく説明する。
(A−3;プログラムの構成)
次に、ROM103に格納された制御プログラムについて説明する。なお、制御プログラムには、音データ生成装置10の制御部101が音データを生成するために実行する各種プログラムが含まれ、以下では主要なプログラムを取り上げて説明する。
制御プログラムは、空間特性制御プログラム、オブジェクト制御プログラム、タイムライン制御プログラム、粒子運動制御プログラム、弦振動制御プログラム、映像制御プログラム、および音データ生成プログラムなどからなる。
空間特性制御プログラムは、重力などの仮想空間100に設定され仮想粒子200の運動に影響を及ぼす各種特性を制御する。オブジェクト制御プログラムは、仮想空間100内に仮想粒子200を出現させるオブジェクト(スプリンクラ150など)の配置を制御する。タイムライン制御プログラムは、仮想空間100に設けられた弦120の配置タイミングを時間軸と対応付けて表示する処理を行う。粒子運動制御プログラムは、仮想空間100内における仮想粒子200の運動を計算する。弦振動制御プログラムは、弦120の振動状況を演算する。映像制御プログラムは、演算結果として与えられる仮想空間100内の仮想粒子200の運動や弦120の振動などの挙動をテレビジョンモニタ画面上へ表示させる。音データ生成プログラムは、弦120の振動状態に基づいて音データを生成する。
(A−4;仮想空間の制御)
以下では、空間特性制御プログラムによる仮想空間100の制御について説明する。
図7は、モニタ表示の一例を示した図である。ユーザにより制御パネル400の空間特性アイコン404が押下されると、制御部101は、所定の操作画面をモニタ30の画面上に表示する。図8は、該操作画面の一例を示した図である。
ユーザは、画面上に表示された重力の方向に関する選択肢を選択し、仮想空間100に設定される重力加速度の大きさを書き込む。また、仮想粒子200の移動の際に働く抵抗力は仮想粒子200の速度に比例するとし、その速度に応じた抵抗力を決定するための比例定数を書き込む。
制御部101は、ユーザにより入力された内容を粒子運動制御プログラムにおける粒子運動の挙動の算出に反映させる。
なお、これら仮想空間100に関する設定は、予め制御プログラムなどにテンプレートとして書き込んでおいても良い。例えばあるテンプレートにおいては、重力場は画面下方に設定され、抵抗力を決める比例定数が「水中」に相当するような大きな値に設定されているようにすれば、ユーザは該テンプレートを選択するだけで仮想空間100がまるで重力のある空間に設置された水が満たされた容器であるかのように設定することができる。
(A−5;仮想粒子の運動)
以下では、粒子運動制御プログラムによる仮想粒子200の運動の制御方法について説明する。
(1)仮想粒子200の出現
まず、仮想粒子200の出現について図9を用いて説明する。本実施形態における仮想空間100には、仮想粒子200を仮想空間100に発生させるための装置として、スプリンクラ150が設けられる。
スプリンクラ150は、制御パネル400の初速度402、頻度403の値が書き込まれた後スプリンクラアイコン401がクリックされ、仮想空間100内においてドラッグがなされることにより設定される。
スプリンクラ150は、放出口150aを有する。個々の仮想粒子200は、初速度402に書き込まれた初速度で放出される。また、その放出の頻度は、時間平均して単位時間あたり頻度403に書き込まれた数となるようランダムに放出される。
(2)仮想粒子200の運動
ROM103に格納された粒子運動制御プログラムは、仮想空間100内での仮想粒子200の運動を以下に説明するルール(a)〜(c)に従って制御する。なお、以下のルールは、地球上の物体の力学的性質および力学的法則を模したものである。
(a)仮想粒子200は、所定の体積(v)および質量(m)を有している。
(b)仮想粒子200に働く力Fと仮想粒子200の質量mと加速度αとの間にはF=mαの関係がある。たとえば本実施形態においては、仮想空間100の下向きに重力場が存在するため、仮想粒子200には常にmg(gは重力加速度)の大きさの力が仮想空間100の下向きに働く。
(c)仮想粒子200同士、および仮想粒子200と仮想空間100の枠組みが衝突した場合には、跳ね返り係数1で完全弾性衝突をする。
(3)仮想粒子200の消滅
仮想空間100の枠組みの底辺に達した仮想粒子200は消滅するよう設定されている。
(A−6;音データの生成)
音データ生成装置10は、ROM103に格納された音データ生成プログラムにより、以下に説明するように音データを生成する。
弦120の振動は、ROM103に格納された弦振動制御プログラムにより演算される。具体的には、予め設定された弦の弾性(材質)、弦の断面積、弦の張力、弦がはじかれた変位量(仮想粒子200との衝突状況)などに基づいて、物理的なシミュレーションが行われる。シミュレーションの結果、各時刻における弦の各部分の変位量が演算され、該演算結果から、弦から発生する音の振幅、周波数、減衰態様などが導き出される。
なお、音データ生成装置10は、MAX/MSPを用いて音データを生成する。なお、MAX/MSPとは、音楽プログラミング言語MAXと音響信号処理用エクステンションMSPとからなる。MAX/MSPによれば、様々なモジュールをつなぎ合わせて、シンセサイザー、エフェクター、シーケンサーなどが作れるほか、パッチングによって音楽の自動生成なども可能であり、ビジュアル的なプログラミング環境によって、直感的なプログラミング・操作ができる。
(B;動作)
以下では、音データ生成装置10が音データを生成する際の各部の動作について説明する。
まず、音データ生成装置10の電源が投入されると、制御部101はROM103から各種制御プログラムを読み出し、RAM104にロードする。
(B−1;初期設定処理)
まず、初期設定処理が行われる。図10は、初期設定処理の流れを示したフローチャートである。
ステップSA100においては、仮想空間100の空間特性が設定される。音データ生成システム1のユーザにより、制御パネル400の空間特性アイコン404(図9参照)が押下されると、モニタ30にパラメータ設定のための画面(図8参照)が表示される。制御部101は、入力された内容に応じて仮想空間100の空間特性(重力場および抵抗力)を設定する。
例えば、重力の方向として図面下方向が選択され、その重力加速度の値が書き込まれると、仮想粒子200に対して、設定された値に対応する重力が画面下方向に働くよう演算される。その結果、仮想空間100はあたかも鉛直方向に設けられた空間であるかのように設定される。
また、抵抗力の比例定数が書き込まれると、仮想粒子200の移動速度に該比例定数で比例する抵抗力が移動と逆方向に働くよう演算される。その結果、該比例定数に応じて種々の媒質(空気や水)が仮想空間100に満たされているかのように設定される。
ステップSA110では、仮想粒子200を仮想空間100に出現させる手段(スプリンクラ150)の設定がなされる。ユーザにより制御パネル400にパラメータが書き込まれた後、スプリンクラアイコン401がクリックされ、仮想空間100内の領域が指定されると、スプリンクラ150が設定される。本実施形態では、例えば図9に示すような位置にスプリンクラ150が設定されたものとする。
以上で、初期設定処理を終了する。
(B−2;振動体設定処理)
仮想粒子200を仮想空間100に放出させる処理の説明に入る前に、仮想粒子200との相互作用により発音を行う振動体を仮想空間100に設定する振動体設定処理について説明する。なお、振動体設定処理は、後述する音データ生成処理に対して割り込み処理として行われる。
本実施形態においては、振動体として、弦120が設けられる。図11は、振動体設定処理の流れを示したフローチャートである。
ステップSB100において、制御部101は、多点コントローラ40から押下位置情報を受信したか否かを判定する。ステップSB100の判定結果が“NO”の場合は、ステップSB100の処理を繰り返す。ステップSB100の判定結果が“YES”である場合は、ステップSB110を行う。
制御部101は、多点コントローラ40から受取った押下位置情報に含まれる座標を読取り、該座標をRAM104に一旦記憶する。そして、押下位置情報に含まれる2つの位置(座標)を両端とするように、振動体である弦120を設ける(ステップSB110)。このようにして設けられた弦120は、タッチパネル42の領域Aが押下されている間、継続して設けられる。
ステップSB120において、制御部101は、押下位置情報に含まれる座標が変更されたか否か判定する。
ユーザにより押下されたタッチパネル42の位置がスライドされた場合、ステップSB120の判定結果は“YES”となり、弦120の設置位置を移動する処理がなされる。(ステップSB130)。一方、ステップSB120の判定結果が“NO”である場合、ステップSB120の処理を繰り返し、弦120は継続して同じ位置に設けられる。
ステップSB140において、制御部101は、弦120の設置を指示する押下位置情報の供給が停止されたか否かを判定する。ユーザがタッチパネル42の押下を停止すると、押下位置情報は制御部101に供給されなくなり、ステップSB140の判定結果は“YES”となり、該押下が停止された位置に対応する弦120が消滅する(ステップSB150)。一方、継続して押下されている場合(ステップSB140;“NO”)は、ステップSB120以降の処理が繰り返される。
ステップSB160において、制御部101は、振動体設定処理が終了したか否かを判定する。ステップSB160の判定結果が“YES”である場合は、本振動体設定処理を終了する。ステップSB160の判定結果が“NO”である場合は、再びステップSB100以降の処理を行う。以上が振動体設定処理の流れである。
(B−3;タイムライン生成処理)
本発明に係る音データ生成システム1においては、弦120の配置タイミングを示すタイムラインを表示させることができる。タイムライン生成処理の説明の前に、タイムライン生成処理により生成されたデータに基づくタイムライン表示を参照しながら、その概要を説明する。なお、以下ではタイムライン生成処理により、各弦120の各時刻における弦120の配置態様(弦120の出現・移動・消滅)が既にRAM104に書き込まれているものとする。
(B−3−1;タイムライン表示の概要)
図9は、時刻0sにおける仮想空間100を示す。仮想空間100内には、スプリンクラ150から多数の仮想粒子200がランダムに放出されている。そして、時刻0sに、ユーザの操作に基づいて弦120A(仮想空間100に出現する弦120を区別して示す場合には、符号にアルファベットを付す)が仮想空間100に出現する。図中には、出現直後の弦120Aが示されている。
このとき、タイムラインパネル500において、時間軸上には、タイムライン32A、32B(互いに区別する必要がない場合には、タイムライン32と総称する)が表示されている。
そして、同時間軸上には、リアルタイムバー34が時刻0sにおいて交差するように表示されている。このことは、図9に示すモニタ画面には時刻0sにおける仮想空間100が表示されていることを示す。また、時刻0sにおいて、リアルタイムバー34はタイムライン32Aの左端と交差することから、タイムライン32Aと対応する弦120Aが該時刻に仮想空間100に出現することを示している。
図12は、時刻1s(図9の1秒後)におけるモニタ表示を示している。このとき、弦120Aは、ユーザの操作に従って画面左方に移動し、仮想粒子200との相互作用により振動している。また、リアルタイムバー34は、タイムライン32Aと交差しながら時刻1sの位置までスライドしている。この時刻においても、リアルタイムバー34は、タイムライン32Aとのみ交差していることから、仮想空間100内にはタイムライン32Aと対応する弦120Aのみが設けられていることを示している。
図13は、時刻2sにおけるモニタ表示を示している。このとき、弦120Aは更に画面左方に移動している。この時刻において、リアルタイムバー34は、タイムライン32Aと継続して交差すると共に、タイムライン32Bとも交差を開始する。該タイムライン表示は、該時刻においてタイムライン32Bと対応する弦120Bが新たに仮想空間100に出現することを示している。
時刻2s以降、弦120Aは更に左方に移動し、弦120Bは右方へ移動する。時刻3sになると、弦120Aは仮想空間100から消滅する。そのことは、タイムライン32Aが時刻3sまで伸びていることと対応する。そして、弦120Bは、画面右方への移動を継続し、例えば時刻5sには図14に示す位置へ移動し、その時仮想粒子200と相互作用し振動している。
以上に説明したように、各弦120の各時刻における弦120の配置態様(弦120の出現・移動・消滅)がRAM104に記憶されており、該配置態様に基づいて仮想空間100には弦120が自動的に設けられる。また、各弦120の配置タイミングと対応付けて、各弦120と対応する各タイムライン32が表示される。
各弦120と対応付けられたタイムライン32は、各弦120が仮想空間100内に設けられる期間を示している。そして、リアルタイムバー34が時間軸上をスライドし、仮想空間100の現在時刻を示す。その結果、リアルタイムバー34は、各弦120が仮想空間100に出現するタイミングで該弦120と対応するタイムライン32と交差する。従って、ユーザは、仮想空間100における弦120の設置タイミングを視覚的に容易に知ることができる。
さて、タイムライン32は、弦120と共に表示されることで各弦120の配置タイミングを表すだけではなく、各時刻における弦120の配置態様を読み出し、該配置態様に従って弦120を仮想空間100に配置する手段としても機能する。すなわち、カーソル170によりリアルタイムバー34が時間軸上の特定の位置(時刻)に移動されると、該時刻における各弦120の配置態様がRAM104から読み出され、該読み出された配置態様に従って仮想空間100内に弦120が配置される。
(B−3−2;タイムライン生成処理の詳細)
ここで、上述したタイムライン表示を実現するタイムライン生成処理について説明する。以下に説明するように、各々のタイムライン32は、それぞれ個別に生成される。
図15は、タイムライン生成処理の開始時刻(時刻0s)におけるモニタ表示である。時刻0sにおいて、ユーザは、多点コントローラ40のRECアイコン46を左手で継続的に押下する。それと同時に、ユーザは、多点コントローラ40のタッチパネル42上の2点を右手で押下することにより、弦120Aを仮想空間100に出現させる。そしてユーザは、左手ではRECアイコン46を継続的に押下すると共に、タッチパネル42の押下点をスライドさせることにより、図16に示すように弦120を画面左方に移動させる。
制御部101は、RECアイコン46が押下されている間、各時刻における弦120の配置態様をRAM104に記憶(録画)する。具体的には、各時刻における各弦120の端点、すなわち押下位置情報に含まれる2つの座標をRAM104に書き込む。
また、該弦120の配置態様の録画と並行し、弦120と対応するタイムライン32を表示する。図16には、弦120Aと対応するタイムライン32Aを示している。このように、RECアイコン46が押下されている最中に弦120がユーザにより設けられている場合には、該弦120が設けられている時刻と対応するようにタイムライン32が伸張される。
図17は、時刻3sのモニタ表示を示す。時刻3sになり、ユーザは、RECアイコン46の押下を停止したとする。RECアイコン46の押下が停止されると、弦120の配置態様の録画は停止される。また、タイムライン32Aは、RECアイコン46の押下が停止された時刻にその伸張が停止される。以上のようにして、仮想空間100内に弦120Aが設けられると共に、タイムライン32Aが表示される。
次に、弦120Bに対応するタイムライン32Bが以下のように生成される。上記弦120Aに係る録画が終了した後、カーソル170によりリアルタイムバー34が時刻2sの位置に移動されると、該時点までに録画された弦120の配置態様に関するデータから、該時刻(2s)に関するデータが読み出され、該時刻における弦120(この段階では弦120Aのみ)の配置が仮想空間100に実現される。図18は、そのようにして実現された仮想空間100を表すモニタ表示である。
ここで、ユーザにより再生アイコン45が押下されると、RAM104に記憶された各弦120(この場合弦120Aのみ)の配置態様が読み出され、該配置態様に基づいて弦120が仮想空間100内に設けられると共に、スプリンクラ150から仮想粒子200が放出される。
該録画内容の再生と並行してRECアイコン46がユーザにより継続的に押下されると、新たに設けられた弦120の配置態様が録画される。例えば、RECアイコン46が押下されると共に新たに弦120(この場合、弦120B)が設けられると、弦120Bの配置態様が上記録画内容に上書きされる。すなわち、新たな録画内容には、弦120Aと新たに生成された弦120Bの配置態様が併せて書き込まれる。
図19は、該上書き録画の最中(時刻2.5s)のモニタ表示を示した図である。時刻2.5sにおいて、弦120Aは読み出された配置態様に従って仮想空間100内を移動している。一方、弦120Bは、ユーザの操作に従って仮想空間100内を移動している。このとき、弦120Aと対応するタイムライン32Aと交差しながらリアルタイムバー34がスライドすると共に、該リアルタイムバー34と先端として、弦120Bに対応するタイムライン32Bが伸張していく。
このように、既に記憶された弦120の配置態様が読出されると共に、新たに弦120が設けられることにより、それら弦120の配置態様が併せて録画される。
さて、本実施形態においては、図20に示す時刻8sにおいてRECアイコン46の押下が停止される。その結果、弦120Aおよび120Bの配置態様は時刻8sまで録画される。このようにして生成された録画内容に従って、上述した図9、12〜14のタイムライン表示が実現する。
(B−4;音データ生成処理)
上記タイムライン生成処理がなされると、音データ生成処理が開始可能となる。図21は、音データ生成処理の流れを示したフローチャートである。
ユーザにより再生アイコン45が押下されると、ステップSC110において、タイムライン生成処理において録画された内容に従って、弦120が仮想空間100内に配置される。また、そのように時間経過に伴って設けられる弦120の配置タイミングを示すタイムライン32が表示され、該タイムライン上をリアルタイムバー34がスライドする。録画内容が全て読み出されると(本動作例の場合、再生開始後8s)、再び時刻0sからデータが読み出される。このような録画内容の繰り返し再生(ループ再生)は、ユーザにより音データ生成処理が終了されるまで継続される。以下のステップは、該ループ再生と並行して行われる。
ステップSC120において、スプリンクラ150は、仮想粒子200を仮想空間100に出現させる。そして、仮想空間100に放出された個々の仮想粒子200のそれぞれについて、ステップSC130以下の処理が行われる。
ステップSC130において、微小単位時間後の仮想粒子200の運動を演算する。仮想粒子200が仮想空間100の壁または他の仮想粒子200に衝突した場合には、完全弾性衝突で跳ね返り、該仮想粒子200には新たな速度が設定される。また、衝突が起こっていない場合には、仮想粒子200の速度に微小時間を乗算することにより、仮想粒子200は新たな位置に移動する。
なお、ステップSC130においては、ステップSC120にて仮想空間100に出現した仮想粒子200の全てについて同時にその軌道の算出が行われるため、ランダムに出現した多数の仮想粒子200が互いに相互作用を高頻度で繰り返すこととなる。従って、仮に仮想空間100の各種設定が同一であっても、毎回異なった仮想粒子200の挙動が引き起こされる。
ステップSC140において、ステップSC130の処理により、仮想空間100の底面に達してして消滅するか否かを判定する。ステップSC140の判定結果が“YES”である場合には該仮想粒子200を画面上から消去し、該仮想粒子200に関しての処理を終了する。ステップSC140の判定結果が“NO”である場合には、ステップSC150以降の処理を行う。
ステップSC150において、仮想粒子200が録画された配置態様に従って配置される弦120と衝突したか否かを判定する。仮想粒子200が弦120と相互作用した場合、ステップSC150の判定結果は“YES”となり、ステップSC160の処理が行われる。一方、ステップSC150の判定結果が“NO”である場合は、ステップSC130以降の処理が再び行われる。
ステップSC160において、ステップSC150において仮想粒子200と相互作用した弦120の振動状態をシミュレーション演算する。そして、該シミュレーション演算の結果から、弦120において生成される音の振幅、周波数、音色などを解析し、該音を表す音データを生成する。
ステップSC170において、弦120の振動状態に基づいて音データが生成される。
上述のように、弦120は、タイムライン生成処理において録画された配置態様に従って繰り返し仮想空間100内に設けられる。しかし、仮想粒子200はスプリンクラ150からランダムに放出されている上に多数の仮想粒子200が互いに高頻度で相互作用を繰り返しているため、ループ再生における弦120の配置態様は毎回同じであるが生成される音データは毎回異なったものとなる。
ステップSC170が終わると、弦120と相互作用した仮想粒子200について、ステップSC130以降の処理が再び実行される。
以上の音データ生成処理と並行して、モニタ30には仮想空間100における仮想粒子200および弦120の運動や、弦120の振動状態が表示される。生成される音データは該表示に対応するものであるから、ユーザは放音された音とモニタ表示を対応付けて視聴することが出来る。
上記ステップSC170において生成された音データは音データ再生部30aへ出力され、音データ再生部30aにおいて再生される。また、制御部101は、スプリンクラ150の配置態様、弦120の配置態様、および仮想空間100に設定された空間特性など、音データの生成に係る各種パラメータの情報(以下、設定情報)を、試行ごとにRAM104に書き込む。制御部101は、RAM104に書き込まれた設定情報を読み出すことにより、再度同じ条件設定下で音データの生成処理を行うことができる。
(C;変形例)
以上、本発明の実施形態について説明したが、本発明は以下のように種々の態様で実施することができる。
(1)上記実施形態においては、音データ生成処理の際、タイムライン生成処理において録画された内容が繰り返しループ状に再生される場合について説明した。しかし、該録画内容が、1または複数回だけ再生されるとしても良い。
(2)上記実施形態においては、録画内容がループ再生されるとき、弦120は、録画内容の最後のタイミング(上記動作例では、時刻8s)での各弦120の位置から、初めの(時刻0sにおける)位置に非連続的に移動する場合について説明したが、該非連続的な移動を補間する処理を行っても良い。すなわち、各弦120の位置が非連続的に移動する場合には、例えば該移動の直前の位置と直後の位置とを結ぶ線分をなぞるように該オブジェクトが移動するようにしても良い。
(3)上記実施形態においては、RAM104に書き込まれた録画内容を再生すると共に、新たに設けられている弦120の配置態様を併せて録画する旨を説明した。しかし、各弦120についてその配置態様を個別に録画して複数のデータを生成し、再生アイコン45が押下された際に該複数のデータを併せて再生することにより、複数の弦120の配置態様が読み出されるようにしても良い。また、各弦120の配置態様に関する複数の録画内容を順次時間をずらしてつなぎ合わせることにより、複数の弦120が入れ替わり仮想空間100内に出現する録画内容を生成しても良い。
(4)上記実施形態においては、例えば図13に示すように、弦120の端点の色をタイムライン32の色と対応させることにより、ユーザが視覚的に弦120とタイムライン32との対応関係を知ることを可能にした。しかし、弦120とタイムライン32との対応付けは、色による区別に限定されるものではなく、模様や文字や記号などによる各種の方法が可能である。
(5)上記実施形態においては、仮想空間100内に設けられる仮想発音体として振動体(弦120)が設けられる場合について説明した。しかし、設けられる発音体は弦に限定されず、例えば太鼓やシンバルなどを模した振動面を有する振動体(以下、面と呼ぶ)を設けても良い。以下、「面」の構成およびその振動の制御について説明する。
面を仮想空間100に設ける場合には、以下のようにすれば良い。仮想空間100の表示は2次元であるため、面の断面図で表示されるようにしても良い。すなわち、例えば仮想空間100内で始点と終点とが指定された場合には、指定された始点と終点とを結ぶ直線が面の断面となるように、そして面と仮想空間100の表示画面が直交するように面が設けられるとすれば良い。
面と仮想粒子200が相互作用した場合には、振動面に関する物理的シミュレーションを行い、面特有の音データを生成するようにすれば良い。
なお、上記実施形態においては、仮想粒子200は弦120と相互作用した場合に、反発せずそのまま弦120を通過する場合について説明したが、面との相互作用においては、仮想粒子200は跳ね返るとの条件を設けても良い。
また、仮想発音体は球や立方体などであっても良い。その場合、該発音体と仮想粒子200が相互作用した場合には、球や立方体の振動状況に応じて音が物理的にシミュレーションされるようにしても良いし、衝突状況に合わせて予め格納された波形データが読み出されるようにしても良い。
(6)上記実施形態においては、タイムライン32が表示される時間軸が10秒を最大値とする場合(図9参照)について説明したが、最大時間は10秒に限られるものではなく、どのような長さであっても良い。
(7)上記実施形態においては、弦120の振動を、物理モデルのシミュレーションにより演算する場合について説明した。しかし、弦特有の音を表す波形データを予めROM103に記憶しておき、仮想粒子200と弦120との衝突の度に、該波形データを読み出すようにしても良い。その場合、波形データを複数種類格納しておき、弦の特徴(弦の太さ、長さなど)に応じて、弦ごとに異なる波形データが選択的に読み出されるようにしたり、振幅やピッチなどを変換して発音されるようにしても良い。
(8)上記実施形態においては、仮想粒子200が弦120に衝突しても、そのまま通り抜ける場合について説明したが、弦120と仮想粒子200との相互作用においても、仮想粒子200同士の相互作用と同様に衝突および跳ね返りが発生するようにしても良い。
(9)上記実施形態において、仮想粒子200は、仮想空間100に設定された重力に従って自由落下する場合について説明した。しかし、仮想粒子200の運動に影響を及ぼす構造体(規制体)を仮想空間100に設けても良い。
図22は、規制体の一例であるウォール160の配置に際するモニタ30のモニタ表示の一例である。ユーザにより制御パネル400下部のウォールアイコン405がクリックされた後ドラッグ操作がなされると、制御部101は該ドラッグ操作の始点と終点を対角線とする長方形の領域をウォール160として画面上に表示させる。例えば、カーソル170が図中170(a)から170(b)の位置までドラッグされると、ウォール160(a)が設定される。
また、カーソル170を、一旦設定されたウォール160の頂点に合わせてボタン22を押下し、押下したままマウス20を移動する操作がなされると、ウォール160の重心を中心としてカーソル170の移動に伴ってウォール160が回転される。例えば、ウォール160(c)の頂点(カーソル170(c)の位置)にカーソル170を合わせ、ボタン22を押下したままカーソル170(d)で示される位置まで移動されると、ウォール160はウォール160(d)で示される位置に回転される。
また、カーソル170をウォール160の内側領域にあわせて同様の操作がなされると、ウォール160はカーソル170の移動に伴って移動される。例えば、ウォール160(e)の内部領域(カーソル170(e)の位置)にカーソル170を合わせ、ボタン22を押下したままカーソル170(f)で示される位置まで移動されると、ウォール160はウォール160(f)で示される位置に移動される。
また、音データ生成処理中にウォール160がダブルクリックされると、選択されたウォール160は消滅するようにしても良い。
(10)上記実施形態においては、2つの弦(弦120Aおよび120B)が仮想空間100に設けられる場合について説明した。しかし、設けられる弦120の数は2に限定されるものではなく、1でも3以上でも良い。その場合には、設けられた弦120の数に対応させてタイムライン32を生成する処理を行えば良い。
(11)上記実施形態においては、弦120の各々と対応させてタイムライン32を設ける場合について説明したが、複数の弦120を1つのタイムライン32に対応させても良い。例えば、RECアイコン46の1回の押下に対応する録画ごとに1つのタイムライン32を設けるようにしても良い。すなわち、RECアイコン46を押下しながら、並行して複数の弦120が設けられた場合には、該複数の弦120を1つのタイムライン32に対応付けても良い。
(12)上記実施形態においては、仮想粒子200同士、および仮想粒子200と仮想空間100の枠組みが衝突した場合には、跳ね返り係数1で完全弾性衝突をする場合について説明したが、跳ね返り係数は、1以外の値でも良い。すなわち、跳ね返り係数が0から1までの非弾性衝突を行うとしても良い。また、自然法則には反するが、衝突後の各オブジェクトの速度を演算する際に、1を越える値を跳ね返り係数として用いても良い。
(13)上記実施形態においては、タイムライン32が、絶対的な時間軸に対応付けて表示される場合について説明した。しかし、タイムラインの表示態様は、該表示態様に限られるものではない。例えば、上述したタイムラインの表示態様(以下、時間軸固定モード)と、以下に説明する表示態様(表示幅固定モード)とをユーザにより選択可能としても良い。その場合の実施形態を以下に説明する。
図23に示すように、タッチパネル42上には、上記モードを選択するためのモード選択アイコン47が設けられ、「1(時間軸固定モード)」または「2(表示幅固定モード)」の押下によりモードが選択される。上述した初期設定処理においては、上記モードの選択がなされるステップを追加すれば良い。そして、該ステップにおいて時間軸固定モード(1)が選択された場合には、上記実施形態と同様にタイムラインが表示される。一方、表示幅固定モード(2)が選択された場合には、以下のような処理が行われる。
タッチパネル42には、ループ長選択アイコン44−1、2、3…(以下、互いに区別する必要がない場合には、ループ長選択アイコン44と総称する)が設けられており(図23参照)、それぞれのアイコンには、「1倍速」、「2倍速」、「3倍速」…が対応付けられている。
まず、ループ長選択アイコン44−1(1倍速)が選択される場合の処理について説明する。ループ長選択アイコン44−1(1倍速)が押下された後、RECアイコン46が押下されると、押下後所定の時間(例えば8秒間)が経過するまで、弦120の配置態様が録画される。
ユーザは、該所定の時間内にタッチパネル42を操作することにより弦120を出現・移動させる。例えば、図24に示すように、上記所定の時間(8秒間)に、弦120Aを設け、仮想空間100内の位置(A)から位置(B)を経て位置(C)へ移動させたものとする。
このような弦120の配置態様が録画された場合、該録画内容を再生する場合には、タイムラインは同図のように表示される。すなわち、弦120Aが位置(A)から(B)を経て(C)へ移動するのと並行して、タイムラインL上を識別子が位置(A’)から位置(B’)を経て位置(C’)へ8秒間で移動する。同図に示すように、該識別子をタイムポインタ35と呼び、タイムポインタ35Aは弦120Aに対応する。
次に、ループ長選択アイコン44−2(2倍速)が選択され、上記弦120Aの録画内容に上書きがなされる場合について説明する。再生アイコン45が押下されると、上記弦120Aの配置態様が読み出され、再生される。このとき、ループ長選択アイコン44−2(2倍速)が押下された後、RECアイコン46が押下されると、押下されてから上記所定の時間(8秒間)を2(2倍速であるため)で除した時間(4秒間)が経過するまで、新たに設けられた弦120の配置態様が録画される。
ユーザは、該時間内にタッチパネル42を押下することにより弦120を出現・移動させる。例えば、図25に示すように、上記所定の時間を2で除した時間(4秒間)の間に、弦120Bを図中位置(D)から位置(E)を経て位置(F)へ移動させたものとする。
そのようにして新たに弦120Bの配置態様が上書き録画された場合、タイムラインは図25のように表示される。この場合も、弦120Aの配置態様および対応するタイムポインタ35Aは上述した通りである。すなわち、弦120Aは、初めの4秒間で位置(A)から位置(B)へ移動し、タイムポインタ35Aは、位置(A’)から位置(B’)へ移動する。一方、弦120Bは、4秒間で図中位置(D)から位置(E)を経て位置(F)へ移動し、タイムポインタ35Bは、該弦120Bの移動に対応して、タイムラインL上を位置(D’)から位置(E’)を経て位置(F’)へ移動する。
さて、上記弦120Aの録画内容を再生する時間(8秒間)の後半の4秒間においては、録画内容を再生し終わっていない弦120については、残りの録画内容が継続して再生され、録画内容を再生し終わった弦120については、初めから再び再生される。すなわち、図26に示すように、弦120Aは、位置(B)から位置(C)へ移動し、弦120Bは、位置(D)〜(E)〜(F)の移動が繰り返される。また、タイムポインタ35Aは、位置(B’)から位置(C’)へ移動し、タイムポインタ35Bは、位置(D’)から位置(E’)、位置(F’)への移動が繰り返される。
このように、8秒間に弦120Aに係る表示は1度再生され、弦120Bに係る表示は2度繰り返して再生される。
なお、詳細な説明を省略するが、ループ長選択アイコン44−3(3倍速)以降のアイコンが選択された場合についても同様である。すなわち、ループ長選択アイコン44−n(n倍速)が選択された場合には、8秒をn等割した時間(8/n秒)の弦120の配置態様が録画され、該録画内容が再生される際には、弦120の移動は8秒間にn回繰り返され、タイムポインタ35は8秒間にループ状にn回スライドする。
以上をまとめると、表示幅固定モードにおいては、各弦120の配置態様が録画される時間は、弦120ごとに設定される。そして、タイムポインタ35は、対応する弦120の配置態様が録画されている時間に、所定長のタイムラインL上を移動する。そして、各タイムポインタ35は、タイムラインL上を1周すると再びスタート地点から移動を開始し、弦120も該表示と対応するようにスタート地点から移動を繰り返す。
このようにタイムポインタ35が表示されることにより、ユーザは、各時刻において各弦120が1周期のどの時点にあるのかを容易に知ることができる。また、タイムポインタ35の移動の速さなどから、対応する弦120の移動の繰り返し頻度、ひいては該弦120により生成される音の発音頻度などを容易に知ることができる。
なお、以上に説明した表示幅固定モードによれば、更に以下のような音作りを容易に行わせることができる。例えば、1倍速の弦120と8倍速の弦120を設け、各弦120は、1回の出現に際して1回仮想粒子200と衝突し音を生成するとする。そのような場合、1倍速の弦120が音を発する時間(1周期)に、8倍速の弦120の移動は8回繰り返されることから、8回音が生じる。そのような音がループ状に繰り返される。このような音のリズム構造は、1小節に8つのビートを有する8ビートと類似している。同様に、1倍速の弦120と3倍速の弦120を設けることにより、3連のリズム構造を基調とする音が生成される。
このように、タイムラインの表示態様と対応付けて弦120の配置態様を制御することにより、リズム構造などの音の特性を制御することも可能になる。
(14)上記実施形態(時間軸固定モード)においては、録画された際の時間軸に従って録画内容が読み出される場合について説明した。すなわち、例えば時刻5sに対応付けられた配置態様は時刻5sに読み出された(図9、12〜14参照)。しかし、録画内容の読出しに係る時間軸を制御することにより、弦120の配置態様、ひいては弦120により生成される音のリズムを変化させるようにしても良い。その一例を以下に説明する。
図27に示すように、制御パネル400に時間軸変換アイコン406を設ける。そして、ユーザにより該時間軸変換アイコン406が押下されると、図示するようなモニタ画面が表示される。仮想空間100の表示領域には、録画された際の時間軸と読出しに係る時間軸とを対応付けるグラフが表示されている。該グラフにおいて、横軸は録画された際の時間軸であり、縦軸は読出しに係る時間軸である。図27に示されたグラフにおいては、線m1は両時間軸を対応付けており、例えば録画された際の時間軸において時刻5sの配置態様は、時刻5sにおいて読み出されることを示している。
さて、図28に示すように、カーソル170を用いてユーザが所望の形状の線mを描画することが可能となっている。例えば、同図に示されるような線m2が設定された場合、録画された際の各時刻における配置態様は、線m2で対応付けられた時刻に読み出される。この場合は、時刻0s〜2sの2秒間の配置態様は時刻0s〜1sの1秒間に縮めて読み出され、時刻2s〜3sの1秒間の配置態様は時刻1s〜5sの4秒間に引き伸ばされて読み出される。また、時刻3s〜8sの5秒間の配置態様は時刻5s〜7sの2秒間に縮めて読み出される。すなわち、弦120Aまたは120Bの一方が仮想空間100に設けられている期間にはそれら弦120の移動が速くなるよう時間軸を縮めて読み出され、弦120Aおよび120Bの両者が仮想空間100に設けられている期間にはそれら弦120の移動が遅くなるよう時間軸が引き伸ばされて読み出される。その結果、弦120の配置態様は、録画時における配置態様から更に多様に制御され、生成される音データも多様になる。
以上に説明した時間軸の変換処理方法は、あくまでも一例であり、記憶した配置態様を読み出す時間軸を制御する方法であれば他のどのような方法を用いても良い。
(15)上記実施形態においては、タイムライン32は、各時刻における模様が変化しない、すなわちタイムライン32の長方形領域内部で模様が均一である場合について説明した。しかし、タイムライン32の各時刻の模様が、各時刻における対応する弦120の状態を表すようにしても良い。例えば、該タイムラインが生成される際に、ある時刻において弦120に仮想粒子200が多く衝突し、大きな振動が起こったような場合には、タイムライン32の該当する時刻の部分の模様を変えるなどしても良い。また、タイムライン32に色が付いている場合には、当該時間領域の部分の色を変えるなどしても良い。
(16)上記実施形態においては、本発明に係る音データ生成装置10に特徴的な機能を実現するためのプログラムを、ROM103に予め書き込んでおく場合について説明したが、磁気テープ、磁気ディスク、フレキシブルディスク、光記録媒体、光磁気記録媒体、RAM、ROMなどのコンピュータ読取り可能な記録媒体に上記プログラムを記録して配布するとしても良く、インターネット網などの電気通信回線経由のダウンロードにより上記プログラムを配布するようにしても良い。
音データ生成処理におけるモニタ表示の一例を示した図である。 音データ生成システム1の全体構成を示した図である。 音データ生成装置10の構成を示した図である。 マウス20の外観を示した図である。 モニタ30の外観を示した図である。 多点コントローラ40の機能を説明するための図である。 モニタ表示の一例を示した図である。 空間特性の設定に係るモニタ表示の一例を示した図である。 音データ生成処理におけるモニタ表示の一例を示した図である。 初期設定処理の流れを示したフローチャートである。 振動体設定処理の流れを示したフローチャートである。 音データ生成処理におけるモニタ表示の一例を示した図である。 音データ生成処理におけるモニタ表示の一例を示した図である。 音データ生成処理におけるモニタ表示の一例を示した図である。 タイムライン生成処理におけるモニタ表示を示す図である。 タイムライン生成処理におけるモニタ表示を示す図である。 タイムライン生成処理におけるモニタ表示を示す図である。 タイムライン生成処理におけるモニタ表示を示す図である。 タイムライン生成処理におけるモニタ表示を示す図である。 タイムライン生成処理におけるモニタ表示を示す図である。 音データ生成処理の流れを示したフローチャートである。 規制体の配置方法を説明するための図である。 変形例に係る多点コントローラ40の構成を示す図である。 変形例に係るタイムライン表示の一例を示す図である。 変形例に係るタイムライン表示の一例を示す図である。 変形例に係るタイムライン表示の一例を示す図である。 時間軸変換処理の一例を示す図である。 時間軸変換処理の一例を示す図である。
符号の説明
1…音データ生成システム、10…音データ生成装置、20…マウス、21…本体、22…ボタン、23…通信ケーブル、24…移動検知手段、30…モニタ(30a…音データ再生部)、32…タイムライン、34…リアルタイムバー、35…タイムポインタ、40…多点コントローラ、41…通信ケーブル、42…タッチパネル、44…ループ長選択アイコン、45…再生アイコン、46…RECアイコン、47…モード選択アイコン、100…仮想空間、101…制御部、102…光ディスク再生部、103…ROM、104…RAM、105…I/O部、109…バス、120…弦、150…スプリンクラ、160…ウォール、170…カーソル、200…仮想粒子、400…制御パネル、401…スプリンクラアイコン、402…初速度、403…頻度、404…空間特性アイコン、405…ウォールアイコン、406…時間軸変換アイコン、500…タイムラインパネル

Claims (5)

  1. 仮想空間を設定する仮想空間設定手段と、
    仮想粒子を前記仮想空間に対して連続的に放出する演算を行う仮想粒子放出手段と、
    前記仮想粒子放出手段の演算により放出された各仮想粒子の軌道を、前記各仮想粒子同士の衝突を含めて演算する軌道演算手段と、
    仮想発音体を設定する仮想発音体設定手段と、
    各時刻における前記仮想発音体の配置態様を表す配置態様データを記憶する記憶手段と、
    前記配置態様データを前記記憶手段から読出し、該読み出した配置態様データに基づいて前記仮想発音体を前記仮想空間に配置すると共に、時間軸を表示し前記仮想発音体の各々が前記仮想空間中に出現する時刻を前記時間軸上に表示する表示手段と、
    前記仮想発音体と前記仮想粒子の相互作用を演算し、該相互作用に基づいて音データを生成する音データ生成手段と
    を有することを特徴とする音データ生成装置。
  2. 仮想空間を設定する仮想空間設定手段と、
    仮想粒子を前記仮想空間に対して連続的に放出する演算を行う仮想粒子放出手段と、
    前記仮想粒子放出手段の演算により放出された各仮想粒子の軌道を、前記各仮想粒子同士の衝突を含めて演算する軌道演算手段と、
    仮想発音体を設定する仮想発音体設定手段と、
    各時刻における前記仮想発音体の配置態様を表す配置態様データを記憶する記憶手段と、
    前記配置態様データを前記記憶手段から読出し、該読み出した配置態様データに基づいて前記仮想発音体を前記仮想空間に配置すると共に、所定長の軸を表示し前記仮想発音体の各々と対応する識別子を、該対応する仮想発音体が前記仮想空間中に出現している間に前記軸上を移動させる表示手段と、
    前記仮想発音体と前記仮想粒子の相互作用を演算し、該相互作用に基づいて音データを生成する音データ生成手段と
    を有することを特徴とする音データ生成装置。
  3. 前記配置態様データにおいて、前記仮想発音体の配置態様と時刻との対応付けを変更する変更手段を更に有し、
    前記表示手段は、前記変更手段により変更された対応付けに基づいて、前記記憶手段に記憶された前記仮想発音体の配置態様を読出す
    ことを特徴とする請求項1又は請求項2に記載の音データ生成装置。
  4. コンピュータを、
    仮想空間を設定する仮想空間設定手段と、
    仮想粒子を前記仮想空間に対して連続的に放出する演算を行う仮想粒子放出手段と、
    前記仮想粒子放出手段の演算により放出された各仮想粒子の軌道を、前記各仮想粒子同士の衝突を含めて演算する軌道演算手段と、
    仮想発音体を設定する仮想発音体設定手段と、
    各時刻における前記仮想発音体の配置態様を表す配置態様データを記憶する記憶手段と、
    前記配置態様データを前記記憶手段から読出し、該読み出した配置態様データに基づいて前記仮想発音体を前記仮想空間に配置すると共に、時間軸を表示し前記仮想発音体の各々が前記仮想空間中に出現する時刻を前記時間軸上に表示する表示手段と、
    前記仮想発音体と前記仮想粒子の相互作用を演算し、該相互作用に基づいて音データを生成する音データ生成手段
    として機能させるプログラム。
  5. コンピュータを、
    仮想空間を設定する仮想空間設定手段と、
    仮想粒子を前記仮想空間に対して連続的に放出する演算を行う仮想粒子放出手段と、
    前記仮想粒子放出手段の演算により放出された各仮想粒子の軌道を、前記各仮想粒子同士の衝突を含めて演算する軌道演算手段と、
    仮想発音体を設定する仮想発音体設定手段と、
    各時刻における前記仮想発音体の配置態様を表す配置態様データを記憶する記憶手段と、
    前記配置態様データを前記記憶手段から読出し、該読み出した配置態様データに基づいて前記仮想発音体を前記仮想空間に配置すると共に、所定長の軸を表示し前記仮想発音体の各々と対応する識別子を、該対応する仮想発音体が前記仮想空間中に出現している間に前記軸上を移動させる表示手段と、
    前記仮想発音体と前記仮想粒子の相互作用を演算し、該相互作用に基づいて音データを生成する音データ生成手段
    として機能させるプログラム。
JP2007275751A 2007-10-23 2007-10-23 音データ生成装置およびプログラム Expired - Fee Related JP5099335B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007275751A JP5099335B2 (ja) 2007-10-23 2007-10-23 音データ生成装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007275751A JP5099335B2 (ja) 2007-10-23 2007-10-23 音データ生成装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2009103929A JP2009103929A (ja) 2009-05-14
JP5099335B2 true JP5099335B2 (ja) 2012-12-19

Family

ID=40705665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007275751A Expired - Fee Related JP5099335B2 (ja) 2007-10-23 2007-10-23 音データ生成装置およびプログラム

Country Status (1)

Country Link
JP (1) JP5099335B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017016275A (ja) * 2015-06-29 2017-01-19 ヤマハ株式会社 制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086549A (ja) * 1994-06-17 1996-01-12 Hitachi Ltd 旋律合成方法
JP4151779B2 (ja) * 2002-09-04 2008-09-17 株式会社河合楽器製作所 演奏独習装置
JP3804630B2 (ja) * 2003-03-20 2006-08-02 ヤマハ株式会社 楽音形成装置
JP4127088B2 (ja) * 2003-03-24 2008-07-30 ヤマハ株式会社 音楽再生と動画表示の制御装置およびそのプログラム
JP4477414B2 (ja) * 2004-05-21 2010-06-09 株式会社平和 映像式遊技機
JP2006204888A (ja) * 2004-12-28 2006-08-10 Aruze Corp シミュレーションプログラムおよびシミュレータ

Also Published As

Publication number Publication date
JP2009103929A (ja) 2009-05-14

Similar Documents

Publication Publication Date Title
US8858330B2 (en) Music video game with virtual drums
US20110191674A1 (en) Virtual musical interface in a haptic virtual environment
Jordà 5 Interactivity and live computer music
GB2475339A (en) Optical bowing sensor for emulation of bowed stringed musical instruments
JP5099335B2 (ja) 音データ生成装置およびプログラム
JP4953085B2 (ja) 音データ生成装置およびプログラム
JP4736094B2 (ja) 音データ生成装置およびプログラム
JP4858777B2 (ja) 音データ生成装置およびプログラム
Bouënard et al. Virtual gesture control and synthesis of music performances: Qualitative evaluation of synthesized timpani exercises
JP5011563B2 (ja) 音データ生成装置およびプログラム
JP4953084B2 (ja) 音データ生成装置およびプログラム
JP5051838B2 (ja) 音データ生成装置およびプログラム
JP2009103931A (ja) 音データ生成装置およびプログラム
Fischman A manual actions expressive system (MAES)
Deacon et al. Spatial Design Considerations for Interactive Audio in Virtual Reality
Gadd et al. Metamuse: a novel control metaphor for granular synthesis
JP5267905B2 (ja) 音データ生成装置およびプログラム
Mitchusson Indeterminate Sample Sequencing in Virtual Reality
Dolhansky et al. Designing an expressive virtual percussion instrument
Beamish et al. D’groove: A haptic turntable for digital audio control
Passalenti et al. Haptic interaction with guitar and bass virtual strings
Arterbury et al. 3D Positional Movement Interaction with User-Defined, Virtual Interface for Music Software: MoveMIDI
Leng et al. Virtual kompang: mapping in-air hand gestures for music interaction using gestural musical controller
JP2009103933A (ja) 音データ生成装置およびプログラム
Ch'vez et al. Enchantment Under the Sea: An Intelligent Enviroment for User Friendly Music Mixing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100507

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120501

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120911

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151005

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees