(57)【要約】【課題】波形データの再生位置が進行しない場合であっても、その部分を含めて波形表示することができる波形表示プログラムを提供すること。【解決手段】スケーリング（Ｘ）の値が「０」であれば（Ｓ１１４：Ｙｅｓ）、そのピクセルのタイムレートは「０」なので、かかる場合には、タイムレート＝０特有の態様で波形表示が行われる。具体的には、変数Ｘが偶数であれば（Ｓ１１６：Ｙｅｓ）、所定最小値を最小値メモリへ、また所定最大値を最大値メモリへ書き込み（Ｓ１１８）、表示画面上のＸ番目のピクセルで、最小値メモリの値が示す位置から最大値メモリの値が示す位置までＹ軸方向に縦線を描画する（Ｓ１２０）。一方、変数Ｘが奇数であれば（Ｓ１１６：Ｎｏ）、Ｓ１２０の描画処理をスキップして、Ｓ１２２へ移行する。これにより、１ピクセル間隔毎に所定最小値から所定最大値まで縦線を表示する、タイムレート＝０特有の波形表示が行われる。【選択図】        図２
2004219566.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータで実行される自動演奏プログラムに搭載される波形表示プログラムにおいて、
楽音波形データの再生位置の進行速度を規定するためのタイムレートを指示するタイムレート指示ステップと、
そのタイムレート指示ステップにより指示されたタイムレートに従って再生される波形の再生態様を表示する表示ステップとを備え、
その表示ステップは、前記タイムレート指示ステップによって再生位置が進行しないタイムレートが指示された部分の表示と再生位置が進行するタイムレートが指示された部分の表示とを異なる態様で表示するものであることを特徴とする波形表示プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】本発明は、自動演奏装置またはコンピュータで実行される自動演奏プログラムに搭載される波形表示プログラムに関し、特に、波形データの再生位置が進行しない場合であっても、その部分を含めて波形表示することができる波形表示プログラムに関するものである。
【０００２】
【従来の技術】特許文献１には、音高を縦軸に、時間を横軸に表した領域に演奏データをブロックで表示し、そのブロック表示を操作することにより、演奏データの編集を容易に行うことができる自動演奏装置が開示されている。このブロック表示では、再生される楽音の音高と時間とは視覚的に認識できるものの、どのような波形の楽音が再生されるかについては全く認識できない。
【０００３】
これに対し、特許文献２には、波形データを再生時の態様で表示する自動演奏装置が開示されている。この自動演奏装置は、再生時の進行速度であるタイムレートを音源に対して設定可能に構成されており、編集操作によって、そのタイムレートが変更された場合には、再生される波形データの表示を、変更後のタイムレートに合わせて変更している。よって、操作者は、再生される楽音の波形データを表示上で認識しつつ、演奏データの編集を行うことができるのである。
【０００４】
【特許文献１】特許第２５８０７２０号公報
【０００５】
【特許文献２】特開２０００−１０５６２号公報（図１４）
【０００６】
【発明が解決しようとする課題】しかしながら、タイムレートの中には、再生位置を進行させないタイムレート、即ちタイムレート＝０が存在する。特許文献２には、このタイムレート＝０の場合に、波形データをどのように表示するかについて全く開示されていなかった。よって、タイムレート＝０のある演奏データについては、そのタイムレート＝０の部分を波形表示できないので、その部分を除いて再生される波形データを表示せざるを得ず、このため操作者は、再生される楽音の波形データを表示上で認識できないという問題点があった。
【０００７】
本発明は上述した問題点を解決するためになされたものであり、波形データの再生位置が進行しない場合であっても、その部分を含めて波形表示することができる波形表示プログラムを提供することを目的としている。
【０００８】
【課題を解決するための手段】この目的を達成するために請求項１記載の波形表示プログラムは、コンピュータで実行される自動演奏プログラムに搭載されるものであり、楽音波形データの再生位置の進行速度を規定するためのタイムレートを指示するタイムレート指示ステップと、そのタイムレート指示ステップにより指示されたタイムレートに従って再生される波形の再生態様を表示する表示ステップとを備え、その表示ステップは、前記タイムレート指示ステップによって再生位置が進行しないタイムレートが指示された部分の表示と再生位置が進行するタイムレートが指示された部分の表示とを異なる態様で表示するものである。なお、前記タイムレート指示ステップは、例えば、楽音波形データの再生が指示された場合に、その再生が指示された楽音波形データについてタイムレートを指示するものを例示することができる。また、ここでいうコンピュータとは、ＣＰＵにてプログラム実行するものであり、所謂、パーソナル・コンピュータに限定されるものではない。
【０００９】
【発明の効果】請求項１記載の波形表示プログラムによれば、再生位置が進行しないタイムレートが指示された部分の表示と再生位置が進行するタイムレートが指示された部分の表示とは、表示ステップにより異なる態様で表示される。よって、波形データの再生位置が進行しない場合であっても、その部分を含めて波形表示することができる。従って、操作者は、再生される波形データを表示上で認識して、再生される楽音を直感的に理解しつつ、その波形データの再生指示情報を含む演奏データの編集を行うことができるという効果がある。
【００１０】
【発明の実施の形態】以下、本発明の好ましい実施例について、添付図面を参照して説明する。図１は、本発明の一実施例である波形表示プログラム（図２参照）を内蔵した自動演奏アプリケーションソフトがインストールされ或いはＣＤ−ＲＯＭにて供給されるパーソナル・コンピュータ（以下「ＰＣ」と略す）１と、そのＰＣ１から出力されるＭＩＤＩ情報等に基づいてアナログの楽音信号（オーディオ信号）を生成してスピーカ１２へ出力する音源装置１１との電気的構成を示したブロック図である。
【００１１】
ＰＣ１は、ＣＰＵ２と、ＲＯＭ３と、ＲＡＭ４と、ユーザーインターフェイス（ＵＩ）５と、記憶デバイス６と、入出力インターフェイス（Ｉ／Ｏ）７とを備えており、これらをバスライン８により相互に接続して構成される。ＣＰＵ２は演算装置であり、ＲＯＭ３には、このＣＰＵ２により実行される各種の制御プログラムやその実行の際に参照される固定値データが記憶される。ＲＡＭ４は、ＲＯＭ３等に記憶される制御プログラムの実行に当たって各種のデータやワークメモリ、プログラム等を一時的に記憶するためのメモリであり、書き換え可能に構成される。
【００１２】
ユーザーインターフェイス（ＵＩ）５は、数値や文字の入力操作を行うためのキーボードと、ポインティングデバイスとしてのマウスと、ＣＲＴやＬＣＤ等の表示装置とを有して構成される。また、記憶デバイス６は、ＣＤ−ＲＯＭドライブとハードディスクドライブ（以下、「ＨＤドライブ」と称す）とを有して構成される。本実施例の自動演奏アプリケーションソフトは、タイムレートデータ、演奏データおよびオーディオ波形データ等と共に、ＣＤ−ＲＯＭに記憶され、ＣＤ−ＲＯＭドライブを介してＰＣ１へ供給されて実行されるか、或いは、ＣＤ−ＲＯＭドライブを介してＰＣ１へ供給されたものがＨＤドライブへ記憶され、そのＨＤドライブからＣＰＵ２によりＲＡＭ４内へ読み出されて実行される。
【００１３】
入出力インターフェイス（Ｉ／Ｏ）７は、ＰＣ１と外部装置との間でＭＩＤＩ情報等の送受信を介在するものであり、ＭＩＤＩ規格により動作してアナログの楽音信号（オーディオ信号）を発生する音源装置１１が接続されている。音源装置１１は、予め用意された波形データおよびＩ／Ｏ７を介してＰＣ１から入力された波形データを内部に記憶すると共に、ＰＣ１から入力されたＭＩＤＩ情報（タイムレートデータを含む演奏データ）に基づいてオーディオ信号を生成し、これをスピーカ１２へ出力するものである。
【００１４】
使用者の指示により自動演奏アプリケーションソフトが実行されると、該ソフト（プログラム）は記憶デバイス６から読み出され、バスライン８を介してＲＡＭ４にロードされて実行される。また、自動演奏アプリケーションソフトのデータの一部として記憶される波形データは、使用者の指示に応じて、Ｉ／Ｏ７を介して音源装置１１に供給され、音源装置１１内部に記憶される。以降、使用者によって楽音の再生が指示されると、再生対象のタイムレートデータを含むＭＩＤＩ情報がＩ／Ｏ７を介して音源装置１１に供給され、音源装置１１によりオーディオ信号が再生されて出力され、スピーカ１４が鳴動し楽音が演奏される。
【００１５】
次に、図２及び図３を参照して、本実施例の自動演奏アプリケーションソフトの一部である波形表示プログラム（波形表示処理）を説明する。図２は、ＣＰＵ２で実行される波形表示処理のフローチャートである。図３（ａ）は、表示対象となるサンプル波形を示した図であり、横軸はスケーリング（Ｎ）毎に区切られた波形アドレスを示し、縦軸は「０〜６５５３５」の値に区切られた波形の振幅値を示している。図３（ｂ）は、（ａ）のサンプル波形を表示画面へ表示する場合の部分的な拡大概略図であり、（ｃ）は、（ｂ）の表示を含んだ、波形データのさらに広い範囲を示した図である。（ｂ）および（ｃ）の横軸は表示画面を１ピクセルごとに区切って示し、縦軸は中央を「０」として示している。
【００１６】
この波形表示処理は、演奏データのタイムレートが編集（変更）される毎に実行される。タイムレートの編集操作は、ＣＲＴ又はＬＣＤの表示画面上に表示された波形の任意のＣｌｏｃｋをマウスでクリックし、その位置におけるタイムレートの値をキーボードにより入力して行われる。なお、Ｃｌｏｃｋとはオーディオ波形の再生時刻（演奏開始からの経過時間）を示すものである。また、タイムレート＝０の挿入は、タイムレート”０”挿入モードを指示するアイコン（図示せず）をマウスでクリックし、挿入モードとした後に、タイムレート＝０とする範囲を画面上でドラッグして行われる。更に、タイムレート＝０区間の削除は、タイムレート”０”削除モードを指示するアイコン（図示せず）をマウスでクリックし、削除モードとした後に、削除したいタイムレート＝０区間の任意の一部分をマウスでクリックすることにより連続する一連のタイムレート＝０区間が削除される。
【００１７】
図２の波形表示処理では、まず、変数Ｘおよび変数Ａｄｄｒｅｓｓの各値を「０」として初期化する（Ｓ１００）。変数Ｘおよび変数Ａｄｄｒｅｓｓは、この波形表示処理の実行時にＲＡＭ４内に一時的に設けられるワークメモリである。変数Ｘは、表示画面の最小単位であるピクセルについて、この波形表示処理がＸ軸（横軸）方向における何番目のピクセルに対してなされているかを示す変数である。よって、変数Ｘ＝０は、表示画面の中の波形表示領域のＸ軸方向における先頭を示している（図３（ｂ）（ｃ）参照）。また、変数Ａｄｄｒｅｓｓは、表示対象となる波形データのＸ軸方向におけるアドレスを示す変数である。よって、変数Ａｄｄｒｅｓｓ＝０は、波形データのＸ軸方向における先頭を示している（図３（ａ）参照）。
【００１８】
Ｓ１０２の処理では、スケーリング（Ｘ）を算出すると共に、変数ｉに「０」、最大値メモリに「０」、最小値メモリに「６５５３５」をそれぞれ設定する（Ｓ１０２）。スケーリング（Ｘ）は、Ｘ番目のピクセル内に表示される波形データのアドレス数であり、基準アドレス数と、Ｘ番目のピクセルに対応するタイムレートとの積により算出される。基準アドレス数とは、タイムレート＝１の場合に表示画面の１ピクセルに表示するべきアドレス数をいい、自然数から任意に選択される。例えば、基準アドレス数＝１０００の場合、タイムレート＝１であれば表示画面の１ピクセルには１０００アドレス数分の波形データが表示され、タイムレート＝２であれば表示画面の１ピクセルには２０００アドレス数分の波形データが表示される。
【００１９】
Ｘ番目のピクセルに対応するタイムレートは、Ｘの関数として、ＴｉｍｅＲａｔｅ（Ｘ）で示される。タイムレートは、オーディオ波形の再生速度を示す値であり、この値に比例した速度でオーディオ波形が再生される。タイムレート＝１の場合にはオーディオ波形はそのオーディオ波形の記憶時と同一の速度で再生される。また、タイムレート＞１の場合にはオーディオ波形は記憶時より速い速度で再生され、更に、タイムレート＜１の場合にはオーディオ波形は記憶時より遅い速度で再生される。なお、タイムレート＝０の場合は、オーディオ波形の再生アドレスの進行が止められ、そのタイムレートデータが音源装置１１に供給された時点で、音源装置１１で再生されていたオーディオ波形の所定範囲のアドレスが繰り返し再生される。
【００２０】
変数ｉ、最大値メモリ及び最小値メモリは、この波形表示処理の実行時にＲＡＭ４内に一時的に設けられるワークメモリである。変数ｉは、Ｘ番目のピクセル内に表示される波形データのアドレスをカウントするための変数であり、その初期値は「０」とされる。この変数ｉの値が、Ｓ１０２の処理で算出されたスケーリング（Ｘ）の値を超えるまで、後述するＳ１０４からＳ１１０の各処理が繰り返される。
【００２１】
最大値メモリおよび最小値メモリは、Ｘ番目のピクセルに表示される波形の振幅値の最大値と最小値とを、即ちＸ番目のピクセルに表示される波形のＹ軸方向における最大値と最小値とを、それぞれ記憶するためのメモリである。最大値メモリの初期値は最小の「０」、逆に最小値メモリの初期値は最大の「６５５３５」とされる。そして、Ｘ番目のピクセルに表示される波形データのアドレス毎にそれぞれの振幅値の最大値と最小値とを算出し、その最大値が最大値メモリの値より大きい場合には最大値メモリの値をその値に書き替え、同様に、その最小値が最小値メモリの値より小さい場合には最小値メモリの値をその値に書き替える。この結果、変数ｉの値に応じてＳ１０４からＳ１１０の各処理が繰り返されると、最終的に、Ｘ番目のピクセルに表示される波形データの振幅値の最大値が最大値メモリに、最小値が最小値メモリにそれぞれ記憶される。図３（ａ）には、各スケーリング（Ｎ）毎にＳ１０４からＳ１１０の各処理が繰り返された結果の最大値メモリの値と最小値メモリの値とがそれぞれ点線で図示されている。
【００２２】
Ｓ１０４の処理では、変数ｉの値とスケーリング（Ｘ）の値とを比較する（Ｓ１０４）。変数ｉの値がスケーリング（Ｘ）の値未満であれば（Ｓ１０４：Ｎｏ）、そのＸ番目のピクセルに表示される波形の振幅値の更新は未だ完了していない。よって、かかる場合には処理をＳ１０６へ移行して、Ｘ軸方向における波形データのアドレスを記憶する変数Ａｄｄｒｅｓｓの値を「１」加算し（Ｓ１０６）、加算後の変数Ａｄｄｒｅｓｓが示すアドレスの波形の振幅値を算出して、その振幅値に基づいて最大値メモリおよび最小値メモリの各値を更新する（Ｓ１０８）。即ち、算出した振幅値の最大値が最大値メモリの値より大きい場合には最大値メモリの値をその値に書き替え、また、算出した振幅値の最小値が最小値メモリの値より小さい場合には最小値メモリの値をその値に書き替えるのである。その後、変数ｉの値を「１」加算し（Ｓ１１０）、処理をＳ１０４へ戻す。
【００２３】
また、Ｓ１０４の処理において、変数ｉの値がスケーリング（Ｘ）の値以上であれば（Ｓ１０４：Ｙｅｓ）、そのＸ番目のピクセルに表示される波形の振幅値の更新は完了した。次に、変数Ａｄｄｒｅｓｓが波形データの最終アドレスを超えているか否かを判断し（Ｓ１１２）、超えていれば（Ｓ１１２：Ｙｅｓ）、これ以上表示する波形データは無いので、この波形表示処理を終了する。
【００２４】
一方、変数Ａｄｄｒｅｓｓが波形データの最終アドレスを超えていなければ（Ｓ１１２：Ｎｏ）、スケーリング（Ｘ）の値が「０」であるか否かを判断する（Ｓ１１４）。前述した通り、スケーリング（Ｘ）は、基準アドレス数とタイムレートとの積であり、基準アドレス数は自然数なので、スケーリング（Ｘ）＝０の場合はタイムレートは必ず「０」である。
【００２５】
よって、スケーリング（Ｘ）≠０の場合は（Ｓ１１４：Ｎｏ）、タイムレートは「０」でないので、かかる場合には、表示画面上のＸ番目のピクセルで、最小値メモリの値が示す位置から最大値メモリの値が示す位置までＹ軸方向に縦線を描画する（Ｓ１２０）。これにより、Ｘ番目のピクセルにスケーリングされる波形の最小振幅値から最大振幅値までが縦線として描画される（図３（ｃ）の３１）。
【００２６】
一方、スケーリング（Ｘ）の値が「０」であれば（Ｓ１１４：Ｙｅｓ）、そのピクセルのタイムレートは「０」である。かかる場合には、Ｓ１１６からＳ１２０の各処理によって、タイムレート＝０特有の態様で波形表示が行われる。本実施例におけるタイムレート＝０の波形表示は、図３（ｃ）に示すように、Ｘ軸方向の１ピクセル間隔毎に、所定最小値から所定最大値まで縦線を表示するものである（図３（ｃ）の３２）。
【００２７】
具体的には、変数Ｘが偶数であれば（Ｓ１１６：Ｙｅｓ）、所定最小値を最小値メモリへ、また所定最大値を最大値メモリへそれぞれ書き込み（Ｓ１１８）、表示画面上のＸ番目のピクセルで、最小値メモリの値が示す位置から最大値メモリの値が示す位置までＹ軸方向に縦線を描画する（Ｓ１２０）。一方、変数Ｘが奇数であれば（Ｓ１１６：Ｎｏ）、Ｓ１２０の描画処理をスキップして、Ｓ１２２へ移行する。これにより、１ピクセル間隔毎に、所定最小値から所定最大値まで縦線を表示することができる（図３（ｃ）の３２）。
【００２８】
波形の描画処理後は、変数Ｘの値を「１」加算し（Ｓ１２２）、加算後の変数Ｘが波形表示領域の全ピクセルを超えたか否かを判断する（Ｓ１２４）。変数Ｘが波形表示領域の全ピクセルを超えていなければ（Ｓ１２４：Ｎｏ）、処理をＳ１０２へ移行して前述した処理を繰り返す。一方、超えていれば（Ｓ１２４：Ｙｅｓ）、この波形表示処理を終了する。
【００２９】
次に、図４を参照して、図２の波形表示処理によって表示される波形の表示例を説明する。図４（ａ）は、タイムレートの編集対象となるオーディオ波形の元波形（サンプル波形）を示している。図４（ｂ）は、この元波形を、オーディオ波形の左横に表示されるＸ及びＣｌｏｃｋ及びＶａｌｕｅに基づいて再生する場合のオーディオ波形である。ここで、ＸはＸ番目のピクセルを示し、Ｃｌｏｃｋはオーディオ波形の再生時刻（演奏開始からの経過時間）を示し、Ｖａｌｕｅは、オーディオ波形の再生速度、即ちタイムレートを示している。よって、図４（ｂ）のオーディオ波形は、（ａ）の元波形を、Ｃｌｏｃｋ＝０の再生時刻からタイムレート＝１．００で再生するものとなり、（ａ）の元波形と同一波形となる。
【００３０】
図４（ｃ）は、（ａ）に示す元波形を、Ｃｌｏｃｋ＝０〜１４０の再生時刻の間、タイムレート＝０．５０で再生し、Ｃｌｏｃｋ＝１４０の再生時刻以降をタイムレート＝１．００で再生する場合のオーディオ波形である。よって、Ｃｌｏｃｋ＝０〜１４０の範囲では、元波形が２倍に伸びて表示され、Ｃｌｏｃｋ＝１４０〜２５０の範囲では、Ｃｌｏｃｋ＝７０〜１８０の元波形がそのまま表示される。
【００３１】
図４（ｄ）は、（ａ）に示す元波形を、Ｃｌｏｃｋ＝０の再生時刻からタイムレート＝１．５０で再生する場合のオーディオ波形であり、元波形が全体として２／３の長さに縮んで表示される。
【００３２】
図４（ｅ）は、（ａ）に示す元波形を、Ｃｌｏｃｋ＝０〜８０の再生時刻の間はタイムレート＝１．００で再生し、Ｃｌｏｃｋ＝８０〜１３０の再生時刻の間はタイムレート＝０．００で再生し、更に、Ｃｌｏｃｋ＝１３０の再生時刻以降をタイムレート＝１．００で再生する場合のオーディオ波形である。よって、Ｃｌｏｃｋ＝０〜８０の範囲では、元波形がそのまま表示され、Ｃｌｏｃｋ＝８０〜１３０の範囲では、タイムレート＝０特有の表示、即ち表示画面の偶数ピクセルに所定最小値から所定最大値の長さの縦線表示が施される。また、Ｃｌｏｃｋ＝１３０〜２３０の範囲では、Ｃｌｏｃｋ＝８０〜１８０の元波形がそのまま表示される。
【００３３】
以上説明したように、本実施例の波形表示処理によれば、タイムレート＝０の部分を、タイムレート＝０以外の部分と共に、異なる表示態様で表示することができるので、タイムレート＝０を含む波形であっても、その部分を含めて表示できる。よって、操作者は、再生される波形データを表示上で認識して楽音を直感的に理解しつつ、その波形データを編集することができる。従って、演奏データの編集操作を極めて容易に行うことができるのである。
【００３４】
以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【００３５】
例えば、上記実施例では、タイムレート＝０の表示は、タイムレート＝０以外の表示と区別するために特有の態様で表すようにした。具体的には、表示画面の偶数ピクセルに所定最小値から所定最大値の長さの縦線を表示して表した。しかしながら、タイムレート＝０の表示は、必ずしも、この態様に限られるものではなく、他の態様で表すようにしても良い。例えば、所定最小値から所定最大値の長さの縦線を、１ピクセル間隔毎ではなく、２乃至それ以上のピクセル間隔毎に表示したり、３乃至それ以上のピクセル毎に１本の割合で該縦線を表示するようにしても良い。また、タイムレート＝０の波形表示部分を他の波形表示部分と異なる色で表示したり、タイムレート＝０の背景部分を他と異なる色で表示するようにしても良い。更に、タイムレート＝０の区間を矢印で表すようにしても良い。更に、前述の実施例に加えて、タイムレートが１以上の時、例えば、青色で波形を表示し、タイムレートの値が大きいほど色を濃くする。また、タイムレートが１に満たない時は、例えば、赤色で波形を表示し、タイムレートの値が小さいほど色を濃くしても良い。
【図面の簡単な説明】
【図１】本発明の一実施例である波形表示プログラムが実行されるパーソナル・コンピュータと音源装置との電気的構成を示したブロック図である。
【図２】波形表示処理のフローチャートである。
【図３】（ａ）は、表示対象となるサンプル波形を示した図であり、横軸はスケーリング（Ｎ）毎に区切られた波形アドレスを示し、縦軸は「０〜６５５３５」の値に区切られた波形の振幅値を示している。（ｂ）は、（ａ）のサンプル波形を表示画面へ表示する場合の部分的な拡大概略図であり、（ｃ）は、（ｂ）の表示を含んだ、波形データのさらに広い範囲を示した図である。（ｂ）および（ｃ）の横軸は表示画面を１ピクセルごとに区切って示し、縦軸は中央を「０」として示している。
【図４】（ａ）は、タイムレートの編集対象となるオーディオ波形の元波形（サンプル波形）を示している。（ｂ）〜（ｅ）は、この元波形を、オーディオ波形の左横に表示されるＸ及びＣｌｏｃｋ及びＶａｌｕｅに基づいて編集したオーディオ波形である。
【符号の説明】
１                  パーソナル・コンピュータ（ＰＣ）
２                  ＣＰＵ
３                  ＲＯＭ
４                  ＲＡＭ
５                  ユーザーインターフェイス（ＵＩ）
６                  記憶デバイス
７                  入出力インターフェイス（Ｉ／Ｏ）
８                  バスライン
１１                音源装置
１２                スピーカ
３１                タイムレート＝０以外の波形表示部分
３２                タイムレート＝０の波形表示部分
【図１】
2004219566.tif 000003
【図２】
2004219566.tif 000004
【図３】
2004219566.tif 000005
【図４】
2004219566.tif 000006