JP3671417B2 - Waveform editing method and apparatus - Google Patents

Waveform editing method and apparatus Download PDF

Info

Publication number
JP3671417B2
JP3671417B2 JP2000307636A JP2000307636A JP3671417B2 JP 3671417 B2 JP3671417 B2 JP 3671417B2 JP 2000307636 A JP2000307636 A JP 2000307636A JP 2000307636 A JP2000307636 A JP 2000307636A JP 3671417 B2 JP3671417 B2 JP 3671417B2
Authority
JP
Japan
Prior art keywords
data
waveform
editing
display
waveform data
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
JP2000307636A
Other languages
Japanese (ja)
Other versions
JP2002116758A (en
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
Original Assignee
Yamaha Corp
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 filed Critical Yamaha Corp
Priority to JP2000307636A priority Critical patent/JP3671417B2/en
Publication of JP2002116758A publication Critical patent/JP2002116758A/en
Application granted granted Critical
Publication of JP3671417B2 publication Critical patent/JP3671417B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、楽音などの波形データを編集する波形編集方法および装置に関する。
【0002】
【従来の技術】
従来より、録音した波形データや記憶媒体から読み出した波形データを表示して編集(エディット)する波形編集装置が知られている。波形編集装置では、編集対象の波形データを波形編集画面に表示し編集する。編集が終了した波形データは、波形メモリや記憶媒体に格納する。
【0003】
従来の波形編集装置での波形データの表示方式として、所定数のサンプルを1つのブロックとし、各ブロックごとに波形データの正と負のピーク値を検出し、それを表示用データとして使用して表示することにより、波形を収縮表示したときの処理速度を改善している例がある。表示用データを生成して表示するためには、編集対象の波形データを読み込んで、上述したようにブロックごとに波形データのピーク値を求める処理(以下、スキャンという)が必要である。
【0004】
【発明が解決しようとする課題】
ところで、波形データを編集する際、波形のフィルタリングや無音部分のカットなど、編集画面に波形がきれいに表示される前でも編集処理を行いたい場合があるが、従来の波形編集装置では、上述のスキャンの処理が終了するまで編集作業を行うことはできなかった。また、スキャン途中で編集処理が行われた場合、表示用データをどのように管理すればよいのか、という問題があった。
【0005】
また、波形データを編集した直後に「保存」の処理を行った場合は、スキャンが終了しておらず表示用データが未だ得られていない状態で保存の指示があったことになるので、表示用データは波形データとともに保存されない。したがって、次にその波形データを波形メモリや記憶媒体から読み出してきたときには、表示用データを生成するために波形データの始めからスキャンし直さなければならなかった。
【0006】
さらに、表示用データ作成のためのスキャンは、波形データ全体に対して行われるため、波形データの容量が大きい(時間的に長い)と表示データが完成してきれいに表示されるまでに時間がかかるという問題があった。また、全体波形の表示は先頭から順に行われるため、ユーザの見たい部分がなかなか表示されない場合があった。
【0007】
この発明は、上述の従来技術における問題点に鑑み、波形データを編集する際、表示用データを作成するスキャンの途中であっても待たされることなく波形データの編集を行うことができ、その一方、必ず最終的には正確な表示用データを作成して表示することができ、また波形データを保存して再び読み出した場合のスキャン時間を節約し、さらにユーザの興味のある部分を先に詳しく見ることができる波形編集方法および装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
この目的を達成するため、請求項1に係る発明は、波形データを表示して編集する波形編集方法であって、編集対象の波形データを第1の記憶手段に記憶するステップと、前記波形データを所定数のサンプル毎のブロックに分け、それらのブロックから所定間隔で順次取り出したブロックについて当該ブロック中のサンプルの最大値と最小値を検出し、表示用データとして第2の記憶手段に記憶するステップと、前記第2の記憶手段の表示用データに基づいて表示手段に波形データのグラフィック表示を行うステップと、編集指示に応じて、前記第1の記憶手段に記憶されている波形データの編集処理を行うステップと、前記第2の記憶手段に記憶された表示データのうち、前記編集処理が行われた編集範囲に対応する部分を無効化するステップと、前記無効化された編集範囲に対して、前記所定間隔で順次取り出した各ブロックについて当該ブロック中のサンプルの最大値と最小値を検出し、表示用データとして第2の記憶手段に記憶する処理と、該第2の記憶手段の表示用データに基づいて表示手段に波形データのグラフィック表示を行う処理とを実行する再表示ステップとを含み、編集指示があったときには、前記第2の記憶手段に表示用データを記憶するステップ、前記波形データのグラフィック表示を行うステップ、および前記再表示ステップの処理よりも、前記編集処理を行うステップおよび前記無効化するステップの処理を優先的に行うことを特徴とする。
【0009】
請求項2に係る発明は、波形データを表示して編集する波形編集方法であって、フォアグラウンドプロセスで、編集指示に応じて波形データの編集処理を行うステップと、バックグラウンドプロセスで、前記編集処理が行われた波形データの表示処理を行うステップとを備え、前記表示処理は、前記編集処理が行われた波形データに対し、該波形データを所定数のサンプル毎のブロックに分け、それらのブロックから所定間隔で順次取り出したブロックについて当該ブロック中のサンプルの最大値と最小値を検出し、表示用データとして記憶するとともに、該表示用データを表示し、さらに前記取り出すブロックの間隔を徐々に狭めて、まず前記波形データに対して第1の間隔で取り出した各ブロック中の最大値と最小値の検出と表示用データの記憶および表示を行い、次に前記波形データに対して第1の間隔より狭めた第2の間隔で取り出した各ブロック中の最大値と最小値の検出と表示用データの記憶および表示を行い、次に前記波形データに対して第2の間隔より狭めた第3の間隔で取り出した各ブロック中の最大値と最小値の検出と表示用データの記憶および表示を行い、…というように処理を進めて、最終的に全ブロックについて処理するものであることを特徴とする。
【0010】
請求項3に係る発明は、請求項1または2に記載の波形編集方法において、前記波形データは、編集対象の波形データを全体表示する表示領域および当該編集対象の波形データのうちの一部分を拡大表示する拡大表示領域に表示され、前記表示用データの作成は、前記拡大表示領域に実際に表示されている範囲を優先的に行うようにしたことを特徴とする。
【0011】
請求項4に係る発明は、請求項1または2に記載の波形編集方法において、前記編集対象の波形データを記憶媒体に保存する際、その波形データに対応する表示用データが完成されていない状態であっても、その波形データに加えて、前記表示用データおよびその作成状況を示す管理データを保存し、次にその波形データが読み出されたときには保存してある表示用データおよび管理データも読み出し、その管理データに基づいて表示用データの作成を継続することを特徴とする。
【0012】
請求項5に係る発明は、請求項4に記載の波形編集方法において、前記波形データに加えて前記表示用データおよびその作成状況を示す管理データを保存した後、表示用データが完成したときには、前記記憶媒体に保存してある表示用データおよび管理データを自動更新することを特徴とする。
【0013】
請求項6に係る発明は、波形データを表示して編集する波形編集装置であって、編集対象の波形データを記憶する第1の記憶手段と、前記編集対象の波形データに対する表示用データを記憶する第2の記憶手段であって、該表示用データは、前記編集対象の波形データを所定数のサンプル毎のブロックに分けた各ブロックの最大値と最小値を表現するデータであるものと、前記波形データ中の範囲を表すアドレス情報と該範囲に対する表示用データの生成状況を表すスキャン状態とを管理データとして記憶する手段と、前記波形データの所定範囲に対する編集指示を受け付ける手段と、受け付けた編集指示に応じて、前記第1の記憶手段に記憶されている波形データの当該範囲に編集処理を施す手段と、前記編集処理を行った範囲に対する前記管理データのスキャン状態を初期状態に設定変更する手段と、前記編集指示の受け付け、前記編集処理、および前記スキャン状態を初期状態に設定変更する処理とは独立のバックグラウンドプロセスで、前記管理データを参照し、スキャン状態が表示用データ作成済みになっていないブロックを探し、表示用データを作成して前記第2の記憶手段に記憶するとともに該表示用データに基づいて表示を行い、その表示用データが作成され記憶され表示された範囲に対する前記管理データのスキャン状態を変更する手段とを備えたことを特徴とする。
【0014】
請求項7に係る発明は、波形データを表示して編集する波形編集装置であって、編集対象の波形データを記憶する第1の記憶手段と、前記編集対象の波形データに対する表示用データを記憶する第2の記憶手段であって、該表示用データは、前記編集対象の波形データを所定数のサンプル毎のブロックに分けた各ブロックの最大値と最小値を表現するデータであるものと、前記波形データ中の範囲を表すアドレス情報と該範囲に対する表示用データの生成状況を表すスキャン状態とを管理データとして記憶する手段であって、前記スキャン状態は、表示用データが未作成であることを示す未スキャン状態、所定数i1おきのブロックの表示用データが作成済みであることを示す第1段階状態、i1より小さい所定数i2おきのブロックの表示用データが作成済みであることを示す第2段階状態、…、in-2より小さい所定数in-1おきのブロックの表示用データが作成済みであることを示す第n−1段階状態、および全ブロックの表示用データが作成済みであることを示す第n段階状態(nは2以上の整数)の何れかの状態をとるものと、前記波形データの所定範囲に対する編集指示を受け付ける手段と、受け付けた編集指示に応じて、前記第1の記憶手段に記憶されている波形データの当該範囲に編集処理を施す手段と、前記編集処理を行った範囲に対する前記管理データのスキャン状態を初期状態である未スキャン状態に初期化する手段と、前記編集指示の受け付け、編集処理、およびスキャン状態の初期化処理とは独立のバックグラウンドプロセスで、前記管理データを参照し、スキャン状態が前記第n段階状態になっていないブロックを探し、あればそのブロックが含まれる範囲の第m段階の範囲について第m段階から第m+1段階に移行するようにその範囲の表示用データを作成して前記第2の記憶手段に記憶するとともに該表示用データに基づいて表示を行い、さらに前記管理データのスキャン状態を変更する手段とを備えたことを特徴とする。
【0015】
請求項8に係る発明は、請求項6または7に記載の波形編集装置において、前記波形データは、編集対象の波形データを全体表示する表示領域および当該編集対象の波形データのうちの一部分を拡大表示する拡大表示領域に表示され、前記表示用データの作成は、前記拡大表示領域に実際に表示されている範囲を優先的に行うようにしたことを特徴とする。
【0016】
請求項9に係る発明は、請求項6または7に記載の波形編集装置において、前記編集対象の波形データを記憶媒体に保存する際、その波形データに対応する表示用データが完成されていない状態であっても、その波形データに加えて、前記表示用データおよび前記管理データを保存する手段をさらに備え、次にその波形データが読み出されたときには保存してある表示用データおよび管理データも読み出し、その管理データに基づいて表示用データの作成を継続することを特徴とする。
【0017】
請求項10に係る発明は、請求項9に記載の波形編集装置において、前記波形データに加えて前記表示用データおよび前記管理データを保存した後、表示用データが完成したときには、前記記憶媒体に保存してある表示用データおよび管理データを自動更新することを特徴とする。
【0018】
【発明の実施の形態】
以下、図面を用いてこの発明の実施の形態を説明する。
【0019】
図1は、本発明に係る波形編集機能を実現するPC(パーソナルコンピュータ)のブロック構成を示す。このPCは、中央処理装置(CPU)101、リードオンリーメモリ(ROM)102、ランダムアクセスメモリ(RAM)103、表示器104、入力装置105、MIDI(Musical Instruments Digital Interface)インターフェイス106、ドライブ107、書き込み回路109、アクセス管理部110、波形メモリ111、音源112、およびサウンドシステム113を備えている。これら各部は、双方向のバスライン114により互いに接続されている。
【0020】
CPU101は、このPC全体の動作を制御する。ROM102は、BIOSなどを格納した記憶装置である。RAM103は、CPU101が実行するプログラムをロードしたり各種バッファ領域を確保する記憶領域である。表示器104は、CPU101の指示に応じて各種のデータを表示する。入力装置105は、ユーザが各種の情報を入力するために用いるキーボードやマウスなどの入力装置である。MIDIインターフェース106は、外部のMIDI機器との間でMIDIデータを授受するためのインターフェースである。ドライブ107は、外部記憶装置のドライブであり、例えばCD−ROMやハードディスクなどの記憶装置108(以下、単にハードディスク108と言う)などが使用される。
【0021】
書き込み回路109は、CPU101からの指示に応じて、外部から入力される所定のサンプリング周波数のデジタル波形データを波形メモリ111に書き込む。音源112は、CPU101からの指示に応じて、波形メモリ111に記憶された波形データに基づき楽音波形データを生成して、サウンドシステム113に出力する。音源112は、複数時分割チャンネル動作を行っているので、複数の楽音波形データを同時に生成することが可能である。アクセス管理部110は、書き込み回路109による波形データの波形メモリ111への書き込みと、音源112による波形データの波形メモリ111からの読み出しと、CPU101による波形メモリ111の波形データの読み書きが衝突しないように、書き込み回路109と音源112とCPU101との波形メモリ111に対するアクセスタイミングを調整する。
【0022】
表示器104は、CPU101からの指示に応じて、様々なグラフィック画面を表示する。表示する画面としては、波形録音、波形エディット、音色選択、音色エディット、およびシステム設定などの画面がある。
【0023】
MIDIインターフェース106には、MIDI鍵盤、MIDIギターなどが接続される。CPU101は、MIDIインターフェース106から入力するMIDIイベントや、シーケンサソフトで発生したMIDIイベントに応じて、音源112の楽音発生状態を制御する。
【0024】
MIDIインターフェース106を介してMIDIのノートオンイベントを受信したときには、以下の処理が行われる。まず、ノートオンをバッファ(RAM103上)に取り込む。次に音源112のチャンネルに発音割り当てする。次に、音源112の割り当てたチャンネルのレジスタに、ノートオンに応じた楽音の発生を制御する制御データを設定する。その制御データの中には、発音に使用する波形データを指定する情報、付与する効果を制御する情報、音量エンベロープを制御する情報などが含まれる。ここで、波形データを指定する情報は、選択されている音色やノートオンの音高に応じて波形データが選択する情報であり、そのアタックスタートATS、ループスタートLPS、およびループエンドLPEの各アドレスが設定される。次に当該チャンネルのレジスタにノートオンを指示する。この指示に応じて該チャンネルの楽音生成がスタートする。
【0025】
図1のPCでは、波形編集プログラムを起動して波形データの編集を行うことができる。図2は、図1のPCで波形編集を行う画面例を示す。
【0026】
波形編集プログラムを起動すると、表示器104に、図2のウインドウ200が表示される。このウインドウ200のFileメニューなどで編集対象の波形データを指定することにより、サブウインドウ201が開き指定された波形データが表示される。図2は、ファイル名abc.wabの波形データを開いてサブウインドウ201に表示した例である。なお、編集対象の波形データは、図1のハードディスク108にあらかじめ保存してあるものである。書き込み回路109を用いて波形メモリ111に録音した波形データをハードディスク108に格納して編集対象とすることもできる。
【0027】
画面下方の領域202は、編集対象の波形データの全体を表示する領域である。領域204は、編集対象の波形データのうち細かく編集を行いたい部分を指定して表示する拡大表示領域である。バー203は、領域202に表示された波形データ全体の中で拡大表示領域204に表示する範囲を示す。すなわち、このバーの左端から右端に対応する波形データの部分が、拡大表示領域204に表示されている。ユーザは、マウスなどのポインティングデバイス(以下、単にマウスと言う)によりバー203を左右に移動させ、拡大表示領域204に表示する範囲を任意に指定できる。反転領域205は、ユーザがマウスでドラッグすることにより選択した範囲であり、この選択区間の波形データに対して各種の編集(例えば、時間軸に関する反転、波形データの符号の反転、フェードイン、フェードアウトなどの処理)を行うことができる。
【0028】
図2の拡大表示領域204上で波形を編集すると、編集結果を表示するために波形データがスキャンされて再表示される。本実施の形態の波形編集プログラムでは、波形のスキャンが完全に終了していないときにも、大雑把に波形を表示し、その時点でも次の編集が可能である。これは波形のスキャン処理を、編集処理とは別プロセスとしてバックグラウンドで行うことにより実現する。また、スキャン処理を行っている途中で編集が行われたときには、編集が行われた波形データの区間を未スキャン部として登録し後で再スキャンする。したがって、スキャン途中で何度編集を行ったとしても、無駄なスキャンを行うことなく、最終的には正しい表示用データで表示がなされる。
【0029】
図3は、波形データに対して編集を行ったときの全体表示領域202あるいは拡大表示領域204における画面表示の例を示す。編集を行ったことにより矢印301の位置から後の波形データが変更されたものとする。このとき表示データも変更する必要があるが、本実施の形態では段階的にスキャンおよび表示を行う。すなわち、初めは波形データの全ブロックをスキャン(ブロック中の波形サンプルデータの正と負のピーク値を検出)するのではなく、302に示すように複数ブロックおきに飛び飛びに取り出したブロックについてスキャンを行い、その結果を表示データとして表示する。スキャンするブロックの間隔を徐々に狭めていき、途中結果も表示しながら、最終的には全ブロックのスキャンを行い表示する。
【0030】
図4は、編集後の表示の変化の例である。始めに、大きな間隔おきに取り出したブロックをスキャンすることにより▲1▼のような表示を行い、次に徐々にブロックの間隔を狭めて取り出したブロックをスキャンすることにより▲2▼のような表示を行い、最終的には全ブロックでスキャンすることにより▲3▼のような表示とする。以上のようなスキャンおよび表示の処理は、バックグラウンドプロセスで実行する。
【0031】
さらに、本実施の形態の波形編集プログラムでは、波形のスキャン途中で保存の指示が来た場合、波形データのどの範囲でどの段階までのスキャンが済んでいる(あるいは済んでいない)かを示す情報(後述する管理データ)を、波形データとともに保存し、次にこの波形データが読み出されたときには前回の続きからスキャンする。これにより、処理時間を節約できる。さらに、スキャンを行う際、拡大表示領域204に表示されている範囲を優先して行うので、ユーザが見たい部分が先にスキャンされ表示される。
【0032】
図5は、本実施の形態の波形編集プログラム(波形エディタ)のメインルーチンを示す。ステップ501で、各種の領域の初期化を行う。次にステップ502で、波形データの編集に関する何らかの操作があったか否か判定する。操作があったときは、ステップ503で、その操作に応じた処理をフォアグラウンドプロセスとして実行する。ステップ502で操作がなかったとき、あるいはステップ503の処理の後、ステップ504でバックグラウンドプロセスを実行し、再びステップ502に戻る。
【0033】
波形データの各種の編集操作に応じた編集処理は、ステップ503のフォアグラウンドプロセスで実行される。このとき、その編集処理に応じて表示用データも書き替える必要があるが、表示用データの作成更新はステップ504のバックグラウンドプロセスで、フォアグラウンドプロセスが実行されていない空き時間で、実行される。したがって、フォアグラウンドプロセス503で編集処理を行い、その編集に関してバックグラウンドプロセス504で表示用データを作成している途中であっても、次の編集操作が入力可能である。
【0034】
なお、バックグラウンドプロセス505は、フォアグラウンドプロセス503の処理が所定時間以上かかるときに途中でバックグラウンドプロセス504と同じ処理を実行するためのものである。これにより、フォアグラウンドプロセス503の処理時間が長いときでも、表示の実行が止まってしまうことがなくなる。
【0035】
図6は、フォアグラウンドプロセスおよびバックグラウンドプロセスの処理のタイミングを説明するタイミング説明図である。時間軸600に沿って矢印601あるいは602のようなタイミングで編集操作が行われたものとする。編集操作601に応じて、波形データに対する編集処理が、フォアグラウンドプロセスFAで実行される。この編集処理に応じてバックグラウンドプロセスA,B,Cなどにより表示用波形データを生成し段階的な波形データの表示を行う。
【0036】
図7は、編集対象である波形ファイルの構造を示す。図7(a)に示すように編集対象の波形ファイルは、補助データ702と波形データ701とからなる。波形データ701は、編集対象の波形サンプルデータそのものである。補助データ702は、図7(b)に示すように、管理データ711、表示用データ712、およびその他データ713からなる。管理データ711は、図7(c)に示すように、アドレス情報とスキャン状態との組データを並べたものである。アドレス情報は、波形データ701中の位置を示す。スキャン状態は、対応するアドレス情報の位置からの波形データのスキャンの状態を示す。スキャン状態については後に詳しく説明する。
【0037】
図8は、波形データのアドレスおよび表示用データ取得ブロックのアドレスの構造説明図である。801に示すように、波形データのアドレスは28ビットデータで構成される。これにより最大256Mワードの波形データをアドレッシングでき、サンプリング周波数FSが50kHzで1.5時間分程度の波形データを処理可能である。表示用データのスキャンの1ブロックの大きさは256サンプルとする。したがって、波形データのアドレスの下位8ビットはスキャンの際には不要なデータである。
【0038】
表示用データを取得するブロックを指すためのアドレスは、スキャンを行った範囲を示すためのアドレス表現であり、802に示すように、波形データのアドレスの下位8ビットを切り捨てた形式(20ビット)で表現される。20ビットであるので第0ブロックから第1,048,575ブロックまで指すことができる。上述した図7(c)の管理データで用いる「アドレス情報」は、ブロックを指すアドレスであり、802の表現形式である。
【0039】
波形データが未だスキャンされていないときは、821に示すようにNULLが設定されている。第1段階のスキャン(2048ブロック毎のスキャン)が終わった範囲を表すときは、上位9ビット(波形データのアドレス28ビットのうちの最上位から9ビット分)にその下位11ビットは0としたアドレス822が使用される。スキャンするブロックを特定する20ビットのうちの下位11ビットは常に0なので、例えば上記の上位9ビットでカウントアップしていけば2048ブロック毎の飛び飛びのブロックを次々に指していける。1つのブロックのスキャンについては、アドレス822の下位側に8ビット分の領域825を付加し、この領域825を0から255までカウントアップすることにより1ブロック内の256サンプルをスキャンできる。
【0040】
第2段階のスキャン(64ブロック毎のスキャン)が終わった範囲を表すときは、上位14ビット(波形データのアドレス28ビットのうちの最上位から14ビット分)にその下位6ビットは0としたアドレス823が使用される。スキャンするブロックを特定する20ビットのうちの下位6ビットは常に0なので、例えば上記の上位14ビットでカウントアップしていけば64ブロック毎の飛び飛びのブロックを次々に指していける。1つのブロックの256サンプルのスキャンについては、上記と同様に下位側に8ビット分の領域を付加して行えばよい。
【0041】
第3段階のスキャン(全ブロックのスキャン)が終わった範囲を表すときは、20ビット(波形データのアドレス28ビットのうちの最上位から20ビット分)アドレス824が使用される。スキャンするブロックを特定する20ビットの全部を使用するので、第0ブロックから第1,048,575ブロックまでの全ブロックを次々に指していける。1つのブロックの256サンプルのスキャンについては、上記と同様に下位側に8ビット分の領域を付加して行えばよい。
【0042】
図9は、波形データスキャン途中の状態例を示す。900は編集対象の波形データを示し、図7(a)の波形データ701に相当する。STはスキャンの進行の度合いあるいは状態を示すインジケータであり、STが0のとき未スキャン、STが1のとき第1段階のスキャン、STが2のとき第2段階のスキャン、STが3のとき第3段階のスキャン、がそれぞれ終了した範囲であることを示す。図9の例では、波形データの先頭位置901から位置902の区間がST=3であり、第3段階のスキャンまで終了していることを示している。同様に、位置902から位置903の区間はST=0で未スキャン状態、位置903から位置904の区間はST=2で第2段階のスキャンまで終了している状態、位置904から位置905の区間はST=1で第1段階のスキャンまで終了している状態、位置905から波形データの末尾位置906の区間はST=3で第3段階のスキャンまで終了している状態であることを示している。
【0043】
このような波形データの各区間のスキャン状態の管理は、図7(c)の管理データで行う。すなわち、図7(c)の管理データの「アドレス情報」に図9の901〜905のような波形データ内の位置を設定し、対応する「スキャン状態」にその位置からのSTの値を設定して管理する。具体的に図9の状態は、図7(c)の管理データの「アドレス情報1」に図9の位置901のアドレスを設定し「スキャン状態1」にSTの値である3を設定し、続いて「アドレス情報2」に位置902のアドレスを設定し「スキャン状態2」にSTの値0を設定し、「アドレス情報3」に位置903のアドレスを設定し「スキャン状態3」にSTの値2を設定し、…というようにして表現される。
【0044】
図10(a)は、バックグラウンドプロセス(図5のステップ504,505)で行うスキャン処理のフローチャート図である。ステップ1001で管理データを参照することにより編集対象の波形データの全範囲がST=3に設定されているか否か判定する。全範囲ST=3であればスキャンが第3段階まで終了しているということだから、そのまま処理を終了する。ST=3でない区間があるときは、ステップ1002でST=3でないブロックの中から今回スキャンするブロックを決定し、ステップ1003で当該ブロックをスキャンし表示用データを生成変更する。ステップ1004でそのスキャン結果に応じて表示画面を更新し、ステップ1005で管理データを更新して、処理を終了する。
【0045】
図10(b)は、スキャン処理の進行による管理データの変化の様子を示す。▲1▼で波形データのある範囲がST=0で未スキャン状態であったとする。▲2▼でこの範囲の先頭から第1段階のスキャン処理を行う。スキャン処理が進行した範囲がST=1となっている。▲3▼でこの全範囲がST=1の状態となり、その次に▲4▼で第2段階のスキャン処理を進行させST=2の状態に移行させている。この全範囲がST=2になった後、同様にして第3段階のスキャン処理を進行させ、最終的に全範囲がST=3の状態になるようにする。
【0046】
なお、ステップ1002〜1005の処理は1ブロックずつ行うものとする。複数ブロックについてまとめてステップ1002〜1005の処理を行うと、バックグラウンド処理に1回入ったときの処理時間がかかるためである。当然、CPUの処理能力が高い場合は、複数ブロックについての処理を行うようにしてもよい。また、ステップ1002でスキャンするブロックを決定する際には、まず拡大表示領域204に表示されている範囲を優先的にスキャンするようにする。これにより、ユーザが編集対象として注目している範囲が先にスキャンされる。
【0047】
図11は、ユーザの操作に応じたフォアグラウンドプロセス(図5のステップ503)の処理の1つである読み込み指示イベントの処理ルーチンを示す。ユーザが図2の画面で編集する波形ファイルを指定して読み込み指示したとき、図11の処理が実行される。ステップ1101で、ユーザが指示した波形ファイル名に応じて波形ファイルを検出する。その波形ファイルから、ステップ1102で波形データ(図7(a)の701)を読み込み、ステップ1103で表示用データ(図7(b)の712)を読み込み、ステップ1104で管理データ(図7(b)の711、図7(c))を読み込み、ステップ1105でその他データ(図7(b)の713)を読み込む。これらの読み込みとは、データをRAM103上の所定のバッファに読み込むことである。ステップ1106で、波形データ、表示用データ、および管理データに基づいて、図2で説明したような波形グラフィック表示を行い、処理を終了する。
【0048】
なお、ステップ1106の表示は、読み込んだ表示用データに基づく表示を行うだけである。読み込んだ表示用データが、波形の全範囲について第3段階までのスキャンが終了していないものであっても、その時点の表示用データで(例えば図3のように)表示を行い、ステップ1106を終える。その後は、バックグラウンドプロセスで実行される図10(a)の処理でスキャンが進み、最終的には全ブロックのスキャンが実行されて正確な表示用データで表示されることになる。
【0049】
図12は、フォアグラウンドプロセスの処理の1つであるエディット指示イベントの処理ルーチンを示す。ユーザが図2の画面で波形データの範囲を指定して何らかの編集指示操作を行うと、図12の処理が実行される。ステップ1201で、指定された範囲の波形データに、指定された編集(エディット)処理を施す。次にステップ1202で、当該範囲のスキャン状態をST=0に変更して、処理終了する。これ以後は、バックグラウンドプロセスで実行される図10(a)の処理でスキャンおよび表示が実行される。ステップ1202ではST=0をセットするだけで処理終了し、スキャンおよび表示はバックグラウンドプロセスに任されるので、編集された範囲に対してスキャンが行われる前でも再度の編集処理を施すことができる。
【0050】
図13は、フォアグラウンドプロセスの処理の1つである書き込み指示イベントの処理ルーチンを示す。ユーザが図2の画面で編集対象の波形データの保存を指示したとき、図13の処理が実行される。ステップ1301で、書き込む波形ファイルのファイル名を決定する。次にステップ1302で波形データを書き込み、ステップ1303で表示用データを書き込み、ステップ1304で管理データを書き込み、ステップ1305でその他データを書き込み、処理を終了する。書き込みは、任意の記憶媒体に対する書き込みである。全範囲第3段階までのスキャンが終了していない波形データであっても、管理データおよび表示用データとともに保存されるので、次に読み込んだときには保存したときの状態からスキャンを再開でき処理時間が節約できる。
【0051】
なお、上記実施の形態において、スキャン途中に保存の指示が来たとき、スキャン中の表示用データと管理データとを波形データとともに保存しているが、さらにその後、スキャンが完了したときに記憶媒体に記憶された表示用データおよび管理データを完成した表示用データおよび管理データで自動更新するようにしても良い。
【0052】
【発明の効果】
以上説明したように、この発明によれば、波形データを編集する際、表示用データを作成するスキャンの途中であっても待たされることなく波形データの編集を行うことができる。その一方、表示途中で編集を行ったとしても、必ず最終的には編集結果に基づいた正確な表示用データを作成して表示することができる。また波形データの保存の際には、表示用データと管理データも保存し、再び読み出した場合に継続して表示用データの作成を行えるので、表示用データの作成時間を節約することができる。さらに、表示されている部分の表示データ作成を優先的に行うので、ユーザの興味のある部分を先に詳しく見ることができる
【図面の簡単な説明】
【図1】本発明に係る波形編集機能を実現するPC(パーソナルコンピュータ)のブロック構成図
【図2】波形編集を行う画面例を示す図
【図3】波形データに対して編集を行ったときの表示画面例図
【図4】編集後の表示の変化の例を示す図
【図5】波形編集プログラム(波形エディタ)のメインルーチンのフローチャート図
【図6】フォアグラウンドプロセスおよびバックグラウンドプロセスの処理のタイミングを説明するタイミング説明図
【図7】波形ファイルの構造を示す図
【図8】波形データのアドレスおよび表示用データ取得ブロックのアドレスの構造説明図
【図9】波形データスキャン途中の状態例を示す図
【図10】スキャン処理のフローチャートおよび管理データの変化を示す図
【図11】読み込み指示イベントの処理ルーチンのフローチャート図
【図12】エディット指示イベントの処理ルーチンのフローチャート図
【図13】書き込み指示イベントの処理ルーチンのフローチャート図
【符号の説明】
101…CPU(中央処理装置)、102…リード・オンリ・メモリ(ROM)、103…ランダム・アクセス・メモリ(RAM)、104…表示器、105…入力装置、106…MIDIインターフェース、107…ドライブ装置、108…CD−ROMやハードディスクなど、109…書き込み回路、110…アクセス管理部、111…波形メモリ、112…音源、113…サウンドシステム、114…バスライン。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a waveform editing method and apparatus for editing waveform data such as musical sounds.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, a waveform editing apparatus that displays and edits (edits) recorded waveform data or waveform data read from a storage medium is known. In the waveform editing apparatus, the waveform data to be edited is displayed on the waveform editing screen and edited. The waveform data that has been edited is stored in a waveform memory or a storage medium.
[0003]
As a waveform data display method in a conventional waveform editing device, a predetermined number of samples are made into one block, and positive and negative peak values of the waveform data are detected for each block and used as display data. There is an example in which the processing speed when the waveform is contracted and displayed is improved by displaying. In order to generate and display the display data, it is necessary to read the waveform data to be edited and obtain the peak value of the waveform data for each block as described above (hereinafter referred to as scanning).
[0004]
[Problems to be solved by the invention]
By the way, when editing waveform data, you may want to perform editing processing before the waveform is displayed neatly on the editing screen, such as filtering the waveform or cutting the silence. Editing work could not be done until this process was completed. In addition, when editing processing is performed during scanning, there is a problem of how to manage display data.
[0005]
Also, if the “Save” process is performed immediately after editing the waveform data, the scan has not been completed and the display data has not yet been obtained. The data is not saved with the waveform data. Therefore, the next time the waveform data is read from the waveform memory or storage medium, the waveform data must be scanned again from the beginning in order to generate display data.
[0006]
Furthermore, since the scan for creating display data is performed on the entire waveform data, it takes time until the display data is completed and displayed neatly when the waveform data is large (long in time). There was a problem. In addition, since the entire waveform is displayed in order from the top, there is a case where the portion that the user wants to see is not easily displayed.
[0007]
In view of the above-mentioned problems in the prior art, the present invention can edit waveform data without waiting even when it is in the middle of a scan for creating display data when editing waveform data. In the end, you can always create and display accurate display data, save the scan time when waveform data is saved and read again, and further detail the parts that the user is interested in first. It is an object to provide a waveform editing method and apparatus that can be seen.
[0008]
[Means for Solving the Problems]
In order to achieve this object, the invention according to claim 1 is a waveform editing method for displaying and editing waveform data, the step of storing the waveform data to be edited in a first storage means, and the waveform data Was divided into blocks for each predetermined number of samples, and the blocks were sequentially taken out at predetermined intervals. each block About the sample in the block Detecting a maximum value and a minimum value of the second storage means and storing them in the second storage means as display data; and performing graphic display of the waveform data on the display means based on the display data in the second storage means; Performing an editing process of the waveform data stored in the first storage means in response to an editing instruction; Of the display data stored in the second storage means, a portion corresponding to the editing range in which the editing processing has been performed Step to disable and Processing for detecting the maximum value and the minimum value of the samples in each block sequentially taken out at the predetermined interval with respect to the invalidated editing range, and storing them in the second storage means as display data And a re-display step of executing a graphic display of the waveform data on the display means based on the display data of the second storage means Including When there is an editing instruction, the step of storing the display data in the second storage means, the step of performing graphic display of the waveform data, and the process of the redisplay step, Performing the editing process and the invalidating step Processing Preferentially Do It is characterized by that.
[0009]
The invention according to claim 2 is a waveform editing method for displaying and editing waveform data, the step of performing waveform data editing processing according to an editing instruction in a foreground process, and the editing processing in a background process A step of performing display processing of the waveform data that has been performed, and the display processing divides the waveform data into blocks of a predetermined number of samples with respect to the waveform data subjected to the editing processing, and the blocks Sequentially taken out at predetermined intervals each block About the sample in the block The maximum and minimum values are detected and stored as display data, the display data is displayed, and the intervals between the blocks to be taken out are gradually reduced. First, the maximum value and the minimum value in each block taken out at a first interval with respect to the waveform data are detected, display data is stored and displayed, and then the waveform data is determined from the first interval. The maximum value and the minimum value in each block taken out at the narrowed second interval are detected, display data is stored and displayed, and then the waveform data is a third interval narrower than the second interval. Detect the maximum and minimum values in each block retrieved in step 1, store and display the display data, and proceed with the process Finally, all blocks are processed.
[0010]
The invention according to claim 3 is the waveform editing method according to claim 1 or 2, The waveform data is displayed in a display area for displaying the entire waveform data to be edited and an enlarged display area for enlarging and displaying a part of the waveform data to be edited. The creation of the display data is as follows: In the enlarged display area It is characterized in that the actual displayed range is given priority.
[0011]
The invention according to claim 4 is the waveform editing method according to claim 1 or 2, wherein the display data corresponding to the waveform data is not completed when the waveform data to be edited is stored in a storage medium. However, in addition to the waveform data, the display data and management data indicating the creation status thereof are stored, and when the waveform data is read next time, the display data and management data stored are also stored. It is characterized in that the creation of display data is continued based on the read data.
[0012]
The invention according to claim 5 is the waveform editing method according to claim 4, wherein after the display data and management data indicating the creation status thereof are stored in addition to the waveform data, when the display data is completed, The display data and management data stored in the storage medium are automatically updated.
[0013]
The invention according to claim 6 is a waveform editing apparatus for displaying and editing waveform data, wherein the first storage means for storing the waveform data to be edited and the display data for the waveform data to be edited are stored. Second display means, wherein the display data is data representing a maximum value and a minimum value of each block obtained by dividing the waveform data to be edited into blocks of a predetermined number of samples; Means for storing address information representing a range in the waveform data and a scan state representing a generation state of display data for the range as management data; means for receiving an editing instruction for a predetermined range of the waveform data; In response to an editing instruction, means for performing an editing process on the range of the waveform data stored in the first storage means, Means for setting change the scanning condition of the management data in the initial state, reception of the editing instruction, Said Editing process, and Said Scan status To the initial state setting change Do In a background process independent of processing, the management data is referred to, a block whose scan state is not already created for display data is searched, display data is created and stored in the second storage means Display based on the display data, For the range where the display data is created, stored and displayed Means for changing the scan state of the management data.
[0014]
The invention according to claim 7 is a waveform editing apparatus for displaying and editing waveform data, wherein the first storage means for storing the waveform data to be edited and the display data for the waveform data to be edited are stored. Second display means, wherein the display data is data representing a maximum value and a minimum value of each block obtained by dividing the waveform data to be edited into blocks of a predetermined number of samples; Means for storing, as management data, address information representing a range in the waveform data and a scan state representing a generation state of display data for the range, wherein the display data is not created A first stage state indicating that display data for a block every predetermined number i1 has been created, a display data for a block every predetermined number i2 smaller than i1 A second stage state indicating that the data has been created,..., An n-1 stage stage state indicating that display data for every predetermined number in-1 less than in-2 has been created, and all Means for taking any state of the n-th stage state (n is an integer of 2 or more) indicating that the display data of the block has been created, means for receiving an editing instruction for a predetermined range of the waveform data, and receiving In response to the editing instruction, means for performing an editing process on the range of the waveform data stored in the first storage means, and a scan state of the management data for the range subjected to the editing process are in an initial state The management data is referred to and scanned in a background process that is independent of the means for initializing to the unscanned state, accepting the editing instruction, editing processing, and scanning state initialization processing. If the block is not in the n-th stage, the display data in the range is moved so that the m-th range of the range including the block is shifted from the m-th stage to the (m + 1) -th stage. And a means for displaying the data based on the display data and changing the scan state of the management data.
[0015]
The invention according to claim 8 is the waveform editing apparatus according to claim 6 or 7, The waveform data is displayed in a display area for displaying the entire waveform data to be edited and an enlarged display area for enlarging and displaying a part of the waveform data to be edited. The creation of the display data is as follows: In the enlarged display area It is characterized in that the actual displayed range is given priority.
[0016]
The invention according to claim 9 is the waveform editing apparatus according to claim 6 or 7, wherein the display data corresponding to the waveform data is not completed when the waveform data to be edited is stored in a storage medium. However, in addition to the waveform data, it further comprises means for storing the display data and the management data, and when the waveform data is next read, the display data and management data stored are also stored. It is characterized in that the creation of display data is continued based on the read data.
[0017]
According to a tenth aspect of the present invention, in the waveform editing apparatus according to the ninth aspect, after the display data and the management data are stored in addition to the waveform data, the display medium is stored in the storage medium when the display data is completed. The stored display data and management data are automatically updated.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[0019]
FIG. 1 shows a block configuration of a personal computer (PC) that realizes a waveform editing function according to the present invention. This PC includes a central processing unit (CPU) 101, a read only memory (ROM) 102, a random access memory (RAM) 103, a display 104, an input device 105, a MIDI (Musical Instruments Digital Interface) interface 106, a drive 107, a writing A circuit 109, an access management unit 110, a waveform memory 111, a sound source 112, and a sound system 113 are provided. These units are connected to each other by a bidirectional bus line 114.
[0020]
The CPU 101 controls the operation of the entire PC. The ROM 102 is a storage device that stores a BIOS and the like. The RAM 103 is a storage area for loading a program executed by the CPU 101 and securing various buffer areas. The display device 104 displays various data according to instructions from the CPU 101. The input device 105 is an input device such as a keyboard and a mouse used for a user to input various types of information. The MIDI interface 106 is an interface for exchanging MIDI data with an external MIDI device. The drive 107 is a drive of an external storage device, and for example, a storage device 108 (hereinafter simply referred to as the hard disk 108) such as a CD-ROM or a hard disk is used.
[0021]
The writing circuit 109 writes digital waveform data having a predetermined sampling frequency input from the outside into the waveform memory 111 in accordance with an instruction from the CPU 101. The sound source 112 generates musical sound waveform data based on the waveform data stored in the waveform memory 111 in accordance with an instruction from the CPU 101, and outputs it to the sound system 113. Since the sound source 112 performs a plurality of time division channel operations, it is possible to simultaneously generate a plurality of musical sound waveform data. The access management unit 110 prevents the writing of waveform data to the waveform memory 111 by the writing circuit 109, reading of the waveform data from the waveform memory 111 by the sound source 112, and reading / writing of the waveform data in the waveform memory 111 by the CPU 101 from each other. Then, the access timing to the waveform memory 111 by the writing circuit 109, the sound source 112, and the CPU 101 is adjusted.
[0022]
The display device 104 displays various graphic screens according to instructions from the CPU 101. Screens to be displayed include screens such as waveform recording, waveform editing, tone color selection, tone color editing, and system setting.
[0023]
A MIDI keyboard, a MIDI guitar, and the like are connected to the MIDI interface 106. The CPU 101 controls the tone generation state of the sound source 112 in accordance with a MIDI event input from the MIDI interface 106 or a MIDI event generated by sequencer software.
[0024]
When a MIDI note-on event is received via the MIDI interface 106, the following processing is performed. First, note-on is taken into the buffer (on the RAM 103). Next, sound generation is assigned to the channel of the sound source 112. Next, control data for controlling the generation of a musical sound according to note-on is set in the register of the channel to which the sound source 112 is assigned. The control data includes information for specifying waveform data used for sound generation, information for controlling the effect to be applied, information for controlling the volume envelope, and the like. Here, the information specifying the waveform data is information selected by the waveform data in accordance with the selected tone color and note-on pitch, and each address of the attack start ATS, loop start LPS, and loop end LPE. Is set. Next, note-on is instructed to the register of the channel. In response to this instruction, tone generation for the channel starts.
[0025]
In the PC of FIG. 1, waveform data can be edited by starting a waveform editing program. FIG. 2 shows an example of a screen for performing waveform editing on the PC of FIG.
[0026]
When the waveform editing program is activated, the window 200 of FIG. By designating the waveform data to be edited using the File menu of this window 200, the sub-window 201 is opened and the designated waveform data is displayed. FIG. 2 shows an example in which the waveform data having the file name abc.wab is opened and displayed in the sub window 201. The waveform data to be edited is stored in advance on the hard disk 108 in FIG. The waveform data recorded in the waveform memory 111 by using the writing circuit 109 can be stored in the hard disk 108 for editing.
[0027]
An area 202 at the bottom of the screen is an area for displaying the entire waveform data to be edited. An area 204 is an enlarged display area for designating and displaying a portion to be finely edited in the waveform data to be edited. A bar 203 indicates a range to be displayed in the enlarged display area 204 in the entire waveform data displayed in the area 202. That is, the portion of the waveform data corresponding to the left end to the right end of this bar is displayed in the enlarged display area 204. The user can arbitrarily designate a range to be displayed in the enlarged display area 204 by moving the bar 203 left and right with a pointing device such as a mouse (hereinafter simply referred to as a mouse). The inversion area 205 is a range selected by the user dragging with the mouse, and various edits (for example, inversion with respect to the time axis, inversion of the sign of the waveform data, fade-in, fade-out) are performed on the waveform data in the selected section. Etc.) can be performed.
[0028]
When the waveform is edited on the enlarged display area 204 of FIG. 2, the waveform data is scanned and displayed again to display the editing result. In the waveform editing program of this embodiment, even when the waveform scan is not completely completed, the waveform is roughly displayed, and the next editing can be performed at that time. This is realized by performing the waveform scanning process in the background as a separate process from the editing process. When editing is performed during the scanning process, the edited waveform data section is registered as an unscanned portion and rescanned later. Accordingly, no matter how many times editing is performed during scanning, the display is finally performed with correct display data without performing unnecessary scanning.
[0029]
FIG. 3 shows an example of screen display in the entire display area 202 or the enlarged display area 204 when the waveform data is edited. It is assumed that the waveform data after the position of the arrow 301 has been changed due to the editing. At this time, the display data also needs to be changed, but in this embodiment, scanning and display are performed step by step. That is, at first, instead of scanning all blocks of waveform data (detecting positive and negative peak values of waveform sample data in the block), as shown at 302, scanning is performed for blocks extracted every other block. The result is displayed as display data. The interval between the blocks to be scanned is gradually narrowed, and the intermediate results are displayed, and finally all the blocks are scanned and displayed.
[0030]
FIG. 4 is an example of a change in display after editing. First, the display as shown in (1) is performed by scanning the blocks taken out at large intervals, and then the display as shown in (2) is performed by gradually reducing the block intervals and scanning the extracted blocks. Finally, scanning is performed for all blocks, and the display as shown in (3) is obtained. The scanning and display processes as described above are executed as a background process.
[0031]
Furthermore, in the waveform editing program of the present embodiment, when a save instruction is issued during waveform scanning, information indicating which range of waveform data has been scanned up to which level (or has not been completed) (Management data to be described later) is stored together with the waveform data, and the next time this waveform data is read, scanning is continued from the previous time. Thereby, processing time can be saved. Furthermore, since the range displayed in the enlarged display area 204 is given priority when scanning, the part that the user wants to see is scanned and displayed first.
[0032]
FIG. 5 shows the main routine of the waveform editing program (waveform editor) of the present embodiment. In step 501, various areas are initialized. Next, in step 502, it is determined whether or not there has been any operation related to editing of waveform data. When there is an operation, in step 503, processing corresponding to the operation is executed as a foreground process. When there is no operation in step 502 or after the processing in step 503, a background process is executed in step 504, and the process returns to step 502 again.
[0033]
Editing processing corresponding to various editing operations of waveform data is executed in the foreground process in step 503. At this time, it is necessary to rewrite the display data in accordance with the editing process. However, the creation and update of the display data is performed in the background process in step 504 in a free time during which the foreground process is not performed. Therefore, even when editing processing is performed in the foreground process 503 and display data is being created in the background process 504 regarding the editing, the next editing operation can be input.
[0034]
The background process 505 is for executing the same process as the background process 504 in the middle when the process of the foreground process 503 takes a predetermined time or more. Thereby, even when the processing time of the foreground process 503 is long, the execution of display is not stopped.
[0035]
FIG. 6 is a timing explanatory diagram illustrating processing timings of the foreground process and the background process. It is assumed that an editing operation is performed along the time axis 600 at a timing as indicated by an arrow 601 or 602. In response to the editing operation 601, editing processing for waveform data is executed by the foreground process FA. In response to this editing process, display waveform data is generated by the background processes A, B, C, etc., and the waveform data is displayed in stages.
[0036]
FIG. 7 shows the structure of a waveform file to be edited. As shown in FIG. 7A, the waveform file to be edited is composed of auxiliary data 702 and waveform data 701. The waveform data 701 is the waveform sample data itself to be edited. As shown in FIG. 7B, the auxiliary data 702 includes management data 711, display data 712, and other data 713. As shown in FIG. 7C, the management data 711 is a combination of address information and scan state data. The address information indicates a position in the waveform data 701. The scan state indicates the scan state of the waveform data from the corresponding address information position. The scan state will be described in detail later.
[0037]
FIG. 8 is an explanatory diagram of the structure of the waveform data address and the display data acquisition block address. As shown at 801, the address of the waveform data is composed of 28-bit data. As a result, waveform data of up to 256 M words can be addressed, and waveform data of about 1.5 hours can be processed at a sampling frequency FS of 50 kHz. The size of one block of display data scan is 256 samples. Therefore, the lower 8 bits of the waveform data address are unnecessary data at the time of scanning.
[0038]
The address for indicating the block from which the display data is acquired is an address expression for indicating the scanned range. As shown at 802, the lower 8 bits of the waveform data address are truncated (20 bits). It is expressed by Since it is 20 bits, it can point from the 0th block to the 1,048,575 block. The “address information” used in the management data of FIG. 7C described above is an address indicating a block, and has an expression format 802.
[0039]
When the waveform data has not been scanned yet, NULL is set as indicated by 821. When the first stage scan (scan for each 2048 block) is represented, the upper 9 bits (9 bits from the most significant 28 bits of the waveform data address) are set to 0 in the lower 11 bits. Address 822 is used. Since the lower 11 bits of the 20 bits that specify the block to be scanned are always 0, for example, if counting up with the upper 9 bits, the skipped blocks for each 2048 block can be pointed out one after another. For scanning one block, an 8-bit area 825 is added to the lower side of the address 822, and 256 areas in one block can be scanned by counting this area 825 from 0 to 255.
[0040]
When the range of the second stage scan (scan for every 64 blocks) is expressed, the upper 14 bits (14 bits from the most significant 28 bits of the waveform data address) and the lower 6 bits are set to 0. Address 823 is used. Since the lower 6 bits of the 20 bits that specify the block to be scanned are always 0, for example, if the upper 14 bits are counted up, the skipped blocks of every 64 blocks can be pointed out one after another. Scanning 256 samples of one block may be performed by adding an area of 8 bits on the lower side as described above.
[0041]
When representing the range where the third-stage scan (scan of all blocks) is completed, an address 824 of 20 bits (20 bits from the most significant 28 bits of the waveform data address) is used. Since all 20 bits specifying the block to be scanned are used, all blocks from the 0th block to the 1,048,575 block can be pointed to one after another. Scanning 256 samples of one block may be performed by adding an area of 8 bits on the lower side as described above.
[0042]
FIG. 9 shows an example of a state during waveform data scanning. Reference numeral 900 denotes waveform data to be edited, which corresponds to the waveform data 701 in FIG. ST is an indicator showing the progress or state of the scan. When ST is 0, it is not scanned, when ST is 1, the first stage scan, when ST is 2, the second stage scan, and when ST is 3. It indicates that each of the third stage scans has been completed. In the example of FIG. 9, the section from the top position 901 to the position 902 of the waveform data is ST = 3, indicating that the scanning up to the third stage has been completed. Similarly, the section from position 902 to position 903 is ST = 0 and is in an unscanned state, the section from position 903 to position 904 is the state from ST = 2 to the end of the second scan, and the section from position 904 to position 905 Indicates that ST = 1 and the first stage scan has been completed, and the section from the position 905 to the end position 906 of the waveform data is ST = 3 and the third stage scan has been completed. Yes.
[0043]
The management of the scan state of each section of the waveform data is performed using the management data shown in FIG. That is, the position in the waveform data such as 901 to 905 in FIG. 9 is set in the “address information” of the management data in FIG. 7C, and the ST value from that position is set in the corresponding “scan state”. And manage. Specifically, in the state of FIG. 9, the address of the position 901 in FIG. 9 is set in the “address information 1” of the management data in FIG. 7C, and the ST value 3 is set in the “scan state 1”. Subsequently, the address of the position 902 is set in the “address information 2”, the ST value 0 is set in the “scan state 2”, the address of the position 903 is set in the “address information 3”, and the ST in the “scan state 3” is set. Value 2 is set, and so on.
[0044]
FIG. 10A is a flowchart of scan processing performed in the background process (steps 504 and 505 in FIG. 5). In step 1001, it is determined whether or not the entire range of the waveform data to be edited is set to ST = 3 by referring to the management data. If the entire range ST = 3, it means that the scan has been completed up to the third stage, so the processing is terminated as it is. If there is a section that is not ST = 3, a block to be scanned this time is determined from the blocks that are not ST = 3 in step 1002, and the block is scanned in step 1003 to generate and change display data. In step 1004, the display screen is updated according to the scan result. In step 1005, the management data is updated, and the process ends.
[0045]
FIG. 10B shows how the management data changes as the scan process progresses. In (1), it is assumed that a certain range of waveform data is ST = 0 and an unscanned state. In step (2), the first-stage scan processing is performed from the beginning of this range. The range in which the scanning process has progressed is ST = 1. In (3), this entire range is in the state of ST = 1, and then in (4), the second stage scanning process is advanced to shift to the state of ST = 2. After the entire range becomes ST = 2, the third-stage scan processing is similarly performed so that the entire range is finally in the state of ST = 3.
[0046]
Note that the processing in steps 1002 to 1005 is performed block by block. This is because, if the processing of steps 1002 to 1005 is performed for a plurality of blocks, it takes time to enter the background processing once. Of course, when the processing capability of the CPU is high, processing for a plurality of blocks may be performed. When determining the block to be scanned in step 1002, first, the range displayed in the enlarged display area 204 is preferentially scanned. As a result, the range that the user is paying attention to as the editing target is scanned first.
[0047]
FIG. 11 shows a processing routine for a read instruction event, which is one of the processes of the foreground process (step 503 in FIG. 5) according to the user's operation. When the user designates and reads a waveform file to be edited on the screen of FIG. 2, the processing of FIG. 11 is executed. In step 1101, a waveform file is detected according to the waveform file name designated by the user. From the waveform file, waveform data (701 in FIG. 7A) is read in step 1102, display data (712 in FIG. 7B) is read in step 1103, and management data (FIG. 7B) is read in step 1104. 711, FIG. 7C), and other data (713 in FIG. 7B) is read in step 1105. These readings are to read data into a predetermined buffer on the RAM 103. In step 1106, the waveform graphic display as described in FIG. 2 is performed based on the waveform data, display data, and management data, and the process is terminated.
[0048]
Note that the display in step 1106 is merely a display based on the read display data. Even if the read display data has not been scanned up to the third stage for the entire range of the waveform, display is performed with the display data at that time (for example, as shown in FIG. 3). Finish. After that, the scan proceeds with the process of FIG. 10A executed in the background process, and finally the scan of all blocks is executed and displayed with accurate display data.
[0049]
FIG. 12 shows an editing instruction event processing routine which is one of the foreground process processing. When the user designates a range of waveform data on the screen of FIG. 2 and performs some editing instruction operation, the processing of FIG. 12 is executed. In step 1201, a specified editing process is performed on the waveform data in the specified range. Next, in step 1202, the scan state of the range is changed to ST = 0, and the process ends. Thereafter, scanning and display are executed in the process of FIG. 10A executed in the background process. In step 1202, the process is completed simply by setting ST = 0, and scanning and display are left to the background process, so that the edited range can be re-edited even before the edited range is scanned. .
[0050]
FIG. 13 shows a write instruction event processing routine which is one of the foreground process processes. When the user instructs to save the waveform data to be edited on the screen of FIG. 2, the processing of FIG. 13 is executed. In step 1301, the file name of the waveform file to be written is determined. Next, waveform data is written in step 1302, display data is written in step 1303, management data is written in step 1304, other data is written in step 1305, and the process ends. Writing is writing to an arbitrary storage medium. Even waveform data that has not been scanned up to the third stage of the entire range is saved together with the management data and display data, so that the scan can be resumed from the saved state when it is read next time, and the processing time Can save.
[0051]
In the above embodiment, when an instruction to save is given during the scan, the display data and the management data being scanned are saved together with the waveform data. The display data and the management data stored in the screen may be automatically updated with the completed display data and management data.
[0052]
【The invention's effect】
As described above, according to the present invention, when editing waveform data, waveform data can be edited without waiting even during the scan for creating display data. On the other hand, even if editing is performed in the middle of display, it is always possible to finally generate and display accurate display data based on the editing result. Further, when the waveform data is saved, the display data and the management data are also saved, and when the data is read again, the display data can be continuously created, so that the creation time of the display data can be saved. In addition, since the display data creation of the displayed part is preferentially performed, the part of interest of the user can be seen in detail first.
[Brief description of the drawings]
FIG. 1 is a block diagram of a personal computer (PC) that implements a waveform editing function according to the present invention.
FIG. 2 is a diagram showing an example of a screen for performing waveform editing
FIG. 3 is an example of a display screen when editing waveform data.
FIG. 4 is a diagram showing an example of display change after editing
FIG. 5 is a flowchart of a main routine of a waveform editing program (waveform editor).
FIG. 6 is an explanatory timing diagram for explaining processing timings of the foreground process and the background process.
FIG. 7 is a diagram showing the structure of a waveform file
FIG. 8 is an explanatory diagram of the structure of waveform data addresses and display data acquisition block addresses;
FIG. 9 is a diagram showing an example of a state during waveform data scanning
FIG. 10 is a flowchart of scan processing and a diagram showing changes in management data
FIG. 11 is a flowchart of a read instruction event processing routine.
FIG. 12 is a flowchart of an edit instruction event processing routine.
FIG. 13 is a flowchart of a processing routine for a write instruction event.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 101 ... CPU (central processing unit), 102 ... Read-only memory (ROM), 103 ... Random access memory (RAM), 104 ... Display, 105 ... Input device, 106 ... MIDI interface, 107 ... Drive device 108, CD-ROM, hard disk, 109, write circuit, 110, access management unit, 111, waveform memory, 112, sound source, 113, sound system, 114, bus line.

Claims (10)

波形データを表示して編集する波形編集方法であって、
編集対象の波形データを第1の記憶手段に記憶するステップと、
前記波形データを所定数のサンプル毎のブロックに分け、それらのブロックから所定間隔で順次取り出したブロックについて当該ブロック中のサンプルの最大値と最小値を検出し、表示用データとして第2の記憶手段に記憶するステップと、
前記第2の記憶手段の表示用データに基づいて表示手段に波形データのグラフィック表示を行うステップと、
編集指示に応じて、前記第1の記憶手段に記憶されている波形データの編集処理を行うステップと、
前記第2の記憶手段に記憶された表示データのうち、前記編集処理が行われた編集範囲に対応する部分を無効化するステップと
前記無効化された編集範囲に対して、前記所定間隔で順次取り出した各ブロックについて当該ブロック中のサンプルの最大値と最小値を検出し、表示用データとして第2の記憶手段に記憶する処理と、該第2の記憶手段の表示用データに基づいて表示手段に波形データのグラフィック表示を行う処理とを実行する再表示ステップと
を含み、編集指示があったときには、前記第2の記憶手段に表示用データを記憶するステップ、前記波形データのグラフィック表示を行うステップ、および前記再表示ステップの処理よりも、前記編集処理を行うステップおよび前記無効化するステップの処理を優先的に行うことを特徴とする波形編集方法。
A waveform editing method for displaying and editing waveform data,
Storing the waveform data to be edited in the first storage means;
The waveform data is divided into blocks of a predetermined number of samples, and the maximum value and the minimum value of the samples in the block are detected for each block sequentially taken out from the blocks at a predetermined interval, and the second storage is performed as display data. Storing in the means;
Performing graphic display of the waveform data on the display means based on the display data of the second storage means;
Performing a waveform data editing process stored in the first storage means in response to an editing instruction;
Invalidating a portion of the display data stored in the second storage means corresponding to the editing range in which the editing processing has been performed ;
Processing for detecting a maximum value and a minimum value of samples in each block sequentially extracted at the predetermined interval with respect to the invalidated editing range, and storing them in the second storage means as display data; A re-displaying step of executing a graphic display of the waveform data on the display means based on the display data of the second storage means, and when there is an editing instruction, the second storage means The step of storing the data for display, the step of performing graphic display of the waveform data, and the step of performing the editing processing and the step of invalidating are performed preferentially over the processing of the redisplaying step. Waveform editing method.
波形データを表示して編集する波形編集方法であって、
フォアグラウンドプロセスで、編集指示に応じて波形データの編集処理を行うステップと、
バックグラウンドプロセスで、前記編集処理が行われた波形データの表示処理を行うステップとを備え、
前記表示処理は、前記編集処理が行われた波形データに対し、該波形データを所定数のサンプル毎のブロックに分け、それらのブロックから所定間隔で順次取り出したブロックについて当該ブロック中のサンプルの最大値と最小値を検出し、表示用データとして記憶するとともに、該表示用データを表示し、さらに前記取り出すブロックの間隔を徐々に狭めて、まず前記波形データに対して第1の間隔で取り出した各ブロック中の最大値と最小値の検出と表示用データの記憶および表示を行い、次に前記波形データに対して第1の間隔より狭めた第2の間隔で取り出した各ブロック中の最大値と最小値の検出と表示用データの記憶および表示を行い、次に前記波形データに対して第2の間隔より狭めた第3の間隔で取り出した各ブロック中の最大値と最小値の検出と表示用データの記憶および表示を行い、…というように処理を進めて、最終的に全ブロックについて処理するものであることを特徴とする波形編集方法。
A waveform editing method for displaying and editing waveform data,
In the foreground process, the step of editing the waveform data according to the editing instruction,
A process of displaying waveform data subjected to the editing process in a background process,
Wherein the display processing, the editing process to the waveform data performed divides waveform data into blocks every predetermined number of samples, for each sequentially removed from the blocks at predetermined intervals block of samples in the block The maximum value and the minimum value are detected and stored as display data, and the display data is displayed. Further, the interval between the blocks to be extracted is gradually narrowed, and the waveform data is first extracted at a first interval. The maximum value and the minimum value in each block are detected, the display data is stored and displayed, and then the waveform data is extracted at a second interval narrower than the first interval. In each block, the value and minimum value are detected, display data is stored and displayed, and then the waveform data is extracted at a third interval narrower than the second interval. Perform storage and display of the detection and display data of the maximum value and the minimum value, it proceeds ... and so, finally waveform editing method is characterized in that those processes for all blocks.
請求項1または2に記載の波形編集方法において、
前記波形データは、編集対象の波形データを全体表示する表示領域および当該編集対象の波形データのうちの一部分を拡大表示する拡大表示領域に表示され、
前記表示用データの作成は、前記拡大表示領域に実際に表示されている範囲を優先的に行うようにしたことを特徴とする波形編集方法。
In the waveform editing method according to claim 1 or 2,
The waveform data is displayed in a display area for displaying the entire waveform data to be edited and an enlarged display area for enlarging and displaying a part of the waveform data to be edited.
The waveform editing method is characterized in that the display data is created preferentially in a range actually displayed in the enlarged display area .
請求項1または2に記載の波形編集方法において、
前記編集対象の波形データを記憶媒体に保存する際、その波形データに対応する表示用データが完成されていない状態であっても、その波形データに加えて、前記表示用データおよびその作成状況を示す管理データを保存し、次にその波形データが読み出されたときには保存してある表示用データおよび管理データも読み出し、その管理データに基づいて表示用データの作成を継続することを特徴とする波形編集方法。
In the waveform editing method according to claim 1 or 2,
When the waveform data to be edited is stored in a storage medium, the display data and its creation status are displayed in addition to the waveform data, even if the display data corresponding to the waveform data is not completed. The management data shown is saved, and when the waveform data is read out next, the saved display data and management data are also read out, and the creation of the display data is continued based on the management data. Waveform editing method.
請求項4に記載の波形編集方法において、
前記波形データに加えて前記表示用データおよびその作成状況を示す管理データを保存した後、表示用データが完成したときには、前記記憶媒体に保存してある表示用データおよび管理データを自動更新することを特徴とする波形編集方法。
The waveform editing method according to claim 4,
In addition to the waveform data, after storing the display data and management data indicating the creation status thereof, when the display data is completed, the display data and management data stored in the storage medium are automatically updated. Waveform editing method characterized by
波形データを表示して編集する波形編集装置であって、
編集対象の波形データを記憶する第1の記憶手段と、
前記編集対象の波形データに対する表示用データを記憶する第2の記憶手段であって、該表示用データは、前記編集対象の波形データを所定数のサンプル毎のブロックに分けた各ブロックの最大値と最小値を表現するデータであるものと、
前記波形データ中の範囲を表すアドレス情報と該範囲に対する表示用データの生成状況を表すスキャン状態とを管理データとして記憶する手段と、
前記波形データの所定範囲に対する編集指示を受け付ける手段と、
受け付けた編集指示に応じて、前記第1の記憶手段に記憶されている波形データの当該範囲に編集処理を施す手段と、
前記編集処理を行った範囲に対する前記管理データのスキャン状態を初期状態に設定変更する手段と、
前記編集指示の受け付け、前記編集処理、および前記スキャン状態を初期状態に設定変更する処理とは独立のバックグラウンドプロセスで、前記管理データを参照し、スキャン状態が表示用データ作成済みになっていないブロックを探し、表示用データを作成して前記第2の記憶手段に記憶するとともに該表示用データに基づいて表示を行い、その表示用データが作成され記憶され表示された範囲に対する前記管理データのスキャン状態を変更する手段と
を備えたことを特徴とする波形編集装置。
A waveform editing device for displaying and editing waveform data,
First storage means for storing waveform data to be edited;
Second storage means for storing display data for the waveform data to be edited, the display data being a maximum value of each block obtained by dividing the waveform data to be edited into blocks of a predetermined number of samples; And the data representing the minimum value,
Means for storing, as management data, address information representing a range in the waveform data and a scan state representing a generation status of display data for the range;
Means for receiving an editing instruction for a predetermined range of the waveform data;
Means for performing an editing process on the range of the waveform data stored in the first storage means in accordance with an accepted editing instruction;
Means for changing the scan state of the management data to the initial state for the range subjected to the editing process;
Acceptance of the editing instruction, and in the editing process, and independent background process is a process of setting change the scan state to the initial state, by referring to the management data, the scan status is not in the data created for display A block is searched, display data is created and stored in the second storage means, and display is performed based on the display data . The display data is created, stored, and the management data for the displayed range is displayed . A waveform editing apparatus comprising: means for changing a scan state.
波形データを表示して編集する波形編集装置であって、
編集対象の波形データを記憶する第1の記憶手段と、
前記編集対象の波形データに対する表示用データを記憶する第2の記憶手段であって、該表示用データは、前記編集対象の波形データを所定数のサンプル毎のブロックに分けた各ブロックの最大値と最小値を表現するデータであるものと、
前記波形データ中の範囲を表すアドレス情報と該範囲に対する表示用データの生成状況を表すスキャン状態とを管理データとして記憶する手段であって、前記スキャン状態は、表示用データが未作成であることを示す未スキャン状態、所定数i1おきのブロックの表示用データが作成済みであることを示す第1段階状態、i1より小さい所定数i2おきのブロックの表示用データが作成済みであることを示す第2段階状態、…、in-2より小さい所定数in-1おきのブロックの表示用データが作成済みであることを示す第n−1段階状態、および全ブロックの表示用データが作成済みであることを示す第n段階状態(nは2以上の整数)の何れかの状態をとるものと、
前記波形データの所定範囲に対する編集指示を受け付ける手段と、
受け付けた編集指示に応じて、前記第1の記憶手段に記憶されている波形データの当該範囲に編集処理を施す手段と、
前記編集処理を行った範囲に対する前記管理データのスキャン状態を初期状態である未スキャン状態に初期化する手段と、
前記編集指示の受け付け、編集処理、およびスキャン状態の初期化処理とは独立のバックグラウンドプロセスで、前記管理データを参照し、スキャン状態が前記第n段階状態になっていないブロックを探し、あればそのブロックが含まれる範囲の第m段階の範囲について第m段階から第m+1段階に移行するようにその範囲の表示用データを作成して前記第2の記憶手段に記憶するとともに該表示用データに基づいて表示を行い、さらに前記管理データのスキャン状態を変更する手段と
を備えたことを特徴とする波形編集装置。
A waveform editing device for displaying and editing waveform data,
First storage means for storing waveform data to be edited;
Second storage means for storing display data for the waveform data to be edited, the display data being a maximum value of each block obtained by dividing the waveform data to be edited into blocks of a predetermined number of samples; And the data representing the minimum value,
Means for storing, as management data, address information representing a range in the waveform data and a scan state representing a generation state of display data for the range, wherein the display data is not created A first stage state indicating that the display data for the block every predetermined number i1 has been created, and that display data for the block every predetermined number i2 smaller than i1 has been created. Second stage state,... N-1 stage state indicating that display data for every predetermined number in-1 less than in-2 has been created, and display data for all blocks have been created. Taking any state of the n-th stage state (n is an integer of 2 or more) indicating that,
Means for receiving an editing instruction for a predetermined range of the waveform data;
Means for performing an editing process on the range of the waveform data stored in the first storage means in accordance with an accepted editing instruction;
Means for initializing the scan state of the management data for the range subjected to the editing process to an unscanned state which is an initial state;
If there is a background process that is independent of accepting the editing instruction, editing process, and scan state initialization process, referring to the management data and searching for a block whose scan state is not in the nth stage state, For the m-th range of the range including the block, display data for the range is created so as to shift from the m-th stage to the (m + 1) -th stage, and is stored in the second storage means. And a means for changing a scan state of the management data.
請求項6または7に記載の波形編集装置において、
前記波形データは、編集対象の波形データを全体表示する表示領域および当該編集対象の波形データのうちの一部分を拡大表示する拡大表示領域に表示され、
前記表示用データの作成は、前記拡大表示領域に実際に表示されている範囲を優先的に行うようにしたことを特徴とする波形編集装置。
In the waveform editing device according to claim 6 or 7,
The waveform data is displayed in a display area for displaying the entire waveform data to be edited and an enlarged display area for enlarging and displaying a part of the waveform data to be edited.
The waveform editing apparatus according to claim 1, wherein the display data is created preferentially in a range actually displayed in the enlarged display area .
請求項6または7に記載の波形編集装置において、
前記編集対象の波形データを記憶媒体に保存する際、その波形データに対応する表示用データが完成されていない状態であっても、その波形データに加えて、前記表示用データおよび前記管理データを保存する手段をさらに備え、次にその波形データが読み出されたときには保存してある表示用データおよび管理データも読み出し、その管理データに基づいて表示用データの作成を継続することを特徴とする波形編集装置。
In the waveform editing device according to claim 6 or 7,
When the waveform data to be edited is stored in a storage medium, the display data and the management data are added to the waveform data, even if the display data corresponding to the waveform data is not completed. It further comprises means for saving, and when the waveform data is read next time, the saved display data and management data are also read, and the creation of display data is continued based on the management data. Waveform editing device.
請求項9に記載の波形編集装置において、
前記波形データに加えて前記表示用データおよび前記管理データを保存した後、表示用データが完成したときには、前記記憶媒体に保存してある表示用データおよび管理データを自動更新することを特徴とする波形編集装置。
The waveform editing apparatus according to claim 9, wherein
After the display data and the management data are stored in addition to the waveform data, when the display data is completed, the display data and the management data stored in the storage medium are automatically updated. Waveform editing device.
JP2000307636A 2000-10-06 2000-10-06 Waveform editing method and apparatus Expired - Fee Related JP3671417B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000307636A JP3671417B2 (en) 2000-10-06 2000-10-06 Waveform editing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000307636A JP3671417B2 (en) 2000-10-06 2000-10-06 Waveform editing method and apparatus

Publications (2)

Publication Number Publication Date
JP2002116758A JP2002116758A (en) 2002-04-19
JP3671417B2 true JP3671417B2 (en) 2005-07-13

Family

ID=18788116

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000307636A Expired - Fee Related JP3671417B2 (en) 2000-10-06 2000-10-06 Waveform editing method and apparatus

Country Status (1)

Country Link
JP (1) JP3671417B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4826522B2 (en) * 2007-03-26 2011-11-30 ヤマハ株式会社 Waveform editing apparatus and program
JP5230002B2 (en) * 2008-09-09 2013-07-10 株式会社河合楽器製作所 Music data editing apparatus and music data editing computer program

Also Published As

Publication number Publication date
JP2002116758A (en) 2002-04-19

Similar Documents

Publication Publication Date Title
US6635816B2 (en) Editor for musical performance data
US6313387B1 (en) Apparatus and method for editing a music score based on an intermediate data set including note data and sign data
JP3448928B2 (en) Music score recognition device
JP3671417B2 (en) Waveform editing method and apparatus
JP4702775B2 (en) Electronic music apparatus and music data processing program
JP5589741B2 (en) Music editing apparatus and program
JP3733866B2 (en) Performance information retrieval device
JP3282440B2 (en) File name assigning device
JP3496565B2 (en) Audio processing device and audio processing method
JP4134870B2 (en) Effect setting device and effect setting program
JP3414163B2 (en) Apparatus and method for displaying and editing automatic performance data
JP2641851B2 (en) Automatic performance device
JPH10124075A (en) Text wipe information input device and recording medium
JP7350555B2 (en) Score editing device and score editing program
JP2004219656A (en) Sequence data display program
JP2962075B2 (en) Electronic musical instrument editing device
JP3487011B2 (en) Data writing device and data display device
JP2003108119A (en) Playing information display device and program
JP3426379B2 (en) Electronic musical instrument
JP4108487B2 (en) Editing program
JPH1173411A (en) Text editor and its program storing medium
JP2020126087A (en) Music data display program and music data display device
JP2009216902A (en) Electronic information processor and program
JP2583377B2 (en) Automatic performance device
JP5509961B2 (en) Phrase data extraction device and program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050118

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050410

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090428

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090428

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110428

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120428

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130428

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees