JP3731476B2 - Waveform data analysis method, waveform data analysis apparatus, and recording medium - Google Patents

Waveform data analysis method, waveform data analysis apparatus, and recording medium Download PDF

Info

Publication number
JP3731476B2
JP3731476B2 JP2001008813A JP2001008813A JP3731476B2 JP 3731476 B2 JP3731476 B2 JP 3731476B2 JP 2001008813 A JP2001008813 A JP 2001008813A JP 2001008813 A JP2001008813 A JP 2001008813A JP 3731476 B2 JP3731476 B2 JP 3731476B2
Authority
JP
Japan
Prior art keywords
waveform data
waveform
automatic performance
recording
timing
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
JP2001008813A
Other languages
Japanese (ja)
Other versions
JP2002215163A (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 JP2001008813A priority Critical patent/JP3731476B2/en
Priority to US10/051,973 priority patent/US7094965B2/en
Publication of JP2002215163A publication Critical patent/JP2002215163A/en
Priority to US11/016,294 priority patent/US7102068B2/en
Application granted granted Critical
Publication of JP3731476B2 publication Critical patent/JP3731476B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、パーソナルコンピュータ、電子楽器、アミューズメント機器等における自動演奏、特に自動伴奏に用いて好適な、波形データ解析方法、波形データ解析装置および記録媒体に関する。
【0002】
【従来の技術】
従来より、ある程度の長さの自然楽器音等を録音し、これを設定されたテンポに応じた速度で自動的に繰返し再生する技術が知られている。この技術はリズム音等の自動伴奏等に使用されているが、設定されるテンポに応じて原波形を圧縮あるいは伸張させる必要がある。かかる処理を実行するために、従来より以下のような装置またはソフトウエアが知られている。
【0003】
(1)サンプラ
サンプラは、アナログ波形をサンプリングしてデジタルの波形データに変換するものであり、単音波形を記録するものと、複音から成るフレーズ波形を記録するものとが知られている。後者を特にフレーズサンプラという。
【0004】
(2)スライサ
スライサは、区切られた波形データに対して先頭から順番にノートナンバを割り当てるとともに、割り当てたノートナンバとタイミング(区切り位置)からなる自動演奏情報、すなわち区切られた波形データをドライブするためのシーケンスデータを生成して記憶する。この自動演奏情報に基づき、記録時のテンポで自動演奏し、再生されたノートオンイベントによって区切られた波形データをトリガすると、元の波形データ(区切る前の波形データ)が再生される。ここで、テンポを変更すると、そのテンポに応じてノートオンイベントのタイミングが変化し、全体として波形データが時間軸方向に伸縮される。
【0005】
(3)シーケンサ
シーケンサは、上記シーケンスデータを再生するものである。但し、シーケンスデータをそのままの形で再生するばかりではなく、再生速度を適宜増減することによって所望のテンポでシーケンスデータを再生することができる。なお、シーケンスデータを予め編集しておくことにより、各単位波形データの再生タイミングを独自に変更しておくことも勿論可能である。このシーケンスデータを適当な音源に供給すると、再生シーケンスデータに基づいた楽音波形が再生されることになる。
【0006】
次に、再生される楽音波形の状態について、図2(a),(b)を流用しさらに詳細に説明する。
同図(a)は、自然楽器音等をステレオ録音した原波形データである。この原波形データを、エンベロープの立上り部分(図上の破線部分、以下「制御ポイント」という)で区切ると、例えば同図(b)に示すように、原波形データを複数の区画(オリジナルセクションという)1r〜12rに区切ることができる。この原波形データを用いて自動リズム伴奏等を行う際、原波形データの録音時のテンポと同一のテンポで再生するのであれば、原波形データを特に加工することなく繰返し再生するとよい。
【0007】
また、再生時のテンポが録音時よりも速くなる場合は、各オリジナルセクション1r〜12rの再生部分を短くする必要がある。このためには、各区画の終端部分を一定の割合でカットすればよい。例えば、録音時のテンポが「100」、再生時のテンポが「125」であったとすると、各オリジナルセクション1r〜12rの終端部分を20%づつカットし、残りの波形データを再生するとよい。
【0008】
一方、再生時のテンポが録音時のテンポよりも遅くなる場合には問題が生じる。すなわち、再生時のテンポに合せて各区画の再生開始タイミングを単に遅らせたのでは、各区画の隙間に無音区間が生じ、耳障りになる。そこで、この各区画の隙間は、直前の区画の波形データを必要な長さだけ継ぎ足して再生することが一般的である。その際、継ぎ足される部分の振幅の初期値は、その直前の部分の振幅と一致するように設定される。
【0009】
【発明が解決しようとする課題】
ここで、自動演奏情報等、元々存在するなんらかのシーケンスデータ(元シーケンスデータ)に対して新たなトラックを追加し、上記技術によって得たシーケンスデータ(追加シーケンスデータ)をこの追加したトラックに書き込み、両者のアンサンブルのシーケンスデータ(合成シーケンスデータ)を作成する場合を想定してみる。
【0010】
ここで、元シーケンスデータと追加シーケンスデータとは、関連なく記録されているために、単に追加シーケンスデータを新たなトラックに書き込んだのでは、両者のタイミングがずれるという問題が生じる。このため、両者のタイミング合わせを慎重に行う必要があり、きわめて煩雑であった。特に、元シーケンスデータのテンポが途中で変化している場合等においては、タイミング合わせを楽曲の随所で行う必要があった。また、従来は、波形データのエンベロープを分析して得られた区切り位置のみに基づいて波形データを分割していたため、区切り位置が誤検出されたり、音楽的に適切でない位置で分割される場合もあった。
【0011】
この発明は上述した事情に鑑みてなされたものであり、元シーケンスデータに関連付けて波形データを記録することができる波形データ解析方法、波形データ解析装置および記録媒体を提供することを目的としている。
【0012】
【課題を解決するための手段】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項1記載の波形データ解析方法にあっては、自動演奏情報の再生を開始する過程と、波形データの記録を開始する過程と、前記自動演奏情報と前記波形データとのタイミングの関係を示す同期制御データを記録しつつ、前記波形データを記録する過程と、前記波形データのエンベロープレベルを求める過程と、前記自動演奏情報と、前記同期制御データと、前記エンベロープレベルとに基づいて、前記波形データの区切り位置(制御ポイント)を求める区切り位置検出過程(ステップSP106〜SP118)とを有することを特徴とする。
さらに、請求項2記載の構成にあっては、請求項1記載の波形データ解析方法において、前記区切り位置検出過程(ステップSP106〜SP118)は、前記自動演奏情報と前記同期制御データとに基づいて、前記波形データの推定区切り位置(基準位置)を決定する推定過程と、該推定区切り位置に対応した所定の範囲内において、前記波形データの一ないし複数の立ち上がり位置を検出する検出過程と、検出された前記一ないし複数の立ち上がり位置の何れかを区切り位置として抽出する抽出過程とを有することを特徴とする。
さらに、請求項3記載の構成にあっては、請求項2記載の波形データ解析方法において、前記所定の範囲(検出窓)は、第1および第2の所定範囲から構成され、前記抽出過程は、前記第1の所定範囲に属する立ち上がり位置についてはこれら立ち上がり位置に各々対応するレベル値(ピークレベル)が所定の第1の閾値(閾値Th1)を超えることを条件として、該立ち上がり位置を前記区切り位置として抽出するとともに、前記第2の所定範囲に属する立ち上がり位置についてはこれら立ち上がり位置に各々対応するレベル値(ピークレベル)が前記第1の閾値(閾値Th1)よりも低い第2の閾値(閾値Th2)を超えることを条件として、該立ち上がり位置を前記区切り位置として抽出する過程であることを特徴とする。
さらに、請求項4記載の構成にあっては、請求項2記載の波形データ解析方法において、前記推定過程は、前記自動演奏情報の拍タイミング、ノートオンタイミングまたはノートオフタイミングに基づいて、前記波形データの推定区切り位置を決定することを特徴とする。
さらに、請求項5記載の構成にあっては、請求項2記載の波形データ解析方法において、前記抽出過程は、検出された立ち上がり位置の強度に基づいて、何れかの立ち上がり位置を前記区切り位置として抽出することを特徴とする。
また、請求項6記載の波形データ解析方法にあっては、自動演奏情報の再生を開始する過程と、波形データの記録を開始する過程と、前記自動演奏情報と前記波形データとのタイミングの関係を示す同期制御データを記録しつつ、前記波形データを記録する過程と、前記自動演奏情報の拍タイミングと前記同期制御データとに基づいて推定拍位置を決定する過程と、前記推定拍位置に基づいて前記波形データの区切り位置を求める区切り位置決定過程とを有することを特徴とする。
また、請求項7記載の波形データ解析方法にあっては、自動演奏情報の再生を開始する過程と、波形データの記録を開始する過程と、前記自動演奏情報と前記波形データとのタイミングの関係を示す同期制御データを記録しつつ、前記波形データを記録する過程と、前記自動演奏情報のノートオンタイミングと前記同期制御データとに基づいて推定立ち上がり位置を決定する過程と、該推定立ち上がり位置に基づいて前記波形データの区切り位置を求める区切り位置決定過程とを有することを特徴とする。
また、請求項8記載の波形データ解析方法にあっては、自動演奏情報の再生を開始する過程と、波形データの記録を開始する過程と、前記自動演奏情報と前記波形データとのタイミングの関係を示す同期制御データを記録しつつ、前記波形データを記録する過程と、前記自動演奏情報と前記同期制御データとに基づいて推定区切り位置を決定する過程と、前記波形データ中の前記推定区切り位置近傍の部分を分析する分析過程と、該分析結果に基づいて前記波形データ全体の区切り位置を求める区切り位置決定過程とを有することを特徴とする。
さらに、請求項9記載の構成にあっては、請求項8記載の波形データ解析方法において、前記分析過程は、前記波形データのエンベロープを分析することにより立ち上がり位置を検出する過程であることを特徴とする。
さらに、請求項10記載の構成にあっては、請求項8記載の波形データ解析方法において、前記区切り位置決定過程は、前記分析結果に含まれる複数の立ち上がり位置に基づいて、各推定区切り位置毎に一つの区切り位置を決定することを特徴とする。
さらに、請求項11記載の構成にあっては、請求項1ないし10の何れかに記載の波形データ解析方法において、前記自動演奏情報を再生する自動演奏のテンポクロックと前記波形データのサンプリング周期は同期しており、前記同期制御データは、前記波形データの録音開始タイミングを示すタイミングデータを含むことを特徴とする。
さらに、請求項12記載の構成にあっては、請求項1ないし10の何れかに記載の波形データ解析方法において、前記同期制御データは、前記波形データの録音開始タイミングを示すタイミングデータと、前記自動演奏のテンポクロックと前記波形データのサンプリング周期を同期させるための同期データとを含むことを特徴とする。
また、請求項13記載の波形データ解析装置にあっては、請求項1ないし12の何れかに記載の波形データ解析方法を実行することを特徴とする。
また、請求項14記載のコンピュータ読み取り可能な記録媒体にあっては、請求項1ないし12の何れかに記載の波形データ解析方法をコンピュータに実行させるプログラムを記憶したことを特徴とする。
【0013】
【発明の実施の形態】
1.実施形態のハードウエア構成
次に、本発明の一実施形態の波形編集システムのハードウエア構成を図1を参照し説明する。なお、本波形編集システムは、汎用パーソナルコンピュータ上で動作するアプリケーションプログラムおよびドライバ等によって構成されている。
【0014】
図において102は表示器であり、ユーザに対して各種情報を表示する。104は操作子であり、キーボード、マウス等から構成されている。106はマイクロフォンであり、自然楽器等の楽音信号(アナログ波形)を検出する。108はADコンバータであり、該アナログ波形をサンプリングしてデジタル信号に変換する。110は録音回路であり、ハードディスク112にダイレクトにアクセスし(DMA動作を行ない)、該デジタル信号を波形データとしてハードディスク112に記憶させる。なお、ハードディスク112には、これら波形データの他、汎用パーソナルコンピュータのオペレーティングシステム、後述する波形編集のアプリケーションプログラム等が格納される。
【0015】
114は再生回路であり、ハードディスク112にダイレクトにアクセスして(DMA動作を行ない)、再生対象となる波形データを読出し、ミキサ116に供給する。122は音源であり、バスライン136を介して供給された演奏情報に基づいて楽音信号を合成し、合成した楽音信号をミキサ116に供給する。ミキサ116においては、再生回路114および音源122から供給された波形データおよび楽音信号が合成される。
【0016】
118はDAコンバータであり、ミキサ116のミキシング結果をアナログ信号に変換する。120はサウンドシステムであり、該アナログ信号を増幅して発音する。124はMIDIインターフェースであり、外部のMIDI機器との間でMIDI信号をやりとりする。126はその他のインタフェースであり、外部機器との間で波形データ等のやりとりを行う。128はタイマであり、所定時間毎にタイマ割込みを発生させる。
【0017】
130はCPUであり、後述するプログラムに基づいて、バスライン136を介して波形編集システムの各部を制御する。132はROMであり、イニシャルプログラムローダ等が格納されている。134はRAMであり、CPU130によって読み書きされる。
【0018】
2.実施形態の動作
2.1.原波形データの録音処理
次に、本実施形態の動作を説明する。
まず、パーソナルコンピュータの電源が投入されると、ROM132に格納されたイニシャルプログラムローダが実行され、オペレーティングシステムが立上る。このオペレーティングシステムにおいて所定の操作を行うと、本実施形態の波形編集アプリケーションプログラムが起動される。このアプリケーションプログラムにおいて所定の操作を行うと、図20に示す自動演奏&波形録音処理ルーチンが起動される。
【0019】
図20において処理がステップSP202に進むと、自動演奏および波形録音に係る準備処理が行われる。そして、表示器2上に図21に示す波形録音制御ウィンドウ150が表示される。波形録音制御ウィンドウ150の内部において151は自動演奏ファイルテキストボックスであり、自動演奏ファイル名を指定するために設けられている。152は自動演奏スタートボタンであり、指定された自動演奏ファイルの再生開始を指示するために設けられている。また、154は自動演奏ストップボタンであり、該自動演奏ファイルの再生停止を指示するために設けられている。
【0020】
また、156は波形録音スタートボタンであり、ADコンバータ108、録音回路110を介しての波形録音の開始を指示するために設けられている。また、158は波形録音ストップボタンであり、該波形録音の停止を指示するために設けられている。159はキャンセルボタンであり、全処理の中止を指示するために設けられている。初期状態においては、上記波形録音制御ウィンドウ150内の各要素のうち自動演奏ファイルテキストボックス151のみがアクティブ(操作可能)状態に設定され、ボタン152〜159はインアクティブ(操作禁止)状態に設定される。
【0021】
ここで、ユーザが自動演奏ファイル(例えばSMF:スタンダードMIDIフォーマットのファイル)の適切なファイル名を自動演奏ファイルテキストボックス151に入力すると、自動演奏スタートボタン152とキャンセルボタン159とがアクティブ状態に設定され、他の要素がインアクティブ状態に設定される。
【0022】
次に、処理がステップSP204に進むと、波形録音制御ウィンドウ150においてアクティブ状態である各要素の操作イベントが検出される。次に、処理がステップSP206に進むと、ステップSP204の検出結果に基づいて処理が分岐される。まず、なんら操作イベントが検出されなかった時は処理はステップSP204に戻り、操作イベントの検出が続行される。また、波形録音制御ウィンドウ150においてキャンセルボタン159がマウスでクリックされると、直ちに本アプリケーションプログラムの処理が終了する。
【0023】
一方、波形録音制御ウィンドウ150において自動演奏スタートボタン152がマウスでクリックされると、処理はステップSP208に進む。ここでは、先に指定された自動演奏ファイルの再生が開始される。さらにステップSP208においては、自動演奏ストップボタン154および波形録音スタートボタン156がアクティブ状態に設定され、他の要素がインアクティブ状態に設定される。
【0024】
次に、処理がステップSP210に進むと、波形録音制御ウィンドウ150においてアクティブ状態である各要素の操作イベントが検出される。次に、処理がステップSP212に進むと、ステップSP210の検出結果に基づいて処理が分岐される。まず、なんら操作イベントが検出されなかった時は処理はステップSP210に戻り、操作イベントの検出が続行される。また、自動演奏ストップボタン154がマウスでクリックされると、自動演奏ファイルの再生処理が停止されるとともに、直ちに本アプリケーションプログラムの処理が終了する。
【0025】
一方、波形録音制御ウィンドウ150において波形録音スタートボタン156がマウスでクリックされると、処理はステップSP214に進む。ここでは、マイクロフォン6、ADコンバータ8および録音回路10を順次介して得られた波形データの録音が開始される。すなわち、DAコンバータ118および録音回路110を順次介して、該波形データがハードディスク112に録音されてゆく。さらに、ステップSP214においては、自動演奏ストップボタン154と波形録音ストップボタン158とがアクティブ状態に設定され、他の要素がインアクティブ状態に設定される。
【0026】
ここで、波形録音処理の詳細をさらに図16を参照し説明する。
同図(a)は自動演奏情報の楽譜であり、「↑」印を付したタイミングが拍タイミングになる。同図(b)は録音されるフレーズ波形(原波形データ)であり、同図(a)の対応するタイミングに合せて表示されている。また、同図(c)はハードディスク112上に録音された波形データ(原波形データ)と、自動演奏情報との関係を示す図である。
【0027】
同図(c)において202,204は自動演奏トラックであり、元々の自動演奏情報(元シーケンスデータ)に含まれていたものである。224は波形データトラックであり、録音された原波形データが記録される。また、222は波形タイミングトラックであり、自動演奏トラック202,204と波形データトラック224とを同期させるための同期制御データが記録される。ここで、同期制御データとしては、録音の開始タイミングや後述する同期データ等のデータである。これら波形タイミングトラック222および波形データトラック224は、上記録音処理を行うに際して自動演奏情報に追加されたトラックである。
【0028】
ステップSP214までの処理内容から明らかなように、波形録音が開始された時は、既に自動演奏は開始されている。従って、図16(a),(b)に示すように、波形録音の開始タイミングは、自動演奏の演奏情報上におけるタイミング(例えば自動演奏が開始された後のタイミングクロック数)によって特定される。この特定された開始タイミングが波形タイミングトラック222に記録される。
【0029】
その後、波形録音処理と自動演奏処理が続行されるが、双方の処理は相互に同期した状態で実行される。具体的には、次のような方法が採られる。
(1)波形データのサンプリング周波数と自動演奏のテンポクロックとを同期させる。この場合、後述する同期データを記憶する必要はない。
(2)波形データのサンプリングを行ないながら、同期データを自動演奏データの所定のトラック(図16の例では波形タイミングトラック222)に記録する。
【0030】
上記(2)の方法においては、記録される同期データに応じて、さらに以下のようなバリエーションが考えられる。なお、自動演奏処理と波形録音処理との同期を確保する方法はここに挙げるものに限られないことは言うまでもない。
(2−1)所定数のテンポクロック毎に、その時点における波形データのサンプル番号を記録する。
(2−2)各拍タイミング(例えば図16(a)において「↑」印を付したタイミング)における波形データのサンプル番号を記録する。
(2−3)波形データの所定数のサンプル毎(例えば1000サンプル毎)のシーケンス位置を記録する。
【0031】
図20に戻り、次に処理がステップSP216に進むと、波形録音制御ウィンドウ150においてアクティブ状態である各要素の操作イベントが検出される。次に、処理がステップSP218に進むと、ステップSP216の検出結果に基づいて処理が分岐される。まず、なんら操作イベントが検出されなかった時は処理はステップSP216に戻り、操作イベントの検出が続行される。また、自動演奏ストップボタン154がマウスでクリックされると、処理はステップSP222に進み、自動演奏ファイルの再生処理が停止される。一方、波形録音ストップボタン158がマウスでクリックされると、処理はステップSP220に進み、波形データの録音処理が停止される。
【0032】
何れの場合においても、次に処理はステップSP224に進み、自動演奏および波形録音の両方が停止されているか否かが判定される。ここで、少なくとも一方の処理が続行中であれば「NO」と判定され、処理はステップSP216に戻り、操作イベントの検出が続行される。そして、自動演奏と波形録音の双方が停止されると、次に処理がステップSP224に進んだ際に「YES」と判定され、本ルーチンの処理は終了する。
【0033】
以上の処理により、録音された波形データ(原波形データ)は、同期制御データによって自動演奏情報のタイミングに対応付けられつつ記録されることが解る。但し、ここまでの処理内容においては、波形データトラック224には一連の原波形データがそのまま記録されているため、自動演奏のテンポの増減等には対応できない。そこで、原波形データを複数のオリジナルセクションに分割する等の処理が必要になるため、かかる処理の内容を以下詳述する。
【0034】
2.2.再生用波形データ生成処理
2.2.1.トリミング処理(SP2,SP4)
上記波形録音処理によって原波形データが取得された後、所定の操作が行われると、波形編集アプリケーションプログラムにおいて図4に示すプログラムが起動される。まず、原波形データには、その開始部分および終了部分に無音区間が存在する場合がある。そこで、処理がステップSP2に進むと、両無音区間が自動的にトリミング(削除)される。
【0035】
但し、原波形データに雑音が含まれていた場合等においては、必ずしも適切な位置でトリミングされない場合もある。そこで、処理がステップSP4に進むと、ユーザは、この自動的に決定されたデフォルトのトリミング位置を任意に修正することが可能である。
【0036】
2.2.2.パラメータ設定(SP6)
次に、処理がステップSP6に進むと、ユーザによって、制御ポイント検出のための各種パラメータが指定される。指定されるパラメータには、以下のようなものがある。
(1)波形タイプ:このパラメータは、例えば波形データの種別を指定するものであり、「パーカッション系」、「持続系」等に大別され、さらに様々な楽器の原波形データに適した複数のバリエーションに分類されている。この波形タイプに基づいて、閾値等、後述する他のパラメータのデフォルト値が決定される。
【0037】
ところで、この「波形タイプ」の選択は以下のように行われる。すなわち、表示器102に図19に示すようなパーカッション系選択ボタン80および持続系選択ボタン82が表示され、ユーザが何れかのボタンをマウスでクリックすると、対応する波形タイプが選択される。上述した「パーカッション系」は単にパーカッション系の波形データに用いて好適なだけではなく、他系統の断続的な波形データに適用しても望ましい。同図に示すように、パーカッション系選択ボタン80には断続的な波形が描画され、持続系選択ボタン82には持続的な波形が描画されているから、ユーザは望ましい波形タイプを一見して判断することができる。
【0038】
(2)分解能:このパラメータは、強拍および弱拍の制御ポイントを検出するために1小節あたりどの程度の分解能で波形データを検索するかを指定するパラメータである。例えば、「拍子」が「4/4」であるとき、「分解能」は「4分」、「4分+3」、「8分」、「8分+3」、「16分」、「16分+3」または「32分」の何れかを指定可能である(但し、「+3」は3連符への分割を示す)。ここで、「4分」は1小節を4分するタイミング(4分音符のタイミング)、「4分+3」は12分するタイミング、「8分」は8分するタイミング(8分音符のタイミング)、「8分+3」は24分するタイミング、「16分」は16分するタイミング、「16分+3」は48分するタイミング、「32分」は32分するタイミングにおいて、波形データが検索されることになる。なお、分解能を設定するにあたり、「拍子」を特定しておく必要があるが、これは自動演奏情報のパラメータとして元々含まれているため、該パラメータの値が使用される。
【0039】
2.2.3.不要帯域除去フィルタ処理(SP8)
トリミングされた波形データには様々な周波数成分が含まれているが、この中には制御ポイント検出のために障害になる成分(不要帯域)も含まれている。そこで、次に処理がステップSP8に進むと、これら不要帯域を除去するためにフィルタ処理が施される。このフィルタ処理は、バンドカット処理およびハイパス処理の2種類に大別されるが、不要帯域が分布している態様は楽曲や楽器に応じて異なるため、フィルタ処理の内容は上記「波形タイプ」に応じて決定すると好適である。すなわち、波形タイプに応じて、バンドカット処理およびハイパス処理の双方あるいは何れか一方のみが実行され、フィルタ処理のパラメータも波形タイプに応じて決定される。
【0040】
ここで、フィルタ処理におけるパラメータの設定例を述べておく。
まず、波形データの中、メロディ等の音程を持った成分は、制御ポイントの検出に際して障害になる可能性が高い。各種の楽曲を解析した結果、このような成分すなわちボーカルやベース等の持続部分の成分は「80Hz〜8kHz」の帯域に多く現れ、特に「100Hz〜300Hz」の帯域に多く現れる。そこで、バンドカット処理においては、「80Hz〜8kHz」の帯域を減衰させ、特に「100Hz〜300Hz」の帯域を強く減衰させるようなフィルタ処理が行われる。なお、ボーカルやベース等のアタック部(子音やアタックノイズ等)は、当該帯域以外にも広がっているため、フィルタ処理を行ったとしても、制御ポイントは検出可能である。
【0041】
また、バンド演奏等においては、シンバル等の高域音が規則正しく刻まれている場合が多い。かかる場合には、この規則正しい高域成分のみを抽出するハイパス処理を行うと好適である。なお、バンドカット処理およびハイパス処理の何れにおいても急峻なフィルタ特性は不要であるため、ハイパス処理においては1次のフィルタ、バンドカット処理においては2次のフィルタを用いれば実用上充分である。この不要帯域除去フィルタ処理の結果の一例として、図5(a)にトリミング後の波形データ、同図(b)にフィルタ処理の波形を示す。なお、この波形データの例においては、小節数は「2小節」、拍子は「4/4拍子」、分解能は「8分」である。
【0042】
2.2.4.デフォルトの制御ポイント決定(SP12)
次に、処理がステップSP12に進むと、録音時に再生されていた自動演奏情報の拍タイミングに基づいて、デフォルトの制御ポイントが自動的に決定される。拍タイミングは自動演奏情報の拍子によって決定されるため、4分音符あるいは8分音符等の間隔で発生する。なお、自動演奏の途中でテンポが変化した場合には、変化後のテンポに応じて拍タイミングが変化する。
【0043】
一方、波形データに対しては、音量エンベロープの立上がり開始位置、ピーク位置等が検出され、これらの検出結果と拍タイミングとの関係に基づいてデフォルトの制御ポイントが設定される。このように決定されたデフォルトの制御ポイントは、波形データとともにディスプレイ8に表示される。その表示例を図2(a)に示す。図において波形データはステレオ録音されたものであり、左(上側)および右(下側)の2系統示されている。制御ポイントは同図のウィンドウ上の縦破線によって示されており、両系統に対して共通である。以下、デフォルトの制御ポイントを決定する処理の詳細を図6を参照し説明する。
【0044】
(1)ダウンサンプル処理(SP102)
図6において処理がステップSP102に進むと、不要帯域が除去された波形データに対してダウンサンプル処理が施される。これは、制御ポイントを決定するために必要なサンプリング周波数は、鑑賞用のオーディオデータのサンプリング周波数と比較してはるかに低いため、その後の処理を高速化させるためにサンプリング周波数を低下させることが好適だからである。
(2)絶対値化処理(SP104)
次に、処理がステップSP104に進むと、ダウンサンプルされた波形データの絶対値が求められる。なお、図5(b)の波形に対応して得られた絶対値の例を図7(a)に示す。
【0045】
(3)エンベロープフォロア処理(SP106)
次に、処理がステップSP106に進むと、図7(a)の絶対値波形に対して、エンベロープフォロア処理が行われる。これは、絶対値波形のエンベロープ波形を求める処理であるが、絶対値波形の立ち上がりに対してエンベロープ波形を急峻に立ち上げ、絶対値波形の立ち下がりに対してエンベロープ波形を徐々に立ち下げる点に特徴がある。ここで、エンベロープフォロア処理のアルゴリズムを等価な回路ブロックによって表現した例を図8に示す。これは、回路としては入力の上昇時と下降時で異なる係数を使用するようなローパスフィルタである。
【0046】
図8において60は遅延回路であり、1サンプリング周期(ダウンサンプル後の周期、以下同)前のエンベロープレベルを記憶する。62は減算器であり、現サンプリング周期の絶対値波形レベルから1サンプリング周期前のエンベロープレベルを減算し、その結果を差分信号dとして出力する。66,68は乗算器であり、各々差分信号dが供給されると、これに対して係数a1,a2(但し、1>a1>a2>0)を乗算し出力する。
【0047】
64はスイッチであり、差分信号dが「0」以上である場合は乗算器66を選択し、また差分信号dが「0」未満である場合は乗算器68を選択し、選択された側の乗算器に当該差分信号dを供給する。70は加算器であり、選択された側の乗算器66,68の出力信号と、1サンプリング周期前のエンベロープレベルとの加算結果を現サンプリング周期におけるエンベロープレベルとして出力する。かかるエンベロープフォロア処理によって得られた波形を図7(b)に示す。この波形に対して細かい変動を取り除くため、ステップSP106においてはさらにローパスフィルタ処理が施される。このローパスフィルタ処理の結果を同図(c)に示す。
【0048】
(4)コンプレッサ処理(SP108)
図6において次に処理がステップSP108に進むと、コンプレッサ処理が実行される。すなわち、エンベロープフォロア処理結果に基づくエンベロープレベルの平均値が算出され、その平均値よりも高いレベルは低く、また平均値よりも低いレベルは高くなるようにエンベロープレベルが修正される。かかる処理の結果を図7(d)に示す。
【0049】
(5)エッジ検出フィルタ処理(SP110)
図6において次に処理がステップSP110に進むと、エッジ検出フィルタ処理が実行される。これは、エンベロープレベルに対する立ち上がりおよび立下がりを強調する処理である。ここで、エッジ検出フィルタ処理のアルゴリズムを等価な回路ブロック(コムフィルタ)によって表現した例を図9(a)に示す。
【0050】
図9(a)において72は遅延回路であり、コンプレッサ処理の施されたエンベロープレベルを入力信号とし、これをnサンプリング周期(nは2以上の自然数)遅延させて出力する。74は減算器であり、現サンプリング周期の入力信号から、nサンプリング周期前の入力信号を減算し、その結果をエッジ検出フィルタ処理結果として出力する。同図(b)に入力信号例、同図(c)にこれをnサンプリング周期遅延させ反転した信号例、同図(c)にフィルタ出力信号例(同図(b),(c)の波形の減算結果)を示す。また、かかる処理を図7(d)の波形に施した結果を図10(a)に示す。
【0051】
(6)エッジ開始位置/ピーク位置検出処理(SP112)
図6において次に処理がステップSP112に進むと、エッジ開始位置/ピーク位置検出処理が実行される。エッジ検出フィルタ処理結果を入力信号として、該入力信号の立ち上がりエッジとピーク位置とを検出する処理である。この処理の概要を図11を参照し説明する。同図(a)は、入力信号の一部を時間軸上で拡大した図を示している。この図において、入力信号は所定の閾値Thと比較され、入力信号が閾値Thを超えた時刻をエッジ開始位置(時刻t1)とする。
【0052】
同図(b)に示す出力信号レベルは時刻t1以前は「0」に設定され、時刻t1において「−M」(Mは所定値)に設定される。さらに、入力信号のピーク位置において、出力信号は1サンプリング周期だけ該ピーク値に設定され、しかる後に再び「0」に立ち下げられる。図10(a)の波形にかかる処理を施した結果を同図(b)に示す。
【0053】
同図(b)の信号において、レベルが「−M」に立下がるタイミングが「エッジ開始位置」であり、「−M」のレベルが継続する時間はエッジ開始位置からピーク位置までの時間(立上り時間Tt)に等しい。さらにピークレベルはエッジ検出フィルタ処理結果(同図(a))のピークレベルに等しい。なお、エッジ開始位置、立上り時間Ttおよびピークレベルを総称して「エッジ情報」と呼ぶ。
【0054】
(7)強拍抽出処理(SP114)
図6において次に処理がステップSP114に進むと、強拍抽出処理が実行される。
まず、上述したように原波形データは、自動演奏情報の自動演奏トラック202,204に同期して記録されているため、この自動演奏情報の拍タイミングに応じて、検出窓が決定される。この検出窓は、拍子に応じて分割される1小節内の各区間(以下、推定強拍区間という)の先頭を基準位置とし、これら推定強拍区間の1/8〜1/2の幅を有する。なお、1/8〜1/2の範囲のうち具体的にどの値を採用するかは「波形タイプ」のパラメータに応じて決定される。
【0055】
ここで、波形データの小節数を「2」、拍子を「4/4」ととし、窓幅を推定強拍区間の「1/6」とした場合の検出窓を、図10(b)の波形に重ねて同図(c)に示す。この図において網掛けの施されている部分が検出窓であり、各検出窓の「1/3」(推定強拍区間幅の1/18)の部分が基準位置よりも前に、「2/3」(推定強拍区間幅の2/18)の部分が基準位置よりも後に位置するように設定されている。
【0056】
次に、各検出窓にピーク位置が属するエッジ情報のうち、ピークレベルが所定の閾値Th1を超えるものが抽出される。但し、一つの検出窓において複数のエッジ情報が存在する場合には、最大のピークレベルを有するエッジ情報のみが抽出される。図10(c)の波形に対して、かかる抽出を行った結果を同図(d)に示す。同図(c)においては、最初の(左端の)検出窓には、閾値Th1を超える2つのエッジ情報のピーク位置が存在するが、同図(d)を参照すると、そのうちピークレベルの高いエッジ情報のみが抽出されている。また、同図(c)において左端から6番目の検出窓には一応エッジ情報が存在するが、ピークレベルが閾値Th1を超えていないため、同図(d)においては抽出されていない。
【0057】
(8)弱拍抽出処理(SP116)
図6において次に処理がステップSP116に進むと、弱拍抽出処理が実行される。
この処理においては、上述したパラメータ設定処理(SP6)において指定された「分解能」のパラメータに基づいて、各小節を分割する位置に検出窓の基準位置が設定される。但し、先のステップSP114において既に強拍が検出された検出窓に対応する基準位置は、本ステップにおいては除かれる。
【0058】
従って、上記ステップSP114において各検出窓で強拍が検出されていた場合には、例えば自動演奏情報の4分の拍タイミング間にある8分の拍タイミングを各基準位置とする新たな検出窓が設けられることになる。一方、先に強拍が抽出されなかった検出窓(図10(c)において左端から6番目の検出窓)については、本ステップにおいても、改めて弱拍抽出用の検出窓が同一の位置すなわち当該4分の拍タイミング位置に設定される。その結果、弱拍抽出用の検出窓は、図12(a)の網掛け部分に示すように設定される。
【0059】
この処理においても、各検出窓の「1/3」(推定強拍区間幅の1/18)の部分が基準位置よりも前に、「2/3」(推定強拍区間幅の2/18)の部分が基準位置よりも後に位置するように設定されている。次に、各検出窓にピーク位置が属するエッジ情報のうち、所定の閾値Th2を超えるものが抽出される。但し、一つの検出窓において複数のエッジ情報が存在する場合には、最大のピークレベルを有するエッジ情報のみが抽出される。
【0060】
ここで、閾値Th2は閾値Th1の「1/5」程度のレベルになるように設定され、閾値Thは閾値Th2よりもさらに小さい値に設定される。ここまでの処理によって抽出された強拍および弱拍の抽出結果を同図(b)に示す。同図(b)によれば、今回の抽出処理により、先の強拍抽出処理(SP114)においてピークレベルが足りなかったために抽出されなかったエッジ情報も抽出されている。上記ステップSP114,SP116によって抽出されたエッジ情報のうち、エッジ開始位置は図2(a)において説明した制御ポイントに他ならない。
【0061】
(9)制御ポイント強制設定処理(SP118)
次に、処理がステップSP118に進むと、必要な場合には、これまでにエッジ情報が検出されなかった検出窓の基準位置に制御ポイントが強制的に設定される。「必要な場合に」とは、具体的には波形タイプとして「持続系」が指定されていた場合である。このような設定を行う理由は、「持続系」の波形のエンベロープは規則的に減衰している(単純減衰である)訳ではないので、立上がりが検出されなかった位置に関しても強制的に制御ポイントを設定した方が音楽的に適切な時間軸制御を行えるからである。
【0062】
2.2.5.制御ポイント編集処理(SP14)
次に、処理がステップSP14に進むと、このデフォルトの制御ポイントがユーザによって編集される。具体的には、上記ウィンドウ上で、必要に応じて制御ポイントが追加、削除または移動される。
【0063】
2.2.6.挿入セクション1i〜12iの平坦化波形データの決定
上述したように、波形データの始点、終点および制御ポイントによって区切られた区間を、本明細書においては「オリジナルセクション」と呼ぶ。図2(a)のように制御ポイントが決定されたのであれば、同図(b)の上側の長方形列に示されるように、波形データは12個のオリジナルセクション1r〜12rに分割されることになる。
【0064】
次に、同図(b)の下側の長方形列に示されるように、各オリジナルセクションと同一の長さを有する12個のセクション(挿入セクション1i〜12i)が作成され、この挿入セクション1i〜12iに各オリジナルセクション1r〜12rに続くような波形データが記憶される。これにより、各オリジナルセクション1r〜12rと、対応する挿入セクション1i〜12iとを結合して、同図(c)に示すような結合セクション1t〜12tが得られる。そこで、以下、かかる処理の詳細を説明する。
【0065】
図4に戻り、処理がステップSP16に進むと、ユーザにより、挿入セクション1i〜12iに設定される波形データ(エンベロープ調整前)として、
(1)図13(a)に示すように、対応するオリジナルセクションnr(但し、n=1〜12)の次の波形データ(n+1)rをそのままコピーしたもの、あるいは、
(2)同図(b)に示すように対応するオリジナルセクションnrの波形データを時間軸上で反転した波形データ
のうち何れかが選択される。
ここで、デフォルトの状態では、波形タイプが「持続系」である場合は同図(a),パーカッション系である場合は同図(b)の波形データが選択される。その理由について説明しておく。
【0066】
<持続系の音に対して>
まず、持続系の音においては、オリジナルセクションnrと挿入セクションni=(n+1)rとは元々連続したセクションであるため、オリジナルセクションnrから挿入セクション(n+1)rへの滑らかな接続が保証されている。ここで、該挿入セクション(n+1)r以外のセクションを挿入セクションとして用いることも可能であるが、持続系の音ではアタックの無い部分(持続系の波形の途中)に制御ポイントが設定されることもある(ステップSP118を参照)ため、考慮が必要である。すなわち、この場合、オリジナルセクションnrと該挿入セクションとの位相が合っていなかった場合には、耳障りなノイズが発生するため、両者間で位相合わせを行う必要が生じ、処理が煩雑になる。一方、上述した例のように、オリジナルセクションnrの次のセクション(n+1)rを挿入セクションとして用いれば、挿入セクションの波形データは、より安定した波形データに基づいて作成することができる。
【0067】
また、持続系の音において、制御ポイントの直後に次の音のアタックがあった場合を想定してみる。この場合、一般的には、次の音のピッチは前の音のピッチとは異なっている。オリジナルセクションと挿入セクションのピッチが異なることは本来は望ましいことではないが、実験結果によれば、両者のピッチが異なっていたとしても、あまり目立たないことが判明した。これは、挿入セクションのエンベロープレベルが前のオリジナルセクションから継続してなめらかに減衰してゆくように制御されていることに起因すると考えられる。すなわち、新たに始まる音のアタック部で音色やピッチが変化すると目立つが、減衰している波形の途中で音色やピッチが変化した場合には、前のアタック部の印象が強いために比較的目立たないものと考えられる。
【0068】
<パーカッション系の音に対して>
次に、パーカッション系の音においては、元々ノイズ的な成分が多いため、オリジナルセクションnrから挿入セクションniへの接続部で目立ったノイズは発生しないことが多い。しかし、当該オリジナルセクションnrまたは次のオリジナルセクション(n+1)r等をそのまま挿入セクションniとして用いると、波形の先頭部分のアタックノイズが多少耳障りになる場合がある。そこで、オリジナルセクションnrの波形データを時間軸上で反転した波形データを挿入セクションniとして用いることにより、かかる不具合を解消することができる。さらに、オリジナルセクションnrと挿入セクションniの接続部分をクロスフェードすると、さらに両者を滑らかに接続することが可能になる。なお、反転した波形データを最後まで読み出すと、該反転波形データの終端部分にアタックノイズが再生され、多少耳障りになることがある。かかる場合は、反転波形データの途中のポイント(例えば先頭から2/3程度の長さのポイント)において、該反転波形データを折り返して(時間軸上でさらに反転させて)読み出すとよい。
【0069】
挿入セクションは以上説明したデフォルトのものに限定されるわけではなく、各オリジナルセクション毎にユーザは所望の挿入セクションの生成態様を指定することができるため、聴感上で最も好ましいものを選択するとよい。また、ステップSP16においては、挿入セクションの波形データが選択されると、その波形データの各部のレベルが、該波形データのエンベロープレベルで除算される。これにより、挿入セクションの波形データは、エンベロープが平坦な波形データに変換される。
【0070】
2.2.7.挿入セクション1i〜12iに対するエンベロープの付与
次に、処理がステップSP18に進むと、挿入セクション1i〜12iのエンベロープ波形が決定される。その決定方法を図14を参照し説明する。図においてあるオリジナルセクションnrのエンベロープレベルの最大値をL1とし、オリジナルセクションnrの終端のエンベロープレベルをL2とし、この最大値L1が現れてからオリジナルセクションnrの終端までの時間をTとする。この期間内においてエンベロープレベルの減衰率drは、
dr=(L1/L2)1/T
によって求めることができる。
【0071】
次に、オリジナルセクションnrに対応する挿入セクションniのエンベロープレベルの初期値を上記L2とし、減衰率drが維持されるように挿入セクションniのエンベロープが決定される。具体的には、挿入セクションniの開始時刻t=0としたとき、挿入セクションni内の各部のエンベロープレベルは、L2/drtによって求められる。これにより、図14に示すように、挿入セクションniのエンベロープ特性は、オリジナルセクションnrに対して自然につながるように設定される。
【0072】
但し、制御ポイントの決定時に単純決定モードが選択された場合等においては、オリジナルセクションnrの終端部においてエンベロープレベルが最大になることも考えられる。かかる場合には、図15に示すように、挿入セクションniのエンベロープレベルは、オリジナルセクションnrの終端時のレベルに制限される。具体的には、上記計算式により求めた減衰率drが1より小さくなる場合に、挿入セクションのエンベロープ値を求めるための減衰率drを強制的に1に設定し、あるいは、減衰率drに関して1より大きな下限値「dr_min」を決めておき、減衰率drが必ずそれより大きくなるように制御してもよい。
【0073】
以上のように、各挿入セクションのエンベロープが決定されると、各挿入セクション1i〜12iの平坦化波形データの各部に対して、該決定されたエンベロープが乗算される。これにより、各挿入セクションの波形データは、この決定されたエンベロープを有するようになる。
【0074】
このように、挿入セクション1i〜12iの波形データが決定されると、結合セクション1t〜12tの波形データが決定されたことに他ならない。これら結合セクション1t〜12tの波形データは、原波形データに代えて、自動演奏情報の波形データトラック224に書き込まれる。さらに、波形タイミングトラック222においては、各結合セクション1t〜12tの開始タイミング(タイミングクロック数)と、これら結合セクションの波形データの立上り時間Ttとが書き込まれる。なお、立上り時間Ttは必須ではないが、これを書き込んでおくことにより、一層好ましいタイミングで波形データを再生することが可能になる(後述する再生テンポ設定/変更処理参照)。
【0075】
2.3.再生テンポ設定/変更処理
ユーザは、演奏処理の前に、あるいは演奏処理の途中で適宜再生テンポを設定/変更することができる。ここで、設定されたテンポが録音時のテンポに等しければ、波形タイミングトラック222(図16参照)に記録されたクロック数をそのまま用いればよい。しかし、再生時のテンポが録音時のテンポとは異なる場合には、単に両者の比に応じて各区間の再生開始タイミングを制御すると、特に立ち上がりの遅い波形において「もたれ」が生じるという問題が生ずる。
【0076】
その内容を図3(a)を参照し説明する。同図(a)において再生開始時刻(0)から波形の立ち上がりが開始されるまでの時間がエッジ開始時間Tsであり、立ち上がりが開始された後、波形レベルがピークに達するまでの時間が立上り時間Ttである。
【0077】
同図(a)の実線は録音時のテンポで再生した波形データのエンベロープレベルを示している。人間の聴覚では、エンベロープレベルのピーク位置すなわち再生開始後「Ts+Tt」の時間が経過したタイミングで拍が生じるように感じられる。次に、同図(a)の一点鎖線は、録音時のテンポをn倍に伸張して波形データを再生した例を示す。なお、図示の例では「n=2」の場合を想定して描画している。この場合、エッジ開始時間は録音時のn倍「nTs」であるが、実際に人間の聴覚で拍を感じる時間は、録音時のn倍「n(Ts+Tt)」よりも短い「nTs+Tt」になる。
【0078】
この結果、波形を伸張して再生すると、好ましいタイミングよりも速いタイミングに拍が生じるように感じられることになる。逆に、録音時よりもテンポを圧縮した場合は、好ましいタイミングよりも遅いタイミングに拍が生じるように感じられることになる。
【0079】
そこで、本実施形態においては、再生テンポが設定または変更された際に、波形タイミングトラック222に記録されている各生成開始クロック数は、該クロック数に対応する時間(クロック数×クロック周期)が「n(Ts+Tt)−Tt」になるような(あるいは最も近くなるような)値に修正される。この結果、図3(b)に示すように、聴感上の拍すなわちピーク位置は、さらに立上り時間Ttだけ経過したタイミングすなわち「n(Ts+Tt)」となる。なお、テンポに応じて生成開始クロック数を変更することに代えて、立上り時間Ttに応じてクロック周期を増減するようにしてもよい。すなわち、テンポクロックが発生する毎に、次のテンポクロックまでの周期を適宜増減することにより、生成開始クロック数自体は一定に保ちつつ、テンポに応じたタイミング制御を行うことが可能になる。
【0080】
2.4.演奏処理
次に、上述した波形タイミングトラック222および波形データトラック224を追加して成る自動演奏情報(合成シーケンスデータ)に基づいて、自動演奏処理を行う動作を説明する。まず、自動演奏の開始が指示されると、指定されたテンポに基づいて4分音符の「1/64」の間隔でテンポクロックが生成される。そして、自動演奏時においては、テンポクロックが発生する毎に図17に示すプログラムが実行される。
【0081】
図17において処理がステップSP32に進むと、変数tcountが「1」だけインクリメントされる。なお、変数tcountは、自動演奏開始時に「0」に初期設定されており、自動演奏開始から現在に至るまでのテンポクロック数をカウントする変数になる。次に、処理がステップSP34に進むと、該変数tcountの値に基づいて波形データ以外のイベントタイミングに達したか否かが判定される。
【0082】
すなわち、自動演奏トラック202,204においては、ノートオン、ノートオフ等のイベントデータが発生順に記録されているが、これらのイベントデータには、当該イベントを発生させるべきテンポクロックに相当するタイミングデータが含まれている。従って、各トラックの先頭のイベントデータ内のタイミングデータを参照することにより、イベントタイミングに達したか否かが判断できる。
【0083】
ステップSP34において「YES」と判定されると、処理はステップSP36に進み、当該イベントデータに対応するイベント処理が実行される。例えば、イベントデータがノートオンイベントであれば、CPU130の指令に基づいて音源122において新たな発音チャンネルが割り当てられ、該発音チャンネルにおいて楽音信号が合成される。合成された楽音信号はミキサ116、DAコンバータ118およびサウンドシステム120を順次介して発音される。また、該イベントデータがノートオフイベントであった場合は、対応する発音チャンネルにおいて消音処理が行われることになる。
【0084】
一方、未だ次のイベントデータのイベントタイミングに達していなければ、ステップSP34において「NO」と判定され、処理はステップSP38に進む。ここでは、何れかの結合セクションの波形データの読出し開始タイミングに達したか否かが判定される。結合セクションの波形データについては、デフォルトの読出し開始タイミングが波形タイミングトラック222に記録されていることは上述した通りである。しかし、ここでいう読出し開始タイミングとは、立上り時間Ttに基づく補正後のタイミング、すなわち上述した「n(Ts+Tt)−Tt」に相当するタイミングである。
【0085】
ここで「YES」と判定されると、処理はステップSP40に進み、対応する波形データの読出しが開始される。ここで、この読出し速度は、後述するピッチシフト量の値に応じて制御される。ピッチシフト量が「0」である場合は、読出し速度が録音時の書込み速度と同じ速度とされ、ピッチシフト量が正の場合はそれより速い速度、ピッチシフト量が負の場合はそれより遅い速度とされる。よく知られているように、読み出された波形データのピッチは該読出し速度が速いほど高くなり、遅いほど低くなる。
【0086】
対応する波形データの読出しが開始されることにより、この時点の直前まで別の波形データの読出し処理が行われていたとしても、ステップSP40においては、該別の波形データと交代する形で新たな波形データの読出しが開始されることになる。一方、ステップSP38において「NO」と判定されると、ステップSP40はスキップされ、読出し中の波形データが変更されることなく、本ルーチンの処理は終了する。
【0087】
上記処理によれば、変数tcountが先頭の結合セクション1tの読出し開始タイミングに達すると、直ちに結合セクション1tの波形読出しが開始される。その後、変数tcountが次の結合セクション2tの読出し開始タイミングに達すると、結合セクション1tの波形データの読出しが中止され、結合セクション2tの波形データの読出しが開始される。結合セクション1tと結合セクション2tとを滑らかに接続するために、結合セクション1tの読出しを中止する部分の波形データと結合セクション2tの読出しを開始する部分の波形データをクロスフェード接続するようにしてもよい。以上の処理により、順次読み出される波形データは、再生回路114、ミキサ116、DAコンバータ118およびサウンドシステム120を順次介して発音される。
【0088】
以下同様に、変数tcountの増加に応じて結合セクション3t以降の読出しが順次開始されてゆく。次に、かかる処理により、実際に生成される楽音波形を図18を参照し説明する。同図(b)は、再生時および録音時のテンポ比を1.00に設定した場合に読み出されるセクションを示す。かかる場合は、各結合セクションの「1/2」すなわちオリジナルセクションの部分が全て読出された時に、次の結合セクションの読出しが開始される。これにより、再生される楽音波形は、原波形データと一致する。
【0089】
また、同図(a)は、再生時および録音時のテンポ比を0.67に設定した場合に読み出されるセクションを示す。かかる場合には、オリジナルセクションの長さを基準にすると約「67%」再生された時点で次のセクションの読出しが開始される。なお、実際に次のセクションの読出しが開始されるタイミングは、該次のセクションの立上り時間Ttに応じて異なることは上述した通りである。これにより、各オリジナルセクションの残りの部分(約33%)および挿入セクションは再生されないことになる。
【0090】
また、同図(c)は、再生時および録音時のテンポ比を1.65に設定した場合に読み出されるセクションを示す。かかる場合には、オリジナルセクションの長さを基準にすると約「165%」再生された時点で次のセクションの読出しが開始される。これにより、各オリジナルセクションと、各挿入セクションの前半約65%の部分が再生されることになる。
【0091】
そして、再生時のテンポや再生に用いられる波形データは、ユーザが操作子104を介してリアルタイムに変更することができる。同様に、各セクションを読出す速度すなわちピッチシフト量も操作子104を介してリアルタイムに変更することが可能である。また、予め定めたシーケンスに基づいて、再生される波形データ、テンポ、あるいはピッチシフト量を自動的に変遷させるようにしてもよい。これにより、ユーザの操作あるいは予め定められたシーケンスに基づいて、多彩な態様で波形データが再生され発音される。
【0092】
3.実施形態の効果
以上のように、本実施形態によれば、原波形データを波形データトラック224に記録する際に、自動演奏情報に対する同期データが波形タイミングトラック222に記録されるから、録音された原波形データおよびこれに基づいて生成された再生用波形データを、元々の自動演奏情報に自動的に同期させることができる。
【0093】
さらに、本実施形態においては、オリジナルのエッジ開始時間Tsおよび立上り時間Ttと、再生時のテンポ(テンポの伸縮率n)との関係に応じて、生成開始クロック数を補正することにより、「n(Ts+Tt)−Tt」のタイミングで各オリジナルセクションの再生を開始させることができるから、テンポの伸縮率nと聴感上の拍タイミングとの整合性を確保することができる。
【0094】
4.変形例
本発明は上述した実施形態に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記実施形態はパーソナルコンピュータ上で動作するアプリケーションプログラムによって波形編集システムを実現したが、同様の機能を各種の電子楽器、携帯電話器、アミューズメント機器、その他楽音を発生する装置に使用してもよい。また、上記実施形態に用いられるソフトウエアをCD−ROM、フロッピーディスク等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
【0095】
(2)上記実施形態においては、波形データ全体のエンベロープを分析したが、基準位置近傍の部分、例えば各検出窓に対応する部分のみ、エンベロープを分析するようにしてもよい。
【0096】
(3)上記実施形態においては、各オリジナルセクションに対応して予め挿入セクションの波形データを生成したが、各挿入セクションの波形データを波形データ再生中に、ないし波形再生の指示を受けて波形データ再生を開始する直前に生成するようにしてもよい。これにより、波形データを格納しておくための記憶容量を削減することができる。
【0097】
(4)原波形データに対する分割位置(制御ポイント)を決定する処理は上記実施形態のものに限定されないことは言うまでもない。例えば、上記実施形態においては、自動演奏情報の拍タイミングを検出窓の基準位置として制御ポイントを決定したが、拍タイミングに代えて、自動演奏情報の各ノートオンタイミング(図16(a)における各音符のタイミング)またはノートオフタイミングを検出窓の基準位置としてもよい。
【0098】
(5)また、上記実施形態においては、一旦原波形データを波形データトラック224に記録した後に制御ポイントを決定する処理を行ったが、CPU130の処理能力が充分に高い場合には、原波形データを録音しながら同時に制御ポイントを決定するようにしてもよい。
【0099】
(6)上記実施形態においては、制御ポイントを決定する際の分解能を原波形データの録音後に指定したが、分解能の指定は原波形データの録音前にしてもよく、録音後にしてもよい。
【0100】
(7)上記実施形態のステップSP8の不要帯域除去処理においては、ハイパス処理およびバンドカット処理によるフィルタ処理を行ったが、これらに代えて、あるいはこれらに加えて他の処理、例えば低域を減衰させる処理や高域をブーストする処理等を行ってもよい。
【0101】
(8)上記実施形態のステップSP110においては、エッジ部分を検出するためにコムフィルタによるフィルタ処理を行ったが、これに代えて、エンベロープの傾きに対応した値を生成するような如何なるフィルタ処理でエッジ検出してもよい。例えば、単純にエンベロープレベルを微分するフィルタ処理でもよいし、さらに、この微分結果に対してローパスフィルタ処理を行ってもよい。
【0102】
(9)上記実施形態のステップSP116においては、弱拍検出のための検出窓の基準位置は、各推定強拍区間を2分する位置、すなわち強拍検出のための基準位置間を2分する位置に設けられた。しかし、弱拍検出のための検出窓の位置はこれに限定されるものではない。すなわち、ステップSP114において実際に抽出された強拍のエッジ開始位置同士あるいはピーク位置同士の間隔を2分する位置を求め、この求めた位置を弱拍検出のための検出窓の基準位置にしてもよい。
【0103】
(10)上記実施形態のステップSP16においては、エンベロープ調整前の挿入セクションの波形データとして、対応するオリジナルセクションの波形データまたはこれを反転したものがそのまま用いられた。しかし、特に安定した音程成分を有するメロディパート等の波形データの場合には、オリジナルセクションの後半部分のピッチを検出し、このピッチ単位でオリジナルセクションの一部(部分波形)を繰り返えすことによって挿入セクションを生成してもよい。これにより、アタック部分特有の不安定さが挿入セクションに現れることを防止することができる。
【0104】
なお、部分波形のサイズは一定(ループ波形)であってもよく、ランダムな長さに設定してもよい。また、オリジナルセクションの後半部分で安定してピッチが検出された場合にはオリジナルセクションの一部を繰り返し、ピッチが検出されなかった場合にはオリジナルセクション全体(またはこれを反転したもの)をコピーして、挿入セクションのエンベロープ調整前の波形データに設定してもよい。
【0105】
(11)また、上記実施形態においては、各挿入セクションは、その直前のオリジナルセクションの波形データ(またはこれを反転したもの)に基づいて作成されたが、次のオリジナルセクションの波形データに基づいて各挿入セクションを生成してもよい。例えば、挿入セクション1iは、オリジナルセクション2rの波形データに基づいて生成してもよい。
【0106】
(12)また、上記実施形態においては、波形データの種別を「パーカッション系」と「持続系」の2種類に分けていたが、波形データを3種類以上の種別に別けてもよい。
【0107】
(13)また、上記実施形態においては、拍子の設定に応じて強拍抽出用の検出窓を設定し、分解能の設定に応じて弱拍抽出用の検出窓を設定したが、これらを必ずしも拍子や分解能に応じて設定する必要はない。例えば、強拍抽出用の検出窓と弱拍抽出用の検出窓とをそれぞれ独立して指定するようにしてもよい。あるいは、設定された拍子に応じて、強拍抽出用の検出窓と弱拍抽出用の検出窓とをそれぞれ設定するようにしてもよい。さらに、前述したような録音時のメトロノームのタイミングに基づいて両検出窓を設定する方法もある。
【0108】
【発明の効果】
以上説明したように本発明によれば、自動演奏情報と波形データとのタイミングの関係を示す同期データを記録しつつ、波形データを記録するため、波形データを自動演奏情報に容易に同期させることができる。
さらに、該波形データのエンベロープレベルを求め、同期データと、エンベロープレベルとに基づいて、波形データの区切り位置を求める構成によれば、有効な立ち上がり位置を区切り位置として効率的に抽出ことができる。さらに、推定拍位置に対応して立ち上がり位置を抽出することにより、誤検出を防止し、安定して立ち上がり位置を検出することができる。換言すれば、本来区切ることが期待されている位置の付近で、かつ、音楽的により適切な位置を区切り位置とすることができ、区切り位置が誤検出されたり、音楽的に適切でない位置で分割されるような事態を未然に防止することができる。
【0109】
さらに、自動演奏情報の拍タイミング、ノートオンタイミングまたはノートオフタイミングに基づいて、推定拍位置を決定する構成によれば、自動演奏情報に元々含まれている情報を効率的に利用しつつ区切り位置を検出することができる。
さらに、上記拍タイミング、ノートオンタイミングまたはノートオフタイミングに基づく一つの所定の範囲に属する複数の立ち上がり位置のうち、一つの立ち上がり位置を選択して波形データの区切り位置として抽出する構成によれば、不要な立ち上がり位置を効率的に除去することが可能になる。
【図面の簡単な説明】
【図1】 本発明の一実施形態の波形編集システムのブロック図である。
【図2】 上記実施形態において挿入セクションおよび結合セクションを生成する処理の動作説明図である。
【図3】 従来例および上記実施形態における再生処理の動作説明図である。
【図4】 上記実施形態における再生用波形データ生成処理のフローチャートである。
【図5】 上記実施形態における不要帯域除去処理(SP8)の前後の波形図である。
【図6】 デフォルトの制御ポイント決定処理のフローチャートである。
【図7】 絶対値化処理(SP104)の出力波形図である。
【図8】 エンベロープフォロア処理(SP106)の等価回路図である。
【図9】 エッジ検出フィルタ処理の等価回路図およびその各部の波形図である。
【図10】 エッジ検出フィルタ処理、エッジ開始位置/ピーク位置検出処理、および強拍抽出処理(SP110〜SP114)の出力波形図である。
【図11】 エッジ開始位置/ピーク位置検出処理(SP112)の動作説明図である。
【図12】 弱拍抽出処理(SP116)の動作説明図および出力波形図である。
【図13】 挿入セクションniにおける波形データの設定処理の動作説明図である。
【図14】 挿入セクションniにおけるエンベロープレベルの設定処理の動作説明図である。
【図15】 挿入セクションniにおけるエンベロープレベルの設定処理の動作説明図である。
【図16】 自動演奏情報と原波形データとのタイミング関係を示す図である。
【図17】 演奏処理ルーチンのフローチャートである。
【図18】 再生される波形データの圧縮/伸張処理の説明図である。
【図19】 パーカッション系選択ボタン80および持続系選択ボタン82を示す図である。
【図20】 自動演奏&波形録音処理ルーチンのフローチャートである。
【図21】 波形録音制御ウィンドウ150の表示例を示す図である。
【符号の説明】
1i〜12i……挿入セクション、1r〜12r……オリジナルセクション、1t〜12t……結合セクション、60……遅延回路、62……減算器、64……スイッチ、66,68……乗算器、70……加算器、72……遅延回路、74……減算器、80……パーカッション系選択ボタン、82……持続系選択ボタン、102……表示器、104……操作子、106……マイクロフォン、108……ADコンバータ、110……録音回路、112……ハードディスク、114……再生回路、116……ミキサ、118……DAコンバータ、120……サウンドシステム、122……音源、124……MIDIインターフェース、126……インタフェース、128……タイマ、130……CPU、132……ROM、134……RAM、150……波形録音制御ウィンドウ、151……自動演奏ファイルテキストボックス、152……自動演奏スタートボタン、154……自動演奏ストップボタン、156……波形録音スタートボタン、158……波形録音ストップボタン、159……キャンセルボタン、202,204……自動演奏トラック、222……波形タイミングトラック、224……波形データトラック。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a waveform data analysis method, a waveform data analysis apparatus, and a recording medium that are suitable for automatic performance in personal computers, electronic musical instruments, amusement devices, and the like, particularly for automatic accompaniment.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, a technique for recording a natural instrument sound or the like having a certain length and automatically and repeatedly reproducing it at a speed corresponding to a set tempo is known. This technique is used for automatic accompaniment of rhythm sounds and the like, but it is necessary to compress or expand the original waveform according to a set tempo. In order to execute such processing, the following apparatuses or software are conventionally known.
[0003]
(1) Sampler
A sampler samples an analog waveform and converts it into digital waveform data. It is known to record a single sound waveform and record a phrase waveform composed of multiple sounds. The latter is especially called a phrase sampler.
[0004]
(2) Slicer
The slicer assigns note numbers to the separated waveform data in order from the beginning, and automatic performance information consisting of the assigned note number and timing (separation position), that is, sequence data for driving the separated waveform data Is generated and stored. Based on this automatic performance information, when the automatic performance is performed at the tempo at the time of recording and the waveform data separated by the reproduced note-on event is triggered, the original waveform data (the waveform data before the division) is reproduced. Here, if the tempo is changed, the timing of the note-on event changes according to the tempo, and the waveform data as a whole is expanded or contracted in the time axis direction.
[0005]
(3) Sequencer
The sequencer reproduces the sequence data. However, not only the sequence data is reproduced as it is, but also the sequence data can be reproduced at a desired tempo by appropriately increasing / decreasing the reproduction speed. Of course, it is possible to independently change the reproduction timing of each unit waveform data by editing the sequence data in advance. When this sequence data is supplied to an appropriate sound source, a musical sound waveform based on the reproduction sequence data is reproduced.
[0006]
Next, the state of the reproduced musical sound waveform will be described in more detail with reference to FIGS. 2 (a) and 2 (b).
FIG. 5A shows original waveform data in which natural musical instrument sounds and the like are recorded in stereo. When this original waveform data is divided at the rising edge of the envelope (broken line portion in the figure, hereinafter referred to as “control point”), for example, as shown in FIG. ) It can be divided into 1r to 12r. When performing automatic rhythm accompaniment or the like using the original waveform data, if the original waveform data is reproduced at the same tempo as when the original waveform data was recorded, the original waveform data may be reproduced repeatedly without any particular processing.
[0007]
If the tempo during playback is faster than during recording, it is necessary to shorten the playback portion of each original section 1r-12r. For this purpose, the end portion of each section may be cut at a certain rate. For example, if the tempo at the time of recording is “100” and the tempo at the time of reproduction is “125”, the end portions of the original sections 1r to 12r may be cut by 20% and the remaining waveform data may be reproduced.
[0008]
On the other hand, a problem arises when the playback tempo is slower than the recording tempo. That is, if the playback start timing of each section is simply delayed in accordance with the tempo at the time of playback, a silent section is generated in the gap between the sections, which is annoying. Therefore, it is general that the gap between the sections is reproduced by adding the waveform data of the immediately preceding section by a necessary length. At that time, the initial value of the amplitude of the part to be added is set to coincide with the amplitude of the part immediately before.
[0009]
[Problems to be solved by the invention]
Here, a new track is added to some originally existing sequence data (original sequence data) such as automatic performance information, and the sequence data (additional sequence data) obtained by the above technique is written to the added track. Assume that the sequence data (synthesis sequence data) of the ensemble is created.
[0010]
Here, since the original sequence data and the additional sequence data are recorded without being related to each other, if the additional sequence data is simply written on a new track, there arises a problem that the timing of both is shifted. For this reason, it is necessary to carefully adjust both timings, which is very complicated. In particular, when the tempo of the original sequence data is changing in the middle, it is necessary to perform timing adjustment everywhere in the music. Conventionally, since the waveform data is divided based only on the break position obtained by analyzing the envelope of the waveform data, the break position may be erroneously detected or may be divided at a musically inappropriate position. there were.
[0011]
The present invention has been made in view of the above-described circumstances, and an object thereof is to provide a waveform data analysis method, a waveform data analysis apparatus, and a recording medium that can record waveform data in association with original sequence data.
[0012]
[Means for Solving the Problems]
  In order to solve the above problems, the present invention is characterized by having the following configuration. The parentheses are examples.
  2. The waveform data analysis method according to claim 1, wherein a process of starting reproduction of automatic performance information, a process of starting recording of waveform data, and a timing relationship between the automatic performance information and the waveform data are shown. Recording the waveform data while recording synchronization control data, obtaining the envelope level of the waveform data,The automatic performance information;It has a delimiter position detection process (steps SP106 to SP118) for obtaining a delimiter position (control point) of the waveform data based on the synchronization control data and the envelope level.
  Furthermore, in the configuration according to claim 2, in the waveform data analysis method according to claim 1, the separation position detection process (steps SP106 to SP118) is based on the automatic performance information and the synchronization control data. An estimation process for determining an estimated break position (reference position) of the waveform data, a detection process for detecting one or more rising positions of the waveform data within a predetermined range corresponding to the estimated break position, and detection And an extraction process of extracting any one of the one or a plurality of rising positions as a delimiter position.
  Furthermore, in the configuration according to claim 3, in the waveform data analysis method according to claim 2, the predetermined range (detection window) includes first and second predetermined ranges, and the extraction process includes With respect to rising positions belonging to the first predetermined range, the rising positions are divided on the condition that a level value (peak level) corresponding to each of the rising positions exceeds a predetermined first threshold value (threshold value Th1). The second threshold value (threshold value) is extracted as a position and the level value (peak level) corresponding to each of the rising positions belonging to the second predetermined range is lower than the first threshold value (threshold value Th1). It is a process of extracting the rising position as the separation position on condition that Th2) is exceeded.
  Furthermore, in the configuration according to claim 4, in the waveform data analysis method according to claim 2, the estimation process is performed based on the beat timing, note-on timing, or note-off timing of the automatic performance information. The estimated delimiter position of data is determined.
  Furthermore, in the configuration according to claim 5, in the waveform data analysis method according to claim 2, the extraction process uses any rising position as the separation position based on the intensity of the detected rising position. It is characterized by extracting.
  The waveform data analysis method according to claim 6, wherein the process of starting reproduction of automatic performance information, the process of starting recording of waveform data, and the timing relationship between the automatic performance information and the waveform data Recording the waveform data while recording the synchronization control data indicating, determining the estimated beat position based on the beat timing of the automatic performance information and the synchronization control data, and based on the estimated beat position And a delimiter position determining step for obtaining a delimiter position of the waveform data.
  The waveform data analysis method according to claim 7, wherein a process of starting reproduction of automatic performance information, a process of starting recording of waveform data, and a timing relationship between the automatic performance information and the waveform data Recording the waveform data while recording the synchronization control data indicating, the process of determining the estimated rising position based on the note-on timing of the automatic performance information and the synchronization control data, and the estimated rising position And a delimiter position determining process for determining a delimiter position of the waveform data based on the waveform data.
  The waveform data analysis method according to claim 8, wherein a process of starting reproduction of automatic performance information, a process of starting recording of waveform data, and a timing relationship between the automatic performance information and the waveform data. The process of recording the waveform data while recording the synchronization control data indicating, the process of determining the estimated separation position based on the automatic performance information and the synchronization control data, and the estimated separation position in the waveform data The method includes an analysis process for analyzing a neighboring portion, and a delimiter position determination process for obtaining a delimiter position of the entire waveform data based on the analysis result.
  Furthermore, in the configuration according to claim 9, in the waveform data analysis method according to claim 8, the analysis process is a process of detecting a rising position by analyzing an envelope of the waveform data. And
  Furthermore, in the configuration according to claim 10, in the waveform data analysis method according to claim 8, the delimiter position determination step is performed for each estimated delimiter position based on a plurality of rising positions included in the analysis result. One delimiter position is determined.
  Furthermore, in the configuration according to claim 11, in the waveform data analysis method according to any one of claims 1 to 10, the tempo clock of the automatic performance for reproducing the automatic performance information and the sampling period of the waveform data are The synchronization control data includes timing data indicating recording start timing of the waveform data.
  Furthermore, in the configuration according to claim 12, in the waveform data analysis method according to any one of claims 1 to 10, the synchronization control data includes timing data indicating a recording start timing of the waveform data; A tempo clock for automatic performance and synchronization data for synchronizing the sampling period of the waveform data are included.
  The waveform data analysis apparatus according to claim 13 is characterized in that the waveform data analysis method according to any one of claims 1 to 12 is executed.
  The computer-readable recording medium according to claim 14 stores a program for causing a computer to execute the waveform data analysis method according to any one of claims 1 to 12.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
1. Hardware configuration of the embodiment
Next, the hardware configuration of the waveform editing system according to the embodiment of the present invention will be described with reference to FIG. The waveform editing system includes an application program and a driver that operate on a general-purpose personal computer.
[0014]
In the figure, reference numeral 102 denotes a display that displays various types of information to the user. Reference numeral 104 denotes an operator, which includes a keyboard and a mouse. Reference numeral 106 denotes a microphone that detects a musical sound signal (analog waveform) of a natural musical instrument or the like. Reference numeral 108 denotes an AD converter, which samples the analog waveform and converts it into a digital signal. A recording circuit 110 directly accesses the hard disk 112 (performs a DMA operation) and stores the digital signal in the hard disk 112 as waveform data. In addition to these waveform data, the hard disk 112 stores a general-purpose personal computer operating system, a waveform editing application program described later, and the like.
[0015]
A reproduction circuit 114 directly accesses the hard disk 112 (performs a DMA operation), reads waveform data to be reproduced, and supplies the waveform data to the mixer 116. A sound source 122 synthesizes musical tone signals based on performance information supplied via the bus line 136 and supplies the synthesized musical tone signals to the mixer 116. In the mixer 116, the waveform data and the tone signal supplied from the reproduction circuit 114 and the sound source 122 are synthesized.
[0016]
A DA converter 118 converts the mixing result of the mixer 116 into an analog signal. A sound system 120 amplifies the analog signal and produces a sound. A MIDI interface 124 exchanges MIDI signals with an external MIDI device. Reference numeral 126 denotes another interface that exchanges waveform data and the like with an external device. A timer 128 generates a timer interrupt every predetermined time.
[0017]
A CPU 130 controls each part of the waveform editing system via the bus line 136 based on a program described later. A ROM 132 stores an initial program loader and the like. Reference numeral 134 denotes a RAM which is read and written by the CPU 130.
[0018]
2. Operation of the embodiment
2.1. Recording process of original waveform data
Next, the operation of this embodiment will be described.
First, when the personal computer is turned on, the initial program loader stored in the ROM 132 is executed, and the operating system is started up. When a predetermined operation is performed in this operating system, the waveform editing application program of this embodiment is started. When a predetermined operation is performed in this application program, an automatic performance & waveform recording processing routine shown in FIG. 20 is started.
[0019]
In FIG. 20, when the processing proceeds to step SP202, preparation processing relating to automatic performance and waveform recording is performed. Then, a waveform recording control window 150 shown in FIG. In the waveform recording control window 150, reference numeral 151 denotes an automatic performance file text box, which is provided for designating an automatic performance file name. Reference numeral 152 denotes an automatic performance start button, which is provided to instruct the start of reproduction of a designated automatic performance file. Reference numeral 154 denotes an automatic performance stop button, which is provided for instructing to stop the reproduction of the automatic performance file.
[0020]
A waveform recording start button 156 is provided to instruct the start of waveform recording via the AD converter 108 and the recording circuit 110. Reference numeral 158 denotes a waveform recording stop button, which is provided to instruct to stop the waveform recording. Reference numeral 159 denotes a cancel button, which is provided for instructing to cancel all processes. In the initial state, only the automatic performance file text box 151 among the elements in the waveform recording control window 150 is set to the active (operable) state, and the buttons 152 to 159 are set to the inactive (operation prohibited) state. The
[0021]
Here, when the user inputs an appropriate file name of an automatic performance file (for example, SMF: standard MIDI format file) into the automatic performance file text box 151, the automatic performance start button 152 and the cancel button 159 are set in an active state. , Other elements are set to the inactive state.
[0022]
Next, when the process proceeds to step SP204, an operation event of each element in the active state is detected in the waveform recording control window 150. Next, when the process proceeds to step SP206, the process branches based on the detection result of step SP204. First, when no operation event is detected, the process returns to step SP204, and the detection of the operation event is continued. When the cancel button 159 is clicked with the mouse in the waveform recording control window 150, the processing of this application program is immediately terminated.
[0023]
On the other hand, when automatic performance start button 152 is clicked with the mouse in waveform recording control window 150, the process proceeds to step SP208. Here, the reproduction of the previously specified automatic performance file is started. Furthermore, in step SP208, the automatic performance stop button 154 and the waveform recording start button 156 are set to the active state, and the other elements are set to the inactive state.
[0024]
Next, when the process proceeds to step SP210, an operation event of each element in the active state is detected in the waveform recording control window 150. Next, when the process proceeds to step SP212, the process branches based on the detection result of step SP210. First, when no operation event is detected, the process returns to step SP210, and the detection of the operation event is continued. When the automatic performance stop button 154 is clicked with the mouse, the reproduction processing of the automatic performance file is stopped and the processing of this application program is immediately terminated.
[0025]
On the other hand, when waveform recording start button 156 is clicked with the mouse in waveform recording control window 150, the process proceeds to step SP214. Here, recording of waveform data obtained through the microphone 6, the AD converter 8 and the recording circuit 10 in sequence is started. That is, the waveform data is recorded on the hard disk 112 sequentially through the DA converter 118 and the recording circuit 110. Further, in step SP214, the automatic performance stop button 154 and the waveform recording stop button 158 are set to the active state, and the other elements are set to the inactive state.
[0026]
Here, details of the waveform recording process will be further described with reference to FIG.
FIG. 6A shows a score of automatic performance information, and the timing marked with “↑” is the beat timing. FIG. 4B shows a phrase waveform (original waveform data) to be recorded, which is displayed in accordance with the corresponding timing in FIG. FIG. 3C shows the relationship between waveform data (original waveform data) recorded on the hard disk 112 and automatic performance information.
[0027]
In FIG. 2C, reference numerals 202 and 204 denote automatic performance tracks, which are included in the original automatic performance information (original sequence data). Reference numeral 224 denotes a waveform data track on which recorded original waveform data is recorded. Reference numeral 222 denotes a waveform timing track, in which synchronization control data for synchronizing the automatic performance tracks 202 and 204 and the waveform data track 224 is recorded. Here, the synchronization control data includes data such as recording start timing and synchronization data described later. The waveform timing track 222 and the waveform data track 224 are tracks added to the automatic performance information when the recording process is performed.
[0028]
As is apparent from the processing content up to step SP214, when waveform recording is started, automatic performance has already started. Accordingly, as shown in FIGS. 16A and 16B, the waveform recording start timing is specified by the timing on the performance information of the automatic performance (for example, the number of timing clocks after the automatic performance is started). This identified start timing is recorded in the waveform timing track 222.
[0029]
Thereafter, the waveform recording process and the automatic performance process are continued, but both processes are executed in synchronization with each other. Specifically, the following method is adopted.
(1) The sampling frequency of waveform data is synchronized with the tempo clock for automatic performance. In this case, there is no need to store synchronization data to be described later.
(2) While sampling the waveform data, the synchronization data is recorded on a predetermined track of the automatic performance data (the waveform timing track 222 in the example of FIG. 16).
[0030]
In the above method (2), the following variations can be considered according to the recorded synchronization data. Needless to say, the method of ensuring the synchronization between the automatic performance process and the waveform recording process is not limited to the method described here.
(2-1) For each predetermined number of tempo clocks, record the sample number of the waveform data at that time.
(2-2) Record the sample number of the waveform data at each beat timing (for example, the timing marked with “↑” in FIG. 16A).
(2-3) A sequence position is recorded every predetermined number of samples (for example, every 1000 samples) of the waveform data.
[0031]
Returning to FIG. 20, when the process proceeds to step SP <b> 216 next, an operation event of each element in the active state is detected in the waveform recording control window 150. Next, when the process proceeds to step SP218, the process branches based on the detection result of step SP216. First, when no operation event is detected, the process returns to step SP216, and the detection of the operation event is continued. If the automatic performance stop button 154 is clicked with the mouse, the process proceeds to step SP222, and the reproduction process of the automatic performance file is stopped. On the other hand, if waveform recording stop button 158 is clicked on with a mouse, the process proceeds to step SP220, and the waveform data recording process is stopped.
[0032]
In any case, the process then proceeds to step SP224, where it is determined whether both automatic performance and waveform recording are stopped. Here, if at least one of the processes is continuing, “NO” is determined, the process returns to step SP216, and the detection of the operation event is continued. When both the automatic performance and the waveform recording are stopped, “YES” is determined when the processing proceeds to step SP224 next time, and the processing of this routine ends.
[0033]
Through the above processing, it is understood that the recorded waveform data (original waveform data) is recorded while being associated with the timing of the automatic performance information by the synchronization control data. However, in the processing contents so far, since a series of original waveform data is recorded as it is in the waveform data track 224, it is not possible to cope with an increase or decrease in the tempo of automatic performance. Therefore, since processing such as dividing the original waveform data into a plurality of original sections is necessary, the contents of such processing will be described in detail below.
[0034]
2.2. Waveform data generation processing for playback
2.2.1. Trimming processing (SP2, SP4)
When a predetermined operation is performed after the original waveform data is acquired by the waveform recording process, the program shown in FIG. 4 is started in the waveform editing application program. First, in the original waveform data, there may be a silent section at the start and end. Therefore, when the process proceeds to step SP2, both silent sections are automatically trimmed (deleted).
[0035]
However, when noise is included in the original waveform data, trimming may not always be performed at an appropriate position. Therefore, when the process proceeds to step SP4, the user can arbitrarily correct the automatically determined default trimming position.
[0036]
2.2.2. Parameter setting (SP6)
Next, when the process proceeds to step SP6, various parameters for control point detection are designated by the user. The parameters specified are as follows.
(1) Waveform type: This parameter specifies, for example, the type of waveform data, and is broadly divided into “percussion”, “persistent”, etc., and a plurality of parameters suitable for the original waveform data of various instruments. It is classified as a variation. Based on this waveform type, default values of other parameters described later, such as a threshold value, are determined.
[0037]
By the way, the selection of the “waveform type” is performed as follows. That is, the percussion type selection button 80 and the continuous type selection button 82 as shown in FIG. 19 are displayed on the display 102, and when the user clicks any button with the mouse, the corresponding waveform type is selected. The above-mentioned “percussion type” is not only suitable for use in percussion type waveform data but also preferably applied to intermittent waveform data of other systems. As shown in the figure, since the intermittent waveform is drawn on the percussion type selection button 80 and the continuous waveform is drawn on the continuous type selection button 82, the user can determine the desired waveform type at a glance. can do.
[0038]
(2) Resolution: This parameter is a parameter that specifies the resolution with which the waveform data is searched per bar in order to detect the control points of the strong beat and the weak beat. For example, when “time signature” is “4/4”, “resolution” is “4 minutes”, “4 minutes + 3”, “8 minutes”, “8 minutes + 3”, “16 minutes”, “16 minutes + 3”. "Or" 32 minutes "can be specified (where" +3 "indicates division into triplets). Here, “4 minutes” is the timing to divide one measure into 4 minutes (quarter note timing), “4 minutes + 3” is the timing to 12 minutes, “8 minutes” is the timing to 8 minutes (8th note timing) “8 minutes + 3” is a timing for 24 minutes, “16 minutes” is a timing for 16 minutes, “16 minutes + 3” is a timing for 48 minutes, and “32 minutes” is a timing for 32 minutes. It will be. In setting the resolution, it is necessary to specify the “time signature”, but since this is originally included as a parameter of the automatic performance information, the value of the parameter is used.
[0039]
2.2.3. Unnecessary band elimination filter processing (SP8)
The trimmed waveform data includes various frequency components, but this also includes components (unnecessary bands) that become obstacles for control point detection. Therefore, when the process proceeds to step SP8 next, filter processing is performed to remove these unnecessary bands. This filter processing is roughly divided into two types, band cut processing and high-pass processing. Since the manner in which unnecessary bands are distributed differs depending on the music and musical instrument, the content of the filter processing is the above “waveform type”. It is preferable to determine accordingly. In other words, either or both of the band cut process and the high-pass process are executed according to the waveform type, and the parameters for the filter process are also determined according to the waveform type.
[0040]
Here, an example of setting parameters in the filter processing will be described.
First, a component having a pitch such as a melody in the waveform data is highly likely to become an obstacle when detecting a control point. As a result of analysis of various musical pieces, such components, that is, components of sustained parts such as vocals and bass, often appear in the band of “80 Hz to 8 kHz”, and particularly appear in the band of “100 Hz to 300 Hz”. Therefore, in the band cut process, a filter process is performed in which the band of “80 Hz to 8 kHz” is attenuated, and particularly, the band of “100 Hz to 300 Hz” is strongly attenuated. In addition, since the attack parts (consonant, attack noise, etc.) such as vocals and bass are spread outside the band, the control point can be detected even if filter processing is performed.
[0041]
In band performances, etc., high-frequency sounds such as cymbals are often engraved regularly. In such a case, it is preferable to perform high-pass processing that extracts only this regular high-frequency component. Note that a steep filter characteristic is not required in either the band-cut process or the high-pass process, so it is practically sufficient to use a primary filter in the high-pass process and a secondary filter in the band-cut process. As an example of the result of this unnecessary band removal filter process, FIG. 5A shows the waveform data after trimming, and FIG. 5B shows the waveform of the filter process. In this example of waveform data, the number of bars is “2 bars”, the time is “4/4 time”, and the resolution is “8 minutes”.
[0042]
2.2.4. Default control point determination (SP12)
Next, when the process proceeds to step SP12, a default control point is automatically determined based on the beat timing of the automatic performance information that was reproduced during recording. Since the beat timing is determined by the time signature of the automatic performance information, the beat timing is generated at intervals such as quarter notes or eighth notes. When the tempo changes during the automatic performance, the beat timing changes according to the changed tempo.
[0043]
On the other hand, for the waveform data, the rising start position, peak position, etc. of the volume envelope are detected, and a default control point is set based on the relationship between these detection results and beat timing. The default control point thus determined is displayed on the display 8 together with the waveform data. An example of the display is shown in FIG. In the figure, the waveform data is recorded in stereo, and two systems, left (upper) and right (lower), are shown. The control point is indicated by a vertical broken line on the window in the figure, and is common to both systems. Details of the process for determining the default control point will be described below with reference to FIG.
[0044]
(1) Downsample processing (SP102)
In FIG. 6, when the processing proceeds to step SP102, down-sampling processing is performed on the waveform data from which unnecessary bands are removed. This is because the sampling frequency required to determine the control point is much lower than the sampling frequency of audio data for viewing, so it is preferable to lower the sampling frequency to speed up subsequent processing. That's why.
(2) Absolute value processing (SP104)
Next, when the process proceeds to step SP104, the absolute value of the downsampled waveform data is obtained. An example of the absolute value obtained corresponding to the waveform of FIG. 5B is shown in FIG.
[0045]
(3) Envelope follower processing (SP106)
Next, when the process proceeds to step SP106, an envelope follower process is performed on the absolute value waveform of FIG. This is a process to obtain the envelope waveform of the absolute value waveform. The point is that the envelope waveform rises sharply with respect to the rising edge of the absolute value waveform and gradually falls with respect to the falling edge of the absolute value waveform. There are features. Here, an example in which the algorithm of the envelope follower process is expressed by an equivalent circuit block is shown in FIG. This is a low-pass filter that uses different coefficients when the input rises and falls as a circuit.
[0046]
In FIG. 8, 60 is a delay circuit, which stores the envelope level before one sampling period (period after down-sampling, hereinafter the same). 62 is a subtracter, which subtracts the envelope level one sampling period before from the absolute value waveform level of the current sampling period, and outputs the result as a difference signal d. Reference numerals 66 and 68 denote multipliers. When a difference signal d is supplied to each of them, they are multiplied by coefficients a1 and a2 (where 1> a1> a2> 0) and output.
[0047]
Reference numeral 64 denotes a switch. When the difference signal d is “0” or more, the multiplier 66 is selected. When the difference signal d is less than “0”, the multiplier 68 is selected. The difference signal d is supplied to the multiplier. Reference numeral 70 denotes an adder, which outputs the addition result of the output signals of the selected multipliers 66 and 68 and the envelope level one sampling period before as the envelope level in the current sampling period. A waveform obtained by the envelope follower process is shown in FIG. In order to remove fine fluctuations from this waveform, low-pass filter processing is further performed in step SP106. The result of this low-pass filter process is shown in FIG.
[0048]
(4) Compressor processing (SP108)
In FIG. 6, when the process proceeds to step SP108, the compressor process is executed. That is, the average value of the envelope level based on the result of the envelope follower process is calculated, and the envelope level is corrected so that the level higher than the average value is low and the level lower than the average value is high. The result of such processing is shown in FIG.
[0049]
(5) Edge detection filter processing (SP110)
In FIG. 6, when the process next proceeds to step SP110, an edge detection filter process is executed. This is a process that emphasizes the rise and fall of the envelope level. Here, FIG. 9A shows an example in which the edge detection filter processing algorithm is expressed by an equivalent circuit block (comb filter).
[0050]
In FIG. 9A, reference numeral 72 denotes a delay circuit, which uses an envelope level subjected to compressor processing as an input signal, and outputs the delayed signal by delaying it by n sampling periods (n is a natural number of 2 or more). 74 is a subtracter, which subtracts the input signal before n sampling periods from the input signal of the current sampling period and outputs the result as an edge detection filter processing result. (B) in the figure shows an example of an input signal, (c) in the figure shows an example of a signal that is delayed by n sampling periods and is inverted, and (c) in the figure shows an example of a filter output signal (waveforms in FIGS. Subtraction result). FIG. 10 (a) shows the result of applying such processing to the waveform of FIG. 7 (d).
[0051]
(6) Edge start position / peak position detection processing (SP112)
In FIG. 6, when the process next proceeds to step SP112, an edge start position / peak position detection process is executed. This is processing for detecting the rising edge and peak position of the input signal using the edge detection filter processing result as an input signal. The outline of this process will be described with reference to FIG. FIG. 2A shows a diagram in which a part of the input signal is enlarged on the time axis. In this figure, the input signal is compared with a predetermined threshold Th, and the time when the input signal exceeds the threshold Th is defined as the edge start position (time t1).
[0052]
The output signal level shown in FIG. 5B is set to “0” before time t1, and is set to “−M” (M is a predetermined value) at time t1. Further, at the peak position of the input signal, the output signal is set to the peak value for one sampling period, and then falls to “0” again. The result of performing the processing relating to the waveform of FIG. 10A is shown in FIG.
[0053]
In the signal of FIG. 5B, the timing when the level falls to “−M” is the “edge start position”, and the time during which the level of “−M” continues is the time from the edge start position to the peak position (rising edge). Equal to time Tt). Furthermore, the peak level is equal to the peak level of the edge detection filter processing result ((a) in the figure). Note that the edge start position, the rise time Tt, and the peak level are collectively referred to as “edge information”.
[0054]
(7) Strong beat extraction processing (SP114)
In FIG. 6, when the process next proceeds to step SP114, a strong beat extraction process is executed.
First, as described above, since the original waveform data is recorded in synchronization with the automatic performance tracks 202 and 204 of the automatic performance information, the detection window is determined according to the beat timing of the automatic performance information. This detection window uses the beginning of each section in one measure divided according to the time signature (hereinafter referred to as an estimated strong beat section) as a reference position, and has a width of 1/8 to 1/2 of these estimated strong beat sections. Have. In addition, which value is specifically adopted in the range of 1/8 to 1/2 is determined according to the parameter of “waveform type”.
[0055]
Here, the detection window when the number of bars in the waveform data is “2”, the time signature is “4/4”, and the window width is “1/6” of the estimated strong beat section is shown in FIG. This is shown in FIG. In this figure, the shaded portion is a detection window, and a portion of “1/3” (1/18 of the estimated strong beat section width) of each detection window is “2 / 3 ”(2/18 of the estimated strong beat section width) is set to be located after the reference position.
[0056]
Next, among the edge information to which the peak position belongs to each detection window, information whose peak level exceeds a predetermined threshold Th1 is extracted. However, when a plurality of edge information exists in one detection window, only edge information having the maximum peak level is extracted. The result of performing such extraction on the waveform of FIG. 10C is shown in FIG. In FIG. 4C, the first (leftmost) detection window has two edge information peak positions exceeding the threshold Th1, but referring to FIG. 4D, an edge with a higher peak level is shown. Only information is extracted. Also, edge information exists in the sixth detection window from the left end in the figure (c), but since the peak level does not exceed the threshold value Th1, it is not extracted in the figure (d).
[0057]
(8) Weak beat extraction processing (SP116)
In FIG. 6, when the process proceeds to step SP116 next, a weak beat extraction process is executed.
In this process, the reference position of the detection window is set at a position where each bar is divided based on the “resolution” parameter specified in the parameter setting process (SP6) described above. However, the reference position corresponding to the detection window in which a strong beat has already been detected in the previous step SP114 is excluded in this step.
[0058]
Therefore, if a strong beat is detected in each detection window in step SP114, for example, a new detection window having a beat timing of 8 minutes between the beat timings of 4 minutes of the automatic performance information as reference positions is provided. Will be provided. On the other hand, for the detection window from which the strong beat was not previously extracted (sixth detection window from the left end in FIG. 10C), the detection window for extracting the weak beat is again at the same position, that is, in this step. The beat timing position is set to 4 minutes. As a result, the detection window for weak beat extraction is set as shown in the shaded portion in FIG.
[0059]
Also in this process, “1/3” (1/18 of the estimated strong beat section width) of each detection window is set to “2/3” (2/18 of the estimated strong beat section width) before the reference position. ) Is set to be positioned after the reference position. Next, the edge information to which the peak position belongs to each detection window is extracted that exceeds a predetermined threshold Th2. However, when a plurality of edge information exists in one detection window, only edge information having the maximum peak level is extracted.
[0060]
Here, the threshold value Th2 is set to a level of about “1/5” of the threshold value Th1, and the threshold value Th is set to a value smaller than the threshold value Th2. The extraction result of the strong beat and the weak beat extracted by the processing so far is shown in FIG. According to FIG. 5B, the edge information that is not extracted because the peak level is insufficient in the previous strong beat extraction process (SP114) is also extracted by the current extraction process. Of the edge information extracted in steps SP114 and SP116, the edge start position is nothing but the control point described in FIG.
[0061]
(9) Control point forced setting process (SP118)
Next, when the process proceeds to step SP118, if necessary, the control point is forcibly set to the reference position of the detection window where no edge information has been detected so far. “When necessary” specifically refers to the case where “sustained” is specified as the waveform type. The reason for this setting is that the envelope of the “sustained system” waveform is not regularly attenuated (simple attenuation), so the control point is forcibly set even at a position where no rise is detected. This is because the time axis control that is musically appropriate can be performed by setting.
[0062]
2.2.5. Control point editing process (SP14)
Next, when the process proceeds to step SP14, the default control point is edited by the user. Specifically, control points are added, deleted, or moved as necessary on the window.
[0063]
2.2.6. Determination of flattened waveform data for insertion sections 1i-12i
As described above, the section delimited by the start point, end point, and control point of the waveform data is referred to as “original section” in this specification. If the control point is determined as shown in FIG. 2 (a), the waveform data is divided into 12 original sections 1r-12r as shown in the upper rectangular row of FIG. 2 (b). become.
[0064]
Next, as shown in the lower rectangular column in FIG. 5B, 12 sections (insertion sections 1i to 12i) having the same length as each original section are created. The waveform data following the original sections 1r to 12r is stored in 12i. As a result, the original sections 1r to 12r and the corresponding insertion sections 1i to 12i are joined to obtain joined sections 1t to 12t as shown in FIG. Therefore, details of such processing will be described below.
[0065]
Returning to FIG. 4, when the process proceeds to step SP <b> 16, the waveform data (before the envelope adjustment) set in the insertion sections 1 i to 12 i by the user
(1) As shown in FIG. 13 (a), the next waveform data (n + 1) r of the corresponding original section nr (where n = 1 to 12) is directly copied, or
(2) Waveform data obtained by inverting the waveform data of the corresponding original section nr on the time axis as shown in FIG.
Is selected.
Here, in the default state, when the waveform type is “persistent”, the waveform data of FIG. 11A is selected, and when the waveform type is the percussion system, the waveform data of FIG. The reason will be explained.
[0066]
<For continuous sound>
First, in a continuous sound, since the original section nr and the insertion section ni = (n + 1) r are originally continuous sections, a smooth connection from the original section nr to the insertion section (n + 1) r is guaranteed. Yes. Here, it is possible to use a section other than the insertion section (n + 1) r as the insertion section, but the control point is set in a portion where there is no attack (in the middle of the continuous waveform) in the continuous sound. (Refer to step SP118), so consideration is required. That is, in this case, if the phase of the original section nr and the insertion section are not matched, annoying noise is generated, so that it is necessary to perform phase matching between them, and the processing becomes complicated. On the other hand, if the section (n + 1) r next to the original section nr is used as the insertion section as in the example described above, the waveform data of the insertion section can be created based on more stable waveform data.
[0067]
In addition, in the case of a continuous sound, let us assume a case where there is an attack of the next sound immediately after the control point. In this case, generally, the pitch of the next sound is different from the pitch of the previous sound. Although it is not originally desirable that the pitch of the original section and that of the insertion section be different, the experimental results show that even if the pitch of the two is different, it is not very noticeable. This is considered to be due to the fact that the envelope level of the inserted section is controlled so as to continue to attenuate smoothly from the previous original section. In other words, it stands out when the timbre or pitch changes in the attack part of the newly started sound, but when the timbre or pitch changes in the middle of the decaying waveform, it is relatively conspicuous because the impression of the previous attack part is strong. It seems that there is no
[0068]
<For percussion sounds>
Next, since percussion-type sounds originally have many noise components, noticeable noise often does not occur at the connection from the original section nr to the insertion section ni. However, if the original section nr or the next original section (n + 1) r or the like is used as it is as the insertion section ni, the attack noise at the beginning of the waveform may be somewhat disturbing. Therefore, by using the waveform data obtained by inverting the waveform data of the original section nr on the time axis as the insertion section ni, such a problem can be solved. Furthermore, if the connection portion between the original section nr and the insertion section ni is cross-fade, it becomes possible to connect the two more smoothly. When the inverted waveform data is read to the end, attack noise is reproduced at the end portion of the inverted waveform data, which may be a little annoying. In such a case, the inverted waveform data may be read back (inverted further on the time axis) at a point in the middle of the inverted waveform data (for example, a point having a length of about 2/3 from the beginning).
[0069]
The insertion section is not limited to the default one described above, and since the user can specify the generation manner of a desired insertion section for each original section, it is preferable to select the most preferable one in terms of audibility. In step SP16, when the waveform data of the insertion section is selected, the level of each part of the waveform data is divided by the envelope level of the waveform data. Thereby, the waveform data of the insertion section is converted into waveform data having a flat envelope.
[0070]
2.2.7. Envelope for insert sections 1i-12i
Next, when the process proceeds to step SP18, the envelope waveforms of the insertion sections 1i to 12i are determined. The determination method will be described with reference to FIG. In the figure, the maximum value of the envelope level of an original section nr is L1, the envelope level at the end of the original section nr is L2, and the time from when this maximum value L1 appears until the end of the original section nr is T. Within this period, the attenuation rate dr of the envelope level is
dr = (L1 / L2)1 / T
Can be obtained.
[0071]
Next, the initial value of the envelope level of the insertion section ni corresponding to the original section nr is set to L2, and the envelope of the insertion section ni is determined so that the attenuation rate dr is maintained. Specifically, when the start time t = 0 of the insertion section ni, the envelope level of each part in the insertion section ni is L2 / dr.tSought by. Thereby, as shown in FIG. 14, the envelope characteristic of the insertion section ni is set so as to be naturally connected to the original section nr.
[0072]
However, when the simple determination mode is selected at the time of determining the control point, the envelope level may be maximized at the end of the original section nr. In such a case, as shown in FIG. 15, the envelope level of the insertion section ni is limited to the level at the end of the original section nr. Specifically, when the attenuation rate dr determined by the above formula is smaller than 1, the attenuation rate dr for determining the envelope value of the insertion section is forcibly set to 1, or 1 regarding the attenuation rate dr. A larger lower limit value “dr_min” may be determined, and the attenuation rate dr may be controlled to be always larger than that.
[0073]
As described above, when the envelope of each insertion section is determined, each portion of the flattened waveform data of each insertion section 1i to 12i is multiplied by the determined envelope. Thereby, the waveform data of each insertion section has this determined envelope.
[0074]
As described above, when the waveform data of the insertion sections 1i to 12i is determined, the waveform data of the combined sections 1t to 12t is determined. The waveform data of these combined sections 1t to 12t is written in the waveform data track 224 of automatic performance information instead of the original waveform data. Further, in the waveform timing track 222, the start timing (number of timing clocks) of each of the combined sections 1t to 12t and the rise time Tt of the waveform data of these combined sections are written. The rise time Tt is not essential, but by writing this, it becomes possible to reproduce the waveform data at a more preferable timing (refer to a reproduction tempo setting / change process described later).
[0075]
2.3. Playback tempo setting / change processing
The user can set / change the playback tempo appropriately before the performance processing or during the performance processing. Here, if the set tempo is equal to the tempo at the time of recording, the number of clocks recorded in the waveform timing track 222 (see FIG. 16) may be used as it is. However, if the playback tempo is different from the recording tempo, simply controlling the playback start timing of each section according to the ratio between the two causes a problem that “leaning” occurs particularly in a waveform with a slow rise. .
[0076]
The contents will be described with reference to FIG. In FIG. 6A, the time from the reproduction start time (0) until the start of the waveform rise is the edge start time Ts, and after the start of the rise, the time until the waveform level reaches the peak is the rise time. Tt.
[0077]
The solid line in FIG. 5A shows the envelope level of the waveform data reproduced at the tempo at the time of recording. In human hearing, it is felt that a beat is generated at the peak position of the envelope level, that is, at the timing when the time “Ts + Tt” has elapsed after the start of reproduction. Next, an alternate long and short dash line in FIG. 5A shows an example in which waveform data is reproduced by extending the tempo at the time of recording by n times. In the illustrated example, the drawing is performed on the assumption that “n = 2”. In this case, the edge start time is n times “nTs” at the time of recording, but the time when the user actually feels a beat is “nTs + Tt”, which is n times shorter than the time of recording “n (Ts + Tt)”. .
[0078]
As a result, when the waveform is expanded and reproduced, it is felt that a beat is generated at a timing faster than the preferred timing. On the other hand, when the tempo is compressed more than at the time of recording, it is felt that a beat is generated at a timing later than the preferred timing.
[0079]
Therefore, in this embodiment, when the playback tempo is set or changed, the number of generation start clocks recorded in the waveform timing track 222 is the time corresponding to the number of clocks (clock number × clock cycle). The value is corrected to be “n (Ts + Tt) −Tt” (or closest). As a result, as shown in FIG. 3B, the audible beat, that is, the peak position, becomes the timing when the rising time Tt has further passed, that is, “n (Ts + Tt)”. Instead of changing the number of generation start clocks according to the tempo, the clock cycle may be increased or decreased according to the rise time Tt. That is, each time a tempo clock is generated, the period until the next tempo clock is appropriately increased or decreased, whereby the timing control according to the tempo can be performed while keeping the number of generation start clocks constant.
[0080]
2.4. Performance processing
Next, an operation for performing automatic performance processing based on automatic performance information (synthetic sequence data) formed by adding the waveform timing track 222 and the waveform data track 224 described above will be described. First, when the start of automatic performance is instructed, a tempo clock is generated at intervals of “1/64” of quarter notes based on the designated tempo. During automatic performance, the program shown in FIG. 17 is executed every time a tempo clock is generated.
[0081]
In FIG. 17, when the process proceeds to step SP32, the variable tcount is incremented by “1”. The variable tcount is initially set to “0” at the start of automatic performance, and is a variable for counting the number of tempo clocks from the start of automatic performance to the present. Next, when the process proceeds to step SP34, it is determined whether or not an event timing other than the waveform data has been reached based on the value of the variable tcount.
[0082]
That is, in the automatic performance tracks 202 and 204, event data such as note-on and note-off is recorded in the order of occurrence, and in these event data, timing data corresponding to the tempo clock that should generate the event is recorded. include. Accordingly, it is possible to determine whether or not the event timing has been reached by referring to the timing data in the event data at the head of each track.
[0083]
If "YES" is determined in the step SP34, the process proceeds to a step SP36, and an event process corresponding to the event data is executed. For example, if the event data is a note-on event, a new tone generation channel is assigned in the sound source 122 based on a command from the CPU 130, and a tone signal is synthesized in the tone generation channel. The synthesized musical sound signal is generated through the mixer 116, the DA converter 118, and the sound system 120 in order. If the event data is a note-off event, the mute process is performed in the corresponding sound generation channel.
[0084]
On the other hand, if the event timing of the next event data has not yet been reached, “NO” is determined in step SP34, and the process proceeds to step SP38. Here, it is determined whether or not the waveform data read start timing of any of the combined sections has been reached. As described above, the default read start timing is recorded in the waveform timing track 222 for the waveform data in the combined section. However, the read start timing here is a timing after correction based on the rise time Tt, that is, a timing corresponding to the above-described “n (Ts + Tt) −Tt”.
[0085]
If "YES" is determined here, the process proceeds to step SP40, and reading of the corresponding waveform data is started. Here, the reading speed is controlled according to the value of the pitch shift amount described later. When the pitch shift amount is “0”, the reading speed is the same as the writing speed at the time of recording. When the pitch shift amount is positive, it is faster. When the pitch shift amount is negative, it is slower. With speed. As is well known, the pitch of the read waveform data increases as the reading speed increases, and decreases as the reading speed decreases.
[0086]
Even if another waveform data reading process is performed immediately before this point in time when the reading of the corresponding waveform data is started, in step SP40, the new waveform data is replaced with the new waveform data. Reading of the waveform data is started. On the other hand, if “NO” is determined in step SP38, step SP40 is skipped, and the processing of this routine ends without changing the waveform data being read.
[0087]
According to the above processing, when the variable tcount reaches the read start timing of the first combined section 1t, waveform reading of the combined section 1t is started immediately. Thereafter, when the variable tcount reaches the reading start timing of the next combined section 2t, the reading of the waveform data of the combined section 1t is stopped and the reading of the waveform data of the combined section 2t is started. In order to smoothly connect the coupling section 1t and the coupling section 2t, the waveform data of the portion where reading of the coupling section 1t is stopped and the waveform data of the portion where reading of the coupling section 2t is started may be cross-fade connected. Good. Through the above processing, the waveform data that is sequentially read out is sounded through the reproduction circuit 114, the mixer 116, the DA converter 118, and the sound system 120 in sequence.
[0088]
Similarly, reading from the combined section 3t is sequentially started in accordance with the increase of the variable tcount. Next, a musical sound waveform actually generated by such processing will be described with reference to FIG. FIG. 5B shows a section that is read when the tempo ratio during playback and recording is set to 1.00. In such a case, reading of the next combined section is started when “1/2” of each combined section, that is, all of the original section is read. As a result, the reproduced sound waveform matches the original waveform data.
[0089]
FIG. 5A shows a section that is read when the tempo ratio during reproduction and recording is set to 0.67. In such a case, reading of the next section is started when about “67%” is reproduced based on the length of the original section. As described above, the timing at which the reading of the next section is actually started differs depending on the rising time Tt of the next section. This prevents the rest of each original section (about 33%) and the inserted section from being played.
[0090]
FIG. 4C shows a section that is read when the tempo ratio during reproduction and recording is set to 1.65. In such a case, reading of the next section is started when about “165%” is reproduced based on the length of the original section. As a result, each original section and the first 65% of each inserted section are reproduced.
[0091]
The user can change the tempo at the time of reproduction and the waveform data used for reproduction in real time via the operation element 104. Similarly, the speed at which each section is read, that is, the pitch shift amount, can be changed in real time via the operation element 104. Further, the waveform data to be reproduced, the tempo, or the pitch shift amount may be automatically changed based on a predetermined sequence. Thereby, the waveform data is reproduced and sounded in various manners based on the user's operation or a predetermined sequence.
[0092]
3. Effects of the embodiment
As described above, according to the present embodiment, when the original waveform data is recorded on the waveform data track 224, the synchronization data for the automatic performance information is recorded on the waveform timing track 222. The waveform data for reproduction generated based on this can be automatically synchronized with the original automatic performance information.
[0093]
Furthermore, in the present embodiment, “n” is generated by correcting the number of generation start clocks according to the relationship between the original edge start time Ts and rise time Tt and the tempo at the time of reproduction (tempo expansion / contraction ratio n). Since the reproduction of each original section can be started at the timing of (Ts + Tt) −Tt ”, consistency between the tempo expansion / contraction ratio n and the audible beat timing can be ensured.
[0094]
4). Modified example
The present invention is not limited to the above-described embodiment, and various modifications can be made as follows, for example.
(1) In the above embodiment, the waveform editing system is realized by an application program that runs on a personal computer, but the same function is used for various electronic musical instruments, mobile phones, amusement devices, and other devices that generate musical sounds. Also good. Further, the software used in the above embodiment can be stored in a recording medium such as a CD-ROM or a floppy disk and distributed, or can be distributed through a transmission path.
[0095]
(2) In the above embodiment, the envelope of the entire waveform data is analyzed. However, the envelope may be analyzed only in a portion near the reference position, for example, a portion corresponding to each detection window.
[0096]
(3) In the above embodiment, the waveform data of the insertion section is generated in advance corresponding to each original section. However, the waveform data of each insertion section is reproduced during the waveform data reproduction or in response to an instruction for waveform reproduction. You may make it produce | generate immediately before starting reproduction | regeneration. Thereby, the storage capacity for storing waveform data can be reduced.
[0097]
(4) It goes without saying that the process of determining the division position (control point) for the original waveform data is not limited to that of the above embodiment. For example, in the above embodiment, the control point is determined using the beat timing of the automatic performance information as the reference position of the detection window. However, instead of the beat timing, each note-on timing of the automatic performance information (each of FIG. 16A). Note timing (note timing) or note-off timing may be used as the reference position of the detection window.
[0098]
(5) In the above embodiment, the process of determining the control point is performed after the original waveform data is once recorded in the waveform data track 224. However, if the processing capability of the CPU 130 is sufficiently high, the original waveform data The control point may be determined simultaneously with recording.
[0099]
(6) In the above embodiment, the resolution for determining the control point is specified after recording the original waveform data. However, the resolution may be specified before recording the original waveform data or after recording.
[0100]
(7) In the unnecessary band removal process in step SP8 of the above embodiment, the filter process by the high-pass process and the band cut process is performed, but instead of or in addition to these, other processes such as attenuating the low band are performed. You may perform the process to boost, the process which boosts a high region, etc.
[0101]
(8) In step SP110 of the above embodiment, the filtering process using the comb filter is performed to detect the edge portion. Instead, any filtering process that generates a value corresponding to the slope of the envelope is used. Edge detection may be performed. For example, filter processing that simply differentiates the envelope level may be performed, and low-pass filter processing may be performed on the differentiation result.
[0102]
(9) In step SP116 of the above embodiment, the reference position of the detection window for weak beat detection bisects each estimated strong beat section, that is, the reference position for strong beat detection. Provided in position. However, the position of the detection window for weak beat detection is not limited to this. That is, a position that bisects the interval between the edge start positions or the peak positions of strong beats actually extracted in step SP114 is obtained, and this obtained position is set as a reference position of a detection window for weak beat detection. Good.
[0103]
(10) In step SP16 of the above embodiment, the waveform data of the corresponding original section or the inverted version thereof is used as it is as the waveform data of the insertion section before the envelope adjustment. However, in the case of waveform data such as a melody part that has a particularly stable pitch component, the pitch of the latter half of the original section is detected and a part (partial waveform) of the original section is repeated in this pitch unit. An insert section may be generated. Thereby, it is possible to prevent instability peculiar to the attack portion from appearing in the insertion section.
[0104]
Note that the size of the partial waveform may be constant (loop waveform) or may be set to a random length. Also, if the pitch is detected stably in the latter half of the original section, a part of the original section is repeated, and if the pitch is not detected, the entire original section (or the inverted version) is copied. The waveform data before the envelope adjustment of the insertion section may be set.
[0105]
(11) In the above embodiment, each insertion section is created based on the waveform data of the original section immediately before (or an inverted version thereof), but based on the waveform data of the next original section. Each insert section may be generated. For example, the insertion section 1i may be generated based on the waveform data of the original section 2r.
[0106]
(12) In the above embodiment, the type of waveform data is divided into two types, “percussion type” and “persistent type”, but the waveform data may be divided into three or more types.
[0107]
(13) In the above embodiment, the detection window for extracting strong beats is set according to the setting of the time signature, and the detection window for extracting weak beats is set according to the setting of the resolution. It is not necessary to set according to the resolution. For example, a detection window for extracting strong beats and a detection window for extracting weak beats may be designated independently. Alternatively, a detection window for extracting strong beats and a detection window for extracting weak beats may be set in accordance with the set time signature. There is also a method of setting both detection windows based on the timing of the metronome during recording as described above.
[0108]
【The invention's effect】
As described above, according to the present invention, waveform data can be easily synchronized with automatic performance information in order to record waveform data while recording synchronous data indicating the timing relationship between automatic performance information and waveform data. Can do.
Furthermore, according to the configuration in which the envelope level of the waveform data is obtained and the waveform data break position is obtained based on the synchronization data and the envelope level, the effective rising position can be efficiently extracted as the break position. Further, by extracting the rising position corresponding to the estimated beat position, erroneous detection can be prevented and the rising position can be detected stably. In other words, it is possible to set a position that is more musically appropriate in the vicinity of the position that is originally expected to be divided, and the division position is erroneously detected or divided at a position that is not musically appropriate. Such a situation can be prevented in advance.
[0109]
Furthermore, according to the configuration in which the estimated beat position is determined based on the beat timing, note-on timing, or note-off timing of the automatic performance information, the break position is determined while efficiently using the information originally included in the automatic performance information. Can be detected.
Furthermore, according to the configuration of selecting one rising position among a plurality of rising positions belonging to one predetermined range based on the beat timing, the note-on timing, or the note-off timing, and extracting it as a waveform data separation position, Unnecessary rising positions can be efficiently removed.
[Brief description of the drawings]
FIG. 1 is a block diagram of a waveform editing system according to an embodiment of the present invention.
FIG. 2 is an operation explanatory diagram of processing for generating an insertion section and a combined section in the embodiment.
FIG. 3 is an operation explanatory diagram of a reproduction process in the conventional example and the embodiment.
FIG. 4 is a flowchart of reproduction waveform data generation processing in the embodiment.
FIG. 5 is a waveform diagram before and after unnecessary band elimination processing (SP8) in the embodiment.
FIG. 6 is a flowchart of a default control point determination process.
FIG. 7 is an output waveform diagram of absolute value conversion processing (SP104).
FIG. 8 is an equivalent circuit diagram of envelope follower processing (SP106).
FIG. 9 is an equivalent circuit diagram of edge detection filter processing and a waveform diagram of each part thereof.
FIG. 10 is an output waveform diagram of edge detection filter processing, edge start position / peak position detection processing, and strong beat extraction processing (SP110 to SP114).
FIG. 11 is an operation explanatory diagram of edge start position / peak position detection processing (SP112).
FIG. 12 is an operation explanatory diagram and an output waveform diagram of weak beat extraction processing (SP116).
FIG. 13 is an operation explanatory diagram of waveform data setting processing in an insertion section ni.
FIG. 14 is an operation explanatory diagram of an envelope level setting process in the insertion section ni.
FIG. 15 is an operation explanatory diagram of an envelope level setting process in the insertion section ni.
FIG. 16 is a diagram showing a timing relationship between automatic performance information and original waveform data.
FIG. 17 is a flowchart of a performance processing routine.
FIG. 18 is an explanatory diagram of compression / decompression processing of waveform data to be reproduced.
19 is a diagram showing a percussion type selection button 80 and a continuous type selection button 82. FIG.
FIG. 20 is a flowchart of an automatic performance & waveform recording processing routine.
21 is a diagram showing a display example of a waveform recording control window 150. FIG.
[Explanation of symbols]
1i to 12i... Insertion section, 1r to 12r... Original section, 1t to 12t... Combined section, 60... Delay circuit, 62 ... Subtractor, 64 ... Switch, 66, 68. ... adder, 72 ... delay circuit, 74 ... subtractor, 80 ... percussion selection button, 82 ... continuous selection button, 102 ... indicator, 104 ... operator, 106 ... microphone, 108 ... AD converter, 110 ... recording circuit, 112 ... hard disk, 114 ... playback circuit, 116 ... mixer, 118 ... DA converter, 120 ... sound system, 122 ... sound source, 124 ... MIDI interface , 126 ... interface, 128 ... timer, 130 ... CPU, 132 ... ROM, 134 ... RAM, 1 0 ... Waveform recording control window, 151 ... Automatic performance file text box, 152 ... Automatic performance start button, 154 ... Automatic performance stop button, 156 ... Waveform recording start button, 158 ... Waveform recording stop button, 159 ... Cancel button, 202, 204 ... Automatic performance track, 222 ... Waveform timing track, 224 ... Waveform data track.

Claims (14)

自動演奏情報の再生を開始する過程と、
波形データの記録を開始する過程と、
前記自動演奏情報と前記波形データとのタイミングの関係を示す同期制御データを記録しつつ、前記波形データを記録する過程と、
前記波形データのエンベロープレベルを求める過程と、
前記自動演奏情報と、前記同期制御データと、前記エンベロープレベルとに基づいて、前記波形データの区切り位置を求める区切り位置検出過程と
を有することを特徴とする波形データ解析方法。
The process of starting playback of automatic performance information,
The process of starting recording waveform data;
Recording the waveform data while recording synchronization control data indicating a timing relationship between the automatic performance information and the waveform data;
Obtaining an envelope level of the waveform data;
A waveform data analysis method comprising: a delimiter position detection step of obtaining a delimiter position of the waveform data based on the automatic performance information, the synchronization control data, and the envelope level.
前記区切り位置検出過程は、
前記自動演奏情報と前記同期制御データとに基づいて、前記波形データの推定区切り位置を決定する推定過程と、
該推定区切り位置に対応した所定の範囲内において、前記波形データの一ないし複数の立ち上がり位置を検出する検出過程と、
検出された前記一ないし複数の立ち上がり位置の何れかを区切り位置として抽出する抽出過程と
を有することを特徴とする請求項記載の波形データ解析方法。
The separation position detection process includes:
Based on the automatic performance information and the synchronization control data, an estimation process for determining an estimated break position of the waveform data;
A detection process of detecting one or more rising positions of the waveform data within a predetermined range corresponding to the estimated break position;
Waveform data analyzing method according to claim 1, wherein the and an extraction process of extracting one of said detected one or a plurality of rising position as a sectioning position.
前記所定の範囲は、第1および第2の所定範囲から構成され、The predetermined range is composed of first and second predetermined ranges;
前記抽出過程は、前記第1の所定範囲に属する立ち上がり位置についてはこれら立ち上がり位置に各々対応するレベル値が所定の第1の閾値を超えることを条件として、該立ち上がり位置を前記区切り位置として抽出するとともに、前記第2の所定範囲に属する立ち上がり位置についてはこれら立ち上がり位置に各々対応するレベル値が前記第1の閾値よりも低い第2の閾値を超えることを条件として、該立ち上がり位置を前記区切り位置として抽出する過程であることIn the extraction process, for the rising positions belonging to the first predetermined range, the rising positions are extracted as the separation positions on condition that level values corresponding to the rising positions exceed a predetermined first threshold value. In addition, for the rising positions belonging to the second predetermined range, the rising position is determined as the separation position on the condition that the level value corresponding to each of the rising positions exceeds a second threshold value lower than the first threshold value. To be extracted as a process
を特徴とする請求項2記載の波形データ解析方法。The waveform data analysis method according to claim 2.
前記推定過程は、前記自動演奏情報の拍タイミング、ノートオンタイミングまたはノートオフタイミングに基づいて、前記波形データの推定区切り位置を決定することを特徴とする請求項記載の波形データ解析方法。 3. The waveform data analysis method according to claim 2 , wherein the estimation step determines an estimated break position of the waveform data based on a beat timing, a note-on timing, or a note-off timing of the automatic performance information. 前記抽出過程は、検出された立ち上がり位置の強度に基づいて、何れかの立ち上がり位置を前記区切り位置として抽出することを特徴とする請求項記載の波形データ解析方法。 3. The waveform data analysis method according to claim 2 , wherein, in the extraction process, any rising position is extracted as the separation position based on the detected intensity of the rising position. 自動演奏情報の再生を開始する過程と、
波形データの記録を開始する過程と、
前記自動演奏情報と前記波形データとのタイミングの関係を示す同期制御データを記録しつつ、前記波形データを記録する過程と、
前記自動演奏情報の拍タイミングと前記同期制御データとに基づいて推定拍位置を決定する過程と、
前記推定拍位置に基づいて前記波形データの区切り位置を求める区切り位置決定過程と
を有することを特徴とする波形データ解析方法。
The process of starting playback of automatic performance information,
The process of starting recording waveform data;
Recording the waveform data while recording synchronization control data indicating a timing relationship between the automatic performance information and the waveform data;
Determining an estimated beat position based on the beat timing of the automatic performance information and the synchronization control data;
Waveform data analysis method characterized in that it comprises a partitioning position determining process of determining the break position of the waveform data based on the estimated beat position.
自動演奏情報の再生を開始する過程と、
波形データの記録を開始する過程と、
前記自動演奏情報と前記波形データとのタイミングの関係を示す同期制御データを記録しつつ、前記波形データを記録する過程と、
前記自動演奏情報のノートオンタイミングと前記同期制御データとに基づいて推定立ち上がり位置を決定する過程と、
該推定立ち上がり位置に基づいて前記波形データの区切り位置を求める区切り位置決定過程と
を有することを特徴とする波形データ解析方法。
The process of starting playback of automatic performance information,
The process of starting recording waveform data;
Recording the waveform data while recording synchronization control data indicating a timing relationship between the automatic performance information and the waveform data;
Determining an estimated rising position based on the note-on timing of the automatic performance information and the synchronization control data;
Waveform data analysis method characterized in that it comprises a partitioning position determining process of determining the break position of the waveform data based on the estimated rise position.
自動演奏情報の再生を開始する過程と、
波形データの記録を開始する過程と、
前記自動演奏情報と前記波形データとのタイミングの関係を示す同期制御データを記録しつつ、前記波形データを記録する過程と、
前記自動演奏情報と前記同期制御データとに基づいて推定区切り位置を決定する過程と、
前記波形データ中の前記推定区切り位置近傍の部分を分析する分析過程と、
該分析結果に基づいて前記波形データ全体の区切り位置を求める区切り位置決定過程と
を有することを特徴とする波形データ解析方法。
The process of starting playback of automatic performance information,
The process of starting recording waveform data;
Recording the waveform data while recording synchronization control data indicating a timing relationship between the automatic performance information and the waveform data;
Determining an estimated break position based on the automatic performance information and the synchronization control data;
An analysis process for analyzing a portion in the vicinity of the estimated break position in the waveform data;
Waveform data analysis method characterized in that it comprises a partitioning position determining process of obtaining the waveform data across the break position based on the analysis result.
前記分析過程は、前記波形データのエンベロープを分析することにより立ち上がり位置を検出する過程であることを特徴とする請求項8記載の波形データ解析方法。  9. The waveform data analysis method according to claim 8, wherein the analysis step is a step of detecting a rising position by analyzing an envelope of the waveform data. 前記区切り位置決定過程は、前記分析結果に含まれる複数の立ち上がり位置に基づいて、各推定区切り位置毎に一つの区切り位置を決定することを特徴とする請求項8記載の波形データ解析方法。  9. The waveform data analysis method according to claim 8, wherein in the delimiter position determination step, one delimiter position is determined for each estimated delimiter position based on a plurality of rising positions included in the analysis result. 前記自動演奏情報を再生する自動演奏のテンポクロックと前記波形データのサンプリング周期は同期しており
前記同期制御データは、前記波形データの録音開始タイミングを示すタイミングデータを含む
ことを特徴とする請求項1ないし10の何れかに記載の波形データ解析方法。
The sampling period of the tempo clock and the waveform data of automatic performance for reproducing the automatic performance information is synchronized,
The waveform data analysis method according to claim 1, wherein the synchronization control data includes timing data indicating a recording start timing of the waveform data.
前記同期制御データは、前記波形データの録音開始タイミングを示すタイミングデータと、前記自動演奏のテンポクロックと前記波形データのサンプリング周期を同期させるための同期データとを含む
ことを特徴とする請求項1ないし10の何れかに記載の波形データ解析方法。
The synchronization control data includes timing data indicating a recording start timing of the waveform data, synchronization data for synchronizing a tempo clock of the automatic performance and a sampling period of the waveform data. Thru | or 10 waveform data analysis method in any one of.
請求項1ないし12の何れかに記載の波形データ解析方法を実行することを特徴とする波形データ解析装置。  13. A waveform data analysis apparatus, wherein the waveform data analysis method according to claim 1 is executed. 請求項1ないし12の何れかに記載の波形データ解析方法をコンピュータに実行させるプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記録媒体。A computer-readable recording medium storing a program for causing a computer to execute the waveform data analysis method according to claim 1.
JP2001008813A 2001-01-17 2001-01-17 Waveform data analysis method, waveform data analysis apparatus, and recording medium Expired - Fee Related JP3731476B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001008813A JP3731476B2 (en) 2001-01-17 2001-01-17 Waveform data analysis method, waveform data analysis apparatus, and recording medium
US10/051,973 US7094965B2 (en) 2001-01-17 2002-01-16 Waveform data analysis method and apparatus suitable for waveform expansion/compression control
US11/016,294 US7102068B2 (en) 2001-01-17 2004-12-17 Waveform data analysis method and apparatus suitable for waveform expansion/compression control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001008813A JP3731476B2 (en) 2001-01-17 2001-01-17 Waveform data analysis method, waveform data analysis apparatus, and recording medium

Publications (2)

Publication Number Publication Date
JP2002215163A JP2002215163A (en) 2002-07-31
JP3731476B2 true JP3731476B2 (en) 2006-01-05

Family

ID=18876377

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001008813A Expired - Fee Related JP3731476B2 (en) 2001-01-17 2001-01-17 Waveform data analysis method, waveform data analysis apparatus, and recording medium

Country Status (1)

Country Link
JP (1) JP3731476B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4714230B2 (en) * 2008-02-27 2011-06-29 株式会社コナミデジタルエンタテインメント Audio processing apparatus, audio processing method, and program
CN110032670B (en) * 2019-04-17 2022-11-29 腾讯科技(深圳)有限公司 Method, device and equipment for detecting abnormity of time sequence data and storage medium
CN111220878B (en) * 2019-12-10 2022-03-18 上海思源弘瑞自动化有限公司 Synchronous wave recording method and device

Also Published As

Publication number Publication date
JP2002215163A (en) 2002-07-31

Similar Documents

Publication Publication Date Title
US8415549B2 (en) Time compression/expansion of selected audio segments in an audio file
JP2002529773A5 (en)
KR20080023199A (en) Audio reproduction apparatus and method and storage medium
US7094965B2 (en) Waveform data analysis method and apparatus suitable for waveform expansion/compression control
JP4293712B2 (en) Audio waveform playback device
KR100402364B1 (en) Apparatus and method for generating musical tones, and storage medium
JP3654117B2 (en) Expansion and contraction method of musical sound waveform signal in time axis direction
JP2009063714A (en) Audio playback device and audio fast forward method
JP3731476B2 (en) Waveform data analysis method, waveform data analysis apparatus, and recording medium
JP4089713B2 (en) Waveform data reproducing apparatus and recording medium
JP3202017B2 (en) Data compression of attenuated instrument sounds for digital sampling systems
JP3731470B2 (en) Waveform data generation method, waveform data generation apparatus, and recording medium
JP4016992B2 (en) Waveform data analysis method, waveform data analysis apparatus, and computer-readable recording medium
Dutilleux et al. Time‐segment Processing
JP3731477B2 (en) Waveform data analysis method, waveform data analysis apparatus, and recording medium
JP3731478B2 (en) Waveform data analyzing method, waveform data analyzing apparatus and recording medium
JP3428401B2 (en) Waveform data processing method
JP4537490B2 (en) Audio playback device and audio fast-forward playback method
JP2006113487A (en) Method and device for producing musical sound data
JP4089712B2 (en) Waveform data generation method, musical sound synthesis method, waveform data generation device, and computer-readable recording medium
JP3659121B2 (en) Music signal analysis / synthesis method, music signal synthesis method, music signal synthesis apparatus and recording medium
JP4037973B2 (en) Waveform playback device
JP3744247B2 (en) Waveform compression method and waveform generation method
TWI328217B (en) Game machine having a function for discriminating music tempo
JP3095018B2 (en) Music generator

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050517

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050712

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051003

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121021

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121021

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131021

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees